中南覆鸥人力资源有限公司

你的位置:首頁 > 互連技術(shù) > 正文

簡析英飛凌TC3XX MCAL CAN模塊

發(fā)布時間:2023-05-04 來源:汽車ECU開發(fā) 責(zé)任編輯:wenwei

【導(dǎo)讀】英飛凌的芯片在汽車電子里用得可謂是頗多,剛好小編也用過,最近剛好在摸TC3系列的CAN模塊,剛好簡單寫寫。


以TC387為例,共有3個MCMCAN模塊,分別為CAN0、CAN1、CAN2。下圖是三個CAN模塊的基本參數(shù),其中CAN0的功能最全。


1679319760806901.png


從圖中可以看出,每個CAN模塊有4個CAN Node,每個Node均采用Bosch的M_CAN方法來實現(xiàn),支持CAN和CANFD,最高速率為5Mbps,每個 Node有最多64個Rx Buffer,支持最多2個Rx FIFO,另外每個Node有最多32個Tx Buffer,支持最多1個Tx FIFO/Tx Queue。


其與TC2XX相比,其區(qū)別在于由原來的Message Object換成了Message RAM,增加了Pretended Networking特性,以及新增Range Filter功能。


下面就來說說細(xì)節(jié)。


01. 時鐘


首先來看看時鐘,對于CAN模塊來說,主要有Fsyn和Fasyn,如下圖所示。Fsyn 為CAN相關(guān)寄存器及Message RAM的訪問提供時鐘,F(xiàn)asyn為CAN/CAN FD波特率產(chǎn)生提供時鐘,其中為了MCMCAN有良好的性能,需要保證 Fsyn>=Fasyn 非常重要。


1679319746876784.png


02. 數(shù)據(jù)發(fā)送接收管理


數(shù)據(jù)發(fā)送接收分為Dedicated Rx/Tx Buffer和RX FIFO,其中Dedicated Rx Buffer就是每個ID對應(yīng)一個Buffer,也就是FULL CAN。所有的Dedicated Rx Buffer地址必須連續(xù),并且占用的Message RAM大小必須相同。


每個Dedicated Rx Buffer寫入數(shù)據(jù)后都會被鎖住,不會再從CAN Bus上寫入新數(shù)據(jù),直到CPU訪問完Dedicated Rx Buffer后解鎖。


Rx Buffer其實就是多個Rx Buffer組成Rx FIFO進(jìn)行管理,每個CAN Node最多可以設(shè)置2個Rx FIFO,分別為Rx FIFO 0,Rx FIFO 1。每個Rx FIFO最多可以包含64個Rx Buffer數(shù)據(jù)。


Dedicated Rx Buffer和Rx FIFO都可以設(shè)置Filtering,確定CAN Bus上哪些Message被接收。


報文發(fā)送也一樣分為Dedicated Tx Buffer和Tx FIFO,不過多了一個Tx Queue,前兩者的含義也和接收管理中提到的一樣。在Tx管理中有幾個注意點的是,Dedicated Tx Buffer與Tx FIFO 或者是Tx Queue可以同時存在,但最多只能32個Tx Buffer.


對于Dedicated Tx Buffer、Tx FIFO共存而言,必須順序排布。每次發(fā)送仲裁,將所有Dedicated Tx Buffer和最老的Tx FIFO Tx Buffer比較優(yōu)先級,Message ID最小的先發(fā)送。


對于Dedicated Tx Buffer、Tx Queue共存而言,也是按照Dedicated Tx Buffer、Tx Queue的順序排布,每次發(fā)送仲裁,將所有Dedicated Tx Buffer和Tx Queue中的Tx Buffer比較優(yōu)先級,Message ID最小的先發(fā)送,Message ID相同則Tx Buffer順序在前的先發(fā)送。


03. MCAL配置


涉及的到MCU和CAN模塊,首先是設(shè)置CAN模塊的時鐘頻率,如下圖所示。


1679319731956313.png


下面就是Port模塊,按照硬件接口表進(jìn)行配置,比如P20.8配置為輸出,如下圖所示。


1679319716708204.png


下面就是CAN模塊的配置了,配置RXDB,以及發(fā)送和棘手以及wakeup的方式,如下配的是輪詢模式,在就是CAN時鐘源,以及相應(yīng)的波特率。


1679319705484731.png


下面就是波特率的設(shè)置了,以及為了采樣點配置在80%左右,需要配置各個段的時間參數(shù),這個通常主機(jī)廠有要求,按照配就是了。


1679319692644746.png


再接下來配置Hardware object,包括是幀類型,是FIFO還是其他類型,以及關(guān)聯(lián)的CAN模塊。


1679319678506286.png


還可以配置過濾器,如下圖所示。


1679319667479792.png


最后即使配置CAN模塊的主函數(shù)的運(yùn)行周期了,如下圖所示。


1679319655235506.png



免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進(jìn)行處理。


推薦閱讀:


1200V IGBT7和Emcon7可控性更佳,助力提升變頻器系統(tǒng)性能(上)

驅(qū)動5G基礎(chǔ)設(shè)施

家庭護(hù)理醫(yī)療設(shè)備供電

升降壓原理淺析

MIMO系統(tǒng)與波束賦形(上篇)

特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉

绥化市| 洪雅县| 无为县| 黄平县| 深州市| 迁安市| 乐至县| 禄丰县| 蕉岭县| 永定县| 区。| 余姚市| 安多县| 介休市| 南昌市| 蒲城县| 通榆县| 宜宾市| 石屏县| 海晏县| 天气| 伊春市| 滦南县| 奇台县| 二手房| 合阳县| 镇原县| 呼图壁县| 和静县| 随州市| 遂川县| 安康市| 福安市| 永登县| 夏津县| 通渭县| 垦利县| 新兴县| 荃湾区| 大名县| 西城区|