? ? 在整個(gè)AUTOSAR中的結(jié)構(gòu)中荧关,根據(jù)上篇文章中描述的內(nèi)容环揽,BSW主要分為了相應(yīng)的Service layer, ECU Abstraction Layer,?Microcontroller Abstraction Layer以及Complex Drivers四層,整個(gè)層次的功能都不同:
1.Service Layer
? ? Service 層是AUTOSAR中BSW的上層环葵,它的作用是提供相關(guān)的服務(wù)給應(yīng)用層察皇,RTE以及其他的BSW模塊若锁,該層次主要包含了下面的內(nèi)容:
操作系統(tǒng):整個(gè)系統(tǒng)的運(yùn)行環(huán)境,在 CLASSIC AUTOSAR中主要是RTOS悲龟,功能是讓整個(gè)AUTOSAR各個(gè)模塊功能能夠?qū)崿F(xiàn)調(diào)度屋讶,但是對于ECU的功能實(shí)現(xiàn)來說并不是必需需要使用的模塊,AUTOSAR的協(xié)議棧也是可以運(yùn)行在沒有OS的系統(tǒng)中(這個(gè)CASE使用的客戶并不是很多须教,如果有這個(gè)需求可以評論我進(jìn)行進(jìn)一步討論)皿渗。
通信和模式管理:這是整個(gè)ECU系統(tǒng)中重要的組成部分,通過通信完成車內(nèi)ECU之間的Can,Lin,FlexRay,Ethernet總線通信轻腺,模式管理則是實(shí)現(xiàn)ECU的狀態(tài)切換乐疆,實(shí)現(xiàn)ECU的低功耗等需求。
存儲服務(wù):提供服務(wù)給應(yīng)用層和DEM贬养,SCC等模塊實(shí)現(xiàn)存儲數(shù)據(jù)的功能挤土。
診斷服務(wù):主要包含了UDS,OBD等診斷的實(shí)現(xiàn)误算。
其他模塊:如WdgM等服務(wù)模塊仰美。
從圖片中可以看出Service層也直接和底層硬件進(jìn)行了交互,這一部分的內(nèi)容主要是由于OS的特殊性儿礼,OS處于Service層咖杂,但是同時(shí)整個(gè)OS也是和我們的硬件以及編譯器強(qiáng)相關(guān)的,因此整個(gè)OS在服務(wù)層是處于一個(gè)特殊的位置:
2.ECU?Abstraction Layer
? ??ECU Abstraction Layer 是底層驅(qū)動的抽象蚊夫,同時(shí)它也是外設(shè)的驅(qū)動诉字,它提供了可以訪問外設(shè)和底層MCU的接口,該層次主要包含了下面的內(nèi)容:
CanIf,Can?Transceiver Driver, MemIf, Fee, Ea,?External Flash/EEPROM Driver, WdgIf等。這些模塊的內(nèi)容我會在后面有所介紹和分析奏窑。
3.Microcontroller Abstraction Layer
? ? MCAL相關(guān)模塊导披,在整個(gè)AUTOSAR架構(gòu)中Microcontroller Abstraction Layer處于最下層,它主要包含了相關(guān)的Driver埃唯,通過該層次可以訪問MCU的資源撩匕,比如訪問整個(gè)芯片的CAN,LIN等控制器,配置MCU的Port腳墨叛,配置MCU的時(shí)鐘等止毕,該層主要是使更高的層次獨(dú)立于μC。
? ? 該層次主要包含下面的內(nèi)容:
? ? MCU,PORT,DIO,ADC,SPI,CAN,LIN,FLEXRAY,PWM,ICU,OCU等漠趁,這些模塊的內(nèi)容大同小異扁凛,但是根據(jù)芯片的不同,各個(gè)模塊的配置和是使用都是有所區(qū)別的闯传,因此需要根據(jù)特定的硬件來分析這些模塊谨朝。
4.Complex Drivers Layer
? ? 復(fù)雜設(shè)備驅(qū)動主要是AUTOSAR提供的用于集成特殊功能模塊的層次,比如控制某些設(shè)備(SBC等)和驅(qū)動模塊甥绿,同時(shí)有些客戶實(shí)時(shí)性要求比較高的邏輯也會集成到CDD中進(jìn)行實(shí)現(xiàn)字币。
? ? 整個(gè)CDD的實(shí)現(xiàn)對于整個(gè)AUTOSAR來說可以作為上述三層中的任意一層來進(jìn)行實(shí)現(xiàn),具體的分類需要根據(jù)CDD的實(shí)現(xiàn)來區(qū)分共缕,這是一個(gè)比較自由的模塊洗出,不是很復(fù)雜,最簡單的可以把我們自己的手寫代碼作為CDD的一部分图谷。
總結(jié)
整個(gè)AUTOSAR的BSW分層的簡述如上翩活,不是很詳細(xì),主要是簡單描述下讓大家知道各個(gè)層次的功能便贵,方便理解后面的內(nèi)容菠镇,后續(xù)我們會依照整個(gè)AUTOSAR中的通信,存儲承璃,診斷辟犀,模式管理等來進(jìn)行細(xì)致的介紹,更新沒有規(guī)律绸硕,工作生活不忙時(shí)會進(jìn)行更新堂竟,有問題都可以在文章下方留言進(jìn)行討論。
謝謝玻佩,AUTOSAR規(guī)范可以在參考文獻(xiàn)中鏈接下載出嘹。
參考文獻(xiàn):AUTOSAR Release 4.2.2