01
概述
這里的IO不是指芯片的那種通用GPIO(只有高低電平的那種),這里說的I/O信號包括模擬信號和 數(shù)字信號 ,包括ADC、PWM、DIO等。

I/O Signal Interface :對數(shù)據(jù)進行初步處理,比如按鍵輸入去抖動
Dirver for ext. ADC: ASIC:ASIC的縮寫是Application Specific Integrated Circuit,特殊應(yīng)用集成電路,外掛ADC芯片驅(qū)動。
Dirver for ext. I/O ASIC :外擴I/O口芯片
SPI Handle :一般外掛芯片通過SPI連接,這里就是講SPI驅(qū)動進行封裝
ADCPWMDIO :是MCAL驅(qū)動,一般由芯片廠商提供
在實際使用中,覺得之所以要弄一個I/O Hardware Abstraction的另外一個原因是,避免APP直接訪問底層。實際都是把I/O Hardware Abstraction當做一個CDD來搞,里面的內(nèi)容自己實現(xiàn),在達芬奇工具中新建一個SWC,然后自己實現(xiàn)功能(比如實現(xiàn)去斗的操作)。

02
一個示例
MCU檢測一個供電電壓(KL30,12V),電路簡圖如下:

開個玩笑,要是直接12V懟在IO口,估計有可能燒片子,
一般是按下面的接法,采取分壓電阻分壓

假設(shè)ADC是12 bit的,ADC值范圍是0-4096:

1) Adc_ReadGroup ,Adc_ReadGroup這個函數(shù)時ADC MCAL中提供的,用于讀取原始的ADC值,假如是3724。
2) Get_SensorValue ,是IoHwAb中的一個Server runable,被Send_Voltage函數(shù)調(diào)用,在這里獲取原始值,你可以做些濾波去斗處理,比如搞一個滑動平均值濾波。
3) Send_Voltage :傳感器SWC調(diào)用Get_SensorValueADC值,最后計算得出真實的電壓值,比如
3724 * 3.3 /4096 * 4 = 12V,X4是因為有分壓電阻
所有的DIO、PWM、ADC一般都是這么來搞的
-
傳感器
+關(guān)注
關(guān)注
2578文章
55567瀏覽量
794232 -
濾波器
+關(guān)注
關(guān)注
162文章
8477瀏覽量
186362 -
GPIO
+關(guān)注
關(guān)注
16文章
1334瀏覽量
56478 -
ADC芯片
+關(guān)注
關(guān)注
3文章
98瀏覽量
21146 -
PWM驅(qū)動
+關(guān)注
關(guān)注
0文章
28瀏覽量
1622
發(fā)布評論請先 登錄
AUTOSAR架構(gòu)深度解析 精選資料推薦
AUTOSAR軟件架構(gòu)是由哪些部分組成的
為什么使用AUTOSAR呢
AUTOSAR的相關(guān)資料推薦
AUTOSAR基礎(chǔ)軟件層是由哪些部分組成的
基于RT-Thread內(nèi)核的AUTOSAR在n32g上的實現(xiàn)方案
AUTOSAR軟件架構(gòu)概述
基于AUTOSAR規(guī)范的操作系統(tǒng)知識
關(guān)于AUTOSAR-DEM模塊的簡要介紹和幾點思考
淺談AUTOSAR車載安全通信(SecOC)SecOC
AUTOSAR BSW層介紹
AUTOSAR軟件開發(fā)環(huán)境之EB tresos Studio簡介
AUTOSAR經(jīng)典平臺介紹
AUTOSAR BSW之IO概述
評論