TMS320VC5402的并行引导装载方案的研究与设计_第1页
TMS320VC5402的并行引导装载方案的研究与设计_第2页
TMS320VC5402的并行引导装载方案的研究与设计_第3页
TMS320VC5402的并行引导装载方案的研究与设计_第4页
TMS320VC5402的并行引导装载方案的研究与设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、目录1.绪论12. tms320vc5402的bootloader原理23.16位flash并行引导模式分析34.系统硬件电路设计44.1闪烁存储器sst39vf200a简介44. 2系统硬件电路54.3硬件系统工作原理65 系统软件设计75.1程序的编写75.2引导表95.3引导实现106.总结117.参考文献121.绪论作为计算机接口之一的usb(universal serial bus)口具有势插拔、速度快(包括低、中、高模式)和外设容量大(理论上可挂接127个设备)的特性,使其成为pc机的外围设备扩展中应用日益广泛的接口标准。基于dsp的usb口数据采集分析系统,该系统的dsp负责数据

2、的采集和运算处理,处理结果通过usb口送计算机显示分析,其结构如下图1所示。flash图1 usb口数据采集分析系统tms320vc5402为脱机运行提供了五种启动装载模式:hpi端口启动模式、标准串口启动模式、i/o口启动模式、串口eeprom启动模式和并行启动方式。对于以c5402为核心的独立系统中,并口加载方案被认为是最佳的。因为前三种方案只适用于由其它处理器为c5402提供运行代码的多处理器系统中,后两种方案虽然都可以适应以c5402为核心的独立系统,但是串口eeprom启动模式中只支持价格偏高的spi端口eeprom,而并口启动模式却可以采用eprom,而且并行eprom和flash

3、种类很多,有的价格较低,因而可以充分体现系统的性价比优势。2. tms320vc5402的bootloader原理图2bootloader并行引导流程图 tms320vc5402的bootloader在系统加电时把外部源程序传送到内部存储器或内部程序空间。它允许程序被存放在外部慢速的存储器中,并调到高速的存储器中运行。这可大大减小tms320vc5402内部ram掩模的需要,降低电路设计的成本。c5402的内部rom中有固化好的加载程序。如果dsp的mp/mc管脚接低,在dsp加电reset时,程序就从内部rom的ff80h地址开始行运行。在ff80h处,有一条跳转到boot程序的指令,执行内

4、部固化好的boot程序。boot程序在运行搬移程序之前,首先进行初始化,工作包括关闭中断、将内部ram映射在程序/数据空间,以及为访问数据和程序空间设置的七个软件等待等;然后根据设计完成不同方式下程序的搬移。c5402共有上面讲述的5种加载方式。这里只讨论并口加载方案的设计,其流程如图1所示。在判断前几种加载方式无效后,bootloader从i/o空间0ffffh处读取一个16位的程序起始地址。然后根据这个地址从外部数据区读入一个字,判断是否为10aah。如果是,就采用16位的搬移方式;否则,就判断读入的字的低位字节和下一个地址读入的字的低字节组成的16位字。如果是08aah,就采用8位并行加

5、载方式;否则,就在外部数据空间的0ffffh读取一个16位的程序起始地址,然后重复上面的检测方法。本文采用在外部数据空间0ffffh处存放程序起始地址的方案。3.16位flash并行引导模式分析 片内并行引导方式前半部分是i/o空间并行引导方式。bootloader首先从i/o空间地址ffffh处读取一个字的数据,并将该数据做为自举表在数据空间的真实地址。我们不采用这种方式,程序继续运行直到从数据空间ffffh地址读入一个地址数据,此数据为用户自举表的入口地址。这时,片内引导程序开始执行flash中的用户自举表。若自举表的第一个字是10aah,则表示是16位并行引导方式;如果bootloade

6、r在自举表的起始地址没有得到上述关键字,则会转到数据空间0fffh处,再去读取一个字的数据,继续尝试通过该起始地址去读上述关键字。其处理流程如图3所示。图2 bootloader模式选择流程4.系统硬件电路设计4.1闪烁存储器sst39vf200a简介闪烁存储器(flash memory)是可以在线电擦写、掉电后信息不丢失的存储器。sst39vf200a是sst公司推出的128k16位产品,可以直接与dsp相接,具有以下主要特点:(1)可直接与3.3v的高性能dsp接口,简化了系统的电源要求;(2)最快的存取速度高达90ns,cmos工艺,具有100000次写入/擦写寿命;(3)低功耗;(4)

7、灵活的块结构支持整片擦除、块擦除、段擦除;(5)块保护功能。具有防止对任何区段进行编程或擦除的硬件保护机制;(6)与jedec标准兼容,引脚分布和命令集与单电源flash相兼容。表1 flash中的数据结构4. 2系统硬件电路系统硬件电路如图3所示,其中使用is61lv6416型sram作为系统上电运行时程序和数据公用的存储区。使用latttce公司的isp320ve-110lt44型cpld实现c5402与flash和sram之间的逻辑转换,其内部逻辑编程如图4所示。图3 硬件系统的原理图 图4 2032ve型cpld的内部逻辑编程4.3硬件系统工作原理 编程sst39vf200a时,在程序

8、中设置xf为高电平,c5402所寻址数据区的低32k(0000h-7fffh)对应于dsp片内dram(0000h-3fffh)和外部sram(4000h-7ffffh)区,高32k(08000h-0ffffh)对应于flash(08000h-0ffffh),此时,可以将c5402所寻址的低32k数据编程烧到flash中。 c5402上电复位装载时,由于bootloader程序在初始化时设置xf为高电平,在系统进入并行引导装载模式后,c5402从数据寻址为0ffffh单元(a15=1,选中flash)中读取将要载入的程序存储区首地址,再按表1所示的格式开始载入数据(表1假设程序存储区首地址为0

9、8000h)。此时,c5402可以将sst39vf200a中的地址08000h-0ffffh单元中的数据读到c5402对于与0000h-7fffh寻址区的片内dram和片外sram。 bootloader程序结束后,在这个系统中,用户程序的第一条语句为rsbx xf,即置xf为低电平,此时,无论a15为何电平,c5402所寻址的程序和数据区间(0000h-0ffffh)始终对于片内dram(0000h-3fffh)和片外sram(4000h-0ffffh),flash始终不选通。这样,sram的32k区域(08000h-0ffffh)被释放出来,可以作为dsp系统运行时的数据区或程序区使用。5

10、 系统软件设计5.1程序的编写由于bootloader需要完成的是系统的脱机运行,因此可用一个简单可靠的测试程序验证硬件是否已经协调工作。下面是一个可行的方法,通过设置xf的电平高低,让xf输出不同频率的方波,或者在xf管脚外接一个发光二极管,就可以直观的看到系统有没有协调工作。主程序和flash存储器编程子程序如下;main:ssbx intm;禁止中断stm 7fffh,swwsr;设置7个等待周期stm 70h,sp;设置堆栈指针nop call erase;调用擦除子程序call program;调用编程子程序here:b hereprogram: stm 1fh,ar5 stm 40

11、00h,ar3 stm 3000h,ar4 stm 4000h+555h,ar1 stm 4000h+2aah,ar2loop2: stm #0aah,al;周期1,解锁 stl a,*ar1 stm #55h,al; 周期2,解锁 stl a,*ar1 stm #0a0h,al; 周期3,建立 stl a,*ar1 mvdd *ar4+,*ar3+;周期4,编程 call delay;延时banz loop2, *ar5-stm #0ffffh,ar4stm #4000h+555h,ar1stm #4000h+2aah,ar2stm #0aah,alstl a,*ar1stm #55h,al

12、stl a,*ar2stm #0a0h,alstl a,*ar1st 4000h,*ar4;引导表起始地址4000h存入flash的ffffh单元ret5.2引导表引导表结构如图5所示:10aa(并行寻址格式)swwsr寄存器的初始值bscr寄存器的初始值用户程序入口的xpc用户程序入口的地址pc用户程序的长度用户程序起始地址xpc用户程序起始地址pc用户程序代码0000(表示引导结束)5.3引导实现将引导表烧写到flash存储器中,并下载到c5402中。烧写引导表前,首先将数据文件exp.dat中的引导表存入dsp从3000h开始的数据空间中。具体做法:在主程序中指令stm 70h,sp下方

13、nop处设置探测点,再将探测点与文件exp.dat关联起来。去掉pc机与c5402仿真器的数据连线,关闭c5402电源,置c5402的mp/mc=0后再上电,c5402片内rom中固化的引导装载程序就能把flash存储器中的用户程序引导到c5402片内程序空间从地址00100开始的ram中,然后执行此程序,实现16位并行引导。6.总结从上面的分析可以看出,方案实现方便可靠。但是采用外部并行boot方式时,boot的寻址区是在数据区,最大的程序代码长度仅为48k字。如果程序超过了48k字,只能采用另外的替代方法。这是在一些电路方案论证时需要考虑的问题。7.参考文献1张冠男,张坤 基于flash编程技

温馨提示

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

评论

0/150

提交评论