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