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

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > CAN總線系統(tǒng)測試技術

          CAN總線系統(tǒng)測試技術

          作者: 時間:2012-06-29 來源:網(wǎng)絡 收藏

          引 言

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

          隨著汽車電子技術的發(fā)展,汽車上所用的電控單元不斷增多,電控單元之間信息交換的需求促進了車用總線技術的發(fā)展。總線即控制器局域網(wǎng)總線,由Bosch公司于1981年制定,主要目的為用作汽車的高速動力總線、中速車身總線等。由于總線具有可靠性高、實時性好、成本合理等優(yōu)點,逐漸被廣泛應用于其他領域中,例如船舶、航天、工業(yè)測控、工業(yè)自動化、電力系統(tǒng)、樓宇監(jiān)控等,成為了廣泛使用的現(xiàn)場總線之一?;?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/CAN">CAN總線協(xié)議,還發(fā)展出CANopen、J1939、DeviceNet等多種上層總線協(xié)議。

          CAN是一種開放式多主站線性結(jié)構(gòu)的總線,使用雙絞線作為連接介質(zhì)連接所有節(jié)點,最高傳輸速率為1Mbit/s。 CAN總線使用載波偵聽多路訪問/沖突檢測(CSMA/CD)技術這種非破壞性的總線仲裁方式,避免多個節(jié)點同時開始發(fā)送消息而造成總線沖突,保證優(yōu)先級高的報文能夠優(yōu)先發(fā)送而不需要額外的時間開銷。CAN協(xié)議不對節(jié)點進行地址規(guī)定,而是使用報文的標識符來指定報文的優(yōu)先級以及報文的內(nèi)容。同時,CAN總線協(xié)議提供了完善的錯誤檢測與錯誤處理機制,包括了CRC檢測、錯誤報文自動重發(fā)、錯誤狀態(tài)判斷、臨時錯誤自動恢復、永久錯誤自動錯誤節(jié)點等措施,從而很好的保證了系統(tǒng)數(shù)據(jù)一致性。

          11.gif

          圖1 系統(tǒng)開發(fā)流程

          1 CAN總線開發(fā)流程

          隨著CAN總線技術應用在國內(nèi)各個行業(yè)中廣泛使用,CAN總線開發(fā)流程及開發(fā)方法也日益成為關注的重點。目前,基于開發(fā)-驗證思想的V型開發(fā)流程被廣泛用于CAN總線的開發(fā)過程中,如圖1所示。

          OEM廠商首先定義CAN需求,并進行系統(tǒng)構(gòu)架設計,然后由供應商根據(jù)OEM廠商提出的需求,分析節(jié)點 ECU的需求并進行節(jié)點設計,再進行軟硬件實現(xiàn)以及節(jié)點ECU集成,最后對ECU進行測試驗證。供應商將所設計的節(jié)點ECU提供給OEM廠商,由OEM廠商進行CAN的集成,并對系統(tǒng)進行確認,才能形成最終的產(chǎn)品。

          在V開發(fā)流程中,測試始終貫徹著整個開發(fā)流程,以在開發(fā)過程中能盡早的發(fā)現(xiàn)設計問題。供應商在節(jié)點ECU開發(fā)的最后階段,需要對所開發(fā)的ECU進行驗證,檢查所開發(fā)的產(chǎn)品是否符合所需的設計規(guī)范,即“是否正確的做了產(chǎn)品”。而OEM廠商在獲得供應商提供的各個節(jié)點 ECU后,進行系統(tǒng)集成,需要對CAN進行確認,檢查是否符合原始的需求,即“是否設計了正確的產(chǎn)品”。

          因此,無論對于供應商開發(fā)單節(jié)點ECU還是OEM廠商對整個系統(tǒng)進行集成,都需要對節(jié)點以及總線系統(tǒng)進行CAN總線測試,以完成驗證與確認的工作。

          2 CAN總線測試

          CAN總線測試內(nèi)容可以分為單節(jié)點測試和總線系統(tǒng)集成測試兩部分。在每個節(jié)點連接到CAN總線網(wǎng)絡之前都需要進行單節(jié)點測試,用以確定節(jié)點工作正確并且不會干擾總線的正常通訊??偩€系統(tǒng)集成測試則是將各個節(jié)點都連接形成完整的CAN總線系統(tǒng),對系統(tǒng)進行測試以驗證系統(tǒng)運行的完整性及正確性、系統(tǒng)的通訊魯棒性、電器魯棒性以及系統(tǒng)的容錯自恢復功能等。

          進行CAN總線測試過程,首先需要制定測試規(guī)范,然后根據(jù)該測試規(guī)范編寫測試案例,構(gòu)建測試環(huán)境,并進行測試實現(xiàn),最終將測試所得的數(shù)據(jù)進行分析,形成測試報告。

          2.1 CAN總線測試規(guī)范

          由于CAN總線基本協(xié)議的靈活性,目前并沒有一個統(tǒng)一的完整覆蓋CAN總線各個通訊層次的測試規(guī)范,而作為CAN總線技術使用最廣泛的汽車行業(yè),各個汽車廠商也只是自行定義其轎車CAN總線協(xié)議,并根據(jù)該協(xié)議制定各自的測試規(guī)范。

          因此制定CAN總線的測試規(guī)范,必須從相關的設計需求和規(guī)范文檔中提取測試需求,這些文檔可以包括CAN協(xié)議、總線系統(tǒng)設計時所依據(jù)的標準或協(xié)議(例如ISO11898或J1939)、系統(tǒng)設計的需求、系統(tǒng)的診斷協(xié)議、以及其他行業(yè)性通訊規(guī)范。根據(jù)所提取的測試需要,將各個需求點對應為測試案例組。

          將每組測試案例組在各測試節(jié)點上的實施稱為測試案例。每個測試案例根據(jù)測試實現(xiàn)的過程,細分為一系列的測試步驟。對于每個測試案例,在測試結(jié)束時,都會存在一個測試結(jié)果,用以確定測試案例所對應的節(jié)點是否通過該測試需求點的測試。每個測試案例中,除了包含測試步驟的內(nèi)容外,還包括了測試條件和測試環(huán)境兩部分內(nèi)容。測試條件是測試案例實施之前,被測單元所需要具備的條件,例如系統(tǒng)已經(jīng)處于正常通訊等。而測試環(huán)境則是測試過程中,需要提供給被測單元的外部環(huán)境,例如供電電壓、信號線的連接情況等。

          2.2 CAN總線測試內(nèi)容

          CAN總線測試內(nèi)容可以按照通訊層次劃分為物理層測試、數(shù)據(jù)鏈路層測試、應用層測試等內(nèi)容。

          物理層測試主要目的是驗證節(jié)點及系統(tǒng)在電路設計、物理電平特性等方面的性能,這是保證節(jié)點能夠正確連接入總線的基礎。測試主要包括了節(jié)點的電阻電容特性、節(jié)點差分電阻、總線終端電阻、CAN線上的物理電平特性等方面。

          數(shù)據(jù)鏈路層測試則包括了位定時測試、采樣點測試、SJW測試等內(nèi)容,該測試內(nèi)容主要用以保證各個節(jié)點的通訊參數(shù)能夠保持一致性,所組成的網(wǎng)絡能夠正常有效的工作。

          應用層測試則包括了上層應用層協(xié)議的測試、網(wǎng)絡管理功能的測試以及故障診斷測試等方面的內(nèi)容。其包括的內(nèi)容可以是:數(shù)據(jù)庫使用正確性測試、通訊周期準確性測試、節(jié)點休眠喚醒功能測試、網(wǎng)絡管理功能測試、網(wǎng)關測試、錯誤幀頻率測試、電壓影響測試、總線物理故障測試、節(jié)點故障自恢復能力測試、通訊失敗的故障診斷功能測試等內(nèi)容。由于CAN總線使用背景的不同,其應用層的內(nèi)容也有很大差別,因此應用層測試的內(nèi)容也存在較大差異,需要根據(jù)項目的設計需求以及設計文檔仔細制定應用層測試的內(nèi)容。值得注意的是,對于CAN總線網(wǎng)絡測試,其應用層測試一般不涉及功能測試的范圍,功能測試一般屬于ECU測試的范疇。

          2.3 CAN總線測試方法

          圖2所示為基于Vector公司提供的CAN總線測試工具所組建的CAN總線測試系統(tǒng)。

          22.gif


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();