目錄
前面
導(dǎo)入DBC文件
Can Controllers
通用配置
波特率配置
過濾器配置
CanHardwareObjects
最后
前面
上篇文章介紹了一個DBC文件的誕生過程,它是AutoSAR CAN模塊配置的前提。
CAN模塊的配置是一塊很難啃的骨頭,作者也是初學(xué),這篇文章只是給大家介紹一個CAN模塊在Davinci CFG配置過程中會使用到的一些參數(shù)選項,打好基礎(chǔ)。
導(dǎo)入DBC文件
打開Davinci CFG軟件,新建工程,這一步就省略了。
打開文件導(dǎo)入工具,選擇咱們配置好的dbc文件.
5如果有多個ECU的話,選自自己現(xiàn)需要配置的。
進入Basic Editor界面,選擇CAN
Can Controllers
通用配置
你會發(fā)現(xiàn)已經(jīng)存在一個CAN控制器了,雙擊進入
這一大列都是需要進行配置的參數(shù)
Busoff Processing:用于處理 Busoff事件,選擇中斷或者輪循的方式調(diào)用指示函數(shù)通知上層發(fā)生了Busoff事件。
Clock Frequency【MHz】:用于設(shè)置CAN模塊的時鐘。如果選項Cpu Clock Ref 設(shè)置了,這里可以不填。
Common CAN:在某些型號的單片機上,每個Node都有專屬于自己的硬件 MO (Message Object),這些MO不能配置給其他的Node使用,這樣就限制了該Node可以配置的FULLCAN的個數(shù)。而如果使用該功能,那么就可以將兩個物理Node合并成一個邏輯Channel,從而可以在這個邏輯Channel上使用更多的FULLCAN。該功能對英飛凌系列的單片機并不適用,因為英飛凌的單片機上的所有硬件MO都是可以被配置給任何一個
Node的。
Controller Activation:是否使能該控制器。
Controller Default Baudrate:設(shè)置波特率。
Cpu Clock Ref:引用的CAN模塊的時鐘。該時鐘在MCU模塊配置。
Interrupt Priority:CAN模塊的中斷優(yōu)先級。發(fā)送、接收共用同一個中斷優(yōu)先級。
Number Of CAN Obj:使用的CAN OBJ的個數(shù)。
Physical Node:CAN節(jié)點。
Receive Input Selection:接收引腳的選擇。
Rx Processing:接收數(shù)據(jù)的處理方式,中斷或者輪循。
Tx Processing:發(fā)送數(shù)據(jù)的處理方式,中斷或者輪循。
Type of Service Control:中斷由哪個CPU來處理。
再往里看需要進行波特率設(shè)置、過濾器設(shè)置
波特率配置
Baudrate Clock:CAN模塊配置的波特率的時鐘,由Controller Default Baudrate參數(shù)的值定義而來的。
Baudrate Div8:預(yù)分頻時鐘8分頻。
- false:一個時間單元等于(BRP+1)個時鐘周期;
- ture:一個時間單元等于8×(BRP+1)個時鐘周期。
Baudrate Prescaler:簡稱BRP,波特率預(yù)分頻,描述見上面的Baudrate Div8。
Controller Baud Rate:設(shè)置CAN波特率的值。
Controller Baud Rate Config ID:該ID值被SetBaudrate函數(shù)作為參數(shù)使用,用于設(shè)置哪個控制器的波特率。
Controller Prop Seg:傳播段的時間。它定義了CAN總線上發(fā)送輸出驅(qū)動器和收發(fā)電路的物理傳播延遲。
Controller Segl:采樣點前的時間段。
Controller Seg2:采樣點后的時間段。
Controller Sync Jump Width:同步跳躍寬度,用于重同步的時間。
過濾器配置
這里的過濾器可不是濾波器,更像是校驗,把不符合要求的報文過濾掉。
Filter Code Value,F(xiàn)ilter Mask Value:過濾器被設(shè)計成Code和Mask兩個部分。
只有符合下面的條件才被認為通過:
- Received CAN ID &.Mask== Code
Filter只被用于Rx Basic CAN中。
Is Locked:用于指示代碼生成器在生成代碼的時候不要優(yōu)化CanFilterMask的值。
CanHardwareObjects
前面配置好了Can控制器軟件層面的一些東西,CanHardwareObjects更多的是一些硬件層的協(xié)議參數(shù)。
ShortName:該硬件MO的名字,在代碼中主要用于注釋以體現(xiàn)是哪個硬件MO。
Common CAN Node:如果參數(shù)Common CAN被激活,那么該參數(shù)用于該硬件MO選擇它所屬的物理CHANNEL。注意:只有RXFULLCAN的硬件MO才可以配置,其他的MO的值都是A。
Controller Ref:該 MO所屬的 CAN 節(jié)點。
Enable Polling Processing:該 MO是否使用輪循的方式去發(fā)送CAN報文。目前的版本不支持這個配置。
Handle Type:FULL CAN(一個 MO只能發(fā)送或接收一個 CAN 報文)或者 BASIC CAN(一個MO可以接收或發(fā)送多個CAN報文)。
Id Type:標(biāo)準幀或擴展幀。
Id Value:CAN ID。
Main Function RW Period Ref:引用一個讀寫發(fā)送周期的值,該值在CanGeneral→CanMainFunction RWPeriods中定義。
Object Hw Handle:定義硬件MO的索引號,也即該消息使用第幾個MO來發(fā)送CAN 報文。
Object Hw Size:定義該消息使用硬件MO的個數(shù)。
Object Id:定義該硬件MO所屬的邏輯handle的ID號。
Object Type:接收還是發(fā)送。
Filter Mask Ref:設(shè)置該MO的掩碼。
Rx Object配置選項與TxObject類似,故不再說明。
最后
關(guān)于CanGeneral配置,放在下一篇博客里,這些參數(shù)也太多了,查不過來了
文章來源:http://www.zghlxwxcb.cn/news/detail-671358.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-671358.html
到了這里,關(guān)于AutoSAR—Davinci CFG中CAN模塊配置(上)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!