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

新唐科技超級 I/O 系列介紹

CC link內(nèi)置型I/O模塊用戶手冊

評論