《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于嵌入式Linux汽車智能儀表系統的設計
基于嵌入式Linux汽車智能儀表系統的設計
來源:微型機與應用2014年第4期
鄧宗權, 蔣向東, 王繼岷, 嚴 亮
(電子科技大學 光電信息學院, 四川 成都610054)
摘要: 為了優化汽車儀表系統性能,提高系統智能化、人車交互界面友好度,以ARM微處理器S5PV210為控制核心設計了一款汽車智能儀表系統。該系統以嵌入式實時操作系統Linux為軟件平臺,結合CAN現場總線技術,并采用開放源代碼的圖形界面庫QT開發儀表終端應用程序。經實驗驗證,系統性能得到了改善。
Abstract:
Key words :

摘  要:為了優化汽車儀表系統性能,提高系統智能化、人車交互界面友好度,以ARM微處理器S5PV210為控制核心設計了一款汽車智能儀表系統。該系統以嵌入式實時操作系統Linux為軟件平臺,結合CAN現場總線技術,并采用開放源代碼的圖形界面庫QT開發儀表終端應用程序。經實驗驗證,系統性能得到了改善。
關鍵詞: 智能儀表;ARM處理器;現場總線CAN;嵌入式系統;Qt

    汽車的顯示儀器作為駕駛員與汽車信息交流的主要途徑,實時地將汽車的駕駛情況反饋給駕駛員。作為人機交換信息的一個重要窗口,汽車顯示儀器有了很大的發展:第一代基于器械作用力,用機械指針顯示;第二代基于電測原理,通過各類傳感器采集非電量數據并轉換成電信號顯示;經過第三代的模擬電路電子式的發展到第四代全數字儀表,將各種輸入信號轉換成數字信號,通過專用的中央處理器處理各種信號,在LCD屏、VFD等顯示屏上顯示各種信息,全數字儀表重復性好、線性度好、可靠性高,適合現代生活對產品的智能化、數字化的要求[1]。
   本文提出了一種虛擬智能儀表系統,S5PV210為中央處理器;通過CAN總線傳輸各種顯示所需要的數據;采用實時性嵌入式系統Linux為汽車的操作系統;圖形應用界面庫Qt開發終端應用程序。系統的性能得到提高,同時可擴展性和可維護性都有了很大的改善,具有很大的商業價值。
1 總體設計
    通過CAN總線實時地采集汽車的各種數據,包括汽車運行的轉速、車速、水溫、油量、電壓、油壓、里程等信息,然后由嵌入式處理器S5PV210處理數據,將得到的數據在顯示屏上用圖形界面虛擬顯示。同時,系統在汽車異常運行時語音報警,顯示器顯示具體的異常原因。
2 硬件組成
    汽車智能儀表系統的硬件設計如圖1所示,系統的控制核心采用SAMSUNG的S5PV210,采用ARM cortexTM-A8內核,ARM V7指令集,主頻高達1 GHz,64/32 bit內部總線結構,具有非常高的運算能力。S5PV210包含很多強大的硬件編解碼功能,同時內建高性能PowerVR SGX540 3D圖形引擎和2D圖形引擎,支持2D/3D圖形加速,能更快地解碼更高質量的圖像和視頻[2]。采用外置CAN控制器承擔CAN節點控制器的任務,通過SPI接口與CAN控制器通信,快速高效。S5PV210嵌入了許多外圍設備的功能,減少了系統芯片的數量。各種傳感器將采集到的轉速、車速、水溫、油量、電壓、油壓、里程等模擬信號通過CAN總線傳遞給控制器自帶的A/D輸入口轉換成數字信號,LCD屏實時顯示采集到的信息,顯示的圖片信息存儲在SD卡中,通過輔助小鍵盤調節顯示效果。中心控制器處理信息,當信息不符合設定的正常數值時顯示器顯示異常原因,語音模塊[3]發出警報。軟件采用嵌入式實時操作系統Linux2.6.30高效地管理整個系統。

    智能儀表采用網路化的集中管理,通過CAN總線將汽車各部分的信息傳遞給控制器,控制器通過CAN總線反饋實現汽車的有效操作。系統的CAN總線通信系統選用Microchip的MCP2515為控制核心,MCP2515是一款獨立CAN協議的控制器[4-5],完全支持CAN V2.0B技術規范,通過符合工業標準的SPI口與控制器連接。LCD顯示器選用CPT的8英寸工業屏CLAA080XA03BT,分辨率高達1 024×768,可視角度大、亮度高、對比度好、反應時間快,滿足儀表系統對顯示屏顯示的各種要求。
3 軟件設計
    汽車智能儀表系統采用嵌入式Linux為操作系統,Linux源代碼開放并遵循GPL規則,選擇Linux2.6.30版本,經過系統裁剪,以適合本系統的嵌入式和實時的應用,同時在Linux系統平臺下編寫各模塊的驅動程序和應用程序。控制面板采用Qt/Embedded圖形界面,外觀顯示的是傳統機械儀表圖形和數字圖形結合的圖形界面。傳感器采集各種數據,經過CAN總線傳輸,控制器對各種數據處理,同時通過儀表圖形界面顯示各種數據,當出現異常時,界面顯示原因并且語音提示報警。整個系統軟件如圖2所示。系統主要分為兩個部分:Linux系統下各個應用模塊的驅動程序設計和Qt圖形界面設計。


3.1 驅動程序設計
 外部和內置設備驅動程序設計如下[6]:
    (1)8英寸的TFT-LCD屏驅動設計。在驅動LCD中首要配置LCD控制器,尤其是幀緩沖區(FrameBuffer)的指定,LCD是以字符設備方式加以訪問和管理,采用“文件層-驅動層”的接口方式。文件層定義的數據結構為file_operation結構體中的接口函數,如讀/寫的read/write函數和用于控制的ioctl等。將LCD驅動程序模塊化,將編寫好的LCD驅動程序lcd.c放到arm/linux/drivers/char目錄下,進行make menuconfig選擇靜態加載LCD驅動。
    (2)CAN模塊驅動設計。系統中采用MCP2515獨立控制器和TJA1050高速CAN總線收發器為一體的外接模塊。MCP2515與主控芯片使用SPI數據總線進行交互,將SPI封裝成SPI設備注冊與驅動注冊兩部分,分別由platform_device和device_driver兩個結構體實現。成功注冊SPI總線后,將CAN總線驅動作為SPI子設備掛載到SPI總線上,與主控芯片傳遞數據。
    (3)A/D轉換器驅動程序設計。S5PV210帶有10路12 bit的模擬輸入通道,A/D轉換的驅動程序流程為:打開A/D轉換器→采集模擬信號→進行A/D轉換→輸出數字信號→關閉A/D轉換器。A/D轉換驅動程序也是一個字符設備驅動,將編譯好的A/D轉換程序燒入內核。
    (4)5×5鍵盤驅動程序。鍵盤驅動程序采用層次型體系結構,分上下兩層實現。上層為通用鍵盤抽象層,為底層服務;下層為硬件處理,對硬件直接操作。主要的工作在于編寫底層處理函數,鍵盤中斷處理獲取按鍵的掃描碼,調用handle_scancode(),識別按鍵在鍵盤的位置,實現按鍵驅動。
    (5)網口驅動程序、USB協議、控制信號輸出驅動程序等驅動程序在Linux2.6.30中由官方給出,可直接調用。所有的驅動程序在系統中均采用靜態編譯方式,不需要模塊加載。
3.2 應用程序設計

 


    本系統的應用程序包括管理任務、采集數據任務、CAN總線收發任務、LCD屏顯示任務、處理異常情況任務等多個任務,采用信號量、郵箱、消息隊列等多種常用進程間通信機制。系統采用C語言入口函數Main()的編寫完成各種初始化操作,建立信號量和消息隊列,依次創建各任務,最后啟動操作系統,實現多任務操作。
    在Linux系統中,各任務被賦予不同的優先級,擁有不同的任務棧,不同任務之間通過消息隊列和信號量通信和共享數據。任務采用無限循環結構,各任務通過延時或等待信號量和消息對決定CPU的使用權,通過產生中斷來切換任務。當得到消息隊列或者延時時間時,高優先級的任務進入就緒狀態,任務獲得CPU使用權,最后處理相應的消息隊列中的數據[7]。
3.3 Qt圖形界面設計[8-10]
    Qt/Embedded用于嵌入式系統,具有高效、穩定、美觀等特點,能夠為用戶提供可靠的交互功能。用Qt/Embedded下的集成開發工具Qt Designer實現嵌入式GUI的設計與布局,界面設計完成后, 生成.ui文件, 由.ui文件生成相應的頭文件,在頭文件中用一個類實現對界面的搭建。具體的界面編寫過程如下:
    (1)使用Qt Designer提供的uic工具通過界面文件Carsmarting.ui生成Carsmarting.h文件和Carsmarting.cpp文件。命令為uic-o Carsmarting.h Carsmarting.uiuic-o和Carsmarting.cpp-impl Carsmarting.h Carsmarting.ui。
    (2) 系統中實現顯示功能,在Carsmarting.cpp文件中添加相應的功能實現代碼。編寫main主函數文件,主函數所在文件名為main.cpp,首先產生一個QApplication類的實例,然后定義窗口類實現并把它作為程序的主窗口,接著設置mainwindow部件,最后調用show()和exec()方法,使用庫管理界面作為主界面,程序進入消息循環。以下是Carsmarting.的主函數文件main.cpp的主要代碼:
    int main(int argc,char **argv)
    {
    QApplication Carsmarting(argc,argv);
                      //創建對象,管理整個應用程序資源
    Carsmarting.*mainwindow = new Carsmarting;
                                  //創建應用程序窗口
    app.setMain Widget(&mainwindow);
                        //設置程序的主部件mainwinow
    mainwindow—>how();  //使mainwindow的窗口部件可見
    return Carsmarting.exec();
                         //傳遞給Qt應用程序的控制權
    }
    (3)編譯。使用progen命令生成工程文件(.pro文件),根據工程文件使用tmake命令生成Makefile文件,最后使用make命令編譯鏈接整個工程。
    本文介紹的基于嵌入式Linux和CAN總線的汽車智能儀表系統具有非常優良的性能。通過裁剪優化嵌入式系統,提高了整個系統性能;系統應用CAN總線獲取顯示所需的數據,安全快捷;采用多任務設計方式,提高了系統的實時性和靈敏度;采用Qt/Embedded圖形界面,豐富了桌面系統,界面顯示友好。經過實驗測試,本系統能夠正常運行。該系統不但可應用在汽車儀表系統,同時對于機載艦載儀表系統有重要的參考意義。
參考文獻
[1] 唐志勇.汽車儀表指針控制技術[J].汽車電器,2007(7):1-3.
[2] 程唱南. ARM Cortex-A8硬件設計DIY[M].北京:北京航空航天大學出版社,2012.
[3] 但成福.一種用排隊論指導的CAN總線語言通信系統設計[J].電子技術應用,2013,39(2):22-25.
[4] 王保和. 嵌入式Linux下CAN總線驅動程序設計[J].大眾科技,2011(6):19-21.
[5] 王黎明,夏立. CAN現場總線系統的設計與應用[M].北京:電子工業出版社,2008.
[6] 宋寶華.Linux設備驅動開發詳解[M].北京:人民郵電出版社,2008.
[7] 張海清,陳永煌,朱暉.基于嵌入式系統的CAN總線汽車組合儀表的研究[J]. 安徽工程科技學院學報,2009,24(3):53-56.
[8] 何劍鋒,鄔文彪.嵌入式Linux系統的Qt/Embedded圖形界面開發[J].電子工程師,2007,33(7):46-48.
[9] 連照亮,徐世國.基于Qt/Embedded在嵌入式Linux下的應用研究[J].微計算機信息,2010(17):81-85.
[10] 劉治國,陳新華. 基于Linux和Qt的智能家居系統的設計與實現[J].電子技術應用,2012,38(4):23-26.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲欧美日韩视频一区| 国产精品日韩欧美一区| 国产欧美日韩免费看aⅴ视频| 亚洲一本大道在线| 久久亚洲精品一区| 亚洲一区二区三区在线观看视频| 亚洲精品欧美日韩专区| 亚洲欧美在线免费| 国精品一区二区三区| 亚洲欧美日韩精品久久奇米色影视| 欧美.www| 性欧美video另类hd性玩具| 久久电影一区| 免费观看一级特黄欧美大片| 亚洲日本欧美日韩高观看| 欧美日韩免费观看一区二区三区| 亚洲午夜久久久久久久久电影网| 亚洲国内在线| 欧美日韩视频一区二区| 91久久精品国产91性色tv| 国产精品多人| 欧美在线免费一级片| 香蕉免费一区二区三区在线观看| 国产亚洲午夜高清国产拍精品| 欧美.日韩.国产.一区.二区| 欧美日韩亚洲高清一区二区| 欧美午夜三级| av成人免费在线| 亚洲人成网在线播放| 欧美日韩亚洲一区| 欧美美女日韩| 一本色道久久88亚洲综合88| 久久综合九色| 国产精品入口夜色视频大尺度| 国产精品啊v在线| 欧美精品一区在线播放| 欧美日韩精品在线观看| 亚洲欧美激情四射在线日| 亚洲精品久久久久| 午夜激情亚洲| 国语自产偷拍精品视频偷| 亚洲综合色婷婷| 美女主播视频一区| 欧美日韩视频在线第一区| 国模吧视频一区| 在线观看欧美视频| 久久精品视频免费观看| 一区二区三区中文在线观看| 亚洲精品国产视频| 欧美在线观看一区二区| 亚洲国产高清aⅴ视频| 国内精品模特av私拍在线观看| 国产精品人人爽人人做我的可爱| 亚洲国产精品一区| 欧美伊人久久| 国内自拍亚洲| 欧美日韩dvd在线观看| 欧美中文字幕久久| 亚洲欧美资源在线| 久久香蕉国产线看观看网| 免费久久精品视频| 性娇小13――14欧美| 国产精品久久久久久久久婷婷| 久久精精品视频| 裸体一区二区三区| 亚洲欧洲视频| 韩曰欧美视频免费观看| 久久综合99re88久久爱| 亚洲一区二区在线免费观看| 亚洲精品一区二区三区福利| 久久精品国产久精国产思思| 亚洲香蕉成视频在线观看| 一区在线观看| 欧美成人国产va精品日本一级| 欧美尤物巨大精品爽| 欧美激情亚洲激情| 久久伊人一区二区| 1024成人网色www| 国产一区二区三区日韩| 99在线热播精品免费99热| 亚洲国产精品视频一区| 亚洲成在线观看| 午夜精品成人在线视频| 久久一二三国产| 久久久久久午夜| 久久精品观看| 亚洲精品乱码久久久久久| 亚洲成人在线网| 欧美午夜在线观看| 久久久999成人| 国产精品久久久久久久久动漫| 国产精品国产福利国产秒拍| 亚洲伦理久久| 欧美激情2020午夜免费观看| 欧美日本国产精品| 伊人久久大香线蕉综合热线| 久久久久久高潮国产精品视| 久久久蜜臀国产一区二区| 国产一区二区三区日韩| 久久久久久久久岛国免费| 91久久嫩草影院一区二区| 91久久久久久国产精品| 国产一区二区三区的电影| 99在线观看免费视频精品观看| 久久久久久久尹人综合网亚洲| 亚洲一区免费观看| 亚洲福利视频在线| 国产一区二区三区观看| 在线精品视频一区二区| 久久精品一区二区三区不卡| 欧美日韩1080p| 午夜一区二区三视频在线观看| 国产精品自在线| 伊人狠狠色丁香综合尤物| 国产精品剧情在线亚洲| 正在播放欧美视频| 欧美一区二区视频在线观看| 亚洲在线免费观看| 亚洲一区二区成人在线观看| 亚洲专区免费| 亚洲午夜国产一区99re久久| **性色生活片久久毛片| 国产精品久久久久久久久久免费| 国产精品人人做人人爽人人添| 香蕉精品999视频一区二区| 国产女主播一区二区| 你懂的国产精品永久在线| 欧美国产精品人人做人人爱| 欧美精品在线看| 国产欧美日韩视频一区二区| 国产欧美日韩综合| 亚洲精品久久久久久久久久久久| 久久婷婷国产综合国色天香| 狼狼综合久久久久综合网| 欧美一级在线播放| 欧美一区精品| 亚洲精品网站在线播放gif| 久久久91精品国产一区二区三区| 国产精品日韩精品欧美在线| 亚洲欧美日韩国产中文在线| 欧美精品成人91久久久久久久| 亚洲精品系列| 亚洲国产一区二区三区高清| 欧美有码在线观看视频| 国产亚洲欧美另类一区二区三区| 欧美日韩99| 亚洲精选视频在线| 欧美日韩中文字幕综合视频| 欧美精品1区2区3区| 欧美午夜视频在线| 欧美高清一区二区| 亚洲国产精品一区二区三区| 免费不卡欧美自拍视频| 欧美一区中文字幕| 在线免费观看日本一区| 久久一区激情| 国产综合网站| 欧美日韩黄色一区二区| 久久精品盗摄| 国产毛片精品视频| 久久综合一区二区三区| 99国产精品久久| 欧美日韩另类丝袜其他| 国产精品美女一区二区在线观看| 精品成人在线| 毛片一区二区三区| 国产精品国产三级国产普通话三级| 国产酒店精品激情| 国产一区二区0| 国产精品每日更新在线播放网址| 国产综合第一页| 一本一本久久a久久精品综合麻豆| 日韩亚洲欧美中文三级| 在线视频你懂得一区| 久久久久网址| 欧美激情精品久久久久久大尺度| 性视频1819p久久| 午夜精品福利电影| 好吊视频一区二区三区四区| 久久久久久**毛片大全| 狠狠色丁香婷婷综合| 女仆av观看一区| 欧美一区2区视频在线观看| 午夜国产一区| 久久综合给合久久狠狠狠97色69| 国产亚洲一级| 一区二区不卡在线视频 午夜欧美不卡'| 日韩亚洲欧美一区二区三区| 亚洲第一免费播放区| 欧美在线三区| 国产婷婷97碰碰久久人人蜜臀| 国产中文一区| 国产日韩精品久久| 久久久久久久一区二区| 欧美日韩美女| 亚洲精品久久久久久久久久久久久| 亚洲欧美日韩在线高清直播| 精品99一区二区三区| 欧美日韩调教| 亚洲视频欧美在线| 欧美伊人久久久久久午夜久久久久| 久久精品一二三| 蜜桃久久av一区| 美女诱惑黄网站一区| 日韩一级不卡| 久久中文字幕一区二区三区| 欧美在线观看一区二区| 亚洲日韩中文字幕在线播放| 国产精品99久久久久久久久久久久| 久久国产精品高清| 99热在线精品观看| 久久久亚洲高清| 欧美成人亚洲成人| 一区二区三区日韩精品| 国产精品二区二区三区| 欧美成人精品高清在线播放| 国产精品尤物福利片在线观看| 日韩亚洲精品电影| 在线看视频不卡| 女人天堂亚洲aⅴ在线观看| 国产精品男女猛烈高潮激情| 欧美另类极品videosbest最新版本| 国产精品伦子伦免费视频| 国内外成人免费激情在线视频网站| 樱桃视频在线观看一区| 伊人久久婷婷| 久久久久se| 国产精品午夜在线观看| 国产精品乱码久久久久久| 久久国产精品72免费观看| 在线一区二区三区做爰视频网站| 欧美日韩国产首页在线观看| 欧美精品一区在线| 亚洲黄页视频免费观看| 91久久精品美女高潮| 一本色道久久精品| 日韩一级成人av| 欧美黄网免费在线观看| 久久精视频免费在线久久完整在线看| 欧美午夜在线视频| 亚洲精品国产视频| 亚洲国产精品一区在线观看不卡| 国产一区二区三区在线播放免费观看| 亚洲片在线观看| 一区二区三区日韩精品| 欧美在线视频在线播放完整版免费观看| 国产亚洲欧美一区在线观看| 国产无遮挡一区二区三区毛片日本| 国产日韩欧美91| 欧美日韩中文在线观看| 国产精品视频一二三| 日韩香蕉视频| 久久人人97超碰国产公开结果| 国产精品一卡二卡| 狠狠色丁香婷婷综合久久片| 午夜久久久久久久久久一区二区| 亚洲男人的天堂在线观看| 亚洲在线成人精品| 亚洲国产日韩欧美在线99| 久久国产欧美| 国产精品一区二区女厕厕| 久久先锋资源| 亚洲免费中文字幕| 久久久久国产精品一区三寸| 艳妇臀荡乳欲伦亚洲一区| 麻豆九一精品爱看视频在线观看免费| 夜夜爽av福利精品导航| 欧美国产一区二区在线观看| 久久国产99| 欧美精品一区二区高清在线观看| 在线观看日产精品| 一区二区三区欧美成人| 蜜臀99久久精品久久久久久软件| 亚洲国产天堂久久综合| 欧美性猛片xxxx免费看久爱| 久久精品免费看| 9i看片成人免费高清| 欧美在线欧美在线| 午夜精品久久久久久久久久久| 亚洲精品一区二区三区福利| 久久综合亚洲社区| 国产亚洲一本大道中文在线| 在线日韩欧美视频| 国产精品久久久久久久久婷婷| 亚洲一区视频在线观看视频| 国产欧美在线视频| 午夜一级在线看亚洲| 免费看的黄色欧美网站| 国产精品你懂得| 国产精品高潮呻吟久久| av不卡免费看| 亚洲在线网站| 国产亚洲精品久久久久动| 亚洲一区二区三区涩| 欧美久久精品午夜青青大伊人| 欧美激情一区二区久久久| 亚洲蜜桃精久久久久久久| 中文av一区特黄| 国产欧美日韩综合一区在线观看| 亚洲免费av片| 亚洲一区二区三区四区在线观看| 国产精品一区二区久久久久| 欧美一区二区| 欧美在线91| 狠狠色2019综合网| 亚洲精品美女91| 久久久久久久久一区二区| 亚洲人成人一区二区三区| 亚洲国产高清在线| 亚洲人成毛片在线播放| 国内外成人免费激情在线视频网站| 99在线热播精品免费99热| 久久色在线观看| 久久久久久高潮国产精品视| 在线观看91精品国产麻豆| 一区二区免费在线观看| 日韩视频不卡| 国产精品久久毛片a| 亚洲男同1069视频| 亚洲精品乱码久久久久久| 亚洲福利国产| 亚洲精品乱码久久久久久黑人| 欧美综合77777色婷婷| 欧美在线观看天堂一区二区三区| 亚洲无限乱码一二三四麻| 国产精品久久久久aaaa樱花| 欧美日韩国产在线观看| 一区二区三区视频免费在线观看|