DSP打印dsp大三上dayin_第1页
DSP打印dsp大三上dayin_第2页
DSP打印dsp大三上dayin_第3页
DSP打印dsp大三上dayin_第4页
DSP打印dsp大三上dayin_第5页
已阅读5页,还剩43页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

)CMPSA,*AR1+;比较A(31-16)和A(15-0);大数送*AR1(1个周期完成);AR1内容+1,例2-2:分析下面指令的执行结果CMPSA,*AR1+,这个1不是冗余的,-35h,ST0的结构如下:,ST1,ST1的结构如下:,PMST的结构如下:,4、硬件复位现场状态复位期间,处理器进行以下操作:PMST中的中断向量指针IPTR设置成1FFh。采集MP/MC引脚,设置PMST的MP/MC与引脚状态一致。PC装入FF80H。扩展程序计数器XPC(7位)清0。无论MP/MC状态如何,将FF80H加到地址总线。数据线变为高阻态,控制线处于无效状态。ST1中的中断方式位INTM置1,关闭所有可屏蔽中断。中断标志寄存器IFR清0。产生同步复位信号,初始化外围电路。,下列状态位设置成初始值ST0:ARP=0TC=1C=1OVA=0OVB=0DP=0ST1:BRAF=0CPL=0XF=1HM=0INTM=1OVM=0SXM=1C16=0FRCT=0CMPT=0ASM=0PMST:IPTR=1FFHOVLY=0AVIS=0DROM=0CLKOFF=0如果MP/MC=0,程序从片内ROM开始执行,否则,从片外程序存储器开始执行。,DARAMCPU可以在一个机器周期寻址DARAM两次:双寻址存贮器DARAM在物理结构上分成了若干独立的存贮器块;CPU可以在单周期内同时访问不同的DARAM块;处于流水线同一级的两条指令可以分别访问两个不同的DARAM块;处于流水线不同级上的两条指令可以访问同一DARAM块;C54X对DARAM的访问分成前半周期和后半周期,其中取指令和读第1个数据是安排在前半周期,而读第2个数据和写数据是安排在后半周期。,利用处理器工作方式状态寄存器PMST分配片上存储器:,位:0表示片内ROM使能并可以访问;OVLY位:0表示片内RAM只映射在数据空间;1表示片内RAM一部分映射在程序空间;DROM位:0表示片内ROM只映射在程序空间;1表示片内ROM一部分映射在数据空间。,程序存储器:,1、C54可以寻址的程序存储器容量64K字8M字,5402可以扩展到1M字(20地址线),5416可以扩展到8M字(23地址线)。2、片内ROM、DARAM、SARAM都可以用软件配置到程序空间。3、当程序地址发生器产生的地址落在片内存储器范围以外时,将自动对外部存储器空间寻址。4、程序存储器的作用是存放指令和指令执行中所用的系数表。5、寻址空间和配置:通过PMST的MP/MC位和OVLY位配置6、组织:片上ROM分块,扩展程序存储器分页,可以允许芯片在一个块中取指,同时在另一个块中获取操作数。7、C54x系列DSP不同芯片片内ROM的分块情况(下一页),利用处理器工作方式状态寄存器PMST分配片上存储器:,位:0表示片内ROM使能并可以访问;OVLY位:0表示片内RAM只映射在数据空间;1表示片内RAM一部分映射在程序空间;DROM位:0表示片内ROM只映射在程序空间;1表示片内ROM一部分映射在数据空间。,重要!,DARAMCPU可以在一个机器周期寻址DARAM两次:双寻址存贮器DARAM在物理结构上分成了若干独立的存贮器块;CPU可以在单周期内同时访问不同的DARAM块;处于流水线同一级的两条指令可以分别访问两个不同的DARAM块;处于流水线不同级上的两条指令可以访问同一DARAM块;C54X对DARAM的访问分成前半周期和后半周期,其中取指令和读第1个数据是安排在前半周期,而读第2个数据和写数据是安排在后半周期。,0020H005FH是存储器映射片上外设寄存器地址:,一、片上外围电路所有的DSP芯片都有丰富的片内外设,C54x芯片的片内外设包括以下几种:(1)通用的I/O接口(2)定时器(3)时钟发生器(4)主机接口(HPI)(5)串行口(6)DMA控制器(7)软件可编程等待状态发生器(8)可编程分区转换逻辑电路,1、通用I/O引脚XF和/BIO通用I/O叫做GPIO(GeneralPurposeI/O),指能为外围设备提供输出信号或接收外围设备输入信号到DSP的引脚。C54x提供了两个GPIO:/BIO:分支转移控制输入引脚,用来监控外部设备的状态。在时间要求苛刻的循环中,在不允许受干扰的情况下,可根据引脚的状态(即外围设备的状态)来决定分支转移的去向,以替代中断。如:XC2,/BIOXC:条件执行指令,上面指令表示如果引脚/BIO为低电平,则执行后面的1条双字或2条单字指令;否则,执行2条NOP指令。,三、片上外围电路的原理与应用,XF:对外标记输出引脚,可以用来向外部设备发出信号。它受软件控制:用SSBX指令可以将ST1的XF位置1,使XF引脚输出高电平用RSBX指令可以将ST1的XF位置0,使XF引脚输出低电平。,/BIO和XF可以用作异步通信时的握手信号。,对时钟方式寄存器(CLKMD)进行编程,可以:(1)提供各种时钟乘法器系数(2)控制PLL的通和断(3)控制时钟发生器的工作方式(4)自动延迟定时,直到PLL锁定时钟发生器的工作方式:(1)PLL方式:输入时钟(CLKIN)(0.25-15)(31个系数)(2)DIV(分频器)方式:输入时钟(CLKIN2或4),C548、C5402、C5410等软件配置PLL的方法对时钟方式寄存器(CLKMD)编程:,PLL:锁相环,4)、主机接口控制和控制寄存器HPIC:HPI寄存器的控制:主机和C54x之间有两条控制线HCNTL0和HCNTL1可以控制主机对HPI寄存器的访问。,重要!,6)、主机读/写HPI的过程:一个完整的HPI通信过程分为三个步骤:写HPIC,设置HPI控制参数;写HPIA,指明HPI要访问的DSP内部存储器地址;通过访问HPID来实现访问DSP内部存储器。,如果不需要改变HPI的控制参数的话,只需在第一次设置HPIC就可以了,以后的工作就可以交给主机负责。当HCNTL选择自增模式时,每次访问HPID后,HPIA中的地址都会自动加1;下一次访问HPID之前,无需访问HPIA,提高了通信速度,特别适用于访问大片连续地址的单元。,重要!,子地址寄存器的寻址原理:,只要把一个寄存器的子地址写到SPSA中,多路开关就把该寄存器与SPSD寄存器接通,这时只要访问SPSD就等于访问该寄存器。例如:如果把0000H写到SPSA0中(x=0),那么我们向0039H存储单元写入数据,就将数据直接写到SPCR10(x=0)中了。,例如:将McBSP0的控制寄存器清0SPSA0.set38h;定义McBSP0子地址寄存器SPSD0.set39h;定义McBSP0子地址数据寄存器SPCR10.set00h;定义SPCR10的子地址SPCR20.set01h;定义SPCR20的子地址STMSPCR10,SPSA0;将SPCR10的子地址写入SPSA0STM#0h,SPSD0;将0写入SPCR10STMSPCR20,SPSA0;将SPCR20的子地址写入SPSA0STM#0h,SPSD0;将0写入SPCR20,.set伪指令,给符号赋整数值.equ伪指令,给符号赋值,不能重复定义,例2.9-1不带自动增量的数据寄存器子地址寻址:对DMA通道5的5个现场控制寄存器进行初始化(源地址寄存器内容1000H,目的地址寄存器内容2000H,单元计数器内容0010H,同步选择和帧计数器内容0020H,传送方式控制寄存器内容0000H)。,3、DMSDI和DMSDN的区别,例2.9-2带自动增量的寄存器子地址寻址:对DMA通道5的5个现场控制寄存器进行初始化(源地址寄存器内容1000H,目的地址寄存器内容2000H,单元计数器内容0010H,同步选择和帧计数器内容0020H,传送方式控制寄存器内容0000H)。,3、DMA自动初始化,如果DMA传送方式寄存器(DMMCRn)的AUTOINIT=1,在DMA完成一块数据传输之后,除了传送方式控制寄存器以外,通道现场寄存器就会自动地进行重新初始化,以便传送下一个数据块。自动初始化的好处是可以避免CPU对块传送完毕后的干预。自动初始化期间,通道的下列现场寄存器都要被修改:用全局源地址重新加载寄存器(DMGSA)中的16位源地址加载源地址寄存器(DMSRCn)。用全局目的地址重新加载寄存器(DMGDA)中的16位目的地址加载目的地址寄存器(DMDSTn)。用全局单元计数重新加载寄存器(DMGCR)中的16位无符号的单元计数值加载单元计数寄存器(DMCTRn)。用全局帧计数重新加载寄存器(DMGFR)中的8位无符号帧计数值加载同步选择和帧计数寄存器(DMSFCn)的低8位,此时DMGFR的高8位是保留位总是读成0。,例2.9-3:C54xDMA控制寄存器在汇编程序中的定义:,六、DMA编程举例,例2.9-5:程序存储器到数据存储器的DMA数据传送:使用子地址选通寄存器带自动递增(DMSDI),会使程序简单。,例2.9-6:ABU方式下的McBSP数据传送:ABU(非递减)传送方式;源地址McBSP0数据接收寄存器DRR1_0;目的地址3000h-30FFh;缓冲区长度100h个单字;同步事件是McBSP0接收事件;使用DMA通道1。,如果存储器读操作后紧跟一次存储器写操作,或存储器写操作后紧跟一次存储器读操作,那么存储器读操作就要多花半个周期。,当同时有多个中断出现时,将按照优先级的高低进行处理,按优先级可以将中断分为两类:第一类:可屏蔽中断。可以用软件屏蔽或开放的硬件和软件中断,C54x最多可支持16个用户可屏蔽中断,每种C54x器件仅使用这16个中断中的一个子集(如VC5402有14个)。当所有的可屏蔽中断请求时,优先级可以分为16级。第二类:非屏蔽中断。这类中断是不可屏蔽的。C54x对这类中断总是响应的,并从主程序转移到中断服务程序。C54x的非屏蔽中断包括所有的软件中断以及两个外部硬件中断:/RS和/NMI,优先级最高。软件中断不分优先级,立即执行。,可屏蔽与非屏蔽中断:,软件中断的执行:INTRK:使PC指向由K确定的中断向量地址,可使程序执行任意的中断服务程序。不管INTM为何值。TRAPK:使PC指向由K确定的中断向量地址,可使程序执行任意的中断服务程序。不管INTM为何值。INTR和TRAP指令的区别在于当执行“INTRK”时,ST1的INTM自动设为1,关断所有的中断。而执行“TRAPK”不影响INTM位。另外注意RESET指令与/RS的区别是RESET指令不影响PMST寄存器;不采集MP/MC引脚;不修改IPTR。,2、C54xDSP中断向量地址的计算,TMS320C54X中,中断向量地址由PMST寄存器中的9位中断向量地址指针IPTR和左移2位后的中断向量序号(中断号)K(中断向量序号031,左移两位后变成7位)所组成。IPTR(高9位)K2(低7位)例如:INT0的中断向量序号为16(10h),左移2位后变成40h。如果PMST寄存器的IPTR=001h,那么中断向量的地址就是00C0h。,31(10)=1F(16)=11111(2),立即寻址就是由指令提供一个操作数(立即数)。立即寻址的指令有短立即数和长立即数两种:(1)短立即数寻址(3,5,8,9位的立即数),单字指令。(2)长立即数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论