基于ARM和FPGA的智能小車監(jiān)控系統(tǒng)
3.2 速度采集程序設(shè)計
速度傳感器由紅外反射式傳感器和施密特觸發(fā)器組成,經(jīng)過施密特觸發(fā)器整形后信號的頻率與速度相關(guān),通過測量該信號頻率計算車模行駛速度。在Windows CE中,API函數(shù)SetTimer()可以設(shè)置定時器編號和定時時間,當(dāng)定時時間到達(dá)時,執(zhí)行消息響應(yīng)函數(shù)OnTimer。速度采集流程如圖7所示。調(diào)用SetTimer函數(shù)設(shè)置定時器初值,當(dāng)外部中斷EINT_19產(chǎn)生時,即一個脈沖信號到來,計數(shù)變量CNT加1,當(dāng)SetTimer()函數(shù)設(shè)置的時間到來時,執(zhí)行OnTimer()函數(shù),該函數(shù)負(fù)責(zé)計算車模速度并將計數(shù)變量CNT清0。本文引用地址:http://butianyuan.cn/article/151426.htm
計數(shù)變量CNT雖然與速度成正比關(guān)系,但它并不是真正的行駛速度,需要經(jīng)過一定的數(shù)學(xué)轉(zhuǎn)換,才能傳送到遠(yuǎn)程監(jiān)控端并顯示。假設(shè)車模后輪直徑為D,光柵編碼盤黑白相間的個數(shù)為M,在定時時間T秒內(nèi)記得脈沖個數(shù)為N,則車模行駛速度:
3.3 網(wǎng)絡(luò)傳輸程序設(shè)計
該系統(tǒng)網(wǎng)絡(luò)傳輸程序是基于TCP協(xié)議來實現(xiàn)的。S3C2440A組成的嵌入式設(shè)備作為服務(wù)器負(fù)責(zé)圖像采集、速度采集、車模控制。服務(wù)器調(diào)用accept()函數(shù)等待客戶端的連接請求,服務(wù)器端接收該連接請求后,雙方就此建立了連接。客戶端通過send()發(fā)送請求命令,服務(wù)器調(diào)用recv()函數(shù)接收該請求命令,通過命令解析來執(zhí)行具體的操作,若收到圖像采集命令,服務(wù)器端打開攝像頭驅(qū)動,設(shè)置圖像像素大小后,將采集到Y(jié)CbCr數(shù)據(jù)進(jìn)行JPEG的壓縮并保存為.jpg格式的圖片。然后將該圖片發(fā)送到客戶端,客戶端將該圖片在圖像顯示區(qū)域顯示;若收到速度采集命令,服務(wù)器端打開定時器,打開外部中斷EINT19,用于計數(shù),當(dāng)定時時間到后,將計數(shù)脈沖轉(zhuǎn)換為以cm/s為單位的速度發(fā)送到客戶端,客戶端將采集到速度在速度顯示區(qū)顯示;若收到控制車模運行狀態(tài),如前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn),服務(wù)器端打開GPIO驅(qū)動,通過GPIO端口輸出控制信號,控制FPGA輸出占空比可調(diào)的PWM信號,即可控制車模的運行狀態(tài)。
客戶端負(fù)責(zé)發(fā)送控制車模、圖像采集、速度采集的命令,然后將服務(wù)器端發(fā)送過來的圖像、速度信息進(jìn)行顯示??蛻舳说谋O(jiān)控界面如圖8所示。
遠(yuǎn)程地址欄輸入服務(wù)端IP地址,點擊“創(chuàng)建連接”按鈕即可和服務(wù)器端進(jìn)行連接,連接成功后,就可以進(jìn)行一系列的命令發(fā)送。
4 結(jié)語
該設(shè)計在自制電路板板上進(jìn)行了軟、硬件的系統(tǒng)集成及測試。測試結(jié)果為:圖像采集時鐘24 MHz;圖像采集速度為30 f/s;行同步頻率為14.5 kHz,圖像采集像素為640×480;JPEG壓縮比達(dá)到10:1;運動控制命令響應(yīng)時間為5μs,網(wǎng)絡(luò)傳輸速率達(dá)10 Mb/s。
評論