TMS320C62x软件开发方法研究
扫描二维码
随时随地手机看文章
;;; 摘要:阐述了TMS320C62x的系统结构和软件设计方法,介绍了在TMS320C6201 EVM板上实现宽带毫米波雷达目标时延神经网络识别算法。通过程序验证,取得了比较好的处理效果。 ;;; 关键词:TMS320C6201 DSP 软件设计 实时处理 目标识别 数字信号处理(DSP)技术近年来取得了高速发展,目前DSP芯片已经广泛地应用于通信、图像处理、语音处理、雷达等领域。TI公司是当今世界DSP芯片的主要供应商之一,其TMS320C6000是TMS320系列产品中的新一代高性能DSP芯片,其中定点系列为TMS320C62x,浮点系列为TMS320C67x。TMS320C6201芯片是定点系列的代表产品,其处理能力高达1600MIP。本文着重介绍TMS320C62x的软件设计方法,燕对TMS320C62x的系统结构以及基于TMS320C62x的软件设计方法,在TMS320C6201上实现宽带毫米波雷达目标时延神经网络识别算法进行阐述。 1 TMS320C62x的系统结构 TMS320C62x的系统结构如图1所示,TMS320C62x处理器由三个主要部分组成:CPU内核、外设和存储器。CPU内核中的8个功能单元可以完成并行运行,功能单元执行逻辑、位移、乘法、加法和数据寻址等操作。TMS320C6000系列芯片的体系结构采用甚长指令字(VLIW)方式,单指令字长32位,每条32位指令占用一个功能单元。取指令、指令分配和指令译码单元每周期可以从程序存储器到功能单元传递8条指令,这8条指令组成一个指令包,总字长为8×32=256位。芯片内部设置了专门的指令分配模块,可以将每个256位的指令包分配到8个功能单元中,并由8个功能单元并行运行。TMS320C62x芯片的最高时钟频率可以达到200MHz,8个功能单元同时运行时,该芯片的处理能力高达1600MIP。 TMS320C62x芯片的片内存储器总容量为1M,其中2K×256位用于程序内存和程序cache,宽度为256位;64K字节用于数据内存和数据cache,用户可以访问8位、16位和32位的数据。TMS320C62x芯片的外设模块包括多通道缓冲串口、时钟、外部存储器接口EMIF、DAA控制器、主机口和Power-down逻辑等,DMA控制器可以在存储器空间的没区域间控制转移数据;外部存储器接口EMIF可以访问的片外存储器最大容量为64MB,数据总线宽度为32位,同时也提供对8位和16位存储器的读写支持;16位宽的主机口HPI可以访问TMS320C62x的所存储空间和设备;多种外设模块使得TMS320C62x芯片的功能十分强大。
2 TMS320C62x的软件设计方法 用户在开发应用软件时,首先应当明确应用软件的功能和性能要求,然后按照代码开发流程的三个阶段进行软件设计:第一阶段是开发C代码;第二阶段是优化C代码;第三阶段是编写线性汇编代码。以上的三个阶段是不必须经过的,如果在某一阶段已经实现了应用软件的功能和性能要求,那么就不必进入下一个阶段。代码开发流程图如图2所示。 2.1 开发C代码 开发C语言代码需要考虑的要点包括:①数据结果;②分析C代码性能;③使用查找表;④用整形数(int)表示浮点数。 2.1.1 数据结构 TMS320C62x编译器对每种数据结构定义一个尺寸,字符型(char)的8位,短整型(short)为16位,整型(int)为32位,长整型(long)为40位,浮点型(float)为32位,双精度浮点型(double)为64位。在编写C代码时应当遵循的规则是:避免在代码中将int型和long型作为同样尺寸处理,因为编译器对long型数据使用40位操作;对于定点乘法,应当尽可能使用short型数据,这种数据类型可以更有效地使用TMS320C62x的乘法器;对循环计数器应当使用int或者无符号int类型,而不使用short或者无符号short类型,以避免不必要的符号扩展。 2.1.2 分析C代码