0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >便携设备 > 基于ADSP218x系列和TMS320C62x系列实现串行引导方案的设计

基于ADSP218x系列和TMS320C62x系列实现串行引导方案的设计

来源: elecfans
2021-01-27
类别:便携设备
eye 32
文章创建人 拍明

原标题:基于ADSP218x系列和TMS320C62x系列实现串行引导方案的设计

  引 言

  在某型光电跟踪产品中,由于需要对抗各种人工干扰和背景干扰,使得导引系统需要处理的信息量成倍增加,对导引系统的实时处理性能提出了更高的要求。针对这种情况,导引系统采用了双DSP系统的信息处理方案,DSP选用AD公司的ADSP218x和TI公司的TMS320C62x。ADSP218x进行目标信号的采样和外围控制信号的输入、输出,TMS320C62x专门进行目标的鉴相、各种抗干扰算法的计算,这样TMS320C62x不受外设服务中断影响,可以更好地发挥计算效率,提高了导引系统的实时处理性能。本文针对ADSP218x系列和TMS320C62x系列组成的双DSP系统,提出了一种串行引导方案,同时给出了其硬件及软件的具体实现方法。

  1 DSP引导模式

  1.1 TMS320C62x引导模式

  TMS320C62x系列DSP提供了三种引导方式:

  (1)无引导过程:DSP直接从地址0开始执行代码;

  (2)ROM方式引导:由DMA/EDMA控制器从外部CE1空间中的ROM中拷贝固定数量的代码到地址0,启动时也可选择ROM的宽度,拷贝结束后,CPU从地址0开始运行;

  (3)HPI方式引导:由外部主机通过HPI对芯片的存储器空间进行初始化,初始化结束后,外部主机通过HPI中断唤醒TMS320C62x,CPU开始从地址0运行。

  所有这些设置项都是在芯片复位的时候才进行检查。一旦复位信号有效(reset=0),所有的三态输出管脚恢复为默认状态,然后在reset信号的上升沿处检查设置管脚BOOTMODE[4:0]的状态,自举逻辑开始生效。

  1.2 ADSP218x引导模式

  ADSP218x系列DSP提供了三种引导方式:

  (1)无引导过程:DSP直接从地址0开始执行代码;

  (2)BDMA方式引导:复位后DSP以BDMA方式首先从字节存储空间拷贝前32字的程序代码,拷贝完程序从程序存储地址0开始执行代码。

  (3)IDMA方式引导:复位后DSP以IDMA方式可以存取任意数量的内部存储空间,当内部程序存储地址0被写入时,程序从程序存储地址0开始执行代码。

  以上设置都是在芯片复位的时候才进行检查,当复位信号有效时(reset=0),所有的三态输出管脚恢复为默认状态,然后在reset信号的上升沿处检查设置管脚MODE[A:D]的状态,自举逻辑开始生效。

  1.3 双DSP系统串行引导模式

  根据以上两种DSP的引导模式,选用串行引导模式,即把TMS320C62x作为主处理机,外围接8位宽的FLASH,采用ROM方式引导,TMS320C62x和AD-SP218x的程序都固化在FLASH中,ADSP218x作为从处理机,采用IDMA方式引导,并且两个DSP之间的通讯也采用IDMA方式。这样TMS320C62x可以把ADSP218x作为一个存储区来访问,既去掉了握手软件,提高了工作效率,又可以去掉ADSP218x外围的FLASH,减少了硬件花销。主要硬件连接示意图如图1所示。

  


  双DSP系统串行引导的过程如下:系统上电后,TMS320C62x从位于CE1空间FLASH中以ROM引导的方式复制一定数量的TMS320C62x程序至地址为Ox00000000的内部程序存储空间。当程序复制完毕后,TMS320C62x开始从0x00000000起始的程序地址开始执行程序,利用这段程序,把剩下的程序从FLASH中读出,TMS320C62x进入到正常工作状态。然后TMS320C62x负责将存储在FLASH中的ADSP218x的运行程序读出,通过IDMA接口发送至ADSP218x的片内PM存储区,执行对ADSP218x的程序装载。当ADSP218x引导完毕后,ADSP218x运行装入的程序进入正常的工作状态,至此系统串行引导完毕。

  2 双DSP系统串行引导的实现

  2.1 硬件连接

  TMS320C62x的低16位数据线ED15~0与ADSP218x的IAD15~0连接,TMS320C62X的低8位数据线ED7~0与FLASH的数据线D7~0连接。TMS320C62x的BOOTMODE[4:0]引脚配置如下:

  


  由于TMS320C62x与ADSP218x的IDMA通讯控制需要译码,因此加了一片CPLD,硬件连接图如图2所示。片内的逻辑方程为:

  


  2.2 TMS320C62x启动程序代码的创建

  TMS320C62x启动程序代码包含以下几个部分。

  2.2.1 中断向量表vectors.asm

  中断向量表缺省保存在TMS320C62x内部RAM的从0地址开始长度为0x200字节的空间,上电或复位后,芯片自动运行复位中断。因此,复位中断向量中应包含跳转到引导程序(_boot)的语句,引导程序的主体在boot.asm中定义。部分程序如下:

  


  2.2.2 自引导的汇编程序boot.asm

  自引导汇编程序主要是配置基本的寄存器,并将保存在外部FLASH中的二进制程序拷贝到DSP内部的RAM中再执行。汇编程序如下:

  


  2.2.3 主程序main.c

  主程序是DSP要实现具体功能的主体,其定义的主函数main()经编译后在函数_c_int00中调用,因此在上面的引导程序结束时,将跳转到函数_c_int00,即主函数main执行。另外在主程序中,还要包含把ADSP218x的应用程序从FLASH传送到ADSP218x内部存储区的子程序。

  2.2.4 链接命令程序link.cmd

  链接命令程序用于定义DSP系统各存储区的开始地址及大小,并分配编译后各段到相应的存储空间,link.cmd内容如下:

  


  2.3 TMS320C62X通过IDMA接口把ADSP218x程序拷贝到内部存储器的方法

  从TMS320C62x来看,IDMA接口只有三个寄存器,分别是IDMA控制寄存器IDMA_IAL,IDMA读数据寄存器IDMA_IRD和IDMA写数据寄存器ID-MA_IWR。

  该三个寄存器的定义如下:

  


  访问ADSP218x的内存单元一般需要三个步骤:

  第一步:向IDMA控制寄存器写该数据单元所在的页面。编程只需要向IDMA_IAL控制寄存器写入恰当控制字即可。例如要向APSP218x的PM区的第5页写数据,则应该有下面的命令:

  IDMA_IAL=0x8050;

  第二步:向IDMA控制寄存器写该数据的地址。

  如果是PM区,则该数据的地址为当前地址,如果是DM区,必须将当前地址加0x4000。例如要向PM区的0x0809区写数据,则应该有下面的命令:

  IDMA_IAL=0x0809;

  如果向DM区写数据,则有命令:

  IDMA_IAL=0x0809+0x4000;

  第三步:读写数据。如果是读数据,例如要将数据读入到unsigned short XX单元,则应该用下面的命令:

  XX=(unsigned short)IDMA_IRD;

  如果是写数据,例如要将数据unsigned short YY写入某地址单元,则应该用下面的命令IDMA_IWR=YY;

  注意以后每读取或写数据,IDMA接口的地址指针自动加1。

  TMS320C62x通过IDMA口,在启动后把AD-SP218x的应用程序拷贝到ADSP218x的内部存储器中。ADSP218x的应用程序作为一个asm文件供TMS320C62x应用软件调用,具体格式为:

  


  2.4 FLASH的在线烧写

  上面的工程文件经CCS系统编译、汇编后生成可执行COFF文件(.out),它需要转换成可供CCS调用的数据文件,通过JTAG口在线写入到FLASH中。利用TI公司的HEX6x.exe工具,将生成的.out文件转化成.hex输出文件。由于该HEX6x.exe工具是提供给EPROM编程器的,用EPROM编程器可直接烧写.hex文件。但对于FLASH的在线系统编程来说,生成的.hex文件不能直接使用,必须再编写一段程序将.hex的文件头去掉,分离出数据文件,最后才能由FLASH的在线烧写程序将最终的数据文件烧写到FLASH中。

  hex6x命令行的格式为:

  


  命令执行后会产生三个文件,这三个文件再经过转换融合成一个文件flash.asm,格式如下:

  


  3 结 语

  该系统经过单板和整机的高低温、振动、电磁兼容试验验证,系统在上电后能够100%的正常启动,性能稳定。该方法为编写由TMS320C62x和ADSP218x组成的双DSP系统的引导程序拓宽了思路,其设计思想对其他型号组成的双DSP系统的设计也具有借鉴意义。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯