文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.172527
中文引用格式: 花明浩,楊凌輝. 光電掃描測量網(wǎng)絡(luò)信號采集模塊設(shè)計[J].電子技術(shù)應(yīng)用,,2018,,44(1):45-48.
英文引用格式: Hua Minghao,Yang Linghui. Design of signal acquisition module in optical scanning measurement network[J]. Application of Electronic Technique,,2018,,44(1):45-48.
0 引言
基于光電掃描的坐標(biāo)定位系統(tǒng)是近年來新興的一種坐標(biāo)測量方法,,具有精確度高,、不易受周圍環(huán)境干擾等優(yōu)點(diǎn),因此在日本尼康公司生產(chǎn)的室內(nèi)GPS(indoor GPS,,iGPS)設(shè)備,、天津大學(xué)精密測試技術(shù)及儀器實(shí)驗(yàn)室研發(fā)的工作空間測量定位系統(tǒng)(workspace Measuring and Positioning System,wMPS)中都得到了廣泛的應(yīng)用[1]。然而,,基于光電掃描的定位系統(tǒng)對光脈沖信息處理要求的實(shí)時性極高,,如何迅速并準(zhǔn)確地將光脈沖信息轉(zhuǎn)變?yōu)殡娒}沖信息,并從中獲得相應(yīng)光平面的信息,,對保證系統(tǒng)的定位精度有著極為重要的意義,。
本文基于Xilinx公司推出的Zynq-7000系列全可編程片上系統(tǒng),采用ARM+FPGA架構(gòu)的Zynq芯片,,提出了一種新型的將光平面信息檢測與區(qū)分的方法,,在FPGA中設(shè)計邏輯電路來實(shí)現(xiàn)對光平面的電脈沖信息捕獲與鎖存,并設(shè)計基于AXI總線協(xié)議的IP核,,以此來對光平面信息進(jìn)行高效的識別,、處理與傳輸。
1 wMPS基本原理及信號采集模塊架構(gòu)
1.1 wMPS工作基本原理
wMPS是一種新型的基于光電掃描的測量系統(tǒng),,其組成如圖1所示,。
發(fā)射站向四周發(fā)射兩束掃描光以及一束同步光,接收器接收到光脈沖的信息并將其轉(zhuǎn)變?yōu)殡娒}沖,,前端處理器接收電脈沖后將其按照周期進(jìn)行區(qū)分,,獲得其角度信息,并上傳給計算機(jī)最終完成坐標(biāo)解算[2],。
當(dāng)系統(tǒng)由兩臺及以上的發(fā)射站組成時,,則可以使用類似經(jīng)緯儀的測量原理來測量接收器在全局坐標(biāo)系下的坐標(biāo)[3]。其測量原理如圖3所示,。
當(dāng)空間內(nèi)某一處的接收器Rx:(x,,y,z)能同時接收到兩發(fā)射站Tx1以及Tx2的光信息時,,在計算出接收器在每個發(fā)射站坐標(biāo)系下的水平角α1,、α2與垂直角β1、β2后,,假設(shè)已知發(fā)射站的坐標(biāo)為Tx1:(0,,0,0)與Tx2:(x,,0,,0),則可通過如下公式計算接收器的坐標(biāo):
在大型測量網(wǎng)絡(luò)中,,接收器常常會同時接收多個發(fā)射站的光信息,其光脈沖示意圖如圖4所示,。為了利用光平面的信息解算出接收器的全局坐標(biāo),,前端處理器需要記錄每一個電脈沖上升沿和下降沿到來的時間,以脈沖寬度來區(qū)分出同步光信號與掃描光信號[4],最終精確求解接收器的全局坐標(biāo),。
1.2 前端處理器總體架構(gòu)
前端處理器是wMPS測量系統(tǒng)的最重要的組成部分,,它是系統(tǒng)安全、穩(wěn)定,、準(zhǔn)確運(yùn)轉(zhuǎn)的重要保證,。如何將來自大尺寸空間中發(fā)射站的光信息如實(shí)地記錄與準(zhǔn)確地區(qū)分,同時具有一定的擴(kuò)容能力,,對于整個wMPS系統(tǒng)是至關(guān)重要的,。
基于Zynq芯片的wMPS前端處理器主要由兩部分組成:可編程邏輯(Programmable Logic,PL)部分和作為ARM控制的處理系統(tǒng)(Processing System,,PS)部分,。它們之間通過AXI總線進(jìn)行通信,PL部分擅長做邏輯運(yùn)算以及并行性強(qiáng)的任務(wù),,而PS部分擅長做串行以及控制偏多的任務(wù)[5],。因此在PL中設(shè)計邏輯電路來實(shí)現(xiàn)信號的采集與存儲,而PS 部分則負(fù)責(zé)后續(xù)對光平面脈沖的分類與處理,,使得整個前端處理器的運(yùn)算效率達(dá)到最大,。基于Zynq的前端處理器架構(gòu)如圖5所示,。
2 信號采集模塊邏輯設(shè)計
在PL部分中的信號采集模塊劃分如下:
(1)光平面信息檢測與存儲部分,。當(dāng)光電接收單元接收到發(fā)射站的同步光信號和掃描光信號時,將轉(zhuǎn)化為相應(yīng)的電脈沖傳遞給PL部分,,PL部分通過3個狀態(tài)機(jī)將相應(yīng)脈沖的上升沿,、下降沿以及對應(yīng)的時間記錄,并傳給FIFO進(jìn)行保存,。
(2)光平面信息傳輸接口部分,。光平面的信息存儲在FIFO邏輯電路中,而PL部分與PS部分的通信基于AXI總線協(xié)議,,因此需要設(shè)計相應(yīng)的邏輯電路來實(shí)現(xiàn)信息的讀取與傳輸,。
IP核是具有知識產(chǎn)權(quán)的集成電路芯核,是經(jīng)過反復(fù)驗(yàn)證的具有特定功能的模塊,,與芯片制造工藝無關(guān),,可移植到不同的半導(dǎo)體工藝中。Xilinx公司提供了許多免費(fèi)且功能強(qiáng)大的IP核給開發(fā)人員使用,。在wMPS前端處理的PL部分設(shè)計中,,也采用了許多Xilinx提供的IP核,這使得開發(fā)流程簡潔許多,,并且正確性與可靠性得到了保證,。其中測量同步控制模塊采用Xilinx提供的基于AXI總線的GPIO模塊,,計數(shù)器采用Xilinx的二進(jìn)制模塊,以及與上位機(jī)交互的通信模塊,。因此關(guān)于這些部分本文不再進(jìn)行討論,,主要討論信號捕捉與計時存儲模塊以及基于AXI總線的FIFO接口模塊的IP核設(shè)計。
2.1 信號捕捉與計時存儲模塊
wMPS前端處理器PL部分最核心的工作就是對來自接收器的電脈沖進(jìn)行捕捉以及鎖存時間值,,其主要邏輯結(jié)構(gòu)如圖6所示,。通過3個協(xié)同工作的狀態(tài)機(jī)來分別完成捕捉邊沿信號、產(chǎn)生標(biāo)志位以及鎖存時間值3個任務(wù),。
圖7所示為捕捉邊沿信號的狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換圖,。狀態(tài)機(jī)緩沖來自接收器的電脈沖信號,輸出Trig與Trig_n,。Trig_En初始時為0,,進(jìn)入IDLE狀態(tài)。當(dāng)開始測量時,,Trig_En被置1,,此時若輸入為0(IN=0),則進(jìn)入REDY狀態(tài),。當(dāng)IN為1時,,進(jìn)入上升沿狀態(tài)(POSEDGE_IN),Trig置1,。一個時鐘周期后將Trig信號再拉低,,進(jìn)入等待(DELAY)狀態(tài)。等到IN為0時,,再進(jìn)入下降沿狀態(tài)(NEGEDGE_IN),,此時將Trig_n拉高一個周期。再根據(jù)輸入IN的狀態(tài)進(jìn)行判斷進(jìn)入空閑狀態(tài)(IDLE)還是上升沿狀態(tài)(POSEDGE_IN),。
圖8所示為脈沖捕捉計時狀態(tài)機(jī)轉(zhuǎn)換圖,,包含空閑(IDLE)、等待(WAIT),、捕捉(CAPT)3種狀態(tài),。當(dāng)脈沖捕捉狀態(tài)機(jī)沒有接收到PS部分指令時,處于空閑狀態(tài),;當(dāng)收到來自PS部分指令后,,且脈沖捕捉狀態(tài)機(jī)處于非復(fù)位狀態(tài)時,跳轉(zhuǎn)至等待狀態(tài),;當(dāng)Trig或者Trig_n輸出有一個為1時,,進(jìn)行信號捕捉,將FIFO寫使能信號置1,,同時將30位計數(shù)器的時間值記錄下來,,TP_Capt為計數(shù)器捕捉瞬間的時間值,,將其寫入FIFO存儲。在工作狀態(tài)下(Trig_En=1&&Rst_n=1),,每次時鐘上升沿到來時,若是Trig或Trig_n中有一個信號有輸入,,則捕獲信號觸發(fā)的時間值(30位),,并寫入FIFO,否則處于等待期間,。
圖9為事件捕捉狀態(tài)機(jī)轉(zhuǎn)換圖,,包含空閑(IDLE)、等待(WAIT),、上升沿(RIS),、延遲(DELAY)、下降沿(FAL)沿5種狀態(tài),。當(dāng)接收到PS指令后,,從空閑狀態(tài)跳轉(zhuǎn)至等待狀態(tài),TP_Type保持上一狀態(tài)的信號,。當(dāng)來自邊沿信號捕捉狀態(tài)機(jī)的輸出Trig為1時,,進(jìn)入RIS狀態(tài),TP_Type被標(biāo)記為上升沿(01),。下一時鐘周期到來時對Trig_n的信號進(jìn)行判斷,,若為1,則TP_Type被標(biāo)記為下降沿(10),;否則TP_Type保持住,,直到Trig_n信號為1時再標(biāo)記為下降沿。而當(dāng)狀態(tài)機(jī)位于下降沿狀態(tài)時,,若下個周期Trig信號為1,,則跳轉(zhuǎn)回上升沿狀態(tài),TP_Type改變相應(yīng)標(biāo)記,;否則狀態(tài)機(jī)跳轉(zhuǎn)回等待狀態(tài),,TP_Type繼續(xù)保持上一狀態(tài)。
2.2 基于AXI總線的FIFO接口模塊設(shè)計
為提高wMPS前端處理器的工作效率,,本文基于AXI總線通信協(xié)議,,定制FIFO的接口模塊,利用硬件邏輯控制讀取工作,,縮短讀取時間來提高系統(tǒng)的工作效率,。
圖10為FIFO接口模塊的內(nèi)部結(jié)構(gòu),它包括以下幾部分:FIFO讀取邏輯,、AXI總線接口以及多個控制寄存器,。其中AXI總線接口是Xilinx公司提供的標(biāo)準(zhǔn)通信協(xié)議,,該模塊在AXI總線與用戶邏輯之間提供雙向的接口[6]。模塊中有3個寄存器,,其中寄存器0用來從AXI總線上接收指令,,寄存器1與寄存器2分別用來存儲FIFO存儲的數(shù)據(jù)與FIFO的標(biāo)志位數(shù)據(jù)。使用這樣的方式讀取FIFO中的數(shù)據(jù),,僅需2個時鐘周期即可完成,,極大地提高了前端處理器的工作效率。
3 wMPS前端處理器PL部分邏輯仿真
為了驗(yàn)證前端處理器PL部分的邏輯功能的完整性與可靠性,,分別對設(shè)計的信號捕捉與計時存儲模塊以及基于AXI總線的FIFO接口模塊進(jìn)行仿真驗(yàn)證,。
3.1 信號捕捉與計時存儲模塊仿真
使用Vivado提供的仿真器,輸入信號為隨機(jī)產(chǎn)生的寬度隨機(jī)的脈沖信號,,觀察dout中讀出的數(shù)據(jù)以及相應(yīng)的FIFO標(biāo)志位,,驗(yàn)證設(shè)計的正確性。仿真波形如圖11所示,。
由圖11可以清晰地觀察到,,輸出的數(shù)據(jù)dout以及FIFO的標(biāo)志位FIFO_Flag均在兩個時鐘周期后跳轉(zhuǎn),即系統(tǒng)的延遲僅僅為兩個時鐘周期,,滿足設(shè)計需求,。
3.2 FIFO接口模塊仿真
由于FIFO接口模塊為基于AXI總線定制,若是直接仿真,,不易滿足時序要求,,因此使用Xilinx的ISE,利用總線仿真模型(Bus Function Model,,BFM)對FIFO接口模塊進(jìn)行仿真,,通過FIFO端口寫入數(shù)據(jù), 并從寄存器中讀取并觀察輸出信號,?;贐FM的FIFO接口模塊仿真如圖12所示,可以觀察到,,用戶IP可以正確輸出讀FIFO時序,,兩個周期就可以讀出FIFO中的內(nèi)容。因此從接收器檢測到脈沖信號到PS部分讀取電脈沖信息,,僅需4個時鐘周期,,延遲極小,滿足系統(tǒng)應(yīng)用要求,。
4 結(jié)論
本文提出了一種新型的將電脈沖信息檢測并區(qū)分的方法,,基于Zynq芯片解決了室內(nèi)定位系統(tǒng)中光脈沖信號難以區(qū)分的難題。仿真驗(yàn)證表明,,該設(shè)計的時鐘延遲極小,,具有很高的精度,,可以滿足現(xiàn)有wMPS系統(tǒng)對測量精度的要求,同時在其余基于光電掃描的室內(nèi)定位系統(tǒng)中應(yīng)用前景極高,。
參考文獻(xiàn)
[1] 端木瓊,,楊學(xué)友,邾繼貴,,等.基于光電掃描的三維坐標(biāo)測量系統(tǒng)[J].紅外與激光工程,,2011,40(10):23-24.
[2] 張冀,,楊學(xué)友.基于物聯(lián)網(wǎng)技術(shù)的wMPS發(fā)射站控制系統(tǒng)[J].計算機(jī)測量與控制,2014,,22(10):3174-3175.
[3] 李廣云.非正交系坐標(biāo)測量系統(tǒng)原理及進(jìn)展[J].測繪信息與工程,,2003,28(1):2097-2098.
[4] 楊凌輝.基于光電掃描的大尺度空間坐標(biāo)測量定位技術(shù)研究[D].天津:天津大學(xué),,2010.
[5] 韓德強(qiáng),,楊利平,王宗俠.基于Zynq-7000的寬幅視頻處理系統(tǒng)設(shè)計與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,,2016,,42(6):59- 62,66.
[6] 何斌,,張艷輝.Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計與實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,,2016.