基于攝像頭的路徑信息采集系統的簡易設計與實現
輸入捕捉:MC9S12DG128單片機的外部晶振為16MHz,,由于輸入捕捉寄存器為16 位,其計數值最大為65535,需要對系統時鐘進行分頻處理,設分配系數為a,其中
本文引用地址:http://www.j9360.com/article/82110.htma=2-n,(n=0,1,2…7) (1)
則分頻后的系統時鐘可由(2)式得,
f1=f0×a=16MHz×2-3=2MHz (2)
即最小單位為0.5μs,對應的跑道采集精度,遠處的分辨率為0.4cm,近處的為0.2cm ,完全符合路徑識別的要求。輸入捕捉的觸發方式設置成任意沿捕捉,這樣可以簡化硬件電路的設計。以,僅僅需要計算幾個沿變化之間輸入捕捉系統時鐘脈沖的個數,就能精準的反映當前的路徑信。對應圖2,BC段是黑線,DE段是同步頭,AB與CD段反映的是左右視場邊沿到黑線的距離,在后續處理中,可以利用這些信息方便的計算出跑道的曲率和斜率。由于黑色導引線的寬度是一定的,每行有效圖像掃描時間都約為59.3μs,根據這些信息就可以剔除明顯的壞點,增強系統得抗干擾能力。
軟件實現:為了節約系統時間,在編程中主要采用中斷處理,并且設置成上升沿觸發。在場中斷期間,先調用屏蔽場同步消隱子程序,把成像效果不好的部分濾除掉,隨后打開行中斷。當經過分頻后的行同步頭到來時,開始捕捉圖像信號的4個任意沿,在相應兩個沿之間,所捕捉到的系統時鐘脈沖個數就反映了當前的路徑信息。另外,為了消除偶然誤差的影響,在不降低系統速度測量精度的前提下,通過使用軟件上的循環隊列算法,保證了路徑信息的準確性。循環隊列的具體實現過程為:通過設置一個長度為L的隊列,每發生一次輸入捕捉中斷就進行一次入隊操作,由隊列“先進先出”的性質,即替換最先入隊數據,能夠保證將最新的刷新數據進行數據處理并進行控制,提高了控制的實時性。該系統部分軟件流程圖如圖8所示。
結語
若采用片內A/D采集,在最高時鐘頻率2MHZ的情況下,進行一次10位精度A/D轉換的時間為7μs。這樣,采集的圖像每行只有8個像素,圖像分辨率過低。如果采用超頻的手段來補償,又會降低系統的可靠性。而本文采集的圖像數據分辨率為128×64,每行有128個像素,并且分辨率留有進一步提高的余留量,軟件的編寫也比較簡單。但是該方法目前還不能區分圖像的灰度,是以后需要改進之處。
參考文獻:
1 邵貝貝, 單片機嵌入式應用的在線開發方法[M], 北京:清華大學出版社,2004.
2 王明順, 虛擬編碼器在智能車上的應用[J,
電子產品世界,2006 (12)
3 吳建輝,印制電路板的電磁兼容性設計[M],北京:國防工業出版社,2005
4 [美]Steven F.Barrett,Daniel J.Pack著,鄭扣根譯,嵌入式系統——使用68HC12和HCS12的設計與應用[M]. 北京:電子工業出版社,2006
5 卓晴等., 學做智能車[M]. 北京那個航空航天大學出版社,2007
比較器相關文章:比較器工作原理
評論