CAN总线协议实现

Gau*_*v K 5 can-bus serial-communication lpc

我想学习并实现CAN BUS协议.我在软件中使用MSP430 Launchpad实现了UART,SPI,I2C和单线总线协议.现在我想了解CAN总线协议.我有mBed LPC 1768 Cortex M3开发板.mBed有Can Bus Library,但我想编写自己的库,以便我可以详细了解它,即我对其他通信协议的方式.

我无法找到合适的资源开始,这些材料似乎散布在网上.任何人都可以指导如何使用我提供的开发板编写和实现CAN总线协议.

谢谢

Swa*_*and 5

与I2C或SPI相比,开发CAN库相对容易.这是因为您的Cortex的CAN控制器将处理大多数复杂的事情.

要传输数据,您必须在指定的寄存器中写入ID和数据,并将位设置为传输数据.

恩智浦的应用说明对您非常有用.

我建议你实现以下功能:

  1. InitCAN - 这应该设置CAN的指定波特率.
  2. SetFilters - 大多数CAN控制器都带有验收滤波器,所以这很好
  3. SendData - 确保您接受ID_Type和RTR等参数.
  4. RecieveData - 这可以是阻止或基于中断.

在开始之前,请阅读CAN基础知识以了解.Microchip的应用笔记AN713AN754是一个很好的资源.也是Vector的网站和维基百科文章.

另外,您可以随时在Electronics.StackExchange.com上发布您的疑问:)