版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章DSP最小系统的设计与
程序引导
8.1TI公司DSP主要外围器件选择8.2基于TMS320VC33的DSP最小系统设计8.3DSP与外围存储器的接口
8.43.3 V和5 V混合逻辑系统设计
8.5程序引导功能的实现
本章小结思考题与习题
8.1TI公司DSP主要外围器件选择
TI公司的外围器件与TI公司的DSP结合使用有很大的好处,其外围器件可以和DSP进行无缝连接。器件与器件之间不需要任何的连接或转换器件。这样既可以减少PCB的尺寸,也降低了系统的开发难度。由于它们同为TI公司的产品,很多器件可以固定搭配使用,减少了器件选型的烦恼。TI公司在CC开发环境中提高了插件使用功能,可以用于外围器件的开发,非常方便。
DSP系统构成的常用芯片有如下几种:
(1) 电源:TPS73HD3xx,TPS7333,TPS56100,PT64xx,…
(2) FLASH:AM29F400,AM29LV400,SST39VF400,…
(3) SRAM:CY7C1021,CY7C1009,CY7C1049,…
(4) FIFO:CY7C425,CY7C42x5,…
(5) Dualport:CY7C136,CY7C133,CY7C1342,…
(6) SDRAM:HY57V651620BTC,…
(7) PCI:PCI2040,CY7C09449,…
(8) USB:AN21xx,CY7C68xx,…
(9) A/D,D/A:ADS7805,TLV2543,…
DSP的速度较快,要求译码的速度也必须快。同时,DSP系统中也经常需要外部快速器件的配合,这部分的功能多用可编程器件实现。我们知道FPGA/CPLD的时序严格,速度较快,可编程性好,易于产品升级,非常适合于实现译码和专门电路。因此在DSP系统中多用FPGA/CPLD。对于C3x系列的DSP只能同异步的存储器直接相连。VC33DSP的最高速度为75 兆次/秒。为了保证DSP无等待运行,需要外部存储器的存取时间小于12 ns。可参考使用以下存储器:
ROM:AM29LV400-55(SST39VF400)256K × 16,55 ns,3.3 V供电,加入3个等待状态;
SRAM:CY7C1021V33-1564K × 16,15 ns,3.3 V;
CY7C1009V33-15128K × 16,15 ns,3.3 V;
CY7C1041V33-15256K × 16,15 ns,3.3 V。8.2基于TMS320VC33的DSP最小系统设计8.2.1电源设计为了获得更好的电源性能,TMS320VC33芯片采用了双电源供电机制,即I/O电源(DVDD)3.3 V和内核电源(CVDD)1.8 V,其中I/O电源可以实现直接与外部低电压器件接口,而内核电源主要为CPU和其他外设逻辑提供电压。TMS320VC33采用这样的电压配置方案,与TMS320C31相比,功耗降低了约一个数量级,进一步提高了系统的稳定性。由于采用了双电源,在设计时就需要考虑加电顺序的问题,理想情况下,DSP芯片上的两个电源同时加电。DVDD的最大电压不允许超过4 V,而CVDD不允许超过2.4 V,否则芯片就会被损坏。在大部分数字系统中提供给器件的电压主要有3.3 V和5 V,下面讨论这两种情况下的芯片供电机制。如图8.1所示,从5 V生成工作电压,在这种设计中主要通过两个电压调节器产生3.3 V和1.8 V的电压。在图8.2中,DVDD直接使用外部提供的3.3 V电压,只需要通过一个电压调节器产生1.8 V的CVDD电压。图8.1从5 V产生双电源图8.2从3.3 V产生双电源目前芯片制造商已经提供了多种类型的电源芯片来支持DSP电源设计。例如对于单3.3 V电压的输出可以选用TI公司的TPS7133、7233或者MAXIM公司的Max604,另外还可以利用TI公司的TPS7101获得1.2~9.75 V可以调节的电压,或通过TPS73HD318芯片可以直接输出TMS320VC33芯片所需要的3.3 V和1.8 V两路电压。8.2.2复位信号的产生
DSP在上电瞬间,TMS320VC33处理器的状态是不确定的,无法进行数字信号处理运算。因此,TMS320VC33支持一个非屏蔽的外部复位信号(),以将处理器置入一个已知的状态。TMS320VC33的复位是通过在引脚上置10个H1周期以后的低电平来实现的。一旦加上了一个合适的复位脉冲处理器,将执行以下的操作:
(1)外设复位;
(2)将CPU寄存器装载0值;
(3)从零单元提取复位的量,它包含了系统的初始化程序的地址;
(4)执行初始化程序。初始化程序在硬件复位时执行如下功能:
(1)允许所有中断;
(2)禁止溢出方式;
(3)将数据存储器页指针置为零;
(4)将内部存储器填充为零。另外,还有一种复位方式为手动复位。这种复位的结果是DSP系统停止在运行的程序,并执行与上电复位相同的操作。上面已经提到,为了使系统被复位信号正确地初始化,复位信号的脉冲宽度必须至少为10个H1周期以上。如果DSP芯片为TMS320VC33,工作在55 MHz,则=0的时间至少为360 ns。不过上电之后,系统的振荡器达到稳定工作状态需要20 ms,甚至更长的时间。一般来说,上电复位时,在复位引脚上置100~200 ms的一个低电平脉冲是比较合适的。实现DSP的复位功能常用以下三种方案。
1.方案1如图8.3所示,复位引脚的电压由R1和C1网络控制。由
U=VCC[I-e-cosC3]
t=R3C1ln[1-U/VCC]取
R2=100kW,C1=4.7mF,VCC=5V当U=1.5V时,t=167ms。工作原理分析如下:电源上电之后,通过R1给C1充电,C1的电压缓慢上升。在C1上的电压超过复位引脚的低电平上限之前,处于低电平,TMS320VC33被复位。当电源断开或降到0 V时,二极管可快速将下拉至低电平。按动开关S,则C1上的电荷将被快速释放,并重新进行复位。但复位电路正常工作的前提是:假设电源电压的上升速度相对于RC时间常数足够快,复位信号能够保证TMS320VC33在重新开启之前恢复到稳定状态,使系统不受电压跌落的影响。但是,当电源电压上升非常缓慢或电源上存在噪声时,如果此时电源电压恰好处于复位极限附近,复位电路将被反复触发翻转,产生振荡信号提供给微处理器,使其无法正常工作。为了克服这一情况,一般在原有的复位电路上引入滞回电压比较器或反相器电路,如图8.4所示,其中74AS14的使用是为了引入滞回电压,用两个74AS14是为了保持电平一致。图8.3TMS320VC33的复位电路图8.4TMS320VC33改进后的复位电路
2.方案2采用MAXIM等公司的集成微处理器监控复位电路来完成。与上述传统的mP监控复位电路比起来,集成功能监控复位电路不用引入额外的滞回电压。当电源电压达到检测极限时,让复位信号保持一固定的延迟。如果遇到上述的问题,这一延迟将不断地被触发,直到电源电压高于复位极限并保持大于设定的延迟时,复位脉冲才恢复到高电平,因而避免了振荡。与传统的mP监控复位电路比起来,集成mP监控复位电路有可靠性高、动态响应好(如电源出现瞬时跌落时,传统方案由于动态响应慢而无法产生符合要求的复位脉冲)、功耗小、设计简单、体积小等优点。
MAX705/706/813L、MAX707/708系列微机监控电路减少了用于监控微机系统的电源与监控电路的电路元件和复杂性,并完成复位功能的复位。与由分立RC组成的微机监控电路相比,MAX705/706/813L、MAX707/708大大提高了可靠性和精确度。
MAX705/706/813L、MAX707/708系列mP微机监控芯片能实现以下四个功能:
(1)在电路上电、掉电及异常时产生一个长达200 ms的复位信号;
(2)有一个独立的看门狗,当1.6 s以上没触发看门狗输入时,看门狗输出变低;
(3)有一个1.25 V的电压门槛检测器,用于掉电报警、电池欠压检测或监控高于+5V的电压;
(4)一个低电平有效的手动复位输入,用于实现手动复位功能。利用MAX705/706/813L、MAX707/708系列mP微机监控芯片实现TMS320VC33最简单的上电复位功能的电路如图8.5所示,它具有手动复位、上电复位及掉电复位的功能。图8.5使用MAX705复位TMS320VC33简单电路
(1)如果是上电复位的情况,则为VCC>1.0 V时,开始输出小于0.4 V的低电平复位信号。当VCC电压高于复位门槛时,保持低电平200 ms之后,变为高电平;如果VCC处于1.0 V到复位门槛之间,将一直保持低电平。
(2)如果还为低电平,VCC从高于复位门槛降到低于复位门槛时,将继续保持低电平至少140 ms。
(3)如果处于掉电状态,则从VCC电压低于复位门槛开始到VCC低于1.0 V期间,都处于低电平,VCC低于1.0 V时复位状态将不能正常工作。
(4)手动复位时,如果将置低,也将导致输出低电平。手动复位将产生至少140 ms的低电平复位脉冲。
3.方案3利用电源芯片本身带的复位信号进行复位。TI公司的芯片TPS73HD318除了实现5 V到3.3 V的转换,同时还可给DSP提供上电复位信号,如图8.6所示。图8.6电源芯片给DSP提供复位信号8.2.3时钟电路设计在设计中,时钟往往不被人们充分重视。其实,时钟是电路设计中非常重要的一个环节。TMS320VC33的时钟,既可由外部提供,亦可由板上的振荡器来提供,使用板上振荡器是方便的。但一般DSP系统中经常使用外部时钟输入,因为外部时钟的精确度高、稳定性好、使用方便,其接法和几种常用的引脚如图8.7所示。图8.7外部时钟连接图和外部时钟引脚当使用外部时钟时,外部时钟的质量就非常重要。时钟一般是由晶振产生的。DSP对时钟的主要要求是:能持续稳定地输出没有毛刺的时钟。由于DSP及其它芯片工作都是以时钟为基准的,如果时钟质量不高,那么系统的可靠性、稳定性就很难保证。比如有时系统死机便是由于晶振在上电工作一段时间后停振或振荡不正常而造成的。有时一些片选及时序的不正常工作也是由时钟信号的毛刺造成的(尤其是在高频系统中)。正是由于这些原因,应该非常重视晶振的质量。虽然一般情况下晶振工作还是比较可靠的,也要对晶振的稳定性、毛刺及带负载能力做全面的检验,以便系统可靠地工作。特别注意的是:在实际应用过程中,有时DSP工作不正常,检查发现时钟的工作不稳定。但是检测外部时钟输出频率是稳定的,而H1的时钟周期是不稳定的。我们为了通过外部较低频率时钟,达到DSP在高频率工作的情况,常常使DSP工作在5倍频模式。但是检测时钟,有时出现外部时钟的1倍频,有时出现外部时钟的3倍频,最后检查发现这是由于复位信号所致。复位信号在上一节已经提到,它必须持续100~200 ms的低电平,等待着振荡器工作稳定。因此采取的办法是在引脚上增加一个电容,延迟变为高电平的时间,使DSP完全复位。
8.2.4等待对高速的DSP而言,它的读操作从地址稳定到数据有效仅需几十纳秒左右的时间,而DSP外设的速度则参差不齐。为了解决高速DSP与低速外设在速度上的冲突,在高速的DSP与存储器等外设的接口之间,等待状态的设计是一个关键的问题。在TMS320C3x系列DSP中有信号线用以协调这一矛盾,其它系列的DSP也有相应的信号线用以解决这一问题。
DSP芯片中等待状态的使用大大地增加了系统的灵活性,降低了外设系统的成本。TMS320C3x系列DSP芯片具有在外部总线上产生等待状态的能力。其等待状态的产生是通过控制就绪信号来实现的。如果系统未就绪,则使外部总线处于等待状态;如果系统就绪,则解除外部总线的等待状态。对于片内等待状态的产生参见第2章的总线一节内容。下面主要介绍外部等待就绪信号的产生方法。一般来说,等待电路的设计分为三步,即:
(1)片选,即为外设分配地址空间;
(2)给各个外设(各段地址空间)分配合适的等待时间,以H1/H3为单位;
(3)对所有分开的就绪定时作逻辑或并连接实际的就绪输入产生外部就绪信号。对于片选,一般情况下是可以按照片选占的地址空间来进行的,如27C512的EPROM地址空间FFFFh。假如把DSP的地址空间500000h~80FFFFh的地址分配给EPROM,则EPROM的片选为:。由于EPROM为慢速器件,这种片选是可以接受的。同样,如果要把这段地址给相同容量的零等待的SRAM,仍然采用上述方式肯定是不行的,因为这至少需要两级门,延时将超过TMS320VC33寻址后的就绪延迟时间。因而不仅要采用速度更快的门,更重要的是要采用更为简洁的片选方式。例如,可以使=并将0x800000h~0xFFFFFFh这段地址均分配给片外SRAM。这样就充分保证了时序的要求。显然这样的处理方式要浪费一部分地址空间。一般在高速外设不是很多的情况下,这种做法是可以接受的。同样,如果要把这段地址给相同容量的零等待的SRAM,仍然采用上述方式肯定是不行的,因为这至少需要两级门,延时将超过TMS320VC33寻址后的就绪延迟时间。因而不仅要采用速度更快的门,更重要的是要采用更为简洁的片选方式。例如,可以使=并将0x800000h~0xFFFFFFh这段地址均分配给片外SRAM。这样就充分保证了时序的要求。显然这样的处理方式要浪费一部分地址空间。一般在高速外设不是很多的情况下,这种做法是可以接受的。对于外部设置指令合适的等待时间,主要要看外设的速度。DSP工作频率越高,外设的速度越慢,加入的等待状态越多。简单的方案可以利用触发器触发延迟,如果大于8个等待状态,需要在片外扩展计数器来实现。如果兼顾多层次的用户和各种各样的应用场合,则可以采用可编程的逻辑器件,如FPGA、CPLD等。8.2.5JTAG仿真接口
DSP的实时在线仿真器是一个扩展的开发系统,它具有全速仿真所需的全部特点。TMS320VC33包含一个专门仿真口来支持由IEEE1149.1标准规范的JTAG仿真,该端口可以通过仿真器直接访问,这种设计极大地方便了TMS320VC33仿真软件的调试。为了能与仿真器进行通信,所设计的目标板上应该有14脚JTAG仿真头。14脚JTAG仿真头的信号及引脚位置如图8.8所示,其中第6脚空缺是为了确保仿真头的方向正确。图8.814针JTAG仿真头图中主要信号说明如下:
EMU0:仿真管脚0;EMU1:仿真管脚1;TMS:测试模式选择;TDI:测试数据输入;TCK:测试时钟信号;:测试复位;TCK-RET:测试信号的返回,用于保证目标系统与测试时钟信号同步;PD:检测信号,检测电缆是否已连接以及目标系统是否已加电,在目标系统中PD电压应固定为+5 V。为了保证目标系统中的TMS320VC33处理器与仿真器之间传输高质量的信号,在一些情况下,需要根据仿真插头与目标系统间的距离对传输信号进行缓冲。当仿真头和JTAG目标芯片之间的距离小于6英寸时,信号不需要进行缓冲,但是EMU0和EMU1信号必须通过上拉电阻连接到电源上,用以提供少于10 μs的信号上升时间,上拉电阻R1和R2可取4.7 kΩ。TMS320VC33与仿真器在无信号缓冲时的连接如图8.9所示。图8.9TMS320VC33与仿真器在无信号缓冲时的连接当二者的距离超过6英寸时,仿真信号TMS、TDI、TDO和TCK-RET要加缓冲,同时引脚EMU0、EMU1、TMS、TDI应该加上拉电阻连接到电源上,以保证仿真信号传输的需要。8.3DSP与外围存储器的接口8.3.1存储器的发展现状存储器是DSP系统中最主要的部件之一。从使用功能的角度,存储器可分为断电后数据会丢失的易失性存储器,断电后数据不会丢失的非易失性存储器。在传统的概念上,前者叫做RAM,包括SRAM(静态RAM)和DRAM(动态RAM);后者叫做ROM,这种存储器只能脱机写入,使用时只能读不能写。可擦除ROM的发展大概经历了紫外线可擦除(EPROM)、电可擦除(EEPROM)和可快速擦写闪存(FlashMemory)三个阶段。目前,EPROM和EEPROM的发展已趋于平缓,ROM的发展主要集中在FlashMemory上。市场上的FlashMemory竞争非常激烈,其中Intel、AMD、ATMEL占据了最大的市场份额。从性能上来看,目前FlashMemory的发展水平至少已经达到了256 MB的容量,100万次的可重写编程寿命,60 ns以下的访问速度,现在仍在向大容量、快速访问方向发展,而且随着CPU的工作电压的下降,它的工作电压也在不断下降。FlashMemory一般仅需单电源。考虑到DSP中的应用,将介绍EEPROM中的X28C512/X28513、FlashMemory中的AT29LV1024,并设计它们与DSP的接口。
RAM包括SRAM和DRAM,SRAM是基于触发器原理的,读写速度快,但集成度低、成本高、功耗大。由于DSP系统中的高速要求,SRAM在DSP系统中得到广泛应用。为了适用计算机大容量、高速度的要求,目前RAM的发展主要集中在DRAM上。
DRAM基于分布电容电荷存储原理,有集成度高、成本低、功耗低等优点。由于DRAM的电容特性,需要定时对其进行刷新,这就造成了DRAM读写速度慢的缺点。因此,目前发展的DRAM的途径一般把注意力集中在存储器芯片的片外附加逻辑上,试图在片外组织连续的数据流来提高单位时间内的数据流量,增加存储器的带宽。
TI公司提出了一种新型的高速同步动态RAM的解决方案,能在降低成本的同时提高性能。这种RAM被称为SDRAM(SynchronousDRAM),它的访问速度可达到10 ns。所谓同步RAM,是一种与内存总线同步运行的DRAM,其拥有一个高速的时钟连接口,SDRAM在非常快的突发方式下传递信息。由于SDRAM在性能价格比上的优势,SDRAM已经是目前计算机的主流内存。目前还推出了一种叫SBSRAM的产品,它的访问速度更快。
SRAM、SDRAM、SBSRAM在DSP系统中会有广泛的应用。而SRAM仍然是目前DSP系统中应用最多的RAM。SDRAM和SBSRAM这一类大容量、高速度的内存是今后DSP系统内存的主要发展方向。8.3.2EPROM和DSP的接口
X28C512/513是Xicor公司的一种采用CMOS工艺制成的64 KB的电可擦除、可编程的存储器。该芯片的引脚图和引脚说明如图8.10所示。图8.10X27C512/513的引脚图及引脚说明在系统的逻辑电路中要为不同的EEPROM选择不同的等待状态。这里需要注意的是,若DSP选择的是低功耗的TMS320VC33芯片,就不能直接与X27C512/513相连接,必须对数据总线进行电平转换以满足电平接口。同时CPU若为3.3 V接口的TMS320VC33,则数据总线必须进行电平转换,才能使二者接口。这是因为TMS320VC33芯片的I/O口耐压最高为4伏,若直接与 +5 V供电的器件连接,会导致DSP芯片的烧坏,如图8.11所示。图8.11X27C512/513与DSP之间的接口8.3.3FLASH、RAM与DSP的接口
AT29LV1024芯片是ATMEL公司生产的容量为64K×16位、可支持3 V在系统编程的Flash存储器。AT29LV1024将存储空间分成512个独立的扇区,每个扇区有128 B,其中A7~A15用来确定扇区地址,A0~A6用来选择字节地址,每个扇区的编程操作最长需要20 ms。AT29LV1024在编程之前,会自动擦除片内对应扇区的数据,因而不需要额外的擦除命令。
AT29LV1024有三根逻辑控制线:、、,其作用如表8.1所示。在读模式下,AT29LV2024的读时钟时序与典型的存储器读时序类似(即和的逻辑电平为低电平,的逻辑电平为高电平);在编程模式下,AT29LV2024的读时钟时序与典型的存储器读时序兼容(即和的逻辑电平为低电平,的逻辑电平为高电平)。表8.1AT29LV1024的控制逻辑信号入缓冲器的字节数不足128 B,则编程时自动将未写入的字节擦除为0xFFFFh。一旦某一扇区中的字节被装入,这些字节将同时在内部编程时间进行编程,此时如果有数据被装入,则会产生不确定的数据。每一个新装载的数据若要被编程,则必须有由高到低的跳变。这一跳变需要在150 μs内完成,如果超过150 μs,器件会自动进入扇区内部编程方式。为了防止意外的编程操作,AT29LV1024提供了软件保护编程的功能,即在对Flash的每个扇区进行编程时,必须先将3个命令字正确地写入到对应的地址单元,然后才能向片内编写程序。在对每一个扇区编程之前,都要执行相同的三字节指令序列。除软件保护外,AT29LV1024还提供了硬件保护,一般当芯片VCC的电压低于1.8 V时,芯片的编程操作将被迫停止,另外,还可以直接控制、和引脚,通过引脚置低电平,或引脚置高电平来结束对芯片的编程。而器件IS61LV256是ICSI公司采用先进的CMOS技术生产的高速16位静态RAM,工作电压为3.3 V,存储空间为4 MB,使用起来简单方便,具有性能稳定、非易失性、低电压的设计特点,适用于低功耗、高性能的系统设计。关于IS61LV256芯片的引脚功能如表8.2所示。表8.2IS61LV256的引脚说明表
IS61LV256在进行读操作时,、为低电平,为高电平,此时若为高电平而为低电平,则数据线的低8位I/O0~I/O7输出;若为低电平而为高电平,则数据线的高8位I/O8~I/O15输出;若两者同时低有效,那么16位的数据全部输出。当进行写操作时,和的信号被置为低电平,此时若为高电平而为低电平,则数据线的低8位I/O0~I/O7被写入;若为低电平而为高电平,则数据线的高8位I/O8~I/O15被写入;若二者同时低有效,那么数据位全部写入。图8.12为TMS320VC33与外部存储器IS61LV256的接口设计示意图。这里DSP利用了一片地址译码器74LS138来产生数据存储器和程序存储器的片选地址,AT29LV1024作为程序存储器来扩展DSP的内部存储器,其地址总线和数据总线分别接至DSP的外部总线,与地址译码器74LS138的Y1输出相连,DSP的R/引脚与相连。用DSP的XF引脚驱动AT29LV1024的输出控制,当XF为低电平时,Flash处于读状态;反之,处于编程状态。IS61LV256芯片在这里被用来扩展DSP内存,进行数据的存储。由于IS61LV256只有16根数据线,所以采用了两片IS61LV256,分别与DSP数据线的高16位与低16位数据线接口,IS61LV25616的低8位控制、高8位控制和输出使能都接地,而地址线直接与DSP相连,片选信号和AT29LV1024类似与地址译码器74LS138的Y2输出相连,DSP通过R/信号引脚控制对IS61LV25616芯片的读写操作。因为页选通信号的开始地址是800000h,当DSP的A20、A19以及A18都为0时,Y0脚输出低电平,从而启动了16位的AT29LV1024,所以程序存储器的地址应该是800000h~80FFFFh。同样,当DSP的A20为1,A19、A18为0时,Y1脚输出低电平,启动了IS61LV25616芯片,这时的DSP地址从840000h开始,而两片IS61LV25616构成了16位的数据传输,所以数据存储器的地址应当为0840000h~087FFFFh。图8.12TMS320VC33与外部存储器的接口设计 8.3.4NVSRAM与DSP的接口
DS1251Y是一个内部带有时钟电路、存储空间为512K × 8位的静态非易失RAM,其高电平的输出电压为5V的芯片。表8.3对TMS320VC33与DS1251Y的电平转化参数作了比较。表8.3TMS320VC33与DS1251Y的电平转化参数从表中看出,TMS320VC33与DS1251Y的电平转换参数能够相互支持,因此从TMS320VC33到DS1251Y的地址线和信号线是可以直接连接的,但是TMS320VC33芯片承受不了5 V的数据电压,所以两者的数据线信号不能直接相接,需要在中间加一个缓冲器件。该器件必须既可以支持3.3 V的单电压供电,也可以承受5 V的电压。这里采用SN74LVC4245充当缓冲器件实现二者的接口。
SN74LVC4245是一个能够实现电压3.3 V到5 V转换的双向收发器,可以被当作2组8位收发器。一组的工作电压是3.3 V,另一组的工作电压是5 V,根据方向控制端DIR的逻辑电平来确定数据的发送方向。如果DIR上是低电平信号,则数据从B端传输到A端,反之,则实现数据从A端向B端的传输。当输出使能控制端为高电平时,将使器件处于无效状态,器件两端不再进行数据的通信。SN74LVC4245操作方式说明如表8.4所示。表8.4SN74LVC4245的操作方式图8.13给出了TMS320VC33与具有的DS1251Y接口示意图。DS1251Y是一个512K×8位的NVRAM芯片,在这里被用来存储数据和程序,图10.13中在TMS320VC33与DS1251Y的数据总线之间加入电平转换芯片SN74LVC4245,实现了+3.3 V和+5 V电平的转换。其中DS1251Y和电平转换芯片SN74LVC4245的、、DIR引脚由TMS320VC33控制,当DSP读取DS1251Y内部的数据和程序时,DSP置CLKX0引脚为高电平,通过驱动电路7406使DS1251Y的引脚为低电平,这时DSP的R/引脚为高电平,即DS1251Y和电平转换芯片的、DIR引脚为高电平,DS1251Y处于读状态,实现DSP对外部数据和程序的读取;当DSP向DS1251Y写数据时,DSP置CLKX0引脚为低电平,通过7406使DS1251Y的引脚为高电平,这时DSP的R/引脚为低电平,即DS1251Y和SN74LVC4245的、DIR引脚也为低电平,DS1251Y处于写状态,实现DSP对外部存储器的写数据操作。图8.13TMS320VC33与5V的NVSRAM的接口8.43.3 V和5 V混合逻辑系统设计
TMS320VC33的I/O工作电压是3.3 V,即I/O的逻辑电平是3.3 V。因此在设计DSP系统时,除了DSP芯片外,还必须涉及DSP芯片与其他外围芯片的接口,由于很多外围芯片,如EPROM、SRAM、A/D转换芯片等,它们的工作电压都是5 V,所以本节主要来讨论如何实现3.3 V的DSP芯片与5 V的供电芯片的安全接口问题。图8.14所示为5V的CMOS、5V的TTL和3V的TTL电平的转换标准。这里VOH表示输出高电平的最低电压,VIH表示输入高电平的最低电压,VIL表示输入低电平的最高电压,VOL表示输出低电平的最高电压。从图中可以看到5 V的TTL和3.3 V的TTL的转换标准是一样的,而5 V的CMOS的转换电平则是不同的,因此在进行3.3 V系统与5 V系统接口设计时必须考虑两者的不同。图8.145 V的CMOS、5 V的TTL和3.3 V的TLL电平转换标准由图8.14可知,当用5 V的TTL器件驱动3.3 V的TTL器件时,由于二者的电平标准是一样的,因此,如果3.3 V器件能够承受5V电压,就可以直接相连,如图8.15(a)所示。如果用3.3 V的TTL器件驱动5 V的TTL器件,由于两者的电平转换标准是一样的,因此不需要额外器件就可以将两者直接连接,3.3 V器件能够驱动5 V,这是因为3.3 V器件的VOH和VOL电平分别是2.4 V和0.4 V,而5 V器件的VIH和VIL电平分别是2 V和0.8 V,所以5 V器件可以将输入读为有效电平,如图8.15(b)所示。当用5 V的CMOS驱动3.3 V的TTL器件时,虽然二者的转换电平不一样,但是5 V的器件的VOH和VOL的参数要求可以满足3.3 V器件的VIH和VIL参数要求,所以承受了5 V电压的3.3 V器件能够正确识别5 V器件送来的电平值,如果采用能够承受5 V电压的LVC器件,5 V器件的输出是可以直接与3.3 V器件的输入端接口的,如图8.15(c)所示。而用3.3 V的TTL器件驱动5 V的CMOS如图8.15(d)所示,两者的电平转换标准也不相同,与上一种情况不同的是3.3 V器件输出的高电平的最低电压值是2.4 V,不能满足5 V器件输入的高电平的最低电压值为3.5 V的要求,所以3.3 V的TTL器件输出不能直接与5 V的CMOS的输入连接,这时要采用双电压供电的驱动器,一边提供3.3 V电压,一边提供5 V供电。后面的章节中将对这种情况通过实例做出详细说明。图8.153.3 V器件与5V器件的四种接口情形8.5程序引导功能的实现由于DSP芯片的运算速度很高,所以也就要求其程序存储器具有很高的访问速度以满足其取址的速度要求。一般来说,常用于程序存储的EPROM和FLASH等存储器的访问速度比RAM器件要慢,这是无法满足要求的。因此TI公司的DSP芯片上设计有引导功能,在系统开始上电工作或复位时,将程序装入具有很高访问速度的片内高速RAM运行。
TMS320VC33具有片上引导功能,可以通过处理器、存储器(EPROM和FLASH)以及串口将可执行的程序装载到系统指定的高速RAM区,然后运行程序。这个程序引导功能是通过TMS320VC33内部固化的引导程序(BootLoader)来实现的。这种方式也称为脱机运行方式。除自身代码外,BootLoader程序还需要可执行程序在程序各段前加入少量标识字以提供其运行所必需的信息。TI公司提供了一个HEX格式转换工具,将 .out格式的可执行文件转换为具有特定的格式的可写入EPROM或FLASH等存储器芯片的十六进制格式,并在文件中加入BootLoader所需的信息字节。8.5.1引导方式选择若TMS320VC33执行程序引导功能,必须保证MCBL/引脚为高电平,此时片内固化的引导程序将起作用。在引导前,首先要选择引导方式,其引导方式分为存储器引导和串行口引导两种。当MCBL/引脚为高电平时,片内的引导程序被映射到0h~FFFh的内存空间内,DSP上电复位后,通过查询~引脚的电平来确定引导方式,表8.5给出了可供选择的方式,选择的准则是~引脚的电平。图8.16给出了引导方式选择流程图,该流程也就是固化在TMS320VC33内部的程序所实现的部分功能。表8.5引导方式选择图8.16引导方式选择流程由表8.5可知,如果上电后外部中断引脚为低电平,则通过串行口来进行引导,所采用的字长只能是32位,串行口的工作方式只能是固定速率的爆发方式。图8.17给出了串行口引导的流程,传送的数据是从最高有效位(MSB)开始,到最低有效位(LSB)结束。图8.17串行口引导流程8.5.2引导程序的工作流程下面给出了BootLoader引导程序的工作流程。
(1)在复位时将MCBL/引脚置高位以及通过将~中相应的引脚接低电平来选择引导方式。在这个引导过程中,MCBL/引脚必须保持高电平,但是当引导结束后可以随意改变其电平。当引导过程结束后可以直接改变~引脚信号而不需复位。
(2)中断标志寄存器(IF)的~为给出引导方式,如图8.16所示。
(3)如果只有IF寄存器的位置位,则BootLoader将串口配置为具有外部串口时钟和帧同步信号的32位固定爆发读方式,然后通过串口引导源程序。串口传输的数据顺序为先高位后低位。
(4)反之,引导程序将尝试存储器引导方式。存储器引导方式的程序的首地址与相应的中断对应,如表8.6所示。存储器引导的源程序包含一个用于指示引导存储器宽度和存储器配置控制字的文件头,该配置字复制写入控制寄存器以配置外部主总线接口。
(5)读完文件头后,引导程序开始复制源程序块。源程序块的前面有两部分:第一部分给出了该块的大小,若大小为零,则表示已经到源程序的末尾;第二部分给出了该块要重复到的存储区的地址。除非地址译码逻辑被重映射,否则引导程序无法将源程序载入地址1000h以下的任何存储区。
(6)引导程序跳转到第一个源程序块的目的地址并开始执行程序。8.5.3引导数据结构采用存储器引导方式时,文件头必须包括下列信息:
(1)外部存储器的宽度(8/16/32位);
(2)程序代码块的长度;
(3)装入的目的起始地址;
(4)存储器访问的定时控制(如等待状态数)。存储器引导方式时的文件头安排如表8.6所示。表8.6文件头内容安排表8.7给出了一个引导程序头的例子。假设复位后检测到有效(外部存储器引导方式为boot2,存储器起始地址为400000h);EPROM程序存储器需要插入7个等待状态,SWW=11,装入目的地址为片内RAM2的起始地址为800000h;程序代码长度为400h。表8.78位boot存储器的引导程序头8.5.4中断的考虑与微处理器(MP)方式不同,当TMS320VC33工作于微计算机引导(MCBL)模式时,采用双向量方案来响应中断请求。双向量方案的目的是为了保证与芯片后续版本的兼容性。在这种方案中,需要在相应的中断和陷阱向量地址存放一条跳转指令,而不是直接存放中断服务程序的地址。正常的中断陷阱向量地址定义在片内RAM1的最后63个地址中,起始地址为809FC1h。激活引导程序以后,则需要在TMS320VC33片内RAM1的最后63个地址存放跳转至相应中断服务程序的跳转指令。如INT0中断向量的地址及其内容如下:
0X809FC1BRINT0_SUB_ADDRESS其中的INT0_SUB_ADDRESS为INT0中断服务程序的首地址,其余的中断向量地址的内容写法与此类似。8.5.5HEX格式的转换
TMS320C3x/4x汇编器和链接器创建的目标文件格式为COFF(CommonObjectFileFormat)。这种格式不仅支持模块化编程,同时也为代码段的管理提供了灵活的方法。但是,许多EPROM并不接受COFF目标文件格式,因此必须将COFF目标文件转换为十六进制ASCII格式才能将其写入EPROM中。在调试和装载程序时也需要对COFF目标文件进行十六进制转换。
COFF文件经十六进制转换后,可以生成以下输出文件格式:
(1)十六进制格式;
(2)扩展十六进制Tektronix格式;
(3)奔腾十六进制MCS-86格式;
(4)
Motorola-S格式;
(5)
TI格式。采用COFF格式生成引导表比较麻烦。TI公司提供了一个很有用的转换工具HEX30,只需编写一个命令文件,就可以使用该转换工具自动生成引导表。
1.十六进制转换的作用用户编写的汇编语言或C语言或者二者混编的源程序经过汇编器的汇编后,生成公共目标文件。公共目标文件经过链接器链接后生成可执行的目标文件,这种可执行的目标文件可以通过仿真器等调试工具下载到DSP芯片内部的存储中进行软件和硬件的调试。调试完成后就可脱机运行了,这时必须把调试好的程序写到EPROM中。但由于EPROM不接受COFF文件格式,所以必须将其转换成十六进制的文件。
2.HEX转换命令及转换流程转换命令的格式如下:
hex30[选项]文件名
hex30:十六进制转换命令。选项:控制十六进制转换过程的附加信息,这些选项可以直接在命令后面给出,也可以通过命令文件给出。文件名:输入链接器生成的可执行目标文件名,如test.out;或者输入命令文件名,如test.cmd。前一种方法必须在命令行中输入可选项,否则将对所有选项取缺省值,但这些缺省值不一定适合正在开发的应用系统的具体情况。如果输入的是命令文件名,可以不再输入选项,因为这些选项和.out文件已经在该文件中给出了。如果认为该命令文件中的选项需要补充,也可以在命令行中再给出想要补充的选项。此处的命令文件与4.6节所述的命令文件的内容和用途是完全不同的,4.6节的命令文件用于给出链接信息,此处的命令文件是给出十六进制文件转换的信息。选项的使用应注意以下几点:
(1)所有的选项都以“-”开始,且不区分大小写;
(2)多个参数的选项之间至少用一个空格分开;
(3)选项必须严格拼写,不允许缩写;
(4)选项不受书写次序的影响。但如果使用选项“-q”,它必须写在其它选项之前。表8.8列出了十六进制转换命令的选项,这些选项包括基本选项和引导选项。基本选项包括映象选项、存储器选项、格式选项,其中最主要的选项是存储器选项。表8.8十六进制转换命令的选项十六进制的转换流程如图8.18所示。由图可见,转换过程分为三个阶段,第一阶段把COFF文件中的字长调整为 -datawidth指定的字长,-datawidth是一个可选项,一般来说,-datawidth的长度也就是DSP芯片的字长。在C3x系列DSP中,只有TMS320C32允许将-datawidth设置为不同于系统字长的其它值。十六进制转换的第二阶段是把-datawidth指定的字长分解为存储系统的字长,这里所述的存储系统的字长是指存放程序的所有ROM的字长之和。例如,如果存储系统采用了两片字长为8位的ROM,则存储系统的字长为16位。如果采用了4片8位的ROM,则存储系统的字长为32位,但存储系统的字长不能超过DS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安全保护服务项目提案报告模稿
- 成都四川成都市成华区市场监督管理局招聘编外聘用制工作人员2人笔试历年典型考点(频考版试卷)附带答案详解
- 2024-2025学年延安市宝塔区三年级数学第一学期期末联考试题含解析
- 有关中学校长工作述职报告3篇
- 专业求职信模板7篇
- 2025年活动策划项目立项申请报告模板
- 2025年手提秤项目申请报告模板
- 关于个人护士述职报告范文5篇
- 话务员工作总结合集13篇
- 2024年皮毛批发销售协议样本版B版
- 湖南2025年湖南生物机电职业技术学院招聘35人历年参考题库(频考版)含答案解析
- 部队物业服务投标方案
- 销售单 代合同范例
- 2024年3月天津第一次高考英语试卷真题答案解析(精校打印)
- 2024译林版七年级英语上册单词(带音标)
- 品管圈PDCA案例-普外科提高甲状腺手术患者功能锻炼合格率
- 2024-2025学年语文二年级上册 部编版期末测试卷(含答案)
- 2025年消防救援设施操作员职业技能资格知识考试题库与答案
- 电玩城租赁经营合同
- 2024年中国救生圈市场调查研究报告
- 煤炭供应项目(运输供货方案)
评论
0/150
提交评论