0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

AutoSAR架構(gòu)中對Port Driver模塊有哪些功能呢

冬至子 ? 來源:Vehicle軟件開發(fā) ? 作者:Vehicle軟件開發(fā) ? 2023-01-18 16:21 ? 次閱讀

首先介紹MCAL的Port Driver模塊。

PortDriver模塊作為一個最基本的模塊主要完成MCU的Port_Pin引腳的相關功能定義和初始化。通常而言Port_Pin的主要功能是作為GPIO、ADC、CAN、ICU、PWM、SPI等功能使用。

而對于一個Port_Pin而言,具體作為什么功能使用,要結(jié)合實際的原理圖進行定義。無論一個Port作為什么功能使用,在AutoSAR中大概的策略就是通過IO HardWareAbs層進行相關的控制,具體的控制邏輯如下所示。

2.jpg

IO HardWare Abstraction SW根據(jù)用戶設置的操作結(jié)合Port Driver模塊對Port不同模式的設置,發(fā)出調(diào)用命令,然后Port Driver對Port中的相關寄存器進行操作,從而達到對Port具體Pin腳輸入輸出的控制。

AutoSAR架構(gòu)中對Port Driver模塊提供了幾個以下幾個具體的功能:

1.配置Port_Pin的屬性

對于Port_Pin屬性的定義主要包括:引腳不同功能的定義,也就是我們常說的復用功能,定義Port_Pin作為GPIO使用還是作為ADC或者是CAN等特殊功能使用;引腳方向定義(輸入還是輸出)、引腳初始值定義、是否支持輸入輸出方向變化、是否支持復用模式轉(zhuǎn)換功能等;作為輸入時選擇上拉還是下拉、作為輸出時選擇開漏還是推挽輸出、是否支持回讀功能;未使用到的Port_Pin狀態(tài)的定義;定義Port_Pin在使用中的Symbol Name(常見的定義方式PORT_A_PIN_0)等。

2.版本校驗

對于特定的Port Driver在AutoSAR中都有相應的版本號,對于版本號的校驗通過該功能進行使能與否,一旦使能,可以通過相應的API來核對版本號。

3.開發(fā)中相關錯誤的追溯

對Port Driver在實際開發(fā)中出現(xiàn)的相關錯誤進行定義,在開發(fā)階段可以結(jié)合Det模塊對Port Driver常見的錯誤進行追溯,快速定位開發(fā)中因為考慮不全或者粗心產(chǎn)生的錯誤。AutoSAR提供的Det功能可以快速定位相關錯誤。然后,根據(jù)具體的錯誤去修改相應的配置和進行代碼優(yōu)化。

4.常用的API

Port Driver模塊主要做一些基礎的初始化配置使用,因此用的API相對較少,主要包括Port_Init、Port_SetPinDirection、Port_RefreshPortDirection 、Port_GetVersionInfo、 Port_SetPinMode 等,具體的函數(shù)功能結(jié)合API的名字一般能猜到,具體的使用請參考AutoSAR的標準文檔。在Port模塊這些函數(shù)可以直接調(diào)用。

對于Port Driver這個模塊在工具中的配置,AutoSAR標準文件也提供了詳細的說明。下面圖片展示了相關的配置內(nèi)容。ETAS、Vector、EB等配置工具都是基于AutoSAR標準提供的參考進行定義的。

2.jpg

無論是基于工具的配置,還是手寫功能對于Port層面的設計按照以上圖中包含的內(nèi)容進行設計基本上能滿足大多數(shù)要求,但是有一些額外的設置可以根據(jù)具體的芯片型號結(jié)合配置工具實現(xiàn)。

下面結(jié)合本人在使用的時候出現(xiàn)的問題總結(jié)了幾點經(jīng)驗:

1.在使用該模塊的時候一定要結(jié)合具體的硬件進行選擇相應的Port_Pin的模式,如果在使用的時候用到了模式切換的功能,一定要添加所有切換的模式狀態(tài),同時使能模式切換相關的API。

2.在選擇輸入輸出方式的時候要考慮硬件的外部電路,據(jù)具體的電路和芯片相關的要求選擇。

3.對于PartionRef功能的使用可能要結(jié)合具體的功能安全需求以及整個系統(tǒng)的Partion區(qū)分做選擇。

4.對于沒有使用的Port一定要根據(jù)要求配置,多數(shù)情況下默認狀態(tài)就可以,但是也要具體問題具體分析。

5.對于支持方向變化的Port_Pin,作為方向切換使用時,一定要注意配置的端口的屬性,防止使用的時候因為配置原因?qū)е伦x出或者寫入的電平出現(xiàn)不一致。

審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • CAN總線
    +關注

    關注

    145

    文章

    1908

    瀏覽量

    130502
  • 寄存器
    +關注

    關注

    31

    文章

    5271

    瀏覽量

    119655
  • AUTOSAR
    +關注

    關注

    10

    文章

    344

    瀏覽量

    21416
  • GPIO
    +關注

    關注

    16

    文章

    1182

    瀏覽量

    51740
收藏 人收藏

    評論

    相關推薦

    復雜驅(qū)動如何將現(xiàn)有的或新的概念引入AUTOSAR軟件架構(gòu)的?

    復雜驅(qū)動(Complex Driver,CDD)是一種不受 AUTOSAR 標準化約束的軟件實體,它可以通過 AUTOSAR 接口和/或基礎軟件模塊 API 進行訪問
    的頭像 發(fā)表于 11-22 10:57 ?1366次閱讀
    復雜驅(qū)動如何將現(xiàn)有的或新的概念引入<b class='flag-5'>AUTOSAR</b>軟件<b class='flag-5'>架構(gòu)</b><b class='flag-5'>中</b>的?

    AUTOSAR分層架構(gòu)

    AUTOSAR分層架構(gòu)
    發(fā)表于 09-26 11:12

    功能安全---AUTOSAR架構(gòu)深度解析 精選資料分享

    AUTOSAR架構(gòu)深度解析本文轉(zhuǎn)載于:AUTOSAR架構(gòu)深度解析AUTOSAR的分層式設計,用于支持完整的軟件和硬件
    發(fā)表于 07-23 08:34

    AUTOSAR架構(gòu)深度解析 精選資料推薦

    AUTOSAR架構(gòu)深度解析本文轉(zhuǎn)載于:AUTOSAR架構(gòu)深度解析目錄AUTOSAR架構(gòu)深度解析
    發(fā)表于 07-28 07:40

    AUTOSAR架構(gòu)深度解析 精選資料分享

    AUTOSAR架構(gòu)深度解析本文轉(zhuǎn)載于:AUTOSAR架構(gòu)深度解析AUTOSAR的分層式設計,用于支持完整的軟件和硬件
    發(fā)表于 07-28 07:02

    LLCE driver是否可以在非autosar os運行?

    S32DS、RTD和LLCE CAN驅(qū)動對應的工具版本嗎?我想知道,LLCE driver是否可以在非autosar os運行,是否有關于LLCE
    發(fā)表于 04-18 09:21

    Virtual Serial Port Driver 6.9(虛擬串口)

    電子發(fā)燒友網(wǎng)站提供《Virtual Serial Port Driver 6.9(虛擬串口).rar》資料免費下載
    發(fā)表于 08-02 00:00 ?38次下載

    AUTOSAR架構(gòu)下的WdgDriver WdgIf WdgM模塊

    ,DaVinci Configurator 為AUTOSAR工具鏈。 01 模塊架構(gòu)與依賴 1、模塊介紹AUTOSAR
    的頭像 發(fā)表于 09-09 11:17 ?6246次閱讀

    一種AUTOSAR軟件架構(gòu)RTE的實現(xiàn)方法

    介紹了一種AUTOSAR軟件架構(gòu)RTE的實現(xiàn)方法。
    發(fā)表于 07-13 16:02 ?6次下載

    AUTOSAR架構(gòu)CanNm模塊的問題解答

    CanNm模塊配置完成后,基本不需要和其他非標準AUTOSAR模塊進行交互(除了user data數(shù)據(jù)的使用),但是在深入理解CanNm模塊是發(fā)現(xiàn)一下幾個問題還是比較疑惑:
    的頭像 發(fā)表于 11-28 10:38 ?4538次閱讀

    關于AUTOSAR-DEM模塊的簡要介紹和幾點思考

    DEM全稱“Diagnostic Event Management”,該模塊作為AUTOSAR架構(gòu)的BSW模塊之一,對于ECU軟件開發(fā)也是
    的頭像 發(fā)表于 04-15 17:12 ?3021次閱讀

    AUTOSAR-MemIf的功能

    AUTOSAR架構(gòu)圖中可以看出,MemIf(Memory Abstraction Interface)模塊位于Memory Hardware Abstraction。?
    的頭像 發(fā)表于 05-26 16:35 ?1196次閱讀
    <b class='flag-5'>AUTOSAR</b>-MemIf的<b class='flag-5'>功能</b>

    AUTOSAR是什么?AUTOSAR軟件架構(gòu)簡介

    AUTOSAR的全稱是AUTomotive Open System Architecture,直譯為汽車開放系統(tǒng)架構(gòu)
    的頭像 發(fā)表于 07-08 17:26 ?1.2w次閱讀
    <b class='flag-5'>AUTOSAR</b>是什么?<b class='flag-5'>AUTOSAR</b>軟件<b class='flag-5'>架構(gòu)</b>簡介

    AUTOSAR架構(gòu)自適應平臺

    AUTOSAR架構(gòu)的目標是實現(xiàn)汽車電子系統(tǒng)的模塊化、可重用和可擴展,以提高開發(fā)效率和系統(tǒng)的可靠性。 AUTOSAR架構(gòu)由三個主要的層次組成
    的頭像 發(fā)表于 10-27 15:23 ?1173次閱讀
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>架構(gòu)</b>自適應平臺

    AUTOSAR架構(gòu)復雜驅(qū)動設計

    復雜驅(qū)動(Complex Driver,CDD)是一種不受 AUTOSAR 標準化約束的軟件實體,它可以通過 AUTOSAR 接口和/或基礎軟件模塊 API 進行訪問
    的頭像 發(fā)表于 12-21 10:13 ?3758次閱讀
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>架構(gòu)</b><b class='flag-5'>中</b>復雜驅(qū)動設計