<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 汽車(chē)電子 > 設計應用 > 汽車(chē)電子CAN網(wǎng)絡(luò )設計關(guān)鍵問(wèn)題全析

汽車(chē)電子CAN網(wǎng)絡(luò )設計關(guān)鍵問(wèn)題全析

作者: 時(shí)間:2012-06-18 來(lái)源:網(wǎng)絡(luò ) 收藏

如何解決當前網(wǎng)絡(luò )應用層協(xié)議設計面臨的關(guān)鍵問(wèn)題?

本文引用地址:http://dyxdggzs.com/article/196716.htm

就如同集成電路、微處理器的誕生一樣,數據總線(xiàn)技術(shù)的問(wèn)世成為了技術(shù)發(fā)展的一個(gè)重要里程碑。如今,隨著(zhù)總線(xiàn)技術(shù)在領(lǐng)域日益廣泛的應用,其協(xié)議一致規范表述的重要性也逐漸凸現。根據ISO(國際標準化組織)定義的OSI模型,協(xié)議定義了物理層及數據鏈路層規范,為不同的汽車(chē)廠(chǎng)商制定符合自身需要的應用層協(xié)議提供了便利。如果需要建立更加完善的系統,還需要在CAN的基礎上選擇合適的應用層協(xié)議。

為了幫助業(yè)內工程師進(jìn)一步了解汽車(chē)CAN網(wǎng)絡(luò )應用層協(xié)議制定的重要性,以及掌握汽車(chē)CAN網(wǎng)絡(luò )應用層協(xié)議設計技術(shù),并解決其關(guān)鍵問(wèn)題,在電子工程專(zhuān)輯旗下的設計網(wǎng)站舉行的《如何解決當前CAN網(wǎng)絡(luò )應用層協(xié)議設計面臨的關(guān)鍵問(wèn)題? 》專(zhuān)題討論中,Mentor Graphics資深產(chǎn)品專(zhuān)員董因平博士應邀與工程師進(jìn)行互動(dòng),與大家進(jìn)一步探討了汽車(chē)CAN網(wǎng)絡(luò )應用層協(xié)議制定方面的話(huà)題?;诖舜螌?zhuān)題討論,我們總結了汽車(chē)CAN網(wǎng)絡(luò )應用層協(xié)議設計中經(jīng)常出現的一些問(wèn)題供讀者參考。

解析CAN協(xié)議應用層與應用程序

董因平博士表示,應用層和應用程序是不一樣的。應用層是指通訊功能的應用層。它并不定義和描述應用程序參數,它提供的只是通訊功能與應用程序的通訊接口。包括:定義通訊服務(wù)、傳送過(guò)程數據、診斷信息及標定信息。設備監控和網(wǎng)絡(luò )管理也一般定義為應用層的一部分,有的也將傳輸層的部分內容納入應用層實(shí)現,比如超過(guò)8個(gè)字節的數據傳輸。

應用程序就完全是指控制算法等應用代碼。它定義控制算法相關(guān)的數據和參數。

在目前ECU開(kāi)發(fā)中,應用程序代碼包含了應用層代碼。其缺點(diǎn)在于以下三個(gè)方面:

1. 應用程序發(fā)生變化,必須考查應用層是否還能滿(mǎn)足要求。

2. 通訊協(xié)議發(fā)生變化,整個(gè)應用程序及應用層代碼都必須重新編譯測試。這個(gè)問(wèn)題是造成整車(chē)廠(chǎng)在協(xié)議開(kāi)發(fā)中不能起主導作用的主要原因之一。所以有很多國內的整車(chē)廠(chǎng)有了新的協(xié)議,希望某些國外大型供應商實(shí)施新協(xié)議時(shí)會(huì )遇到極大的阻礙。一是不愿意做,二是重新開(kāi)發(fā)的費用高昂。

3. 嚴重阻礙了節點(diǎn)和設計的重用。由于應用程序和應用層融合在一起,難以實(shí)現即插即用的效果。

解決方案就是接口標準化,即將應用層從應用程序中分割出路并標準化接口。 AUTOSAR的一個(gè)特性就是標準化接口,實(shí)現即插即用。Mentor Graphics的VTP也是一個(gè)典型的例子。

CAN測試重要還是協(xié)議制定重要?

董因平博士表示,測試和設計的重要性在不同設計思路中有不同的體現。目前應用層協(xié)議制定的方法可以分為兩大類(lèi),一類(lèi)是測試為重心的方法,一類(lèi)是設計為重心的方法。

第一種方法也稱(chēng)為投票法或試驗法。這是一種工程設計方法,各個(gè)供應商對協(xié)議提出要求,整車(chē)廠(chǎng)集成要求,通過(guò)測試驗證協(xié)議可行性,隨后發(fā)布協(xié)議。測試的功能除了驗證協(xié)議的實(shí)現外,還有一個(gè)重要的任務(wù)就是對協(xié)議設計進(jìn)行測試,試圖解決ID分配不合理、消息沖突問(wèn)題等等。這種方法的重心就是測試,因此測試比較重要。

第二種方法是系統級設計法。這是一種理論設計方法,它提出了完全不同的需求,供應商只需要提供相應的參數,根據一定的理論模型對網(wǎng)絡(luò )通訊特性進(jìn)行計算,如信號延遲、總線(xiàn)負載等。以此為基礎,考慮設計需求,通過(guò)一定的調度算法,對每條消息的ID進(jìn)行分配。方法的核心就是優(yōu)化這些特性參數,保證整車(chē)網(wǎng)絡(luò )通訊的實(shí)時(shí)性能。因此在這種設計方法中,設計是重點(diǎn)。

董因平博士還指出,測試并不等同于驗證。他說(shuō):驗證表示的是我們有一個(gè)標準,測試被測對象是否符合。但是目前汽車(chē)電子的測試不能一概的稱(chēng)為驗證,因為它還要測試協(xié)議設計是否正確,協(xié)議設計中是否有瑕疵。驗證的輸入是被測對象的特性,參照的是標準,輸出的是兩者是否符合。

而現在的測試,輸入的既有被測對象的特性,又有所謂的標準,輸出的是協(xié)議是否需要修改、系統是否可行、設計是否符合需要。注意這里引出了一個(gè)難以讓人理解的地方,我們要測試ECU是否符合標準,但是我們卻又在根據測試結果在懷疑這個(gè)標準。因此除非有非常雄厚的技術(shù)和經(jīng)驗積累,否則你始終在這兩者之間徘徊,浪費時(shí)間和金錢(qián)。中國目前就處于這種狀態(tài),但是我們卻要依靠測試來(lái)推動(dòng)技術(shù)的發(fā)展,難以想像。我們需要的是一條新的發(fā)展思路。

沒(méi)有設計就根本談不上測試,相反設計才決定了測試的體系。例如,整車(chē)網(wǎng)絡(luò )的電氣特性參數,比如ECU的終端電阻、電容,這些參數都是與特定的網(wǎng)絡(luò )環(huán)境有關(guān)系的??赡芤驗榫€(xiàn)束走線(xiàn)不同就有所不同。設計人員知道影響這些參數的原因和可能出現的問(wèn)題,而這些都可以成為建立測試方法的輸入。

董因平博士補充道,測試是比較重要,但是一定要比較的話(huà),則更傾向于選擇設計更重要。其實(shí)電子行業(yè)的發(fā)展可以成為參考,為什么EDA工具在電子設計中處于如此重要的地位?而且現在國際上的趨勢是基于系統級的設計、建模等等。重點(diǎn)是系統級!董因平博士還強調,如果一味只重視測試的話(huà),那么就是在走國外發(fā)展的老路,是背離系統級的設計思路,根本就沒(méi)有考慮國際發(fā)展的趨勢。

應該從哪幾個(gè)方面來(lái)構造協(xié)議?

CAN協(xié)議的基本要素是ID、周期和信號與消息的映射關(guān)系。因此構造協(xié)議的主要任務(wù)是ID分配、定義消息周期、確定信號與消息的映射關(guān)系。這三個(gè)方面的設計都同等重要,設計要考慮的主要因素有數據傳輸的實(shí)時(shí)性要求(即所謂的時(shí)序)、數據的相對重要程度、與數據相關(guān)的應用控制算法對數據的時(shí)間要求。

董因平博士指出,協(xié)議設計實(shí)質(zhì)上是非常復雜的工作,對于國內來(lái)說(shuō),由于我們缺乏相應的經(jīng)驗,國外又對我們進(jìn)行技術(shù)??,因此到目前為止這還是阻礙中國技術(shù)發(fā)展的主要障礙。

國際上也存在一些現有的標準,如CANopen、SAE J1939.SAE J1939這是一個(gè)有汽車(chē)工程師協(xié)議牽頭制定的應用與卡車(chē)電控網(wǎng)絡(luò )的協(xié)議。不過(guò)它主要是應用與卡車(chē)的電控系統,不能直接照搬到轎車(chē)控制系統中。但是隨著(zhù)汽車(chē)電子的發(fā)展,汽車(chē)電子設計分工也越來(lái)越細,這部分工作也有廠(chǎng)商提供工具實(shí)現協(xié)議的計算機輔助設計。比如Mentor Graphics公司的VNA就是一款自動(dòng)化的協(xié)議設計軟件。

實(shí)現通信協(xié)議的程序代碼結構是什么樣的?

董因平博士說(shuō):首先CAN通信功能包括物理層、數據鏈路層和應用層。物理層、數據鏈路層已經(jīng)由硬件實(shí)現,目前都已經(jīng)標準化,有現成的部件(CAN控制器和收發(fā)器)選擇。因此在單片機上加上CAN控制器、收發(fā)器,軟件實(shí)現相應的驅動(dòng)程序就基本實(shí)現了CAN的通訊功能。但是這對于汽車(chē)電子上的應用還是遠遠不夠的,因為數據鏈路層有很多功能沒(méi)有定義如具有邏輯關(guān)系的消息之間的功能實(shí)現、網(wǎng)絡(luò )管理等等。

因此通信協(xié)議的程序代碼的結構應該是底層驅動(dòng)+應用代碼(通信功能的應用代碼)。如果考慮目前汽車(chē)電子嵌入式軟件的技術(shù)發(fā)展,未來(lái)的結構應該是底層驅動(dòng)+應用代碼+抽象層。汽車(chē)電子軟件開(kāi)放式體系標準AUTOSAR也基本是這樣的思路。目前也有很多軟件廠(chǎng)商提供現成的解決方案,ECU軟件開(kāi)發(fā)只需要在該解決方案提供的基于數據讀寫(xiě)的接口之上實(shí)現控制算法。這樣做的好處在于軟件設計人員可以把專(zhuān)長(cháng)用于集中設計控制算法、保證其可靠性。這樣的產(chǎn)品如Mentor Graphics的嵌入式軟件(VTP + 網(wǎng)絡(luò )管理 + 診斷……)就是這樣的應用例子。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>