基于嵌入式Linux圖像采集恢復和應用
1.引言
隨著(zhù)后PC時(shí)代的到來(lái)和嵌入式的蓬勃發(fā)展,運用嵌入式系統實(shí)現遠程數據采集已成為社會(huì )需求的趨勢。本文采用嵌入式系統采集圖像數據實(shí)現加工零件的遠程測量,代替傳統的人工檢測。其特點(diǎn)有:網(wǎng)絡(luò )化,準確性高,節約人力和物力。
2.系統軟硬件平臺
由于嵌入式設備資源有限,所以在開(kāi)發(fā)嵌入式系統的軟件部分需要在宿主機平臺上實(shí)現,運用宿主機的資源編譯目標機平臺上可運行的軟件。本文系統的宿主機平臺:Redhat 9.0,交叉編譯環(huán)境:ARM-Linux-Gcc;目標機平臺:UBOOT 1.1,Linux 2.4.18 和YAFFS 根文件系統。
系統硬件平臺的處理器采用 Samsung 公司的集成有ARM920T 內核的處理器S3C2410,該處理器資源豐富,具有16KB 的指令Cache 和16KB 數據Cache、MMU 虛擬存儲器管理器、LCD 控制器、支持NAND Flash 系統引導,RAM 控制器、3 通道UART、4 通道DMA、4通道帶PWM 定時(shí)器、RTC、并行I/O 口、8 通道10 位ADC、觸摸屏接口、IIC 接口、IIS接口、2 個(gè)USB 接口控制器、2 通道SPI 及內部PLL 時(shí)鐘倍頻器,主頻最高可達203MHz。此外,在處理器豐富資源的基礎上還進(jìn)行了相關(guān)的配置和擴展,配置了64MB 的Flash 和64MB 的SDRAM,并引出了兩個(gè)HOST USB 接口。在USB 接口上外接帶USB 口的攝像頭Webeye V 2000。嵌入式Linux 操作系統上建立圖像采集和圖像恢復兩個(gè)軟件模塊。開(kāi)發(fā)板擁有CS8900A-CQ3 芯片,具有10~100M 自適應的網(wǎng)絡(luò )通信能力。通過(guò)它實(shí)現圖像數據的遠程傳輸。整個(gè)系統的硬件概圖如圖1 所示:
圖1 系統硬件結構圖
3.RGB數據流的采集
Webeye V 2000攝像頭內部擁有ov7620、ov511和一個(gè)存儲芯片。由于Linux操作系統中嵌有ov511芯片的驅動(dòng),故在編譯Linux操作系統時(shí)需要加載ov511驅動(dòng),主要步驟:
?、?*)選擇Multimedia device->下的Video for linux。加載video4linux模塊,提供了編程接口;
?、谠趗sb support->目錄下(*)選擇support for usb和usb camera ov511 support。加入了對采用ov511接口芯片的USB數字攝像頭的驅動(dòng)支持。
在嵌入式Linux操作系統平臺上驅動(dòng)攝像頭,通過(guò)Video4Linux接口控制攝像頭參數、圖片的格式和窗口大小等等。Video4Linux是Linux中關(guān)于視頻設備的內核驅動(dòng),它為針對視頻設備的應用程序編程提供一系列接口函數。USB口攝像頭驅動(dòng)程序中需要提供基本的I/O操作接口函數open、read、write、close的實(shí)現。對中斷的處理實(shí)現,內存映射功能以及對I/O通道的控制接口函數ioctl的實(shí)現等,并把它們定義在struct file_operations中。本系統采用內存映射法,即mmap()方式截取圖像或視頻數據。mmap()函數調用使得進(jìn)程之間通過(guò)映射同一個(gè)普通文件實(shí)現共享內存。該映射內容區可讀可寫(xiě)并且不同進(jìn)程間可共享,不需要任何數據的拷貝。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論