最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能生产

CAN总线在基于ARM嵌入式数控系统中的应用

发布时间:2014-04-04 作者:张健 蒋新华 陈兴武  来源:万方数据
关键字:CAN总线 嵌入式 数控系统 
利用CAN总线的实时性和可靠性来提高数控机床的性能C上位机采用控制器S3C241 U,通过SF' T串行通讯接口,实现MCLJ与CAN总线控制器之间的通讯。由MCu传输的数据经过CAN控制器的处理,转换成符合CAN2Q协议的标准格式,以报文形式发送到CAN总线土的相关节点,完成对六轴伺服电机的运动控制。

3  CAN总线接口软件设计

  CAN总线软件接口为应用层访问CAN控制器MCP2515提供了一个便捷的侄道”,该通道”屏蔽了CAN控制器工作的实现细节,使得应用层面向通信是透明的。它们之间的相互关系如图3所示。

CAN控制器结构

  驱动程序是应用程序与硬件之间的一个中间软件层。它使某个特定的硬件响应一个定义良好的内部编程接口,同时完全隐蔽了设备的工作细节二用户通过一组标准化的调用来完成相关操作,这些标准化的调用和具体设备驱动无关,而驱动程序的任务就是把这些调用映射到具体设备对于实际硬件的特定操作上团,其流程图如图4所示。

CAN控制器程序流程图

  总线报文通过中断进行接收,此中断在接收缓冲器满时被触发。报文传送至某一接收缓冲器,与该接收缓冲器对应的中断标志寄存器的RXNIF位将置1。一旦缓冲器中的报文处理完毕,MCU就必须将该位清除以接收下一条报文。该控制位提供的锁定功能确保在MUC尚未处理完上一条报文前,MCP2515不会将新的报文载入接收缓冲器。在程序中通过使能CAN 1TTC寄存器中的RXXIE位,来使能接收中断,提高了系统工作效率。

  驱动程序的接口主要分为三部分:

  (1)与内核通信的接口。

  内核通过主设备号将设备驱动程序和设备文件相连,而构成驱动的一个重要数据结构就是Cle_operaLions内核就是通过这个结构来访问驱动程序的。它包含指向驱动程序内部大多数函数指针,它的每一个成员名称对应着一个系统调用。程序如下:

程序

  (2)与系统启动代码的接口,完感沙寸设备的初始化。

  在Linux初始化或驱动动态加载的时候要调用初始化函数,它包括以下内容:

  ①初始化设备相关的参数:

  ②注册设备;

  ③中断注册。

  (3)与设备的接口,完成对设备的读写等操作。

  外部数据和命令通过5I}}脚传送到器件中,且数据在SCK时钟信号的上升沿传送进去。MCP257 5在SCK的下降沿通过510引脚将数据传送出去。

4 结语

  本项目实现了上位机将键盘、触摸屏等设备的输入数据利用CAN总线有选择性的对下位机进行传输,系统中各MCU间及MCU与PLC间可相互通讯。实际运行证明了该系统能够较好完成六轴联动通信系统的要求。由于选择了总线控制,系统得以数字化,使系统可靠性得到大大提高,同时简化方案节约了成本。由于CAN总线具有高传输速率及高可靠性,在数控机床上必将有着广阔的前景。 

2
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。