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