|
汽車上的電子裝置隨著汽車電子的發展日益增多,仍采用傳統的通信模式必然導致汽車電器布線復雜,維修檢測困難等問題。而CAN總線的提出為解決此問題提出了可能。CAN(C0ntmller Area Network)總線是20世紀80年代德國Bosch公司為實現現代汽車上眾多電子模塊相互間的通信而提出的一種串行通信協議,是目前唯一具有國際統一標準的總線。但由于國內關于CAN總線的研究起步很晚,至今國產化的產品不多。因此文獻基于科研教學及產品開發的多重目的,研制開發了基于CAN總線的車身電器控制系統實驗臺。該實驗臺以CAN總線為基礎,以某汽車車身電器為對象簡化了汽車車身電器的控制網絡,減少了線束,實驗也證明了所開發系統的正確性和CAN總線取代傳統車身線束的可行性。該實驗臺的成功開發其現實意義很重要,但也存在以下不足之處應加以改進:1)試驗臺將車燈控制節點分為前燈、后燈 2個節點,這樣在通信中不僅沒有完全利用單片機的接口,還要考慮前后節點的優先權,把軟件的設計復雜化。2)單片機引腳電流過小不足以驅動大功率的車燈和車門電機等功率器件,該試驗臺選用驅動芯片、繼電器和保險絲來實現功能,這樣設計接口電路使節點的總體體積偏大,不便車載。本文主要針對以上2個問題提出解決方案,先從總體上對節點重新分類設計,基于AT89S52微處理器和CAN控制器SJAl000重新構建硬件環境,然后以AT89S52為核心,結合所選器件的運行環境改進程序。 1 車身電器控制系統節點分類及其功能 該控制系統將車身電器分為上位機轉換節點、開關控制節點、車燈控制節點、車門控制節點4類。各類節點所包含的電器設備及要傳輸的信號如下:1)上位機轉換節點:將CAN協議信號轉換為RS232協議信號輸出,由上位機的串口接收;2)開關控制節點:燈具開關節點需要的各開關輸入,通過單片機將物理的開關信號轉換為數據信號;3)車燈控制節點:接收總線上傳來的可控數據,并將數據轉換后控制車燈各燈具的狀態,控制的車身電器主要是遠光燈、近光燈、霧燈、轉向燈、倒車燈、剎車燈等燈具;4)車門控制節點:控制車門的開關輸入及玻璃升降電機的輸出。節點的分類及功能如圖1所示。 2 系統硬件電路設計 硬件通訊電路部分由單片機AT89S52、CAN控制器SJAl000、CAN收發器PCA82C250連接組成。任何類型的節點其硬件設計中都由該通訊電路和接口電路組成,CAN控制器及收發器與單片機連接電路如圖2所示。為使總線上有信號時,系統能夠快速響應,單片機與SJAl000采用獨立 的晶振。SJAl000的晶振頻率為16 MHz,單片機的晶振頻率為12 MHz,這樣可使CAN控制器接收或發送數據速度快于單片機的處理速度,總線傳來的數據或待發送到總線的數據可暫存于SJA1000的緩沖器中,等待單片機處理或自動向總線發送。 2.1 上位機轉換節點接口電路 上位機轉換節點中,接口電路的功能主要是將數據轉換為符合RS232電平協議的數據,可供上位機串口接收。由于單片機輸出的數據中邏輯電平“1”和“0” 分別用5 V和O V表示,而]RS232電平的邏輯“0”電平范圍為-5~15 V,邏輯“1”的電平范圍是+5~+15 V,因此這里選用MAX232進行電平轉換,完成上位機轉換節點接口電路的功能,圖3所示為上位機轉換節點接口電路。 2.2 開關控制節點接口電路 開關控制節點中,接口電路的功能主要是將節點電器中的多路開關狀態轉換為數字信號,并且實現由車載電源12 V到單片機使用的5 V電源的轉換。該接口電路選用的74HC244是一款CMOS型8位總線收發器,主要用在開關的輸入時,開關和SJA1000共用單片機P0端口時的切換;電源轉換主要通過穩壓管LM7805實現。圖4為開關控制節點接口電路。 2.3 車燈控制節點接口電路 車燈控制節點中,接口電路的功能主要是實現通過CAN總線的傳輸數據控制車燈功率電器。從單片機引腳流出的電流很小,無法直接驅動車燈,若采用驅動電路和繼電器來完成車燈的驅動作用,必然會導致車燈控制節點偏大,不夠實用和美觀。該接口電路選用MC33888器件。該器件內部集成有4路高端驅動器和8路繼電器或發光二極管驅動器,是一個可控制網絡,具有在線診斷、與微控制器通信報錯能力及故障軟化等優點。圖5所示為車燈控制節點接口電路。 2.4 車門控制節點接口電路 車門控制節點接口電路的功能和車燈控制節點接口電路的功能類似,也是將單片機輸出的小電流信號轉換成可驅動大功率電器的電信號,完成相應工作。該電路采用 MC33887器件。該器件功耗低,在等待模式下電流為25 mA,輸出電流超過8 A自動短路關斷。圖6為車門控制節點接口電路。 3 系統軟件設計 任何CAN總線系統的通信協議都由物理層協議、數據鏈路層協議和應用層協議組成。SJAl000和PCA82C250的硬件結構保證了協議的物理層和數據鏈路層。對于應用層,在不同的應用領域,人們制定了不同的協議,包括CANopen、DeviceNet及SAE J1939等。應用層協議決定了CAN總線系統的可擴展性。將CAN應用層合理分配后應用于軟件結構中可提高軟件的兼容性。 本設計各類節點可將程序分為主程序和子程序。主程序的目的是監控本節點中各電器的狀態,采用查詢方式編程:子程序分為接收子程序和發送子程序,采用模塊化編程,將節點的功能分成各種模塊并形成文件,在編寫各節點程序時直接調用各個模塊程序函數即可。這里參考SAE J1939的編碼規則對CAN系統的應用層進行分配,并介紹各節點的軟件結構。 3.1節點主程序 上位機轉換節點主程序的作用是:查詢總線上的數據,并將依據CAN協議的數據轉換為依據RS232電平標準的數據。圖7為上位機轉換節點流程:開關控制節點主程序用于查詢開關的閉合或斷開狀態并將開關狀態存儲到單片機的寄存器中。圖8所示為開關控制節點的程序流程,其車燈控制節點主程序用于查詢CAN總線上的數據以控制相應的電器。圖9所示為車燈控制節點的程序流程,其車門控制節點既要查詢開關的狀態存人單片機,又要查詢CAN總線的數據控制相應的電機,其主程序包含開關控制節點和車燈控制節點主程序的功能。 3.2 節點子程序 接收子程序的作用是將CAN總線上傳來的數據存儲到單片機中合適的位置,需要用時,CPU直接從該位置查詢即可。在運行接收函數前,需先檢查CAN控制器 SJAl000的寄存器中是否有傳來的數據,如果有則運行此程序;如果無,則放棄或繼續查詢。發送子程序的作用是將所要發送的數據包裝并發送到CAN控制器。在主程序中,系統不斷查詢SJAl000的狀態,一旦空閑,CPU將待發送的數據發送到CAN控制器。 4 結束語 通過對基于CAN總線的車身電器控制系統的整體優化設計,得出結論:對車身節點進行優化后,資源得到合理使用,并增強了節點的實用和美觀性,使節點的接口電路設計更加靈活。本方案側重于對實驗臺實用性的改進。通信過程中存在的干擾、基于時間觸發的CAN(即TTCAN)的應用問題尚待進一步的研究。 |
|
CAN總線測試分析 我公司提供的CAN總線測試產品是汽車/坦克領域、工業自動控制領域和醫療設備領域等工程師首先的測試工具和產品。系列接口產品有如下接口產品: 以上測試仿真板卡具有如下主要特點: ★ 支持CAN2.0A和CAN2.0B總線協議 ★ 支持高、低速的波特率 ★ 大容量內存,能存儲大量的CAN總線消息 ★ 單、雙或者四通道的CAN總線接口 ★ 有CAN總線監聽功能 ★ 有CAN總線分析功能 ★ 有故障檢測和故障注入功能 Xtm(CAN總線分析、仿真工具) 軟件介紹 Xtm是一個用于控制嵌入式網絡節點(電子控制單元)的軟件環境。它也可用于顯示和修改那些網絡節點的內部狀態。此外,用戶能夠模擬和分析嵌入式網絡節點之間的通信,并且如果需要的話,用戶還可以通過網絡行為的仿真來替換丟失的網絡節點。Xtm同樣也可用于改變和完善網絡通信。 目前支持的網絡有:CAN,LIN,以太網(僅UDP)和FlexRay。通過一個外接的ECU,PC機的串口和K-line(通過相關的LAPcan卡適配器)也可用于通信。 在測量或通用網絡通信的同時,視頻流的記錄和再傳送也是可能的。視頻流和測量數據可以時間同步。 Xtm有一個模塊化設計:例如,硬件接口的實現和通信協議在最底層。接口被建立和參數化,但當正常運行Xtm時是不可見的。僅僅當接口生成產物(數據和信號)的時候,是可見的。 Xtm是EK Tronic和Kornwestheim合并后的產物。許多基于Xtm的用戶定制的項目已經成為現實。 主要特性 ★ 顯示CAN/LIN/FlexRay消息 ★ 支持ASAP2文件和CCP/XCP測量 ★ 記錄和再傳送視頻流 ★ 強大的script語言,可進行復雜的CAN總線測試與仿真 ★ 模擬信號的圖像表達功能 ★ 基于DBC和LDF描述文件解碼和生成CAN/LIN消息 ★ 有CAN/LIN消息的發送窗口 ★ 觸發對象 ★ 面板窗口用于script程序和仿真信號的控制 ★ 高性能以及很好的實時特性 公司簡介: 公司是中關村科技園區高新技術企業、北京市雙軟認定企業、中關村信用聯盟星級會員、北京市守信企業、國家軍用標準GJB9001A質量體系認證企業、軍工保密資格認證單位、世界首席嵌入式芯片構架設計公司—ARM在中國唯一的授權培訓中心。公司還獲得了國家密碼管理局頒發的“商用密碼產品銷售許可證”、“商用密碼產品生產定點單位”證書,航天部合格供應商稱號。 公司按照新標準被認定為2008年第一批國家級高新技術企業。 ...>> 聯 系 人: 王先生 電 話: 021-64326688-617手 機: 15800481807電子郵箱: qiu.shenwang@163.com所在城市: 上海市[上海] 詳細地址: 上海市古美路1528號A3棟2樓公司網站: http://www.watertek.com |