1. Block Diagram

2. 数据字节进入CAN Core的顺序

3. CPU对于邮箱(Message RAM)数据的读取
CPU把CAN 邮箱(Message RAM中的Message objects)中的数据读取出来分几步?
大致理解为2步

NOTE: 对于Message RAM的读/写CPU都无法直接操作(Test Mode除外),都要借助IFx(接口寄存器)来间接读写.
过程分析
Message RAM =读取数据=> Interface Reg

补充:

Reception of Data Frames

接收到数据并读取Message object数据后CPU应该reset the NewDat bit.
4. Message RAM 和 CPU的数据传输


5. 中断



6. Module Initialization

NOTE: CAN模块提供了3个接口寄存器,IF1/IF2可以对Message RAM进行读写,IF3对于Message RAM只读。
因为IF1和IF2都可以对Message RAM进行读写,所以比较好的做法是:
一个专门用来写一个专门用来读
补充:

7. CAN_ES.LEC 的复位机制



8.数据发送过程分析

9. 紧急记录
-
CAN数据发送不出去可能是因为中断标志没有清除…
比如将发送中断使能

那么在中断中需要将对应的标志位清零

-
CAN数据接收过滤器屏蔽,所有帧都接收

将过滤器使能然后msgIDMask = 0
本文详细阐述了CAN总线中CPU与MessageRAM之间的交互,包括数据帧的接收与读取,通过接口寄存器(IFx)进行读写操作,中断处理在数据传输中的作用,以及CAN模块初始化和数据发送过程。同时提到了数据过滤和错误处理机制,强调了中断标志的清除和接收过滤器的设置对数据通信的影响。
7513

被折叠的 条评论
为什么被折叠?



