基于A(yíng)T89C52的多超聲信號融合處理系統設計
關(guān)鍵字:多通道;超聲測距;信息融合
1 引言
在移動(dòng)機器人超聲測距導航系統中,單一的超聲波傳感器因其發(fā)射角等固有的不足難以完成對環(huán)境的全面探測。因而在實(shí)踐中,常常用到大量的超聲傳感器陣列。
然而,專(zhuān)門(mén)針對這種情況設計的數據采集處理平臺卻很少。同時(shí),在遠距離測量時(shí),超聲回波信號很微弱并受到了較大噪聲干擾。在這種情況下,傳統的基于電路方法的超聲測距儀很難實(shí)現回波的提取,常常造成誤判。而已有的基于PC機的數據采集卡卻又帶來(lái)了便攜性和適用性差的問(wèn)題[1]。
本文介紹的基于單片機的數字信號采集處理系統,針對上述情況,采用了八通道設計以適合多超聲傳感器信號的采集,并引入了數字信號處理算法,通過(guò)對超聲回波信號的數字處理,可以精確地檢測回波,完成高精度測距的任務(wù)。另外基于該平臺進(jìn)行的多傳感器數據融合處理使得移動(dòng)機器人可以獲得更準確的環(huán)境信息,提高了環(huán)境感知的能力。
2 系統硬件電路設計
圖1 系統結構框圖
如圖1所示,系統的主要硬件組成包括:前端微弱信號調理模塊、A/D轉換模塊、微控制器模塊、存儲器模塊、串行通訊模塊以及擴展模塊等。多個(gè)超聲波換能器獲取的回波信號輸入系統后,經(jīng)過(guò)各自前端調理電路處理,采樣轉化為數字信號,然后存放至系統SRAM芯片中。AT89C52單片機從SRAM芯片中讀取數據并進(jìn)行回波提取處理以及多通道融合處理,最后根據需要將處理結果通過(guò)RS-232標準接口送往上位PC機。同時(shí),PC機的控制指令也可以通過(guò)該接口傳送給單片機。
2.1微弱信號調理電路
在一般情況下,超聲回波信號十分微弱,轉換電信號的幅值也較小,必須采用高增益的放大電路。同時(shí),復雜的工作環(huán)境又使得超聲回波信號中包含了較多的噪聲干擾。因此在設計調理電路時(shí),既要進(jìn)行信號的放大又要做適當的濾波處理。
由于系統要對多個(gè)超聲傳感器信號進(jìn)行同步處理,因而設計了八通道并行的調理電路。每一個(gè)通道如圖2所示。電路采用兩級AD公司的高性能、超低失調電壓運算放大器OP07串連實(shí)現信號的放大,并采用LM741芯片完成低通濾波處理。其中,在信號放大的第二級上設計了兩個(gè)精密電位器R5和R6,其功能分別用于放大倍數和零點(diǎn)漂移的調整,以適合信號的下一步處理。
圖2 微弱信號調理電路
超聲回波信號經(jīng)過(guò)調理電路后,八個(gè)輸出端(通道一至通道八)將依次連接到A/D轉換器的八個(gè)模擬信號輸入端,以完成信號的模數轉換處理。
2.2 A/D轉換電路
A/D轉換電路采用了MAXIM公司推出的8位8通道高速模數轉換芯片MAX158[2]。該芯片具有轉換速度快、功耗低、精度高等特點(diǎn)。每通道轉換時(shí)間僅為2.5μs,能夠滿(mǎn)足移動(dòng)機器人導航時(shí)實(shí)時(shí)信號處理的要求。
MAX158芯片的外部模擬信號輸入端AIN1-AIN8分別連接八路來(lái)自信號調理電路的超聲回波信號,DB0-DB7端為轉換結果的三態(tài)數據緩沖輸出端,連接AT89C52單片機的八位數據線(xiàn)。 端為片選信號輸入端,片選信號來(lái)自單片機的P1.4腳。REF+和REF-為參考電壓的正負極輸入端(分別對應全為1和全為0的輸出),連接 +5V標準電壓和GND。A0-A2端控制了芯片內部的多路開(kāi)關(guān)。MAX158根據這三個(gè)端口的輸入信號選擇通道,并對此通道模擬量進(jìn)行跟蹤和保持。
MAX158芯片提供了兩種不同的工作方式,即MODE0和MODE1。系統采用MODE1流水線(xiàn)讀數方式,工作時(shí)序如圖3所示:一個(gè)讀信號(置 端和
端為低電平)會(huì )啟動(dòng)一個(gè)新的轉換,并隨即取走上一次轉換的結果。兩個(gè)讀信號至少間隔2.5μs以保證數據的轉換和讀取。 端在
端或
端的上升沿轉為高電平,并在一次轉換過(guò)程結束時(shí)出現低電平。
2.3 微控制器模塊
系統采用的AT89C52型單片機內含8KB的Flash程序存儲器、256字節的RAM、具有32根I/O 線(xiàn)、3個(gè)可編程定時(shí)器[3]。相比其他類(lèi)型單片機而言,AT89C52單片機具有較多的片內資源, 既保證了數據處理代碼的存儲空間,又能夠在很少外圍電路的情況下構成功能完善的信號采集系統。系統部分電路連接如圖4所示。
圖4 系統部分電路連接圖
2.4 存儲器模塊
由于系統要實(shí)時(shí)采集多路傳感器信號,對數據存儲要求較大。因此我們選用了可存儲256K*8位信息的DCM8256芯片。DCM系列高速數據不揮發(fā)存儲器,具有體積小巧,讀/寫(xiě)速度快(小于100ns、可達50ns),讀/寫(xiě)方式簡(jiǎn)單的優(yōu)點(diǎn),可在-40℃-+85℃溫度下可靠工作,并且即使在有特殊干擾的情況下(如強磁場(chǎng)、電源急劇反復波動(dòng)等),也能達到萬(wàn)無(wú)一失保存數據的效果,因而十分適合移動(dòng)機器人野外作業(yè)的需要。
由于A(yíng)T89C52單片機的最大尋址空間為64K,而DCM8256的空間為256K,因而要對尋址進(jìn)行擴展。地址擴展的方式有兩種,一種方法是DCM8256的低16位地址直接與MPU的地址線(xiàn)相連,而高兩位地址由硬件邏輯實(shí)現;另一種方法是利用MPU的I/O口進(jìn)行擴展。第一種方法雖然占用I/O資源較少,但電路復雜,需要額外的硬件。系統采用第二種方法,如圖4右半部分所示,將DCM8256芯片的A16端和A17端分別連接到AT89C52單片機的P1.6端和P1.7端,片選信號接到P1.5端上。尋址操作可以通過(guò)簡(jiǎn)單的軟件編程來(lái)實(shí)現。
2.5 串口通訊模塊
在移動(dòng)機器人超聲測距導航系統中,超聲測距的結果要上傳至移動(dòng)機器人的主處理器,由其控制機器人采取相應的對策;主處理器也要發(fā)送指令控制超聲數據的采集和處理。因此單片機和主處理器之間的通訊是整個(gè)系統不可或缺的一個(gè)組成部分。
在我們的系統中,AT89C52單片機為下位機,移動(dòng)機器人主處理器為上位機,二者通過(guò)RS-232串行口接收或上傳數據和指令。在此,系統使用了集成電平轉換芯片MAX232來(lái)進(jìn)行RS232C/TTL 電平轉換。MAX232的引腳11和引腳12直接和AT89C52的TXD、RXD串行口連接,引腳13和引腳14與RS232連接[4]。
另外,由于超聲測距系統受環(huán)境因素影響較大,在測量時(shí)要考慮到環(huán)境溫度、自身速度等相關(guān)信息。對此系統額外采用了擴展模塊設計,在電路中集成了溫度、速度測量的電氣處理模塊,方便信息的綜合分析。
3 系統軟件設計
系統軟件主要由單片機處理軟件和PC機監控軟件兩部分組成。
3.1 單片機軟件設計
單片機軟件主要實(shí)現數據的采集和存儲、回波的數字處理以及串口通訊等功能。主流程框架如圖5所示。根據超聲波測距具有的周期性特點(diǎn),系統通過(guò)PC機設定單片機的采集周期。運行一次采集存儲子程序即完成一個(gè)周期的采集,然后系統調用數據處理子程序進(jìn)行回波信號的數字處理,并根據串口命令使用通訊子程序將結果發(fā)送至PC機。
圖5 單片機軟件主框架 圖6 采集存儲子程序流程
在采集存儲子程序中,每次模數轉換結束時(shí)對SRAM頻繁的開(kāi)關(guān)操作會(huì )占用系統很大的時(shí)空開(kāi)銷(xiāo),影響系統的實(shí)時(shí)性。對此,系統采用了增設緩沖區的方法。每次A/D轉換結束,數據被送往開(kāi)辟在單片機內部的緩沖區而不是立即寫(xiě)入外存。當八個(gè)通道采集完一輪后,再將緩沖區的內容一起寫(xiě)入外部存儲器(流程如圖6所示)。這樣,在保證采樣頻率一致的前提下有效的提高了系統的實(shí)時(shí)性。
3.2 PC機軟件設計
系統監控軟件使用VC++6.0語(yǔ)言開(kāi)發(fā),它的作用是通過(guò)串口命令控制單片機工作,并抽象硬件設計,為移動(dòng)機器人導航提供環(huán)境信息。
應用該軟件,可以實(shí)現PC機對單片機的參數及命令設定、數據查詢(xún)、數據存取以及曲線(xiàn)繪制等功能,并可以通過(guò)對數據的進(jìn)一步融合處理,實(shí)時(shí)獲取障礙物的距離、位置等信息,完成當前作業(yè)環(huán)境的建模,實(shí)現環(huán)境感知。軟件的運行界面如圖7所示。
4 小結
圖7 軟件運行界面
本系統專(zhuān)門(mén)針對移動(dòng)機器人導航時(shí)的多超聲傳感器信息融合應用而設計。經(jīng)實(shí)驗證明,系統簡(jiǎn)單實(shí)用、穩定可靠,完全達到設計目的。
本文作者創(chuàng )新點(diǎn):(1)結合移動(dòng)機器人多超聲測距的實(shí)際,設計了多通道的融合處理系統,軟硬件簡(jiǎn)單明了,工作可靠,特別適合多傳感器信息融合應用。(2)良好的噪聲抑制能力和較高的測量精度。由于超聲回波信號十分微弱并含有噪聲,S/N較小,抗干擾性不強。以往基于模擬電路設定閾值來(lái)判斷回波的做法往往會(huì )受到噪聲信號的干擾而造成誤判。本系統使用數字信號處理方法,將超聲回波數字處理,減少了誤判的概率,解決了高噪聲背景下的回波識別問(wèn)題,增加了系統的可靠性。(3)系統基于單片機設計,電路板設計合理緊湊,使得系統具有良好的便攜性,相比于基于PC機的數據采集卡更加適合移動(dòng)機器人應用。(4)良好的抗干擾能力。通過(guò)PCB 板上的一些設計及工控機箱來(lái)加強對電磁干擾、電壓擾動(dòng)的適應能力, 能夠適應惡劣的工作環(huán)境。
參考文獻:
[1]曹茂永,王霞.超聲測距數字信號采集系統[J].電測與儀表,2000,37(8):26-27
[2]MAXIM.CMOS High-Speed 8-Bit ADCs with Multiplexer and Reference MAX158[Z].1996
[3]王幸之,鐘愛(ài)琴等.AT89系列單片機原理與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社2004:20-21
[4]高澤利,李穎.六通道數據采集及處理系統的研制[J].微計算機信息,2005,21(9-1): 94-97
評論