<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > CAN在ECU通訊中的作用是什么?

          CAN在ECU通訊中的作用是什么?

          作者: 時間:2016-12-13 來源:網(wǎng)絡(luò) 收藏
          電子學(xué)具有強(qiáng)大的創(chuàng)新潛能,它能使駕駛汽車更安全、更舒適、更經(jīng)濟(jì)并且能使汽車對環(huán)境更友好;這種潛能已經(jīng)讓汽車經(jīng)歷了一場真正的電子化進(jìn)程,這個電子化進(jìn)程開始于20世紀(jì)70年代,并于80年代得到了加速發(fā)展。這尤其得益于電子設(shè)備的網(wǎng)絡(luò)化,而網(wǎng)絡(luò)化是獲取更多功能、從而得到更好性能的先決條件。在網(wǎng)絡(luò)化日益發(fā)展的同時,為了減少布置線纜的工作,并且降低線纜的成本、重量和所占的空間,汽車制造商們很早就決定使用串行總線進(jìn)行數(shù)據(jù)傳輸了。除了串行總線系統(tǒng)CAN,LIN和MOST(面向媒體的系統(tǒng)傳輸)總線也在短期內(nèi)確定了在車上的應(yīng)用。2006年秋季,BMW將發(fā)布其新款X5汽車,該車將成為第一款使用FlexRay總線的量產(chǎn)車,而FlexRay是專門為時間攸關(guān)和安全攸關(guān)應(yīng)用而設(shè)計的一種總線系統(tǒng)。

          本文引用地址:http://www.ex-cimer.com/article/201612/329407.htm

          控制器局域網(wǎng)(CAN)于1992年就被定為了國際標(biāo)準(zhǔn)。毫無疑問,CAN是目前應(yīng)用最為廣泛的串行總線系統(tǒng),它甚至可以在一輛車上被多次使用:一個最高傳輸速率為125kbps的低速CAN總線系統(tǒng)(容錯CAN),用于連接舒適系統(tǒng)的ECU;一個最高傳輸速率可達(dá)1Mbps的高速CAN總線系統(tǒng)(高速CAN),用于連接動力系統(tǒng)和底盤系統(tǒng)的ECU。CAN提供了極高的傳輸安全性。這得益于差分信號傳輸和5種錯誤檢測機(jī)制(比如位監(jiān)視,形式檢查,循環(huán)冗余碼檢查),這些功能是由CAN控制器實(shí)現(xiàn)的。

          LIN(本地局域互連網(wǎng))用于傳感器/執(zhí)行器領(lǐng)域進(jìn)行低成本和便捷的數(shù)據(jù)傳輸。LIN的數(shù)據(jù)傳輸速率最高只有20kbps,但這足以滿足非關(guān)鍵性傳感器和執(zhí)行器信號的傳輸了。

          對實(shí)時攸關(guān)應(yīng)用來說,需要總線系統(tǒng)在不依賴總線負(fù)載的條件下保證硬(強(qiáng))實(shí)時性。實(shí)時攸關(guān)系統(tǒng)通常也是安全攸關(guān)系統(tǒng)。FlexRay為此提供了解決方案:它具有最高20Mbps的傳輸速率,并且基于一種可靠的等距數(shù)據(jù)傳輸,能夠保證確定的時間關(guān)系。雙通信通道使得總線能夠傳輸冗余數(shù)據(jù)。如果一個通道的數(shù)據(jù)受到了干擾,那么仍然可以利用第二個通道的數(shù)據(jù)。



          圖2:現(xiàn)代汽車使用串行總線系統(tǒng)進(jìn)行連網(wǎng)

          信息設(shè)備(如導(dǎo)航、無線電和電話等)既要傳送控制信號也要傳送視頻和音頻信號,因而需要一種相對更寬的帶寬。這樣,MOST就用在了車內(nèi)多媒體設(shè)備的連網(wǎng)。MOST使得相對較高的帶寬成為可能:它具有48kHz的采樣速率,用于傳輸位流的帶寬接近23Mbps,而用于控制信號傳輸?shù)膸掃_(dá)到768kbps。Vector為汽車制造商和供應(yīng)商進(jìn)行CAN、LIN、FlexRay和MOST網(wǎng)絡(luò)開發(fā)提供了強(qiáng)大的工具鏈和軟件組件。CANoe用戶能在多方面受益,例如,從實(shí)際功能的模型創(chuàng)建、仿真、功能測試、診斷到分析的整個開發(fā)過程。 CANoe提供了以下可選模塊和協(xié)議,而且可以按照要求對其進(jìn)行組合:CAN,LIN,F(xiàn)lexRay,MOST,CANopen,SAE J1939,SAE J1587,NMEA2000和ISO11783。Vector為汽車ECU的開發(fā)、標(biāo)定和診斷等各個階段提供了完整而廣泛的工具支持。針對電控系統(tǒng)的開發(fā)流程,除了咨詢服務(wù),Vector還提供了相應(yīng)的工具環(huán)境。

          CAN的未來

          在汽車上,電子設(shè)備正在承擔(dān)著大量不同的任務(wù)。為了結(jié)合不同的系統(tǒng),建立了多種總線系統(tǒng)。CAN具有很高的數(shù)據(jù)安全性和相對低廉的成本,因此它注定要用在動力和舒適領(lǐng)域。由于更為低廉的成本及易于通信的架構(gòu),LIN適宜作為一種低層總線。當(dāng)考慮快速、確定而安全的數(shù)據(jù)傳輸時,F(xiàn)lexRay成為最佳選擇。MOST是用于信息設(shè)備間的音頻/視頻數(shù)據(jù)交換的一種多媒體總線。將來,CAN會繼續(xù)用于動力系統(tǒng)、底盤和便利應(yīng)用領(lǐng)域。今天,一些裝備優(yōu)良的汽車已經(jīng)安裝了超過70個不同的ECU。但是,并不是將任何新CAN節(jié)點(diǎn)都加到汽車上去,汽車OEM的運(yùn)作趨勢是不斷將各種功能綁定到中央ECU上。FlexRay將會顯示其重要意義,因?yàn)槭褂盟梢詫?shí)現(xiàn)時間和安全攸關(guān)應(yīng)用以及數(shù)據(jù)密集型應(yīng)用。由于智能傳感器和執(zhí)行器數(shù)目的增多,LIN也將在未來發(fā)揮更加重要的作用。



          表1 串行總線系統(tǒng)CAN、LIN和FlexRay總結(jié)

          不同廠家生產(chǎn)的各種各樣的操作系統(tǒng)、嵌入式軟件、微處理器和軟件組件極大地加重了分布式電子架構(gòu)的集成工作。為此,許多著名的汽車生產(chǎn)商和供應(yīng)商制定了一種“汽車開放系統(tǒng)架構(gòu)”(AUTOSAR)。從開始以來,許多汽車OEM、大型供應(yīng)商和專業(yè)工具提供者都加入了AUTOSAR并不同程度地參與到其活動中。

          AUTOSAR的目標(biāo)是為所有六個功能域(動力傳動系統(tǒng),底盤,安全,信息通訊,人機(jī)接口和車身/便利系統(tǒng))建立一個事實(shí)標(biāo)準(zhǔn)。為此目的而開發(fā)的軟件架構(gòu)和硬件組件將是統(tǒng)一的,而(不同廠家的)競爭主要基于功能的不同實(shí)現(xiàn)(機(jī)制)。與互換性一起,產(chǎn)生了許多自由。例如,用于不同汽車和平臺的軟件具有簡單的可裁減性,在網(wǎng)絡(luò)中可對功能分配進(jìn)行自由配置,和毫無障礙地組合不同廠商的模塊。硬件也是高度兼容的,并且具有成為“現(xiàn)貨供應(yīng)”產(chǎn)品的特征。其它需要考慮的重要方面是,未來電子系統(tǒng)的安全需求、整個產(chǎn)品生命周期內(nèi)的修繕和汽車生命周期內(nèi)軟件的更新及升級能力。

          在運(yùn)行時環(huán)境下,AUTOSAR依靠應(yīng)用程序與硬件的解耦和基礎(chǔ)軟件來使能特定庫函數(shù)。這是由指定接口及其通信機(jī)制而實(shí)現(xiàn)的。2006年5月,AUTOSAR發(fā)展合作組織將其在第一個發(fā)展階段的主要成果出版發(fā)行。AUTOSAR規(guī)范是該合作組織前三年工作的成果。2005年5月,制定并發(fā)布了31個基礎(chǔ)軟件(BSW)模塊的1.0規(guī)范。后續(xù)的實(shí)現(xiàn)階段和確認(rèn)階段(Validator 1)證實(shí)了這些模塊的功能性和此概念。截止2006年5月,已經(jīng)出版了46個BSW規(guī)范中的42個,RTE(運(yùn)行時環(huán)境)也在此列。到此為止,已完成了99個文檔、格式和模型,其中已出版了94個。目前,規(guī)范正在經(jīng)歷另外一個測試階段(Validator 2),該階段將于今年秋天完成。第一個完全版本(2.1版)計劃于2006年底發(fā)布,它也會包括方法規(guī)范[1]。

          在AUTOSAR中集成CAN

          CAN通信服務(wù)是用于汽車CAN網(wǎng)絡(luò)通信的一組模塊。它們提供了CAN網(wǎng)絡(luò)的統(tǒng)一接口,對應(yīng)用程序隱藏協(xié)議和消息屬性。AUTOSAR COM和診斷通信管理器為應(yīng)用程序提供統(tǒng)一的通信機(jī)制,兩者都獨(dú)立于總線技術(shù)。PDU路由器允許過程數(shù)據(jù)單元跨過一種總線直接進(jìn)入到另一種總線。另外,在AUTOSAR COM內(nèi)包含了一種基于信號的網(wǎng)關(guān),用于將單個信號從一個通信系統(tǒng)發(fā)送到另一個通信系統(tǒng)。



          圖3:AUTOSAR的目標(biāo)――使用標(biāo)準(zhǔn)化架構(gòu)和接口使復(fù)雜的電子/電控系統(tǒng)變得易于管理

          網(wǎng)絡(luò)管理分為總線相關(guān)和總線無關(guān)兩部分。如果CAN被FlexRay取代,那么普通NM會保持不變。通過引入一種CAN接口,PDU路由器并不關(guān)心到底CAN控制器是嵌入式控制器的一部分還是其外部設(shè)備。當(dāng)用LIN或FlexRay模塊代替CAN相關(guān)模塊時,CAN通信棧能夠轉(zhuǎn)換為LIN或FlexRay通信棧。

          內(nèi)存服務(wù)以NVRAM管理器的方式給出,它提供了一個應(yīng)用程序訪問非易失數(shù)據(jù)的統(tǒng)一接口。內(nèi)存服務(wù)從位置(地址)和特性上對內(nèi)存進(jìn)行了抽象,進(jìn)而提供了非易失數(shù)據(jù)的管理機(jī)制,比如存儲、下載、校驗(yàn)保護(hù)和驗(yàn)證或可靠存儲。內(nèi)存硬件抽象(在內(nèi)存服務(wù)下面)來自對外圍內(nèi)存設(shè)備(片上或板上)和ECU硬件的抽象。比如,EEPROM接口和Flash硬件應(yīng)能使用相同的機(jī)制進(jìn)行訪問。內(nèi)存驅(qū)動程序由特定內(nèi)存抽象/仿真模塊(如EEPROM抽象)進(jìn)行訪問。通過模擬EEPROM接口和Flash硬件單元,允許由內(nèi)存硬件抽象對兩類硬件進(jìn)行普通訪問。在兩個例子中,CAN通信棧和內(nèi)存棧呈現(xiàn)了高度的模塊化,這樣可以實(shí)現(xiàn)對模塊的優(yōu)化和在十分不同的使用條件下對基礎(chǔ)軟件的重用[2]。



          圖4:CAN通信棧的AUTOSAR架構(gòu)

          AUTOSAR的開發(fā)平臺

          針對開發(fā)符合AUTOSAR標(biāo)準(zhǔn)的軟件所需要的所有設(shè)計步驟,Vector提供了一種解決方案:從結(jié)構(gòu)化概念設(shè)計階段設(shè)計AUTOSAR軟件組件及其在ECU間的分配,到定義通信和ECU配置。除了網(wǎng)絡(luò)通信的基礎(chǔ)軟件組件和基于OSEK標(biāo)準(zhǔn)的操作系統(tǒng),Vector還提供全部核心和一個運(yùn)行時環(huán)境,這些都是基于AUTOSAR標(biāo)準(zhǔn)的,適用于非常多的不同種類的微處理器及其獨(dú)立設(shè)備。除了支持特定目標(biāo)硬件平臺,CANoe網(wǎng)絡(luò)開發(fā)工具還支持作為一個PC實(shí)驗(yàn)平臺。聯(lián)合Vector的Davinci工具套件,用戶將獲得一個能可靠地開發(fā)符合AUTOSAR標(biāo)準(zhǔn)的ECU的平臺。



          關(guān)鍵詞: CANECU通

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();