基于S3C2410芯片Linux-Wlan-ng的移植和應(yīng)用
軟件通過(guò)Video4Linux編程接口對(duì)圖像或視頻數(shù)據(jù)進(jìn)行采集,并編寫相應(yīng)的網(wǎng)絡(luò)傳輸程序?qū)崿F(xiàn)遠(yuǎn)程傳輸圖像數(shù)據(jù)。Video4Linux是Linux中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動(dòng),它為針對(duì)視頻設(shè)備的應(yīng)用程序編程提供一系列接口函數(shù),這些視頻設(shè)備包括現(xiàn)今市場(chǎng)上流行的TV卡、視頻捕捉卡和USB攝像頭等。對(duì)于USB口攝像頭,其驅(qū)動(dòng)程序中需要提供基本的I/O操作接口函數(shù)open、read、write、close的實(shí)現(xiàn)。對(duì)中斷的處理實(shí)現(xiàn),內(nèi)存映射功能以及對(duì)I/O通道的控制接口函數(shù)ioctl的實(shí)現(xiàn)等,并把它們定義在struct file_operations中。本系統(tǒng)采用內(nèi)存映射法,即mmap()方式截取圖像或視頻數(shù)據(jù)。mmap()函數(shù)調(diào)用使得進(jìn)程之間通過(guò)映射同一個(gè)普通文件實(shí)現(xiàn)共享內(nèi)存。該映射內(nèi)容區(qū)可讀可寫并且不同進(jìn)程間可共享,不需要任何數(shù)據(jù)的拷貝。采集到圖像數(shù)據(jù)后,運(yùn)用網(wǎng)絡(luò)接口無(wú)線傳輸?shù)缴衔粰C(jī)或遠(yuǎn)程終端上進(jìn)行數(shù)據(jù)處理。上位機(jī)中涉及到的程序有:將YUV420P格式的數(shù)據(jù)轉(zhuǎn)換成RGB格式,提取Y,U和V分量值,將YUV格式的數(shù)據(jù)文件轉(zhuǎn)換成txt文件便于運(yùn)用Matlab仿真,測(cè)量加工零件的距離等(涉及到單目測(cè)距方法,在以后的論文中討論);套接口是網(wǎng)絡(luò)通信的基礎(chǔ),在Linux下定義的一些套接口的函數(shù)大致如下:對(duì)于一個(gè)簡(jiǎn)單TCP/IP服務(wù)器,其基本結(jié)構(gòu)如下所示:
①建立套接字函數(shù)socket();②綁定地址和端口函數(shù)bind();③建立套接口隊(duì)列函數(shù)listen();④接收連接函數(shù)accept();⑤處理連接函數(shù)read()/write();⑥關(guān)閉套接口close()。
與之對(duì)應(yīng)的客戶程序的基本結(jié)構(gòu)如下所示:
①建立套接字函數(shù)socket();②連接服務(wù)器connect();③處理連接函數(shù)write()/read ();④關(guān)閉套接口close();
運(yùn)用無(wú)線網(wǎng)絡(luò)傳回圖像數(shù)據(jù)恢復(fù)的圖片如圖5.1,5.2和5.3所示(僅提取Y分量即灰度圖,大小320X240,攝像頭和黑斑距離50CM,+X代表攝像頭向右移動(dòng)XCM):
本文引用地址:http://m.butianyuan.cn/article/152320.htm
6. 結(jié)束語(yǔ)
本文提出了一套基于嵌入式平臺(tái)(S3C2410芯片+Linux操作系統(tǒng))的圖像采集、無(wú)線傳輸和數(shù)控系統(tǒng)的設(shè)計(jì)和應(yīng)用。在嵌入式數(shù)控系統(tǒng)加工零件過(guò)程中,運(yùn)用圖像采集模塊和無(wú)線傳輸模塊獲取零件加工的過(guò)程,當(dāng)前狀態(tài)和精確測(cè)量。應(yīng)用結(jié)果證明:系統(tǒng)很好的完成了圖像采集和無(wú)線傳輸,得到的圖像清晰,采集的數(shù)據(jù)可用于圖像處理。特別是:平臺(tái)中無(wú)線傳輸模塊和數(shù)控制系統(tǒng)模塊的結(jié)合實(shí)現(xiàn)傳遞信息,共享資源;使得數(shù)控領(lǐng)域具有分布式,移動(dòng)性,微型化和智能化等特點(diǎn)。
評(píng)論