王洪娟,邢柏強,劉 巖,關(guān)正坤
(首都航天機械公司,北京,100076)
基于BISS C模式編碼器數(shù)據(jù)采集及顯示系統(tǒng)設(shè)計
王洪娟,邢柏強,劉 巖,關(guān)正坤
(首都航天機械公司,北京,100076)
為得到正確的轉(zhuǎn)臺方位值和俯仰值,針對絕對式軸角柵編碼器設(shè)計了基于BISS C模式的編碼器數(shù)據(jù)采集及顯示系統(tǒng)。采用DSP+FPGA為核心的硬件結(jié)構(gòu),DSP通過GPIO實現(xiàn)編碼器數(shù)據(jù)的控制和數(shù)據(jù)接收并計算角度值;FPGA實現(xiàn)整體的邏輯控制及時序配置。BISS C模式編碼器數(shù)據(jù)采集及顯示系統(tǒng)能夠正確的采集圓光柵編碼器的角度值并將其顯示,與編碼器數(shù)據(jù)交換周期最高可達到40 μs,MA時鐘頻率最高10 MHz,數(shù)據(jù)延遲最大42.5 ns。試驗中數(shù)據(jù)交換周期為100 μs,MA時鐘2 MHz,MA高電平采集SLO數(shù)據(jù),顯示頻率為50 Hz。試驗證明,系統(tǒng)接收及顯示數(shù)據(jù)正確,工作狀態(tài)穩(wěn)定、良好。
BISS C模式;編碼器;數(shù)據(jù)采集
目前絕對式軸角編碼器是常用于光電跟蹤設(shè)備中的測角元件,用于測量跟蹤目標的方位值和俯仰值[1]。絕對式軸角編碼器采用串行接口與數(shù)據(jù)接收系統(tǒng)交換數(shù)據(jù),數(shù)據(jù)格式為BISS C模式。針對絕對式軸角編碼器,設(shè)計了基于BISS C模式的編碼器采集及顯示系統(tǒng)(以下簡稱BISS C編碼器采顯系統(tǒng))[2]。BISS C編碼器采顯系統(tǒng)可以廣泛應(yīng)用于光電跟蹤設(shè)備中,實時與軸角編碼器進行數(shù)據(jù)交換[3];采用FPGA+DSP的模式對接收數(shù)據(jù)進行編譯和校驗并根據(jù)約定的數(shù)據(jù)格式將數(shù)據(jù)傳輸給其他分系統(tǒng),同時以“度/分/秒”格式將測角值直觀顯示在液晶屏上,便于觀測和調(diào)試。BISS C編碼器采顯系統(tǒng)已在工程實踐中得到應(yīng)用,數(shù)據(jù)采集穩(wěn)定、顯示直觀。實踐證明:BISS C編碼器采顯系統(tǒng)可以正確地與編碼器進行數(shù)據(jù)交換并實時顯示目標的方位值和俯仰值,工作穩(wěn)定,具有較強的工程實踐意義。
1.1 系統(tǒng)設(shè)計
根據(jù)BISS C協(xié)議的內(nèi)容,設(shè)計絕對式圓光柵編碼器數(shù)據(jù)接收及顯示板卡,采用DSP+FPGA的硬件結(jié)構(gòu)模式,編程實現(xiàn)與圓光柵之間的數(shù)據(jù)交換,對接收的二進制碼進行編譯和處理,以“度/分/秒”形式將目標的方位值和俯仰值顯示在液晶顯示屏上[4]。如圖1所示,BISS C編碼器采顯系統(tǒng)主要包括圓光柵編碼器、數(shù)據(jù)接收及顯示系統(tǒng)和1個觸摸式液晶顯示屏。
圖1 BISS C編碼器采顯系統(tǒng)整體結(jié)構(gòu)
由圖1可知,BISS C編碼器采顯系統(tǒng)作為主設(shè)備,圓光柵編碼器作為從設(shè)備,主設(shè)備為從設(shè)備供電并提供位置采集請求和時序信息MA,從設(shè)備編碼器接收到MA信號后,向主設(shè)備提供與MA時鐘信號同步的位置采集數(shù)據(jù)SLO。另外,主設(shè)備還通過串行通訊接口,編程實現(xiàn)對液晶顯示屏的控制及數(shù)據(jù)輸出,實時在液晶顯示屏顯示目標的方位值和俯仰值[5]。
1.2 軟件設(shè)計
BISS C編碼器采顯系統(tǒng)的軟件設(shè)計分為FPGA程序設(shè)計和DSP程序設(shè)計2部分。FPGA主要實現(xiàn)邏輯控制、復位及中斷處理等功能;DSP主要實現(xiàn)編碼器數(shù)據(jù)的接收與處理及液晶顯示等功能[6]。圖2和圖3分別為FPGA和DSP的主程序流程示意。
圖2 FPGA程序流程
由圖2可知,F(xiàn)PGA程序先定義輸入、輸出信號,然后根據(jù)外部復位芯片MAX706的輸出為整個系統(tǒng)提供復位信號,由FPGA與DSP進行雙向數(shù)據(jù)交換,最快以40 μs為周期,將DSP發(fā)出的MA信息提供給編碼器,將編碼器按BISS C協(xié)議輸出的SLO數(shù)據(jù)提供給DSP[7]。另外,F(xiàn)PGA提供所有外圍芯片的邏輯控制信號并為DSP提供中斷信號。
圖3 DSP主程序流程
由3可知,DSP程序開始首先進行初始化,接著主程序開始,DSP按照中斷最快以40 μs為周期進行數(shù)據(jù)交換和處理,通過GPIO發(fā)送MA信息,在MA高電平期間接收SLO數(shù)據(jù),寄存器存儲SLO數(shù)據(jù)并根據(jù)BISS C協(xié)議找到幀數(shù)據(jù)開始位置并置標志位,接著將接收到的二進制數(shù)據(jù)進行計算并轉(zhuǎn)換,以“度/分/秒”形式進行輸出并顯示在液晶顯示屏的相應(yīng)位置。
對BISS C編碼器采顯系統(tǒng)進行試驗,采用絕對式圓光柵編碼器采集轉(zhuǎn)臺的方位值和俯仰值并在液晶顯示屏上顯示角度值[8]。試驗原理如圖4所示。
圖4 數(shù)據(jù)接收及顯示試驗
試驗中,圓光柵編碼器安裝于可做方位和俯仰旋轉(zhuǎn)運動的轉(zhuǎn)臺上,數(shù)據(jù)接收及顯示板卡接收其輸出數(shù)據(jù)并顯示,二者之間最快以40 μs為周期進行數(shù)據(jù)交換。試驗中MA采用2 M的時鐘頻率,編碼器在有效時鐘高電平期間回復SLO數(shù)據(jù)。圖5給出了采用SignalTap工具采集的MA時鐘及SLO數(shù)據(jù),根據(jù)BISS C協(xié)議對數(shù)據(jù)進行分析。
圖5 SignalTap采集BISS C協(xié)議數(shù)據(jù)示意
由圖5可知,數(shù)據(jù)段有36個有效數(shù)據(jù),對于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)校驗位。
根據(jù)BISS協(xié)議,Error位“1”表示傳輸?shù)奈恢眯畔⒁驯蛔x數(shù)頭的內(nèi)置安全校驗算法校驗;Warn位“1”表示光柵尺及讀數(shù)窗口清潔,說明編碼器此時的工作狀態(tài)良好。由上文可知SLO讀數(shù)的位置、錯誤及警告數(shù)據(jù)為x =“1000010100100110110000011011”,對其進行CRC多項式x6+x1+x0計算,得到的結(jié)果取低6位為“100101”,與采集數(shù)據(jù)得到的CRC校驗位相同,這樣說明采集的數(shù)據(jù)有效、正確。
BISS C編碼器采顯系統(tǒng)以50 Hz的頻率與液晶屏進行數(shù)據(jù)交換。圖6為液晶顯示屏示意圖。
圖6 液晶屏顯示方位和俯仰值示意
由圖6可知,編碼器數(shù)據(jù)接收及顯示板將接收到的SLO數(shù)據(jù)進行處理和計算后,通過串口芯片發(fā)送給液晶顯示系統(tǒng),以“度/分/秒”的格式顯示方位值與俯仰值,數(shù)據(jù)刷新率為50 Hz。
BISS C編碼器采顯系統(tǒng)能夠正確地向編碼器提供位置采集請求和時序信息MA,采集編碼器以BISS C協(xié)議輸出的位置數(shù)據(jù)SLO,采用DSP+FPGA的硬件結(jié)構(gòu)對數(shù)據(jù)進行處理、計算和顯示,以“度/分/秒”的形式將角度值正確地顯示在液晶顯示屏上。系統(tǒng)與編碼器之間數(shù)據(jù)交換周期最高可達到40 μs,MA時鐘頻率最高為10 MHz,數(shù)據(jù)延遲最大為42.5 ns。試驗證明系統(tǒng)工作狀態(tài)穩(wěn)定、良好,角度數(shù)據(jù)顯示正確。
[1] 趙長海, 萬秋華, 王樹潔, 盧新然. 21位光電編碼器數(shù)據(jù)處理系統(tǒng)[J].電子測量與儀器學報, 2010,24(6): 569-573.
[2] 盧新然, 萬秋華, 杜穎財, 趙長海. 星載高精度小型多圈絕對式編碼器設(shè)計[J]. 電子測量與儀器學報, 2010,24(9): 848-852.
[3] 鄧方, 陳杰, 陳文頡, 等. 一種高精度的光電編碼器檢測方法及其裝置[J]. 北京理工大學學報: 自然科學版, 2007,27(11): 977-980.
[4] Mancini D, Cascone E,Schipani P. Galileo high-resolution encoder system[J]. 3112:328-334.
[5] 熊文卓, 孔智勇, 張煒. 光電軸角編碼器光電信號正交性偏差的向量校正方法[J]. 光學精密工程, 2007,5(11): 1745-1748.
[6] 劉豐文, 鄧文和. 25位絕對式編碼器[J]. 光電工程, 2000,27(6): 66-68.
[7] 常春, 胡瑜, 董彬. 光電旋轉(zhuǎn)編碼器的研究與應(yīng)用[J]. 儀表技術(shù)與傳感器, 2001(12): 34-35.
[8] 肖鯤, 王莉娜. 基于FPGA的BISS協(xié)議光電編碼器通信模塊設(shè)計[J].電子測量技術(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-),女,工程師,主要研究方向為液壓氣動系統(tǒng)工藝流程設(shè)計