一種基于fpga的小型便攜式多傳感器姿態檢測系統的制作方法
【專利摘要】一種基于FPGA的小型便攜式多傳感器姿態檢測系統。其包括FPGA芯片、兩片SDRAM芯片、FLASH芯片、陀螺/加速度傳感器、磁傳感器、電平轉換芯片、顯示模塊、通信接口、外部存儲器和電源模塊。本發明效果:使用一片FPGA芯片完成傳感器數據采集、數據通訊及算法運算,使用一片FLASH芯片存儲FPGA的配置數據和應用程序,具有較高系統集成度,提高了系統可靠性。在構建片上系統時,采用多種類型的總線連接處理器核和片上外圍接口,并采用FPGA內部RAM存儲應用程序的“數據段”和“堆棧段”,提高了處理器核執行效率。通過三維姿態角試驗可看出,該系統從傳感器數據采集到姿態解算的時間僅為360us。
【專利說明】
【技術領域】
[0001] 本發明屬于姿態檢測【技術領域】,特別是涉及一種基于FPGA的小型便攜式多傳感 器姿態檢測系統。 -種基于FPGA的小型便攜式多傳感器姿態檢測系統
【背景技術】
[0002] 慣性導航系統具有自主性、高隱蔽性、抗干擾等特點,是航空航天和軍事領域重要 的導航系統,其特點也是其它導航系統無法比擬的。隨著微機電系統(MEMS)的快速發展, 出現了新一代微型陀螺儀和加速度計,降低了慣性傳感器的制造成本,慣性導航系統發展 前景一片大好。為了使慣性導航系統在民用領域迅速推廣,有必要設計一種低功耗、便攜式 的小型硬件平臺,實現慣導系統的功能。
【發明內容】
[0003] 為了解決上述問題,本發明的目的在于提供一種基于FPGA的小型便攜式多傳感 器姿態檢測系統。
[0004] 為了達到上述目的,本發明提供的基于FPGA的小型便攜式多傳感器姿態檢測系 統包括:FPGA芯片、兩片SDRAM芯片、FLASH芯片、陀螺/加速度傳感器、磁傳感器、電平轉換 芯片、顯示模塊、通信接口、外部存儲器和電源模塊;其中:FPGA芯片為本系統的控制運算 中心,其分別與兩片SDRAM芯片、FLASH芯片、陀螺/加速度傳感器、電平轉換芯片、顯示模 塊、通信接口、外部存儲器相連接,電平轉換芯片與磁傳感器相連接,通信接口與上位機相 連接,電源模塊為供電電源,其與本系統中的各用電部件相連接。
[0005] 所述的電源模塊由鋰電池和電平轉換芯片組成;所述的通信接口為與外部設備進 行數據交換的通信接口,采用MAX3222通信接口芯片;所述的顯示模塊為液晶顯示器,采 用液晶屏IXD2004 ;外部存儲器由SD卡組成。
[0006] 所述的陀螺/加速度傳感器為MEMS傳感器,采用ADIS16385,磁傳感器采用 HMR3300,所述的電平轉換芯片采用74LVC4245 ;所述的SDRAM芯片采用CY7C102UFLASH芯 片采用W25Q80 ;所述的FPGA芯片為現場可編程門陣列器件,采用Xilinx公司的XC6SLX9芯 片。
[0007] 所述的FPGA芯片的內部片上系統包括:處理器核、SPI_A接口、SPI_F接口、SPI_S 接口、UART_H接口、UART_U接口、AXI_P總線、AXI_E總線、存儲器控制器、LMB總線、BRAM_0 控制器、BRAM_1控制器、BRAMJ)存儲器、BRAM_1存儲器、FSL總線、顯示控制器;
[0008] 其中:處理器核通過AXI_P總線與SPI_A接口、UART_H接口、SPI_F接口、UART_U 接口和SPI_S接口相連接,SPI_A接口與陀螺/加速度傳感器相連接;UART_H接口通過電平 轉換芯片與磁傳感器相連接;SPI_F接口與FLASH芯片相連接;UART_U接口通過通信接口 與上位機相連接;SPI_S接口與外部存儲器相連接。
[0009] 所述的處理器核還通過AXI_E總線與存儲器控制器相連接,存儲器控制器通過32 位總線與兩片SDRAM芯片連接;
[0010] 所述的處理器核還通過LMB總線分別與BRAM_0控制器和BRAM_1控制器相連接, BRAM_0控制器與BRAM_0存儲器連接,BRAM_1控制器與BRAM_1存儲器相連接;
[0011] 處理器核還通過FSL總線與顯示控制器相連接,顯示控制器與顯示模塊連接。
[0012] 所述的SPI_A接口是標準的SPI接口,所述的UART_H接口是標準的RS232接口, 所述的SPI_F接口是標準的SPI接口,所述的UART_U接口是標準RS232接口,所述的SPI_ S接口是標準的SPI接口。
[0013] 所述的BRAM_0存儲器是FPGA芯片的內部RAM,所述的BRAM_1存儲器是FPGA芯片 的內部RAM。
[0014] 本發明以導航系統中不可或缺的姿態檢測系統為問題切入點,構建了以MEMS慣 性器件、電子羅盤為傳感器,FPGA為運算核心的導航計算平臺,并研究了一種姿態檢測系統 的多傳感器數據融合方法。
[0015] 本發明提供的基于FPGA的小型便攜式多傳感器姿態檢測系統的效果:該姿態 檢測系統使用一片FPGA芯片完成傳感器數據采集、數據通訊及算法運算,并且使用一片 FLASH芯片存儲FPGA的配置數據和應用程序,具有較高的系統集成度,提高了系統可靠性。 在構建片上系統時,考慮到處理器核的流水線工作方式,采用多種類型的總線連接處理器 核和片上外圍接口,并采用FPGA內部RAM存儲應用程序的"數據段"和"堆棧段",提高了處 理器核的執行效率。通過三維姿態角試驗可以看出,該姿態檢測系統從傳感器數據采集到 姿態解算的時間僅為360us。
【專利附圖】
【附圖說明】
[0016] 圖1為本發明提供的基于FPGA的小型便攜式多傳感器姿態檢測系統的組成示意 圖。
[0017] 圖2為本發明提供的基于FPGA的小型便攜式多傳感器姿態檢測系統中FPGA芯片 的內部結構示意圖。
【具體實施方式】
[0018] 下面結合附圖和具體實施例對本發明提供的基于FPGA的小型便攜式多傳感器姿 態檢測系統進行詳細說明。
[0019] 如圖1所示,本發明提供的基于FPGA的小型便攜式多傳感器姿態檢測系統包括: FPGA芯片1、兩片SDRAM芯片2、FLASH芯片3、陀螺/加速度傳感器4、磁傳感器5、電平轉 換芯片6、顯示模塊7、通信接口 8、外部存儲器9和電源模塊10 ;其中:FPGA芯片1為本系 統的控制運算中心,其分別與兩片SDRAM芯片2、FLASH芯片3、陀螺/加速度傳感器4、電平 轉換芯片6、顯示模塊7、通信接口 8、外部存儲器9相連接,電平轉換芯片6與磁傳感器5相 連接,通信接口 8與上位機相連接,電源模塊10為供電電源,其與本系統中的各用電部件相 連接。
[0020] 所述的陀螺/加速度傳感器4、磁傳感器5和電平轉換芯片6組成傳感器模塊,陀 螺/加速度傳感器4負責采集載體的轉動角速率,磁傳感器5負責采集地磁場強度,電平轉 換芯片6負責將磁傳感器5的5v端口電平轉換成3. 3v,便于和FPGA芯片1進行數據通訊;
[0021] 所述的FPGA芯片1、SDRAM芯片2、FLASH芯片3組成運算模塊,FPGA芯片1負責 數據采集、算法運算及數據通訊,SDRAM芯片2負責存儲FPGA芯片1執行過程中的程序代 碼,它具有讀寫速度快、掉電數據易失的特點,系統中使用了兩片SDRAM芯片2將數據總線 擴展到32位,可以有效提高數據讀寫效率,FLASH芯片3負責存儲FPGA芯片1的配置信息 和FPGA芯片1執行的程序代碼,它具有掉電數據不丟失的特點,當系統上電后,FPGA芯片1 的配置信息和SDRAM芯片2中的程序代碼都需要從該芯片中讀取;
[0022] 電源模塊10由鋰電池和電平轉換芯片組成,鋰電池提供的電壓是7. 4v,電平轉換 芯片負責將鋰電池電壓轉換成5V、3. 3V和1. 2V,以供系統其他模塊正常工作;
[0023] 通信接口 8為與外部設備進行數據交換的通信接口,采用MAX3222通信接口芯片, 用于和上位機通信;
[0024] 顯示模塊7為液晶顯示器,采用液晶屏IXD2004,用于顯示運算模塊解算得到的姿 態參數;
[0025] 外部存儲器9由SD卡組成,用于存儲經過運算模塊解算得到的姿態參數。
[0026] 所述的陀螺/加速度傳感器4為MEMS傳感器,采用ADIS16385,磁傳感器5采用 HMR3300,所述的電平轉換芯片6采用74LVC4245。
[0027] 所述的 SDRAM 芯片 2 采用 CY7C1021、FLASH 芯片 3 采用 W25Q80。
[0028] 所述的FPGA芯片1為現場可編程門陣列器件,采用Xilinx公司的XC6SLX9芯片; 為了使FPGA器件具有算法運算功能,需要構建片上系統,如圖2所示;所述的FPGA芯片1的 內部片上系統包括:處理器核l〇l、SPI_A接口 102、SPI_F接口 104、SPI_S接口 116、UART_ Η接口 103、UART_U接口 105、AXI_P總線106、AXI_E總線107、存儲器控制器108、LMB總線 109、BRAM_0 控制器 110、BRAM_1 控制器 112、BRAM_0 存儲器 111、BRAM_1 存儲器 113、FSL· 總 線114、顯示控制器115;
[0029] 其中:處理器核 101 通過AXI_P 總線 106 與 SPI_A接口 102、UART_H接口 103、SPI_ F接口 104、UART_U接口 105和SPI_S接口 116相連接,SPI_A接口 102與陀螺/加速度傳 感器4相連接;UART_H接口 103通過電平轉換芯片6與磁傳感器5相連接;SPI_F接口 104 與FLASH芯片3相連接;UART_U接口 105通過通信接口 8與上位機相連接;SPI_S接口 116 與外部存儲器9相連接;
[0030] 處理器核101還通過AXI_E總線107與存儲器控制器108相連接,存儲器控制器 108通過32位總線與兩片SDRAM芯片2連接;
[0031] 處理器核101還通過LMB總線109分別與BRAM_0控制器110和BRAM_1控制器 112相連接,BRAM_0控制器110與BRAM_0存儲器111連接,BRAM_1控制器112與BRAM_1 存儲器113相連接;
[0032] 處理器核101還通過FSL總線114與顯示控制器115相連接,顯示控制器115與 顯示模塊7連接。
[0033] 所述的處理器核101采用Xilinx公司的軟處理器核MicroBlaze,負責程序指令的 取指、解碼及執行。
[0034] 所述的SPI_A接口 102是標準的SPI接口,用于處理器核101控制陀螺/加速度 傳感器4的工作模式,并采集它的數據。
[0035] 所述的UART_H接口 103是標準的RS232接口,用于處理器核101采集磁傳感器5 的數據。
[0036] 所述的SPI_F接口 104是標準的SPI接口,用于處理器核101讀寫FLASH芯片3 中存儲的應用程序。
[0037] 所述的UART_U接口 105是標準RS232接口,用于處理器核101將姿態參數上傳給 上位機。
[0038] 所述的AXI_P總線106是一種高性能片上系統總線,用于處理器核101訪問片上 外設。
[0039] 所述的AXI_E總線107和AXI_P總線106是同類型總線,是處理器核101訪問存 儲器控制器108的專用通道。
[0040] 所述的存儲器控制器108等效于SDRAM芯片2的硬件驅動器。
[0041] 所述的LMB總線109是一種本地存儲器訪問總線,可實現對BRAM_0存儲器111和 BRAM_1存儲器113的高速訪問。
[0042] 所述的BRAM_0控制器110用于控制BRAM_0存儲器111。
[0043] 所述的BRAM_1控制器112用于控制BRAM_1存儲器113。
[0044] 所述的BRAM_0存儲器111是FPGA芯片1的內部RAM,具有較高的訪問速率,用于 存儲引導加載程序。
[0045] 所述的BRAM_1存儲器113是FPGA芯片1的內部RAM,具有較高的訪問速率,用于 存儲應用程序的"數據段"和"堆棧段"。
[0046] 所述的FSL總線114是一種單向通道總線接口,用于處理器核101對顯示控制器 115的快速訪問。
[0047] 所述的顯示控制器115是由VHDL語言編寫的用戶自定義IP核,用于將處理器核 101對顯示模塊7的操作命令進行解碼,從而得到顯示模塊7的操作時序。
[0048] 所述的SPI_S接口 116是標準的SPI接口,用于處理器核101對外部存儲器9的 數據讀寫。
[0049] 針對上述系統的軟件開發主要包含引導加載程序和應用程序,軟件實現過程如 下:系統上電后,FPGA芯片1讀取FLASH芯片3中的配置數據,實現片上系統的構建,被同 時讀取到FPGA芯片1內的還有引導加載程序,片上系統構建完成后,引導加載程序開始運 行,首先通過SPI_F接口 104讀取FLASH芯片3內的應用程序代碼,將應用程序的"數據段" 和"堆棧段"復制到BRAM_1存儲器113中,將應用程序的"代碼段"復制到SDRAM芯片2中, 同時通過識別存儲在FLASH芯片3中同步字標簽獲取應用程序的中斷子程序存儲在SDRAM 芯片2中的地址量,并修改中斷跳轉指令,最后修改程序計數器將命令指針指向SDRAM芯片 2的起始地址,執行應用程序,通過姿態解算算法得到姿態參數。
[0050] 針對姿態解算算法使用互補濾波器實現,實現方法如下:
[0051] 將采樣得到的角速率利用歐拉角法算出姿態角:
【權利要求】
1. 一種基于FPGA的小型便攜式多傳感器姿態檢測系統,其特征在于:其包括:FPGA芯 片(1)、兩片SDRAM芯片⑵、FLASH芯片(3)、陀螺/加速度傳感器(4)、磁傳感器(5)、電平 轉換芯片(6)、顯示模塊(7)、通信接口(8)、外部存儲器(9)和電源模塊(10);其中:FPGA芯 片(1)為本系統的控制運算中心,其分別與兩片SDRAM芯片(2)、FLASH芯片(3)、陀螺/加 速度傳感器(4)、電平轉換芯片(6)、顯示模塊(7)、通信接口(8)、外部存儲器(9)相連接, 電平轉換芯片(6)與磁傳感器(5)相連接,通信接口(8)與上位機相連接,電源模塊(10) 為供電電源,其與本系統中的各用電部件相連接。
2. 根據權利要求1所述的基于FPGA的小型便攜式多傳感器姿態檢測系統,其特征在 于:所述的電源模塊(10)由鋰電池和電平轉換芯片組成;所述的通信接口(8)為與外部設 備進行數據交換的通信接口,采用MAX3222通信接口芯片;所述的顯示模塊(7)為液晶顯示 器,采用液晶屏IXD2004 ;外部存儲器(9)由SD卡組成。
3. 根據權利要求1所述的基于FPGA的小型便攜式多傳感器姿態檢測系統,其特征在 于:所述的陀螺/加速度傳感器(4)為MEMS傳感器,采用ADIS16385,磁傳感器(5)采用 HMR3300,所述的電平轉換芯片(6)采用74LVC4245 ;所述的SDRAM芯片(2)采用CY7C1021、 FLASH芯片(3)采用W25Q80 ;所述的FPGA芯片(1)為現場可編程門陣列器件,采用Xilinx 公司的XC6SLX9芯片。
4. 根據權利要求1所述的基于FPGA的小型便攜式多傳感器姿態檢測系統,其特征在 于:所述的FPGA芯片(1)的內部片上系統包括:處理器核(101)、SPI_A接口(102)、SPI_F 接口(104)、SPI_S 接口(116)、UART_H 接口(103)、UART_U 接口(105)、AXI_P 總線(106)、 AXI_E總線(107)、存儲器控制器(108)、LMB總線(109)、BRAM_0控制器(110)、BRAM_1控制 器(112)、BRAM_0 存儲器(111)、BRAM_1 存儲器(113)、FSL 總線(114)、顯示控制器(115); 其中:處理器核(101)通過 AXI_P 總線(106)與 SPI_A 接口(102)、UART_H 接口(103)、 SPI_F 接口(104)、UART_U 接口(105)和 SPI_S 接口(116)相連接,SPI_A 接口(102)與陀 螺/加速度傳感器(4)相連接;UART_H接口(103)通過電平轉換芯片(6)與磁傳感器(5) 相連接;SPI_F接口(104)與FLASH芯片(3)相連接;UART_U接口(105)通過通信接口(8) 與上位機相連接;SPI_S接口(116)與外部存儲器(9)相連接。
5. 根據權利要求4所述的基于FPGA的小型便攜式多傳感器姿態檢測系統,其特征在 于:所述的處理器核(101)還通過AXI_E總線(107)與存儲器控制器(108)相連接,存儲器 控制器(108)通過32位總線與兩片SDRAM芯片⑵連接; 所述的處理器核(101)還通過LMB總線(109)分別與BRAM_0控制器(110)和BRAM_1 控制器(112)相連接,BRAMJ)控制器(110)與BRAMJ)存儲器(111)連接,BRAM_1控制器 (112)與BRAM_1存儲器(113)相連接; 處理器核(101)還通過FSL總線(114)與顯示控制器(115)相連接,顯示控制器(115) 與顯示模塊(7)連接。
6. 根據權利要求4所述的基于FPGA的小型便攜式多傳感器姿態檢測系統,其特征在 于:所述的SPI_A接口(102)是標準的SPI接口,所述的UART_H接口(103)是標準的RS232 接口,所述的SPI_F接口(104)是標準的SPI接口,所述的UART_U接口(105)是標準RS232 接口,所述的SPI_S接口(116)是標準的SPI接口。
7. 根據權利要求4所述的基于FPGA的小型便攜式多傳感器姿態檢測系統,其特征在 于:所述的BRAM_0存儲器(111)是FPGA芯片(1)的內部RAM,所述的BRAM_1存儲器(113) 是FPGA芯片(1)的內部RAM。
【文檔編號】G01C21/16GK104061931SQ201410216864
【公開日】2014年9月24日 申請日期:2014年5月21日 優先權日:2014年5月21日
【發明者】馬龍, 張銳, 蘇志剛 申請人:中國民航大學