新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 如何進行汽車CAN總線開發?

        如何進行汽車CAN總線開發?

        作者: 時間:2016-12-14 來源:網絡 收藏
          CAN總線和基于CAN總線的診斷完全不是一個概念,CAN總線的硬件也不一定是OBD的硬件。至于“多去4S店問問技師,車廠的人大部分的人都不一定比這些人懂的多”,你讓這些技師給我寫個能用的ECU CAN接口出來?

          以下開始正式答題。

        本文引用地址:http://www.104case.com/article/201612/329692.htm

          首先,請看這份恒潤工程師寫的論文《CAN總線系統測試技術》。

          里面基本描述了CAN總線開發的流程,但主要側重于CAN總線的測試,不過也能讓你有所了解。

          根據你的描述,假設你的要求是:能夠基于某嵌入式平臺(最好該平臺在汽車ECU開發中被廣泛使用),根據給定的通信協議(一般由通信矩陣描述),編寫CAN接口代碼,并能通過相關設備進行簡單測試。

          推薦的學習步驟為:

          1. 了解CAN基本知識

          可以通過這個ppt,恒潤的東西還是不錯的。

          CAN基礎_百度文庫

          2. 直觀的了解CAN

          這需要你購買或借用CAN總線檢測設備,檔次差很多。如果是你自己想玩,可以買個周立功的USB轉CAN,淘寶也就幾百塊錢。如果是課題組采購,可以買個Kvaser的USBCAN,幾千塊吧。大致這個樣子。

          

        要是土豪的話,可以買Vector的VN1600,這個就好幾萬了。以上三種我都用過。一定要買雙通道,然后一個口發,一個口接,可以自己接延長線通過示波器看信號了。嘗試修改報文ID,數據,波特率等等,看示波器的變化,對理解第一部分的內容很有幫助。

          

          這個圖中有三個message。

          

          一位是2us,總線的波特率是多少?1/2e-6=500Kbps

          3.選擇嵌入式平臺,學習CAN接口的編程

          飛思卡爾MC9S08DZ60MLH 8位汽車級CAN總線 開發板 學習板超

          可以選擇這個小板子練習一下,程序的寫法都是差不多的。然后和第二部分的總線檢測設備連在一起進行測試。

          這一步需要詳細了解信號轉換的知識,特別是Big Endian和Little Endian的區別,factor和offset的作用,如何置1或置0,可以參考DBC_File_Format_Documentation_百度文庫,很詳細,看完就懂了。

          4.如果有興趣,可以看看J1939協議(用于商用車)或者CANOpen協議(用于現場控制,很多電機控制器使用)或者ISO 15031-5(用于OBD診斷)。

          最后,希望你在了解CAN以后,不要花過多的精力在底層上,基本都是體力勞動。體現價值的還得是上層。



        關鍵詞: 底盤控制CAN總

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 儋州市| 彰化市| 新绛县| 赤壁市| 莱州市| 同德县| 松滋市| 长治县| 湄潭县| 五莲县| 望都县| 响水县| 虞城县| 鹤峰县| 古浪县| 正阳县| 江陵县| 武夷山市| 怀远县| 北流市| 遂宁市| 汨罗市| 松原市| 行唐县| 宜宾县| 永康市| 白银市| 南昌县| 股票| 巴南区| 蓝山县| 井陉县| 东阿县| 班玛县| 涟水县| 金川县| 南投市| 香港| 荆州市| 米易县| 龙陵县|