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當(dāng)做一個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)注
2566文章
53008瀏覽量
767635 -
濾波器
+關(guān)注
關(guān)注
162文章
8138瀏覽量
182115 -
GPIO
+關(guān)注
關(guān)注
16文章
1280瀏覽量
54122 -
ADC芯片
+關(guān)注
關(guān)注
3文章
82瀏覽量
20702 -
PWM驅(qū)動
+關(guān)注
關(guān)注
0文章
28瀏覽量
1434
發(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)典平臺介紹

評論