网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> DSP >> C6000文章 >> C62X系列 >> 文章正文
  [组图]TMS320C6000系列DSP的自举方式研究         ★★★ 【字体:
TMS320C6000系列DSP的自举方式研究
作者:王宏义,…    文章来源:现代电子技术    点击数:    更新时间:2007-1-8    

 :以C6701为例详细介绍了TMS320C6000系列DSPROM自举过程。
   
关键词DSPTMS320C6000FLASH;自举


  TMS320C6000系列DSPTI公司开发的一种新型DSP芯片,包括定点的C62xx系列和浮点的C67xx系列。该系列芯片内部集成了多个功能单元,可同时执行8条指令,其运算能力最高可达1 GFLOPS
  如果需要程序在加电复位后自动运行,我们就要使用DSP的自举功能。TMS320C6701可以配置成以下3种自举方式:
  (1)无自举(No Boot) CPU直接开始执行地址0处的指令。
  (2)主机自举(Host Boot) 系统复位后主机通过DSP的主机口(HPI)初始化DSP的存储空间。
  (3ROM自举(ROM Boot) DMA控制器从CE1空间复制固定长度(对C6701来讲是64 kB)程序到地址0处,然后从地址0处开始执行。
  3种自举方式是根据外部管脚BOOTMODE4∶0]决定的,这些管脚信号在系统复位信号(RESET)的上升沿被锁存,具体的对应关系如表1所示。
  前2种自举方式相对来讲比较容易理解,因此我们不做详细介绍。下面我们以TMS320C6701为例详细说明TMS320C6000系列DSPROM自举过程。
  由于FLASH具有在线可编程、可重复编程的能力,和普通ROM相比使用起来更加方便,因此我们采用FLASH作为程序存储器。
    FLASH
的读操作和其他一些异步存储器如ASRAM基本相同,但是写操作相对来讲要复杂一些。这是因为首先要对FLASH进行擦除,然后写入一些固定的命令字,然后才可以把数据写进去。下面的例子中使用的FLASH的型号是SST39VF800A,容量是512 kB×16
  对于SST39VF800A来讲擦除过程如下:
  (1)向地址0x5555写入0xAA
  (2)向地址0x2AAA写入0x55
  (3)向地址0x5555写入0x80
  (4)向地址0x5555写入0xAA
  (5)向地址0x2AAA写入0x55
  (6)向地址0x5555写入0x10
  (7)等待100 ms时间。
  写数据过程如下:
  (1)向地址0x5555写入0xAA
  (2)向地址0x2AAA写入0x55
  (3)向地址0x5555写入0xA0
  (4)写入数据。
  系统的硬件连接如图1所示。
  由于我们仅是为了说明这一流程,所以主程序只是简单的向C6701TOUT1管脚循环写01,也就是说在TOUT1管脚产生方波,其C语言程序如下:

 
 


  

假设我们已经产生了相应的可执行文件dspout,要将其转换为十六进制代码并写入FLASH,然后实现ROM自举需要以下几步:
  (1)建立转换命令文件dspcmd,内容如下:
 
  

2)使用TI公司的集成开发环境CCS自带的转换工具hex6xexe进行转换。具体操作如下:将dspoutdspcmd以及hex6xexe复制到同一文件夹,然后在DOS窗口下键入:hex6x dsp. cmd ,这样就产生了dsphex文件。使用记事本打开dsphex可以发现该文件是以双字节存放的,并且包括了文件头和尾,如下所示: 
    
   
   

以上数据可以通过专门的硬件烧写器写入FLASH,也可以通过DSP仿真器编程写入FLASH,由于在线烧写更为方便,在此我们只对后者做详细的介绍。
  (3)将DSPBOOTMODE置于无自举模式。本例中使用BOOTMODE40]=00101(即内部RAM处于地址0MAP1,无自举)。
  (4)启动CCS,建立一个新工程,如flashpjt。该工程用来将dspary中的数据写入FLASH。程序如下:
 
 
 


  其中ptr指向FLASH所在的存储空间(本例中即0x01400000),datai]即dspary中的数据,LENGTH是数据的个数。ctrl_addr1指向FLASH0x5555地址,ctrl_addr2指向FLASH0x2AAA地址。循环体的前3条语句是在向FLASH中写入数据前必须写入的固定命令字。
  编译执行之后dspary中的数据将被写入FLASH中,在CCS下可以通过ViewMemory看到数据是否正确写入。
  (5)现在DSP已经可以ROM自举了。关闭系统电源,将DSPBOOTMODE置于ROM自举模式。本例中使用BOOTMODE40]=10101(即内部RAM处于地址0,MAP1,16-bit ROM自举)。加电后我们可以在DSPTOUT1管脚测到有方波产生,说明ROM自举成功。

参考文献

1]赵训威.基于TMS320C6200系列DSP芯片的应用与开发[M].北京:人民邮电出版社,2002
2]任丽香,等.TMS320C6000系列DSPs芯片的原理与应用[M].北京:电子工业出版社,2000
3TMS320C6201C6701 Peripherals User′s GuideTI1998

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号