DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 305|回复: 0
打印 上一主题 下一主题

高密度SPI EEPROM——SA25C020的DSP引导

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 20:15:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  
         
    摘要 介绍TMS320VC55XX系列DSP基于24位高密度SPI EEPROM——SA25C020的引导、启动加栽方法;分析整个过程,并结合实例着重研究基于C5509A的引导、加栽方法和实现;提供具体的电路设计和鳊制的相应实现软件。
关键词 SPI EEPROM boot TMS320VC5509A SA25C020

引 言
    DSP的引导是涉及DSP独立工作的关键性问题,通常采用的方法是由Flash等器件引导的,但是相对Flash的占用空间大、扇区擦除的难度和时延来说,SPI EEPROM不失为一个好的选择。传统EEPROM的容量太小,无法充分利用DSP的程序空间。
    SA25C020的2Mb SPI EEPROM是以色列的SaifunSemiconductor公司于2005年推出的高密度EEPROM产品,是业界首个结合小型SO8封装、低功耗和高性能特点的器件,专为需要高耐用性和低功耗的应用而设计和测试,针对持续可靠的非挥发性存储方案。它的价位接近闪存(Flash),加上其节省空间的封装形式,使得它成为DSP引导的一个新的选择。TI公司的TMS320VC5509A是一款集成了A/D、USB接口等的便携式DSP。最重要的是它支持24位的SPI EEPROM引导。这两款芯片的结合,易于形成空间小、功耗低的便携式解决方案,有助于新的小型化、低功耗应用的实现,如硬盘、光盘(包括DVD)、机顶盒、打印机、游戏卡以及无线产品。

1 引导系统硬件设计
    DSP引导系统硬件配置框图如图1所示。其中TMS320VC5509A有两种封装形式,此处采用PGE3形式。一个可以独立运行的DSP系统必须包括:



    ◇DSP芯片;
    ◇电源、时钟以及必要的初始化外围设置;
    ◇用于引导的非易失性的程序存储器,如本设计中采用的SA25C020;
    ◇JTAG接口用于外部下载程序。

2 引导关键技术
    引导主要步骤如下:
    ①利用CCStudi02.O建立应用程序,并产生*.out文件;
    ②建立引导表,生成相关文件;
    ③将引导表转换为DSP可以加载的数据格式,生成*.dat文件;
    ④利用CCStudi02.O建立EEPROM烧写程序,将引导表写到EEPROM中。
2.1 引导程序制作
    制作一个被加载的工程xf。程序的功能是使DSP的XF脚接的LED闪烁。主要调用程序如下:






    编译工程,在工程文件xf/Debug文件夹中生成xf.out文件。
2.2 引导表(boot table)制作
    构造引导表的方法有两种:一种是使用hex conversion utmty;另外一种是根据boot table的结构自己在SPIEEPROM烧写程序中进行构造。对于第2种,需要构造者充分掌握引导表的构造(详情请见参考文献[1],第17页)。这里仅说明使用hex converslon utility制作引导表的方法。下面阐述制作引导表所需要的环境和操作。
2.2.1 hex conversion utility数据转换工具
    hex conversion utllity是TI公司CCS中本身带有的一个数据转换工具。它有几个版本。对于C54xx使用的hex500.exe,其绝对位置在\ti\c5400\cgtools\bin\hex500.exe;对于C55xx使用的hex55.exe,其位置一般在\ti\c5500\cgtools\bin\hex55.exe。使用hex conversion utility工具还需要以下文件:
    ①*.out文件,是CCS编译好的要存入EEPROM的DSP可执行文件。这个文件对于bex conversion utility是数据源文件。
    ②*.cmd文件,用来填写hex conversion utility工具执行时的命令参数的文件。这些命令参数也可以在命令
执行时写在命令的后面,而不采用*.cmd文件。
    ③输出文件是hex conversion utility生成的文件,可以是多种文件格式,在*.cmd文件的-o参数中设置,如ASCII-Hex、Intel、Motorola-Sl/S2/S3、TI-Tagged、Tektronix等。这里选用输出文件为Intel格式。
2.2.2 制作过程
    在2.1节中已经制作好了xf.out文件。下面建立xf.cmd文件,内容如下:
   


    编写好xf.cmd文件后,将hex55.exe、xf.out、xf.cmd放在同一个目录下。进入命令行并且到上述3个文件所在的目录下,执行命令“hex55 xf.cmd”,如图2所示。这样就可得到输出的引导表文件xf.io。



2.3 引导表数据转换
    引导表制作成功以后,其数据并不能被DSP直接读写,而需要把它转换成DSP可以读写的格式(即CCS数据文件格式),才能把这些数据烧写到存储器中。这就需要对引导表文件进行数据转换。xf.io的数据格式如下(其中黑体字为有效数据):



    CCS数据文件由CCS文件头和数据两部分构成。文件头指明文件类型、数据类型、起始地址和长度等信息,后为数据,每个数据占l行。以下即为CCS数据文件的文件头格式:
   


    采用VC++编写程序DSP_dataconvert进行数据格式转换,将Intel格式的数据转换为DSP可以加载的数据格式。以下为CCS的数据格式,粗体字为有效数据。165ll 4000 114f;1651文件类型,1表示十六进制格式



2.4 SPI EEPROM烧写程序
    SPI EEPROM读过程操作一般要先执行WREN命令,打开写使能信号,RDSR读取寄存器状态信号,WRITE写EEPROM。SA25C020的指令结构和读写过程与普通的16位指令结构和读写过程是兼容的,只是在写地址时SA25C020的是24位的。
    一般烧写程序中的执行顺序为:WREN→RDSR→WRITF
    24位EEPROM具体写程序如下:
   



3 结 论
    本设计方案大大节省了设计空间,降低了功耗,经过实际安装与调试完全可行。说明了基于高密度SPI EEP-ROM的DSP应用系统独立运行的过程。与同类的SPIEEPROM相比,具有容量大的特点;与Flash引导相比,具有读写、擦除简单的特点。硬件电路具有良好的可扩展性。以此电路为基础,可以适用于C5509A的小型化、低功耗和便携式应用的开发。
         
          [/td]
        [/tr]
      
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-26 15:48 , 耗时 0.098515 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表