当前位置:首页 > 单片机 > 单片机
[导读]本文以TI公司的54系列DSP为例,通过对DSP开发过程的分析和代码生成机理的深入研究,找到了一种对DSP器件进行现场编程的方法。

    DSP问世以来,以其强大的功能、合理的价格已经被设计者广泛应用。但不同于FPGA器件的是,DSP并不是为现场可编程而开发的,因此,在嵌入了DSP器件的产品中,如果需要对产品性能进行升级而需要升级程序时,往往会由于现场可编程能力缺乏,而给用户造成麻烦。本文以TI公司的54系列DSP为例,通过对DSP开发过程的分析和代码生成机理的深入研究,找到了一种对DSP器件进行现场编程的方法。

1 54x DSP的开发
    CCS集成开发环境是TI公司针对其全系列DSP开发的仿真编译器,可开发目前TI公司几乎所有类型的DSP芯片。在CCS集成开发环境下,54x DSP的开发一般分为以下几个步骤:程序编写、程序编译、COFF文件生成、仿真运行、HEX文件生成、程序存储器烧写和上机运行等,具体流程如图1所示。


    在源程序正确的情况下,可编译生成COFF(common()bject File Format)文件,其后缀为.out,可用于进行硬件仿真运行,但不能直接作为程序烧写。如果要将程序写入DSP的外部程序存储器,首先要根据.out文件生成HEX文件。

    HEX文件的生成需要调用专用的生成程序HEX500,在WIN32环境下执行HEX500*.cmd命令,生成需要的*.hex文件。按照命令文件*.cmd中的选项,可设置存储器的类型、位数、起始地址,程序的人口地址、引导方式和hex文件的格式等。下面是一段用串口对8位串行EOPROM进行引导的命令文件的例子。

123.out /*输入文件名*/
-i /*INTEL格式*/
-map 123.mxp
-o 123.hex /*输出文件名*/
-memwidth 8 /*8位存储器*/
-romwidth 8 /*输出文件为字节*/
-bcrotorg 0x0000 /*外部存储器开始地址*/
-bootorg serial /*串口装载*/
-e_main /*主程序人口*/
SECTI()NS
{.text;boot
} /*整个程序作为一段引导*/

2 HEX文件
    CCS的编译器和链接器生成COFF目标文件。COFF目标文件是二进制格式,有利于模块化编程和更高效的程序片断和目标系统存储器管理。但是大多数的编程器不接受COFF文件。可以用HEX转化程序将其转换为以下5种标准的ASCII十六进制格式:
    ◇ASCII-HEX,支持16位地址}
    ◇扩展的TeKtronix;
    ◇Intel MCS-86;
    ◇Motorola-s,支持16位、24位、32位地址;
    ◇TI Tagged,支持16位地址。

    仍然用前面的例子,命令文件生成的HEX文件片断如图2所示(用UltraEdit-32打开)。


    在命令文件中,也可以根据具体应用情况的不同规定不同的参数,例如,当使用并行存储器作为程序存储器时,则引导装载命令就要改为parallel。具体参数设置见参考文献[1]。

3 硬件编程接口
    为仿真调试的方便,54x DSP器件都具有仿真编程用的JTAG接口,其引脚定义如图3所示。


    通过JTAG口,可以与DSP建立通信联系,并通过特定的程序,控制DSP的内部单元,让DSP执行预定的操作.这是DSP实现现场可编程的硬件基础,如图4所示。


4 现场可编程的实现方法
    由于DSP的程序一般存储在外部存储器之中,因此,现场可编程的实现就是要将新程序通过DSP写入存储器。在以前,由于存储器的烧写电压普遍高于其工作电压,只能通过编程器烧写.随着技术的发展,现在许多E2PROM、Flash存储器等都可进行电擦写,擦写电压和工作电压一致,因此完全可以进行工作电压下的编程。

    对DSP进行现场编程,需要用到的器材有计算机和DSP仿真器;需要用到的软件有CCS集成开发平台、UltraEdit-32程序和DSP现场编程程序。具体操作步骤如下:
    ①在CCS集成开发环境下,将程序编译完成,并在目标板上运行通过。
    ②打开程序存储器窗口,根据程序的起始、结束地址,将整个程序代码存储为一个数据文件(dat文件)。
    ③生成hex文件。
    ④用UltraEdit-32程序打开hex文件,找出程序人口值和程序长度值以及程序开始地址值.
    ⑤调入烧写程序,并装载入系统芯片.
    ⑥将程序入口值、程序长度值、程序开始地址值填人现场编程程序中并编译通过。
    ⑦将存储的程序代码调入数据空间的适当位置(存放位置自定)。
    ⑧运行现场编程程序,通过DSP将代码写入外部程序存储器。
    以上步骤仅在编程开始时进行,一旦编程开始,就可以连续对多个器件现场编程。

    DSP现场编程程序的编制也很简单。下面的参考程序是根据前面的命令文件参数编写的,并经仿真验证通过。设定Mc·BSP2口以SPI方式引导串行E2PROM。
.text
…… ;McBSP2口SPI初始化,主动方式
STM #1000H,ARl;从1000H开始10个字为程序
;代码前的数据
ST #08AAH,* ARl+ ;引导头
ST #0018H,* ARl+
ST #O003H,* ARl+
ST #0800H,* ARl+
ST #D010H,* ARl+ ;不重要
ST #000lH,* ARl+
ST #0C428H,* ARl+ ;主程序人口为1C428H
ST #2340H,* ARl+ ;程序代码总字数2340H
ST #000lH,* ARI+
ST #0C000H,* ARl+;程序开始地址1C000H
STM #(1000H+0AH+2340H),ARl
ST #O,* ARl;最后放结束标志#0000H
STM #O,ADDRESS ;地址寄存器清零
STM #1000H,AR2 ;程序代码开始地址
STM #(0AH+2340H+1),BRC
RPTB LOOP ;写循环
LDM ADDRESS,A
SFTL A,-8
AND #OOFFH,A
OR #0200H,A
STLM A,AR3 ;写指令+地址高位
LDM ADDRESS,A
SFTL A,8
AND #OFF00H,A
LD * AR2,B 

SFTL B.-8 
AND #0FFH,B 
ADD B.A 
STLM A,AR4 ;地址低位+数据字节
LDM ADDRESS.A 
ADD #1.A
STLM A,ADDRESS ;E2PROM地址+1 
CALL WRITE ;写E2PROM子程序 
LDM ADDRESS,A 
SFTL A,-8 
AND #00FFH,A 
OR #0200H,A
STLM A,AR3 ;写指令+地址高位 
LDM ADDRESS,A 
SFTL A,8 
AND #0FFOOH,A 
LD *AR2+.B;程序代码地址+1 
AND #0FFH,B 
ADD B.A 
STLM A,AR4 ;地址低位+数据字节 
LDM ADDRESS,A
ADD #1,A
STLM A,ADDRESS ;EOPROM地址+1
CALL WRITE;写EOPROM子程序
LOOP:NOP
.end


结 语
    本文介绍的DSP现场可编程方法,经实际应用效果良好,其方便灵活的特点增强了现场处理问题的能力。由于其完全由软件实现,因此这种方法同样也适用于其他品牌的DSP产品。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着在线会议、直播和游戏语音交流的普及,高质量的音频输入设备变得越来越重要。为此,边缘AI和智能音频专家XMOS携手其全球首家增值分销商飞腾云科技,利用其集边缘AI、DSP、MCU和灵活I/O于一颗芯片的xcore处理器...

关键字: AI DSP MCU

在电子系统中,电源如同人体的心脏,为各个元器件提供持续稳定的能量。而电源系统电流的合理分配,更是决定了整个系统能否稳定、高效运行的关键因素。不合理的电流分配,可能导致某些元器件供电不足,无法正常工作;也可能使部分器件电流...

关键字: 电源系统 器件 电流

多DSP集群的实时信号处理系统,通信拓扑的优化直接决定任务调度效率与系统吞吐量。RapidIO与SRIO作为嵌入式领域的主流互连协议,其带宽利用率差异与QoS配置策略对集群性能的影响尤为显著。以无线基站、雷达阵列等典型应...

关键字: DSP 通信拓扑优化

随着5G网络普及与物联网设备爆发式增长,边缘计算正从概念验证走向规模化部署。据IDC预测,2025年全球边缘数据量将占总体数据量的50%,这对边缘节点的实时处理能力提出严苛要求。在此背景下,AI加速器的DSP化趋势与可重...

关键字: AI加速器 DSP

在工业控制领域,数字信号处理器(DSP)的性能直接决定了系统的实时控制能力和可靠性。德州仪器(TI)的C2000系列芯片凭借其卓越的采样、控制和功率管理能力,长期以来在全球工业控制市场占据绝对领导地位,广泛应用于能源、电...

关键字: TI C2000 DSP 格见半导体 芯来 RISC-V 工控

2025年7月16日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 持续供货Texas Instruments (TI) 的新产品和解决方案。作为一家授权...

关键字: 线性稳压器 栅极驱动器 DSP

在当今数字化浪潮的推动下,数据流量呈爆炸式增长,数据中心、5G通信网络以及云计算等领域对高速光通信的需求愈发迫切。800G光模块作为高速光通信的关键组件,其性能直接影响着整个通信系统的传输效率和可靠性。数字信号处理(DS...

关键字: 800G DSP PAM4均衡算法

以氢燃料电池空压机为研究对象 ,开发超高速永磁同步电机控制器 ,采用传统的IGBT主功率器件 ,且为两电平主回 路结构形式 ,通过改进的V/F控制算法 ,完成了控制器的设计。搭建了试验平台进行测试 ,结果表明 ,控制器能...

关键字: 超高速永磁同步电机 V/F控制 DSP

医疗设备智能化进程,数字信号处理器(DSP)作为核心计算单元,承担着实时处理生物电信号、医学影像等敏感数据的重任。然而,随着医疗设备与网络互联的深化,数据泄露风险显著增加。美国《健康保险流通与责任法案》(HIPAA)明确...

关键字: 医疗设备 DSP

数字信号处理器(DSP)作为实时信号处理的核心器件,其架构设计直接决定了运算效率与功耗表现。自20世纪70年代DSP理论诞生以来,其硬件架构经历了从冯·诺依曼结构到哈佛结构的演进,这一过程体现了对实时性、并行性与存储带宽...

关键字: DSP 冯·诺依曼
关闭