日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]采用ARM+Linux架構(gòu)的基于CAN總線和MiniGUI的虛擬儀表設(shè)計

當(dāng)今發(fā)達國家普遍使用全數(shù)字式汽車儀表,且絕大部分是步進電動機式汽車儀表,并準(zhǔn)備向更高方向發(fā)展。由于受到成本的限制,目前國內(nèi)顯示汽車儀表只能選用字段顯示方式的顯示屏,無法選用顯示分辨率更高的點陣式顯示屏,因此其視覺效果和顯示精度還不能令人滿意。ECU性能不斷提高,抗強電磁干擾、工作溫度范圍和對工作電源穩(wěn)定性要求等方面得到較大的改善,同時價格大幅度降低,因而目前有條件在汽車儀表上使用ECU控制的全數(shù)字儀表,國內(nèi)汽車儀表界一致看好全數(shù)字式汽車儀表[1]。隨著現(xiàn)代電子技術(shù)的發(fā)展,要求汽車儀表與汽車上其他裝置交換數(shù)據(jù),即要求接入到汽車的計算機系統(tǒng)總線上,因此本文設(shè)計了一個基于嵌入式系統(tǒng)、CAN總線技術(shù)和TFT LCD液晶顯示技術(shù)的全數(shù)字式汽車儀表系統(tǒng)。
1 系統(tǒng)軟硬件平臺的選擇
    本文選取Intel公司的PXA270為微處理器,選配MiniARM270核心板;64 MB SDRAM為系統(tǒng)運行隨機存儲器;256 MB NAND Flash程序存儲器;MCP2515 CAN控制器負(fù)責(zé)CAN報文的接收與發(fā)送;8英寸640×480真彩TFT液晶屏顯示GUI圖形界面;Linux為嵌入式操作系統(tǒng)[2]。選用目前較為流行的嵌入式GUI系統(tǒng)MiniGUI進行應(yīng)用程序界面的編寫。運用ZLG/BOOT啟動Jflashmm、Flash FXP軟件進行內(nèi)核的燒寫與移植。軟件編制調(diào)試完畢后,進行操作系統(tǒng)內(nèi)核定制,裁減出最小操作系統(tǒng),并將應(yīng)用程序與最小系統(tǒng)在仿真環(huán)境下進行聯(lián)合調(diào)試。虛擬儀表系統(tǒng)結(jié)構(gòu)如圖1所示。

2  MiniGUI的程序開發(fā)和移植
    將MiniGUI及應(yīng)用程序移植到目標(biāo)機上需要經(jīng)歷編寫相應(yīng)的驅(qū)動程序、交叉編譯MiniGUI及應(yīng)用程序、安裝MiniGUI到目標(biāo)系統(tǒng)、在目標(biāo)系統(tǒng)上運行MiniGUI應(yīng)用程序等幾個步驟。
    MiniGUI程序是建立在MiniGUI和ANSIC庫之上,所以程序的編寫要按照MiniGUI的程序框架來定,并通過調(diào)用ANSIC庫以及MiniGUI自身提供的API函數(shù)來實現(xiàn)。MiniGUI程序的入口點: int MiniGUIMain(int argc,const cha r * argv [ ]) 。其風(fēng)格類似于Win32 ,也是基于窗口、事件驅(qū)動編程。事件通過消息機制傳遞,當(dāng)事件發(fā)生時,MiniGUI將事件轉(zhuǎn)換為一個消息,并將消息發(fā)送到MiniGUI應(yīng)用程序的消息隊列之中。窗口過程函數(shù)是MiniGUI應(yīng)用程序必不可少的函數(shù),用于接收和處理消息,是一個回調(diào)函數(shù),由MiniGUI調(diào)用,在應(yīng)用程序中不能直接調(diào)用,其函數(shù)原型如下:static int WindowProc (HWND hWnd, int message, WPARAM wParam,LPARAM lParam)。每個MiniGUI應(yīng)用程序的初始界面一般都是MiniGUI主窗口,然后在主窗口的基礎(chǔ)上再建立子窗口或?qū)υ捒虻?。主窗口使用CreateMainWindow函數(shù)實現(xiàn),在這個函數(shù)里可以設(shè)置主窗口的風(fēng)格、大小、句柄、標(biāo)題以及窗口過程函數(shù)等[6,8-9]。
    本文有兩個顯示界面,分別對應(yīng)流程圖里面的子程序1和子程序2。應(yīng)用程序流程圖如圖2所示。

    本文采用arm-linux-gcc-3.4.3交叉編譯器對驅(qū)動程序和應(yīng)用程序進行編譯。安裝交叉編譯器步驟:將交叉編譯器安裝包arm-linux-3.4.3.tar.bz2復(fù)制到當(dāng)前目錄下,進行解壓安裝并指定安裝路徑:#tar xjvf arm-linux-3.4.3.tar.bz2 –C /usr/local/arm。為了便于使用,安裝完畢后,通常都將交叉編譯器的路徑添加到系統(tǒng)的搜索路徑中。這樣要編譯文件時就很簡單,不用每次都指定路徑,系統(tǒng)會自動搜索。在這里介紹的一種方法是修改/etc/profile文件:打開/etc/profile文件,在最后一行添加pathmunge /usr/local/arm/3.4.3/sbin,保存退出,在終端輸入執(zhí)行:#. Profile(“點+空格+文件名”)??赏ㄟ^在終端輸入:arm-linux-gcc–v 檢驗用戶編譯器版本。arm-linux-gcc編譯出來的程序,不能在PC機上運行,必須下載到ARM系統(tǒng)中才能運行。
    MiniGUI在Linux系統(tǒng)中有兩種運行模式:fbcon(Frame Buffer Console)和qvfb(Qt Virtual Frame Buffer)。fbcon在控制臺下運行,這種模式下不能開Linux的X圖形界面。qvfb則是帶幀緩沖的虛擬控制臺,MiniGUI程序在qvfb中運行就像圖形界面下的終端(Terminal)中運行命令一樣。通過對gal_engine賦值來設(shè)置運行模式。
3 信號采集電路
    CAN總線的智能節(jié)點一般由主控制器、CAN總線控制器、CAN總線驅(qū)動器以及具體的功能單元組成。主控制器用來通過訪問CAN總線控制器來實現(xiàn)對CAN總線的訪問。CAN總線控制器實現(xiàn)CAN協(xié)議的數(shù)據(jù)鏈路層和物理層功能,對外具有與主控制器和總線驅(qū)動器的接口功能。CAN總線驅(qū)動器提供CAN總線控制器與物理總線之間的接口。[!--empirenews.page--]
    本文選用Microchip公司生產(chǎn)的MCP2515作為CAN總線控制器。MCP2515是一款獨立的CAN協(xié)議控制器,完全支持CAN 2.0B技術(shù)規(guī)范。MCP2515與主控制器的連接是通過標(biāo)準(zhǔn)串行外設(shè)接口SPI(Searial Peripheral Interface)實現(xiàn)的。主控制器選擇了Microchip公司的PIC16F913,該單片機為高性能的RISC CPU,內(nèi)部具有4 KB的可編程可擦除的Flash存儲器、256 B的RAM、256 B的EEPROM,帶有標(biāo)準(zhǔn)的SPI接口,也能夠方便地和CAN總線控制器MCP2515進行連接。CAN總線驅(qū)動器選擇Microchip公司的MCP2551,是一個可容錯的高速CAN器件[4,10]。數(shù)據(jù)采集用的CAN總線接口電路如圖3所示。

4 CAN總線驅(qū)動程序的方案設(shè)計與實現(xiàn)
    設(shè)備驅(qū)動程序是介于硬件和Linux內(nèi)核之間的軟件接口,是一種低級的、專用于某一硬件的軟件組件。設(shè)備驅(qū)動也可以理解為操作系統(tǒng)的一部分,對于一個特定的硬件設(shè)備來說,其對應(yīng)的設(shè)備驅(qū)動程序是不同的,比如網(wǎng)卡、鍵盤、鼠標(biāo)、顯卡、電位器、電機等。操作系統(tǒng)本身沒有對各種硬件設(shè)備提供持久不變的“驅(qū)動設(shè)備”,沒有驅(qū)動,操作系統(tǒng)就控制不了底層的設(shè)備,對于操作系統(tǒng)來說,掛接的設(shè)備越多,需要的設(shè)備驅(qū)動程序也越多。
    在Linux操作系統(tǒng)中,把所有外設(shè)都當(dāng)成文件看待,使用操作文件的方法來操作設(shè)備,通過驅(qū)動程序,Linux操作系統(tǒng)才能以文件夾的方式來管理設(shè)備。因此驅(qū)動程序的編寫開發(fā)具有十分重要的地位。Linux設(shè)備驅(qū)動程序運行在Linux內(nèi)核空間,是Linux內(nèi)核中聯(lián)系硬件設(shè)備和應(yīng)用程序的橋梁。Linux系統(tǒng)硬件、設(shè)備驅(qū)動和應(yīng)用程序的關(guān)系如圖4所示[7]。

    MagicARM270實驗箱采用SJA1000 CAN控制器擴展了1路CAN接口,SJA1000是PHILIPS公司經(jīng)典的CAN控制器,支持CAN 2.0 A、B協(xié)議。結(jié)合應(yīng)用程序、驅(qū)動程序、內(nèi)核程序,CAN驅(qū)動流程圖如圖5所示。


5 測試結(jié)果與驗證
    選取廣州致遠電子有限公司生產(chǎn)的Magic ARM270實驗箱進行仿真[2]。通過
CAN總線實現(xiàn)汽車上各種信息的采集和測量,并將采集的結(jié)果送到ARM進行處理,最后通過TFT顯示出來,設(shè)置CAN總線傳輸速度波特率為125 KB/s,圖6所示為捕捉的一個界面。

    隨著信息技術(shù)的快速發(fā)展,現(xiàn)場總線技術(shù)在汽車上得到了越來越多的應(yīng)用。本文在測試系統(tǒng)下采用CAN總線接口提取車速、發(fā)動機轉(zhuǎn)速、機油壓力、油量、水溫、傳動箱壓力及其他車況等信息。實驗表明采用虛擬儀表技術(shù)完全能夠滿足車輛運行參數(shù)和狀態(tài)顯示的要求,可擴充性好,配置方便。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

Linux電腦輸入poweroff退出操作系統(tǒng)后電源會自動切斷,而嵌入式Linux如果沒做特殊處理 輸入poweroff關(guān)閉系統(tǒng)后電源依舊保持著。敲擊鍵盤也不會有響應(yīng)。原因是CPU和主板之間有著行業(yè)標(biāo)準(zhǔn),比如ACPI(A...

關(guān)鍵字: Linux 電源 硬件IO

北京2022年10月19日 /美通社/ -- 隨著云計算、大數(shù)據(jù)的普及發(fā)展,過去的"云"是服務(wù)于大企業(yè)的計算模型,而十多年過去了,越來越多的應(yīng)用及業(yè)務(wù)走上"云端",對計算核心數(shù)需求...

關(guān)鍵字: ARM 大數(shù)據(jù) 云游戲 CPU

無線連接已成為許多產(chǎn)品的必備功能,但往往會增加系統(tǒng)設(shè)計的成本和復(fù)雜性,因為它通常必須作為更大應(yīng)用的附加功能。Microchip Technology Inc.(美國微芯科技公司)今日推出首款基于Arm Cortex?-M...

關(guān)鍵字: Microchip ARM PIC

物聯(lián)網(wǎng)正在擴大規(guī)模并加速發(fā)展,進而驅(qū)動著全新的經(jīng)濟。而Arm生態(tài)系統(tǒng)正是這一巨大機遇背后的推動力。

關(guān)鍵字: ARM 物聯(lián)網(wǎng)

ARM公司是一家知識產(chǎn)權(quán)(IP)供應(yīng)商,它與一般的半導(dǎo)體公司最大的不同就是不制造芯片且不向終端用戶出售芯片,而是通過轉(zhuǎn)讓設(shè)計方案,由合作伙伴生產(chǎn)出各具特色的芯片。

關(guān)鍵字: ARM

2018年10月26日,深圳星河麗思卡爾頓酒店,ARM中國CEO吳雄昂在ARM年度技術(shù)論壇上對記者如是說,彼時的吳堅定,溫雅,意氣風(fēng)發(fā)。時隔兩年,ARM中國CEO吳雄昂再次回到媒體視線,這一次,ARM中國與來自投資方和劍...

關(guān)鍵字: ARM 芯片 集成電路

喜歡折騰主機的小伙伴一定都知道X86和ARM架構(gòu)的區(qū)別,前者在PC領(lǐng)域已經(jīng)統(tǒng)治了幾十年;后者則主要應(yīng)用于移動領(lǐng)域,尤其是近幾年,ARM的產(chǎn)品在終端應(yīng)用特別是手持終端應(yīng)用飛速發(fā)展。

關(guān)鍵字: 國產(chǎn) ARM 主機

科技公司們認(rèn)為,收購將使英偉達控制一個重要的供應(yīng)商,該供應(yīng)商向蘋果、英特爾、三星電子、亞馬遜和華為等公司授權(quán)基本的芯片技術(shù),同時也向不計其數(shù)的中小技術(shù)企業(yè)提供授權(quán)??偛课挥谟腁RM公司將芯片設(shè)計和相關(guān)軟件代碼授權(quán)給所...

關(guān)鍵字: 英偉達 ARM 半導(dǎo)體公司

在去年九月,英偉達宣布以400億美金收購ARM時,就注定這場收購不會太順利。因為一旦ARM成功被英偉達收購,這將使ARM改變在全球半導(dǎo)體市場中的中立立場,因為ARM的很多客戶,都是英偉達的直接或者間接的對手。除此之外,還...

關(guān)鍵字: 英偉達 ARM 半導(dǎo)體

以下內(nèi)容中,小編將對工控主板的相關(guān)內(nèi)容進行著重介紹和闡述,希望本文能幫您增進對工控主板的了解,和小編一起來看看吧。

關(guān)鍵字: ARM 工控主板 主板

嵌入式軟件

15715 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉