<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于uClinux嵌入式系統的汽車(chē)黑匣子的設計

基于uClinux嵌入式系統的汽車(chē)黑匣子的設計

作者: 時(shí)間:2007-07-27 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要 本文介紹了建立在以32位三星的S3C44B0X微處理器為核心的平臺上的和開(kāi)發(fā)。本主要解決的問(wèn)題是:1.關(guān)于行駛狀態(tài)信號數據的采集和處理。2.USB接口的,使中記錄的數據能夠通過(guò)USB接口與PC或者PDA進(jìn)行通信。最后經(jīng)過(guò)集成,本系統可以很好的運行。另外在本系統中還采用了操作系統,并對其移植過(guò)程做了一定的研究。
關(guān)鍵詞S3C44B0X處理器;操作系統;USB接口;

汽車(chē)黑匣子就是汽車(chē)行駛記錄儀,它是用來(lái)記錄汽車(chē)在行駛中的狀態(tài)。隨著(zhù)黑匣子在飛機上的成功運用,越來(lái)越多的國家也在汽車(chē)上運用這種技術(shù)。早在1990年以前歐共體就通過(guò)了在汽車(chē)上安裝黑匣子的立法,要求歐共體的15個(gè)成員國在10年內給使用中的900萬(wàn)輛商用車(chē)中安裝這個(gè)裝置。美國、日本、香港及馬來(lái)西亞等國家和地區也相繼廣泛使用汽車(chē)黑匣子[1]。從使用的效果來(lái)看,汽車(chē)黑匣子不但可以在事故放生后準確的反映當時(shí)汽車(chē)的狀態(tài)同時(shí)也在預防汽車(chē)事故方面取的了顯著(zhù)的效果。在2004年10月1日,我國推出了新的《機動(dòng)車(chē)運行安全技術(shù)條件》(GB7428-2004),明確要求用于公路運營(yíng)的載客汽車(chē)、重型載貨汽車(chē)、半掛車(chē)應當安裝、使用符合國家標準的汽車(chē)行駛記錄儀。

目前國內生產(chǎn)汽車(chē)黑匣子的有60多家通過(guò)國標檢測的企業(yè),其中2/3是貼牌生產(chǎn),或代理銷(xiāo)售其它企業(yè)產(chǎn)品;真正有技術(shù)、有資金、有生產(chǎn)線(xiàn)的企業(yè)只有18家左右,其中比較著(zhù)名的是四川大科星、北京偉航、惠州銳神等。但其汽車(chē)黑匣子多是運用8位或16位單片機作為處理器,采用匯編語(yǔ)言,運用程序也比較單一。雖然也有公司研制出了第二代汽車(chē)黑匣子,功能也比較多但其還是沒(méi)有運用操作系統到上面,所以在擴展性和穩定性上面還是有缺陷。在國外,俄羅斯最新研制出來(lái)的汽車(chē)黑匣子可以當事故發(fā)生后,車(chē)輛空間運動(dòng)物理量變化將被“黑匣子”記錄得一清二楚,從而幫助人們分析事故怎樣發(fā)生,汽車(chē)以后可以怎樣改進(jìn)。在嵌入式系統方面,歐洲的ICE已經(jīng)成功的把嵌入式系統運用到了汽車(chē)黑匣子上。

1 系統的總體結構

1.1 需求分析

根據國家最新出臺的汽車(chē)行駛記錄儀的標準:要求汽車(chē)行駛記錄儀能夠對實(shí)時(shí)時(shí)鐘、日期及駕駛時(shí)間的采集、記錄、儲存,車(chē)輛行駛速度、里程的測量、記錄、儲存等,對于事故疑點(diǎn)數據,記錄儀應以不大于0.2秒的時(shí)間間隔持續記錄并儲存停車(chē)前20秒實(shí)時(shí)時(shí)間對應的車(chē)輛行駛速度值及車(chē)輛制動(dòng)狀態(tài)信號[2]。

1.2 系統的結構

本系統采用的主要的硬件是:32位三星的S3C44B0X處理器、信號處理電路、RS232型標準接口和USB1.1標準接口、4M Flash、8M SDRAM、4K FRAM、操作鍵盤(pán)和擴展接口。操作系統用的是操作系統。系統結構如圖一。

1.3 結構描述

1、32位三星的S3C44B0X處理器,其內置有RTC(實(shí)時(shí)時(shí)間芯片)可以實(shí)現北京時(shí)間的日期和時(shí)鐘,該日期和時(shí)鐘被用于為記錄儀實(shí)現所有功能(記錄、存儲、輸出等)標注日期和時(shí)鐘,同時(shí)其強大的其它功能為本系統應用和以后的升級或擴展提供很好的支持。2、信號處理電路處理汽車(chē)黑匣子采集的信號,使其滿(mǎn)足我們系統的要求。3、本系統配置了RS232型標準接口和USB1.1標準接口,采用USB接口來(lái)完成數據從汽車(chē)黑匣子到計算機間的通信,使數據間的通信更加的方便和迅速。4、主要是的存儲單元是4M的Flash用來(lái)存儲uClinux操作系統和記錄的數據,8M的SDRAM和一塊4K的FRAM。當汽車(chē)運行時(shí)記錄儀以0.2s的時(shí)間間隔持續記錄并儲存停車(chē)前20s實(shí)時(shí)時(shí)間對應的車(chē)輛行駛速度以及包過(guò)制動(dòng)的8個(gè)信號量進(jìn)行記錄,并且把其存儲在FRAM存儲器中。這些數據將作為事故疑點(diǎn)數據。同時(shí)記錄儀將以0.5min的間隔時(shí)間從FRAM中進(jìn)行采樣,把采樣的結果存進(jìn)Flash存儲器中。5、軟件方面采用uClinux操作系統,可以更好的滿(mǎn)足系統穩定性、可擴展性和運用程序的多樣性。

2 關(guān)鍵技術(shù)

2.1 信號數據的采集和處理

為了降低成本達到可實(shí)用性,本系統采用的信號都是從汽車(chē)上的各個(gè)傳感器上直接采取。主要采集的信號有車(chē)速信號、制動(dòng)信號和各個(gè)燈光的信號。

2.1.1 車(chē)速信號的采集和處理

本系統車(chē)速信號的采集是汽車(chē)上的ABS輪速傳感器上的信號。目前ABS傳感器輪速傳感器廣泛采用的是變磁阻式的電磁傳感器,通過(guò)研究發(fā)現ABS傳感器發(fā)出的信號是正弦波信號,并且信號的頻率和汽車(chē)的速度成正比關(guān)系,因此我們需要把信號的頻率轉換成相應的電壓值,然后再送入A/D轉換器。但同時(shí)又由于汽車(chē)在行駛的時(shí)候對ABS傳感器發(fā)出的信號有非常大的干擾,所以需要在信號進(jìn)行頻壓轉換前對信號進(jìn)行處理。

信號的處理過(guò)程為(1)通過(guò)限幅電路。由于車(chē)輪的轉速越快,正弦波信號的幅值越大。所以通過(guò)兩個(gè)穩壓二極管將信號的幅值限制到正負5幅以?xún)取?2)通過(guò)濾波電路。由于汽車(chē)在運行的時(shí)候會(huì )產(chǎn)生很大的高頻干擾信號,因此采用二階帶反饋的有源濾波器,去除高頻干擾信號。(3)通過(guò)整形電路,把正弦波信號轉換成方波信號。(4)最后通過(guò)頻壓轉換電路。轉換過(guò)程如圖二所示。

圖二

2.1.2 制動(dòng)信號和各個(gè)燈光信號的采集和處理

汽車(chē)上的制動(dòng)和燈光信號的采集都是直接通過(guò)汽車(chē)上的制動(dòng)電路或者燈光電路采集而得,其輸出都是一個(gè)電壓為12V的地躍信號,因此我們通過(guò)一個(gè)光電隔離器來(lái)實(shí)現抗干擾和穩壓。

2.2 USB接口的設計

USB即通用串行總線(xiàn)(Universal serial bus),是一種快速、靈活的總線(xiàn)接口。與其它通信接口比較,USB接口最突出的特點(diǎn)是易于使用和傳輸的速率快。所以USB接口被越來(lái)越多的系統所采用。為了實(shí)現本系統本項目通過(guò)USB接口把汽車(chē)黑匣子記錄存儲的數據傳送到計算機或者PDA上,我們把整個(gè)系統當成個(gè)U盤(pán)來(lái)考慮,這樣就可以方便、快速的實(shí)現數據的傳送。

USB組織按設備的不同屬性,定義了一系列設備類(lèi)及設備次類(lèi)。將這些相同屬性的設備組合在一起的優(yōu)點(diǎn)是,可以同時(shí)發(fā)展該類(lèi)以PC主機為主的驅動(dòng)程序。目前USB中定義了以下類(lèi):Audio、Communication、Display、Human Interface、Mass storage、Image、Printer、Power、PC Legacy、Physical interface。因為我們這個(gè)項目需要做的是把整個(gè)系統當成一個(gè)U盤(pán)來(lái)進(jìn)行數據的傳輸,所以需要我們遵循Mass storage協(xié)議。同時(shí)Microsoft Windows 中提供對Mass storage協(xié)議的支持,因此USB 移動(dòng)設備只需要遵循Mass storage協(xié)議來(lái)組織數據和處理命令,即可以實(shí)現與PC機之間的數據交換。同時(shí)在Flash的存儲單元組織形式中采用FAT16 文件系統,這樣,就可以直接在Windows 的瀏覽器中通過(guò)可移動(dòng)磁盤(pán)來(lái)交換數據。

USB 組織現在定義了Mass Storage 協(xié)議傳輸的兩個(gè)規范,即:1. USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport 2. USB Mass Storage Class Bulk-Only Transport。但是CBI不能用于高速設備,所以在我們的這個(gè)系統中選用第二種傳輸方式Mass Storage Class Bulk-Only。

在這種傳輸模式下,需要注意接口描述符中的一些值的設定。把bInterfaceClass的值設為08,代表本設備為Mass storage Class。把bInterfaceSubClass的值設為06,這樣表明USB設備在傳輸中遵循SCSI協(xié)議。這是因為海量存儲設備(General Mass Storage Device)是隨機存取、塊/扇區存儲的設備。它只能存儲和取回來(lái)自CPU 的數據。這種設備的接口遵循SCSI-2 標準的直接存取存儲設備(Direct Access Storage Device)協(xié)議。bInterfaceProtocol的值設為50,即USB設備為Bulk-Only Transport傳輸模式。

當設備插入到USB 后,USB 即對設備進(jìn)行搜索,并要求設備提供相應的描述符。在USB Host 得到上述描述符后,即完成了設備的配置,識別出為Bulk-Only 的Mass Storage 設備,然后即進(jìn)入Bulk-Only 傳輸方式。在這種傳輸方式下,有三種類(lèi)型的數據在USB 和設備之間傳送,CBW、CSW 和普通數據。CBW(Command Block Wrapper,即命令塊包)是從USB Host 發(fā)送到設備的命令,命令格式遵從接口中的bInterfaceSubClass 所指定的命令塊,這里為SCSI 傳輸命令集。USB設備需要將SCSI 命令從CBW 中提取出來(lái),執行相應的命令,完成以后,向Host 發(fā)出反映當前命令執行狀態(tài)的CSW(Command Status Wrapper),Host 根據CSW 來(lái)決定是否繼續發(fā)送下一個(gè)CBW 或是數據。Host 要求USB 設備執行的命令可能為發(fā)送數據,則此時(shí)需要將特定數據傳送出去,完畢后發(fā)出CSW,以使Host 進(jìn)行下一步的操作。USB 設備所執行的操作可用圖三所示。

在這里需要注意的是Flash的讀寫(xiě)特點(diǎn)是其可隨機讀,但無(wú)法隨機寫(xiě)。Flash在寫(xiě)之前必須先擦除,而一擦又必須擦一個(gè)Block或者一個(gè)sector,因此在擦除某Block或sector 之前必須保存同一個(gè)Block或sector 中有關(guān)的數據。如果每收到一次數據就進(jìn)行一次擦、保存、寫(xiě)的操作,系統任務(wù)將十分繁重,無(wú)法及時(shí)響應USB Host 端的請求,因此這個(gè)需要通過(guò)設置一定大小的緩沖區來(lái)解決。

3 uClinux操作系統

在進(jìn)行嵌入式系統設計中,對操作系統的選擇是至關(guān)重要的,對于系統需求不同需要運用不同的操作系統。本系統考慮的主要是穩定性和安全性,所以運用uClinux操作系統。uClinux操作系統是基本上跟Linux操作系統是一樣的。(1)它是免許可證用費同時(shí)具有很高的穩定性、安全性和可裁剪性。(2)支持強大的網(wǎng)絡(luò )功能,這個(gè)使我們的系統有更好的擴展性,比如以后在上面實(shí)現GPRS等網(wǎng)絡(luò )功能(3)具有豐富的開(kāi)放工具,提供C、C++、JAVA以及很多其它的開(kāi)發(fā)工具,這個(gè)為我們的應用程序的開(kāi)發(fā)提供了很大方便。(4)具有大量的文檔可供我們參考。它們之間最大的不同是是uClinux是了為了滿(mǎn)足沒(méi)有MMU的處理器而特別設計的,即uClinux不能使用處理器的虛擬內存管理技術(shù)而是采用的是實(shí)存儲器管理策略。

這里有主要的三個(gè)方面在移植的過(guò)程中是需要注意的。1、如果處理器的核不被uClinux支持,這就需要我們在uclinux/linux-2.4.x/arch/中增加一個(gè)新的體系結構,這個(gè)工作量將是巨大的。但在我們的這個(gè)系統中ARM7TDMI體系結構已經(jīng)存在uclinux/linux-2.4.x/arch/armnommu/目錄中。2、在相同體系結構目錄中找一個(gè)與你的處理器比較接近的處理器的配置文件進(jìn)行修改,使之適合你的處理器。如果沒(méi)有合適的就需要你自己寫(xiě),同樣這個(gè)工作量也是相當大的。3、如果本系統的一些外圍設備電路不被uClinux所支持,需要自己編寫(xiě)其的設備驅動(dòng)程序。

4 結束語(yǔ)

本汽車(chē)黑匣是建立在以32位三星的S3C44B0X微處理器為核心及uClinux操作系統的嵌入式系統,可以更好的滿(mǎn)足系統穩定性和運用程序的多樣性,因此可以更加完整、精確和多樣性的記錄下汽車(chē)的行駛狀態(tài),為事故的分析提供準確的依據,同時(shí)也對抑制交通事故起到很大的重要。另外在本系統中我們把整個(gè)系統做成U盤(pán),這樣可以把記錄的數據方便、迅速的傳輸到計算機或者PDA上。

參 考 文 獻
[1] 霍拉鮑等, 嵌入式UClinux : 硬件、軟件與接口, 電子工業(yè)出版社,2003
[2] GB/T 19056-2003, 汽車(chē)行駛記錄儀的規范性標準[S]
[3] Arpith Chacko Jacob, uClinux porting HOWTO, http://www.arpith.com/, 2004
[4] David A. Patterson and John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, second edition, San Francisco: Morgan Kaufmann, 1988

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
隔離器相關(guān)文章:隔離器原理


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>