CAN(Controller Area Network) 是一种广泛应用于汽车和工业控制系统中的多主总线标准,用于实时短消息通信。根据CAN控制器的功能和复杂度,可以分为Basic CAN和Full CAN。它们之间的主要区别在于消息处理和存储的方式。
Basic CAN
Basic CAN,也称为标准CAN,是最早引入的CAN协议模式,其设计更为简单,适用于资源受限的系统。以下是Basic CAN的一些主要特点和功能:
特点
- 简单性:Basic CAN设计简单,比较适合资源受限的应用场景。
- 消息缓冲:通常只有一个或少量的消息缓冲区,用于存储发送和接收的数据帧。
- 中断驱动:大多数情况下,消息的发送和接收通过中断处理完成。
- 消息过滤:硬件通常不支持消息过滤,必须在软件中完成。
- 软件开销大:由于缺乏硬件滤波和消息管理的支持,软件需要实现更多的功能,从而增加了处理器的负担。
工作原理
- 发送:CPU将要发送的消息写入到CAN控制器的一个发送缓冲区中。CAN控制器在总线空闲时发送这条消息,并触发中断通知CPU完成发送。
- 接收:CAN控制器接收到消息后,通过中断机制通知CPU。CPU读取消息,并根据其内容处理或转发。
应用场景
- 资源受限的嵌入式系统,如小型微控制器。
- 对实时性要求不高的应用。
- 工业自动化和汽车电子中的简单通信任务。
Full CAN
Full CAN 是对Basic CAN的增强ÿ