英飞凌的芯片在汽车电子里用得可谓是颇多制服丝袜,刚好小编也用过,最近刚好在摸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模块的主函数的启动周期了,如下图所示。
图片
本站仅提供存储管事,所有这个词试验均由用户发布,如发现存害或侵权试验,请点击举报。