C2000系列DSP外设CAN的使用

  • Post author:
  • Post category:其他


CAN介绍:

1.1Mb波特率

2.32个邮箱,可配置为接收和发送

3.0 – 8 字节的数据

4. 可编程中断

5. 时间戳功能

CAN结构:

主要由CAN控制器 , CAN的缓冲器(buffer), CAN邮箱构成

CAN工作过程简介:

接收:

  1. CPU通过寄存器对CAN控制器和邮箱进行配置,配置邮箱为接收邮箱,接收邮箱的ID号,mask 等
  2. 当接收到总线的一条数据后,先将这条数据存入buffer中
  3. CAN控制器提取buffer中消息,按照高优先级邮箱号依次比较。例如,CAN控制器将buffer的一条消息和31号邮箱的ID(包含mask)比较,如果匹配成功,则将这个消息给31号,如果不成功,则去找30号邮箱比较。如果所有邮箱全部匹配失败,则这条消息被丢弃。

发送:

1.CPU通过寄存器配置邮箱为发送邮箱,邮箱ID号,数据等,CPU将TRS[n]置位

2. 控制器接收到CPU命令,将这条消息存储到发送缓冲器(buffer)中

3 .当CAN总线空闲时,CAN控制器根据优先级,将buffer中的消息,依次发送出去。

注意点:

1.CAN控制寄存器是32位都和写的!

2.关于接收的问题,如果一个邮箱接收之后,CPU没有来得及去读取这个数据,结果又有一条匹配的数据来了。如果这个邮箱的允许消息覆盖,则上一条数据被新来的消息覆盖掉,如果不允许覆盖,则CAN控制器会这条消息和其他邮箱比较。



版权声明:本文为qq_41622976原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。