一種基于CAN總線(xiàn)和MiniGUI的虛擬儀表的實(shí)現

4 CAN總線(xiàn)驅動(dòng)程序的方案設計與實(shí)現
設備驅動(dòng)程序是介于硬件和Linux內核之間的軟件接口,是一種低級的、專(zhuān)用于某一硬件的軟件組件。設備驅動(dòng)也可以理解為操作系統的一部分,對于一個(gè)特定的硬件設備來(lái)說(shuō),其對應的設備驅動(dòng)程序是不同的,比如網(wǎng)卡、鍵盤(pán)、鼠標、顯卡、電位器、電機等。操作系統本身沒(méi)有對各種硬件設備提供持久不變的驅動(dòng)設備,沒(méi)有驅動(dòng),操作系統就控制不了底層的設備,對于操作系統來(lái)說(shuō),掛接的設備越多,需要的設備驅動(dòng)程序也越多。
在Linux操作系統中,把所有外設都當成文件看待,使用操作文件的方法來(lái)操作設備,通過(guò)驅動(dòng)程序,Linux操作系統才能以文件夾的方式來(lái)管理設備。因此驅動(dòng)程序的編寫(xiě)開(kāi)發(fā)具有十分重要的地位。Linux設備驅動(dòng)程序運行在Linux內核空間,是Linux內核中聯(lián)系硬件設備和應用程序的橋梁。Linux系統硬件、設備驅動(dòng)和應用程序的關(guān)系如圖4所示[7].
MagicARM270實(shí)驗箱采用SJA1000 CAN控制器擴展了1路CAN接口,SJA1000是PHILIPS公司經(jīng)典的CAN控制器,支持CAN 2.0 A、B協(xié)議。結合應用程序、驅動(dòng)程序、內核程序,CAN驅動(dòng)流程圖如圖5所示。

5 測試結果與驗證
選取廣州致遠電子有限公司生產(chǎn)的Magic ARM270實(shí)驗箱進(jìn)行仿真[2].通過(guò)CAN總線(xiàn)實(shí)現汽車(chē)上各種信息的采集和測量,并將采集的結果送到ARM進(jìn)行處理,最后通過(guò)TFT顯示出來(lái),設置 CAN總線(xiàn)傳輸速度波特率為125 KB/s,圖6所示為捕捉的一個(gè)界面。
隨著(zhù)信息技術(shù)的快速發(fā)展,現場(chǎng)總線(xiàn)技術(shù)在汽車(chē)上得到了越來(lái)越多的應用。本文在測試系統下采用CAN總線(xiàn)接口提取車(chē)速、發(fā)動(dòng)機轉速、機油壓力、油量、水溫、傳動(dòng)箱壓力及其他車(chē)況等信息。實(shí)驗表明采用虛擬儀表技術(shù)完全能夠滿(mǎn)足車(chē)輛運行參數和狀態(tài)顯示的要求,可擴充性好,配置方便。
評論