李肅義,楊 帆,楊 強
(吉林大學(xué)儀器科學(xué)與電氣工程學(xué)院,長春 130061)
隨著中國制造2025、工業(yè)4.0、新工科建設(shè)等國家戰(zhàn)略的提出,高校教學(xué)實踐、課程實驗、實習(xí)等成為鍛煉學(xué)生動手能力、增強學(xué)生創(chuàng)新實踐能力、促進產(chǎn)學(xué)研結(jié)合以及培養(yǎng)更多復(fù)合型優(yōu)秀人才的重要環(huán)節(jié)[1-3]。在部分工科實驗教學(xué)中,儀器儀表、微處理器、傳感器以及操作系統(tǒng)、軟硬件平臺都是支撐實驗順利開展的基本條件。由于國際貿(mào)易戰(zhàn)、專利戰(zhàn)等制裁的影響,部分企業(yè)已經(jīng)出現(xiàn)芯片短缺、專利不再授權(quán)、原材料限制等問題的發(fā)生,甚至部分高校也在被制裁名單之中,一些專業(yè)的軟件也不再被授權(quán)使用[4-5]。這些現(xiàn)象的發(fā)生無疑對新冠肺炎疫情下的復(fù)工復(fù)產(chǎn)、學(xué)術(shù)科研有著嚴重影響,如果國際形式持續(xù)惡化,最終高校相關(guān)實踐教學(xué)環(huán)節(jié)也會由于上述問題而無法順利開展。推進高校實驗教學(xué)軟、硬件平臺的國產(chǎn)化,是在滿足國家戰(zhàn)略、順利實現(xiàn)不同階段的新發(fā)展目標以及為社會可持續(xù)培養(yǎng)復(fù)合型優(yōu)秀人才的必經(jīng)之路[6-7]。
姿態(tài)信息檢測在無人機、體感遙控、機器人、慣性導(dǎo)航等多個領(lǐng)域都有著重要作用[8-9]。姿態(tài)檢測裝置一般體積和功耗較大,且使用的傳感器及配套上位機軟件均為進口,成本較高。開展姿態(tài)檢測系統(tǒng)設(shè)計,有助于姿態(tài)檢測系統(tǒng)向小型化、智能化、國產(chǎn)化方向推進,服務(wù)于更多姿態(tài)檢測領(lǐng)域。
大學(xué)生創(chuàng)新實驗項目是專業(yè)理論和實踐相結(jié)合的培養(yǎng)方法,不但可鍛煉學(xué)生獨立分析和動手的能力,而且也能培養(yǎng)學(xué)生創(chuàng)新思維。本文以儀器專業(yè)大學(xué)生創(chuàng)新實驗項目為例,設(shè)計一套基于國產(chǎn)微處理器及傳感器實現(xiàn)的三軸姿態(tài)信息檢測裝置以及一套基于國產(chǎn)CPU和國產(chǎn)操作系統(tǒng)運行的上位機軟件。本實驗項目可讓學(xué)生在實驗過程中熟悉國產(chǎn)軟、硬件平臺的發(fā)展及應(yīng)用示例,通過原理圖與PCB設(shè)計、焊接調(diào)試、嵌入式編程、上位機編程與二次開發(fā)、平臺移植與部署、軟硬件聯(lián)合調(diào)試等步驟,全方位培養(yǎng)學(xué)生的創(chuàng)新實踐能力。
本文依托儀器專業(yè)大學(xué)生創(chuàng)新實驗項目,根據(jù)課題立項需求,通過硬、軟件設(shè)計,軟、硬件聯(lián)合調(diào)試等過程,完成實驗項目的預(yù)期指標。實驗設(shè)計思路如圖1所示,學(xué)生通過在項目中對軟硬件設(shè)計和聯(lián)合調(diào)試過程,在完成項目成果驗收的同時,其獨立分析設(shè)計能力、動手實踐能力、邏輯與創(chuàng)新思維以及問題定位與解決能力都能得到有效的鍛煉和培養(yǎng)。
圖1 實驗設(shè)計思路
本文設(shè)計的三軸姿態(tài)信息采集系統(tǒng),主要包含硬件采集裝置與上位機監(jiān)測軟件。硬件部分主要通過微處理器配合傳感器實現(xiàn)三軸角速度、三軸加速度、三軸磁場以及翻轉(zhuǎn)角、俯仰角、航向角等姿態(tài)信息的檢測。通過按鍵輸入、光敏輸入、RGB 狀態(tài)燈實現(xiàn)顯示模式切換和系統(tǒng)狀態(tài)提示,同時支持北斗的經(jīng)緯度定位、氣壓海拔參數(shù)的檢測功能。采集的多種參數(shù)可通過TFT液晶屏動態(tài)刷新,同時支持將數(shù)據(jù)流通過串口輸出至上位機,通過軟件實現(xiàn)對數(shù)據(jù)流進一步的解析和動態(tài)渲染功能。檢測系統(tǒng)設(shè)計方案如圖2 所示。
硬件設(shè)計主要分為采集、控制以及數(shù)據(jù)狀態(tài)顯示系統(tǒng),如圖3 所示。采集系統(tǒng)主要包括姿態(tài)、北斗、光敏傳感器的數(shù)據(jù)采集以及多路按鍵掃描;控制系統(tǒng)通過微處理器對采集的數(shù)據(jù)進行分析處理,傳送至數(shù)據(jù)顯示系統(tǒng);數(shù)據(jù)狀態(tài)顯示系統(tǒng)包括液晶屏、軟件上位機的實現(xiàn)數(shù)據(jù)顯示功能,RGB 指示燈用于提示系統(tǒng)不同運行狀態(tài)。
圖3 硬件總體設(shè)計
系統(tǒng)采用國產(chǎn)JY901B 三軸姿態(tài)傳感器,該傳感器支持三軸角速度、三軸加速度、三軸磁場、翻轉(zhuǎn)角、俯仰角、航向角、氣壓、海拔等信息的檢測,與微處理器之間采用全速400KB的I2C通信。
北斗傳感器采用國產(chǎn)ATGM332D-5N31 傳感器,與微處理器之間采用USART通信,支持北斗獨立定位模式,冷啟動捕獲靈敏度高達-148 dBm,跟蹤靈敏度可達-162 dBm,定位精度2.5 m(CEP50),配合外置1 580 MHz天線完成搜星工作。
光敏電阻采用主控模塊的A/DC GPIO通道采集;按鍵電路通過主控模塊對多路GPIO 進行電平掃描,實現(xiàn)按鍵識別,采集系統(tǒng)原理如圖4 所示。
圖4 采集系統(tǒng)原理圖
本文中微處理器選擇的是國產(chǎn)ESP32-WROOM-32E模組,與以往STM32 同主頻、價格的系列相比,ESP32 模組擁有更大的片上內(nèi)存、豐富的外設(shè)接口、自集成藍牙、WiFi 射頻功能,在一些物聯(lián)網(wǎng)以及采集和控制場景中,基本可以滿足硬件配置需求,主控系統(tǒng)原理如圖5 所示。
圖5 控制系統(tǒng)原理圖
為方便多種信息的實時觀察,硬件裝置采用8.1 mm TFT LCD屏,分辨率240 ×320,采用ILI9341 四線制SPI驅(qū)動,18 pin FPC底座連接,整體功耗約為0.32 W。通過控制系統(tǒng)處理過后的數(shù)據(jù)也可通過硬件串口傳輸?shù)缴衔粰C進行后續(xù)的數(shù)據(jù)刷新和動態(tài)曲線渲染。RGB指示燈用于提示系統(tǒng)運行中的不同種狀態(tài)及異常等。顯示系統(tǒng)原理如圖6 所示。
圖6 顯示系統(tǒng)原理圖
雙層電路板焊接后實物如圖7 所示,硬件裝置多數(shù)元器件均采用模組化封裝,以便于學(xué)生在實驗過程中完成焊接和器件更換。硬件系統(tǒng)電源由5 V USB接口輸入,經(jīng)AMS1117-3.3 降至3.3 V,可供主控模組以及液晶屏使用;除供電外,USB 接口與CP2102 芯片進行串口通信,配合下載電路實現(xiàn)嵌入式程序的燒錄以及將采集數(shù)據(jù)流通過串口傳送至上位機。4 路按鍵輸入實現(xiàn)對硬件系統(tǒng)的重啟和重置、液晶屏翻頁以及屏幕亮度模式的切換。1 路光敏電阻完成對外界環(huán)境光照的采集,實現(xiàn)對屏幕亮度的自動調(diào)節(jié)。1 路RGB 指示燈,用于提示系統(tǒng)不同工作中的狀態(tài)。
圖7 電路板
軟件設(shè)計主要包括嵌入式程序和上位機監(jiān)測軟件設(shè)計。嵌入式程序采用開源編輯器Visual Studio Code開發(fā),基于Arduino 框架完成ESP32 主控的嵌入式開發(fā)工作[10];液晶屏顯示驅(qū)動基于LVGL 開源UI 框架完成圖形界面的開發(fā)[11]。上位機監(jiān)測軟件基于Qt開源跨平臺框架完成用戶界面和應(yīng)用[12-14]。
嵌入式軟件設(shè)計流程如圖8 所示。在硬件裝置供電后,對串口、模擬串口、I2C、SPI和傳感器進行配置和初始化,如果某一分支出現(xiàn)異常則會通過RGB指示燈提示,初始化正常后開始傳感器數(shù)據(jù)采集;整體嵌入式程序包括兩種數(shù)據(jù)顯示方法,一是將采集的數(shù)據(jù)整合協(xié)議流,通過串口傳輸至上位機,二是通過基于LVGL視覺框架渲染,將檢測到的多種數(shù)據(jù)參數(shù)傳入框架,并在液晶屏上完成顯示;設(shè)計4 路按鍵電平采集和一路光敏電阻A/D采集,分別完成硬件系統(tǒng)的重啟、重置,液晶屏的頁面切換以及配合光敏電阻實現(xiàn)對液晶屏亮度的自動調(diào)節(jié)功能。
圖8 嵌入式軟件設(shè)計流程
上位機終端軟件設(shè)計流程如圖9 所示。軟件開啟時,對系統(tǒng)的線程、信號槽以及各部分功能模塊進行初始化,使用QtSerialPort 類實現(xiàn)與硬件的串口通信,待硬件端與上位機主機連接后,自動檢測相關(guān)COM口實現(xiàn)開關(guān)功能。串口線程開啟后,等待硬件采集端發(fā)送的數(shù)據(jù)流,并校驗是否完整,如果數(shù)據(jù)流在傳輸過程中因為外界干擾、通信異常而導(dǎo)致協(xié)議不完整,則自動舍棄當前數(shù)據(jù)流,等待下一次的通信。使用Qtcharts 等類實現(xiàn)對檢測數(shù)據(jù)的動態(tài)刷新、曲線動態(tài)渲染等功能。
圖9 終端軟件設(shè)計流程
硬件測試裝置如圖10 所示。電路板尺寸為7.69 cm×5.11 cm,與液晶屏尺寸基本一致,電路板四周共有4 個M3 的通孔,整體質(zhì)量113 g,可安裝在無人機、無人車等需要采集姿態(tài)信息的裝置上。裝置接通5 V電源后,系統(tǒng)開始初始化,調(diào)度傳感器完成相關(guān)參數(shù)的檢測。在使用北斗傳感器檢測經(jīng)緯度時,需將天線置于室外或窗邊,可加速搜星完成定位和授時功能。
圖10 硬件測試
上位機硬件測試環(huán)境:飛騰D2000 處理器,8GB內(nèi)存,256GB SSD 固態(tài)硬盤;軟件測試環(huán)境:麒麟操作系統(tǒng)V10,Qt 7.0.2 版本。將USB 供電線連接至主機,打開系統(tǒng)終端,執(zhí)行“sudo chmod a +rw /dev/ttyUSB0”命令,使該串口獲得通信權(quán)限,打開上位機軟件,在串口處下拉選擇當前串口ttyUSB0,并點擊右側(cè)打開按鈕,在軟件上方面板實時刷新硬件檢測的數(shù)據(jù)。終端軟件測試如圖11 所示。
圖11 終端軟件測試結(jié)果
為保證曲線顯示效果,可通過選擇不同種類參數(shù)實現(xiàn)動態(tài)曲線的渲染。在軟件右側(cè)狀態(tài)欄中,會顯示每一次系統(tǒng)切換檢測類別、曲線的時間節(jié)點;下方的接收和發(fā)送狀態(tài)欄,可顯示當前系統(tǒng)接收和發(fā)送的數(shù)據(jù)總量。
憑借開源框架Qt在跨平臺方面的優(yōu)勢,使得上位機軟件在多系統(tǒng)平臺部署成為可能。在Windows 11系統(tǒng)按照上位機監(jiān)測軟件設(shè)計流程進行部署和開發(fā),主要完成串口開關(guān)、數(shù)據(jù)解析、檢測種類切換、數(shù)據(jù)刷新顯示和動態(tài)曲線渲染等功能。開發(fā)完成后,在麒麟平臺同樣安裝Qt 開發(fā)環(huán)境,經(jīng)過系統(tǒng)權(quán)限配置、進程管理調(diào)度和部分UI適配,完成本次上位機軟件在麒麟平臺的部署過程,所有在Windows 系統(tǒng)上的功能全部在麒麟平臺實現(xiàn),上位機雙平臺部署如圖12 所示。
圖12 雙平臺部署結(jié)果
針對上位機軟件的部署運行,相比較Windows 系統(tǒng),基于開源Linux 的麒麟操作系統(tǒng)在安全性、穩(wěn)定性、啟動速度都具備明顯的優(yōu)勢。而國產(chǎn)化軟硬件平臺在進行一些復(fù)雜圖形渲染時,相比Windows 軟硬件平臺仍具有一定的差距,但大部分功能均可實現(xiàn)。
上位機部署的過程中,分別在Windows和麒麟系統(tǒng)中進行軟件運行測試,其性能對比見表1。國產(chǎn)化軟硬件平臺編譯后的應(yīng)用程序在體積和啟動時間上得益于Linux底層優(yōu)化,相比Windows 平臺具有一定的優(yōu)勢;在程序啟動后但未運行時,內(nèi)存占用基本一致,但程序開始運行后,動態(tài)曲線的實時渲染,其內(nèi)存占用情況相比Windows平臺差距較大,且在執(zhí)行一些復(fù)雜渲染任務(wù)時,卡頓明顯。
表1 內(nèi)存占用對比
硬件平臺,無論是CPU、GPU還是硬件開發(fā)板,國外平臺性能較強,并且由于產(chǎn)量高、產(chǎn)業(yè)鏈條完善,價格也具有一定優(yōu)勢。軟件平臺,國內(nèi)操作系統(tǒng)起步較晚、開發(fā)者較少,無論是從平臺的優(yōu)化程度、適配軟件的豐富程度、更新迭代的速度來看,國產(chǎn)軟件平臺也存在較大差距[15-18]。但針對高校教學(xué)和實驗課程,在一些基礎(chǔ)的實驗場景中,國產(chǎn)軟硬件平臺基本可滿足需求。而對于國產(chǎn)化軟硬件平臺的發(fā)展來說,用戶群體的數(shù)量是平臺穩(wěn)定的關(guān)鍵,熟悉的用戶越多、使用的群體越龐大是平臺發(fā)展的基礎(chǔ)。加速推進國產(chǎn)化軟硬件平臺教材、課程的布局是關(guān)鍵,能在高校中培養(yǎng)人才,并加大國產(chǎn)化平臺在相關(guān)領(lǐng)域的宣傳力度和企業(yè)中相關(guān)崗位需求,讓更多的開發(fā)者加入到國產(chǎn)化軟硬件平臺的建設(shè)。
市場需求量是平臺發(fā)展的關(guān)鍵。需要加速軟硬件平臺上下游的產(chǎn)業(yè)布局,推動科技企業(yè)相關(guān)產(chǎn)品國產(chǎn)化的替代進程,協(xié)調(diào)推進供需兩端。
生態(tài)社區(qū)建設(shè)是平臺創(chuàng)新的關(guān)鍵。國產(chǎn)化軟硬件平臺的發(fā)展需要更多技術(shù)人才共同維護和迭代更新,以防入門的開發(fā)者遇到問題無法快速解決,逐漸失去熱情。加強開源社區(qū)的生態(tài)建設(shè),吸引更多國內(nèi)甚至國際的開發(fā)者共同維護,不斷發(fā)現(xiàn)指出當前版本的不足和漏洞,讓開發(fā)者參與版本迭代,讓更多的開發(fā)經(jīng)歷能被記錄,對后續(xù)入門開發(fā)者具有指導(dǎo)意義。
關(guān)注度是平臺可持續(xù)的關(guān)鍵。不僅是高校、企業(yè)開發(fā)者的關(guān)注,更重要的是國家政策和投資市場的關(guān)注度。隨著近年來技術(shù)制裁、貿(mào)易問題不斷加劇,國家出臺了相關(guān)政策,大力推動國產(chǎn)化的進程。發(fā)展軟硬件平臺的國產(chǎn)化是個長期過程,需要不斷地投入研發(fā)成本、產(chǎn)品驗證再到量產(chǎn)。隨著國家政策補貼的加持,讓更多企業(yè)得到資本市場的關(guān)注,企業(yè)為社會提供更多國產(chǎn)化平臺服務(wù)矩陣和崗位需求,增強校、企聯(lián)動,共同促進國產(chǎn)化平臺的可持續(xù)發(fā)展。
通過本次國產(chǎn)化平臺的三軸姿態(tài)信息采集系統(tǒng)的設(shè)計與實現(xiàn),學(xué)生結(jié)合自身專業(yè)基礎(chǔ)知識和相關(guān)實踐訓(xùn)練,過程進行硬件設(shè)計、軟件設(shè)計以及聯(lián)合調(diào)試,可鍛煉學(xué)生獨立分析、動手能力和培養(yǎng)學(xué)生的創(chuàng)新思維??勺寣W(xué)生了解國產(chǎn)化軟硬件平臺目前的發(fā)展以及國內(nèi)外軟硬件的差距和需要重點突破的技術(shù)方向。相信未來隨著國家對芯片半導(dǎo)體、自主操作系統(tǒng)的持續(xù)推進,更多的高校學(xué)生能夠成為專業(yè)的開發(fā)者,讓更多的教學(xué)實驗項目可以應(yīng)用在國產(chǎn)化軟硬件平臺。
實施創(chuàng)新驅(qū)動發(fā)展戰(zhàn)略,必須緊緊抓住科技創(chuàng)新這個“牛鼻子”,切實營造實施創(chuàng)新驅(qū)動發(fā)展戰(zhàn)略的體制機制和良好環(huán)境,加快形成我國發(fā)展新動源。
——《在中央財經(jīng)領(lǐng)導(dǎo)小組第七次會議上的講話》(2014 年8 月18 日)