王洪娟,邢柏強(qiáng),劉 巖,關(guān)正坤
(首都航天機(jī)械公司,北京,100076)
基于BISS C模式編碼器數(shù)據(jù)采集及顯示系統(tǒng)設(shè)計(jì)
王洪娟,邢柏強(qiáng),劉 巖,關(guān)正坤
(首都航天機(jī)械公司,北京,100076)
為得到正確的轉(zhuǎn)臺(tái)方位值和俯仰值,針對(duì)絕對(duì)式軸角柵編碼器設(shè)計(jì)了基于BISS C模式的編碼器數(shù)據(jù)采集及顯示系統(tǒng)。采用DSP+FPGA為核心的硬件結(jié)構(gòu),DSP通過GPIO實(shí)現(xiàn)編碼器數(shù)據(jù)的控制和數(shù)據(jù)接收并計(jì)算角度值;FPGA實(shí)現(xiàn)整體的邏輯控制及時(shí)序配置。BISS C模式編碼器數(shù)據(jù)采集及顯示系統(tǒng)能夠正確的采集圓光柵編碼器的角度值并將其顯示,與編碼器數(shù)據(jù)交換周期最高可達(dá)到40 μs,MA時(shí)鐘頻率最高10 MHz,數(shù)據(jù)延遲最大42.5 ns。試驗(yàn)中數(shù)據(jù)交換周期為100 μs,MA時(shí)鐘2 MHz,MA高電平采集SLO數(shù)據(jù),顯示頻率為50 Hz。試驗(yàn)證明,系統(tǒng)接收及顯示數(shù)據(jù)正確,工作狀態(tài)穩(wěn)定、良好。
BISS C模式;編碼器;數(shù)據(jù)采集
目前絕對(duì)式軸角編碼器是常用于光電跟蹤設(shè)備中的測(cè)角元件,用于測(cè)量跟蹤目標(biāo)的方位值和俯仰值[1]。絕對(duì)式軸角編碼器采用串行接口與數(shù)據(jù)接收系統(tǒng)交換數(shù)據(jù),數(shù)據(jù)格式為BISS C模式。針對(duì)絕對(duì)式軸角編碼器,設(shè)計(jì)了基于BISS C模式的編碼器采集及顯示系統(tǒng)(以下簡(jiǎn)稱BISS C編碼器采顯系統(tǒng))[2]。BISS C編碼器采顯系統(tǒng)可以廣泛應(yīng)用于光電跟蹤設(shè)備中,實(shí)時(shí)與軸角編碼器進(jìn)行數(shù)據(jù)交換[3];采用FPGA+DSP的模式對(duì)接收數(shù)據(jù)進(jìn)行編譯和校驗(yàn)并根據(jù)約定的數(shù)據(jù)格式將數(shù)據(jù)傳輸給其他分系統(tǒng),同時(shí)以“度/分/秒”格式將測(cè)角值直觀顯示在液晶屏上,便于觀測(cè)和調(diào)試。BISS C編碼器采顯系統(tǒng)已在工程實(shí)踐中得到應(yīng)用,數(shù)據(jù)采集穩(wěn)定、顯示直觀。實(shí)踐證明:BISS C編碼器采顯系統(tǒng)可以正確地與編碼器進(jìn)行數(shù)據(jù)交換并實(shí)時(shí)顯示目標(biāo)的方位值和俯仰值,工作穩(wěn)定,具有較強(qiáng)的工程實(shí)踐意義。
1.1 系統(tǒng)設(shè)計(jì)
根據(jù)BISS C協(xié)議的內(nèi)容,設(shè)計(jì)絕對(duì)式圓光柵編碼器數(shù)據(jù)接收及顯示板卡,采用DSP+FPGA的硬件結(jié)構(gòu)模式,編程實(shí)現(xiàn)與圓光柵之間的數(shù)據(jù)交換,對(duì)接收的二進(jìn)制碼進(jìn)行編譯和處理,以“度/分/秒”形式將目標(biāo)的方位值和俯仰值顯示在液晶顯示屏上[4]。如圖1所示,BISS C編碼器采顯系統(tǒng)主要包括圓光柵編碼器、數(shù)據(jù)接收及顯示系統(tǒng)和1個(gè)觸摸式液晶顯示屏。
圖1 BISS C編碼器采顯系統(tǒng)整體結(jié)構(gòu)
由圖1可知,BISS C編碼器采顯系統(tǒng)作為主設(shè)備,圓光柵編碼器作為從設(shè)備,主設(shè)備為從設(shè)備供電并提供位置采集請(qǐng)求和時(shí)序信息MA,從設(shè)備編碼器接收到MA信號(hào)后,向主設(shè)備提供與MA時(shí)鐘信號(hào)同步的位置采集數(shù)據(jù)SLO。另外,主設(shè)備還通過串行通訊接口,編程實(shí)現(xiàn)對(duì)液晶顯示屏的控制及數(shù)據(jù)輸出,實(shí)時(shí)在液晶顯示屏顯示目標(biāo)的方位值和俯仰值[5]。
1.2 軟件設(shè)計(jì)
BISS C編碼器采顯系統(tǒng)的軟件設(shè)計(jì)分為FPGA程序設(shè)計(jì)和DSP程序設(shè)計(jì)2部分。FPGA主要實(shí)現(xiàn)邏輯控制、復(fù)位及中斷處理等功能;DSP主要實(shí)現(xiàn)編碼器數(shù)據(jù)的接收與處理及液晶顯示等功能[6]。圖2和圖3分別為FPGA和DSP的主程序流程示意。
圖2 FPGA程序流程
由圖2可知,F(xiàn)PGA程序先定義輸入、輸出信號(hào),然后根據(jù)外部復(fù)位芯片MAX706的輸出為整個(gè)系統(tǒng)提供復(fù)位信號(hào),由FPGA與DSP進(jìn)行雙向數(shù)據(jù)交換,最快以40 μs為周期,將DSP發(fā)出的MA信息提供給編碼器,將編碼器按BISS C協(xié)議輸出的SLO數(shù)據(jù)提供給DSP[7]。另外,F(xiàn)PGA提供所有外圍芯片的邏輯控制信號(hào)并為DSP提供中斷信號(hào)。
圖3 DSP主程序流程
由3可知,DSP程序開始首先進(jìn)行初始化,接著主程序開始,DSP按照中斷最快以40 μs為周期進(jìn)行數(shù)據(jù)交換和處理,通過GPIO發(fā)送MA信息,在MA高電平期間接收SLO數(shù)據(jù),寄存器存儲(chǔ)SLO數(shù)據(jù)并根據(jù)BISS C協(xié)議找到幀數(shù)據(jù)開始位置并置標(biāo)志位,接著將接收到的二進(jìn)制數(shù)據(jù)進(jìn)行計(jì)算并轉(zhuǎn)換,以“度/分/秒”形式進(jìn)行輸出并顯示在液晶顯示屏的相應(yīng)位置。
對(duì)BISS C編碼器采顯系統(tǒng)進(jìn)行試驗(yàn),采用絕對(duì)式圓光柵編碼器采集轉(zhuǎn)臺(tái)的方位值和俯仰值并在液晶顯示屏上顯示角度值[8]。試驗(yàn)原理如圖4所示。
圖4 數(shù)據(jù)接收及顯示試驗(yàn)
試驗(yàn)中,圓光柵編碼器安裝于可做方位和俯仰旋轉(zhuǎn)運(yùn)動(dòng)的轉(zhuǎn)臺(tái)上,數(shù)據(jù)接收及顯示板卡接收其輸出數(shù)據(jù)并顯示,二者之間最快以40 μs為周期進(jìn)行數(shù)據(jù)交換。試驗(yàn)中MA采用2 M的時(shí)鐘頻率,編碼器在有效時(shí)鐘高電平期間回復(fù)SLO數(shù)據(jù)。圖5給出了采用SignalTap工具采集的MA時(shí)鐘及SLO數(shù)據(jù),根據(jù)BISS C協(xié)議對(duì)數(shù)據(jù)進(jìn)行分析。
圖5 SignalTap采集BISS C協(xié)議數(shù)據(jù)示意
由圖5可知,數(shù)據(jù)段有36個(gè)有效數(shù)據(jù),對(duì)于26位編碼器,根據(jù)BISS協(xié)議,數(shù)據(jù)位= 1位Start+1位0+26位Position+1位Error+1位Warn+6位CRC = 36位數(shù)據(jù),由圖5讀出的36位數(shù)據(jù)為“1|0|10000101001001101100000110|1|1|100101”。根據(jù)BISS協(xié)議可知:a)前2位“10”為起始位Start位和其后的0位,作為數(shù)據(jù)的幀頭;b)有效數(shù)據(jù)位為“10000101001001101100000110”(Position位);c)其后2位“11”為Error位和Warn位;d)最后6位“100101”為CRC(6-bit)校驗(yàn)位。
根據(jù)BISS協(xié)議,Error位“1”表示傳輸?shù)奈恢眯畔⒁驯蛔x數(shù)頭的內(nèi)置安全校驗(yàn)算法校驗(yàn);Warn位“1”表示光柵尺及讀數(shù)窗口清潔,說明編碼器此時(shí)的工作狀態(tài)良好。由上文可知SLO讀數(shù)的位置、錯(cuò)誤及警告數(shù)據(jù)為x =“1000010100100110110000011011”,對(duì)其進(jìn)行CRC多項(xiàng)式x6+x1+x0計(jì)算,得到的結(jié)果取低6位為“100101”,與采集數(shù)據(jù)得到的CRC校驗(yàn)位相同,這樣說明采集的數(shù)據(jù)有效、正確。
BISS C編碼器采顯系統(tǒng)以50 Hz的頻率與液晶屏進(jìn)行數(shù)據(jù)交換。圖6為液晶顯示屏示意圖。
圖6 液晶屏顯示方位和俯仰值示意
由圖6可知,編碼器數(shù)據(jù)接收及顯示板將接收到的SLO數(shù)據(jù)進(jìn)行處理和計(jì)算后,通過串口芯片發(fā)送給液晶顯示系統(tǒng),以“度/分/秒”的格式顯示方位值與俯仰值,數(shù)據(jù)刷新率為50 Hz。
BISS C編碼器采顯系統(tǒng)能夠正確地向編碼器提供位置采集請(qǐng)求和時(shí)序信息MA,采集編碼器以BISS C協(xié)議輸出的位置數(shù)據(jù)SLO,采用DSP+FPGA的硬件結(jié)構(gòu)對(duì)數(shù)據(jù)進(jìn)行處理、計(jì)算和顯示,以“度/分/秒”的形式將角度值正確地顯示在液晶顯示屏上。系統(tǒng)與編碼器之間數(shù)據(jù)交換周期最高可達(dá)到40 μs,MA時(shí)鐘頻率最高為10 MHz,數(shù)據(jù)延遲最大為42.5 ns。試驗(yàn)證明系統(tǒng)工作狀態(tài)穩(wěn)定、良好,角度數(shù)據(jù)顯示正確。
[1] 趙長(zhǎng)海, 萬秋華, 王樹潔, 盧新然. 21位光電編碼器數(shù)據(jù)處理系統(tǒng)[J].電子測(cè)量與儀器學(xué)報(bào), 2010,24(6): 569-573.
[2] 盧新然, 萬秋華, 杜穎財(cái), 趙長(zhǎng)海. 星載高精度小型多圈絕對(duì)式編碼器設(shè)計(jì)[J]. 電子測(cè)量與儀器學(xué)報(bào), 2010,24(9): 848-852.
[3] 鄧方, 陳杰, 陳文頡, 等. 一種高精度的光電編碼器檢測(cè)方法及其裝置[J]. 北京理工大學(xué)學(xué)報(bào): 自然科學(xué)版, 2007,27(11): 977-980.
[4] Mancini D, Cascone E,Schipani P. Galileo high-resolution encoder system[J]. 3112:328-334.
[5] 熊文卓, 孔智勇, 張煒. 光電軸角編碼器光電信號(hào)正交性偏差的向量校正方法[J]. 光學(xué)精密工程, 2007,5(11): 1745-1748.
[6] 劉豐文, 鄧文和. 25位絕對(duì)式編碼器[J]. 光電工程, 2000,27(6): 66-68.
[7] 常春, 胡瑜, 董彬. 光電旋轉(zhuǎn)編碼器的研究與應(yīng)用[J]. 儀表技術(shù)與傳感器, 2001(12): 34-35.
[8] 肖鯤, 王莉娜. 基于FPGA的BISS協(xié)議光電編碼器通信模塊設(shè)計(jì)[J].電子測(cè)量技術(shù), 2008,31(7): 188-191.
Based on BISS C Mode Encoder Data Acquisition and Display System Design
Wang Hong-juan, Xing Bai-qiang, Liu Yan, Guan Zheng-kun
(Capital Aerospace Machinery Corporation, Beijing, 100076)
To achieve the correct azimuth code and pitch code of the rotating platform, the BISS C mode encoder data acquisition and display system is designed. The DSP+FPGA hardware structure is applied, through the GPIO of DSP, the encoder data control and acquisition are realized. The BISS C mode encoder data acquisition and display system can achieve the angle value of the circular grating encoder and display the value on the LCD correctly. The data exchange rate can be up to 40μs one time, MA clock frequency can be up to 10 MHz, and max data delay is 42.5 ns. In the experiment, the data exchange period is 100 μs one time, MA clock frequency is 2 MHz, SLO data is achieved when MA high level, and the data display frequency is 50 Hz. The experiment shows that the system can achieve and display the encoder data correctly, the work status is stable and good.
BISS C; Encoder; Data acquisition
TP212
A
1004-7182(2016)04-0099-04
10.7654/j.issn.1004-7182.20160425
2015-05-13;
2015-07-30
王洪娟(1977-),女,工程師,主要研究方向?yàn)橐簤簹鈩?dòng)系統(tǒng)工藝流程設(shè)計(jì)