日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計(jì)應(yīng)用 > CAN總線行車記錄儀設(shè)計(jì)

          CAN總線行車記錄儀設(shè)計(jì)

          作者: 時(shí)間:2016-10-22 來源:網(wǎng)絡(luò) 收藏

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

          當(dāng)然,備份電池不可能長(zhǎng)時(shí)間使用,只能用于系統(tǒng)緊急關(guān)閉文件處理,為此設(shè)計(jì)了電源檢測(cè)信號(hào),一旦檢測(cè)出主電源掉電,既啟用蜂鳴器和發(fā)光二極管來提醒用戶電源供電不正常,需工作人員檢查記錄儀電源接頭。

          2.5 CI-I375接口電路模塊

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

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

          在布PCB時(shí),盡量使7805芯片布在板子邊緣且散熱比較好的地方,并且遠(yuǎn)離液晶屏幕。因?yàn)樵趯?shí)際過程中,經(jīng)過測(cè)試,7805芯片產(chǎn)生大量的熱量,如果長(zhǎng)時(shí)間使用并且靠近液晶屏幕,將會(huì)影響液晶的顯示效果。另外,盡量使電源模塊的發(fā)光二極管靠近電源接口,USB模塊的發(fā)光二極管靠近USB模塊,并且以顏色區(qū)分開,方便用戶觀察。

          3 系統(tǒng)軟件設(shè)計(jì)

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

          系統(tǒng)軟件部分主要功能模塊包括:主程序模塊,初始化模塊,中斷處理模塊。

          3.1 主程序設(shè)計(jì)

          主程序流程圖如圖3所示。

          由流程圖3可看出,在整個(gè)程序運(yùn)行期間,采用查詢的方式來檢測(cè)電源是否掉電。由于車內(nèi)CAN 信號(hào)發(fā)包頻率均為幾十毫秒,如果液晶屏實(shí)時(shí)顯示數(shù)據(jù)的話,屏幕刷新太快,不易于觀察,因此本系統(tǒng)設(shè)置當(dāng)緩存接收滿時(shí),刷新一次屏幕數(shù)據(jù),這樣的刷新頻率足以滿足用戶的需要,無論存儲(chǔ)開關(guān)是否閉和,液晶屏均提供顯示服務(wù)。記錄過程中突然掉電或者用戶斷開存儲(chǔ)開關(guān),都將導(dǎo)致當(dāng)前所記錄文件的關(guān)閉,即修改文件指針和文件長(zhǎng)度等與文件系統(tǒng)相關(guān)的處理。

          圖3 主程序流程

          圖3 主程序流程

          3.2 初始化模塊

          (1)CAN模塊的初始化

          對(duì) CAN控制器的初始化設(shè)計(jì)是重點(diǎn),必須對(duì)寫入的每個(gè)進(jìn)行仔細(xì)全面的考慮,如果初始化沒成功,系統(tǒng)將無法正常工作。本記錄儀實(shí)質(zhì)上是作為整個(gè)CAN 網(wǎng)絡(luò)的一個(gè)增加節(jié)點(diǎn)參與通信,網(wǎng)絡(luò)內(nèi)的所有CAN節(jié)點(diǎn)必須同步。要進(jìn)行CAN模塊的初始化,首先必須進(jìn)入初始化模式,通過設(shè)置IN— ITRQ(CANCTLO)位發(fā)起請(qǐng)求,并得到INITAK(CANCTL1)的回應(yīng)后,MSCAN進(jìn)入初始化模式。在此模式下,通常是對(duì)CAN一 BTR0、CANBTR1、CANIDAR、CANIDMR等進(jìn)行配置。CANBTR0決定波特率預(yù)分頻和同步跳轉(zhuǎn)寬度的數(shù)值,CAN—BTR1決定周期的寬度、采樣點(diǎn)的位置以及在每個(gè)采樣點(diǎn)進(jìn)行采樣的次數(shù),根據(jù)具體CAN總線通信速率設(shè)置適當(dāng)?shù)闹怠ANIDAR、CANIDMR共同決定哪些ID 幀需要接收,在本系統(tǒng)中,CAN總線記錄儀的目的是接收CAN線數(shù)據(jù)全部報(bào)文,因而設(shè)置CANIDMR為0xFFh,即所有位都不屏蔽,所有的幀都接收。將需要配置的設(shè)置好后,需退出初始化模式,參與CAN總線通信。

          (2)CH375的初始化

          主要是設(shè)置USB的工作模式,通過CH375提供的SETUSB MODE命令,設(shè)置其工作模式代碼為06H,即USB主機(jī)方式下,自動(dòng)檢測(cè)USB設(shè)備是否連接,當(dāng)USB設(shè)備連接或者斷開時(shí)都會(huì)產(chǎn)生中斷通知外部單片機(jī),并自動(dòng)定時(shí)產(chǎn)生USB幀周期開始包SOF發(fā)送給已經(jīng)連接的USB設(shè)備。通常情況下,設(shè)置USB工作模式在20微秒時(shí)間內(nèi)完成,完成后輸出操作狀態(tài)。通過讀 PA端口得到操作狀態(tài),查看是否設(shè)置成功。如不成功,表明CH375出錯(cuò),例如芯片型號(hào)錯(cuò)或者處于串口方式或者不支持,則無法進(jìn)行u盤的讀寫。

          3.3 中斷處理模塊

          中斷模塊即接受中斷,由于本系統(tǒng)設(shè)置所有的幀都被接收,因而必須在中斷處理函數(shù)里對(duì)接收到的幀進(jìn)行判斷,并進(jìn)行“解碼”?,F(xiàn)就實(shí)例來詳細(xì)說明“解碼”的過程,如表1所示,列舉了A5車內(nèi)2個(gè)重要的CAN消息,其ID均是采用標(biāo)準(zhǔn)格式 (11位),數(shù)據(jù)單元占64位(8字節(jié))。中斷接收到數(shù)據(jù)幀后,首先取其ID號(hào),對(duì)于標(biāo)準(zhǔn)幀格式來說,IDRO存放的是IDIO~ID3,IDR1的高3 位存放的是ID2~I(xiàn)D0,因此ID號(hào)=(IDR03)l(IDRI>>5),其中ID號(hào)設(shè)置為int型變量。得到ID號(hào)后,將根據(jù)消息列表進(jìn)行消息解碼,例如,假設(shè)取得的ID號(hào)是0xFA,這是來自發(fā)動(dòng)機(jī)控制單元EMS(enginemanagement system)的消息幀,我們將從它的64位數(shù)據(jù)單元中取出所關(guān)心的數(shù)據(jù),其中64位數(shù)據(jù)在結(jié)果寄存器DSR0-DSR7中的存放順序如表2所示。假設(shè)我們從此幀中取出如下3個(gè)數(shù)據(jù):Engine speedRPM,M eanEfectiveTorque,DriveRequest。

          表1 A5車內(nèi)2個(gè)重要的CAN消息

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉