基于Linux的ARM9遠程客車監控系統
2.4 攝像頭模塊的選型與連接
考慮到無線網絡的帶寬限制和本系統的應用背景.文中采用了靜態圖像監控方式。選用的是網眼V2000攝像頭,它的成本低、成像速度快、圖片質量高,具有良好的通用性。其采用USB接口,不需要視頻卡,可即插即用,使用方便,圖像清晰連貫。其圖像傳感器和數字信號處理芯片為Omnivision公司的OV7620和OV511。
OV7620是一款高集成度、高分辨率的彩色圖像傳感器。其分辨率為640x480(30萬像素),傳輸速率可達30幀/秒。OV7620的控制采用SCCB(Serial Camera Control Bus)協議,可利用其SCCB(Serial Camera Control Bus)接口完成對它的有關設置和讀取圖像數據。OV511是攝像頭的主控芯片,其片內的高性能壓縮引擎可使圖像的壓縮比達到7:1,保證了從圖像傳感器到主控制器的快速圖像傳輸。
網眼V2000攝像頭通過其USB接口直接與CPU上集成的USB Host接口相連。
3 系統軟件設計
常見的嵌入式操作系統有Linux、WinCE、Vxworks等。Linux操作系統的源碼完全開放,由于其具有高效穩定、內核小、執行速度快,網絡資源豐富,可移植性好等優點,廣泛應用于嵌入式系統領域。因此,選擇嵌入式Linux操作系統作為本系統的軟件開發平臺。
在軟件設計上,首先需建立交叉編譯環境,用來編譯引導程序和Linux內核。然后完成引導程序Bootloader的移植;配置和編譯Linux內核;制作根文件系統以及編寫各外設與CPU間的接口驅動程序。最后,通過編寫上層應用程序完成GPS信息采集、圖像采集、GPRS傳輸等功能。下面具體介紹了幾個主要程序的設計思路。
3.1 圖像采集程序
在車載監控系統中,攝像頭網眼V2000是以ov511為主控芯片的攝像頭,它的驅動主要是要實現結構體相應函數功能。由于Linux內核自帶ov511驅動,所以不用再自己編寫攝像頭的驅動程序,只需在定制內核的時候選中即可。
當Linux系統正常啟動后,插上V2000攝像頭,如果成功加載驅動,將為攝像頭在/dev/v41/目錄下創建設備文件device0,上層應用程序即可通過此設備文件訪問攝像頭,實現拍攝圖像的功能。嵌入式系統平臺已搭建成功,要實現實時地獲取圖像,就需要利用V4L(Vidio For Linux)編程接口實現圖像采集程序了。考慮到攝像頭采集的640x480的RGB圖像數據量較大,這里用圖像壓縮函數put_image_jpeg將圖像轉化為JPEG格式,這樣存儲時就減少了占用的NandFlash空間,同時通過GPRS網絡回傳監控中心時,也減少了傳輸費用和確保傳送成功。
3.2 GPS解析程序
GPS接收機GPS15L輸出數據格式符合NMEA-0183標準。NMEA-0183協議是由美國國家海洋電子協會制定的一種串行通信的數據協議,所有輸入輸出信息均為一行ASCII字符。它的一條消息稱為語句(Sentenee),每條語句都以‘$’開始,以回車換行符(CR>LF>)結束,中間是用逗號分隔的若干個域。一條NMEA-0183語句包含以下5個部分:
起始符,固定字符‘$’,表示語句開始;
標識符域,表示一條語句的全部數據域的特定格式,長度可變;
數據域,包含各種類型的數據,各數據之間用逗號分隔,數據域可以為空,但用來分隔數據的逗號不可省略;
校驗和,以‘*’開始,由2個字符的十六進制數組成;
結束符,固定字符CR>LF>,表示語句結束。
NMEA-0183語句中最常見的幾種格式有GPGGA、GPRMC、GPGSV、GPVTG等,它們包含的信息不盡相同。本設計中采用的是GPGGA(Global Positioning System Fix Data)輸出語句,它包含了主要的GPS定位數據。
GPS信息解析程序流程圖如圖3所示。本文引用地址:http://www.104case.com/article/148903.htm
評論