當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]LX800在車載監(jiān)控系統(tǒng)中的應用

摘要:隨著嵌入式Linux操作系統(tǒng)的迅速發(fā)展,嵌入式Linux已逐漸成為嵌入式操作系統(tǒng)的一個重要分支。介紹了LX800在車載監(jiān)控系統(tǒng)中的應用,實現(xiàn)了CAN總線實時數(shù)據(jù)和視頻的顯示和控制。主要闡述了x86系統(tǒng)平臺的硬件總體設計、PCI9054驅動的實現(xiàn)及應用主程序相關流程。
關鍵詞:嵌入式Linux;LX800;PCI9054

引言
    嵌入式系統(tǒng)由于體積小、功耗低、可靠性高、可裁減性強、軟硬件集成度高等特點的被廣泛地應用于工業(yè)制造、過程控制、通信、儀器、儀表、汽車、船舶、航空、航天、消費類產品等眾多領域。一個完整的嵌入式Linux解決方案應包括嵌入式Linux操作系統(tǒng)內核、運行環(huán)境、圖形化界面和應用軟件等。由于嵌入式設備的特殊要求,嵌入式Linux解決方案中的內核、環(huán)境、GUI等都與標準Linux有很大不同,其主要挑戰(zhàn)是如何在狹小的Flash、ROM和內存中,實現(xiàn)高質量的任務實時調度、圖形化顯示、網絡通信等功能。本文基于AMD LX800微處理器和Linux操作系統(tǒng)進行車載監(jiān)控系統(tǒng)的設計。車載監(jiān)控系統(tǒng)是對車輛工作狀態(tài)、運行情況進行顯示、控制并完成人機交互的系統(tǒng),實現(xiàn)系統(tǒng)實時響應操作、顯示相關的機車信息。

1 系統(tǒng)硬件設計
    GeodeLX處理器是AMD公司推出的基于x86體系結構的嵌入式處理器,主要用于工業(yè)控制、移動設備等領域。GeodeLX處理器支持i586指令集,并且?guī)в蠱MX和AMD“3DNow!”指令集擴展;其CPU頻率在400~500MHz,帶有8級單發(fā)射的指令流水線,64 KB指令L1Cache和64 KB數(shù)據(jù)L1 Cache,128 KB的可配置為指令或數(shù)據(jù)的L2 Cache。處理器內部集成了圖形和視頻處理單元,提高了二維圖形和視頻的應用加速。
    PCI總線即外圍部件互連總線,是一種先進的高性能32/64位地址/數(shù)據(jù)復用局部總線,可同時支持多組外圍設備,并且不受制于處理器,為處理器與高速外圍設備提供了一座溝通的橋梁,提高了數(shù)據(jù)吞吐量(32位最大可達132 MB/s),因此是現(xiàn)在PC領域中很流行的總線。P CI總線具有嚴格的總線規(guī)范,保證了良好的兼容性,符合PCI總線規(guī)范的擴展卡可以插入任何PCI系統(tǒng)可靠地工作。因此,和GeodeLX處理器一起使用的CS5536芯片通過PCI總線組提供南橋的功能,如IDE、USB2.0、Flash、AC97和x86的外圍設備接口。
    為了擴展一些用戶接口,如高速串口、CAN總線接口等,需要將復雜的PCI總線接口轉換為相對簡單的用戶接口。本系統(tǒng)采用PLX公司生產的PCI總線通用接口芯片PLC9054,處理器可以通過PCI總線訪問擴展資源,如CAN總線、液晶屏數(shù)據(jù)線、按鍵高速串口等其他擴展設備。此款芯片采用先進的PLX數(shù)據(jù)管道結構技術,符合PCIV2.1和V2.2規(guī)范;提供了兩個獨立的可編程DMA控制器;每個通道均支持塊和分散/集中的DMA方式;在PCI總線端支持32位數(shù)據(jù)總線,33 MHz時鐘信號;本地端可以編程實現(xiàn)8/16/32位的數(shù)據(jù)寬度;傳輸速率最高可達132 MB/s;本地總線端時鐘最高可達50 MHz,支持復用/非復用的32位地址數(shù)據(jù)。PCI9054提供了PCI、LOCAL、EEPROM總線3個接口,作為一種橋接芯片在PCI總線和LOCAL總線之間提供傳遞消息。
    W83627DHG通過LPC接口與CS5536通信,此款LPC接口的I/O芯片除了可以支持傳統(tǒng)的輸入/輸出接口,如鍵盤和鼠標、并口、軟盤口、UART、SPI口等,硬件監(jiān)控針對新一代的CPU,提供符合VRD11.0規(guī)格的CPU電壓偵測功能,并且可經由鍵盤任一按鍵或是鼠標將系統(tǒng)由休眠狀態(tài)喚醒。
    BIOS實際是一組被固化到電腦中,為電腦提供最基本的硬件控制的程序,它是連通軟件程序和硬件設備之間的樞紐,負責響應硬件的即時要求,并按軟件對硬件的操作要求執(zhí)行。本設計BIOS芯片采用LPC Flash可擦寫芯片。


    系統(tǒng)的整體硬件結構如圖1所示,系統(tǒng)由處理器、外圍電路及外圍接口設備組成。外圍電路包括晶振、電源、復位電路、串口、網口、PCI總線、USB接口、Flash等。
[!--empirenews.page--]
2 系統(tǒng)軟件設計
   
Linux采用統(tǒng)一的框架對硬件進行管理,從一個硬件平臺到另一個硬件平臺的改動與上層應用無關。Linux可以隨意地配置,不需要任何許可證或與商家的合作關系,源代碼可以免費得到,這使得采用Linux作為操作系統(tǒng)不會遇到任何關于版權的糾紛。Linux本身內置網絡支持,而目前嵌入式系統(tǒng)對網絡支持要求越來越高,Linux的高度模塊化使添加部件非常容易。Linux是一個和Unix相似、以內核為基礎的、具有完全的內存訪問控制、支持大量硬件(包括x86、Alpha、ARM等現(xiàn)有的大部分芯片)等特性的一種通用操作系統(tǒng)。其程序源碼全部公開,任何人可以修改,并在GNU通用公共許可證下發(fā)行。這樣,開發(fā)人員可以對操作系統(tǒng)進行定制裁減,適應其特殊需要。其強大的語言編譯器GCC、G++等不但成熟完善,而且使用方便。本論文中基于V2.6.27內核通過make menuconfig對內核進行部分功能裁減。
    軟硬件綜合開發(fā)是嵌入式系統(tǒng)的一大特色,軟件設計是在緊密聯(lián)系硬件的基礎上來完成的。本文的車載監(jiān)控系統(tǒng)設計遵循嵌入式軟件的體系結構設計方法,分為兩個部分:①相關驅動的開發(fā),如底層包括擴展的PCI9054驅動、串口驅動、CAN驅動及內核自帶的網絡驅動、USB、CS5536等設備驅動;②應用程序的開發(fā),包括顯示監(jiān)控任務的實現(xiàn)、配置文件讀寫實現(xiàn)等。
2.1 設備驅動開發(fā)
   
底層接口層封裝監(jiān)控顯示軟件與底層通信硬件接口、操作系統(tǒng)交互等部分的代碼,通過定義統(tǒng)一的接口規(guī)范,實現(xiàn)上層軟件不依賴具體的硬件平臺,從而實現(xiàn)軟件易于移植。
    作為底層驅動模塊的基本結構至少必須包含兩個函數(shù):module_init()和module_exit()。第一個函數(shù)是在把模塊加載入內核時調用的;第二個函數(shù)則在刪除該模塊時調用。module_init()向內核注冊模塊所能提供的所有新功能,即可以由應用程序使用的新功能。函數(shù)module_ exit()的任務是清除掉module_init()所做的一切,保證這個模塊被安全地卸載。模塊的調用情況如圖2所示。下面以PCI9054為代表,描述硬件驅動設計過程。


    PCI9054驅動程序主要實現(xiàn)PCI9054設備的中斷使能屏蔽,PCI9054設備的中斷處理,PCI9054設備的掛載、卸載、初始化。
2.1.1 定義和注冊PCI9054設備
   
    [!--empirenews.page--]
2.1.2 PCI9054_probe()函數(shù)任務
   
對于probe驅動函數(shù),驅動程序的許多任務及硬件初始化工作都將在此函數(shù)中完成。它主要完成注冊PCI9054時調用的函數(shù),完成PCI9054配置信息讀取,取得外設地址,申請中斷,配置PCI9054的雜項寄存器。探測流程如圖3所示。


2.1.3 pci9054_init_module初始化函數(shù)
   
主要完成PCI的初始化、注冊PCI設備、使能PCI中斷等。流程圖如圖4所示。


[!--empirenews.page--]
2.1.4 pci9054_cleanup_module注銷函數(shù)
   
用于注銷PCI9054設備及相關擴展設備。流程圖如圖5所示。


2.2 應用程序的開發(fā)
   
車載監(jiān)控系統(tǒng)應用程序的實現(xiàn)過程主要包括:窗體和各個信息控件的初始化并顯示窗體實現(xiàn)人機交互、對按鍵的響應、參數(shù)的存儲、發(fā)送語音消息、圖5 PCI9054設備的卸載CAN事件數(shù)據(jù)的處理并實時刷新屏上信息顯示當前設備的工作狀態(tài)。其程序流程如圖6所示。


2.3 應用程序與設備驅動的關聯(lián)
   
在Linux系統(tǒng)中,對于一個硬件設備對應的是/dev目錄下的邏輯設備節(jié)點,這個節(jié)點以文件的形式存在,但它不是普通意義上的文件,是設備文件,更確切地說,它是設備節(jié)點。這個節(jié)點是通過mknod命令建立的,其中指定了主設備號和次設備號。通常而言,主設備號表明了對應著確定的驅動程序;次設備號由內核使用,用于正確確定設備文件所指的設備。
    insmod加載驅動程序,設備號是從/proc/devices文件中獲得的,所以通常是有驅動程序在內核中,才有設備節(jié)點在目錄中。這個設備號(這里特指主設備號)的主要作用,就是聲明設備所使用的驅動程序。驅動程序和設備號是一一對應的,當你打開一個設備文件時,操作系統(tǒng)能知道這個設備所對應的驅動程序的加載。
    設備節(jié)點文件中的file屬性中指明了驅動程序中fops方法實現(xiàn)的函數(shù)指針。應用程序通過使用open、write、read、ioetl等函數(shù)來訪問設備節(jié)點,進行相應的工作。

結語
   
LX800微處理器以其豐富的接口、較快的處理速度、穩(wěn)定性及易擴展性而受到嵌入式開發(fā)者的青睞?;贚X800的車載監(jiān)控系統(tǒng)采用Lin ux操作系統(tǒng),使其具備了實時多任務處理的能力。經過測試,系統(tǒng)運行穩(wěn)定可靠,有較好應用前景。

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉