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

来源:互联网

点击:1473

A+ A-

所属频道:新闻中心

关键词:CAN 总线 嵌入式 数控系统

      CAN是一种多主方式的串行通讯总线,与一般的通信总线相比,CAN总线的数据通信具有可靠性、实时性和灵活性。因此,CAN已经在汽车、航空、工业控制、安全防护等领域得到了广泛应用。

      目前,在数控机床通讯方面,采用较多的是PROFIBUS,完全采用CAN总线通讯方式的目前还没有。本系统采用32位ARM处理器,对CAN总线通信系统进行了尝试。

    1 系统构成

      1)六个伺服电动机各由一个下位机控制。上位机和下位机均以ARM9微控制器为核心,对其API接口进行扩展,通过CAN总线电路进行通讯,组成全数字式的数控系统;

      2)上位机还包含了键盘输入、LED显示、LCD显示与触摸屏控制、RS23}串口和以太网接口以及USB接口等电路:

      3)数控系统所必需的机床面板信号控制与显示等各个结构模块电路包括指令触发与开关量控制PLC, ADC与DAC等电路控制等)均通过CAN总线由上位机控制。

    2 CAN控制器硬件结构

      CAN控制器硬件电路主要由ARM 9芯片微控制器S3C X410, CAN总线控制器MCP2515,CAN总线收发器MCP2551、高速光藕6N 137和5V电源隔离模块HDN 1-555等组成。

      MCU通过SP胺口与MCP25巧进行通信。通过使用标准SP读写命令对寄存器进行读写操作。SPI系统使用四个I/O引脚,它们是主机输入从机输出数据线MISO、主机输出从机输入数据线MCSI串行时钟9CK和低有效的选择线器本系统采用的S3C241 D微处理器包括两路SPI每一路分别有两个8位转移寄存器,用来发送和接收数据。

      MCP25l 5是一款独立的CAN控制器,支持CAN 20B技术规范中所定义的标准数据帧、扩展数据帧及远程帧标准和扩展),有三个发送缓冲器和两个接收缓冲器,支持(0,0)和(1,1) SPI模式。MCP2515内部提供了六个帧过滤寄存器和两个屏蔽寄存器,对于帧Id的过滤最长可达29位。在本设计应用时每个节点可以设置一个独有接收滤波条件,同时设置若干种公共接收滤波条件。这使得MCP2515在应用于六轴数控机床中,可以实现点对点、一点对多点及全局广播等几种信息的发送方式。

      MCP2551是一个可容错的高速CAN收发器,为CAN协议控制器提供差分收发能力。

    3 CAN总线接口软件设计

      CAN总线软件接口为应用层访问CAN控制器MCP2515提供了一个便捷的侄道,该通道屏蔽了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总线具有高传输速率及高可靠性,在数控机床上必将有着广阔的前景。

    (审核编辑: 智汇张瑜)