基于TMS320F2812的多轴运动控制卡设计

基于TMS320F2812的多轴运动控制卡设计

[日期:2008-11-19]来源:单片机与嵌入式系统应用  作者:南京航空航天大学 侯小强 薛重德 张月芹[字体: ]
<script src="http://www.21ic.com/innews.js"></script>

 

引 言
    开放式体系结构的数控系统已成为当今数控技术的发展方向,而其中的基于计算机标准总线的“PC+运动控制卡”结构则是今后开放式数控技术发展的主流。此类数控系统通常选用高速DSP作为运动控制卡CPU,采用主从式控制策略,利用PC和DSP都读取内存的方式来实现上/下位机的通信;具有信息处理能力强、开放程度高、运动轨迹控制准确、通用性好等特点,被广泛应用于制造业自动化控制各个领域。

1 硬件电路总体设计
    本项目是设计一款基于PCI总线的,以DSP芯片TMS320F2812为核心的多轴运动控制卡。将PC机的信息处理能力和开放式的特点与运动控制器的运动轨迹控制能力有机地结合在一起,利用双口RAM作为公共存储单元实现上/下位机的通信。为实现对多电机的半闭环控制提供了一个良好的开发平台。
    系统中,PC机发送各种控制命令,经PC程序进行译码、预处理等处理后,通过PCI总线接口芯片传送到公共存储器——双口RAM中;DSP程序从双口RAM中读取指令或数据,并根据读入的指令或数据进行插补运算,然后产生位置控制脉冲输入到各个电机轴的伺服驱动器;伺服驱动器根据DSP发送的位置指令再进行插补,同时由插补运算计算的理论位置与位置反馈模块反馈的实际位置进行比较,得到跟随误差,经误差补偿后形成真正的电机实际位置,并由跟随误差算出速度指令值,最后产生PWM脉冲控制电机运行。在本系统中,TMS320F2812芯片作为总控制器,统筹协调数控系统中各个轴的运动,而伺服驱动器则作为执行元件控制每个电机的实际运行。运动控制卡与伺服驱动器各司其职,相互配合,都发挥了各自的长处。由此组成的数控系统开放性好,可靠性高,能够很好地满足现阶段大多数用户对多轴联动数控系统的要求。
    系统硬件总体设计功能框图如图1所示。

    本系统的运动控制卡所选用的DSP芯片TMS320F2812有2个事件管理器(EVA、EVB),每个事件管理器可以产生5路独立的PWM信号,其中比较寄存器3路,通用定时器2路。理论上讲,1片TMS320F2812芯片最多可以控制10个伺服驱动器。而常见的数控系统有三轴联动、五轴联动等,运动控制卡可以控制的电机数目远大于一个数控系统中电机的数目。因此,本系统的“PC+运动控制卡”数控系统不仅能够满足多轴联动数控系统的基本要求,还具有很高的扩展性,甚至可以实现多个数控机床联合控制,极大地增强了多轴联动数控系统的功能。

2 双口RAM接口电路设计
2.1 双口RAM与DSP和CH365的连接
   
本系统选用双口RAM芯片IDT7025作为DSP与CH365双向通信的缓冲芯片。IDT7025芯片是一款高速的8K×16位双口静态RAM,它提供2个独立的端口,允许两个(左、右)端口同时读/写数据,每个端口具有自己独立的控制信号线、地址线和数据线,可高速存取数据,可与大多数高速处理器配合使用,而无需插入等待状态。
    双口RAM允许2个CPU同时读取任何存储单元(包括同时读同一地址单元),但不允许同时写或一读一写同一地址单元。利用双口RAM进行通信的关键是,如何处理好争用冲突现象,避免由此而产生的读/写错误。常用的双口RAM解决地址竞争的途径有:令牌传递法、基于邮箱机制的INT中断法以及插入等待周期的BUSY法等。本系统采用第2种方法。
    下面简要介绍一下IDT7025中断的原理:当用户要用到中断功能时,内存中的1FFE和1FFF单元将作为中断标志邮箱传递命令信息。当左端口定义为写状态(CEL=R/WL=VIL),且在内存1FFF中进行写操作时,右端口的中断标志INTR为低电平,可以向右端口发出中断请求;当右端口对地址1FFF进行访问时(CER=OER=VIL),无论读写都可以清除右端口中断标志INTR。相反也是一样的,当右端口对内存1FFE进行写操作时,左端口可以发出中断请求;当左端口访问地址1FFE时,清除左端口中断标志。使用中断时,向1FFF和1FFE写的内容由用户自行定义,本系统中设定:申请中断时向邮箱写入1或其他大于O的整数,清除中断时向邮箱写入O。
    系统中双口RAM IDT7025作为DSP与PC机之间的共享数据空间,右端口与CH365相连,映射到CH365的存储空间;左端口与DSP相连,映射到TMS320F2812的区域0。由于IDT7025的供电电压为5 V,因此,在DSP芯片与双口RAM芯片之间加入了一个电压转换芯片SN74LVTHl6245,其硬件连接示意图如图2所示。将图2中的双口RAM划为2个存储空间,即PC通过写高4 KB空间向DSP发送指令,DSP通过写低4KB空间向PC机反馈数据。

2.2 数据总线扩展电路设计
    由于系统采用了双口RAM作为DSP和CH365之间数据传输的缓冲芯片,而TMS320F2812的地址总线为19位,IDT7025为13位,CH365为16位,因此,把IDT7025的13位地址线A[O..12]分别与DSP的地址线XA[O..12]和CH365的地址线A[O..12]相连,并将CH365的地址线A0用作数据总线扩展的使能信号。
    TMS320F2812与IDT7025的数据宽度皆为16位,由于TMS320F2812的I/O电源为3.3 V,IDT7025的电源为5 V,因此二者数据线之间需要连接一个电压转化芯片SN74LVTHl6245,并通过XR/W信号控制数据传递的方向;而CH365的数据宽度为8位,为使其与16位双口RAM正常通信,系统利用CPLD对CH365的数据总线进行了扩展。CPLD芯片选用A1tera公司生产的EPM7064,通过CH365地址线A0的使能对16位数据进行分时读/写,从而解决了数据总线的扩展问题。其内部逻辑电路如图3所示,其中主要包括2个锁存器(74373b),和2个三态门缓冲器(74541b)。

    CH365支持PC机以单字节、双字节(字)、四字节(双字)为单位对I/O端口或存储器进行读/写。在多字节连续读/写操作期间,CH365每读完一个字节数据后,就会自动将偏移地址加1,以指向下一字节的偏移地址。在本系统中,将16位数据的读/写转化为8位数据(1字节)的分时读/写。CH365读取双口RAM数据时,首先CH365_A0为低电平,低8位数据通过三态门U3直接读入到CH365中,高8位数据锁存到锁存器U4中;然后偏移地址自动加1,CH365_A0为高电平,高8位数据由锁存器U4读入CH365。CH365向双口RAM写入数据时,首先CH365_A0为低电平,锁存器U1使能信号G高电平有效,三态门U2无效(GN2为高电平),低8位写入锁存器;然后偏移地址加1,CH365_A0为高电平,三态门U2使能信号有效,高8位数据直接写入双口RAM,同时低8位数据通过锁存器U1写入双口RAM(OEN为低电平)。
    对上述逻辑关系用“MAX+PLUS”进行仿真后,得到图4所示的时序。图中RAM_DD和CH365_DD表示仿真结果,从图中可知仿真结果完全符合设计要求。由此可见,利用最低地址位CH365_A0的不同电平,CH365通过两次连续的读或写操作,成功地实现了对双口RAM中16位数据的读/写,并且数据的读/写时序完全符合CH365的读/写时序,可以方便地进行软件编程。

3 上/下位机通信软件设计
    在硬件电路实现之后,把完成的板卡插于PC机的PCI插槽,上电后根据系统提示安装CH365驱动程序,在正确安装好硬件之后,利用API函数,就可以在VC环境下编写和调试PCI和DSP的通信软件了。
    由上述可知,双口RAM的高4 KB空间用于PC机向DSP下载数据,如果数据大于4 KB,则存在着一次不能够把全部数据下载到DSP中的问题。因此,采取了向双口RAM中循环写入数据的办法,即PC机向双口RAM一次只写入4 KB数据,接着向DSP申请中断。DSP响应中断一次性将4 KB数据复制到DSP其他大容量存储空间(如扩展SRAM)中,然后释放双口RAM空间。此时PC机便可再写入4 KB数据,如此循环往复,直到将所有数据都写入DSP中。部分代码如下:


    数据反馈功能主要是通过CH365响应DSP中断来实现的。DSP程序将数据写入双口RAM低4 KB空间后向CH365申请中断,CH365响应中断将数据反馈到PC并显示到人机界面。中断函数部分代码如下:


结 语
    随着计算机技术和电子技术的发展,将运算高速、功能强大的数字信号处理器应用于运动控制,可以实现复杂的控制算法和实现高精度、高速度、多轴联动,在数控应用中,将会占据越来越重要的地位。而快速准确的通信又是这种运动控制器的基础。本文介绍的通信方式,具有性能可靠,硬件结构简单,价格便宜的优点,具有较好的应用前景。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
摘要 本文介绍了一种基于TMS320F2812数字信号处理器的电子琴设计。该电子琴具有16个按键和一个LCD显示屏,可以播放多种音调和音效。设计中使用了TMS320F2812的PWM输出和ADC输入功能,以及外部DAC芯片和音频功放芯片,实现了音频信号的输出。通过编程,可以实现音调、音效的控制,以及LCD屏幕上的信息显示。实验结果表明,该电子琴设计具有良好的音质和稳定性,可用于音乐爱好者的学习和娱乐。 关键词:数字信号处理器;PWM;ADC;DAC;音频输出 Abstract This paper describes an electronic organ design based on TMS320F2812 digital signal processor. The electronic organ has 16 keys and an LCD screen, and can play various tones and sound effects. The design uses the PWM output and ADC input functions of TMS320F2812, as well as external DAC chips and audio power amplifier chips to realize the output of audio signals. Through programming, the control of tone and sound effects, as well as the information display on the LCD screen can be realized. The experimental results show that the electronic organ design has good sound quality and stability, and can be used for music enthusiasts' learning and entertainment. Keywords: digital signal processor; PWM; ADC; DAC; audio output 一、引言 电子琴是一种电子乐器,具有丰富的音色和音效,是音乐爱好者进行创作和表演的重要工具。随着科技的不断发展,数字信号处理器(DSP)逐渐应用于电子琴的设计中,可以实现更加灵活和高效的音频信号处理。 本文介绍了一种基于TMS320F2812数字信号处理器的电子琴设计。该电子琴具有16个按键和一个LCD显示屏,可以播放多种音调和音效。设计中使用了TMS320F2812的PWM输出和ADC输入功能,以及外部DAC芯片和音频功放芯片,实现了音频信号的输出。通过编程,可以实现音调、音效的控制,以及LCD屏幕上的信息显示。实验结果表明,该电子琴设计具有良好的音质和稳定性,可用于音乐爱好者的学习和娱乐。 二、系统框图 本设计的系统框图如图1所示。其中,TMS320F2812作为主控芯片,通过AD采样电路获取键盘输入信号,通过PWM输出电路控制音频信号的输出。外部DAC芯片和音频功放芯片实现音频信号的转换和放大,LCD显示屏显示相关信息。 ![image](https://cdn.luogu.com.cn/upload/image_hosting/8e69iwhu.png) 图1 系统框图 三、系统设计 1.键盘输入 本设计使用16个按键作为键盘输入,如图2所示。每个按键对应一个GPIO口,通过按下按键使得GPIO口输出低电平,即可检测到键盘输入信号。为了防止按键抖动,设计中使用了软件消抖算法,即在检测到按键输入后延时一段时间再次检测,确保按键输入的正确性。 ![image](https://cdn.luogu.com.cn/upload/image_hosting/zq3j0z4m.png) 图2 键盘输入 2.PWM输出 本设计使用TMS320F2812的PWM输出功能实现音频信号的输出。PWM输出的频率和占空比可以通过编程进行控制,以实现不同的音调和音效。具体实现过程如下: (1)初始化PWM输出模块,设置PWM输出的频率和占空比; (2)在按键按下事件中计算对应的PWM输出频率和占空比; (3)更新PWM输出频率和占空比,并使能PWM输出模块; (4)在按键松开事件中关闭PWM输出模块。 3.ADC输入 本设计使用TMS320F2812的ADC输入功能获取键盘输入信号。具体实现过程如下: (1)初始化ADC输入模块,设置采样率和采样精度; (2)在按键按下事件中启动ADC采样,并将采样结果保存到缓冲区中; (3)在按键松开事件中停止ADC采样,并对采样结果进行处理,判断按下的是哪个按键。 4.DAC输出和音频功放 本设计使用外部DAC芯片和音频功放芯片实现音频信号的转换和放大。DAC芯片将PWM输出信号转换为模拟信号,音频功放芯片将模拟信号放大,输出到扬声器中。 5.LCD显示屏 本设计使用LCD显示屏显示相关信息,如当前播放的音调和音效等。具体实现过程如下: (1)初始化LCD显示屏,设置显示模式和显示内容; (2)在按键按下事件中更新显示内容,显示当前播放的音调和音效; (3)在按键松开事件中清空显示内容。 四、实验结果与分析 本设计使用Keil C编译器进行编程,通过JTAG接口下载程序到TMS320F2812中。实验结果表明,该电子琴设计具有良好的音质和稳定性,能够播放多种音调和音效。通过按键输入,可以实现不同音调和音效的切换。通过LCD显示屏,可以显示当前播放的音调和音效,方便用户使用。 五、结论 本文介绍了一种基于TMS320F2812数字信号处理器的电子琴设计。该电子琴具有16个按键和一个LCD显示屏,可以播放多种音调和音效。设计中使用了TMS320F2812的PWM输出和ADC输入功能,以及外部DAC芯片和音频功放芯片,实现了音频信号的输出。通过编程,可以实现音调、音效的控制,以及LCD屏幕上的信息显示。实验结果表明,该电子琴设计具有良好的音质和稳定性,可用于音乐爱好者的学习和娱乐。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值