**AutoSAR I/O Hardware Abstraction **概述
I/O Hardware Abstraction在整個AutoSAR中屬于ECU抽象層的一部分。在AutoSAR架構中的位置如下面綠色顯示的部分所示。I/O Hardware Abstraction并不是僅僅作為一個模塊使用,在實際的開發中,通常所有的I/O Driver模塊(ADC、DIO、ICU、PWM、OCU等)都可以采用I/O Hardware Abstraction實現與上層應用間的交互和處理。
I/O Hardware Abstraction是從外圍I/O設備(片上或板上)的位置和ECU硬件布局(例如μC引腳連接和信號電平反轉)抽象出來的一組模塊,不同的I/O設備可以通過I/O信號接口進行訪問。I/O Hardware Abstraction的目的是通過將I/OHardware Abstraction端口映射到ECU信號來提供對MCAL驅動程序的訪問,實現軟件組件的數據完全從物理層中抽象出來,使軟件組件設計者不再需要詳細了解MCAL驅動程序的API和物理層值的單位。
I/O Hardware Abstraction提供初始化整個I/O硬件抽象的服務。I/O HardwareAbstraction將調用驅動程序的API管理片上設備。MCAL驅動程序的配置取決于SWC所需的ECU信號的數量。
I/O Hardware Abstraction****交互模塊
I/O Hardware Abstraction在使用的時候主要處理的是MCAL層的各個模塊,I/O HardwareAbstraction可以訪問的MCAL層的接口如下所示。
I/O Hardware Abstraction在與MCAL的交互過程中可以調用所有MCAL的API接口,同時可以接收除了DIO和PORT以外的所有模塊的回調函數。
I/O Hardware Abstraction除了調用MCAL中I/O Driver的模塊,同時可以調用Communication的Driver接口,比較常用的就是SPI接口,在使用外部的ADC芯片的時候同時會用到相關的SPI通信協議,這個時候I/O Hardware Abstraction可以直接調用在SPI配置的參數和相關的接口實現對外部ADC芯片的電壓采集。如下圖所示
I/O Hardware Abstraction還會有系統服務模塊相互關聯,主要表現為在ECUM中調用相關的初始化函數,調用DET接口實現錯誤的追溯,調用Bsw Scheduler等。
I/O Hardware Abstraction還可以直接與DCM模塊建立交互,用于對ECU相關的數據和信號做診斷處理。
I/O Hardware Abstraction****主要定義參數
I/O Hardware Abstraction采用的是AutoSAR Interface與SWC進行數據交互,處理的信號為ECU的Input/Output Signal,在AutoSAR中Port屬于典型的AutoSAR Interface,用于處理ECU的Input/OutputSignal。
一般來說ECU信號與一個典型的Pin相互對應。同時ECU信號在I/O HardwareAbstraction有兩個特性,Filter和Age。對于Filter屬性一般適用于Input Signal,通過對原始輸入信號的Fliter/Debuance處理將Input Signal的Raw值進行轉換處理給上層應用模塊處理。
對于Age屬性,對于Input Signal來說,Lifetime決定了該信號的處理方式,如果為0,則表示該信號要立刻處理,如果大于0,則表示該信號的有效時間。對于Output Signal來說決定信號外發的Delay,如果為0,表示立馬將數據寫入到相應的寄存器,如果大于0,表示Delay時間到達后操作。
I/O Hardware Abstraction的實現一般需要EcuAbstractionComponentType的實體,同時建立起相關的Port通過RTE與SWC進行交互,除了定義Port還要定義Runnable以及Internal behavior等。I/O Hardware Abstraction可以提供SC Port和SR Port進行數據的交互。在SC Port中一般采用Set Operation和Get Operation進行數據操作,也可以采用Notification或者Callback進行操作。
I/O Hardware Abstraction一般包括多個BSW I/O模塊,對于每一個BSW模塊一般建立一個I/OHardware Abstraction的實體實現特定的功能。對于特定的功能可以創建調度的函數實現與下層模塊的同步,例如可以根據ADC觸發轉換的時間定義對應的調度函數進行轉換數據的讀取。
I/O Hardware Abstraction沒有具體配置條目,它的實現主要和SWC的實現相似,在使用的時候根據需要定義相關的函數以及交互的接口,實現對MCAL層I/O相關模塊的數據處理。
最常用的功能就是將采集到的原始數據轉化為直接可以供SWC使用的數據,如將ADC寄存器的值根據硬件轉換電路實現真實的物理數值以及做相關的濾波處理;將從SWC接收的PWM的周期和占空比轉換為寄存器中對應的時鐘參數輸出PWM等。
審核編輯:劉清
-
PWM
+關注
關注
114文章
5181瀏覽量
213799 -
SPI接口
+關注
關注
0文章
258瀏覽量
34373 -
ADC模塊
+關注
關注
1文章
19瀏覽量
11068
發布評論請先 登錄
相關推薦
評論