SemiDrive E3 MCAL 開發系列(10)– Lin 模塊的使用

一、概述

本文將會介紹 SemiDrive E3 MCAL LIN 模塊的簡介以及基本配置。此外會結合實際操作的介紹,幫助新手快速了解並掌握這個模塊的使用,文中的 MCAL 是基於 PTG3.0 的版本,開發板是官方的 E3640 網關板。

二、  LIN 模塊簡介

E3 的 LIN 模塊是符合 LIN2.1 規範的,LIN 模塊的底層硬體是基於 UART 實現的,每路 UART 都可以作為 LIN 模塊使用,E3 目前最多能支持 16 路 LIN。關於 LIN 模塊,AutoSar 標準中關於 LIN 模塊的軟體架構圖如下圖所示。MCAL 實現的 LIN 驅動位於 I/O drivers 這一層中,上層是 LIN TP 層以及 LIN 調度表等實現。

                                                               圖 2.1 LIN 模塊 AutoSar 軟體架構圖

三、  LIN 模塊的主要配置

下面介紹 LIN 模塊的配置,首先需要使能我們需要使用的 LIN 模塊。這裡我們以 UART2 為例進行說明。對 MCU 模塊進行配置,打開其中的 McuHwLpConfig 選項卡,勾選我們需要用到的 UART 模塊。

                                                              圖 3.1 使能 UART2 模塊

接著打開 Port 模塊配置 UART2 的引腳,具體如下圖所示。主要配置將功能復用為 UART。

                                                           圖 3.2 引腳配置

完成以上的配置後開始配置 LIN 模塊,LIN 模塊的配置比較簡單,首先進行通用配置,主要是配置是否使能 LIN 波特率自動檢測,如果需要則勾選上該選項。

 

                                                      圖 3.3 LIN 模塊通用配置

接著對 LIN 通道進行配置,關於配置項的具體說明如下:

(1)LinChannelId:LIN 的邏輯通道 ID

(2)LinChannelAutoBaudRate:配置是否開啟普通模式下的自動波特率檢測

(3)LinChannelIcuAbr:配置是否支持 ICU 模式下的自動波特率檢測

(4)LinIcuAbrRefIcuChan:選擇 ICU 通道

(5)LinChannelBaudRate:LIN 的波特率

(6)LinChannelMode:選擇作為主機還是叢機

(7)LinChannelChecksumMode:選擇校驗模式,經典校驗或者增強型校驗,僅對叢機有效

(8)LinChannelStopBit:選擇停止位的長度

(9)LinHrdChannel:選擇使用哪個 UART

 

                                                            圖 3.4 LIN 通道配置

四、  實際操作

完成以上配置後,我們需要編寫相關的測試代碼進行驗證,具體的測試代碼如下圖所示。

                                                            圖 4.1 LIN 模塊測試代碼

修改代碼後編譯並且燒錄到板子運行,測試時我們需要用到 LIN 分析儀,在測試前需要將分析儀接上,如下圖所示。

                                                            圖 4.2 接上 LIN 分析儀

該 LIN 分析儀使用的上位機軟體為 TCANLINPro,具體的安裝介紹在此就不介紹,打開上位機,啟動 LIN 模塊,這裡波特率的配置需要跟 MCAL 的 LIN 波特率配置保持一致。

                                                            圖 4.3 啟動 LIN 模塊

接著設置叢機數據,收到 E3 的幀頭信息後會按照設置的數據進行響應。

                                                            圖 4.4 設置叢機響應數據

打開串口調試助手,輸入測試命令“runcase 300”,可以看到上位機收到了 E3 發的報文,並且串口上也列印了 E3 收到的 LIN 報文數據。

                                                                          圖 4.5 串口信息

五、  使用限制

關於 E3 MCAL 的 LIN 模塊有以下使用的限制:

  • E3 的 LIN 模塊不支持喚醒睡眠機制,該驅動中對休眠喚醒接口的調用都只是修改相關通道的狀態,並不會影響底層硬體電源。
  • E3 LIN 模塊對發送報文的正確性進行校驗僅支持在 SF 域的 GPIO。

六、  參考資料

1.《SemiDrive_E3_MCAL_User_Guide_Rev03.00.pdf》,2023.08

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論