基于RealView MDK的CAN总线仿真研究
CAN总线的接收与CAN数据的发送是一个相反的过程,当CAN收发器检测到CAN总线上有数据时,CAN收发器把CAN总线上的差分信号转换成位流数据,经过错误管理器及位时序逻辑单元对位数据流和时序进行检查,再经过位流管理器把位流数据转换成字节数据并存放到接收缓冲器中,当一帧数据接收完了之后则由接收缓冲器产生数据接收中断(通知CPU已经接收到一帧新数据),并将产生的各种状态通过状态寄存器的值来表示。本文引用地址:https://www.eepw.com.cn/article/187882.htm
2 系统软件设计
本文所述系统实现的功能为:LPC2378的两个CAN控制模块各作为独立的CAN总线节点,实现它们之间的通信。为构建一个完整的CAN总线仿真环境,软件设计所实现的功能为:仿真一A/D转换通道,A/D转换后的数值传给CAN模块2,CAN模块l接收来自CAN模块2的数据。数据传送通道为A/D转换→CAN2→CANl。
2.1 定义一帧CAN数据的格式
2.2 初始化CAN控制器
2.3 中断服务程序
每当发送完一帧数据,或接收到一帧数据时都触发中断。
评论