2 CAN控制器硬件结构
S3C2440主控板上没有集成CAN控制器电路,可以通过SPI总线接口扩展CAN总线接口,实现微处理器与CAN总线控制器之间的数据通讯,使嵌入式数控系统连接到CAN总线网络中。CAN控制器扩展电路如图3所示,微处理器通过SPI接口与MCP2510进行通信。
图3 CAN控制器电路原理图
CAN协议控制器采用MCP2510控制器,该控制器支持CAN2.0A和CAN2.0B等版本的技术协议规范。MCP2510可以在3V~5.5V范围内供电,因此能直接与3.3V I/O的嵌入式处理器连接。系统结构简单,与处理器之间的SPI串行接口,减少了总线的物理连接,提高了系统的可靠性。能够发送和接收标准和扩展报文,通信速率可以达到1Mb/s,MCP2510还包括三个发送缓冲器和两个接收缓冲器,可以减少微处理器的管理负担,其SPI总线接口的数据传输速率可以达到5Mb/s。
CAN总线收发器采用TJA1050。TJA1050的设计使用了最新的EMC技术,它采用了先进的绝缘硅技术进行处理,具有很好的抗电磁干扰性能。
在Linux操作系统中编写CAN总线控制器MCP2510的驱动。CAN总线通信程序的设计可分为发送数据、接收数据和中断处理3个模块来实现。通过测试证明编写的CAN驱动是正确的。
3 网络体系的软件结构
基于CAN总线的嵌入式数控系统网络化的软件结构主要指的是在工控机上进行的数控加工代码的预处理部分。此部分功能包括读入NC加工程序、编辑NC加工程序、词法检查、语法检查、译码、刀具补偿处理以及数据保存。将经过处理的数据依次存放到固定格式的数据文件中,如果存在固定循环、跳转指令和特殊点交叉,则需要相应的子程序进行处理,然后在数据中进行数据修改。工控机进行数控加工代码的预处理流程图如图4所示。启动系统软件后,系统首先加载上次运行系统完成后所保存的数据信息和系统所处的状态信息,并提示是否要进行原点调零等。然后系统调入数控加工程序并进行语法、词法等检查,检查无误后,根据数控加工程序段的准备功能字、辅助功能字、T功能、H功能等用相应的算法进行计算,从而得到带有刀具补偿量的数据,并将这些数据和对应的准备功能字、辅助功能字、刀号、刀补号以及其他功能字等一起保存到固定格式的数据文件中。当工控机将数据处理完毕后通过CAN总线将数据传输到S3C2440中。然后S3C2440再将数据进行相应的处理通过总线接口发送到运动控制板上面,运动控制板经过复杂的插补计算输出控制脉冲到伺服系统实现对电动机的控制。
图4 工控机进行数控加工代码的预处理流程图
4 结论
随着现场总线和嵌入式技术在控制领域的广泛应用,CAN总线以其高可靠性、强实时性和容易实现等显著优点已经成为工业网络的主流。设计的基于ARM与运动控制芯片的嵌入式数控系统具有良好的开放性、高性能和低成本等特点。基于CAN总线的嵌入式数控系统网络化体系结构可以实现多台数控机床加工过程的在线自动监控。系统集成度高、智能化程度高、结构与功能可扩展性好、安全可靠。该研究成果的转化对网络化的嵌入式数控系统有一定的积极推动作用,对将来发展的柔性化制作系统(FMS)有积极的借鉴意义。