關(guān)于汽車CAN網(wǎng)絡(luò)的討論
第二種方法是系統(tǒng)級設(shè)計(jì)法。這是一種理論設(shè)計(jì)方法,它提出了完全不同的需求,供應(yīng)商只需要提供相應(yīng)的參數(shù),根據(jù)一定的理論模型對網(wǎng)絡(luò)通訊特性進(jìn)行計(jì)算,如信號延遲、總線負(fù)載等。以此為基礎(chǔ),考慮設(shè)計(jì)需求,通過一定的調(diào)度算法,對每條消息的ID進(jìn)行分配。方法的核心就是優(yōu)化這些特性參數(shù),保證整車網(wǎng)絡(luò)通訊的實(shí)時(shí)性能。因此在這種設(shè)計(jì)方法中,設(shè)計(jì)是重點(diǎn)。
董因平博士還指出,測試并不等同于驗(yàn)證。他說:驗(yàn)證表示的是我們有一個(gè)標(biāo)準(zhǔn),測試被測對象是否符合。但是目前汽車電子的測試不能一概的稱為驗(yàn)證,因?yàn)樗€要測試協(xié)議設(shè)計(jì)是否正確,協(xié)議設(shè)計(jì)中是否有瑕疵。驗(yàn)證的輸入是被測對象的特性,參照的是標(biāo)準(zhǔn),輸出的是兩者是否符合。
而現(xiàn)在的測試,輸入的既有被測對象的特性,又有所謂的標(biāo)準(zhǔn),輸出的是協(xié)議是否需要修改、系統(tǒng)是否可行、設(shè)計(jì)是否符合需要。注意這里引出了一個(gè)難以讓人理解的地方,我們要測試ECU是否符合標(biāo)準(zhǔn),但是我們卻又在根據(jù)測試結(jié)果在懷疑這個(gè)標(biāo)準(zhǔn)。因此除非有非常雄厚的技術(shù)和經(jīng)驗(yàn)積累,否則你始終在這兩者之間徘徊,浪費(fèi)時(shí)間和金錢。中國目前就處于這種狀態(tài),但是我們卻要依靠測試來推動技術(shù)的發(fā)展,難以想像。我們需要的是一條新的發(fā)展思路。
沒有設(shè)計(jì)就根本談不上測試,相反設(shè)計(jì)才決定了測試的體系。例如,整車網(wǎng)絡(luò)的電氣特性參數(shù),比如ECU的終端電阻、電容,這些參數(shù)都是與特定的網(wǎng)絡(luò)環(huán)境有關(guān)系的??赡芤?yàn)榫€束走線不同就有所不同。設(shè)計(jì)人員知道影響這些參數(shù)的原因和可能出現(xiàn)的問題,而這些都可以成為建立測試方法的輸入。
董因平博士補(bǔ)充道,測試是比較重要,但是一定要比較的話,則更傾向于選擇設(shè)計(jì)更重要。其實(shí)電子行業(yè)的發(fā)展可以成為參考,為什么EDA工具在電子設(shè)計(jì)中處于如此重要的地位?而且現(xiàn)在國際上的趨勢是基于系統(tǒng)級的設(shè)計(jì)、建模等等。重點(diǎn)是系統(tǒng)級!董因平博士還強(qiáng)調(diào),如果一味只重視測試的話,那么就是在走國外發(fā)展的老路,是背離系統(tǒng)級的設(shè)計(jì)思路,根本就沒有考慮國際發(fā)展的趨勢。
應(yīng)該從哪幾個(gè)方面來構(gòu)造協(xié)議?
CAN協(xié)議的基本要素是ID、周期和信號與消息的映射關(guān)系。因此構(gòu)造協(xié)議的主要任務(wù)是ID分配、定義消息周期、確定信號與消息的映射關(guān)系。這三個(gè)方面的設(shè)計(jì)都同等重要,設(shè)計(jì)要考慮的主要因素有數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性要求(即所謂的時(shí)序)、數(shù)據(jù)的相對重要程度、與數(shù)據(jù)相關(guān)的應(yīng)用控制算法對數(shù)據(jù)的時(shí)間要求。
國際上也存在一些現(xiàn)有的標(biāo)準(zhǔn),如CANopen、SAE J1939.SAE J1939這是一個(gè)有汽車工程師協(xié)議牽頭制定的應(yīng)用與卡車電控網(wǎng)絡(luò)的協(xié)議。不過它主要是應(yīng)用與卡車的電控系統(tǒng),不能直接照搬到轎車控制系統(tǒng)中。但是隨著汽車電子的發(fā)展,汽車電子設(shè)計(jì)分工也越來越細(xì),這部分工作也有廠商提供工具實(shí)現(xiàn)協(xié)議的計(jì)算機(jī)輔助設(shè)計(jì)。比如Mentor Graphics公司的VNA就是一款自動化的協(xié)議設(shè)計(jì)軟件。
實(shí)現(xiàn)通信協(xié)議的程序代碼結(jié)構(gòu)是什么樣的?
董因平博士說:首先CAN通信功能包括物理層、數(shù)據(jù)鏈路層和應(yīng)用層。物理層、數(shù)據(jù)鏈路層已經(jīng)由硬件實(shí)現(xiàn),目前都已經(jīng)標(biāo)準(zhǔn)化,有現(xiàn)成的部件(CAN控制器和收發(fā)器)選擇。因此在單片機(jī)上加上CAN控制器、收發(fā)器,軟件實(shí)現(xiàn)相應(yīng)的驅(qū)動程序就基本實(shí)現(xiàn)了CAN的通訊功能。但是這對于汽車電子上的應(yīng)用還是遠(yuǎn)遠(yuǎn)不夠的,因?yàn)閿?shù)據(jù)鏈路層有很多功能沒有定義如具有邏輯關(guān)系的消息之間的功能實(shí)現(xiàn)、網(wǎng)絡(luò)管理等等。
因此通信協(xié)議的程序代碼的結(jié)構(gòu)應(yīng)該是底層驅(qū)動+應(yīng)用代碼(通信功能的應(yīng)用代碼)。如果考慮目前汽車電子嵌入式軟件的技術(shù)發(fā)展,未來的結(jié)構(gòu)應(yīng)該是底層驅(qū)動+應(yīng)用代碼+抽象層。汽車電子軟件開放式體系標(biāo)準(zhǔn)AUTOSAR也基本是這樣的思路。目前也有很多軟件廠商提供現(xiàn)成的解決方案,ECU軟件開發(fā)只需要在該解決方案提供的基于數(shù)據(jù)讀寫的接口之上實(shí)現(xiàn)控制算法。這樣做的好處在于軟件設(shè)計(jì)人員可以把專長用于集中設(shè)計(jì)控制算法、保證其可靠性。這樣的產(chǎn)品如Mentor Graphics的嵌入式軟件(VTP + 網(wǎng)絡(luò)管理 + 診斷……)就是這樣的應(yīng)用例子。
評論