摘 要: 對空間動態(tài)信息捕捉系統(tǒng)的同步控制技術(shù)進(jìn)行了設(shè)計和研究,,利用電磁信號的發(fā)射和接收實現(xiàn)了無線同步控制。
關(guān)鍵詞: 單片機(jī) 線陣CCD 多點(diǎn)探測 同步控制
空間動態(tài)信息捕捉系統(tǒng)是實現(xiàn)活動目標(biāo)空間多點(diǎn)三維位置信息的獲取,、各信息的實時采集和傳輸?shù)脑O(shè)備,。目前常用的三維坐標(biāo)探測主要有機(jī)械式、聲學(xué)式,、電磁式和光學(xué)式,,其中以電磁式和光學(xué)式最為常見。本文研制的系統(tǒng)利用光電信號采集裝置,,探測安裝在目標(biāo)各個部位上的發(fā)光裝置,,將各個發(fā)光點(diǎn)的空間坐標(biāo)信息經(jīng)過采集、信號傳輸,、信息預(yù)處理后,,傳送到計算機(jī)再進(jìn)行處理。由于光具有不可穿透性,,為了保證在各個角度都能獲取每個發(fā)光點(diǎn)的信號,,分別在探測空間安裝了如圖1所示的四個采集設(shè)備,圖中模塊1~4表示四個接收設(shè)備,。
該系統(tǒng)由發(fā)光控制模塊,、采集設(shè)備,、數(shù)據(jù)傳輸轉(zhuǎn)接器和主控計算機(jī)等部分組成,。系統(tǒng)中,各個發(fā)光點(diǎn)是按順序分時工作的,,每個發(fā)光點(diǎn)在發(fā)光時必須保證各個采集模塊都能同時獲取信息,,否則各個點(diǎn)的位置信息會發(fā)生位置混亂,無法實現(xiàn)多采集模塊的信息融合,。因此各個點(diǎn)的發(fā)光時刻必須與多個采集模塊嚴(yán)格同步,。同步控制在該探測裝置的設(shè)計中是至關(guān)重要的,關(guān)系到坐標(biāo)數(shù)據(jù)的準(zhǔn)確,、穩(wěn)定,。
1 同步工作原理
本系統(tǒng)的采集設(shè)備和發(fā)光控制模塊是系統(tǒng)的核心組成部分。采集設(shè)備由四個采集模塊組成:一個主控采集模塊和三個輔采集模塊,。圖2是本文研制的一個采集模塊,,有三個探頭:左右二個探頭探測發(fā)光點(diǎn)的水平坐標(biāo),中間的探頭探測縱向坐標(biāo),。每個探測頭由一個線陣CCD實現(xiàn)數(shù)據(jù)采集,。線陣CCD的每一個掃描周期只能采集一個發(fā)光點(diǎn)數(shù)據(jù),。如果一個掃描周期內(nèi)采集二個以上的發(fā)光點(diǎn)數(shù)據(jù),就會出現(xiàn)數(shù)據(jù)重疊或位置混亂,,使得系統(tǒng)無法識別發(fā)光點(diǎn)原來的順序,。為了使系統(tǒng)能實現(xiàn)多點(diǎn)數(shù)據(jù)采集,而且不發(fā)生發(fā)光點(diǎn)順序混亂,,可采取由多個掃描周期組成一個完整的數(shù)據(jù)幀,,每個發(fā)光點(diǎn)按固定順序發(fā)光,每個掃描周期只采集一個對應(yīng)該周期發(fā)光的發(fā)光點(diǎn),。
當(dāng)系統(tǒng)工作時,,主控制采集模塊首先發(fā)射這個被測點(diǎn)的編碼信號,并啟動掃描電路采集信號,。當(dāng)發(fā)光模塊收到這個編碼信號時,,發(fā)光模塊的單片機(jī)就控制相應(yīng)編碼的發(fā)光點(diǎn)發(fā)光;同時,,輔采集模塊也收到這個編碼信號,,啟動掃描電路采集信號。主控制采集模塊依次地發(fā)射相應(yīng)發(fā)光點(diǎn)的編碼信號,,從而實現(xiàn)了多個采集模塊采集多點(diǎn)數(shù)據(jù),。
2 同步格式及時序設(shè)計
對于多點(diǎn)的探測實際是一種串行檢測,每一時刻只檢測一個點(diǎn),。檢測速度由探頭中線性CCD的掃描速度決定,,線陣CCD每掃描一次可以檢測到一個點(diǎn)的數(shù)據(jù)。為了實現(xiàn)虛擬環(huán)境中的實時動態(tài)效果,,要求對多點(diǎn)檢測的完整數(shù)據(jù)周期不大于40ms,,即每秒24幅畫面。因此對于所檢測空間點(diǎn)數(shù)的多少受線陣CCD掃描速度限制,。本文采用的線陣CCD掃描一次的時間是1.2ms,,因此最多檢測30個點(diǎn)就可以得到連續(xù)的畫面。對于人體運(yùn)動姿態(tài)建模,,在該項研究中需要26個點(diǎn)就可以進(jìn)行較好的描述,。因此該探測裝置可以25幅/s的檢測速度較好地進(jìn)行人體運(yùn)動姿態(tài)的空間三維數(shù)據(jù)采集。
該系統(tǒng)的同步控制主要包括主控采集模塊與人體攜帶的發(fā)光控制模塊之間和多個采集模塊之間的同步控制,。為了不影響表演者的行動,,被檢測的多點(diǎn)發(fā)光控制模塊與主控采集設(shè)備之間采用了無線同步控制。由于多個采集模塊之間距離較遠(yuǎn),,很難采用統(tǒng)一時鐘實現(xiàn)同步采集,,所以采集模塊之間采用串行編碼準(zhǔn)同步控制。各個采集模塊之間可以采用485接口或無線設(shè)備實現(xiàn)控制。采集設(shè)備與計算機(jī)之間通過USB接口實現(xiàn)數(shù)據(jù)通信,。設(shè)備接入既可以采用有線連接也可以使用無線USB連接,。若使用USB1.0有線接入并借助線驅(qū)動器,則可以實現(xiàn)15m的可靠數(shù)據(jù)傳輸,。其數(shù)據(jù)格式定義如下:(1)USB傳送數(shù)據(jù)格式,。USB傳送采用一個64字節(jié)和一個128字節(jié)的數(shù)據(jù)包實現(xiàn),實際傳送160個字節(jié),。第一個數(shù)據(jù)包傳60個字節(jié),,第二個數(shù)據(jù)包傳100個字節(jié)。每10個字節(jié)為一組,,含有2個數(shù)據(jù)點(diǎn),。一次最多傳送32個點(diǎn)坐標(biāo),每個點(diǎn)由3個數(shù)據(jù)組成,。(2)鎖存器數(shù)據(jù)格式,。鎖存器數(shù)據(jù)共有10個字節(jié),其中:前9個字節(jié)表示6個12位的數(shù)據(jù),,最后1個字節(jié)用其中的6位表示這6個數(shù)據(jù)的有效性,。(3)圖像數(shù)據(jù)幀格式。一個掃描周期約1.2ms,,每幀數(shù)據(jù)由29個掃描周期組成,。其中,第1和第2個周期為同步信息,,第3~28周期依次為接收到的位置信息及信號有效標(biāo)志,,第29周期為結(jié)束。每個數(shù)據(jù)由雙字節(jié)組成,,低位在前,,數(shù)據(jù)最高位為數(shù)據(jù)有效標(biāo)志(一幀共有26×3個數(shù)據(jù))。(4)控制時序,。系統(tǒng)同步控制主要包括三部分:①采集模塊三個線陣CCD掃描時序的同步,;②四個采集模塊之間的掃描同步,;③發(fā)光點(diǎn)發(fā)光時刻的同步,。實現(xiàn)同步的最好辦法是使用統(tǒng)一時鐘。但是,,一方面,,由于監(jiān)測對象與采集模塊之間無連線,所以無法使用統(tǒng)一時鐘,;另一方面,,各個采集模塊之間距離較遠(yuǎn),實現(xiàn)起來也比較困難。
通過分析發(fā)現(xiàn),,并不需要在時序,、相位上完全同步。只要滿足發(fā)光點(diǎn)在掃描周期內(nèi)發(fā)光,,不發(fā)生在相鄰的掃描周期內(nèi)就能滿足系統(tǒng)要求,。為保證每個數(shù)據(jù)幀的完整,每個數(shù)據(jù)幀設(shè)有一個同步字,。同時,,使線陣CCD實現(xiàn)可控的間斷掃描,但停頓時間盡可能短,,以保證線陣CCD增益的均衡,。
該系統(tǒng)工作時,其四個采集模塊和發(fā)光控制器同步動作,。其中一個采集模塊為主接收機(jī),,起主控制器作用;其他三個采集模塊為輔接收機(jī),,隨主接收機(jī)同步采集數(shù)據(jù),。同時,發(fā)光控制器按主接收機(jī)的時序控制發(fā)光點(diǎn)順序發(fā)光,。每幀數(shù)據(jù)由29個掃描周期組成,,每幀數(shù)據(jù)由一個同步字進(jìn)行控制,而且每個掃描周期由信號邊沿實現(xiàn)同步觸發(fā),。同步控制時序見圖3,,其中1~29表示線陣CCD的掃描周期。
3 硬件設(shè)計
采集設(shè)備的各個模塊采用基本相同的結(jié)構(gòu),,圖4是主控采集模塊的方框圖,,主控采集模塊與輔采集模塊之間只相差一個無線發(fā)射電路。傳感器使用線陣CCD,。線陣CCD的數(shù)據(jù)采集和掃描控制電路利用一片EPM7160和具有USB接口的單片機(jī)EZ-USB AN2131設(shè)計實現(xiàn),。EPM7160可以同時控制和采集三個線陣CCD。其工作過程是:單片機(jī)首先通過無線通道和有線通道發(fā)出同步控制脈沖編碼,,并啟動線陣CCD掃描電路,;發(fā)光點(diǎn)的數(shù)據(jù)被采集后,直接通過EPM7160內(nèi)的硬件鎖存器保存,;線陣CCD掃描周期結(jié)束時,,發(fā)出中斷信號給單片機(jī),由單片機(jī)讀取數(shù)據(jù),,然后發(fā)送下個同步控制脈沖編碼,,重新開始掃描。當(dāng)數(shù)據(jù)滿足一個完整數(shù)據(jù)幀時,單片機(jī)通過USB接口將數(shù)據(jù)傳送給主控計算機(jī),。
系統(tǒng)對于無線電磁波發(fā)射和接收電路要求可靠性高,、抗干擾性強(qiáng)、傳送速率大于20KHz,。由于采用金屬外殼,,需要外接天線匹配。
發(fā)光控制模塊采用單片機(jī)89C2051,,發(fā)光驅(qū)動電路選用ULN2003A,,無線接收電路使用標(biāo)準(zhǔn)的接收模塊。發(fā)光控制模塊接收到無線電編碼信號后,,由單片機(jī)進(jìn)行識別,,并控制相應(yīng)編碼點(diǎn)發(fā)光。該控制電路可控制32個發(fā)光點(diǎn),。
4 軟件設(shè)計
在硬件設(shè)計過程中,,為了開發(fā)方便,選用具有51指令集的單片機(jī),。使用Keilc51作為工具,,完成發(fā)光模塊和采集模塊的固件程序的開發(fā)。
發(fā)光模塊程序比較簡單,,采用匯編軟件實現(xiàn),。使用單片機(jī)串行口接收同步控制編碼,解碼后控制相應(yīng)發(fā)光點(diǎn)發(fā)光,。
在采集模塊控制程序中,,掃描周期長度是由硬件決定的,因此它采用實時性的外中斷方式進(jìn)行數(shù)據(jù)接收,。在中斷程序中每次讀取三個線陣CCD的6個數(shù)據(jù),,共9個字節(jié)。將接收到的字節(jié)存放在預(yù)先設(shè)定的USB緩沖區(qū)內(nèi),,當(dāng)接收到數(shù)據(jù)幀結(jié)束標(biāo)志后,,即發(fā)送數(shù)據(jù)給主控計算機(jī)。數(shù)據(jù)發(fā)送過程由AN2131的USB內(nèi)核自動完成,。
使用單片機(jī)串行口0實現(xiàn)同步控制,,設(shè)置單片機(jī)的串行口采用方式3通信;通信的數(shù)據(jù)格式為每幀11位,,包括1位起始位,、8位數(shù)據(jù)位,、1位奇偶校驗位和1位停止位,;片內(nèi)定時器T2作為波特率發(fā)生器,選擇傳送的波特率為9 600bps,定時器T2的初值應(yīng)設(shè)置為TL2=B2H,,TH2=FFH,。另外應(yīng)禁止定時器T2中斷,以免因定時器T2溢出而產(chǎn)生不必要的中斷,。定時器T1用來控制同步脈沖的寬度,,根據(jù)無線通信模塊性能對定時器T1進(jìn)行相應(yīng)的設(shè)置。采集模塊控制程序的流程如圖5所示,。
本文研制的空間動態(tài)信息捕捉系統(tǒng)按照線陣CCD的掃描時序同步控制四個采集模塊和發(fā)光控制模塊實現(xiàn)數(shù)據(jù)采集,。實驗證明,在區(qū)域為3m×6m時,,能夠可靠地實現(xiàn)數(shù)據(jù)幀同步采集,,每個掃描周期同步誤差小于20μs。采集26個點(diǎn)數(shù)據(jù)時,,其采集速度達(dá)到27幀/s以上,。
參考文獻(xiàn)
1 宋萬杰,羅豐,,吳順君.CPLD技術(shù)及其應(yīng)用.西安:西安電子科技大學(xué)出版社,,1999
2 王慶有.CCD應(yīng)用技術(shù).天津:天津大學(xué)出版社,2002