底雙
(哈爾濱工程大學(xué)自動化學(xué)院,哈爾濱154100)
姿態(tài)測量系統(tǒng)在軍事領(lǐng)域,民用領(lǐng)域,人們?nèi)粘Ia(chǎn)生活中均有著廣泛的應(yīng)用。在軍事領(lǐng)域如:船艦航行、導(dǎo)彈發(fā)射和航空飛機,都離不開姿態(tài)數(shù)據(jù);在生活領(lǐng)域如:農(nóng)業(yè)播種、汽車駕駛、醫(yī)療檢查中,姿態(tài)測量也是必不可少的一環(huán)。為滿足生產(chǎn)生活中對姿態(tài)測量的需求,低成本、小型化的航姿測量系統(tǒng)成為人們關(guān)心的問題[1]。由于MEMS 傳感器具有體積小、質(zhì)量輕、成本低等特點,適用在便攜式航姿系統(tǒng)上裝置,已經(jīng)大量應(yīng)用在汽車、機器人、無人機等民用領(lǐng)域。隨著微機電系統(tǒng)技術(shù)與集成電路技術(shù)的發(fā)展,采用MEMS 慣性測量器件的微小型航姿系統(tǒng)已經(jīng)成為未來的發(fā)展趨勢[2]。
MEMS 傳感器為三軸陀螺儀、三軸加速度計和三軸磁力計集成的九軸傳感器,處理器可通過SPI 或I2C實時采集九軸傳感器數(shù)據(jù)。系統(tǒng)采用基于四元數(shù)的互補濾波算法進(jìn)行實時姿態(tài)解算,得到俯仰角、翻滾角和航向角的姿態(tài)信息。設(shè)計串口通信和以太網(wǎng)通信模塊,擴充航姿系統(tǒng)與上位機通訊方式。設(shè)計直接供電和USB 供電兩種方式為系統(tǒng)供電,保證航姿系統(tǒng)供電可靠性。
MPU9250 可通過SPI 和I2C 兩種方式與處理器通信,SPI 通信有兩根數(shù)據(jù)線,一根片選線和一根時鐘線,I2C 通信可與SPI 通信接口復(fù)用,在設(shè)計I2C 通信電路時,根據(jù)開漏特性要注意在時鐘線和數(shù)據(jù)通信線加上拉電阻。采集模塊電路設(shè)計如圖1 所示。
圖1 導(dǎo)航數(shù)據(jù)采集模塊電路圖
為增加系統(tǒng)通信方式的可擴展性,設(shè)計了以太網(wǎng)通信電路,將姿態(tài)信息或傳感器輸出數(shù)據(jù)發(fā)送到上位機,方便后續(xù)對姿態(tài)信息的顯示和保存。
以太網(wǎng)的發(fā)展過程可主要分為:標(biāo)準(zhǔn)以太網(wǎng)、快速以太網(wǎng)、千兆以太網(wǎng)和萬兆以太網(wǎng)?,F(xiàn)在速度最快的萬兆以太網(wǎng)的傳輸介質(zhì)多為單?;蚨嗄9饫w,技術(shù)標(biāo)準(zhǔn)為IEEE 802.3ae。設(shè)計采用的處理器STM32F769 片上集成了一個MAC802.3,可完成與物理層的數(shù)據(jù)交接,若要實現(xiàn)STM32F769 處理器與外部設(shè)備的以太網(wǎng)通信,只需外接一個端口物理層(PHY)芯片。
MAC 通常支持獨立于介質(zhì)的接口MII 或簡化的獨立于介質(zhì)的RMII 接口與PHY 芯片連接。MII 接口需要16 個數(shù)據(jù)和控制信號引腳與PHY 層芯片連接,RMII 是簡化介質(zhì)獨立接口,只需要7 根通信線與PHY層芯片連接。
本文選擇一款LAN8742 型號的PHY 芯片,通過RMII 接口連接,這種接口設(shè)計簡化硬件電路設(shè)計的復(fù)雜度。LAN8742 內(nèi)部包含一個全雙工傳輸模塊,可實現(xiàn)兩種數(shù)據(jù)傳輸數(shù)率:10Mbit/s 和100Mbit/s,另外可支持HP Auto-MDIX 自動翻轉(zhuǎn)功能,即能自動識別直連或交叉網(wǎng)線并自適應(yīng),為實驗提供了便利。
LAN8742 的通信數(shù)據(jù)線與RJ-45 硬件插座之間需要變壓器連接,可以選擇帶變壓器的RJ-45 接口,也可將變壓器和RJ-45 分開選擇,此時要注意內(nèi)部結(jié)構(gòu)匹配。本文選擇國產(chǎn)H2019 變壓器匹配RJ-45 硬件插座,通過以太網(wǎng)變壓器的連接可以濾除網(wǎng)絡(luò)和設(shè)備之間的噪音,還可以相互隔離抗干擾,對芯片起到了保護(hù)作用。
網(wǎng)口設(shè)計原理圖如圖2 所示,TXD、RXD 引腳連接完成網(wǎng)絡(luò)傳輸數(shù)據(jù)的收發(fā),RX_EN 是數(shù)據(jù)發(fā)送使能線,CLKIN 為參考時鐘引腳,此處的參考時鐘單獨由25MHz 外部晶振提供,為RMII 接口的數(shù)據(jù)收發(fā)和控制提供參考時鐘。RMII 接口要求參考時鐘必須是50MHz,所以晶振提供的25MHz 時鐘要通過LAN8742內(nèi)部PLL 電路倍頻得到50MHz 參考時鐘。
1987年,我在《中國社會科學(xué)》上發(fā)表了論文《人的主體性的進(jìn)程》。這是針對當(dāng)時學(xué)界對主體性的關(guān)注而寫的。市場經(jīng)濟的建立和發(fā)展,呼喚著人的主體性的發(fā)展。當(dāng)時我思考的聚焦點是人的主體性怎樣演化。人的成長要經(jīng)歷一系列發(fā)展過程,包括其間的曲折。我提出了三個時期、九個階段的演進(jìn)模式:初級期人的主體性,即自在、自然、自知、自我的主體性階段;轉(zhuǎn)折期人的主體性,即自失的主體性階段;高級期人的主體性,即自覺、自強、自為、自由的主體性階段。這是我關(guān)于人的主體性演化的假說的主要內(nèi)容。后來我在出版《主體性哲學(xué)——人的存在及其意義》一書時,對人的主體性演化作了較為完整的論述。
圖2 以太網(wǎng)LAN8742電路原理圖
單片機主板電路設(shè)計主要包括處理器STM32F769的最小系統(tǒng)電路設(shè)計,外部存儲電路設(shè)計。主要負(fù)責(zé)姿態(tài)解算并通過串行接口與外界通信。
處理器芯片需要通過多種通信方式與外設(shè)器件通信,還需負(fù)責(zé)對姿態(tài)信息需實時解算??紤]到以上方面,綜合系統(tǒng)的性能、功耗和可擴展性的考慮,本文選取ST 公司的STM32F769 芯片作為系統(tǒng)的處理器。STM32F769 是意法半導(dǎo)體(ST)公司基于ARM Cortex-M7 架構(gòu)設(shè)計出來的一款具有浮點單元芯片,工作頻率高達(dá)216MHz,同時達(dá)到近似于STM32F427 系列的較低靜態(tài)功耗。擁有六組SPI 口以及四組I2C 模塊,一組QSPI 接口,可實現(xiàn)串口、USB、以太網(wǎng)多種與PC 的通信方式。多種通信方式接口滿足本設(shè)計中與傳感器和上位機的多種通信要求,對于本設(shè)計中的姿態(tài)解算要求可以實現(xiàn)較高的數(shù)據(jù)處理速度。
QSPI 是Motorola 公司推出的SPI 接口的擴展,應(yīng)用范圍比SPI 更加廣泛。因為SPI 只有一個8 位發(fā)送數(shù)據(jù)寄存器,所以一次只能傳輸一個8 位數(shù)據(jù),QSPI在SPI 協(xié)議的基礎(chǔ)上增加了隊列傳輸機制,可以一次性傳輸多達(dá)16 個8 位。QSPI 的傳輸過程不需要CPU干預(yù),提高了傳輸效率。QSPI 是一種專用的通信接口,可連接單、雙或四條數(shù)據(jù)線。
處理器通過六條線與Flash 進(jìn)行QSPI 通信,包括一根時鐘信號線,一根片選線和四根數(shù)據(jù)線[9]。QSPI傳輸隊列中,每個傳輸控制組由一個命令RAM、一個發(fā)送RAM 和一個接收RAM 組成。
本設(shè)計中采用一個大小為256MB 的大容量Flash存儲器,型號為MT25QL256,并通過QSPI 與處理器通信。選擇這種快速通信Flash 存儲器是為了存儲傳感器數(shù)據(jù)和姿態(tài)解算數(shù)據(jù),不會丟失,方便處理器隨時調(diào)用。
系統(tǒng)軟件設(shè)計采用模塊化設(shè)計,思路清晰,調(diào)用方便:
●系統(tǒng)初始化模塊:首先對處理器片上資源進(jìn)行初始化,傳感器MPU9250 的初始配置,SPI,UART,RMII 口的初始化。
●微慣性器件數(shù)據(jù)測量模塊:微處理器通過相應(yīng)SPI 通信接口讀取慣性測量單元輸出的數(shù)據(jù)
●姿態(tài)信息處理模塊:此模塊需要處理傳感器輸出數(shù)據(jù),進(jìn)行姿態(tài)信息的解算,并將重要的數(shù)據(jù)信息儲存于Flash 中。
●姿態(tài)信息顯示模塊:系統(tǒng)通過串口或以太網(wǎng)方式與上位機進(jìn)行通信,將姿態(tài)信息在上位機中顯示。
MEMS 傳感器為九軸集成芯片MPU9250,本文通過SPI 進(jìn)行量程設(shè)定和數(shù)據(jù)采集。首先對MPU9250進(jìn)行初始化設(shè)置:解除電源休眠狀態(tài)設(shè)置陀螺儀采樣率和陀螺儀低通濾波頻率,設(shè)置加速度計測量范圍和加速度計高通濾波范圍。
MPU9250 內(nèi)部集成了MPU9150 的陀螺儀、加速度計和AK8963 磁力計。在芯片內(nèi)部,AK8963 只能通過I2C 通信。所以需要先置位MPU9250 內(nèi)部磁力計,然后設(shè)置其I2C 通信地址。
讀取傳感器數(shù)據(jù)模塊:首先進(jìn)行設(shè)置讀取命令,讀取MPU9250 內(nèi)部寄存器0x68,內(nèi)部存儲固定值0x71,若讀出值正確,則SPI 通信時序正確,這可保證與陀螺儀和加速度計兩個傳感器通信成功。磁力計為內(nèi)部集成AK8963,數(shù)據(jù)通信需要按照I2C 時序配置完成磁力計通信,如圖3 所示。
圖3 磁力計讀取流程圖
LwIP 是一套可簡便運行的互聯(lián)網(wǎng)協(xié)議,可以在無操作系統(tǒng)的平臺上運行,結(jié)構(gòu)精簡且包含完整的TCP協(xié)議,適用于嵌入式系統(tǒng),在STM32F7 可直接調(diào)用LwIP 集成庫,易于操作,方便移植。
在移植官方LwIP 庫時,只需根據(jù)情況主要修改enternetif.c 文件,在這個文件中包含了STM32F7 以太網(wǎng)外圍初始化函數(shù)low_level_int,以太網(wǎng)數(shù)據(jù)收發(fā)數(shù)據(jù)包low_level_output 和low_level_intput。ETH_MspInt中設(shè)置RMII 各個引腳并初始化,注意硬件軟件各個引腳對應(yīng)正確。在完成初始化后,調(diào)用MX_Lwip_Process()函數(shù),進(jìn)行PING 實驗,ping 成功代表硬件設(shè)計正確且LAN8742 初始化成功,可進(jìn)行網(wǎng)口通信。
在ping 通后,代表硬件設(shè)計正確,然后通過調(diào)用TCP_Client_Init 函數(shù)進(jìn)行TCP 客戶端初始化,初始化過程需要設(shè)定航姿系統(tǒng)IP 地址和端口號。在上位機網(wǎng)口通信界面,確定IP 地址和端口號是否一致完成網(wǎng)絡(luò)連接,最后調(diào)用TCP_Client_Send_Data()函數(shù)完成姿態(tài)信息傳送。
IP 地址由兩部分組成,網(wǎng)絡(luò)標(biāo)識和主機標(biāo)識。以太網(wǎng)通信時要保證通信兩方網(wǎng)絡(luò)標(biāo)識相同,但是主機標(biāo)識不能重復(fù),彼此不同,保證IP 地址的唯一性。
為了驗證航姿系統(tǒng)設(shè)計的可行性,采用以高精度6軸慣性傳感器ADIS16485 為核心的姿態(tài)檢測系統(tǒng)作為參考系統(tǒng),進(jìn)行實驗驗證。通過硬件電路采集各個MEMS 傳感器的信號,在STM32F769 內(nèi)陀螺儀、加速度計、磁力計的測量數(shù)據(jù)進(jìn)行實時解算與濾波。航姿系統(tǒng)通過串口或以太網(wǎng)將測量姿態(tài)數(shù)據(jù)傳到上位機,運用MATLAB 進(jìn)行數(shù)據(jù)分析。分別進(jìn)行低動態(tài)運動實驗和高動態(tài)單擺實驗,以俯仰角輸出結(jié)果為例,圖4為低動態(tài)實驗時姿態(tài)角對比示意圖,圖5 為單擺實驗時姿態(tài)角對比示意圖。
在上述對比示意圖中,紅色曲線是設(shè)計系統(tǒng)姿態(tài)角曲線,藍(lán)色曲線是高精度慣性航姿參考系統(tǒng)姿態(tài)角曲線。由以上兩組實驗結(jié)果可以看出:在靜態(tài)時,設(shè)計系統(tǒng)姿態(tài)角數(shù)據(jù)結(jié)果誤差??;在低動態(tài)運動時,航姿系統(tǒng)對比參考系統(tǒng)跟蹤能力強,誤差較小;在高動態(tài)單擺運動時,設(shè)計的航姿系統(tǒng)可實時跟蹤載體運動,但是姿態(tài)角誤差較大。實驗測試表明:該系統(tǒng)可以在靜態(tài)和低動態(tài)運動過程實時準(zhǔn)確的測量載體姿態(tài)信息,滿足一般低成本航姿系統(tǒng)要求。但在高動態(tài)運動時,姿態(tài)角誤差大,在后續(xù)的實驗研究中可通過算法研究進(jìn)一步提高測量精度。
圖4 低動態(tài)實驗姿態(tài)角對比示意
圖5 單擺實驗姿態(tài)角對比示意
本文設(shè)計的基于MEMS 的低成本航姿系統(tǒng)結(jié)構(gòu)簡單,實用性強,硬件電路能夠?qū)崿F(xiàn)載體動態(tài)姿態(tài)測量,處理器可實時姿態(tài)解算,并實時解算姿態(tài)信息傳輸?shù)缴衔粰C。在以太網(wǎng)通信軟件設(shè)計中調(diào)用適合嵌入式的LwIP 協(xié)議實現(xiàn)了小型化的資源占用,擴充了航姿系統(tǒng)與上位機通信方式。該系統(tǒng)為姿態(tài)測量系統(tǒng)的硬件平臺搭建奠定了基礎(chǔ)。