您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第五章(3) TMS320C5x芯片的外部接口
外部接口(续1)外部接口包括:系统复位系统控制接口两个串行通讯接口数据、地址总线接口外部中断接口外部DMA控制接口通用I/O定时器输出HPI接口(C542)外部总线接口介绍外部总线操作、存储器控制和I/O通道。TMS320C54DSP的外部总线操作包括软件等待、块切换逻辑和保持逻辑。外部总线外部总线控制Holdmode外部存储器存储空间外部总线外部总线接口包括数据总线、地址总线和一些对外部存储器和I/O口控制信号线。MSTRB信号控制存储器(程序或数据),IOSTARB信号控制I/O口;R/W信号控制数据方向。READY信号和软件等待状态发生器允许处理器与不同速度存储器和I/O设备连接。当与速度慢的外部设备连接时,CPU等待外部设备的准备就绪信号(READY)后才继续执行。在一般情况下,等待状态只需要在两个不同的存储设备之间切换时插入,在这种情况下,可编程的块切换逻辑单元将自动插入一个等待状态。在保持模式下,允许一个外部设备控制C54xDSP的外部数据总线,使用它的外部程序、数据和I/O空间。有两种类型的保持模式:正常模式和DMA模式。当CPU指向内部存储器时,数据总线被自动置为高阻态。但地址总线和存储器选择信号(PS,DS,IS)仍保持原状态。MSTRB,IOSTRB,R/W,IAQ,和MSC信号保持激活状态。当PMST中的AVIS(addressvisibilitymodebit)置1时,内部的程序地址指向外部总线,并且IAQ为激活状态。当CPU指向外部的数据或I/O空间时,外部的地址线被清0。当CPU指向内部存储器且AVIS置1时,外部的地址线也被清0。外部总线控制(ExternalBusControl)C54的外部总线是由两个单元控制:等待状态发生器(wait-stategenerator)和块切换逻辑(bank-switchinglogic)。对这两个单元的控制是通过两个寄存器软件等待寄存器(softwarewait-stateregister—SWWSR)和块切换控制寄存器(bank-switchingcontrolregister—BSCR)实现。等待状态发生器(Wait-StateGenerator)块切换逻辑Bank-SwitchingLogic等待状态发生器软件可编程的等待状态发生器可以扩展外部的总线周期到7个机器周期,可以方便的支持C54xDSP与速度较慢的外部设备连接。如果等待时间大于7个机器周期,可以使用硬件的READY连线。如果全部外部设备都是零等待配置,连接到等待状态发生器的内部时钟将关闭。关闭这些时钟可以降低设备的功耗。软件可编程的等待状态发生器是由16-bit的软件等待寄存器(SWWSR)控制的,内存映射地址在数据空间的0028H。程序和数据空间是各自的两个32K-word块组成,I/O空间是由1个64K-word块组成,每个块在SWWSR中对应3bit的位置软件等待状态寄存器:等待状态发生器和外部程序空间的连接工作方式图:等待状态发生器和外部程序空间的工作方式:当CPU收到一个外部程序空间地址时,由译码器对地址译码,根据译码结果将寄存器SWWSR中对应的数值装入计数器,如果数值不为零,发送一个等待信号到CPU,等待状态计数器开始工作;当计数器为减为0时,并且外部的准备就绪信号(READY)为高平时,等待信号(WAIT)变为高电平,等待结束。在系统复位后,SWWSR中的数据位全部置1,(SWWSR=7FFFh),对外部总线的等待周期设置为最大。这个特点保证系统初始化时,CPU能与外部存储器以较慢的速度进行通讯。块切换逻辑可编程的块切换逻辑允许C54XDSP在存储器块之间切换而不需要额外的等待周期。可编程的块切换逻辑在内部的程序或数据空间跨越存储器块边界时,自动插入一个等待周期。块切换是通过块切换控制寄存器(BSCR)定义的,内存映射地址是0029H。块切换控制寄存器(BSCR)BNKCMP、比较的位与块尺寸的关系.外部总线关闭时(EXIO=1)各个端口的状态:块切换逻辑EXIO和BH位是对外部地址和程序总线的控制位,在正常操作模式下设置为0(正常读写状态)。如果不使用外部总线,为了降低系统的功耗,应将EXIO和BH设置为1。当EXIO置1时,对外部总线的操作将失效。如写状态寄存器ST1的HM位,或写PMST中的OVLY位等。C54DSP有一个内部寄存器保存最后一次操作(读或写)的MSBs,如果当前的地址高位与其不符,则选通信号MSTRB保持一个时钟周期的无效状态,即插入一个时钟周期,同时更新此内部寄存器。如果在一个块内重复操作,则不插入额外的等待周期。当BNKCMP全清0时,将不进行地址比较和插入额外的等待周期的操作。以下情况DSP将自动插入一个额外的机器周期:_块之间操作。_PS-DS置1。下图表明了在存储器块切换时插入了等待周期:下图在程序读操作和数据读操作之间插入了额外的等待周期:HoldMode信号HOLD和HOLDA允许外部设备控制处理器的总线。HOLDA信号变为低电平时,处理器认可HOLD方式。当C54XDSP进入hold模式,它的外部地址总线、数据总线和控制信号线变为高阻态。HOLD模式(HM)的状态位在ST1寄存器当HM=1,C54XDSP处于正常的操作模式。HoldMode当HM=0,如果处理器没有执行外部部存储器操作,就进入HOLD模式。进入HOLD模式后,处理器内部的操作将继续执行,而外部设备对外部总线的操作也可以执行。系统操作具有最大的灵活性。进入HOLD模式后,如果程序需要对外部总线进行操作,进程就被中止。只有当HOLD信号变为无效后,处理器才可以获得对外部总线的控制权,继续执行程序。外部存储器ROMRAM存储器产品与DSP的接口举例1:程序存储器以Winbond公司的W49F102(64K×16bitCOMSflashmemory)为例:特点:高速COMS工艺制造,速度40/45ns(MAX)+5V供电电压保存时间:不少于10年全静态操作(不需要刷新时钟)硬件数据保护输入、输出与TTL电平兼容W49F102引脚图:TMS320C541W49F012CEOEWR地址总线数据总线R/WMSTRB逻辑控制PSA0-A15D0-D15A0-A15DQ0-DQ15程序储存器与DSP芯片的连接存储器产品与DSP的接口举例2:数据存储器:以Winbond公司的W26010A(64K16High-speedCOMSstaticRAM)为例:特点:高速COMS工艺制造,速度15/20/25ns+5V供电电压全静态操作(不许要刷新时钟)输入、输出与TTL电平兼容三态输出数据输出:LB(I/O1-I/O8),UB(I/O9-I/O16)W49F102器件引脚图:W49F102器件引脚图TMS320C541W26010ACSUBWR地址总线数据总线R/WMSTRB逻辑控制DSLBOE程序储存器与DSP芯片的连接::存储空间C54DSP是由三个独立空间组成:程序空间数据空间I/O空间处理器状态寄存器的三个数据位控制着存储器的配置:MP/MC、OVLY、DROM位于处理器状态寄存器(processormodestatusregister—PMST)中。C541存储器映射图:存储空间程序存储器数据存储器I/O空间程序存储器:程序储存器的最大地址空间为64K。片内的ROM、DARAM、SARAM都可以通过软件映射到程序空间。这些片内储存器映射到程序空间后,程序地址发生器(programaddressgenerationunit)将程序地址总线连接到这些存储器的地址线上。程序储存器的配置MP/MC和OVLY位表示使用了哪些片内的程序存储器。系统复位,MP/MC管脚的当前状态逻辑电平写入PMST寄存器的MP/MC位,指示处理器是否使用片内ROM。MP/MC=1,器件定义为微处理器模式,屏蔽了片内的ROM;MP/MC=0,器件定义为微机模式,片内ROM有效。MP/MC管脚只有在系统复位时是有效的。可以通过软件设置PMST寄存器中的MP/MC位,屏蔽或使能片内ROM。片内ROM的结构:片内的ROM是按照块结构组织的,这样可以提高程序的执行效率。例如,程序可以在一个ROM块中取指令的同时,还可以同时读取另外一个ROM块中的数据。不同器件的块结构是不同的,一般的块分为2K、4K、8K。对于2K-ROM的芯片,块结构为2K;对于4K-ROM和28K-ROM的器件,一般块结构为4K;对于16K-ROM和48K-ROM的器件,一般块结构为8K。数据存储器:C54的数据储存器最大为64K×16-bit;数据储存器包括片内(on-chip)储存器和片外(off-chip)储存器。部分的C54X的DSP片内的ROM可以通过软件设置PMST寄存器中的DROM位映射到数据区。为了提高程序的执行效率,片内的RAM被划分为多个块。例如,你可以在一个周期内执行两个数据的读操作和一个数据的写操作。下图为C541片内RAM的块结构,5K的片内RAM分为5个块,每个块为1K。I/O空间C54的DSP处理器提供了64K的外部I/O空间,地址为(0000h–FFFFh)。两条指令PORTR和PORTW是可以执行I/O空间的数据读写。I/O空间主要用于外部的人机接口界面,如键盘输入,指示灯输出等,也可以用于程序或数据地址的扩展。思考题:利用I/O空间进行人机接口的设计:用TMS320C541的I/O空间,设计一组16个键盘输入,和对应键的指示灯输出,画出电路框图(或原理图)。系统中断:中断可以由硬件驱动产生,也可以由软件产生。中断信号使DSP处理器暂停主程序的执行,转向中断服务程序。C54xDSP支持硬件中断和软件中断:软件中断必须在执行的程序中说明(INTR、TRAP、RESET)硬件中断由外部或内部的硬件输入端口上的信号触发。当多个硬件中断被同时触发时,处理器按照中断的优先级别,首先响应高优先级的中断。中断优先级别表:中断分类:所有C54xDSP的中断分两类:可屏蔽中断(maskableinterrupts)非屏蔽中断:(Nonmaskableinterrupts—NMI)可屏蔽中断:DSP支持16个用户可屏蔽中断(SINT15–SINT0)。对于不同型号的DSP,只可能用到16个中断中的一部分。C541使用了其中的9个中断:INT3到INT0RINT0、XINT0、RINT1、和XINT1(串口中断)TINT(定时器中断)非屏蔽中断:C54xDSP任何时候都响应这种类型的中断并执行中断服务程序C54xDSP非屏蔽中断包括所有的软件中断和两个外部的硬件中断RS(reset)和NMI。(RS和NMI也可以通过软件控制)RS是系统复位中断,可以影响全部C54xDSP操作模式的非屏蔽中断,将处理器预置到一个已知状态。NMI一般用于系统严重错误时,向CPU发出告警。如电源系统告警等。中断寄存器中断标记寄存器(InterruptFlagRegister—IFR)中断屏蔽寄存器(InterruptMaskRegister—IMR)中断标记寄存器:IFR清楚表明每个中断源的当前状态。如果中断位被设置为1,表明发生了相应位的中断。中断屏蔽寄存器:如果在ST1中的INTM=0,将IMR中需要开放的中断对应位设置为1。C54xDSP的中断响应C54xDSP的中断响应分为三个阶段:接收中断请求:暂停主程序的执行,准备响应中断信号。当中断请求发生时,IFR中相应的中断标记位被激活。中断标记位应保持到处理器响应中断。中断标记在中断响应后自动清除。中断响应:CPU接收到中断请求后,必须决定是否响应中断请求。对于非屏蔽硬件中断和全部软件中断,CPU会立即响应中断。对于可屏蔽中断,必须满足预先规定的中断条件,中断响应才被承认有效:CPU响应中
本文标题:第五章(3) TMS320C5x芯片的外部接口
链接地址:https://www.777doc.com/doc-3827214 .html