? ? 目前蜡吧,整個(gè)AUTOSAR以太網(wǎng)的機(jī)構(gòu)常用的結(jié)構(gòu)如下发绢,本文主要是簡(jiǎn)要描述,后面會(huì)針對(duì)各個(gè)模塊做一些詳細(xì)的介紹:
????該圖描述了除了外設(shè)之外整個(gè)以太網(wǎng)的架構(gòu),整個(gè)外設(shè)我們后面會(huì)做描述钥庇,不同的case所需要使用的外設(shè)是不同的。圖中整個(gè)架構(gòu)中從最底層到最上層包含了Ethernet Driver层皱,EthIf伴箩,TCPIP,SoAd等模塊绝葡,在最底層的Eth Driver是我們驅(qū)動(dòng)層深碱,主要是MAC的驅(qū)動(dòng),該驅(qū)動(dòng)主要實(shí)現(xiàn)了MAC 的初始化挤牛,內(nèi)容主要包含了buffer的設(shè)置莹痢,中斷的設(shè)置,部分芯片中還包含了復(fù)用的一些設(shè)置,該模塊提供了相關(guān)的接口給EthIf模塊進(jìn)行調(diào)用實(shí)現(xiàn)對(duì)MAC的控制竞膳。
? ? EthIf模塊是屬于抽象層航瞭,它主要提供了相關(guān)的接口給TCPIP,EthSM坦辟,CDD模塊調(diào)用刊侯,同時(shí)它實(shí)現(xiàn)了對(duì)底層MCAL模塊以及外設(shè)模塊(TRCV,Switch)的控制接口的封裝锉走,比如我們需要控制MAC層的狀態(tài)滨彻,那么對(duì)于上層模塊只需要調(diào)用EthIf的接口就可以,同時(shí)整個(gè)EthIf還實(shí)現(xiàn)了相關(guān)的以太網(wǎng)狀態(tài)控制挪蹭,通過相關(guān)的mainfunction來進(jìn)行底層狀態(tài)的check亭饵,在整個(gè)EthIf中它不僅僅實(shí)現(xiàn)了上述的功能,還有許多的實(shí)現(xiàn)(比如VLAN的劃分和封裝)梁厉,具體的細(xì)節(jié)內(nèi)容可以參考AUTOSAR的規(guī)范辜羊,里面有相關(guān)章節(jié)進(jìn)行了介紹。
? ? TCPIP模塊是整個(gè)以太網(wǎng)設(shè)計(jì)和實(shí)現(xiàn)中比較復(fù)雜的模塊词顾,它包括了各個(gè)協(xié)議的封裝和實(shí)現(xiàn)八秃,包含了TCP,UDP,ICMP,ARP,IPV4,IPV6等,同時(shí)根據(jù)用戶的需求肉盹,還可能在該模塊中添加加密和解密相關(guān)的模塊昔驱,在下圖中可以看到該模塊和EthIf,EthSM上忍,SoAd骤肛,CDD(如ETM,AVB)等進(jìn)行交互,其中數(shù)據(jù)的交互主要是和SoAd以及CDD模塊睡雇,在整個(gè)TCPIP的模塊的實(shí)現(xiàn)中也參考了很多的標(biāo)準(zhǔn)協(xié)議(IETF)萌衬,里面的各個(gè)協(xié)議的選擇需要根據(jù)特定的項(xiàng)目需求,并不是所有的都會(huì)使用到它抱,正常IPV4使用的比較多秕豫,但是如果有做V2G的項(xiàng)目的時(shí)候正常會(huì)使用IPV6進(jìn)行。
? ? SoAd模塊是一個(gè)相對(duì)來說不是很復(fù)雜观蓄,但是隨著項(xiàng)目數(shù)據(jù)量增大混移,相關(guān)配置會(huì)急劇增加的一個(gè)模塊(發(fā)送報(bào)文越多,相關(guān)配置就越多)侮穿,該模塊主要是套接字編程相關(guān)內(nèi)容歌径,包含了源端口,目的端口亲茅,目的IP地址等的設(shè)置回铛,它提供了相關(guān)接口個(gè)SD,UDPNM,CDD,DOIP,PDUR等模塊使用狗准,后面會(huì)有專門章節(jié)描述里面的通信流程,不同協(xié)議的不同的實(shí)現(xiàn)方式茵肃。
? ? 整個(gè)描述比較粗略腔长,主要需要大家了解的是整個(gè)以太網(wǎng)中使用最多的這些模塊的一些分布情況以及他們的功能主要有哪些,后面我們會(huì)針對(duì)相關(guān)模塊做詳細(xì)的介紹验残,同時(shí)會(huì)針對(duì)不同的硬件case來進(jìn)行相關(guān)的描述捞附,以及針對(duì)DoIp,SOA等實(shí)現(xiàn)來做一些具體的協(xié)議的流程的說明您没,敬請(qǐng)期待鸟召,謝謝!