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