黃平 袁佳 朱靜 羊日飛
摘 要:遠程監(jiān)測系統(tǒng)終端是物聯(lián)網系統(tǒng)的重要組成部分。針對物聯(lián)網智能充電樁的實時有功功率監(jiān)測,研究設計了一種以RISC-V架構處理器GD32VF103為主控芯片,以功率計量芯片HLW8012測量有功功率,以SIM800C模塊通過GPRS網絡提供無線連接方式的遠程監(jiān)測系統(tǒng)終端。系統(tǒng)采用的主控芯片是一款基于開源免費RISC-V架構的國產32位通用微控制器,具備高效的處理效能與均衡的系統(tǒng)資源,適用于工業(yè)控制、新興IoT等領域。系統(tǒng)采用模塊化設計具有通用性,可以為其他遠程監(jiān)測系統(tǒng)終端設計提供一定的技術參考與借鑒。
關鍵詞:RISC-V;GD32VF103;GPRS;SIM800C;遠程監(jiān)測;HLW8012
中圖分類號:TP393文獻標識碼:A文章編號:2095-1302(2020)10-00-03
0 引 言
物聯(lián)網是無線通信技術、網絡技術、計算機技術等的綜合應用。隨著物聯(lián)網的快速發(fā)展,其中的遠程監(jiān)測系統(tǒng)應用也越來越廣泛,如當前熱門的物聯(lián)網智能充電樁,其包含對充電電壓、電流的實時監(jiān)測,是一種典型的遠程監(jiān)測系統(tǒng)終端。在此背景下,本文介紹了一種遠程監(jiān)測系統(tǒng)終端設計,它以RISC-V處理器為主控制器,以SIM800C模塊通過GPRS無線技術遠程接收和發(fā)送數(shù)據。
1 系統(tǒng)總體方案設計
遠程監(jiān)測系統(tǒng)通常由移動設備(前端)、云服務器(后端)、嵌入式設備(終端)組成,具體如圖1所示。
(1)前端運行有APP或其他小程序,提供與用戶交互的界面。
(2)后端是云服務器上運行的后臺服務程序,后端作為系統(tǒng)核心,具有連接前端與終端的作用,同時承擔數(shù)據存儲、大數(shù)據分析等職責。
(3)終端嵌入式設備與傳感器連接,負責采集物理世界的狀態(tài)和數(shù)據,經適當處理后傳輸至后端服務器。
本文設計的遠程監(jiān)測系統(tǒng)終端以RISC-V處理器為主控芯片,通過連接單相電能計量芯片采集充電樁實時充電的有功功率,將該有功功率值作為傳輸數(shù)據,經SIM800C模塊連接GPRS網絡,以TCP/IP協(xié)議連接后端服務器,不間斷傳輸至遠程服務器后端。終端系統(tǒng)硬件結構如圖2所示。
2 系統(tǒng)硬件設計
2.1 RISC-V內核的微處理器GD32VF103
GD32VF103芯片是基于RISC-V內核的32位通用微控制器。RISC-V是由加州大學伯克利分校設計并發(fā)布的一種開源指令集架構[1]。RISC-V架構具有如下特點:
(1)具有簡潔精練的指令集,其基本的RISC-V指令數(shù)目僅有40多條;
(2)具有模塊化架構,其指令集使用模塊化方式進行組織,通過模塊化擴展指令數(shù)量并適應不同的應用場景。
GD32VF103微控制器內部采用RISC-V架構的RV32IMAC組合指令集,其適用于低功耗、小面積的嵌入式應用[2]。
GD32VF103微控制器主頻為108 MHz,內置128 KB FLASH存儲器與32 KB SRAM存儲器,采用哈佛結構,使用獨立的總線讀取指令和訪問數(shù)據。內部集成有豐富的外設資源:16位定時器(5個),ADC/DAC(模數(shù)/數(shù)模轉換),U(S)ART,I2C,SPI/I2S,CAN,USB FS等通信接口以及通用GPIO口。本系統(tǒng)使用該款芯片作為核心控制器較為合適。
2.2 GPRS網絡模塊SIM800C
SIM800C模塊是一款性能穩(wěn)定,性價比高的工業(yè)級GSM/GPRS模塊,其工作頻率支持4頻850/900/1 800/1 900 MHz全球使用,可以實現(xiàn)語言、SMS、傳真和數(shù)據信息的低功耗傳輸。
主控芯片通過AT命令集對SIM800C模塊進行控制,模塊與遠端服務器進行TCP連接后可將本地系統(tǒng)采集的數(shù)據傳輸至服務器端,同時也可接收服務器發(fā)來的控制命令。模塊供電范圍為3.4~4.4 V,發(fā)射功率支持1 W或2 W,硬件由1路標準的全功能串口與主控芯片連接。
2.3 功率計量芯片HLW8012
HLW8012是深圳合力為科技推出的單相電能計量芯片,可以測量有功功率、電壓、電流有效值,被廣泛應用于智能家電、智能路燈等場合[3]。HLW8012通過VIP,VIN引腳外接康銅電阻采樣電流信號,V2P引腳采樣電壓信號,芯片內部計算出有功功率,經CF引腳輸出占空比為50%的脈沖信號,主控制器通過測量CF引腳脈沖信號的周期得到測量的有功功率值。
2.4 硬件電路設計
主控芯片GD32VF103采用3.3 V電源供電,外接8 MHz無源晶振作為時鐘源,經內部PLL倍頻產生108 MHz系統(tǒng)時鐘。GD32VF103的通用GPIO口有5組,分別為PA,PB,PC,PD和PE,每組各有16個GPIO引腳。本電路選用其中一個引腳PC0作為輸入,與經光耦隔離的HLW8012芯片CF引腳連接。PC0引腳設置為外部中斷模式,可提高CF引腳脈沖信號下降沿的測量精度。
SIM800C模塊的硬件電路如圖3所示。模塊供電電壓為3.7 V,1腳UART1_TXD為串口發(fā)送端,數(shù)據從SIM800C發(fā)出;2腳UART1_RXD為串口接收端,用于模塊從串口接收主控芯片的AT命令。GD32VF103主控芯片有6個串行異步收發(fā)口,本電路選用其中1個與SIM800C連接,串口配置為115 200 bit/s波特率、8位數(shù)據位、無校驗位、1位停止位,由于SIM800C和主控芯片都是3.3 V電平,所以無需加入電平轉換電路,只在兩者之間串接1 kΩ電阻即可保證信號符合串口傳輸要求。
3 系統(tǒng)軟件設計
軟件設計主要包括兩部分,即控制功率計量芯片HLW8012的軟件設計與控制SIM800C模塊的軟件設計。
3.1 控制HLW8012的程序設計
因為HLW8012的CF引腳輸出占空比為1∶1的高頻方波信號,且方波的周期與測量的有功功率大小成反比,所以主控芯片將通過與CF連接的GPIO口作為輸入,精確測量方波的周期后再經過公式計算獲取有功功率。周期的測量原理利用了GPIO口的下降沿外部中斷觸發(fā),同時利用定時器測量兩次下降沿外部中斷的時間間隔,得到脈沖周期。有功功率數(shù)值的公式計算利用測得的周期時間在主循環(huán)程序中進行??刂艸LW8012程序流程如圖4所示。
3.2 控制SIM800C的程序設計
主控芯片GD32VF103上電后,首先對芯片的USART口進行初始化,設置串口波特率等硬件參數(shù),并配置內核中斷控制器(ECLIC),編寫相應串口中斷服務子程序,用于接收SIM800C串口發(fā)來的數(shù)據。
主控芯片通過串口輸出AT指令控制SIM800C模塊,AT指令的語法格式是以“AT”前綴開頭,指令結尾必須包含“\r\n”,十六進制數(shù)為0x0D,0x0A。SIM800C上電復位后,主控芯片首先發(fā)送一系列AT命令查詢模塊相關狀態(tài),具體命令如下:
(1)AT:測試模塊響應,期待返回“OK”;
(2)AT+CGMM:查詢模塊型號,返回“SIMCOM_SIM800”;
(3)AT+CPIN:查詢SIM卡狀態(tài),若返回“+CPIN:READY”,表示SIM卡狀態(tài)正常;
(4)AT+CSQ:查詢信號質量,返回SIM800C模塊的無線信號強度,如“+CSQ:24,0”。
遠程監(jiān)測終端通過TCP/IP協(xié)議與后端服務器連接,終端作為TCP客戶端,向服務器發(fā)送TCP連接請求,采用AT命令:AT+CIPSTART=“TCP”,“39.97.169.199”,“8086”。其中“39.97.169.199”是遠端服務器的IP地址,“8086”為TCP端口號,模塊接收到該命令后,將與服務器建立一個TCP連接,若連接成功將返回“CONNECT OK”。
其后,根據與服務器事先確定的業(yè)務流程,終端發(fā)送本設備的序列號,登錄并更新服務器終端設備列表,服務器在確定終端上線并保持與終端連接時,可將前端用戶的操作命令下傳給終端,終端同時將監(jiān)測到的有功功率值等數(shù)據上傳到服務器。
4 結 語
本文設計實現(xiàn)了基于RISC-V架構GD32VF103微控制器的遠程監(jiān)測終端系統(tǒng),系統(tǒng)將GD32VF103作為主控芯片,HLW8012為數(shù)據采集模塊,SIM800C為GPRS網絡模塊,實現(xiàn)了數(shù)據的采集與遠程傳輸。由于RISC-V架構處理器具備均衡的處理效能和系統(tǒng)資源,使本系統(tǒng)的解決方案具有一定的通用性,因此在此方案基礎上進行擴展或修改,可以設計實現(xiàn)許多其他嵌入式或物聯(lián)網應用。
注:本文通訊作者為羊日飛。
參考文獻
[1]雷思磊.RISC-V架構的開源處理器及SoC研究綜述[J].單片機與嵌入式系統(tǒng)應用,2017,17(2):56-76.
[2]胡振波.RISC-V架構與嵌入式開發(fā)快速入門[M].北京:人民郵電出版社,2019.
[3]深圳合力為科技.RV-STAR開發(fā)板用戶指南V1.0[EB/OL][2020-01-13]. www.rvmcu.com.
[4] 佚名.SIM800C硬件設計手冊V1.01[EB/OL].[2016-03-02].https://wenku.baidu.com/view/8b41ae843b3567ec102d8ae6.html#.
[5] GD32VF103 RISC-V 32-bit MCU用戶手冊[Z].1.0版本. GigaDevice,2019.
[6]韓進,馬雙.基于SIM800C的GPRS數(shù)據傳輸系統(tǒng)設計[J].電子產品世界,2016,23(11):39-42.
[7]于鐳,崔憲偉.一種基于GPRS與485總線的無線采集器的設計[J].物聯(lián)網技術,2017,7(6):30-32.
[8]蔡紅娟,翟晟,蔡苗,等.基于STM32的GSM智能家居控制系統(tǒng)設計[J].自動化技術與應用,2013,32(8):37-40.
[9]伊新.基于GPRS的電梯在線監(jiān)控系統(tǒng)的設計[J].物聯(lián)網技術,2013,3(3):40-44.
[10]李其高.面向IoT終端設備的RISC-V微控制器設計與分析[J].單片機與嵌入式系統(tǒng)應用,2018,18(3):64-66.