ANSI C代码在TMS320C55X上的移植和优化-国际工业自动化网-控制,工控,网络,仪器仪表,产品,采购选型,推荐,问答,资料,下载
 IIA首页    新闻      案例      工业经理人
      产品         技术      专题      工程师社区
      学院         下载      视频      在线研讨会
现场层       传感器    现场仪表   工业安全
现场总线  工业以太网   工业无线  工业连接
机器视觉    测试测量   执行机构   电子元件
机器控制/过程控制     PLC    DCS
 控制系统  控制软件   HMI   运动控制
 嵌入式系统   工业机器人
优化/集成/管理
MES    PLM    工业数据中心
能效管理    设备管理与维护
可持续发展技术专题 2011汉诺威工业博览会回顾
 

案例

Application Case

   首页  >  传感器  >  案例  >  正文

ANSI C代码在TMS320C55X上的移植和优化


http://www.iianews.com ANSI C 代码 TMS320C55X 2010年02月25日

 引言  

       随着DSP技术的不断发展和完善,数字信号处理的应用范围越来越广泛。工控、计算机、通信和消费电子产品中,都会找到它的影子。到了20世纪80年代后期,各个DSP的生产商都推出了自己的高级语言编译器。这使得利用高级语言开发DSP软件成为可能。

        编译器的原理是通过特定的语法规则把高级语言书写的逻辑转化成特定硬件平台所认知的汇编语言。由于编译器的首要性能是依据一定的规则编译出逻辑正确的代码。这样在保证正确性的前提下,编译出的汇编代码冗余很难兼顾效率。在一些实时性要求比较高的场合,例如在语音图像处理方面,必须对某些关键的算法进行优化。本文以TI公司的DSP芯片TMS320C55X为例,介绍如何对一个工程进行优化。


优化的一般步骤

        在高级语言编译器出现以前,由于软件部分都是由汇编来完成,并且写出的代码性能都比较高,所以代码的优化在开发过程中已经完成,不需要把优化单独地作为开发的一个步骤。现在随着高级语言应用到DSP系统的开发中,在软件功能实现的基础上,软件执行效率的优化显得愈加重要。每个人在优化过程中使用的具体方法各有特点,但在总体上还是有一定的规范可寻。
        笔者根据自己的实际工作经验,并参照其它比较成功的优化实例,总结了以下几个步骤,作为优化过程的参考。:

(1)向C55X上移植所需的准备工作:数据类型的定义、intrinsic函数的使用、为适合多通道的应用所做的代码的修改。    

(2)工程层的优化:对于函数体较小的函数使用"inline"限定词、数据的对齐。    

(3)C函数层的优化:针对TMS320C55X系列芯片的内部结构;改变C代码使其能在硬件最大使用概率的条件下,降低算法的用时。

(4)部分算法的修改。

(5)部分函数的手工汇编。

向C55X上移植所需的必要工作

       由于DSP硬件结构的约束,用C语言开发的代码在向其移植时,必须作相应的改动,来适应特定硬件平台的特点。总结移植所需要的工作,主要有以下几点:
       (1)数据类型的定义。由于C55X系列芯片是TI公司生产的定点DSP芯片,其中累加器为40位。为了实现定点小数的数学运算,定义一个typedef.h的文件,在typedef.h文件中定义了几种数据类型。Word16对应short型;Word32对应long型;Flag对应int型。

      (2)Intrinsic函数的使用。由所定义的数据类型可以实现定点的数学运算,由于这些基本的计算被多次使用,所以TI公司提供了这些函数的优化汇编代码。在算法实现代码文件头中加入"#include<gsm.h>"语句,但代码中调用了这些函数,则在编译时会自动把优化过的汇编代码嵌入到输出文件"*.asm"中,从而节省了大量的时间。

        (3)为适合多通道的应用所做的代码修改。在 DSP 上实现的有些算法,例如语音的编解码等,需要同时处理多个通道。由于硬件资源(内存等)在工程的设计阶段已经划分完毕,所以要求在算法内不能在有内存的动态分配。解决的方法是事先把需要动态分配内存的变量放到一个结构体当中,集中在工程的设计阶段分配好内存。例如,将有关编码需要动态分配内存的数据结构合并为一个独立的结构体。这样当有多个通道同时工作时,只要对每一个通道分别开辟一块内存,公用算法代码,就可以实现多通道的应用。

工程层的优化

      在工程层的优化中一般使用以下两种技术:内嵌函数和数据对齐。
(1)内嵌函数

       所谓的函数内嵌,是指用函数的本体代替函数的调用这一过程。这项技术去掉了复杂的函数调用过程来提高函数的执行效率,而付出的代价是增加了代码所占用的空间。

 [1]  [2]  [3] 

 
相关链接
C语言编码规范 [ 2010-02-25]
CRC算法原理及C语言实现 [ 2010-02-25]
C语言高效编程的几招 [ 2010-02-25]
嵌入式系统内存管理方案研究 [ 2010-02-25]
英维思发布DYNSIM中保真仿真解决方案 [ 2010-02-24]
研华新推Intel® Atom™凌动ARK系列嵌入式工控机 [ 2010-02-24]
《控制》杂志授予英维思运营管理多项“读者选择奖” [ 2010-02-23]
GE传感与检测技术推出最新压力传感平台UNIK 5000 [ 2010-02-22]
控创XMC-ETH2双千兆以太网接口的夹层板 [ 2010-02-11]
什么是组态 [ 2010-02-09]
基于组态软件的仿真变电站监控系统的实现 [ 2010-02-09]
FCS与DCS混合式集成控制系统研究 [ 2010-02-09]
  相关群组   
   DCS论坛
已有 147 人加入  展示国内外DCS控制系统的先进性、优越性、典型的控制方案、复杂的控制方案以及DCS的发展等等。欢迎大家参与论坛
   PLC
已有 48 人加入  
   autoCAD论坛
已有 35 人加入  
   控制软件Control Software
已有 32 人加入  控制软件Control Software
   西门子PLC
已有 30 人加入  Simens PA
  相关话题   
  从PC到IPC
  PLC上海代理商
  FDT/DTM的国际标准――IEC 62453
  施耐德电气Mic E 游戏大闯关
  如何编写PLC程序
  直接转矩控制(DTC)系统
  和利时LK系列PLC应用汇总
  CIAI凸显自动化系统国产化新趋势 自主创新成企业助推器
  TD-LTE-Advanced技术特点
  cdma20001x系统支持两种认证触发方式
  相关问答   
静电容型的接近传感器,如:E2K-X或E2K-C系列,是PNP还是NPN的,它是M几的螺纹? E2K-C
这种传感器器感应的距离是多少,几线的
  相关产品

西门子雷达物位计SITRANS LR560

HG2G/3G/4G可编程人机界面

MHAD无轴承旋转编码器

rBOX 100嵌入式系统
  推荐企业
菲尼克斯电气  
  关于 " ANSI C代码在TMS320C55X上的移植和优化 " ,填写反馈

验证码:    看不清

用户名:          密 码:         
还不是 IIAnews 注册会员? 立即免费注册 节省更多时间!
  直通车 :   ( 无须注册,轻松沟通 )
*姓名:     *单位名称:
*电话:     *电子邮件:
 
    
 

行业导航

电力    冶金    石化    医疗    建材
交通    电子    机械    节能    汽车    OEM
2012工业通讯技术应用峰会
产品点通
交换机  串口服务器  控制器  工控机  平板电脑  人机界面
传感器  视觉系统  伺服电机  PAC   I/O模块   MES  触摸屏
PLC  继电器  变送器  步进电机
主编直播间
在线提问  主编观点
•  2011年自动化市场回顾
•  MES提供从控制到管理的协同制造
•  定制创新服务模式—SFAE助力中山市松德包装机械股份有限公司...
•  风电变桨控制系统调查
•  投票你觉得性价比最好的人机界面
最新话题
在线研讨会
 • 1st Web-Seminar for PCS 7 Specialists: Customer Be
 • 2011研拓自动化全方位运动控制产品与系統解決方案
 • 2011科尔摩根 (Kollmorgen) KBM无框架直驱电机产品介绍
 • 美国福禄克(FLUKE)电能质量与设备使用的关系
 • 科尔摩根运动控制产品及其印刷行业应用方案
最新视频
西门子全集成自动化视频8- 国际化的设备
全面进军国际市场需要面对众多挑战。您必须将软件、文档、说明手册翻译成多
•   西门子全集成自动化视频7- 轻松集成
•   施耐德电气案例展播之建筑楼宇
•   施耐德电气案例展播之数据中心
•   菲尼克斯电气标识系统产品视频
•   西门子全集成自动化视频6- 生产透明度
编辑推荐
•  霍尼韦尔将2012年的年度用户大会(HUG)大学生挑战赛活动扩展至亚太地区
•  倍加福邀您共襄沈阳制博会盛事
•  SICK 传感器公司中文名称变更通告
•  堡盟南京办事处正式成立
•  艾默生通过并购扩展其安全业务
•  西门子进入与中国全面合作的新时代
•  霍尼韦尔推出第六代二维影像扫描引擎N5600
•  ABB低压产品获多项国内行业大奖
•  IdesAB与国家电网供应商格蒂电力公司签署合作协议
•   铁道部:中国完全掌握高速动车关键技术
市场调研

搜企
首页 | 国际金属加工网 | 造车网 | 会员 | 主题信息 | 自动化问答 | 网站地图 | 免责声明 | 关于我们 | 主编信箱
北京市朝阳区东四环中路58号远洋国际中心C座2402室 电话: 010-65307950 传真: 010-65307859
Copyright ©1997-2012 IIA News.com & SooQ. All rights reserved.