新闻中心

EEPW首页>嵌入式系统>设计应用> 基于S3C2410的CAN总线通信设计与开发

基于S3C2410的CAN总线通信设计与开发

作者: 时间:2013-02-27 来源:网络 收藏
(1) 发送处理

在两种情况会下被执行,其一发送中断响应中,如果当前有发送任务,通过发送缓冲区记录标志确定空的发生缓冲区并向其中填发送帧,然后启动发送;其二在接收中断响应中,在接收处理完后如果有发送任务且有发送缓冲区空,会处理发送任务。在两处处理发送主要是考虑有多个发送、接收缓冲区可用,可以提高通信效率。

(2) 接收处理

需要根据ICOD的值来确定当前是那个接收缓冲区的数据准备好,可以读取。接收帧处理过程中首先读取帧的ID值,确定当前帧的数据是那个节点发送来的,并据此把帧中数据字段的数据存放相应的位置。

(3) 错误处理

引起错误处理的原因很多,并且都产生错误中断,需要访问错误标志寄存器来确定具体错误类型,并据此作相应的处理。

此外,图3中更新发送缓冲区使用记录是为了在发送和接收中断响应中可以据此清楚发送缓冲区的使用情况,确定当前是否可以做发送处理。

4 测试与应用

将以上设计方案应用到自主开发的HMI(结构框图如图4,虚线框中为扩展的总线接口框图)实验板上,同时与黄石市科威自控有限公司开发的混合型PLC(EASY-M0808R-A44NB)、通用型PLC(EASY-M2416R)、运动控制器(EASY-KP3-M0506R)进行通信测试,其中HMI作主站,其他设备作从站。测试环境中有电机频繁启停和不间断继电器开闭干扰,其他测试条件和参数见如附表:

附表接口测试记录表
在测试记录程序中记录了通讯速率为500Kbps,运行到6时31分42秒时出现了一次通信“死机”,随后系统调用自恢复程序重新配置软硬件参数,6时31分43秒重启通信,通信恢复正常。其他测试条件下没有出现“死机”的情况。该测试结果说明采用这种方法设计的接口完全能够满足工业现场网络通讯的要求。


图4 HMI系统结构图5 结束语

采用ARM芯片集成的SPI接口扩展的CAN总线接口,在不改变CAN总线自身的特点的前提下,使得PCB布线简单,增强了系统的可靠性;为扩展接口找到了一个便捷的方法。在自主开发的HMI中采用该设计方案实现CAN总线接口的扩展,并且在实际应用和测试中证明了该方案的正确性和可靠性。(end)


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭