计算机光盘软件与应用 工程技术 Computer CD Software and Appl ications 2011年第16期 一种高速正弦信号发生器的设计 邓小楚 (湖北职业技术学院机电工程工学院,湖北孝感432000) 摘要:文章提出了基于高速DSP芯片TMS320C5402实现正弦信号发生器的设计原理与方法,介绍了所设计的正弦 信号发生器的硬件结构电路图和软件程序结构图。结合DSP硬件特性,通过使用泰勒级数展开法得到设定参数的正弦波波 形输出,从而达到设计目的。 关键词:信号发生器;泰勒级数;正弦信号;TMS320C5402;TLC320AD50C 中图分类号:TN911 文献标识码:A 文章鳊号:1007-9599(2011)16—0054-02 Design of the High Speed Sine Signal Generator Deng Xiaochu (Mechanical and Electron Engineering Department,Hubei Polytechnic Institute,Xiaogan 432000,China) Abstract:This article puts forward the design principle and method on how to carry out the sinusoidal signal based on he rapitd DSP chip TMS320C5402,illustrate the hardware circuit diagram and software program structure diagram.Combined the hardware characteristic of DSP chip,achieve the expected output of he sitne wave through the use of Taylor series formula,consequently reach the intention ofthe design. Keywords:Signal generator;Taylor series;Sine wave signal;TMS320C5402;TLC320AD50C , 系统硬件设计 (一)系统硬件框图。该信号发生器系统的硬件框图如图1 所示,主要由高速DSP芯片TMS320C5402、D/A转换器、时钟 模块、复位电路等几部分组成。 一、M/S是主从模式选择(H表示高电平,为主机模式);DN表示串 行输入;DOUT表示串行输出;Fs是帧同步信号输出。 TMS320C54n2 TLC320AD50C BLCKR0 BLCKXO ._—_一SCLK H—+ h S 主 BDR DOUT DrN FC 8 O BD XD § : I FS MCLK 图1 DSP硬件结构框图 (二)TMS320C5402简介。TM¥320C5402是TI公司于1996 年推出的一种定点DSP芯片,采用先进的修正哈佛结构和8总线 结构,使处理器的性能大大提升。其独立的程序和结构总线,允 许同时访问程序存储器和数据存储器,实现高速并行操作。该芯 片还可以在数据总线和程序总线之间相互传递数据,从而使处理 器具有在单个周期内同时执行算术运算、逻辑运算、位移操作、 乘法累加操作以及访问程序和数据存储器等强大功能。此外,该 芯片支持c语言和汇编语言混合编程,高效的流水线操作和灵活 的寻址方式使得其适合高速实时信号处理。 (三)数模转换部分设计。Mc BSP(Multi.channel Buffered Seria1)即多通道缓冲串口,包括一个数据通道和一个控制通道。 数据通道通过DX引脚发送数据、DR引脚接收数据。控制通道则 完成包括完成内部时钟产生、帧同步信号产生、对所有信号的控 制以及通道选择等功能。此外,控制通道还负责产生中断信号送 往CPU,产生同步信号通知DMA控制器。控制信号的传递通过 时钟和帧同步信号传送。 数模转换芯片采用TLC320AD5Oc,该芯片是TI公司生产的 个16位,音频范围(采样频率为2K_22.05Knz)、内含抗混叠 滤波器和重构滤波器的模拟接口芯片,它具有一个能与许多DSP 芯片相连接的同步串行通信接口。AD50C片内还包括一个定时器 (调整采样频率和帧同步延时)和控制器(调整编程放大增益, 锁相环PLL,主从模式)。该芯片有28脚的塑料SOP封装(带 DW后缀)以及48脚的塑料扁平封装(带PT后缀),体积小,适 应于便携设备。其工作温度范围在0"C到7O℃之间,单一的5V 电源供电和3.3V联合供电,正常工作时最大损耗为120mW。因 此,与选定的DSP芯片之间能够很好的实现Mc BSP无缝串行连 接进行数据采集、存储和处理。 图2所示为DSP芯片TMS320C5402和D/A芯片 TLC320AD50C的硬件电路连接图。其中:SCLK是输出时钟; 一图2 DSP芯片与D/A芯片硬件连接图 (四)输出幅值频率的设计(独立键盘式设计)。系统在精简 成本的要求下采用机械单位按钮式方法实现人机接口部分,而不 采用先进的触摸屏方式设计人机接口部分。以类似于键盘按钮的 方式(独立键盘式)选择输出波形的幅值与对应的频率。按下预 制的按钮,就能得到对应的正弦波波形输出。 如图3所示,采用中断方式总做的独立键盘的连接,每个按 键都连接着DSP芯片的一根I,0接口线,连接有按钮的I/O接线 线互不影响。因此,只要通过检测I/O接口上的电平状态即可判 断对应的正弦波波形输出。本系统预制了4个不同幅值频率的正 弦波波形输出,将这4个按键分别接DSP芯片上的HD0.HD3口, 为了保证I/O口电流的安全可靠,在线路中使用1 K 2的上拉电 阻来减小I/O口的输入电流。 图3 DSP芯片正弦波选择电路 ・-——54・——— 计算机光盘软件与应用 2011年第16期 Computer CO Software and Applications 工程技术 当没有按下按钮时,对应的I/O接口输入为高电位。当按下 (二)变频调幅的设计方法。 按钮时,对应的I,O接口输入为低电平,同时,由4与门组成的 1.16位定时模块。TMS320C5402芯片内部具有可编程的计数 门电路输出低电位,从而启动中断INT1。中断开始后又读取 器,它包括3个16位存储器映射寄存器:定时寄存器TM,定时 HD0.HD4的信号,判断启动对应低电位的正弦波幅值频率程序, 周期寄存器PRO、定时控制寄存器TCR。在片内定时器中,4位的 输出需要的波形。 预定标计数器PSC和16位定时计数器TM配合组成2O位的计数器, 独立式键盘硬件电路灵活配置,实现简单。若要预制多组正 定时器在每个时钟信号下做减l处理,直到计数器为0时产生定 弦波信号时,为了减少对YO口资源的浪费,则采用组合位的方 时器中断(TINT),同时PSC和TM重新载入预设值做下一次的运 式实现。在相同4根物理线路的条件下,在二进制编码的条件下 行。定时器中断TINT的速率为: 可以最多实现l6个组合正弦波信号的输出。这样就能在减少I/O 1 1 口占用的基础上实现多幅值多频率的输出波形,大大提高了系统 的利用率。同时,考虑到按键的抖动问题,则完全可以编制相应 2.变频调幅的实现方法。调幅的实现比较简单,只需要所有 抖动程序来消除其影响。 采样值乘以调幅因子Al就能得到任意幅值的正弦波幅值A。调频 二、系统软件设计 的实现依赖于DSP芯片内的16位定时器。首先预设需要产生的正 (一)正弦波产生方法。理论上常见产生正弦波的方法有多 弦波信号频率f,由正弦波生成原理可知,向D/A送出采样值的 种:(1)查表法;(2)数值迭代法;(3)级数逼近法等方法均是常见的 间隔,即向D/A送值的周期T1=T/N(N为采样点数),那么向 用来产生正弦波的有效方法。 1.查表法产生正弦波。查表法是最为直接的一种方法,设计 D/A送值的频率为fl=N ̄f,即向D/A送值的频率是期待产生的 正弦波信号频率的N倍。因此,为了能够调节产生正弦波信号的 者可以根据运算的需要预先计算好所有可能出现的正弦函数值, 频率,实际上改变向D/A芯片送值的频率即可。而改变向D/A芯 将所有的结果编排成数据表,在使用时只要根据输入查处表中对 应的函数值即可得到。查表法其精度受表的影响大,只有表的精 片送值的频率就得到DSP芯片内的16位定时器。根据上式将需 要的频率值换算成PRD内的初值和TDDR的初值,并分别将初 度越高,才能得到理想的信号;但是表的精度越高,就需要更多 值置入PRD和TDDR。 的存储空间进行存储,占用过多的存储器资源。 (三)软件设计。软件系统的设计主要包括了DSP系统的初 2.数值迭代法产生正弦波。数值迭代法的关键函数值之间的 始化、DSP与D/A转换器的接口驱动程序、产生具有预定频率和 递推关系,即系统的差分方程或系统函数模型。如果一个离散时 幅值的正弦信号的运算构成。正弦信号系统主流程和中断流程如 间系统的系统函数H(z)没有零点,只有一对处在单位圆上的共 图4所示。 轭极点,则其单位冲激响应为恒幅度振荡,产生了正弦信号。 …:—— —丁 J l+cnZ一 +n,Z一 式中:%= sin cots; =-2 COS coTs; 2=1, 为正弦信 号频率, 为采样间隔。经过反变换后得: y( )=2COS ̄oirVy(n—1)一y(n一2)。 y(一1)=0,y(-2)=一A sina ̄rs, 逐次迭代即能获得采样间隔为Ts的正弦序列。数值迭代法只需要 存储信号系统模型的参量和相关的状态变量,其优点是占用的存 储空间相对较少,运算时间短;但其存在致命缺点:由于新的数 值产生利用了之前的函数值,故易产生累积误差,只能用于精度 不高的场合。 3.级数逼近法产生正弦波。级数逼近法是用级数的方法在 某一自变量取值范围内去逼近数学函数,而将自变量取值在此范 围内的函数值利用一些数学关系,用该范围内的数字来表示。对 于正弦函数,由其对称性可知,只要计算取值在[O, /2]内的函 数值就可以推断出所有取值范围内的函数值。通常采用泰勒级数 中断流程 展开法计算求得。采用泰勒级数展开法是一种非常有效的方法, 图4正弦信号系统主流程和中断流程图 只需要较少量的存储单元就能得到满足精度要求的正弦波信号。 三、结束语 一般形式的泰勒展开式如下: DSP芯片TMS320C5402、D/A转换器TLC320AD50C两者都 , , 、 . ,( ), 、 具有高速运算和处理信号能力,基于此而设计的正弦波信号发生 ,( )=,( )十f ( )( —xo)+ 一 )2++ —— 一 )”+…… 。 一 2 1 月! 器能够满足高速、高精度等特点,同时依靠合理的优化程序,产 其中函数f(x)在x0的某一邻域内具有直到(n十1)阶导数。 生满足要求的多频段,大幅值范围的正弦信号。 对于任意角度的正弦和余弦函数,均可以展开成为高阶泰勒 参考文献: 级数: [1]岳静.TMS320C5402的特性及其硬件设计Ⅱ1.西安航空技术 nn高等专科学校学报,2002,3 -= (- 1)O2n+l(1 )02”,cosx=V 【2】任治刚,孙洪波,张泽.TMS320C54x系列McBSP串口特性及 ,:。【z+lJ!差n=0(2)1其应用ⅡJ.内蒙古大学学报(自然科学版),2001,5 分别取前5项泰勒展开式: 【3]杨明远.TMS320C5402与TLC320AD50C的接口设计Ⅱ】.自 3动化技术与应用.2008.27 ,z = 一 + 一 79 + 【4】吴耿锋.快速查表法在实时检测中的应用卟中国科学技术 cos 0=1一 1 21 41 61 8 大学学报,1991,21 + 一 十 【5】贾志东.Hamilton系统的数值迭代方法理论【D】.中国工程物 可以看到,正弦波的波形可以看成是由无数个点组成,这些 理研究所北京研究生部.2002 点与X轴的每个角度值一一对应,利用DSP可以大量重复计算的 优势可计算出X轴每一点对应的输出值,然后通过D/A转换器即 [作者简介]邓小楚(1980一),男,湖北黄陂人,湖北职业技 可得到连续输出的 弦波模拟信号 术学院机电工程学院教师,主要研究电气工程。