EDN China > 设计实例 > 微处理器与DSP > DSP应用 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

DSP和CAN总线在直流电机测试系统中的应用

赵政春 陆绮荣 叶汉民 蒋存波?? 2009年10月09日 ?? 收藏0

  2.4 键盘和液晶显示电路(LCD)

  键盘采用标准的PS/2口的小数字键盘,用来输入设置参数。键盘和DSP之间采用复杂可编程逻辑器件(CPLD)作译码电路,将键盘的扫描码映射到DSP的I/O扩展地址0x8001。当有键按下时,CPLD发送一个中断信号到DSP,然后DSP从I/O扩展地址0x8001读取扫描码。液晶显示模块(LCD)和DSP之间通过CPLD译码,将命令控制I/O映射到地址0x8001,将数据控制I/O地址映射到0x8003和0x8004[6]。因为LCD是5V器件,所以其8位数据线不能和3.3V的DSP直接相连,需要在数据线上加电平隔离和转换芯片74LS245。

  3.CAN通信协议设计

  CAN遵从OSI层模型,按照OSI标准模型,CAN结构划分为两层:数据链路层和物理层,它们由CAN控制器的硬件实现电平变换和帧的封装。CAN网络中包括4种不同类型的帧。其中,数据帧将数据由发送器传至接收器;远程帧由节点发送以请求具有相同ID标志符的数据帧;出错帧可由任何节点发送,以控制总线错误;而超载帧用于提供先前和后续数据帧或远程帧之间的附加延时。另外,数据帧和远程帧以帧空间同先前帧隔开。在实际应用中,还需要建立自己的上层协议。在本系统设计中,采用简单实用的“命令项加数据项”结构[3],其完整数据帧结构如图3示。考虑到工在业控制中,功能一般不多,因此命令项的长度设定为1B(可描述128种命令)。而在本控制系统中,命令所需参数一般不会大于7B,故数据项长度直接设为7B。

数据帧结构

图3 数据帧结构

  4.软件设计

  系统的CAN应用节点部分采用的是BasicCAN程序,它包含初始化子程序、发送子程序、接收子程序三个部分。DSP软件编写采用的是TI公司的DSP集成开发环境CCS2000,它支持汇编语言和C语言编程。为了保证程序运行效率,核心算法FFT程序和中断向量表程序采用汇编语言编写,而其它程序都采用C语言编写,使本系统软件具有模块化、结构化、可移植性好和调试方便的特点。系统的软件执行过程是:首先是系统初始化工作,即设置寄存器、配置GPIO、定时器、A/D转换器和外部中断、启动A/D转换。然后检测GPIO有没有启动信号,检测到启动信号后,从另一个GPIO发出控制信号给直流电机加电。从A/D转换器里读取电流信号数据,再通过求平均值得到电机的电流值;对输出脉冲信号的数据进行FFT变换,求出基波的频率,再根据电机的具体型号乘以一个系数得到电机的转速。最后把测试电流和转速送给LCD显示,启动CAN总线传输,把测试结果传输到上位PC机,以对数据进行保存和分析。软件流程如图4所示。

软件流程图

图4 软件流程图

  5.结束语

  本系统采用了以CAN总线构建了自动化小型直流电机测试系统,设计中以DSP芯片F2810为核心的自动测试单元能利用DSP的多路模拟量输入通道和多路PWM输出通道以及高速计算能力,同时实现对多个电机的准确、高效率的测试。该系统在测试速度、性价比和可维护性等方面均有明显的优势。

  本文作者创新点:利用DSP TMS320F2810的多路输入通道和多路PWM输出通道,实现了在车间的一个测试节点上,一次接线就能完成电机所有占空比下的电流和转速的测试,一个测试节点能同时测试多个电机,并通过CAN总线实现测试数据的的自动化处理。大大提高了测试效率,节省了成本。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

DSP? CAN总线? 电机? 测试?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈