当前位置:首页 期刊杂志

基于CAN总线的悬浮控制调试网

时间:2024-05-20

赖重平 罗京 李振 朱跃欧

摘 要:磁浮列车悬浮控制系统在调试过程中需要将一些控制量上传到上位机界面进行显示,并要将一些参数和命令下发给控制器。本文构建了基于CAN总线的磁浮列车悬浮控制调试网。并指出了应用中要注意的一些方面。

关键词:CAN总线;悬浮控制;调试网

0 引言

磁浮列车悬浮控制系统在调试过程中需要将一些控制量上传到上位机界面进行显示,并要将一些参数和命令下发给控制器。所以有必要构建调试网。CAN总线是一种串行通信协议,具有较高的通信速率和较强的抗干扰能力,现已被广泛地应用于工业自动化、交通工具等众多领域。悬浮控制器芯片集成了增强型CAN总线通信接口,能够支持CAN2.0B协议[1,2]。

1 硬件实现

由CAN总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。当使用PC82C250作为CAN收发器时,同一个网络允许挂接110个节点。CAN可提供高达1Mbps的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。CAN是一种多主方式串行通信总线。中低速磁浮列车一节车有20个控制器,也就是20个点。硬件原理框图如图1所示,图中显示了一个节点的连接[3]。

实际应用中要注意终端电阻匹配,只允许在两端接有终端电阻,也就是第1和第20节点接有终端电阻。否则会引起网络不稳定。另外CAN模块供电要用输出电压波动小的电源模块,输出电压波动最好控制在0.1V之内。否则会误动作光耦,造成CAN网无法工作。

2 控制器软件实现

控制器芯片编程,要接收上位机下发的命令和参数,如起浮和降落命令、悬浮控制调整参数值。本文将CAN接收程序放在主程序中用查询的方式实现,如图2所示。另外要将一些控制量上传到上位机进行显示,如间隙、加速度、电流、电压、各种状态值。本文用定时器中断的方式实现CAN发送,如图3所示。实际应用中要根据需要增减帧的数量,每个帧传送的位数是有限制的,所以传的量多了,自然要增加帧的数量。

实际应用中注意不管是以字节还是字的方式上传,一个量只能一次上传,不能分开两次上传,否则因为中断的原因会造成数据尖峰。

3 上位机界面

控制芯片和上位机按同一个数据格式和协议进行编程,数据格式如下所示:

CAN2.0B 标准数据帧格式如下:

上位机界面要能按节点显示各个控制量并显示其波形,如间隙和加速度波形,电流、电压波形,还要能将这些数据保存在上位机的硬盘里便于事后进行分析。并有下发悬浮、降落等命令的按钮。还必须能设置控制参数。

联调通过后的上位机界面如图4所示。

4 结束语

悬浮控制调试网所处电磁环境恶劣,而且控制器离上位机较远,所以选用CAN来组建调试网。本文构建的调试网稳定运行,主要严格按照芯片手册搭硬件电路,并根据实际应用过程中遇到的问题优化。软件方面要保证实时性,也要尽量少浪费控制芯片的资源,不影响别的程序段运行。

参考文献:

[1]阳宪惠.现场总线技术及其应用[M].北京:清华大学出版社,1999.

[2]顾卫钢.手把手教你学DSP[M].北京:北京航空航天大学出版社,2011.

[3]Data Sheet PCA82C250,Philips Semiconductors,September 1994.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!