




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章DSP芯片结构和CPU外围电路讲课内容:1〕TMS320C55x处理器的特点2〕TMS320C55x处理器的CPU结构3〕TMS320C55x处理器的CPU外围电路2.1DSP芯片结构第二章DSP芯片结构和CPU外围电路第二章DSP芯片结构和CPU外围电路2.1DSP芯片结构2.1.1TMS320C55x处理器的特点采用改进的哈佛结构。1条读程序数据总线(PB),5条数据总线(BB,CB,DB,EB,FB),和他们对应的6条地址总线(PAB,BAB,CAB,DAB,EAB,FAB)40位和16位的算术逻辑单元(ALU)各1个,1个40位的移位器4个40位的累加器(AC0,AC1,AC2,AC3)和(T0,T1,T2,T3)17×17比特的硬件乘法器和一个40比特专用加法器的组合(MAC)比较、选择和存储单元数据地址产生单元(DAGEN)和程序地址产生单元(PAGEN)数据空间和和程序空间位同一物理空间,采用统一编址第二章DSP芯片结构和CPU外围电路2.1.2TMS320C55xCPUCPU有4个功能单元:指令缓冲单元(I单元),程序流程单元(P单元),地址数据流程单元(A单元)和数据计算单元(D单元)CPU结构示意图第二章DSP芯片结构和CPU外围电路1、指令缓冲单元(IUnit)由指令缓冲队列(IBQ)和指令译码器构成。I单元从程序数据总线接收程序指令代码(每次接收32比特程序代码)放到IBQ(最多可存放64字节的未译码指令)中。指令译码器从指令缓冲队列中取指令(每次取6字节的程序代码)进行变长8/16/24/32/48位〕指令译码。译码后的数据分别送到P单元,A单元,D单元处理。指令缓冲单元〔I单元〕图第二章DSP芯片结构和CPU外围电路2、程序流程单元(PUnit)组成:P单元由程序地址产生逻辑电路和一组存放器组构成。主要功能产生所有I单元读取指令所需的24比特程序地址、控制指令读取顺序。一般情况下,产生的都是〔连续〕顺序地址。在遇到指令要求读取非连续地址程序代码时,也可以根据来自I单元的立即数和D单元的寄存器值产生所需的地址,并将产生地址送到PAB。程序流程P单元结构图第二章DSP芯片结构和CPU外围电路在程序流程单元中,控制和影响程序地址的存放器有5类:1)程序流程存放器,包括:PC—程序计数器,RETA—返回地址存放器,CFCT—控制流程关系存放器;2)块重复存放器,包括:BRC0、BRC1—块重复存放器0和1、RSA0、RSA1—块重复起始地址存放器,REA0、REA1—块重复结束地址存放器0和1;3)单重复存放器,包括:RPTC—单重复计数器,CSR—计算单重复存放器;4)中断存放器,包括:IFR0、IFR1〔标志〕,IER0、IER1〔使能〕,DBIER0、DBIER1〔调试中断使能〕;5)状态存放器:ST0_55、ST1_55、ST2_55、ST3_55第二章DSP芯片结构和CPU外围电路3、地址流程单元〔AUnit〕功能和组成:产生读写数据空间的地址。由数据地址产生电路(DAGEN),16比特的算术逻辑ALU电路和一组存放器构成。DAGEN可以根据I单元的立即数和本A单元的存放器数据产生读写数据空间的所有地址。在间接寻址中,还需要有P单元来指示采用那种寻址模式。地址流程单元结构图第二章DSP芯片结构和CPU外围电路A单元16位ALU的功能能接收I单元数据,又能够和存储器、I/O空间、A单元存放器、D单元存放器和P单元存放器进行数据交换,完成算术、逻辑、位操作、移位、测试、旋转等操作。A单元包括的存放器有以下4种类型:1)数据页存放器(DataPageRegister):DPH、DP、〔接口数据页〕PDP2)指针存放器(Pointers):CDPH、CDP—系数数据、SPH、SP、SSP—栈、XAR0~XAR7—辅助3)循环缓冲存放器(CircularBufferRegisters):BK03、BK47、BKC—大小,BSA01、BSA23、BSA45、BSA67、BSAC—起始地址4)临时存放器(TemporaryRegisters):T0~T3第二章DSP芯片结构和CPU外围电路4、数据计算单元(DUnit)D单元包括了CPU的主要计算部件,能够完成高效的计算功能。组成:移位器、40比特算术逻辑ALU电路、两个乘累加器(MAC)和假设干存放器组构成。移位器D单元移位器能够接收来自I单元的立即数,与存储器、I/O空间、A单元存放器、D单元存放器和P单元存放器进行双向通信。此外,还向D单元的ALU和A单元的ALU提供移位后的数据。数据计算单元结构图第二章DSP芯片结构和CPU外围电路2.1.3CPU外围电路:除CPU以外的一些功能单元和外部接口。
时钟发生器(Clock)
定时器(Timer)
多通道缓冲串口(McBSP)
主机接口(EHPI)
外部存储器接口(EMIF)
通用输入/输出口(GPIO)
片内存储区(Momery)DMA控制器高速指令缓冲存储器
(Instructioncache)第二章DSP芯片结构和CPU外围电路时钟发生器1、工作模式(1)功能将输入时钟CLKIN变为CPU及外围电路所需要的工作时钟。通过时钟输出脚CLKOUT输出,供其它器件使用。(2)组成时钟发生器由一个数字锁相环(DPLL)和一个模式控制存放器(CLKMD)组成。DPLLCLKMD寄存器CLKINpinCLKOUTpinCLKMDpin第二章DSP芯片结构和CPU外围电路(3)两种工作模式(模式控制存放器标志位的定义)假设PLL_ENABLE=0,DPLL工作于旁路(BYPASS)模式。假设PLL_ENABLE=1,DPLL工作于锁定(LOCK)模式。旁路模式中:DPLL只对输入时钟CLKIN作简单的分频,分频次数由BYPASS_DIV字段确定。假设BYPASS_DIV=00,为一分频,即CLKOUT等于CLKIN。假设BYPASS_DIV=01,为二分频,即CLKOUT等于CLKIN的一半。假设BYPASS_DIV=1x,为四分频,即CLKOUT等于CLKIN的四分之一。第二章DSP芯片结构和CPU外围电路锁定模式中DPLL锁相环对输入时钟CKLIN进行跟踪锁定,可得到如下输出的时钟频率:PLL_MULT:锁定模式下的倍频次数,取值0到31PLL_DIV:锁定模式下的分频次数,取值0到3。CLKOUT=PLL_MULTPLL_DIV+1×CLKIN1<PLL_MULT≤31时CLKOUT=1PLL_DIV+1×CLKINPLL_MULT=0或1时5比特2比特第二章DSP芯片结构和CPU外围电路4、使用方法(1)DSP复位对时钟发生器的影响在DSP复位期间和复位后,DPLL工作于旁路模式,此时的分频次数(BYPASS_DIV)由CLKMD管脚上的电平确定,从而确定了它的输出时钟频率。假设CLKMD管脚为低电平,那么BYPASS_DIV=00,CLKOUT等于CLKIN。假设CLKMD管脚为高电平,那么BYPASS_DIV=01,CLKOUT等于CLKIN的一半。第二章DSP芯片结构和CPU外围电路(2)失锁对时钟发生器的影响锁相环是通过对输入基准时钟进行跟踪锁定来稳定其输出时钟的,在锁定之后,由于某些因素使其输出时钟发生偏移,即失锁。发生失锁时,DPLL的动作由IOB字段控制:假设IOB=1,时钟电路会自动切换到旁路模式,并重新开始跟踪锁定过程,在锁定后又自动切换回锁定模式。假设IOB=0,DPLL会继续输出时钟,而不管锁相环是否失锁第二章DSP芯片结构和CPU外围电路(3)省电状态对时钟发生器的影响当时钟发生器退出省电(IDLE)状态时,不管进入省电状态之前工作于什么模式,DPLL都会切换到旁路模式,并由IAI字段确定进一步操作:假设IAI=1,DPLL将重新开始整个跟踪锁定过程。假设IAI=0,DPLL将使用与进入省电模式之前相同的设置进行跟踪锁定第二章DSP芯片结构和CPU外围电路5、DPLL模式控制存放器CLKMD(1)BREAKLN为失锁指示(只读)0:表示由于某种原因引起PLL失锁;1:表示处于锁定状态,或发生对CLKMD存放器的写操作。(2)LOCK为锁定模式指示(只读)0:表示DPLL处于旁路模式1:表示DPLL处于锁定模式第二章DSP芯片结构和CPU外围电路6、时钟发生器应用举例问题:假定输入时钟频率CLKIN为20MHz,而DSP需要的工作时钟为160MHz。解:(1)需要将时钟发生电路设为锁定模式;(2)根据倍频次数PLL_MULT与分频次数PLL_DIV的关系CLKOUT=PLL_MULTPLL_DIV+1×CLKIN1<PLL_MULT≤31时PLL_MULT=8×(PLL_DIV+1)PLL_DIV和PLL_MULT为(0,8),(1,16),(2,24)或(3,32)第二章DSP芯片结构和CPU外围电路(3)取PLL_DIV和PLL_MULT为(0,8),要求DPLL失锁或退出省电状态后重新锁定,即IOB=IAI=1。例程如下:MOV#0X6413,PORT(#CLKMD)01100100000100111000100011第二章DSP芯片结构和CPU外围电路通用定时器一、组成和框图C5509DSP片内有两个定时器:Timer0,Timer1;具有定时或计数功能。计数器在每个时钟周期减1,当减到0就产生一个输出信号。该输出信号可用于中断CPU或触发DMA传输(称为定时器事件)。定时器由时钟、控制存放器、计数器和定时器事件等局部构成。第二章DSP芯片结构和CPU外围电路4比特预定标器TIN/TOUT16比特主计数器CPU中断DMA同步事件CPU时钟1、时钟局部可采用内部CPU时钟;也可采用来自TIN/TOUT管脚的外部输入时钟。2、两个定时器一个用于定时器工作(递减方式)一个用于CPU读写(设置定时长度)3、定时器事件产生三个输出信号:CPU中断、DMA同步事件、TIN/TOUT管脚输出信号。第六章DSP芯片内的CPU外围电路二、时钟局部定时器的工作时钟可来自DSP内部的CPU时钟,也可来自TIN/TOUT管脚输入的外部时钟。具体时钟源的选择和TIN/OUT管脚的功能由控制存放器TCR中的FUNC字段确定。FUNC=00时,TIN/TOUT为高阻态,时钟源为CPU时钟。该模式为复位后的缺省模式。FUNC=01时,TIN/TOUT为定时器输出,时钟源为CPU时钟,可以输出时钟信号或脉冲信号。FUNC=10时,TIN/TOUT为通用输出,时钟源为CPU时钟。此时,TIN/OUT作为通用输出,其电平由控制存放器TCR中的DATOUT字段确定。FUNC=11时,TIN/TOUT为时钟源输入,定时计数器将在其上升沿递减。第二章DSP芯片结构和CPU外围电路三、计数器局部C5509定时器的计数器分为两类:一类用于定时器工作,一类用于CPU设置定时长度。定时长度为20比特:4比特的预定标器和16比特的主计数器。其中,4比特的预定标值由预定标存放器PRSC定义:16比特主定时器的值由定时周期存放器PRD定义。第二章DSP芯片结构和CPU外围电路定时器的工作方式设定时器的工作时钟周期为Tclock,那么定时长度T可用下式计算:定时器的设置步骤CPU将定时长度的预定标值和周期值分别写入TDDR和PRD将控制存放器TCR中的TLB设为1,使定时器把PRD值和TDDR值分别拷贝到它的工作存放器TIM和PSC中。把控制存放器TCR中的TSS字段设为0启动定时器。T=Tclock×(PRD+1)×(TDDR+1)第二章DSP芯片结构和CPU外围电路四、定时器控制存放器TCRIDLE_EN:省电控制使能位,0:禁止省电模式,1:允许省电模式INT/EXT:时钟源从内部切换到外部的指示标志,当时钟源从内部切换到外部要检测此位来决定是否准备好使用外部时钟。0:定时器没准备好使用外部时钟,1:定时器准备好使用外部时钟。ERR_TIM:定时器错误标志,0:正常,1:错误第二章DSP芯片结构和CPU外围电路FUNC:定时器工作模式选择;TLB:定时长度拷贝控制,0:停止拷贝,1:拷贝SOFT和FREE:在仿真时遇到高级语言调试器断点时的处理方式00:定时器立刻停止01和11:定时器继续运行10:在主计数器TIM减为0时停止。PWID:TIN/TOUT管脚输出脉冲的宽度。当PWID=00时,TIN/TOUT输出脉宽为1个CLKOUT周期当PWID=01时,TIN/TOUT输出脉宽为2个CLKOUT周期当PWID=10时,TIN/TOUT输出脉宽为4个CLKOUT周期当PWID=11时,TIN/TOUT输出脉宽为8个CLKOUT周期第二章DSP芯片结构和CPU外围电路ARB:自动重装控制。0:不自动重装,1:自动重装,即每次TIM减为0时,定时器又会把PRD值和TDDR值分别拷到TIM和PSC,继续定时。TSS:定时器停止控制,0:启动,1:停止C/P:TIN/TOUT引脚输出脉冲/时钟选择,0:输出脉冲,1:输出时钟。POLAR:TIN/TOUT引脚输出信号的极性,0:正极性,1:负极性DATOUT:TIN/TOUT引脚作通用输出时的电平,0:低电平,1:高电平第二章DSP芯片结构和CPU外围电路五、应用举例
假定定时器0的工作时钟为160MHz,请配置定时长度为5ms的定时器。解:根据定时器公式:即(PRD+1)×(TDDR+1)=800000取TDDR=15(0x0F)、PRD=49999(0xC34F)。完成这一定时长度的程序如下:
MOV#0x000f,PORT(#PRSC0);写入预定标值。MOV#0xc34f,PORT(#PRD0);写入周期值MOV#0x0fd0,PORT(#TCR0);将PRD0和TDDR0分别拷贝到TIM0和PSC0MOV#0x0Bc0,PORT(#TCR0);TLB=TSS=0,停止拷贝,开始定时第二章DSP芯片结构和CPU外围电路2.4外部存储器接口EMIF
TMS320C5509DSP的外部存储器接口EMIF有:
16位的数据总线D[15:0];
4个片选输出CE[3:0]和其它多种控制信号。能支持多种不同类型的外部存储器件。片选空间EMIF接口的4个片选空间对应的地址如以下图。ST3_55中的MPNMC字段控制片内ROM的使用
1:CE3空间长度为4MB0:后32KB空间被片上ROM占用。第二章DSP芯片结构和CPU外围电路一、与外部存储器接口方法C5510DSP的外部存储器接口EMIF可以提供高度灵活的接口方式,每个片选都可以连接不同类型的存储器件,单独设置读写时序参数等。支持的接口有:
包括异步SRAM、ROM、FLASH(闪速存储器)、EPROM等,EMIF能够提供可配置的定时参数,提供高度灵活的存储器时序。每个接口都可以支持程序代码访问32bit数据访问、16bit数据访问、8bit数据访问。第二章DSP芯片结构和CPU外围电路1、片选控制存放器CEx_1(x=0~3)根据片选控制存放器中的MTYPE段来设置访问类型。MTYPE=000:异步,8比特宽MTYPE=001:异步,16比特宽MTYPE=010:保存MTYPE=011:16比特宽的SDRAM第二章DSP芯片结构和CPU外围电路2、异步存储器接口方案:低电平有效的片选信号,用于指定要访问的外部空间。CEn
ARDY:异步访问就绪指示,使EMIF可以延缓异步访问速度。A[13:0]:14位地址数据总线。:低电平有效的异步输出使能信号,连接异步存储器的输出使能引脚。AOE:低电平有效的异步读使能信号。ARE:低电平有效的异步写使能信号。AWE:低电平有效的字节选择信号,用于指定要访问的字节位置。BE[3:0]D[15:0]:16位数据总线第二章DSP芯片结构和CPU外围电路EMIF的异步读操作时序地址有效读选通有效外部器件没准备好第二章DSP芯片结构和CPU外围电路EMIF的异步写操作时序第二章DSP芯片结构和CPU外围电路与EMIF的异步接口有关的存放器全局控制存放器EGCR全局复位存放器EMI_RST总线错误状态存放器EMI_BE片选0空间控制存放器1/2/3CE0_1/CE0_2/CE0_3片选1空间控制存放器1/2/3CE1_1/CE1_2/CE1_3片选2空间控制存放器1/2/3CE2_1/CE2_2/CE2_3片选3空间控制存放器1/2/3CE3_1/CE3_2/CE3_3第二章DSP芯片结构和CPU外围电路全局控制存放器EGCR〔控制4个片选空间的公共参数〕
MEMFREQ:同步存储器的时钟频率,00:CLKEM是DSPCPU时钟
01:DSP时钟的2分频。
WPE:后写使能,0:禁止,1:使能
MEMCEN:同步存储器时钟输出使能,决定CLKMEM是否使用
ARDY:ARDY管脚上的输入电平,0:外部器件没有准备好,1:表示准备好。
HOLD_:HOLD_管脚上的输入电平。
HOLDA_:HOLDA_管脚上的输出电平。表示DSP对外部总线征用的响应。
NOHOLD:外部总线征用使能。第二章DSP芯片结构和CPU外围电路总线错误状态存放器EMI_BE〔标志总线错误的类型和位置〕如果访问出错,置位存放器中相应的标志位,表示出错的原因TIME:超时错误CE3/CE2/CE1/CE0:表示访问CE3/CE2/CE1/CE0出错。DMA:DMA出错FBUS/EBUS/DBUS/CBUS:表示CPU读或写这些总线出错。PBUS:程序总线出错。第二章DSP芯片结构和CPU外围电路EMIF全局复位存放器EMI_RST任何对EMI_RST存放器的写操作都会复位EMIF状态机,但是不改变当前的配置,此存放器不可读。第二章DSP芯片结构和CPU外围电路片选控制存放器CEx_1(x=0~3)
MTYPE:存储器的类型READSETUP:读建立时间,1~15个DSP时钟周期READSTROBE:读选通时间,1~15个DSP时钟周期READHOLD:读保持时间,0~3个DSP时钟周期第二章DSP芯片结构和CPU外围电路片选控制存放器CEx_2(x=0~3)READEXTENDEDREAD:读延长保持时间,1~3个DSP时钟周期WRITEEXTENDEDREAD:写延长保持时间,1~3个DSP时钟周期WRITESETUP:写建立时间,1~15个DSP时钟周期WRITESTROBE:写选通时间,1~15个DSP时钟周期WRITEHOLD:写保持时间,0~3个DSP时钟周期第二章DSP芯片结构和CPU外围电路片选控制存放器CEx_3(x=0~3)TIMEOUT:从选通STROBE的第三个周期开始,假设在TIMEOUT个周期后,仍没有响应,视为访问超时错误。0表示不允许超时,仅对异步存储器起作用。注意:三个片选控制存放器中除MTPYE外,其它仅对异步存储器的时序阶段设置,对同步存储器不影响。第二章DSP芯片结构和CPU外围电路3、同步动态RAM接口
SDRAM是一种高密度,高速率的同步动态RAM,它按行列的方式来组织存储阵列,并通过行列地址对数据读写。C5509的EMIF能支持容量为64Mbit或128Mbit宽度为16位的SDRAM。5、应用举例问题:假定有一个16位宽的异步SRAM接在EMIF的片选空间1(CE1)上,要求将C5509片内DARAM中从地址000060H开始的200个16位的数,写入该SRAM中从地址208800h开始的数据区域中。解:MOV#0x0000,PORT(#EMI_RST);复位EMIF状态机等待100个周期
RPT#99;单指令无条件重复,下条指令重复99+1=100次NOP;空操作指令,需要的周期数为1
MOV#0x000f,PORT(#EGCR);禁止同步时钟和总线占用请求
MOV#0x121D,PORT(#CE1_1);MTYPE=001,16位异步存储器,;RSETUP=2,RSTROBE=7,RHOLD=1
MOV#0319,PORT(#CE1_2);没有延长保持时间,;;WSETUP=3,WSTROBE=6,WHOLD=1
MOV#0x001F,PORT(#CE1_3);TIMEOUT=31第二章DSP芯片结构和CPU外围电路AMOV#000060h,XAR0AMOV#208800h,XAR2RPT#199MOVdbl(*AR0+),dbl(*AR2+);利用AR间接寻址,生存地址之后+1NOP第二章DSP芯片结构和CPU外围电路作业:假定有一个16位宽的异步SRAM接在EMIF的片选空间1(CE1)上,要求如下:
将C5510片内DARAM中从地址000060H开始的100个16位的数,写入该SRAM中从地址208800h开始的数据区域中。读/写建立、读/写选通、读/写保持时间均为3个DSP时钟周期。读/写延长保持时间为2个DSP时钟周期设计任务:(1)画出EMIF与该SRAM接口连接图
(2)试编写完成设计要求的程序第二章DSP芯片结构和CPU外围电路2.5增强型主机接口EHPIC5509DSP有一个16位的增强型主机接口EHPI,可与外部主机相连,使DSP系统受控于外部主机。EHPI主要有:地址存放器HPIA,数据存放器HPID,控制存放器HPIC和控制逻辑构成。通过专门的EHPI通道与DSP内的DMA控制器相连,使主机能够访问DSP的片内存储空间和局部外部存储空间。第二章DSP芯片结构和CPU外围电路一、地址/数据14位的地址总线HA[13:0]:可以访问16K×16的存储空间数据总线HD[15:0]:用于连接外部主机和内部的数据存放器HPID,支持8比特、16比特的数据访问。字节选择信号HBE[1:0]:用于选择访问的字节HBE[1:0]=00:按字的方式访问,使用16位数据总线HD[15:0]HBE[1:0]=01:访问字的高8位,使用数据总线的高8位HD[15:8]HBE[1:0]=10:访问字的低8位,使用数据总线的低8位HD[7:0]第二章DSP芯片结构和CPU外围电路二、选通信号EHPI的选通信号包括片选信号HCS_:低电平有效,表示地址线和控制线上的输入为有效输入。数据选通HDS1_和HDS2_:用于控制主机访问期间的数据传递。以两个信号的异或非为准,低电平有效,脉冲宽度至少为2个DSP时钟周期。地址选通HAS_:只是在复用模式下使用(与地址线HA2共用一个管脚),EHPI在其上升沿有效,将数据总线上的信号锁存到地址存放器HPIA中。第二章DSP芯片结构和CPU外围电路三、控制信号1、就绪信号HRDYHRDY为低电平:表示EHPI忙,主机需要插入等待时间HRDY为高电平:表示EHPI已完本钱次数据传输,主机可以再次发起访问。2、读写信号HR/W_HR/W_为高电平:主机读EHPI。HR/W_为低电平:主机写EHPI。3、主机中断信号HINT_用于DSP向主机发送负脉冲形式的中断信号。第二章DSP芯片结构和CPU外围电路4、存放器访问选择HCNTL0和HCNTL1(用于选择访问的存放器)在非复用模式下只使用HCNTL0HCNTL0为低电平:访问EHPI控制存放器HPIC。HCNTL0为高电平:访问EHPI数据存放器HPID。在复用模式下,使用HCNTL0和HCNTL1来选择要访问的存放器HCNTL[1:0]=00:访问EHPI控制存放器HPIC。HCNTL[1:0]=01:按地址递增的方式访问数据存放器HPID。HCNTL[1:0]=10:访问地址存放器HPIA。HCNTL[1:0]=11:按随机地址方式访问数据存放器HPID。第二章DSP芯片结构和CPU外围电路四、EHPI的存放器16位的地址存放器HPIA:用于在复用模式下存放地址。工作于自动递增模式时,HPIA的值在每次访问后自动加1,因此,只需要设置数据块的起始地址,就可以访问一连续存放的数据。16位的数据存放器HPID:用于存放读写的数据。16位的控制存放器HPIC15~2:reserved:保存1:DSPINT:主机对DSP的中断,0:去除中断;1:向DSP发送中断请求。0:reserved:保存第二章DSP芯片结构和CPU外围电路五、EHPI对DSP的复位DSP的复位信号来自RESET管脚,当复位信号为低电平时,DSP复位。六、接口时序
主机和DSP有两种接口时序方式:非复用方式和复用方式。第二章DSP芯片结构和CPU外围电路非复用模式HPID用于临时存放要通过EHPI传送的数据。如果是读操作,那么HPID中装有在DSP存储区中读到的数据;如果是写操作那么HPID中装有要写入DSP存储区的数据。通过配置控制存放器HPIC可以向DSP发中断,并且可以控制DSP的复位。要访问HPIC必须使HCNTL0信号为低。第二章DSP芯片结构和CPU外围电路复用模式(a)为信号被使用时的连接
(b)为高电平(不被使用)时的连接
第二章DSP芯片结构和CPU外围电路七、应用举例
用一片C5509(DSP1)的EMIF与另一片C5509(DSP2)的EHPI相连,DSP1为主机,采用非复用模式于DSP2通信,并由GPIO来选择要访问的对象(HPIC或数据空间)。要求DSP1向DSP2中的缓冲区写入一段数据后用中断方式通知DSP2对该段数据进行处理。假定DSP1中的数据缓冲区起始地址为000100h,长度为100个字;DSP2中的数据缓冲区的起始地址为000060,长度为200个字。(连接方式如教材32页所示)第二章DSP芯片结构和CPU外围电路DSP1中完成该任务的程序如下:MOV#0x000100,XAR0;源地址MOV#0x200060,XAR1;目标地址,采用CE1,起始地址为20000hMOV#0x0001,port(#IODIR);配置GPIO0为输出MOV#0x0001,port(#IODATA);GPIO0输出高电平RPT#99MOV*AR0+,*AR1+MOV#0x0000,port(#IODATA);GPIO输出低电平,要访问DSP2的HPICMOV#0x0003,*AR1;DSPINT=1,向DSP2发中断。RPT#3NopMOV#0x0001,*AR1;DSPINT=0,停止向DSP2发中断GPIO0和HCNTL0相连,HCNTL0=1,访问数据区第二章DSP芯片结构和CPU外围电路2.6多通道缓冲串口McBSP一、概述1、McBSP的功能全双工通信双缓冲数据存放器,允许连续的数据流。收发独立的帧信号和时钟信号可以与工业标准的编/解码器,以及其它串行A/D、D/A接口数据传输可以利用外部时钟、或是片内的可编程时钟。利用DMA为McBSP效劳时,串口数据读写具有自动缓冲能力。第二章DSP芯片结构和CPU外围电路2、其它的特点可与多达128个通道进行收发;支持传输的数据字长可以是8bit、12bit、16bit、20bit、24bit、32bit
内置u律和A律压扩硬件。
对8bit数据的传输,可选择LSB先传,还是MSB先传。可设置帧同步信号和数据时钟信号的极性。内部传输时钟和帧同步信号可编程程度高。u律〔m-Law〕压扩主要用在北美和日本等地区的数字通信中。m为确定压缩量的参数,它反映最大量化间隔和最小量化间隔之比。A律〔A-Law〕压扩主要用在欧洲和中国大陆等地区的数字通信中。A为确定压缩量的参数,它反映最大量化间隔和最小量化间隔之比。第二章DSP芯片结构和CPU外围电路一、根本结构C5509有三个多通道缓冲串口McBSP,每个McBSP可以分为收发通道、时钟与帧同步、多通道选择和串口事件等4局部。McBSP在外部通过假设干管脚与其它串行器件相连,在内部通过16位的外设总线与CPU和DMA控制器相连。外时钟第二章DSP芯片结构和CPU外围电路1、收发通道接收通道由接收数据管脚DR、接收时钟CLKR、接收帧同步FSR、接收移位存放器RSR、接收缓冲存放器RBR和数据接收存放器DRR组成。发送通道由发送数据管脚DX、发送时钟CLKX、发送帧同步FSX、发送移位存放器XSR和数据发送存放器DXR组成。数据压扩器,对发送的数据按µ律或A律压缩再发送,对接收的数据进行扩展。是个可选项,可通过控制存放器进行选择。McBSP的收发通道是相对独立的,可单独使用,也可同时使用。可根据要求对相应的存放器进行配置。第二章DSP芯片结构和CPU外围电路2、接收通道接收的数据到达管脚DR,在接收时钟CLKR的上升沿(或下降沿)被逐位依次移入RSR。收满一个字后,被拷贝到缓冲存放器RBR,再拷贝到数据接收存放器DRR,同时设置接收标志位RRDY,并通过串口事件通知CPU或DMA已经接到数据。CPU或DMA可以通过外设总线从DRR读取接收到的数据。第二章DSP芯片结构和CPU外围电路3、发送通道CPU或DMA将数据写入数据发送存放器DXR,接着拷贝到发送移位存放器XSR,在发送帧同步FSX后,CLKR的上升沿(或下降沿)到来时,XSR的内容被逐位依次移到发送管脚DX上。同时,McBSP也会设置发完标志XRDY,并通过串口事件通知CPU或DMA数据已发出去。这种多级缓冲方式使得片内的数据搬移和外部数据的通信可以同时进行。第二章DSP芯片结构和CPU外围电路4、时钟与帧同步(时钟和帧同步具有灵活的信号形式和设置手段)McBSP的时钟与帧同步由一组存放器和一个采样速率发生器SRG组成。用户可以通过存放器设定相应的参数,采样速率发生器SRG就会根据这些参数将输入参考时钟变为所需要的串口时钟和帧同步信号。(1)采样速率发生器的输入参考时钟SRG的工作原理:通过对输入参考时钟进行分频得到所需要串口时钟和帧同步信号。可供选择的输入参考时钟有4个。来自CLKX脚的发送时钟来自CLKR脚的接收时钟来自CLKS脚的输入时钟(外时钟)来自时钟发生器的CPU时钟第二章DSP芯片结构和CPU外围电路究竟选用哪个时钟,由采样速率发生存放器2(SRGR2)中的CLKSM字段和管脚控制存放器(PCR)中的SCLKME字段来确定。当SCLKME=0,CLKSM=0时,选择CLKS脚上的输入信号为输入参考时钟;当SCLKME=0,CLKSM=1时,选择CPU时钟作为参考时钟;当SCLKME=1,CLKSM=0时,选择CLKR脚上的时钟为参考时钟;当SCLKME=1,CLKSM=1时,选择CLKX脚上的时钟为参考时钟。(2)采样速率发生器的输出时钟和帧同步输入的参考时钟经过分频产生SRG输出时钟CLKG。分频次数由采样速率发生存放器1(SRGR1)中的CLKDV字段(8bit)根据如下公式决定:FCLKG=Fclocksource/(CLKDV+1),1≤CLKGDV≤255串口的最高时钟速率为CPU时钟的一半第二章DSP芯片结构和CPU外围电路帧同步信号FSG由CLKG进一步分频而来,分频次数由采样速率发生存放器2(SRGR2)中的FPER(12bit)字段根据如下公式确定:帧同步脉冲的宽度由抽样速率发生存放器1〔SRGR1〕中的FWID字段确定:
抽样速率发生器产生的时钟和帧同步信号既可以用来驱动接收通道的时钟和帧同步,也可以用来驱动发送通道的时钟和帧同步。FFSG=FCLKG/(FPER+1)=Fclocksource/(CLKDV+1)(FPER+1)0≤FPER≤4095WFSG=(FWID+1)×TCLKG0≤FWID≤255,TCLKG为CLKG的周期第二章DSP芯片结构和CPU外围电路(3)时钟信号的方向性和极性时钟管脚CLKX和CLKR的方向分别由管脚控制存放器(PCR)中的CLKXM和CLKRM字段控制,而CLKS管脚那么只能是输入。当CLKX(R)M=1时,CLKX(R)由CLKG驱动,为输出;当CLKX(R)M=0时,CLKX(R)由外部管脚驱动,为输入。第二章DSP芯片结构和CPU外围电路CLKX管脚和CLKR管脚上信号的极性分别由管脚控制存放器(PCR)中的CLKXP和CLKRP字段控制,CLKS管脚上信号的极性由采样速率发生器2(SRGR2)中的CLKSP字段确定。CLKXP=CLKRP=CLKSP=0时,CLKX、CLKR和CLKS为正极性,以上升沿开始。CLKXP=CLKRP=CLKSP=1时,CLKX、CLKR和CLKS为负极性,以下降沿开始。第二章DSP芯片结构和CPU外围电路(4)帧同步信号的方向和极性发送帧同步FSX的方向由管脚控制存放器(PCR)中的FSXM字段和采样速率发生存放器2(SRGR2)中的FSGM字段共同确定。当FSXM=0,FSGM=x时,FSX为输入,由外部信号源驱动;当FSXM=1,FSGM=0时,FSX为输出,由DXR到XSR的拷贝动作驱动;当FSXM=1,FSGM=1时,FSX为输出,由FSG驱动。发送帧同步FSX的极性由管脚控制存放器(PCR)中的FSXP字段确定。当FSXP=0时,FSX为正极性,即高电平有效;当FSXP=1时,FSX为负极性,即低电平有效。第二章DSP芯片结构和CPU外围电路接收帧同步FSR的方向由管脚控制存放器(PCR)中的FSRM字段确定。当FSRM=0时,FSR为输入,由外部信号源驱动;当FSRM=0时,FSR由内部FSG驱动。接收帧同步FSR的极性由管脚控制存放器(PCR)中的FSRP字段确定。当FSRP=0时,FSR为正极性,即高电平有效;当FSRP=1时,FSR为负极性,即低电平有效.第二章DSP芯片结构和CPU外围电路(5)同步
SRG的输入参考时钟可以是内部时钟(CPU时钟),也可以是外部输入时钟(来自CLKX、CLKR或CLKS管脚)。当采用外部时钟源时,一般需要同步。同步与否由采样速率发生器2(SRGR2)中的GSYNC字段控制。
当GSYNC=0时,SRG将自由运行,并按CLKGDV、FPER和FWID等参数的配置产生输出时钟;
当GSYNC=1时,CLKG和FSG将同步到外部输入时钟。第二章DSP芯片结构和CPU外围电路5、多通道选择(在一帧数据中,最多可包含128个数据单元,每个数据单元对应一个通道)McBSP属于多通道串口,最多可以有128个通道,其多通道选择局部由多通道控制存放器MCR、接收通道使能存放器RCER和发送通道使能存放器XCER构成。多通道控制存放器MCR作为总控制,可以禁止或使能全部128个通道。RCER和XCER可以分别禁止或使能某个接收和发送通道。每个存放器控制16个通道。因此,128个通道需要8个通道使能存放器。第二章DSP芯片结构和CPU外围电路第二章DSP芯片结构和CPU外围电路6、串口事件McBSP可以发起6个串口事件接收中断RINT发送中断XINT接收同步事件REVTA_bis模式的接收同步事件REVTA发送同步事件XEVTA_bis模式的发送同步事件XEVTARINT和XINT与CPU相连,可以中断CPUREVT、REVTA、XEVT和XINT那么与DMA控制器相连,可以用于DMA同步事件,触发DMA传输第二章DSP芯片结构和CPU外围电路收发中断的产生分别由串口控制存放器1(SPCR1)中的RINTM字段和串口控制存放器2(SPCR2)中的XINTM字段控制。第二章DSP芯片结构和CPU外围电路用于DMA接收事件和发送事件的REVT、REVTA、XEVT和XEVTA那么分别由接收标志RRDY和发送标志XRDY两个标志触发。其中:REVT和XEVT为McBSP工作于常规模式时的DMA同步事件REVTA和XEVTA为McBSP工作于A_bis模式时的DMA同步事件。第二章DSP芯片结构和CPU外围电路二、工作模式根据McBSP在通信中所处的地位和功能,工作模式可分为:多通道缓冲模式
SPI模式
A-bis模式数字回环模式
GPIO模式省电模式第二章DSP芯片结构和CPU外围电路1、多通道缓冲模式是McBSP的一种常规模式。在此模式下,根据其所处的地位有可分为主方和从方。主方提供通信所需的时钟和帧同步,所以其时钟和帧同步都由内部SRG驱动,为输出;从方所需的时钟和帧同步来自主方,其时钟和帧同步由外部器件驱动,为输入。在多通道缓冲模式下,传输由帧同步上升沿(或下降沿)触发,并在时钟上升沿(或下降沿)收(发)一个数据比特,支持1到128个传输通道的多通道传输。第二章DSP芯片结构和CPU外围电路2、SPI模式
SPI协议是一种主—从配置的,支持一个主方,一个或多个从方的串行通信协议。由4个信号构成:串行数据输入MISO(主设备输入、从设备输出)、串行数据输出MOSI(主设备输出、从设备输入)
、移位时钟SCK和从方使能SS。McBSP的时钟停止模式:指其时钟会在每次数据传输结束时停止,并在下次数据传输时立即启动或延时半个周期后再启动。第二章DSP芯片结构和CPU外围电路3、A-bis模式A-bis模式是McBSP提供的一种比特域抽取—扩展的工作模式。此模式下,McBSP能从一条PCM链路上接收或发送1024个比特。发送时,它将1024个有效数据比特按给定的发送图案扩展到PCM链路上;接收时,那么从PCM帧中按给定的接收图案抽取出1024个有效比特。4、数字回环模式用于在只有一个DSP时,测试其McBSP的情况。数字回环DLB模式能在McBSP内部将收发局部连在一起,即DR与DX、FSR、FSX、CLKX与CLKR,第二章DSP芯片结构和CPU外围电路在McBSP中有两种回环在复位时,McBSP内部将从图中(1)的位置进行回环,此时假设向DXR写一个数,4个周期以后就能从DRR收到该数据。在复位以后,通过串口控制存放器1(SPCR1)中的DLB的控制使McBSP内部从图中(2)的位置进行回环。当DLB=0时,不回环;当DLB=1时,从位置(2)进行回环。(1)(2)第二章DSP芯片结构和CPU外围电路5、GPIO模式McBSP处于复位状态时,它的7个管脚(书表6-22)在管脚控制存放器PCR和串口控制存放器SPCR的控制下可以用作通用输入输出(GPIO)。其中CLKX、CLKR、FSX和FSR既可设为输入又可设为输出,输入/输出电平值由相应的极性控制位确定;DX只能为输出;DR和CLKS那么只能为输入。第二章DSP芯片结构和CPU外围电路6、省电模式在C5509DSP总的省电控制和管脚控制存放器PCR中IDLE_EN的控制下,可以使McBSP进入省电模式,以降低功耗。第二章DSP芯片结构和CPU外围电路三、收发格式与参数设置帧同步有效表示一帧串行数据传输的开始。每次收发数据传输都从帧同步开始,每个数据帧可以有两个阶段,即阶段1和阶段2,每个阶段可有1到128个字,每个字可以是8、12、16、20、24、或32比特。每一帧最多传送4096bit的数据,因为FPER控制字段只有12bit。〔字段设置参见教材38页,表2-21〕第二章DSP芯片结构和CPU外围电路数据比特的延迟:当帧同步有效后,一般在其后的第一个时钟周期启动该帧的传输,如果需要,数据的发送/接收的起始时刻相对于帧信号的起始点可以存在一定的延时。延时范围可以从0到2个周期的传输时钟。对收发数据还可按μ律或A律进行压扩,选择是MSB先还是LSB先由于收发通道存放器都是16位的,所以对字长缺乏或超过16比特的数据可以进行左对齐或右对齐调整。选择左对齐时,McBSP将用0填充LSB;选择右对齐时,McBSP可以用0填充MSB,也可用符号扩展方式填充MSB。第二章DSP芯片结构和CPU外围电路四、异常处理每个多通道缓冲串口McBSP有以下5个事件会导致错误:接收过速,由标志RFULL=1表示;接受帧同步错误,由标志RSYNCERR=1表示;发送数据重写;发送存放器空,由标志=0表示;发送帧同步错误,由标志XSYNCERR=1表示。第二章DSP芯片结构和CPU外围电路1、接收过速是指在接收通道上的3个存放器已满时造成的数据丧失,通过标志RFULL=1来表示。因为RSR、RBR和DRR中都有数据,所以当下一个数据到来时就会覆盖RSR使RSR中的数据丧失。2、发送数据重写发送数据重写是指CPU或DMA在DXR中的数据被拷贝到XSR之前又对DXR写入新的数据,使DXR中的数据被覆盖而丧失。第二章DSP芯片结构和CPU外围电路3、发送存放器空与发送数据重写相对应,发送存放器空那么是由于CPU或DMA写入太慢,使得发送帧同步出现时,DXR还未写入新值,这样XSR中的值就会不断重发,直到DXR写入新值为止。第二章DSP芯片结构和CPU外围电路4、接受帧同步错误接受帧同步错误是指在当前数据帧的所有数据比特还未收完时出现了帧同步信号。由于帧同步表示一帧的开始,所以出现帧同步时,接收器就会停止当前帧的接收并重新开始下一帧的接收,从而造成当前帧数据的丧失。5、发送帧同步错误与接收帧同步错误相对应,发送帧同步错误是指当前帧的所有数据比特未发送完之前出现了发送帧同步信号。此时,发送器将终止当前帧的传送,并重新开始下一帧的传送。第二章DSP芯片结构和CPU外围电路应用举例:利用McBSP0来发送一段数据,要求如下:(1)采用多通道缓冲模式;(2)发送时钟和帧同步由内部采样速率发生器驱动,接收时钟和帧同步由外部输入驱动;(3)发送时钟速率为CPU时钟速率的1/4,帧同步周期为18个CLKG,脉冲宽度为2个CLKG;(4)收发都是每帧1个阶段,每阶段1个字,字长16比特,不压扩,1比特延迟;(5)采用查询发送标志XRDY和接收标志RRDY的方式进行收发。第二章DSP芯片结构和CPU外围电路程序实现分析:MOV#0x0000,PORT(#SPCR1_1);;设置串口控制存放器1,要求(1),RRST_=0:复位McBSP接收机MOV#0x0a00,PORT(#PCR_1);设置串口管脚控制存放器,要求(2)。;设置接收引脚,;FSXM=CLKXM=1,发送时钟和帧同步由内部驱动;;FSRM=CLKRM=0,接收时钟和帧同步由外部驱动MOV#0x0103,PORT(#SRGR1_1);要求(3)。对采样速率发生存放器设置;设置发送时钟速率,;CLKGDV=(3)10=00000011,SRG输出时钟4分频;;FWID=(1)10=00000001,帧同步脉冲的脉宽为2个CLKG周期0000000100000011第二章DSP芯片结构和CPU外围电路MOV#0x3011,PORT(#SRGR2_1);对采样速率发生存放器2进行设置;0011000000010001;CLKSM=1,选择CPU时钟为参考时钟;FSGM=1,采用FSG做内部帧同步驱动;FPER=(17)10=(000000010001)2MOV#0x0040,PORT(#XCR1_1);要求(4),对发送控制存放器1进行设置;XFRLEN1=0000000,帧长为一个字;;XWDLEN1=010,字长为16比特MOV#0x0001,PORT(#XCR2_1);对发送控制存放器2进行设置;XPHASE=0,每帧一个阶段;0000000000000001;XDATDLY=01,发送时1比特延迟0000000001000000第二章DSP芯片结构和CPU外围电路MOV#0x0040,PORT(#RCR1_1);要求(4),对接收控制存放器1进行设置,;RFRLEN1=0000000,帧长为一个字;;RWDLEN1=010,字长为16比特MOV#0x0001,PORT(#RCR2_1);对接收控制存放器2进行设置,;RPHASE=0,每帧一个阶段;RDATDLY=01,发送时1比特延迟MOV#0x0001,PORT(#MCR1_1);对多通道控制存放器1进行设置,;无需多个通道。RMCM=1,不使能所有接收通道MOV#0x0001,PORT(#MCR2_1);对多通道控制存放器2进行设置;;XMCM=01,不使能所用发送通道00000000010000000000000000000001第二章DSP芯片结构和CPU外围电路MOV#0x0040,PORT(#SPCR2_1);设置串口控制存放器2;GRST=1,启动采样速率发生器。MOV#0x00C1,PORT(#SPCR2_1);FRST=1,启动帧同步。MOV#0x0041,PORT(#SPCR2_1);XRST=1,启动发送器。MOV#0x0001,PORT(#SPCR1_1);RRST=1,启动接收器;要求(5)XRDY_TRANSMIT:MOVPORT(#SPCR2_1),T0AND#0x0002,T0BCCRRDY_RECEIVE,T0==#0;假设XRDY=0,就去查RRDYMOV#0xAAAA,PORT(#DXR_1);假设XRDY=1,就发送一个数第二章DSP芯片结构和CPU外围电路RRDY_RECEIVE:MOVPORT(#SPCR1_1),T0AND#0x0002,T0BCCRRDY_RECEIVE,T0==#0;假设RRDY=0,就去查XRDYMOVPORT(#DRR1_1),T1;假设RRDY=1,就接收一个数BXRDY_TRANSMIT第二章DSP芯片结构和CPU外围电路通用输入输出GPIO一、GPIO口C5509DSP配有一个专门的通用输入输出口GPIO。它由8个相互独立的可编程管脚(IO0~IO7)构成。GPIO口各个管脚的输入或输出由方向存放器IODIR设定,各个管脚上的输入/输出电平由存放器IODATA控制。IOxDIR:0-输入,1-输出IOxDATA:0-低电平,1-高电平第二章DSP芯片结构和CPU外围电路二、通过GPIO进行自举模式设定在C5509复位时,GPIO口的IO[3:1]还作为DSP自举模式的设定,DSP在复位信号的上升沿采样这三个管脚上的电平,并将它们锁存到自举模式存放器BOOT_MOD里。在采样以后,这三个管脚就可用作通用输入输出了。三、GPIO的使用举例MOV#0x0001,port(#IODIR);配置GPIO0为输出MOV#0x0001,port(#IODATA);GPIO0输出高电平DMA控制器第二章DSP芯片结构和CPU外围电路2.8DMA控制器
通过4个端口和6个通道与DSP的IO资源相连。内部通过32位宽的DMA总线互联。能够独立于CPU工作,完成I/O资源间的数据传输,而不影响CPU执行做其它的事情,类似于PC机的后台处理。
有一个EHPI辅助端口和EHPI辅助通道,可以直接和主机相连,DMA的各个传输通道采用时分复用(TDM)的方式分享DMA总线。第二章DSP芯片结构和CPU外围电路注意:
对于EMIF,SARAM,DARAM,外设和EHPI,除了EHPI与外设之间,以及EHPI与其本身不可以使用DMA外,其它相互之间以及自身都可以通过DMA搬运数据。(表6-39)第二章DSP芯片结构和CPU外围电路一、EHPI通道EHPI端口和EHPI通道为主机专用。外部主机通过EHPI通道可以访问EMIF、SARAM和DARAM。1、EPHI通道的优先级的问题:通过对DMA全局控制存放器DMA_GCR,可以设置EHPI通道的优先级。当EHPIPRIO=0时,EHPI通道为低优先级;当EHPIPRIO=1时,EHPI通道为高优先级。第二章DSP芯片结构和CPU外围电路2、EHPI通道与其余6个通道分享DSPIO资源的方式由DMA全局控制存放器(DMA_GCR)中的EHPIEXCL字段确定:EHPIEXCL=0时,为共享模式,即EHPI通道与DMA的其余通道共享EMIF、SARAM和DARAM;EHPIEXCL=1时,为独占模式,即EHPI通道独占SARAM和DARAM,其余DMA通道只能访问EMIF和外设。第二章DSP芯片结构和CPU外围电路二、DMA通道传输配置DMA通道的传输过程:先从数据源读入数据,放到通道的FIFO缓冲区里,然后再从FIFO缓冲区取出写到目的端口。DMA控制器有两套存放器:一套为配置存放器,供CPU写入所需的配置值;一套为工作存放器,供DMA通道工作时使用。因此,DMA通道正在执行数据传输时,CPU可以写入下次传输的配置参数,而不影响正在进行的传输。第六章DSP芯片内的CPU外围电路1、数据块、帧和单元DMA通道一次传输一个数据块(Block),该数据块由假设干帧(Frame)构成,每帧由假设干数据单元(Element)构成,每个数据单元又由假设干比特构成。每个数据块包含的帧数由DMA通道数据帧数存放器(DMA_CFN)指定,范围为1到65535帧。每帧包含的数据单元数由DMA通道数据单元数量存放器(DMA_CEN)指定,范围为1到65535.数据单元的比特数由DMA通道参数存放器(DMA_CSDP)的DATATYPE指定当DATATYPE=00时,每个数据单元长8比特;当DATATYPE=01时,每个数据单元长16比特;当DATATYPE=10时,每个数据单元长32比特。第二章DSP芯片结构和CPU外围电路2、传输类型与数据打包DMA支持的数据传输类型有:8、16、24、32bit。问题:DMA总线宽度为32位,最多能支持两个16位的或一个32位的数据传输,当所传输的数据单元长度小于总线宽度时,DMA传输效率降低。比方8比特长数据单元的传输,4次才传32比特。数据打包:将4个8比特单元打包成一个32比特的数据包,那么只需传递一次。提高了传输效率。通过DMA通道参数存放器(DMA_CSDP)中的DST(SRC)PACK字段可以设定数据打包功能。DST(SRC)PACK=0时,不打包;等于1时,对数据打包传输。第二章DSP芯片结构和CPU外围电路3、目的端口和源端口的类型DMA通道传输的目的端口和源端口的类型由DMA通道参数存放器(DMA_CSDP)中DST(SRC)字段指定。DST(SRC)=xx00时,目的(源)为SARAMDST(SRC)=xx01时,目的(源)为DARAMDST(SRC)=xx10时,目的(源)为EMIFDST(SRC)=xx11时,目的(源)为外设第二章DSP芯片结构和CPU外围电路4、数据源和目的地址DMA传输采用字节地址,每次传输的数据块大小也是以字节为单位的。(1)DMA通道的数据源的起始地址
通道数据源的起始地址DMA_CSSA_L存放低16位地址通道数据源的起始地址DMA_CSSA_U存放高16位地址(2)DMA通道的目的起始地址
通道数据源的起始地址DMA_CDSA_L存放低16位地址通道数据源的起始地址DMA_CDSA_U存放高16位地址第二章DSP芯片结构和CPU外围电路(3)数据传输时地址的修改方式由DMA通道控制存放器DMA_CCR.DST(SRC)AMODE字段指定DST(SRC)AMODE=00时,目的(源)地址为固定地址;DST(SRC)AMODE=01时,目的(源)地址在每个单元传输完后自动加1;DST(SRC)AMODE=10时,目的(源)地址在每个单元传输完后自动递增一个索引长度值。索引值由数据单元索引存放器(DMA_CEI)指定。DST(SRC)AMODE=11时,目的(源)地址按单元和帧进行双索引。索引值由数据单元索引存放器(DMA_CEI)和帧索引存放器(DMA_CFI)指定。第二章DSP芯片结构和CPU外围电路5、单次传输与屡次传输DMA通道可以有单次传输和屡次传输两种模式。单次传输:DMA通道在传完一个数据块以后就自动停止。屡次传输,DMA通道在传完一个数据块以后又会将配置参数从配置存放器拷到工作存放器,继续传输下一个数据块。一个DMA通道的传输模式由DMA通道控制存放器(DMA_CCR)中的AUTOINIT、ENDPROG和REPEAT字段控制。第二章DSP芯片结构和CPU外围电路6、DMA传输的启动配置好传输参数后,两种方法可以启动DMA通道的数据传输。一种是由CPU直接将通道控制存放器(DMA_CCR)中的通道使能字段EN置为1,DMA通道就会立即开始传输;另一种是由外部DMA同步事件来触发DMA通道的数据传输(如McBSP的XEVT事件等),此时DMA传输不会立即开始,而要等到指定的事件发生以后才会开始。第二章DSP芯片结构和CPU外围电路C5509中共有20个DMA同步事件可以触发DMA传输:6个外部中断2个定时器中断12个McBSP事件(每个串口4个)具体由哪个事件来触发,由通道控制存放器(DMA_CCR)中的同步字段SYNC来控制。此外,通过通道控制存放器(DMA_CCR)中的FS字段,还可以指定这些同步事件是与帧传输同步呢?还是与数据单元传输同步。对于前者,每次DMA同步事件触发一个数据帧的传输;对于后者,那么触发一个单元的传输。当FS=0时,与数据单元传输同步;当FS=1时,与数据帧传输同步。第二章DSP芯片结构和CPU外围电路7、通道中断与状态DMA通道在传输过程中产生的各种状态都会把通道状态存放器DMA_CSR中相应的标志置为1。P51表2-38同时,在通道中断控制存放器DMA_CICR的控制下,这些状态都能触发DMA通道中断,使CPU能及时得到DMA传输的状态。第二章DSP芯片结构和CPU外围电路三、存放器说明DMA控制器有两套存放器,一套用于工作,一套用于CPU写入配置参数。注意:用于工作的存放器是不能访问的。第二章DSP芯片结构和CPU外围电路四、DMA应用实例假定需要将位于SARAM中从字节地址20000h开始的32个16位的数搬到DARAM中从字节地址00c0h开始的数据缓冲区,要求使用DMA通道1,并由CPU直接启动,在传完以后给C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2019-2025年一级建造师之一建工程法规题库练习试卷A卷附答案
- 福州合同协议书
- 代卖销售合同样本
- 机件不符的机动车的责任划分及依据
- 综合门诊工作总结与患者体验优化计划
- 保险销售代理合同样本
- 出境领队合同样本
- 2025钢筋工班组承包合同
- 业主公司合同样本
- 提升团队适应能力的行动计划
- 社会主义经济理论习题与答案
- 2023年天津市普通高中学业水平考试地理试题(含答案)
- 小学优秀传统文化教育总结模板(2篇)
- 生物技术概论
- 【企管】年屠宰4200万只肉鸭技术工艺改造项目可行性报告
- 8.6《林黛玉进贾府》课本剧剧本
- mt696-1997煤矿用高倍数泡沫灭火装置通用技术条件
- GB/T 11693-2022船用法兰焊接座板
- JJG 388-2001纯音听力计
- GB/T 18926-2008包装容器木构件
- GB/T 16422.1-2019塑料实验室光源暴露试验方法第1部分:总则
评论
0/150
提交评论