一種用於光纖陀螺儀測試電路FPGA的實現方法與流程
2023-10-11 13:52:19 2

本發明涉及一種用於光纖陀螺儀測試電路FPGA的實現方法。
背景技術:
光纖陀螺儀用於測量慣性空間的角速率,角速率數據的輸出形式之一為串口形式,不同情況下光纖陀螺儀對外發送的波特率、校驗位不同,造成光纖陀螺儀的測試工作難度大;同時由於光纖陀螺儀為溫度敏感器件,測試時需要結合溫度數據對角速率數據進行分析,因此急需一種靈活、通用的測試方法,接收不同時序輸出的光纖陀螺儀,同時能夠採集溫度數據。現有技術中還沒有這種方法。
技術實現要素:
本發明的目的是提供一種用於光纖陀螺儀測試電路的FPGA實現方法,通過模塊化設計,通過FPGA設計代碼中的參數設置,能夠測試不同輸出時序的光纖陀螺儀,實現方法簡單快捷,通用性強。
本發明通過以下技術方案予以實現:一種用於光纖陀螺儀測試電路的FPGA實現方法,所述方法包括以下步驟:
步驟一:所述串口接收單元接收光纖陀螺儀角速率數據,將所述角速率數據發送給所述數據平滑單元;
步驟二:所述數據平滑單元接收所述角速率數據,並將角速率數據平滑處理後得到平均角速率數據並將所述平均角速率數據發送給所述數據緩存單元,同時輸出平滑完成標誌信號,並將所述平滑完成標誌信號輸出給所述溫度採集單元;
步驟三:所述溫度採集單元接收所述平滑完成標誌信號後採集溫度,並將溫度發送給所述數據緩存單元;
步驟四:所述數據緩存單元接收所述平均角速率數據和所述溫度後並存儲,並將所述平均角速率數據和所述溫度輸出給所述數據發送單元;
步驟五:所述數據發送單元將所述平均角速率數據和所述溫度發送給PC機。
上述用於光纖陀螺儀測試電路的FPGA實現方法中,在步驟一中,串口接收單元接收光纖陀螺儀角速率數據包括:串口接收單元根據接收波特率時鐘分頻參數對FPGA的輸入時鐘進行分頻,得到串口接收波特率時鐘,在接收波特率時鐘的使能下依次接收串口數據的起始位、一個字節數據位、校驗位和停止位,對校驗位進行判斷,校驗位正確時一個字節數據作為正確的字節數據被接收;每個正確字節數據到來時計數器加1;計數器為0時接收幀頭,計數器為1-3時接收3位元組角速率數據,為4時接收幀尾;當接收到的幀頭和幀尾正確時,串口接收模塊將接收到的角速率數據發送給數據平滑模塊。
上述用於光纖陀螺儀測試電路的FPGA實現方法中,在步驟二中,角速率數據平滑處理包括:接收到的2N個角速率數據進行累加得到角速率累加值,角速率累加值除以2N得到平均角速率數據。
上述用於光纖陀螺儀測試電路的FPGA實現方法中,在步驟三中,所述溫度採集單元輸出溫度採集時鐘,在接收平滑完成標誌信號後在每個採集時鐘下採集溫度。
上述用於光纖陀螺儀測試電路的FPGA實現方法中,在步驟四中,所述數據緩存單元將接收到的平均角速率數據和溫度數據存儲到數據寬度為n,存儲深度為2m的緩存FIFO中,當緩存FIFO中為非空時將緩存的數據輸出給所述數據發送單元。
上述用於光纖陀螺儀測試電路的FPGA實現方法中,在步驟五中,所述數據發送單元根據發送波特率時鐘分頻參數對FPGA的輸入時鐘進行分頻得到串口發送波特率時鐘,在發送波特率時鐘的使能下將數據緩存模塊的平均角速率數據和溫度數據通過串口發送。
本發明與現有技術相比具有如下優點:
1)本發明的串口接收單元的接收波特率時鐘和校驗位可在FPGA代碼中設置,因此可測試不同時序輸出的光纖陀螺儀,實現方法靈活快捷,通用性強;
2)本發明的數據平滑單元使得數據平滑,保證數據穩定可靠;
3)本發明的數據發送單元數據發送的波特率時鐘、校驗位可在FPGA代碼中設置,可滿足不同的數據發送需求。
附圖說明
圖1為光纖陀螺測試電路FPGA實現方法的功能框圖;
圖2為光纖陀螺測試電路FPGA功能模塊配置參數說明圖;
圖3為光纖陀螺測試電路FPGA與AD晶片的接口圖;
圖4為光纖陀螺儀硬體原理框圖。
具體實施方式
下面結合附圖對本發明作進一步詳細說明:
光纖陀螺儀用於測量慣性空間的角速率,其硬體原理框圖如圖4所示,其角速率數據的輸出形式之一為串口形式。串口端周期性發送一幀數據,數據幀格式為一個字節幀頭、三字節角速率數據字和一個字節幀尾。數據發送的波特率通常為115200bps或230400bps,每個字節數據發送時包括一位起始位、一個字節數據位、一位校驗位和一位停止位。
本實施例提供一種光纖陀螺儀測試電路的FPGA實現方法,如圖2所示,通過模塊化設計,在FPGA代碼中設置各功能模塊的參數,能夠測試不同輸出時序的光纖陀螺儀。
以下結合圖1中對一種光纖陀螺儀測試電路的FPGA實現方法進行說明:
步驟一:串口接收單元1接收光纖陀螺儀角速率數據,將角速率數據發送給數據平滑單元2。
具體的,串口接收單元1根據接收波特率時鐘分頻參數對FPGA的輸入時鐘進行分頻,得到串口接收波特率時鐘,在接收波特率時鐘的使能下依次接收串口數據的起始位、一個字節數據位、校驗位和停止位,對校驗位進行判斷,校驗位正確時一個字節數據作為正確的字節數據被接收;
每個正確字節數據到來時計數器值加1;計數器為0時接收幀頭,計數器為1-3時接收3位元組角速率數據,為4時接收幀尾;當接收到的幀頭和幀尾正確時,串口接收模塊將接收到的角速率數據發送給數據平滑模塊。
步驟二:數據平滑單元2接收角速率數據,並將角速率數據平滑處理後得到平均角速率數據並將平均角速率數據發送給數據緩存單元4,同時輸出平滑完成標誌信號,並將平滑完成標誌信號輸出給溫度採集單元3;
具體的,角速率數據平滑處理包括:接收到的2N個角速率數據進行累加得到角速率累加值,角速率累加值除以2N得到平均角速率數據。
步驟三:溫度採集單元3接收平滑完成標誌信號後採集溫度,並將溫度發送給數據緩存單元4。
具體的,溫度採集通過採集晶片AD7686的數據實現,AD7683與FPGA的接口如圖3所示。溫度採集單元3輸出片選信號CS和採集時鐘DCLOCK到AD7683,在接收平滑完成標誌信號後在每個採集時鐘DCLOCK採集AD7683的Dout輸出,AD7683的數據採集時序可參見該晶片的用戶手冊。
步驟四:數據緩存單元4接收平均角速率數據和溫度後並存儲,並將平均角速率數據和溫度輸出給數據發送單元5。
具體的,數據緩存單元4將接收到的平均角速率數據和溫度數據存儲到數據寬度為n,存儲深度為2m的緩存FIFO中,當緩存FIFO中為非空時將緩存的數據輸出給數據發送單元5。
步驟五:數據發送單元5將平均角速率數據和溫度發送給PC機。
具體的,數據發送單元5根據發送波特率時鐘分頻參數對FPGA的輸入時鐘進行分頻得到串口發送波特率時鐘,在發送波特率時鐘的使能下將數據緩存模塊的平均角速率數據和溫度數據通過串口發送。
本實施例通過應用光纖陀螺測試電路FPGA採集光纖陀螺儀的角速率數據和溫度數據,串口接收波特率時鐘、校驗位,角速率數據平滑次數;FIFO的寬度和存儲深度;發送數據的波特率時鐘、校驗位可通過FPGA編程修改,因此可測試不同時序輸出的光纖陀螺儀,同時能夠採集溫度數據,實現方法靈活快捷,通用性強。
下面以一個具體實施例對本發明的實施方案做進一步說明。
假設光纖陀螺儀輸出角速率數據的幀格式為x「53」(幀頭)、角速率數據的高字節數據、中字節數據、低字節數據和x「45」(幀尾),輸出波特率為115200bps,每個字節的校驗位為偶校驗,光纖陀螺測試電路FPGA的輸入時鐘為11.0592MHz,平滑次數要求為128,緩存FIFO要求寬度為8Bits及深度為1024,發送數據的波特率要求為230400bps,發送的每個字節校驗位為奇校驗。
通過計算,將11.0592×106除以115200得到96,接收波特率時鐘分頻參數設置為96,11.0592×106除以230400得到48;因此在FPGA設計代碼中設置各參數如下:
串口接收單元:接收波特率時鐘分頻參數為96,接收校驗參數為0,一個字節幀頭數據為x「53」,一個字節幀尾為x「45」,對應光纖陀螺儀的輸出數據幀格式為x「53」(幀頭)、角速率數據的高字節數據、中字節數據、低字節數據和x「45」(幀尾);數據輸出波特率115200bps,每個字節的校驗位為偶校驗,數據平滑單元:數據平滑次數2N設置為27,即N=7,對應平滑次數為128;
數據緩存單元:數據寬度設置為n=8,存儲深度為210=1024,即n=8,m=10,對應緩存FIFO的寬度為8Bits,深度為1024;
數據發送單元:發送波特率時鐘分頻參數設置為48,發送校驗參數設置為1,數據發送波特率為230400bps,發送的每個字節校驗位為奇校驗。
上述參數在光纖陀螺儀測試電路的FPGA代碼設置完成後,可用於對該光纖陀螺儀的測試。
本發明的串口接收單元的接收波特率時鐘和校驗位可在FPGA代碼中設置,因此可測試不同時序輸出的光纖陀螺儀,實現方法靈活快捷,通用性強;本發明的數據平滑單元使得數據平滑,保證數據穩定可靠;本發明的數據發送單元數據發送的波特率時鐘、校驗位可在FPGA代碼中設置,可滿足不同的數據發送需求。
以上所述的實施例只是本發明較優選的具體實施方式,本領域的技術人員在本發明技術方案範圍內進行的通常變化和替換都應包含在本發明的保護範圍內。