DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

TMS320VC5402芯片的并口启动装载方案

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

  
         
    摘要】介绍如何用通用并行EPROM芯片与TMS320VC5402芯片接口,实现并口启动装载。给出了此方案的硬件电路图、电路原理及相关源代码,叙述了如何将5402编译器生成的输出文件转换成可以写入EPROM的文件格式及写入时的注意事项。
 关键词:启动装载 速度匹配 工作频率
   
   对于DSP应用系统来说性价比是关键,在众多的DSP厂家和芯片型号中,德州仪器(TI)公司的TMS32 0VC5402芯片(以下简称5402)就是一款性价比很好的DSP芯片。该芯片每秒钟可处理1亿次指令,千片的公开报价为5.98美元,现在有几种流行的MP3随身听和手机就采用了该款DSP芯片。
   在设计以5402为核心的独立系统时,必须解决5402的启动装载问题。TI公司技术文档中有专门介绍5402启动装载的文章,但对并口启动装载方案没有作充分的说明,本文就是对此的一个补充。那么,什么是5402的启动装载呢?启动装载就是在系统启动时将5402的运行程序从外部媒体装载到其内部SRAM或扩展的SRAM中,从而使系统能够按照预定的程序运行的过程。为什么5402必须要有启动装载呢?因为54 02芯片内部没有提供FLASH或EPROM空间来保存它的运行程序,所以,要让5402系统独立运行,就必须从外部装载程序。
   5402提供了五种启动装载的方式:HPI端口启动模式、标准串口启动模式、I/O启动模式、串口EEPROM启动模式和并口启动模式。我们认为并口启动装载方案是以5402为核心的独立系统的最佳方案。因为前三种方式适用于多处理器系统中由其它处理器为5402提供运行代码的情况,无法适应以5402为核心的独立系统的要求,后两种方法都可以用在以5402为核心的独立系统上,但串口EEPROM启动模式中只支持SPI端口的EEPROM,这种EEPROM市场上较少见,价格偏高,而并口启动模式可以采用多种型号的并行EPR OM、并行EEPROM和并行FLASH(以下用EPROM代表),其可选器件种类较多,能够选择价格较低的型号与5402这种低价位的DSP芯片搭配,因而充分体现系统的性价比优势。
   5402的并行启动装载方案的关键是:解决5402与EPROM的速度匹配问题。
   5402一般要求在100M的工作频率下,才能达到每秒种处理1亿次指令的性能,而并口装载时100M的频率(速度为10ns)几乎是所有的EPROM都无法承受的,因此5402提供了装载时的总线时钟延时功能。该延时功能最多能延时7倍,就是只能与速度高于或等于70ns的EPROM和FLASH接口,但能满足这一要求的EPROM和FLASH价格很高。
   为解决该问题,需利用5402的另外一个特性,即5402的工作频率可以小于或等于100M,并能用硬件和软件两种方式设定。因此,我们可以在硬件电路中设定5402刚加电时的工作频率很低(比如为5M),利用这个频率来和EPROM接口。然后,在所装载程序的开始部分,用软件设定的方法将工作频率更改为100M,使5402达到最大的工作效率。
   下面具体讲述硬件和软件的实现方法。
1 5402并行启动装载方案的硬件原理
   5402芯片采用10M的晶振。图1为电路连接图,图中用一个8位宽的容量为32K的EPROM(27C256)与5402接口。
1.1 硬件设定工作频率
   我们将5402的CLKMD1~3三个脚都连到高电平上,这样5402芯片开始加电时的工作频率被硬件设定为二分频,即5M,在这种频率下进行的启动装载几乎可以和所有速度指标的EPROM接口。
1.2 XF的作用
   图1中EPROM被映射到5402的数据区(有效地址为8000H~FFFFH),这样将占用5402的数据区空间。为了让5402在启动代码装载完后仍能使用这段数据区空间,必须让EPROM在程序装载后让出总线。此时将5402的通用输出脚XF的倒相接到EPROM的片选脚(CE)上,就可以实现这一功能。其工作原理为:在5402刚加电时XF为高电平,这时EPROM片选将软件程序装载到5402的SRAM中,然后在程序的开始部分将XF置低,使EPROM不工作让出占用的数据空间。
1.3 采用16位的EPROM
   如采用16位的EPPOM,只需对接好高8位数据位,其它同图1。
                              


2  5402并行启动装载方案的软件代码
    为配合硬件电路,要用软件来控制XF并更改5402的工作频率。代码如下:
   RSBX XF;控制XF, 将其电平置为低.,关闭EPROM,让出数据区空间。
   STM #0,58h ;将CLKMD寄存器(数据空间地址为58H)置为0, 即为二分频状态,此时倍频电路不工作 。
   wait—pll: ;如下循环判断是为了等待5402二分频状态设置成功。
   LDM 58h,A  ;读入CLKMD的值到累加器A中。
   AND #1,A ;取CLKMD的值中最低位.。
   BC wait—pll,ANEQ ;如最低位为1则跳转到wait—pll继续等待, 为0则退出循环。
   STM #97ffh,58h ;将CLKMD寄存器写为97FFH,即设置为10倍频状态,则其相应的工作频率更改为100M 。 RPT #100 ;循环执行100次空语句, 等待5402的工作频率稳定在100M。
   nop
3 将软件正确写到EPROM中
  5402的软件编译后需要写入EPROM中。5402软件编译后生成扩展名为out的输出文件,这种文件格式不能直接写入EPROM中,必须经过格式的转换,而且写入时也要注意一些问题。
3.1 文件格式的转换
绝大多数EPROM或FLASH的烧写器都支持hex格式的文件,这里就介绍将out文件转成hex文件的方法。在转换过程中,要用到5402编译环境中的hex500.exe工具。
   首先,要建立一个保存转换选项的文件,一般存为扩展名cmd。转换选项须根据具体情况修改,否则转换的文件无法正常使用。例如我们保存了一个名为rom.cmd的文件,文件的内容和说明如下:
             main.out
            -e 0080h
            -i
            -memwidth 8
            -boot
            -bootorg PARALLEL
            -o main.hex
说明:main.out是输入文件名,即5402软件编译生成的out格式文件的名字。
 -e选项是程序的中断向量表的入口点,在这个例子中我们的软件的向量表放到了数据空间的0080H的位置。
 -i选项决定输出文件的格式为hex格式。
 -memwidth选项使用了EPROM的位宽度,如果是8位的ERPOM则为8,如果是16位的EPROM则为16。
 -boot选项用来说明将out文件中的所有程序段都转成hex格式。
-bootorg选项说明输出的文件是为并行的EPROM提供的,要由hex500.exe加入并行的一些控制信息。
   -o选项后面是输出文件的文件名。
   然后,直接在DOS下写入如下一行命令,调用hex500.exe实现格式的转换:hex500 rom.cmd
3.2  烧写EPROM时要注意的问题
  转换生成的hex文件在由烧写器的烧写软件读入时,一定要计算好文件的放置位置。5402的并行启动装载方式要求8位的EPROM在数据空间的FFFFH和FFFEH中要放入程序代码的起始地址(地址高位放FFFEH中,地址低位放在FFFFH中),16位的EOPROM要在FFFFH中放入代码起始地址。
   例如:用一个32K*8bit的EPROM作为5402的启动装载媒体,将它映射到5402数据空间的8000H-FFFFH之间。如果我们将程序代码对齐该EPROM的起始位置烧写,那么程序代码的起始地址应为8000H,因此我们还要在EPROM中的FFFEH位置烧入80H,在FFFFH位置烧入00H数据。这样才能保证程序顺利装载。

                                       参考文献

1 Ruber D. Perez.TMS320VC5402 and TMS320UC5402 Bootloader. February 2000
2 TMS320C54x DSP Reference Set (Volume 1-5).Texas Instruments Incorporated. June 1999
         
          [/td]
        [/tr]
      
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-26 11:31 , 耗时 0.090646 秒, 19 个查询请求 , Gzip 开启.

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

桂公网安备 45031202000115号

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

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

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

QQ:28000622;Email:libyoufer@sina.com

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

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