APP下载

DSP并行I/O自举加载方法研究

2012-08-10陈启兴于红兵祁秋红

通信技术 2012年5期
关键词:存储器芯片程序

陈启兴,于红兵,祁秋红

(成都信息工程学院 通信工程学院,四川 成都 610225)

0 引言

TI公司的DSP处理器目前上市的有4类:32位实时微处理器,DSP&ARM+DSP,多核DSP,低功耗 DSP[1],广泛应用于通信、自动控制、应用电子等领域[2-5]。TI公司的低功耗DSP性价比优、可靠性强、程序保密性高,因而应用十分广泛,比如图像处理、视频处理、音频处理、仪器仪表等领域。只有32位实时微处理器片内有供用户使用的Flash,而其它的处理器都没有。因此,这3种微处理器的自举加载方式有些差异。比如,TMS320C2812允许用户片内或偏外 Flash加载用户程序[6],TMS320C5402有 5种加载方式:热自举、串行EPROM自举、并行I/O空间自举、并行EPROM自举和HPI接口自举[7]。为了提高运行速度,TI公司的DSP处理器的后三类芯片内都没有供用户使用的Flash,其自举加载只能采用片外扩展的存储空间了。因此,TI公司的后三类DSP处理器的自举加载实现起来就要复杂些。很多的学者提出了有建设性的方法,典型的就是二次引导并行EPROM自举引导方式[8-9],这种方式简易有效,对于用户程序不大的情况,这是一个非常好的办法。TMS320VC5402是一款性价比非常高的高速、低功耗的DSP芯片,使用非常广泛。本文提出一种TMS320VC5402的并行I/O空间自举加载方法,该方法具有简易有效,实用于用户程序较大的情况。

1 TMS320VC5402的二次并行引导法分析

TI公司为其C5000系列和C6000系列的自举加载方法提供了一个建议,并免费提供了相应的工具软件[10]。首先,DSP仿真软件(CCS)编译链接后生成的是二进制COFF 格式文件(后缀为out);然后,通过HEX转换工具(hex500.exe)将COFF目标文件转换为标准的ASCII码十六进制格式文件;最后,把ASCII码十六进制格式文件烧写到FLASH芯片里面。对于TI的建议,如果产品开发成功,在批量生产的时候是可行的,因为可以先烧写 ASCII码十六进制格式到FLASH 芯片,再焊接FLASH芯片在PCB板上。但是,对于开发阶段和软件升级的时候,就不方便了,因为从PCB拆下FLASH芯片是一件不容易的事情,还可能损坏PCB上的铜箔和其它元器件。所以,探讨一种通过CCS软件,借助仿真器对FLASH在线编程方法,对于开发阶段和软件升级方面是有积极意义的。

目前,针对 TMS320VC5402,使用比较多的FLASH在线编程方法是二次并行引导法,很多同仁已经有报告了[11-13]。这种方法的基本思想是通过CCS软件,借助仿真器首先把用户程序(out文件)下载到片内RAM,再下载并运行烧写FLASH的程序,即把RAM区的用户程序烧写到FLASH芯片内,实质是属于并行EPROM自举方式。因为CCS下载了2次代码,FLASH是TMS320VC5402的外扩数据存储器,所以叫二次并行引导法。

TMS32C5402的程序和数据存取器映射图如图1所示,用户可用数据存储器的空间有:0x0060~0x3FFF(片内),0x8000~0xFFFF(片外),共47.906 25 kW,其中片内的15.906 25 kW,片外的32 kW;在微计算机模式下用户可用的程序存储器空间有:0x0000~0x007F(片外),0x0080~0x3FFF(可设为片内或片外),0x8000~0xBFFF(片外),共36 kW,其中片外最多36 kW,片内最多15.875 kW;在微处理器模式下用户可用的程序存储器空间有:0x0000~0x007F(片外),0x0080~0x3FFF(可设为片内或片外),0x8000~0xFF7F(片外),共略小于48 kW,其中片外最多48 kW,片内最多15.875 kW。在采用二次并行引导法的条件下,如果TMS320VC5402有扩展RAM,则用户程序的最多为36 kW(微计算机模式)或略小于 48 kW (微处理器模式);如果TMS320VC5402无扩展 RAM,则用户程序的最多为15.875 kW(微计算机模式或微处理器模式)。对于TMS320VC5402的二次并行引导法,适用的用户程序大小是有要求的,开发人员在设计硬件系统的时候,需要对用户代码大小进行评估。二次并行引导法必须同时满足2个条件:①用户代码大小必须小于外扩 FLASH(数据存储器);②用户代码大小必须小于程序存储器空间大小。因此,如果TMS320VC5402有扩展 RAM,则用户程序的最多为32 kW;如果TMS320VC5402无扩展RAM,则用户程序的最多为15.875 kW。

图1 TMS320VC5402的存储器映射

2 并行I/O空间自举加载方法

(1) 硬件设计

TMS320VC5402的存储器有数据存储器、程序存储器和I/O存储器,互相独立,各位64 kW。本位提出的并行I/O空间自举加载方法属于并行I/O空间自举方式的在线编程方法,也需要两次加载。通过CCS软件,借助仿真器首先把用户程序(out文件)下载到片内RAM,再下载并运行烧写FLASH的程序,即把RAM区的用户程序烧写到FLASH芯片内。与二次导引法不同的是,TMS320VC5402外扩的FLASH属于I/O存储器,而不是数据存储器。

TMS32C5402访问片外I/O存储器的时序如图2所示,根据该时序图可以得到外扩 I/O存储器的原理电路如图3所示。在图3中,巧妙采用了比较器74HC85,没有采用CPLD或FPGA之类的芯片进行地址译码和时序控制,这对于节约成本是十分有利的,比如民品开发。外扩的 I/O空间寻址范围为:0x8001 ~0xFFFF,改变 74HC85的 1、14、11和 9脚的高低电平,可以容易调整I/O空间寻址范围。

根据前面的分析,对于并行 I/O空间自举加载方法,由于I/O存储器的外扩空间可达64 kW,所以,如果TMS320VC5402有扩展RAM,则用户程序的最多为36 kW(微计算机模式)或略小于48 kW(微处理器模式);如果 TMS320VC5402无扩展RAM,则用户程序的最多为15.875 kW。

(2) 烧写FLASH的软件设计

当用户项目调试完成后,就可以得到用户程序入口地址、每一个程序段的大小和偏移地址,也就是说可以得到一个Boot表。根据Boot表的具体内容,烧写FLASH的流程如图4所示,值得注意的是,如果硬件是按照图3设计的,则从I/O空间的地址0x8001开始依次递增烧写。

图2 TMS320VC5402的并行I/O口读和写

图3 与Flash芯片有关的电路

图4 烧写FLASH芯片的流程

TMS320C542的并行I/O空间自举加载方法在横向项目“软件无线电平台研究”上进行了实践,性能稳定,效果不错。

3 结语

论文在分析了TMS320C542 DSP 芯片的存储结构和特点, 并着重分析其二次引导法之后,结合工作实际,给出了一种切实可行的并行I/O空间自举加载方法。对于并行I/O空间自举加载方法,如果TMS320VC5402有扩展RAM,则用户程序的最多为36 KW(微计算机模式)或略小于48 KW(微处理器模式);如果TMS320VC5402无扩展RAM,则用户程序的最多为15.875 KW。实践证明,该方法构思新颖,操作简单等优点,并能简化系统软硬件设计工作,具有很高的实用价值。

[1] T I.Embedded Processors[EB/OL].(2011-07-13)[2011-12-01].http://www.ti.com/lsds/ti/dsp/embedded_p rocessor.page?DCMP=TIHomeTracking&HQS=Other+OT+home_p_processors.

[2] 季宇,金彦亮.基于无线传感技术的人体姿态检测系统[J].通信技术,2011,44(11):49-51.

[3] 张简,孔翠香. 嵌入式无线视频小车的设计与实现[J].通信技术,2011,44(11):113-116.

[4] 郭星明,赵曙光,熊斌. 一种基于DSP的手机音频优化方法[J].通信技术,2011,44(05):33-36.

[5] 曹瑞,冯桂, 一种改进的数字水印算法[J].信息安全与通信保密,2007,40(07):31-33.

[6] TEXAS INSTRUMENT. Embedded Processors[EB/OL].(2011-05-02)[2011-12-01].http://www.ti.com/lit/ds/sprs174s/sprs174s.pdf.

[7] T I. Embedded Processors[EB/OL].(2008-11-27)[2011-12-01].http://www.ti.com/litv/pdf/sprs096c.

[8] 郭改枝,范鹏程. TMS320C54XDSP自举加载技术[J]. 内蒙古师范大学学报,2008, 37(02): 216-218.

[9] 张秀丽,张瑞华,涂晓峰. TMS320VC5402并行引导加载系统设计[J]. 宁波大学学报,2005, 18(02): 2004-2006.

[10] TEXAS INSTRUMENT. Embedded Processors[EB/OL].(2004-11-16)[2011-12-01].http://www.ti.com/lit/an/spra618b/spra618b.pdf.

[11] 张喜平, 梁书斌. TMS320VC54x系列DSP芯片自举程序的优化设计[J]. 韶关学院学报, 2006,27(03): 24-28.

[12] 刘苗. TMS320VC5402片外存储器扩展及自举引导程序的设计[J]. 沈阳航空工业学院学报,2006,23(03):57-59.

[13] 张小莉. 基于串口的DSP软件下载设计与实现[J]. 信息安全与通信保密,2012(01):70-71.

猜你喜欢

存储器芯片程序
芯片会议
静态随机存储器在轨自检算法
人体微芯片
关于射频前端芯片研发与管理模式的思考
试论我国未决羁押程序的立法完善
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
任意2~k点存储器结构傅里叶处理器
创卫暗访程序有待改进
存储器——安格尔(墨西哥)▲