TMS320C54x

2024-10-21

TMS320C54x(共4篇)

TMS320C54x 篇1

振动时效,即工程上常被称为的“振动消除应力法”,是一种消除零部件热处理或冷加工后残留下来的残余应力、改善其后续加工尺寸精度稳定性的常用方法。振动时效的工作过程是使工件在固有频率或附近频率下经数分钟至数十分钟的振动处理,具有低能耗、省时、效果明显等特点,已在国内外得到广泛研究与大规模应用[1]。

近年来,微电子技术的迅速发展提供出高性能低价格的DSP芯片,为快速实现各种数字信号处理算法提供了有利条件[2]。根据振动时效装置的特点,本文基于TMS320VC54x芯片设计了一个可最大化DSP计算速度优势的数据采集与数据处理系统,对振动时效过程中的振动数据进行实时采集与处理,并可对处理后的信息进行实时反馈,实现迅速识别和提取目标数据的目的。

1 系统硬件设计

本文设计系统由电量信号预处理电路、A/D转换电路、DSP及其外围电路和通信接口电路组成,图1为振动时效装置的信号处理原理图。为保证合理、有效并快速消除工件的残余应力,整个信号分析系统的核心功能是绘出精确的扫频曲线,之后工件的共振频率及时效频率可据此曲线确定。该系统采集到的原始信号为时域下的工件振动幅度,目标要求需要绘制出扫频曲线,以得到在每个频率下单位激振力下响应幅值,即单位激振力下工件的幅值响应曲线,故分别采用时域分析法和频域分析法对信号进行分析处理。

1.1 放大与滤波电路

电路对放大器的基本要求是:线性好,增益高,动态响应快,抗干扰能力强,输入阻抗高(减小电桥功耗),输出阻抗尽量小,便于信号传输。该系统电路使用CMOS5-TLC27L4功率放大芯片。加速度传感器输出电压范围为0.5~4.5 V,AD转换为单极性输入且量程是0~10 V,为提高系统精度,设计放大电路使传感器输出的电压值满足AD输入的量程范围。系统采用TLC04/MF4A-50来构成基本滤波电路。为方便系统应用和提高系统稳定性,在该系统中采用内部时钟源,采用施密特触发器振荡器自定时的双电源供电。

1.2 数据采集电路

此振动时效装置对数据精度要求较高,考虑到16位AD转换器价格较高,且在此系统中不能充分发挥出其潜力,经综合考虑后选择美国模拟器件公司生产的12位A/D转换器AD1674,片内包含高精度的参考电压源和时钟电路,使它在无外部电路和时钟信号的情况下完成一切AD转换功能,应用方便[3]。基于转换器AD1674芯片设计出的数据采集电路如图2所示。而在工作过程中,A/D转换采用如图3所示的8253定时脉冲和写端口两种A/D启动方式。

1.3 DSP数字信号处理电路

图4为美国TI公司生产的DSP数字处理芯片TMS320系列与AD1674模数转换的接口电路。DSP芯片是系统数字处理的核心,数字滤波、快速傅里叶变换(FFT)处理等都靠其强大的运算功能得以实现[4]。DSP输出的是数字信号,在有些场合输出的数字信号能满足系统要求,但多数经过DSP处理的信号必须转换为模拟信号,由D/A转换芯片来实现。

2 数据采集及处理主程序设计

系统中振动时效装置采用单片机控制,激振器由直流电动机驱动,涉及到加速度传感器信号采集、AD1674模数转换、时域分析中的卷积实现、数字滤波和FFT在DSP芯片TMS320C54x上的实现等软件编制。使用的软件开发工具为Keil C51编译器,程序采用高级语言C和汇编语言编写,软件部分具有数据采集、数据分析处理等功能。

2.1 数据采集子程序

本文基于AD1674设计的接口电路3种数据传输功能中,采用DMA方式实现数据的快速传输,而8253定时脉冲和写端口两种A/D启动方式可更加灵活地设定采样频率。

2.2 时域分析和频域分析

本文针对信号的采样和谱分析内容主要包括以下两个方面:

1) 考虑模拟信号经采样后利用FFT算法得到的频谱如何分析模拟信号的频谱;

2) 数字信号处理中滤波器的应用,时域分析方法与频域分析方法的异同及两种方法的交互使用。

时域分析与频域分析结果表明:

1) 时域分析结果的整体情况与滤波器的长度没有直接关系,但滤波器的长度越长效果也越好,但计算量随之越大;

2) 频域分析时要求滤波器的长度与信号的长度一致,这对于信号长度大的信号来说计算量增大,特别是在采样频率较高的情况下。

2.3 DSP芯片的FFT实现

旋转因子在FFT运算中的计算方法直接影响运算速度[5]。由原位计算可知,若序列x(n)经时域倒序后存入数组X(n)中,则其蝶形运算可表示为

XL(J)≤XL-1(J)+XL-1(J+B)WΝΡ (1)

XL(J+B)≤XL-1(J)-XL-1(J+B)WΝΡ (2)

P=J×2M-L;J=0,1,…,2L-1;L=1,2,…,M

式中:下标L表示第L级运算;B表示蝶形运算中两个输入数据点的间距;XL(J)则表示第L级运算后数组元素X(J)的值。

3 结论

本文针对振动时效装置的特点,设计并实现了基于TMS320C54x与AD1674芯片的数据采集与处理功能,并完成了基于DSP芯片的FFT功能进而进行中心频率与谱分析。该系统充分利用DSP快速计算的优势,可实时采集、处理并反馈振动时效过程中的振动数据,完成目标数据的快速识别与提取任务。同时,该系统可十分方便地对本文中所采用的DSP芯片进行编程以修改数字滤波的参数、特性。另外,利用DSP实现数字滤波器设计,在数据处理过程中,具有较少的存储空间占用,稳定、快速且可靠的运行速度等优点,非常适用于需要实时滤波的应用场合。结合具体的信号处理应用系统,可实现后续功能及整体DSP硬件系统的开发和设计,进一步完善DSP数据处理性能。

摘要:振动时效(VSR)技术因其低耗能、省时、效果明显等特点,在国内外的研究进展与应用领域逐渐扩大。振动时效的核心装置是数据采集处理模块,只有精确数据获取、分析与计算才能保证系统的精度和可靠性。基于TMS320C54x与AD1674设计了数据采集与处理系统,分析了采集数据在时域及频域的特性。连续时间信号的时域分析借助于冲激响应和叠加原理求系统的零状态响应;而频域分析基于快速傅里叶变换,系统由TMS320C54x芯片完成数字滤波与快速傅里叶变换等数据处理工作,具有高速、高性能等优点。

关键词:振动时效,TMS320C54x,AD1674,时域,频域,快速傅里叶变换

参考文献

[1]芦亚萍,何闻.振动时效机理及其对疲劳寿命的影响分析[J].农业机械学报,2006,37(12):197-200.

[2]蒋威.基于DSP的自适应有源噪声控制实验系统[J].微计算机信息,2011,(5):76-77.

[3]董琰婷,张杰.模数转换器AD1674接口电路的改进[J].电子技术应用,1998,24(4):62-63.

[4]胡剑凌,徐盛.数字信号处理系统的应用和设计[M].上海:上海交通大学出版社,2003.

[5]张勇,陈天翼.C/C++语言硬件程序设计—基于TMS320C5000系列DSP[M].西安:西安电子科技大学出版社,2003.

TMS320C54x 篇2

关键词:DSP芯片 TMS320C54X ADSP-218X 性能比较

从1982年第一片数字信号处理器(Digital Signal Processor,DSP)TMS320C10产生以来,经过二十年的发展,DSP以其卓越的性能、独有的特点,已成为通信、计算机、消费类电子产品等领域的基础器件。业内人干预言,DSP将是未来集成电路中发展最快的电子产品,并成为电子产品更新换代的决定因素,它将彻底变革人们的作、学习和生活方式。

DSP[6][8][9]具有两种算术结构:定点和浮点。从理论上讲,虽然浮点DSP的动态范围比定点DSP大,且更适合于DSP的应用场合,但定点运算的DSP器件的成本较低,对存储器的要求也较低,而且耦电较省。定点运算的可编程DSP器件仍是市场上的主流产品。据统计,目前销售的DSP器件中的80%以上属于16位定点可编程DSP器件。其中,TI公司的TMS320C54X系列和ADI公司的ADSP-218X系列是目前广泛使用的主流定点DSP芯片。下面就以它们为研究对象,结合Geffe发生器[7]和MD5算法的实现,对其性能进行分析比较。由于TI的TMS320VC5402和ADI的ADSP-2186N是使用较多的两款,硬件性能指标又相近,有很好的可比性,所以编程实现时选择它们为具体芯片。虽然两款DSP芯片都提供C编译器,但是因为效率都不高,这里我们就不作讨论。下面的论述都是基于直接用汇编语言编程的。

1 Geffe发生器与MD5算法

先简单介绍一眄两个算法。Geffe发生器是一种密钥序列发生器,它利用线性反馈移位寄存器(Linear Feedback Shift Register,LFSR)产生序列密码。Geffe发生器使用了三个LFSR,它们以非线性方式结合,其中两个LFSR作为复合器的输入,第三个LFSR控制复合器的输出。因为运算量很大,所以LFSR用软件实现起来比较慢,但是用汇编语言实现比用C语言实现快。

TMS320C54x 篇3

关键词教学改革DSP 教考分离

中图分类号:G423文献标识码:A

《TMS320C54x DSP结构、原理及应用》是一门难度系数高、实践性强的课程,通常在研究生阶段或本科高年级阶段作为通信、电子信息类的专业课来开设。随着DSP技术的不断发展,DSP芯片的开发套件价格不断下降,以及研究DSP芯片开发的高校教师人数的不断增多,近几年该门课程在高职专科高年级阶段也得以广泛开设,这对进一步完善电子信息类专业高职学生的知识体系很有帮助。作为通信、信息类专业核心课程之一,《TMS320C54x DSP结构、原理及应用》课程在培养高素质复合技能型人才的知识体系中占据着相当重要的地位。本课程以前只为本科高年级或研究生阶段的学生开设,针对该层次的教学方式方法并不一定适合于高职高专层次的学生,而且传统的DSP教材编制与教学方法均建立在本科或研究生层次学生专业基础比较完善的基础之上,如果生搬硬套研究生或本科教学的模式,高职院校学生在学习的时候就普遍感觉有难度。本人通过两学期DSP教学的实践经历,对DSP教学过程中出现的问题有了一定了解,结合几年单片机教学的经验提出自己一些关于DSP教学方面的认识。

1普及DSP技术常识,培养学习兴趣

DSP器件的应用主要是在数据通信、海量存储、汽车电子及消费类的音频和视频产品上,因此DSP器件的主要优势就在语音、图像等高数据量信息的算法处理与计算上,这对专业基础比较薄弱的高职学生的逻辑能力和思维灵活性提出了相对较高的要求。但在初高中、甚至是高校现行的相关教材中能体现DSP芯片相关知识的章节与篇幅又比较少,学生在未接触本门课程前关于DSP的概念也知之甚少,同时很多学生对DSP这门技术的学习需求及该技术的市场前景认识不足。因此必须在讲解这门课之前普及DSP技术常识,提高学习兴趣,因为学生学习兴趣的高低直接影响后续的学习效果。鉴于此,有条件的学校可以让教师带学生参观通信类、消费类电子产品的研发部门,来提高学生对产品开发的兴趣,或者也可在课堂上拆解具有DSP芯片的手机或硬盘来使学生获得关于DSP芯片的感性认识,也可以通过播放科技短片的形式来普及DSP的应用领域,这比纯粹照本宣科的介绍要深刻得多,更具感召力。

2调整DSP教学内容,化烦为简

DSP教学内容主要建立在计算机体系结构、信号处理、汇编语言与C语言基础之上。虽然DSP芯片的应用领域跟单片机有所不同,但它们之间也有很多必然的联系,如果学生学习过《单片机原理与应用》课程,那学习DSP技术就更能得心应手。在传统的DSP教学中,均是以DSP内核结构为主线,先讲DSP芯片的硬件结构,接着介绍指令和软件编程,然后介绍开发环境的使用,各种外围器件的应用和DSP系统的扩展,最后再讲一些系统应用的实例。按照此种教学结构,高职学生普遍感到难以接受。因此,对DSP芯片的教学内容必须进行必要的调整与更新。鉴于学生已经学习过计算机体系结构、 单片机原理等课程,学生对微处理器结构与芯片开发的大致过程已有所认识,因此调整后的DSP课程内容可采用以课题驱动的模式来进行,而并不拘泥于DSP本科教材中所涉及的每个知识点的讲解。学生可以通过多个不同侧重点的课题的练习来不断完善对DSP芯片硬件结构与指令系统的理解。

3调整教学组织方式,提倡比较式教学

由于学生已经学习过《单片机原理与应用》,当再次学习DSP芯片技术时,难免会将单片机的内部结构与DSP芯片的内部结构,单片机的程序架构与DSP芯片的软件架构,以及各自的汇编语言相混淆起来。因此当教师讲解DSP芯片知识点的时候,可将单片机的相关知识点与其作比较,加深学生对知识点的理解。例如在讲解DSP芯片堆栈的使用时,由于DSP 系统堆栈与单片机系统堆栈既有联系,又有区别,如果教师在讲解时能详细分析两者的相同点与不同点,并在实验室演示堆栈压栈与出栈的指针变化,这对学生理解堆栈的使用是很有帮助的。

4压缩理论教学学时,增加实践性教学学时

以课题驱动为导向学习DSP技术,并不是完全放弃DSP的理论学习,而是不以理论教学为纲。对学生来讲,理论教学的目的是最终的实践应用,压缩理论学时,增加实践学时也顺应了高职高专教育所要求的强化学生实践动手能力的培养思路。由于DSP课程所涉及的内部结构图、电原理图、寄存器内部配置、程序内容多而复杂,通过黑板绘制电路图、板书程序的方式并不合适,既浪费时间,也难以分析清楚。通过PPT与黑板板书相结合是比较理想的方式,这样既(下转第18页)(上接第14页)提高了讲解的效率,也压缩了理论讲解的时间。对于实践环节主要分几个部分:学生接到课题以后,以小组的形式对课题内容进行分析,分析课题中所涉及的硬件原理图的组成,例如电源电路、晶振电路、复位电路、抗干扰电路、外围接口电路等设计方法。所涉及的各个知识点,每组同学都可通过讨论一起解决。同时要求学生用所学的Protel99se软件绘制出电路原理图,生成PCB板。由于课堂时间有限,可让学生在课余时间完成原理图和PCB板的绘制,可作为课题考核的一部分。软件的实现通常先由教师提供实验例程的书面材料,学生在DSP芯片集成开发环境CCS软件中完成实验例程的录入与调试。课题完成的时间可限定在1至2周,在这期间教师对学生实验过程中的重点、难点、关键点、及学生操作过程中存在的问题进行实时讲解,特别是学生在调试过程中碰到的问题,教师必须要为其提供解决思路。通过若干个课题的实践以后,可增加学生练习的难度,要求学生在实验任务电路和程序的基础上,进行适当修改,培养其独立进行电路和程序的设计能力。课程中所有的课题可在实验室的硬件开发板上实现。有条件的话可买芯片焊接,并将任务程序下载到芯片中,实现程序功能,这一部分可作为课程的后续环节,即课程设计来完成。这样会给学生一种成就感,从而进一步提高学生的自信心与学习兴趣。

5改革考核方式,以实践为主

工科类专业课程的考核形式通常是以理论考试为主,形式相对单一,考题侧重于记忆,例如分析指令执行的结果、回答芯片内部某个结构模块的作用、编写一段简单的程序,有的学生考试成绩比较高,但却不会熟练调试一个程序,高分低能的现象由此出现。《TMS320C54x DSP结构、原理及应用》课程的考核主要是对课程理论知识、软硬件分析能力、编程能力、软硬件调试能力的考核。因此, DSP课程的考核方式的改革必然要促使教学内容与教学方式的改变。考核的方式方法和考核的内容将直接影响教学过程的实施,关系到教师如何教和学生如何学。比如在平时课题练习时就要加强对学生进行考核, 考核时可以以小组为单位,根据小组内成员分工的不同,对每位成员的考核的内容有所侧重,考核内容可包括原理图分析、原理图绘制、CCS软件使用、现场调试实验结果等,教师根据课题完成的先后顺序,学生回答的准确性和操作的熟练程度给每位学生现场评分。通过一次次课题考核可增强学生被考核的意识,增加学生的学习压力,培养学生在压力下学习并解决问题的能力,进而提高自身的实践和应用能力。在课程考核体系中,考核可包括三个方面:理论知识的考核,考核可采取开卷的形式,占总成绩的30%,理论知识的考核可采用“试题库”的形式,由多位任课教师根据教学大纲集体编制出“DSP试题库”,实现教考分离;平时课题完成情况的考核,占总成绩的50%;课后作业、课题研究时表现积极性的考核,占总成绩的20%。最终的考核成绩将综合反映出该学生掌握DSP技术的效果。

DSP技术的发展日新月异,教师教授学生的过程同样也是自己发现新问题,解决新问题的过程。教学的方式方法也在教师教授的过程中得以改进,以进一步适应高职高专学生的学习心理,从而提高学生对DSP课程的学习兴趣,调动学生学习积极性,最终提高教学效果。

参考文献

[1] 戴明桢,周建江.TMS320C54X DSP结构、原理及应用[M].北京:北京航空航天大学出版社,2008.

[2] 刑素霞,陈媛媛,孙梅,吴静珠.DSP原理与应用课程教学改革与实践[J].中国现代教育装备,2009(3).

TMS320C54x 篇4

关键词:TMS320C6455,NDK,TCP/IP

1 引言

在高端DSP设备上进行网络通信已经成为一种技术发展潮流。TI公司的C6000系列芯片是面向高速信号处理的高端芯片, 主频高, 集成了以太网网口, 其推出的NDK网络开发工具可以快速地开发出网络应用程序, 缩短产品开发周期, 并且其性能很优异[1]。本文系统地介绍了在TMS320C6455上利用NDK开发网口过程, 以及影响网口性能的因素。

2 NDK的结构

TI公司结合C6000芯片推出的TCP/IP NDK (Network Developer’s Kit) 开发套件, 其主要组建包括: (1) 支持TCP/IP协议栈程序库。主要包含的库有:支持TCP/IP网络工具的库, 支持TCP/IP协议栈与DSP/BIOS平台的库, 网络控制以及线程调度的库; (2) 示范程序。其中主要包括DHCP/Telnet客户端, HTTP数据服务器示范。 (3) 支持文档。包括用户手册、程序员手册和平台适应手册。NDK采用紧凑的设计方法, 实验了用较少的资源耗费来支持TCP/IP。从实用效果来看, NDK仅用200-250K程序空间和95K数据空间即可支持常规的TCP/IP服务[2]。

使用NDK相对于操作系统和底层硬件是透明, 这主要是OS.LIB提供与操作系统DSP/BIOS的接口和HAL.LIB提供对硬件的支持来完成的。在NDK的TCP/IP协议中STACK.LIB包含了顶层套接字到底层链路层的所有功能, NETCTRL.LIB在整个协议栈中起关键作用, 协调操作系统和底层硬件驱动, 管理所有网络事件, NETTOOL.LIB提供配置网络的各种服务[2]。

3 NDK在DSP/BIOS下的设置和初始化

DSP/BIOS是TI开发的实时微型操作系统, 支持实时分析、线程管理、调度软件中断、周期函数以及外部硬件中断与各种外设的管理。使用DSP/BIOS所有与硬件有关的操作都必须借助操作系统提供的函数完成, 应避免直接控制硬件资源。基于DSP/BIOS的程序与传统开发过程是不同的。用户编写的程序由DSP/BIOS调度, 不再按标写的次序顺序执行。同样开发基于DSP/BIOS的网络应用程序也必须遵循一些原则[3]。在DSP/BIOS下使用NDK必须注意以下几点。

(1) 必须在tcf文件中为HAL创建一个周期为100ms的PRD函数, 用来驱动ll Timer Tick () 函数, 如图1所示; (2) 在tcf文件中创建两个钩子函数NDK_hook Init () 和NDK_hook Create () 。因为OS需要钩子函数为TCP/IP堆栈加载和保存私人变量指针, 如图2所示; (3) 把工程项目的Include Searching Path指向NDK安装NDK安装目录下的inc文件夹; (4) 为了保证使用NDK的工程项目能正确编译, 在CCS的Link Order要按照一定的顺序添加库文件, 推荐的顺序是:NETCTRL.LIB、HAL_xxx.LIB、STACK.LIB、OS.LIB; (5) 在使用NDK的过程中, OS和HAL会创建三个内存段, 分别是PACKETMEM、MMBUFFER、OBJMEM, 必须在cmd文件中为这三个段在内存中分配存储空间; (6) 至少要使用32K的cache, 否则应用程序会产生不可预料的错误。如图3所示, cache在BIOS中设定为64K。

堆栈初始化过程: (1) 使用NC_System Open () 。该函数为所有网络应用程序建立堆栈和内存环境; (2) 使用Cfg New () 。该函数会创建一个配置句柄, 利用该句柄使用Cfg Add Entry () 函数可以添加DHCP、DNS、HTTP等服务和配置SOCKET缓冲区大小与ARP超时参数; (3) 使用NC_Net Start () 。该函数根据前面的配置参数启动网络, 并创建三个回调函数。分别是网络启动时只能运行一次的函数、网络被关闭时只能运行一次的函数、当IP地址改变时运行的函数。通常会在启动函数里面创建自己的应用程序线程, 在关闭函数里删除创建的应用程序线程。

4 网络应用程序的开发

本NDK网络通信实在DSP6455芯片上开发的。因为NDK的API和Windows SOCKET API函数名和功能都是十分相似, 所以开发起来还是比较容易的。下面程序固定配置IP, UDP协议传输数据, 如下代码所示。首先初始化DSP6455的PLL、网口驱动等。主要通过设置寄存器PERCFG0和PERCFG1;其次进行NDK驱动, 程序可以参考TI自带的Stack Test任务设置;最后在动态TSK中创建用户应用网络程序。

每次向PC机传送码流最好不要超过1380Bytes, 这是由最大传输单元决定的, 对于大于1380Bytes以上的码流可以采取分割的方法分批传送, 并且在每次传送之后调用TSK_sleep () 使socket底层传输缓冲区有缓冲时间, 这样可以有效防止丢帧。

5 NDK开发注意点和性能影响因素

用户在开发NDK时经常会参考TI自带的NDK开发例程。通常跑单个网络TSK系统能够稳定运行。但是, 当系统中还有很多其它TSK, 特别是有大数据量信号处理的多线程TSK处理系统时。必须设置好整个工程 (project) 的空间分配单元。主要涉及到总stack, heap;各个任务TSK的stack。NDK占用了很大一部分heap资源。如果不能很好地合适分配空间, 则整个程序容易发生栈溢出, 致使程序跑飞。一般如果发生空间冲突或者溢出情况, 需要修改总stack大小和heap大小。

DSP6455上影响NDK性能的因素主要有以下几个因素。

socket API:NDK既支持基于缓冲区的典型socket, 也支持非拷贝的数据包socket, 甚至非拷贝的直接接收的TCP数据流。性能随着所采用的策略而变化。

socket缓冲区:socket缓冲区影响TCP发送和接收的窗口大小, 并且决定每次发送发送数据流大小, 这对网络性能有很大的影响。

CPU cache:cache的大小对网络性能有巨大的影响。一般要求最低32K。但是如果太大有影响DSP的内存减小, 导致整个DSP应用程序内存空间不足。

网络硬件设备:以太网硬件设计的好坏直接影响DSP的网络接口的速度。

6 结语

TI推出的NDK网络工具不仅可以使技术人员快速开发基于DSP的网络应用程序, 而且具有十分可靠的性能, 这使得TMS320C6455芯片完全可以胜任大数据量网络传输的要求。

参考文献

[1]Texas Instrument.TMS320c6455 Fixed-Point Digital Signal Processor.

[2]Texas Instrument.TMS320C6000 TCP/IP Network Developer’s Kit (NDK) User’s Guide.

【TMS320C54x】推荐阅读:

合理书写标题标签title07-28

上一篇:科学世界下一篇:城市公共产品供给

本站热搜

    相关推荐