APP下载

TMS320VC5502 SPI方式自举引导的设计与实现

2014-03-10王玲王辰平崔超群

计算机与网络 2014年20期
关键词:新乡存储器字节

王玲 王辰平 崔超群

(1中兵通信科技有限公司国营第760厂河南新乡 453009)

(2 空军驻新乡地区军事代表室河南新乡 453009)

TMS320VC5502 SPI方式自举引导的设计与实现

王玲1王辰平1崔超群2

(1中兵通信科技有限公司国营第760厂河南新乡 453009)

(2 空军驻新乡地区军事代表室河南新乡 453009)

随着数字信号处理技术的飞速发展和DSP的广泛应用,作为其外挂的SPI EEPROM存储器也得到越来越多地关注和应用。基于TI公司的TMS320VC5502和ST公司的M45PE20开发系统为背景,着重介绍了硬件接口的设计、程序烧写和上电时正确的自举引导等关键技术问题,对烧写过程和自举引导时序作了详细的描述,在示波器上抓到了其过程波形,并且在实际应用中得到了验证。

SPI 自举引导 DSP 程序烧写

1 引言

随着数字信号处理技术的快速发展,DSP被广泛的应用到各种数字信号处理系统中[1]。由于其内部的ROM较小,所以程序要想脱离仿真器运行,必须将程序代码存储在外部非易失性存储器中。FLASH存储器以其大容量和可在线编程等特点已成为DSP系统的一个基本配置,但是FLASH占用空间较大,而且扇区擦除难度和时延较大,这时可以选择SPI EEPROM作为外挂的存储器。如何将程序烧写进EEPROM,并在上电时进行正确的bootloader是使用SPI EEPROM芯片时必须解决的2个技术问题。

本文以基于TI公司的TMS320VC5502和ST公司的M45PE20开发的系统为背景,介绍该系统引导相关的硬件设计[2],烧写软件设计以及自举引导等实现方法。

2 硬件设计

TMS320c5502有多种bootload模式[3],外部SPI ROM、IIC ROM、并行异步ROM、HPI接口和USB接口等。bootload模式是由外部的3个管脚的状态决定的,当选择SPI外部bootload模式。需要特别注意的是只有MCBSP0可以作为SPI口来进行上电后的bootloader,只有通用IO4可以作为EEPROM的片选,这是因为TI公司的DSP出厂时,在内部的ROM中固化有一段引导装载程序,其主要功能是将外部存储器中的程序加载到片内RAM中运行,可以提高系统的运行速度,正是这一段引导装载程序决定了SPI bootload模式的管脚分配。

M45PE20是ST公司的一款3 V供电的SPI EEPROM芯片,8位位宽,容量有2 Mbit,具有封装小、低功耗和高性能等特点,专为需要高耐用性和低功耗的应用而设计,针对持续可靠的非挥发性存储方案。TMS320VC5502是TI公司55X系列的一款低功耗华为高性能,具有多种片内外设的芯片。硬件连接图如图1所示。

图1 硬件连接图

3 程序烧入

3.1 生成引导表

引导表就是在DSP芯片上电复位后由bootloader从外部存储器装入片内RAM的一个数据块,这个数据块不仅包括用户程序的全部信息,还包括程序入口地址、寄存器设置、可编程延时和段长等信息。

源程序在CCS3.1编译器中编译后生成.out文件,但是这个文件不能直接烧入,必须要生成适合bootloader的引导表[4],要生成引导表,可以将最终编译生成的.out文件通过CCS自带的hex55.exe转换程序得到。将hex55.exe、.out文件和cmd文件放在同一个文件夹中,通过dos命令格式调用hex55.exe,即可完成.out文件到hex格式的引导表文件的转化。CMD文件用来提供引导表的相关配置信息[5],研究的cmd文件如下:

3.2 数据格式转换

引导表制作成功以后,其数据并不能直接被C5502读写,所以要把这些数据转化成可以被读写的数据文件格式,这样数据才能被写入EEPROM芯片。如果输出文件格式是intel格式,那么可以用一个change.exe来自动转换数据格式,但如果输出是ASCII码的时候,这个自动数据格式转化就不能用了,必须编程转换或者用下面方法转换。

将输出的ASCII码格式的文件testa.hex打开,把里面的有效数据全部选中复制(第一行和最后一行的方框删除)到word或ultraedit应用编辑软件中,然后通过以下操作来完成格式转换:

用“,0x”来替换所有的空格;

将第一个字节手动加上0x;

把所有的“0x^p”替换成“0x^p”,^p表示回车。

这样生成的数据文件比较完整,每个段都能完整地显示出来。然后可以在编辑软件里统计0x(即字节)的个数,然后就可以把这些数据写入EEPROM芯片中。

3.3 数据的烧写

数据写入EEPROM芯片M45PE20有2种方法:一种是用编程器直接烧写,一种是在线系统编程烧写。用编程器操作比较简单,但是不适用于贴片的EEPROM芯片,所以最好采用在线系统编程烧写方法。无论是用那种方法烧写,本质上都是要在片外的EEPROM芯片中存放整个引导表的内容。

C5502同步缓冲串口的SPI模式数据包的长度可以设成8、12、16、20、24或32位[6]。因为M45PE20的指令和数据是8位,而地址需要24位,所以可以把SPI模式都设置成8位,地址可以分3次发送,根据M45PE20的读写时序关系来设置DSP C5502的同步缓冲串口寄存器[7]。寄存器设置如下:

选择合适的时钟和串口时钟,配置好串口寄存器之后就可以进行数据的烧写,烧写时序如图2所示,1路信号是C5502的IO4连接M45PE20的片选,2路信号是C5502串口发时钟,3路信号是DSP发出的要烧入M45PE20的数据线主出从入(MOSI),B1是示波器直接显示的串口线上的总线数据,从这里可以很明显地看到发出的一个个数据,帮助大家更好更快地发现问题解决问题。从图2可以看出,片选从高变低后开始有效,第一个字节是MOSI线上送出写指令0x0A,然后分3次送出24 Bytes首地址0x000000,从第5个字节就开始写烧入M45PE20储存的数据。

图2 数据写入EEPROM芯片M45PE20的时序图

程序烧入后要验证烧入的正确性,需要重新上电复位后固化在DSP ROM中的bootloader程序开始运行,通过串口将烧入M45PE20的数据重新读入DSP内部的RAM中,这个过程如图3所示,1路信号是C5502的IO4连接M45PE20的片选,2路信号是C5502串口发时钟,3路信号是数据线主出从入(MOSI),3路信号是数据线主入从出(MISO),B1是MOSI和MISO的总线数据。开始是MOSI线上送出读出指令0x03,然后送出24 Bytes首地址0x000000,从第5个字节就可以开始读M45PE20储存的数据,与烧入的数据对比就可以了。

需要注意的是:M45PE20有一个页写指令0x0A,一个页编程指令0x02,页写指令可以使每个bit从1写成0或0写成1,所以写之前不需要擦除操作;而页编程指令只能将每个bit从1写成0,所以在再次写之前必需进行擦除,将需要的存储空间或是全部空间的bit位全部变成1才可以进行编程操作。

图3 M45PE20的数据重新读入DSP内部的RAM中上电引导时序图

4 结束语

本文提出了一种针对C5502的SPI的bootloader烧写方式[8],简单易用,不用擦除,读写都很简单,经过验证,实际应用表明它是一种行之有效的烧写方法。

[1]申敏.DSP原理及其在移动通信中的应用[M].北京:人民邮电出版社,2001.

[2]TI.TMS320VC55X系列DSP的CPU与外设[M].彭启琮,武乐琴,张舰,等,译,北京:清华大学出版社,2005.

[3]张彪,方方,黄洪全,等.TMS320VC5502外扩Flash自举引导方法的设计与实现[J].核电子学与探测技术.2009,9(6): 1303-1306.

[4]TI.Using the Tms320VC5501/C5502 Bootloader[R].TI,2004.

[5]TI.TMS320VC55X DSP CPU Reference Guide[M].TI,2004.

[6]TMS320C55X Assembly Language Tools User’s Guide[M]. TI,2003.

[7]TI.TMS320VC55X optimizing C/C++Compiler User’s Guide[R].TI,2003.

[8]闫昌浩,郭宝龙,黄斌.TMS320VC55X系列DSP在线烧写方法研究[J].电子设计工程,2009,17(1):54-56.

Design and Implementation of SPI Boot Loader Based on TMS320VC5502

WANG Ling1,WANG Chen-ping1,CUI Chao-qun2
(1 No.760 Factory,Xinxiang He’nan 453009,China;
(2 Military Representative Office of PLA Air Force stationed in Xinxiang Region,Xinxiang He’nan 453009,China)

With the rapid development of digital signal processing technology and the extensive application of DSP processor,SPI EEPROM memorizer is gaining more attention and extensive application.Based on the development systems of TI company's TMS320VC5502 and ST company's M45PE20,this paper mainly introduces such key technologies as hardware interface design,program writing and right boot loader at power up time,describes in detail the process of program writing and the sequence of boot loader,gets the waveform of process on an oscilloscope,and verifies its feasibility in the practical application.

SPI;boot loader;DSP;program writing

文献标识码A

1008-1739(2014)20-67-3

定稿日期:2014-09-26

猜你喜欢

新乡存储器字节
新乡医学院
No.8 字节跳动将推出独立出口电商APP
出征新乡,武汉石化拼了
静态随机存储器在轨自检算法
No.10 “字节跳动手机”要来了?
简谈MC7字节码
新乡:豫北老区明珠
存储器——安格尔(墨西哥)▲
HIP TO BE SQUARE
基于Nand Flash的高速存储器结构设计