1 概要
控制器局域网(Controller Area Network,简写为 CAN)是一种用于连接电子控制设备
(EletronicControl Unit,简写为 ECU)的多主共享型串行总线标准。CAN 总线针对抗电磁
干扰进行了专门设计,适用于具有较强电磁干扰的环境,不但可以使用与 RS-485 类似的差
分平衡传输线,也可以使用更加可靠的双绞线。CAN 总线最初是针对汽车应用而研发的,
不过时至今日已经广泛应用于各种嵌入式控制领域(例如工业方面和医疗方面)。CAN 总线
在总线长度小于 40 米时最高可达 1Mbps 位速率。位速率越低则有效通讯距离越远(例如
125kbps 时通讯距离可达 500 米)。
CAN 有如下特性:
⚫ 支持 CAN2.0B 协议
⚫ 同时支持 11 位和 29 位识别码
⚫ 位速率可达 1Mbits/s
⚫ 可读/写访问的错误计数器
⚫ 可编程的错误报警限制
⚫ 最近一次错误代码寄存器
⚫ 对每一个 CAN 总线错误的中断
⚫ 具体控制位控制的仲裁丢失中断
⚫ 在标准和扩展格式中都有验收滤波器含屏蔽和代码寄存器
⚫ 当错误或仲裁丢失时可配置是否重发
⚫ 支持接收和发送 DMA
2 CAN 模块结构框图
⚫ CANxTX 引脚:CAN 模块的通信发送引脚,通过 IO 口重映射功能映射到 IO 口。
⚫ CANxRX 引脚:CAN 模块的通信接收引脚,通过 IO 口重映射功能映射到 IO 口。
|