當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于ARM9的轉(zhuǎn)轍機(jī)缺口監(jiān)測圖像采集模塊設(shè)計(jì)

摘要 轉(zhuǎn)轍機(jī)是鐵路上負(fù)責(zé)道岔的轉(zhuǎn)換、鎖閉、監(jiān)督功能的電氣設(shè)備,它的監(jiān)測對(duì)維護(hù)列車安全運(yùn)行具有重要意義?,F(xiàn)有道岔轉(zhuǎn)換設(shè)備缺口監(jiān)測系統(tǒng)存在檢測方式落后、不直觀、高誤警等情況。針對(duì)上述情況文中提出了一種在線視頻監(jiān)控自動(dòng)處理系統(tǒng),其中轉(zhuǎn)轍機(jī)內(nèi)監(jiān)控系統(tǒng)能對(duì)缺口圖像的動(dòng)態(tài)實(shí)時(shí)情況進(jìn)行拍照和上傳;工作室終端電腦能對(duì)道岔轉(zhuǎn)轍機(jī)內(nèi)表示桿缺口偏移量的圖像進(jìn)行識(shí)別、自動(dòng)監(jiān)測和超值報(bào)警,并介紹了圖像采集模塊的設(shè)計(jì)與實(shí)現(xiàn)。
關(guān)鍵詞 轉(zhuǎn)轍機(jī);缺口監(jiān)測;Linux ARM9

    轉(zhuǎn)轍機(jī)缺口監(jiān)測問題一直是鐵路信號(hào)系統(tǒng)特別是信號(hào)維修部門關(guān)注的熱點(diǎn)。隨著鐵路高速、高密度行車區(qū)段的不斷增加,為了確保行車安全,對(duì)行車道岔運(yùn)行質(zhì)量與狀態(tài)穩(wěn)定性監(jiān)測無為重要。

1 系統(tǒng)技術(shù)指標(biāo)
    主要技術(shù)指標(biāo):(1)缺口圖像分辨率0.01 mm。(2)缺口偏移檢測精度0.1 mm。(3)信號(hào)傳輸距離≤2.5 km(1.0 mm線徑)。(4)動(dòng)態(tài)圖像傳輸碼流100~250 kbit·s-1。

2 圖像采集模塊設(shè)計(jì)原理
    圖像采集使用微型攝像頭,圖像分辨率是指圖像中每單位長度所包含的像素或點(diǎn)的數(shù)目,常以像素/英寸(ppi)為單位來表示。對(duì)電動(dòng)轉(zhuǎn)轍機(jī)(S700K、ZD6)正面缺口在4~6 mm,用普通的30萬像素?cái)z像頭,精度可達(dá)6/640=0.01 mm。圖像數(shù)據(jù)量大小=圖像中的像素總數(shù)×圖像深度÷1 024(單位為kB)。30萬像素?cái)z像頭捕捉到640×480的畫面,二值圖像深度為1,灰度圖像深度為8或者彩色圖像深度為24,普通灰度圖像大小為2400kB。


    JPEG是由ISO和CCITT 1986年成立了“聯(lián)合圖片專家組”(Joint Photographic Experts Group)所制定的靜止灰度或彩色圖像的壓縮標(biāo)準(zhǔn)。JPEG標(biāo)準(zhǔn)定義了3種編碼系統(tǒng):(1)基于DCT的有損編碼基本系統(tǒng),可以適合大多數(shù)壓縮場合。(2)基于分層遞增模式的擴(kuò)展、增強(qiáng)編碼系統(tǒng),用于高壓縮比、高精度或漸進(jìn)重建應(yīng)用場合。(3)基于預(yù)測編碼中DPCM方法的無損系統(tǒng),用于無失真應(yīng)用的場合。
    圖像應(yīng)用系統(tǒng)要與JPEG兼容,必須支持JPEG基本系統(tǒng),可以通過修改其文件格式、圖像分辨率或彩色空間模型應(yīng)用于不同場合。在不降低圖像視覺質(zhì)量的基礎(chǔ)上JPEG標(biāo)準(zhǔn)可以將圖像壓縮到1/10~1/50,這樣一幀圖像的大小就可以壓縮到48 kB,根據(jù)需要還可以壓縮為6 kB的二值圖像,滿足缺口檢測的要求。
    在基本系統(tǒng)中,輸入和輸出數(shù)據(jù)的精度為8 bit,量化DTC值的精度為11 bit。壓縮過程由3個(gè)步驟組成:(1)DCT計(jì)算。(2)量化。(3)用熵編碼器進(jìn)行變長碼賦值。具體過程如下:先把圖像分割成一系列8×8的子塊,然后按從左向右從上到下的次序處理?;鞠到y(tǒng)的編碼器如圖2所示。

[!--empirenews.page--]
    Video4Linux(V4L)是Linux的影像串流系統(tǒng)與嵌入式影像系統(tǒng)的基礎(chǔ)。Video4Linux是Linux Kemel里支持影像設(shè)備的一組APIs,配合適當(dāng)?shù)囊曨l采集卡與驅(qū)動(dòng)程序,Video4Linux可以實(shí)現(xiàn)影像圖像采集,它支持圖像的JPEG壓縮。Video4Linux分為2層式架構(gòu),上層為Video4Linux驅(qū)動(dòng)程序本身,下層架構(gòu)則是影像設(shè)備的驅(qū)動(dòng)程序。實(shí)驗(yàn)中使用了V4L的上層驅(qū)動(dòng)程序,即V4L所提供給程序開發(fā)人員的APIs。通過使用Video 4Linux的API函數(shù)從視頻設(shè)備中讀取圖像數(shù)據(jù),然后將這些數(shù)據(jù)寫入Frame Buffer,使攝像頭采集到的圖像在液晶屏中顯示出來。

3 圖像采集硬件設(shè)計(jì)
   在ARM9系統(tǒng)中通過USB接口連接USB攝像頭對(duì)圖像進(jìn)行采集,實(shí)現(xiàn)轉(zhuǎn)轍機(jī)缺口監(jiān)測的圖像采集。ARM9核心板:處理器采用ARM920T處理器的S3C2410A,工作頻率203 MHz;SDRAM是64 MB;NANDFlash:64 MB;NORFlash:2 MB;USB接口:AU9254A21支持USB1.1協(xié)議。
    USB采集電路的原理框圖如圖3所示。


    USB主機(jī)芯片采用AU9254A21,它是單片的四端口USB控制芯片,這里擴(kuò)展了4個(gè)USB接口。它的上端接USB控制系統(tǒng),下端可接USB設(shè)備。

4 圖像采集軟件實(shí)現(xiàn)
    在Linux系統(tǒng)中,通過使用Video4Linux的API函數(shù),從視頻設(shè)備中讀取圖像數(shù)據(jù),然后將這些數(shù)據(jù)寫入系統(tǒng)臨時(shí)文件為后續(xù)的功能實(shí)現(xiàn)奠定基礎(chǔ)。
    采集程序?qū)崿F(xiàn)過程:一個(gè)嵌入式Linux系統(tǒng)從軟件的角度看通常分為4個(gè)層次:Bootloader、Linux內(nèi)核、文件系統(tǒng)和用戶應(yīng)用程序,如圖4所示。

[!--empirenews.page--]
4.1 移植Bootloader
    USB攝像頭的采集應(yīng)用程序是建立在Linux系統(tǒng)上,首先配置適合系統(tǒng)的Bootloader,Linux內(nèi)核在RAM中運(yùn)行,這就需要Linux的Bootloa der將整個(gè)內(nèi)核復(fù)制到RAM中。系統(tǒng)中Bootloader是運(yùn)行在NORFlash中,它的主要作用是:將Linux內(nèi)核文件、根文件系統(tǒng)文件、Linux啟動(dòng)參數(shù)文件復(fù)制到SDRAM中,并跳至RAM中Linux內(nèi)核的首地址,運(yùn)行Linux。各文件在RAM中存放的空間示意圖,如圖5所示。


4.2 編譯下載內(nèi)核
    將Linux源代碼包放置在工作目錄下解壓,用命令:#tar xjvf linux-2.4.18.tar.bz2。編譯內(nèi)核,在終端輸入命令:#make menu config命令,選擇“load analternate configuration file”,裝載arch/am目錄下的2410配置文件。建立依賴關(guān)系,在終端運(yùn)行命令:#make dep。編譯內(nèi)核,在終端輸入命令:#make zImage。編譯完成后在arch/arm/boot目錄下會(huì)生產(chǎn)ARM Linux內(nèi)核映像文件zIm age,用FlashFXP軟件的FTP下載。
4.3 圖像采集應(yīng)用程序
    在圖像采集設(shè)備驅(qū)動(dòng)安裝后,只需再編寫一個(gè)視頻流采集應(yīng)用程序,即可采集視頻圖像。
    前面提到Linux系統(tǒng)中把設(shè)備看成設(shè)備文件,在用戶空間可以通過標(biāo)準(zhǔn)的I/O系統(tǒng)調(diào)用函數(shù)操作設(shè)備文件,從而達(dá)到與設(shè)備通信交互的目的。視頻設(shè)備在Linux系統(tǒng)下為一個(gè)字符型設(shè)備,分配給視頻設(shè)備使用的主設(shè)備號(hào)固定為81,次設(shè)備號(hào)為0~31。在Linux系統(tǒng)中通常使用設(shè)備名為video0~video31,使用以下命令在設(shè)備文件夾/dev/下創(chuàng)建1名稱為video0的節(jié)點(diǎn):# mknod/dev/video0 c 81 0配置Video4Linux內(nèi)核:在終端使用make menuconfig命令打開S3C2410Linux內(nèi)核編譯的Main Menu窗口,并進(jìn)入“Multimedia devices→”菜單選項(xiàng),然后將Video For Linux配置為模塊;返回主菜單(Main Menu),再進(jìn)入“USB support→”菜單選項(xiàng),然后將USB Camera support設(shè)置為模塊,退出并保存配置,使用make dep命令建立文件依聯(lián)關(guān)系,然后使用make modules命令編譯鏈接模塊。編譯鏈接完成后,在/linyx/kernel/driv ers  /media/video文件夾中生成videodev.o模塊,在/linux/kemel/drivers/usb/文件夾中生成ov511.o模塊,ov511芯片直接就支持Linux,使用這款芯片的攝像頭有網(wǎng)眼V2000。
    利用V4L API獲取視頻圖像的應(yīng)用程序流程,如圖6所示。

[!--empirenews.page--]
    下面簡要介紹其實(shí)現(xiàn):
    (1)打開視頻設(shè)備,這里用int v41_open(char*,v41_device*)實(shí)現(xiàn)。
    (2)獲得設(shè)備信息的任務(wù),這里用extern int v41_get_capability(v41_device*)實(shí)現(xiàn)。函數(shù)有vd->capability和vd->picture兩個(gè)結(jié)構(gòu)體。capability主要包括設(shè)備名稱、支持的最大最小分辨率、信號(hào)源信息等。picture結(jié)構(gòu)包括了亮度,對(duì)比度,色深。及兩個(gè)函數(shù)中最主要的語句ioctl。對(duì)于ioctl的行為,它是由驅(qū)動(dòng)程序提供和定義的,在這里是由v41所定義,其中宏VIDIOCGCAP和VIDIOCGPICT的分別表示獲得視頻設(shè)備的capability和picture。
    運(yùn)用int v41_get_mbuf(v41_device*vd)函數(shù)。通過這個(gè)結(jié)函數(shù)可以獲得攝像頭可映射的設(shè)備存儲(chǔ)圖像的內(nèi)存大小、攝像頭可同時(shí)存儲(chǔ)的幀數(shù)、每一幀圖像的偏移量。
    (3)按需要更改設(shè)備的相應(yīng)設(shè)置,通過int v41_set_picture函數(shù)實(shí)現(xiàn)。其核心是v41為提供的ioctl相關(guān)調(diào)用,通過這個(gè)函數(shù)可以修改如亮度,對(duì)比度等相關(guān)的值。
    (4)獲得采集到的圖像數(shù)據(jù),通過extern int v41_grab_picture實(shí)現(xiàn)。先使用ioctl(fd,VIDIOCGMBUF,&grab_vm)函數(shù)獲得攝像頭存儲(chǔ)緩沖區(qū)的幀信息,之后修改voideo_mmap中的設(shè)置,例如重新設(shè)置圖像幀的垂直及水平分辨率、彩色顯示格式。其中vd->map所指向的數(shù)據(jù)就是圖像數(shù)據(jù)。
    采集其中的第一幀,使用ioctl(fd,VIDIOCMCAPTURE,&grab_buf)函數(shù),若調(diào)用成功,則激活設(shè)備真正開始一幀圖像的截取,是非阻塞的。接著使用ioctl(fd,VIDIOCSYNC,&frame)函數(shù)判斷該幀圖像是否截取完畢,成功返回表示截取完畢,之后就可把圖像數(shù)據(jù)寫入到Frame Buffer。
    然后利用grab_fd.frames值確定采集完畢攝像頭幀緩沖區(qū)幀數(shù)據(jù)進(jìn)行循環(huán)的次數(shù)。在循環(huán)語句中,也是使用VIDIOCMCCAPTURE? ioctl和VIDIOCSYNC?ioctl函數(shù)完成每幀截取,但要給采集到的每幀圖像賦地址,利用語句buf=grab_data+grab_vm.offsets[frame],然后保存文件的形式。若要繼續(xù)采集可再加一個(gè)外循環(huán),在外循環(huán)語句只要給原來的內(nèi)循環(huán)再賦frame=0即可。通過顯示屏把采集到的視頻圖像顯示出來。
    (5)關(guān)閉設(shè)備,int v41_close(v41_device*),主要是關(guān)閉設(shè)備,取消映射。

5 圖像采集效果
    將攝像頭插入到USB主機(jī)下行口,這時(shí)在終端上將打印以下信息:
    ov511.c:USB OV511+camera found
    ov511.c:Camera type(108)not recognized
    ov511.c:Please notify mmcclell@bigfoot.com of the name,
    ov511.c:manufacturer,model.a(chǎn)nd this number of your camera.
    ov511.C:Also include the output of the detection process.
    ov511.c:Sensor iS an OV7620
    ov511.c:Device registered on minor 0
    進(jìn)入到本實(shí)驗(yàn)程序所在文件夾,運(yùn)行本實(shí)驗(yàn)程序,觀察液晶屏的圖像效果:
    #/videodemo



6 結(jié)束語
    在ARM-Linux平臺(tái)上,通過使用Video4Linux的API函數(shù)從視頻設(shè)備中讀取圖像數(shù)據(jù),并對(duì)圖進(jìn)行了JPEG格式壓縮,再將數(shù)據(jù)進(jìn)行顯示處理,為后續(xù)的轉(zhuǎn)轍機(jī)缺口檢測的上傳功能實(shí)現(xiàn)奠定了基礎(chǔ)。系統(tǒng)若配合使用可靠的傳輸技術(shù)與先進(jìn)的上位機(jī)圖像處理系統(tǒng),將使轉(zhuǎn)轍機(jī)缺口監(jiān)測系統(tǒng)得以實(shí)現(xiàn)。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

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

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

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

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

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

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

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

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

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

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

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉