我有一个任务,将CAN协议驱动程序从基本CAN转换为完全CAN。该项目包含在其中使用的CANopen堆栈。我已经开始了对CANopen堆栈的研究。
请注意-主要任务是改进驱动器代码,将其转换为完全的CAN实现。
发布于 2014-06-29 11:03:06
基本CAN和全CAN是CAN控制器的类型,因此它是一个硬件特性。
全CAN控制器具有多个(例如16)邮箱。可以将邮箱配置为接收或发送can消息的缓冲区。除其他外,全CAN控制器负责过滤接收到的消息并将接收到的消息的内容复制到预定义的RAM部分。
基本CAN控制器只有一个接收缓冲器。CAN消息过滤,通过周期性地读取接收缓冲区,必须由主机控制器(CPU)完成。主机控制器还负责将接收到的消息复制到RAM中。
完全CAN的优点之一是较低的CPU负载。
不需要研究CANopen堆栈来重新实现或重构CAN协议驱动程序。正如所述的这里,CANopen堆栈依赖于CAN协议驱动程序接口,而不是相反。
https://softwareengineering.stackexchange.com/questions/246374
复制相似问题