基於FPGA與有限狀態機的高精度測角系統的設計與實

2020-11-26 電子產品世界

雷射跟蹤測量系統(Laser Tracker System)是工業測量系統中常用的一種高精度的測量儀器,是近十年發展起來的新型大尺寸空間測量儀器,不僅對靜止目標可以測量,而且對運動目標也可以進行跟蹤測量。它集合了雷射測距技術、光電技術、精密機械技術、計算機及控制技術等各種先進技術,對空間運動目標進行跟蹤並實時測量目標的空間三維坐標。它具有快速、動態、精度高等優點,適合於大尺寸工件配裝測量。在航空航天、機械製造、核工業、現代軍事等測量領域得到廣泛的應用。該系統的跟蹤精度在很大程度上依賴於轉臺的旋轉角度的測量精度。

本文引用地址:http://www.eepw.com.cn/article/189624.htm

為了提高系統轉臺旋轉角度測量的精度,本系統採用高解析度的光電編碼器來測量角度。光電編碼器是利用光柵衍射原理實現位移數字變換的,光電編碼器作為一種高精度的測角傳感器已普遍應用於伺服跟蹤系統中,它具有精度高、響應快、性能穩定可靠等優點。光電編碼器按編碼方式主要分為兩類:增量式與絕對式。由於增量式光電編碼器成本低、測角的精度高,因此本系統的增量式光電編碼器選用Renishaw公司的高精度圓光柵。

然而,由於機械振動或抖動等原因,增量式編碼器的輸出脈衝會出現抖動毛刺的現象,因此需要在對編碼器輸出脈衝進行計數的過程中採取有效的方法來去掉抖動幹擾。本文介紹的有限狀態機方法,在FPGA上可以有效消除抖動引起的計數幹擾,提高計數的精度[1]。

1 方案設計

1.1 系統組成

雷射跟蹤測量系統的核心處理模塊主要由ARM處理器,FPGA組成。為了充分利用ARM9微處理器的運算能力和FPGA的高速邏輯處理能力,在設計中對功能的實現進行了劃分。ARM9 用於運動控制平臺的控制並且與FPGA一起形成一個完整的應用平臺。FPGA主要完成編碼器的精確計數功能、與ARM9處理器數據通信、與雷射測距儀數據通信功能。系統的組成框圖如圖1所示。本文重點介紹在FPGA上實現編碼器的輸出脈衝計數與角度測量。

1.2 增量式編碼器原理

增量型編碼器通常有3路信號輸出:A、B和Z,每路都是差分信號,共6路信號,信號採用TTL電平,A脈衝在前,B脈衝在後,A、B脈衝相差90°,每旋轉一圈發出一個基準脈衝Z,作為參考機械零位。Z相的波形中心對準A相輸出的波形中心。利用A相B相的相位差來進行判相,A超前B 90°為正轉,反之B超前A 90°為反轉。

由於增量式編碼器不帶記憶功能,因此對外界因素引起的幹擾非常敏感,在實際應用中,由於機械振動、工作環境,電機負載等都無可避免地會產生震動,編碼器會在某一相的脈衝邊緣的地方出現抖動的情況,因此有效濾掉脈衝的抖動和毛刺,是提高計數精度的關鍵技術。編碼器輸出真實信號的波形如圖2所示[2-3]。

2 理論分析與算法

2.1 有限狀態機原理

在編碼器的一個輸出周期內,A、B兩相輸出信號共產生4個跳變沿,在A、B方波信號的上升沿和下降沿分別計數,從而實現四倍頻計數的操作。本文通過有限狀態機FSM,對原始信號進行四倍頻採樣控制,狀態機外加的一路高速同步時鐘信號作為狀態機的驅動時鐘信號,從而有效濾掉抖動幹擾。

有限狀態機FSM(Finite State Machine)是一種時序電路,是數字系統中實現高效率可靠性邏輯控制的重要方法。標準狀態機可分為摩爾型Moore和米利型Mealy兩種類型。Mealy狀態機的輸出是當前狀態和輸入信號的函數。在本設計中,對編碼器輸出信號進行計數,採用的計數器是雙向計數器,既與當前編碼器所處於的電平組合有關,又與前一個狀態有關。因此本設計採用Mealy狀態機。Mealy狀態機比Moore狀態機在狀態切換時提前一個同步時鐘, 因而具有較高的實時性。A、B兩相信號轉換狀態如圖3所示[4]。

在理想情況下, 若編碼器正向旋轉,A、B 電平的值為:00-10-11-01-00 ; 若編碼器反向旋轉, 則A、B 電平的值為:00-01-11-10-00 。但是在實際應用中, 輸入脈衝含有抖動和毛刺,A、B 相脈衝的電平狀態會在狀態機中有效地跳轉, 抖動之後, 由於計數器能夠正反向計數,因此最終的計數值會保持不變, 輸出的結果也保持不變, 達到了去抖動的效果。有限狀態機設置了5 個狀態:IDLE (S0) ,ALBL (S1) ,AHBL (S2) ,AHBH (S3) ,ALBH (S4) 。其中IDLE 為初始狀態, 用於初始化計數器的計數器狀態。狀態機的狀態空間跳轉圖如圖4 所示[5]。

fpga相關文章:fpga是什麼

脈衝點火器相關文章:脈衝點火器原理

相關焦點

  • 有限狀態機的FPGA設計
    有限狀態機是一種常見的電路,由於時序電路和組合電路組成,設計有限狀態機的第一步是確定採用Moore狀態機還是採用Mealy狀態機。Mealy狀態機的狀態轉變不僅和當前狀態有關,而且和各輸入信號有關;Moore狀態機的轉變只和當前狀態有關。
  • 基於FPGA高精度浮點運算器的FFT設計與仿真
    摘要 基於IEEE浮點表示格式及FFT算法,提出一種基2FFT的FPGA方法,完成了基於FPGA高精度浮點運算器的FFT的設計。利用VHDL語言描述了蝶形運算過程及地址產生單元,其仿真波形基本能正確的表示輸出結果。
  • 基於VHDL的MTM總線主模塊有限狀態機設計
    摘要:為了能夠更簡潔嚴謹地描述MTM總線的主模塊有限狀態機的狀態轉換,同時減少FPGA晶片功耗,提高系統穩定性,文中在分析MTM總線結構和主模塊有限狀態機模型的基礎上,基於VHDL語言採用「單進程」式對該有限狀態機進行了設計,並在QuartusⅡ開發軟體中實現了對語言代碼的編譯及程序的時序仿真和功能仿真
  • 基於有限狀態機的飛行器自毀系統時序控制設計
    分析飛行器自毀系統工作原理,採用複雜可編程邏輯器件(CPLD)實現了飛行器自毀系統設計,結合CPLD的特點,提出一種基於改進型有限狀態機的飛行器自毀系統時序控制的設計方法,並在CPLD中予以實現。仿真及實驗表明,基於有限狀態機的飛行器自毀系統定時精度達到納秒級,可以有效地控制自毀信號輸出並消除毛刺現象,很好地滿足系統性能要求。該方法具有結構簡單緊湊、成本低、可靠性高、精度高等優點。
  • 利用有限狀態機的交通燈控制系統設計與仿真
    摘要:基於硬體電路設計軟體化的思想,根據路口交通燈控制功能要求,以可編程邏輯器件(FPGA)為硬體基礎,以有限狀態機為設計基礎,通過對系統狀態及其轉移關係的定義,運用多進程方式描述硬體模塊的邏輯關係,用VHDL語言編程實現了交通燈控制系統,經仿真,並在實驗箱上進行功能測試
  • 基於DSP和FPGA的機器人聲控系統設計與實現
    本文引用地址:http://www.eepw.com.cn/article/21345.htm 本次設計採用了性價比較高的數位訊號處理晶片tms320vc5509作為語音識別處理器,具有較快的處理速度,使機器人在脫機狀態下,獨立完成複雜的語音信號處理和動作指令控制,fpga系統的開發降低了時序控制電路和邏輯電路在pcb板所佔的面積[1],使機器人的"大腦"的語音處理部分微型化、低功耗。
  • 用STATECAD快速設計有限狀態機
    控制單元的實現方式有: 有限狀態機、控制寄存器和微代碼控制器等。有限狀態機在時間尺度上對其控制信號進行離散化控制, 利用狀態轉移使控制信號在有限狀態機的狀態節拍控制下變化, 以實現對被控對象的控制。有限狀態機設計的關鍵是如何把一個實際的時序邏輯關係抽象成一個時序邏輯函數,傳統的電路圖輸入法通過直接設計寄存器組來實現各個狀態之間的轉換, 而用硬體描述語言來描述有限狀態機, 往往是通過充分發揮硬體描述語言的抽象建模能力,通過對系統在系統級或寄存器傳輸級進行描述來建立有限狀態機。EDA 工具的快速發展,使通過CAD快速設計有限狀態機自動化成為可能。
  • 初學者對有限狀態機(FSM)的設計的認識
    有限狀態機(FSM)是一種常見的電路,由時序電路和組合電路組成。設計有限狀態機的第一步是確定採用Moore狀態機還是採用Mealy狀態機。(Mealy型:狀態的轉變不僅和當前狀態有關,而且跟各輸入信號有關;Moore型:狀態的轉變只和當前狀態有關)。
  • 如何以面向對象的思想設計有限狀態機
    狀態機的概念有限狀態機又稱有限狀態自動機,簡稱狀態機,是表示有限個狀態以及在這些狀態之間的轉移和動作等行為的數學計算模型,用英文縮寫也被簡稱為 FSM。FSM 會響應「事件」而改變狀態,當事件發生時,就會調用一個函數,而且 FSM 會執行動作產生輸出,所執行的動作會因為當前系統的狀態和輸入的事件不同而不同。
  • 用VHDL設計有限狀態機的方法
    受控部分通常是設計者們所熟悉的各種功能電路,設計較為容易。主要任務是設計控制器,而其控制功能可以用有限狀態機來實現。因而有必要深入探討有限狀態機的設計方法。本文引用地址:http://www.eepw.com.cn/article/150667.htm1 狀態機設計的一般方法  傳統的設計方法是首先繪製出控制器的狀態圖,並由此列出狀態表,再合併消除狀態表中的等價狀態項。在完成狀態寄存器的分配之後,根據狀態表求出次態及輸出方程,最後畫出設計原理圖。
  • Verilog HDL設計進階:有限狀態機的設計原理及其代
    由於寄存器傳輸級(RTL)描述是以時序邏輯抽象所得到的有限狀態機為依據的,所以把一個時序邏輯抽象成一個同步有限狀態機是設計可綜合風格的Verilog HDL模塊的關鍵。在本章中我們將通過各種實例由淺入深地來介紹各種可綜合風格的Verilog HDL模塊,並把重點放在時序邏輯的可綜合有限狀態機的Verilog HDL設計要點。
  • 如何在FPGA中實現狀態機
    FPGA常常用於執行基於序列和控制的行動,比如實現一個簡單的通信協議。對於設計人員來說,滿足這些行動和序列要求的最佳方法則是使用狀態機。狀 態機是在數量有限的狀態之間進行轉換的邏輯結構。一個狀態機在某個特定的時間點只處於一種狀態。
  • 基於FPGA的伺服驅動器分周比設計與實現
    為此提出一種基於FPGA的整數分周比實現方法。該方法邏輯結構簡單,配置靈活,易於擴展,具有很高的實用價值。  1 電子齒輪比與分周比  電子齒輪比與分周比是數控工具機和數控加工中心中一個很重要的概念。  OSG模塊用輸入脈衝沿觸發內部狀態機進行狀態轉換,根據輸入的方向信號判決要跳轉的狀態,從而產生正交信號和方向信號。  3 仿真研究  根據圖2,利用ACTEL公司的Libro 8.1開發平臺,採用VHDL硬體語言,創建了相應的功能模塊,原理圖如圖3所示。
  • Verilog HDL設計進階:有限狀態機的設計原理及其代碼風格
    由於寄存器傳輸級(RTL)描述是以時序邏輯抽象所得到的有限狀態機為依據的,所以把一個時序邏輯抽象成一個同步有限狀態機是設計可綜合風格的Verilog HDL模塊的關鍵。在本章中我們將通過各種實例由淺入深地來介紹各種可綜合風格的Verilog HDL模塊,並把重點放在時序邏輯的可綜合有限狀態機的Verilog HDL設計要點。
  • FPGA工程師:如何在FPGA中實現狀態機?
    FPGA常常用於執行基於序列和控制的行動,比如實現一個簡單的通信協議。對於設計人員來說,滿足這些行動和序列要求的最佳方法則是使用狀態機。狀態機是在數量有限的狀態之間進行轉換的邏輯結構。一個狀態機在某個特定的時間點只處於一種狀態。但在一系列觸發器的觸發下,將在不同狀態間進行轉換。
  • 產品經理不得不知的——有限狀態機
    二、什麼是有限狀態機有限狀態機(Finite-state machine)是一個非常有用的模型,可以模擬世界上大部分事物。它有三個特徵:狀態總數(state)是有限的。任一時刻,只處在一種狀態之中。某種條件下,會從一種狀態轉變(transition)到另一種狀態。
  • 基於FPGA的同步測周期高精度數字頻率計的設計
    摘    要:本文介紹了一種同步測周期計數器的設計,並基於該計數器設計了一個高精度的數字頻率計。文中給出了計數器的VHDL編碼,並對頻率計的FPGA實現進行了仿真驗證,給出了測試結果。
  • 基於FPGA的無損圖像壓縮系統設計
    編者按:  摘要:本文簡要介紹了圖像壓縮的重要性和常用的無損圖像壓縮算法,分析了快速高效無損圖像壓縮算法(FELICS)的優勢,隨後詳細分析了該算法的編碼步驟和硬體實現方案,最後公布了基於該方案的FPGA性能指標。
  • 基於FPGA+MATLAB的串行多階FIR濾波器設計
    根據單位衝激響應函數的時域特性可分為兩類:無限衝激響應(Infinite Impulse Response,IIR)濾波器和有限衝激響應(Finite Inpulse Response,FIR)濾波器。與IIR濾波器相比,FIR濾波器的實現是非遞歸的,較穩定;且FIR濾波器可獲得嚴格的線性相位特性。因此,應用領域較廣。
  • 基於FPGA的結構光圖像中心線提取
    編者按:在線結構光視覺三維測量系統中,為了實現對結構光圖像線條紋中心的實時高精度提取,本文採用了極值法、閾值法和灰度重心法相結合的中心線提取方法。利用現場可編程門陣列器件(FPGA)的流水線技術以及並行技術的硬體設計來完成運算,保證了光條紋中心點的實時準確提取。