新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CAN總線的行車記錄儀設計

        基于CAN總線的行車記錄儀設計

        作者: 時間:2016-11-23 來源:網絡 收藏

          CAN總線(CAN.bus)是一種串行多主站控制器局域網總線,其主要原理是把車輛上相關控制器都聯系起來,實現發動機控制器,變速箱控制器,ABS控制器,車身控制器,儀表及其它控制器的通信。CAN—bus系統除了使整車線束更少、更井井有條,整車重量更輕外,更大的好處是做到了全車信息即時共享。

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

          本文探討基于CAN總線的行車記錄儀設計和實現,詳細闡述了系統的整體結構、硬件電路設計、軟件設計流程。所開發的行車記錄儀用于在車輛行駛過程中實時采集汽車CAN總線數據信息,并將數據存儲在u盤中,以u盤為載體傳輸給PC機,可運用PC機上的軟件對數據進行分析。克服了以往現場數據采集系統必須有一臺計算機的模式,可實時了解汽車運行期間各種數據信息變化,同步記錄行駛狀況,在車輛長時間測試或行駛以后,記錄的數據用于分析車輛行駛性能以及各部件的運行情況,方便了標定和設計工作的進行。

          1 系統整體結構設計

          由于CAN串行通訊總線的良好特性,被廣泛地應用于現場數據采集系統、汽車制造業和航空工業等領域。本文所設計的基于CAN總線數據記錄儀是應用在奇瑞汽車A5車型上的,對整車CAN網絡上的節點數據進行采集和存儲。A5是第一款應用CAN bus總線系統的自主品牌國產轎車,其CAN—bus主要應用在傳動部,在車身部、ITS部和信息部等也有少量的應用。對A5這款首次使用CAN技術的車型進行實時數據采集,可了解汽車運行期問各種數據信息變化,對A5乃至后續所有車款的研發來說,都有著非常重要的意義。

          CAN總線行車記錄儀的整體結構框圖如圖1所示。

          CAN 總線行車記錄儀工作時應掛接到汽車CAN總線上成為一個CAN節點,以便采集CAN數據信息。由圖1所示,該系統不僅采集車內的CAN總線消息,還可根據需要實時采集模擬信號量。液晶屏用來顯示采集的各路信號值,具有掉電保護功能,重新通電后,即可恢復顯示原有數據。采集到的數據除了用液晶屏實時顯示給用戶外,還可通過USB接口芯片CH375 將之存儲到u盤中,供實驗員拿回實驗室分析使用,如要實現存儲功能,按下存儲開關即可。

          

          圖1 系統整體結構

          2 系統硬件設計

          根據系統的整體結構,硬件電路主要有如下幾個大模塊:主控制器模塊、液晶模塊、CAN驅動器模塊、電源模塊、CH375接口電路模塊。

          2.1 主控制器模塊

          系統CPU采用Freescale公司的MC9S12XD 系列單片機。它是控制和通信部分的核心,不僅負責系統初始化設置及報文接收,而且實現有關的數據判斷處理和顯示。片內集成了構成單片機控制系統和數據采集系統所需的幾乎全部模擬和數字外設及其它功能部件,其主要特點如下:

          (1)MC9S12XD系列帶有獨特的XGATE協處理器,本系統中CAN信號的接收是由中斷程序完成的,而中斷處理程序交給XGATE來處理,這樣將減輕CPU負荷,提高系統的反應速度。

          (2)帶有l6個模數轉換通道,給采集模擬信號提供了硬件支持,并可編程選擇精確到10位精度。

          (3)帶有5個MSCAN模塊,內部集成有CAN控制器,對CAN 模塊的配置實質上轉化為了對單片機相應寄存器的配置,使用方便靈活。

          (4)背景調試模式BDM 的支持,使得芯片的調試極為方便,加快了產品開發周期。

          (5)豐富的中斷源,為系統在非操作系統支持下運行提供了充分的保障。

          2.2 液晶顯示模塊

          系統采用的是WYM19264液晶,分3屏顯示,每屏可顯示容量為64x64的點陣。該液晶外部接口采用20腳針式插座,與單片機的連接電路也比較簡單,其中片選信號CS1、CS2分別與單片機的PH6、PH5相連,控制信號RS、R/W、EN分別與PK4、PJ1、PJ0相連,8條數據線 (DBO~DB7)則連接PB端口的8個引腳(PB0-PB7),實行并口傳輸。

          2.3 CAN驅動器模塊

          CAN 驅動器接口芯片選用PAC82C250,它是CAN協議控制器和物理總線的接口, 主要是為汽車中高速通訊(高達1Mbps)應用而設計的。此器件對總線提供差分發送能力,對CAN控制器提供差動接收能力,具有抗汽車環境中的瞬間干擾而保護總線功能。其管腳8(Rs)允許選擇不同的工作模式:高速、待機、斜率控制,本系統中將管腳8接地,選用其高速模式。而RX、TX則與單片機CAN模塊引腳相連,本系統中選用的是CAN0模塊,即分別與RXCAN0、TXCAN0連接。

          2.4 電源模塊

          記錄儀電源取自12V車載蓄電池電源,該電源除供系統工作外,還擔負點火、照明、信號等設備的供電,電源波動大,干擾嚴重,由于汽車在行駛過程中,可能遇到路面狀況比較惡劣的情況,會出現記錄儀電源接口由于劇烈震動所造成的松動或接觸不良,因此電源模塊必須精心設計才能滿足需求。

          電源模塊電路簡圖如圖2所示,其中U1是由電池提供的6V備份電源,U2(主電源)是車載12V電源,該電源模塊被分成2路,經7805穩壓后的+5v 電壓單獨給液晶供電,經4275轉換后的VCC給整個單片機及輔助電路供電。系統正常工作時,D1處于截止狀態,備份電池不起作用,一旦失去主電源供給,則D1迅速導通,備份電源自動啟動為系統供電。

          

          圖2 電源模塊

          電源模塊此種設計方案有2個原因,如下所示:

          (1) 備用電池的采用。記錄儀存儲采集數據,即將采集數據按順序寫進為記錄文件所分配的簇中,當采集結束時實驗員斷開存儲開關或者因掉電而采集被迫終止,單片機都需要做關閉記錄文件這一重要處理。關閉文件就是將文件實際長度和采集數據記錄總數寫進文件相關頭中。假如不正確關閉文件,或者因為掉電來不及關閉文件,Windows將無法找到文件的末尾,PC機軟件也因找不到采集數據的末尾而無法打開文件,此時,所做的采集工作將因此失敗。為了防止因掉電而無法關閉文件,本系統采用了備用電池。

          (2)單片機和液晶單獨供電。主電源正常工作時,整個系統的電源由主電源供給,一旦主電源掉電,備用電池只給單片機供電,供單片機完成關閉文件處理,而液晶因掉電而不工作。因液晶的功耗較大而備份電池電力有限,此種分開2路的供電方式不但能提供關閉文件的電源需要,而且還節約了電池電力。

          當然,備份電池不可能長時間使用,只能用于系統緊急關閉文件處理,為此設計了電源檢測信號,一旦檢測出主電源掉電,既啟用蜂鳴器和發光二極管來提醒用戶電源供電不正常,需工作人員檢查記錄儀電源接頭。

          2.5 CI-I375接口電路模塊

          本系統中的USB 接口芯片選用的南京沁恒電子公司的CH375,該芯片支持主機方式和設備方式.它具有8位數據總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機的系統總線上。還內置了處理Mass—Storage海量存儲設備的專用通訊協議的固件,外部單片機可以直接以扇區為基本單位讀寫u盤。

          讀選通信號RD#、寫選通信號WR#、片選信號CS#均是輸入信號且低電平有效,CS#是中斷請求輸出信號,也是低電平有效。而A0信號用來區分命令和數據,當A0=1時可以寫命令,當A0=0時可以讀寫數據,8位雙向數據總線與單片機的PA端口(PA0-PA7)相連,并口傳輸。其硬件上支持自動檢測 USB設備連接功能,在主機方式下正常連接時,其ACT#腳輸出低電平,因此使ACT# I腳外接上拉電阻并串聯一發光二極管,可用來標示USB設備是否正常連接。

          在布PCB時,盡量使7805芯片布在板子邊緣且散熱比較好的地方,并且遠離液晶屏幕。因為在實際過程中,經過測試,7805芯片產生大量的熱量,如果長時間使用并且靠近液晶屏幕,將會影響液晶的顯示效果。另外,盡量使電源模塊的發光二極管靠近電源接口,USB模塊的發光二極管靠近USB模塊,并且以顏色區分開,方便用戶觀察。

          3 系統軟件設計

          在軟件設計方面采用模塊化設計思想和中斷調用方案,系統上電后首先進行初始化,對 CAN總線上的信息采用中斷方式接收,由XGATE處理中斷程序,系統每接收一幀信息,便產生一次中斷來觸發微處理器進入中斷,在中斷服務程序中讀取該幀數據并暫存在緩存里。此緩存是XGATE和CPU共享的,由于通過CH375讀寫u盤的數據單位是一個扇區,所以本系統將緩存設置為一個扇區 (512Byte),當緩存滿時,由主程序將數據轉存到U盤中。


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 安龙县| 阳高县| 织金县| 永定县| 开远市| 镇雄县| 成都市| 长寿区| 安新县| 南部县| 延边| 辽阳县| 邵东县| 东方市| 隆尧县| 灵寿县| 南开区| 娱乐| 仪征市| 六安市| 肥东县| 商都县| 奉化市| 板桥市| 白银市| 志丹县| 西华县| 图们市| 普洱| 宿松县| 车致| 竹溪县| 台安县| 南雄市| 榆树市| 蓬安县| 绥德县| 鹿泉市| 嘉善县| 张家界市| 贵阳市|