发布日期:2024-08-03 17:28 点击次数:146
英飞凌的芯片在汽车电子里用得可谓是颇多痴汉十人队,刚好小编也用过,最近刚好在摸TC3系列的CAN模块,刚好节略写写。
以TC387为例,共有3个MCMCAN模块,辞别为CAN0、CAN1、CAN2。下图是三个CAN模块的基本参数,其中CAN0的功能最全。
图片痴汉十人队
从图中不错看出,每个CAN模块有4个CAN Node,每个Node均摄取Bosch的M_CAN才智来终结,搭救CAN和CANFD,最高速度为5Mbps,每个 Node有最多64个Rx Buffer,搭救最多2个Rx FIFO,另外每个Node有最多32个Tx Buffer,搭救最多1个Tx FIFO/Tx Queue。
其与TC2XX比较,其区别在于由底本的Message Object换成了Message RAM,加多了Pretended Networking特点,以及新增Range Filter功能。
底下就来说说细节。
01.
时钟
领先来望望时钟,关于CAN模块来说,主要有Fsyn和Fasyn,如下图所示。Fsyn 为CAN关系寄存器及Message RAM的考查提供时钟,Fasyn为CAN/CAN FD波特率产生提供时钟,其中为了??????有雅致的性能,需要保证 Fsyn>=Fasyn 卓绝迫切。
图片
02.
数据发送承袭处分
数据发送承袭分为Dedicated Rx/Tx Buffer和RX FIFO,其中Dedicated Rx Buffer等于每个ID对应一个Buffer,也等于FULL CAN。所有这个词的Dedicated Rx Buffer地址必须勾通,何况占用的Message RAM大小必须谈判。
每个Dedicated Rx Buffer写入数据后齐会被锁住,不会再从CAN Bus上写入新数据痴汉十人队,直到CPU考查完Dedicated Rx Buffer后解锁。
Rx Buffer其实等于多个Rx Buffer构成Rx FIFO进行处分,每个CAN Node最多不错开发2个Rx FIFO,辞别为Rx FIFO 0,Rx FIFO 1。每个Rx FIFO最多不错包含64个Rx Buffer数据。
Dedicated Rx Buffer和Rx FIFO齐不错开发Filtering,笃定CAN Bus上哪些Message被承袭。
报文发送也相似分为Dedicated Tx Buffer和Tx FIFO,不外多了一个Tx Queue,前两者的含义也和承袭处分中提到的相似。在Tx处分中有几个防护点的是,Dedicated Tx Buffer与Tx FIFO 不详是Tx Queue不错同期存在,但最多只可32个Tx Buffer.
关于Dedicated Tx Buffer、Tx FIFO共存而言,必须国法排布。每次发送仲裁,将所有这个词Dedicated Tx Buffer和最老的Tx FIFO Tx Buffer比较优先级,Message ID最小的先发送。
关于Dedicated Tx Buffer、Tx Queue共存而言,亦然按照Dedicated Tx Buffer、Tx Queue的国法排布,每次发送仲裁,将所有这个词Dedicated Tx Buffer和Tx Queue中的Tx Buffer比较优先级,Message ID最小的先发送,Message ID谈判则Tx Buffer国法在前的先发送。
03.
MCAL建设
波及的到MCU和CAN模块,领先是开发CAN模块的时钟频率,如下图所示。
图片
初中生系列底下等于Port模块,按照硬件接口表进行建设,比如P20.8建设为输出,如下图所示。
图片
底下等于CAN模块的建设了,建设RXDB,以及发送和辣手以及wakeup的姿首,如下配的是轮询阵势,在等于CAN时钟源,以及相应的波特率。
图片
底下等于波特率的开发了,以及为了采样点建设在80%傍边,需要建设各个段的工夫参数,这个频繁主机厂有条款,按照配等于了。
图片
再接下来建设Hardware object,包括是帧类型,是FIFO还是其他类型,以及关联的CAN模块。
图片
还不错建设过滤器,如下图所示。
图片
临了即使建设CAN模块的主函数的初始周期了,如下图所示。
图片
本站仅提供存储劳动,所有这个词实质均由用户发布,如发现存害或侵权实质,请点击举报。