基于Linux的ARM9遠程客車監(jiān)控系統(tǒng)
2.4 攝像頭模塊的選型與連接
考慮到無線網絡的帶寬限制和本系統(tǒng)的應用背景.文中采用了靜態(tài)圖像監(jiān)控方式。選用的是網眼V2000攝像頭,它的成本低、成像速度快、圖片質量高,具有良好的通用性。其采用USB接口,不需要視頻卡,可即插即用,使用方便,圖像清晰連貫。其圖像傳感器和數字信號處理芯片為Omnivision公司的OV7620和OV511。
OV7620是一款高集成度、高分辨率的彩色圖像傳感器。其分辨率為640x480(30萬像素),傳輸速率可達30幀/秒。OV7620的控制采用SCCB(Serial Camera Control Bus)協(xié)議,可利用其SCCB(Serial Camera Control Bus)接口完成對它的有關設置和讀取圖像數據。OV511是攝像頭的主控芯片,其片內的高性能壓縮引擎可使圖像的壓縮比達到7:1,保證了從圖像傳感器到主控制器的快速圖像傳輸。
網眼V2000攝像頭通過其USB接口直接與CPU上集成的USB Host接口相連。
3 系統(tǒng)軟件設計
常見的嵌入式操作系統(tǒng)有Linux、WinCE、Vxworks等。Linux操作系統(tǒng)的源碼完全開放,由于其具有高效穩(wěn)定、內核小、執(zhí)行速度快,網絡資源豐富,可移植性好等優(yōu)點,廣泛應用于嵌入式系統(tǒng)領域。因此,選擇嵌入式Linux操作系統(tǒng)作為本系統(tǒng)的軟件開發(fā)平臺。
在軟件設計上,首先需建立交叉編譯環(huán)境,用來編譯引導程序和Linux內核。然后完成引導程序Bootloader的移植;配置和編譯Linux內核;制作根文件系統(tǒng)以及編寫各外設與CPU間的接口驅動程序。最后,通過編寫上層應用程序完成GPS信息采集、圖像采集、GPRS傳輸等功能。下面具體介紹了幾個主要程序的設計思路。
3.1 圖像采集程序
在車載監(jiān)控系統(tǒng)中,攝像頭網眼V2000是以ov511為主控芯片的攝像頭,它的驅動主要是要實現結構體相應函數功能。由于Linux內核自帶ov511驅動,所以不用再自己編寫攝像頭的驅動程序,只需在定制內核的時候選中即可。
當Linux系統(tǒng)正常啟動后,插上V2000攝像頭,如果成功加載驅動,將為攝像頭在/dev/v41/目錄下創(chuàng)建設備文件device0,上層應用程序即可通過此設備文件訪問攝像頭,實現拍攝圖像的功能。嵌入式系統(tǒng)平臺已搭建成功,要實現實時地獲取圖像,就需要利用V4L(Vidio For Linux)編程接口實現圖像采集程序了??紤]到攝像頭采集的640x480的RGB圖像數據量較大,這里用圖像壓縮函數put_image_jpeg將圖像轉化為JPEG格式,這樣存儲時就減少了占用的NandFlash空間,同時通過GPRS網絡回傳監(jiān)控中心時,也減少了傳輸費用和確保傳送成功。
3.2 GPS解析程序
GPS接收機GPS15L輸出數據格式符合NMEA-0183標準。NMEA-0183協(xié)議是由美國國家海洋電子協(xié)會制定的一種串行通信的數據協(xié)議,所有輸入輸出信息均為一行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://cafeforensic.com/article/148903.htm linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論