目錄
- 關鍵詞
- 平臺說明
- 一、CanControllers
- 二、CanTxProcessing
- 三、CanFilterMask
- 四、CanHardwareObjects
- 五、CanGeneral
??
關鍵詞
嵌入式、C語言、autosar、OS、BSW
平臺說明
項目 | Value |
---|---|
OS | autosar OS |
autosar廠商 | vector , |
芯片廠商 | TI 英飛凌 |
編程語言 | C,C++ |
編譯器 | HighTec (GCC) |
autosar版本 | 4.3.1 |
>>>>>回到總目錄<<<<<<
一、CanControllers
??1.CanBasisAddressEnum:選擇用哪個CAN 控制器。
??2.Busoff Processing:選擇出來busoff 的方式,中斷還是輪詢(Can_MainFunction_BusOff())來通知上層。
??3.Common CAN:針對特殊平臺的選項,例如可以將兩個物理CAN通道連接到一個邏輯CAN控制器時,激活此參數。這允許你為這個控制器使用更多的FullCAN對象。只能在第二個物理通道上配置Rx FullCAN對象。
??4.CanControllerActivation:是否使用該控制器。
??5.CanCpuClockRef:引用在MCU模塊配置的時鐘。
??6.Interrupt Priority:CAN模塊的中斷優先級。發送、接收共用同一個中斷優先級。
??7.CanRxProcessing:接收方式:輪詢還是中斷。
??8.CanWakeupProcessing:喚醒處理方式:輪詢還是中斷。
??9.CanTxProcessing:發送方式:輪詢還是中斷。
??10.CanWakeupSourceRef:引用在ECUM中定義的喚醒源。
??
??
??
??
二、CanTxProcessing
??1.Baudrate Clock:CAN模塊配置的波特率的時鐘,通過Controller Default Baudrate定義。
??2.Baudrate Prescaler:簡稱BRP,波特率預分頻,通過CanBaudrateClock計算。
??3.Controller Baud Rate:設置CAN波特率的值
??4.Controller Baud Rate Config ID:該ID值被SetBaudrate函數作為參數使用,用于設置哪個控制器的波特率。
??5.Controller Prop Seg:傳播段的時間。它定義了CAN總線上發送輸出驅動器和收發電路的物理傳播延遲。
??6.Controller Segl:采樣點前的時間段。
??7.Controller Seg2:采樣點后的時間段。
??8.Controller Sync Jump Width:同步跳躍寬度,用于重同步的時間。
采樣點簡介:
Sync Seg(同步段):長度固定為1Tq, 所以配置工具中沒有它的配置.
在Vector的配置工具中, 定義Prop+Seg1 = TSeg1, Seg2 = TSeg2,
以采樣點為80%計算:
(同步段(1) + TSeg1)/(同步段+Tseg1+Tseg2) = 80%,如果一個BitTime中Tq總和固定了,比如為16個Tq,同步段(1) + TSeg1 + TSeg2 = 16。根據這個二元一次方程組則很容易算出各段的值.Sync Seg固定為1, TSeg1 = 11, Seg2 = 4.
SyncJumpWidth:它的值是用于調整相位緩沖段1和相位緩沖段2的值, 用于CAN的同步,比如相位緩沖段1向前增長了3個,則相位緩沖段2向后減少3個Tq.—也就是一次同步中相位緩沖段改變的長度.所以Sync Jump Width的設置有2個原則:
Sync Jump Width <= 3,Sync Jump Width <= Min(Seg1, Seg2), 因為一次同步調整的幅度不能超出相位緩沖段1和2中任意一個。
三、CanFilterMask
根據MASK 將不符合的報文過濾(只用于接收報文)。
公式:Received CAN ID &.Mask== Code。
四、CanHardwareObjects
該配置主要是配置硬件物理層的參數。
??1.Common CAN Node:如果參數Common CAN被激活,那么該參數用于該硬件message object 選擇它所屬的物理CHANNEL。注意:只有RX_FULLCAN的硬件message object才可以配置,其他的message object的值都是A
??2.Controller Ref:該 message object所屬的 CAN 節點。
??3.Enable Polling Processing:該 message object是否使用輪循的方式去發送CAN報文。
??4.CanFdPaddingValue:該值用于填充CAN FD幀中> 8字節的未指定數據進行傳輸。這是必要的,因為如果> 8字節,DLC的可能值是離散的。
??5.Handle Type:FULL CAN或者 BASIC CAN
**Full CAN:**一般表示僅存在1個的Hardware Object與之對應,且該Full CAN類型的Hardware Object與特定的CAN ID Message綁定;
**Basic CAN:**一般表示存在1個或者多個的Hardware Object與之對應,且該Basic CAN類型的Hardware Object與非特定的CAN ID Message或者一定范圍內的CAN ID Message綁定;
??6.Id Type:標準幀或擴展幀。
??7.Id Value:CAN ID。
??8.Main Function RW Period Ref:引用一個讀寫發送周期的值,該值在CanGeneral→CanMainFunction RWPeriods中定義。
??9.Object Hw Handle:定義硬件message object的索引號。
??10.Object Hw Size:定義該消息使用硬件緩沖區的個數。
??11.Object Id:定義該硬件message object所屬的邏輯handle的ID號。
??12.Object Type:接收還是發送。
??
五、CanGeneral
后續更新
>>>>>回到總目錄<<<<<<