王顯海,王 騰,徐輝霞,張科新,趙建輝,蔡文博
(1.常州信息職業(yè)技術(shù)學(xué)院電子工程學(xué)院,江蘇 常州 213164;2.常州市工業(yè)互聯(lián)網(wǎng)研究院有限公司,江蘇 常州 213164;3.常州天正信息科技有限公司,江蘇 常州 213164)
人類社會(huì)已進(jìn)入工業(yè)互聯(lián)網(wǎng)時(shí)代,這將是一個(gè)人與人、人與機(jī)器、機(jī)器與機(jī)器全面互聯(lián)的時(shí)代。 在全球范圍內(nèi),將有超過(guò)600 億臺(tái)機(jī)器設(shè)備要接入工業(yè)互聯(lián)網(wǎng)[1]。 然而工業(yè)數(shù)據(jù)采集面臨著數(shù)據(jù)采集數(shù)量不足、類型較少、功能單一、精度不高和定制化等突出問(wèn)題。無(wú)論是跨國(guó)公司還是國(guó)內(nèi)企業(yè),都把數(shù)據(jù)采集體系建設(shè)作為工業(yè)互聯(lián)網(wǎng)平臺(tái)建設(shè)的基礎(chǔ)之一。 目前,數(shù)據(jù)采集設(shè)備大多以STM32 微處理器為控制核心或與現(xiàn)場(chǎng)可編程門(mén)陣列(field programmable gate array,FPGA)組合[2-4],并根據(jù)不同需求通過(guò)以太網(wǎng)、總線或ZigBee與上位機(jī)通信[5-7]。 在實(shí)際工業(yè)生產(chǎn)環(huán)境中,工業(yè)生產(chǎn)設(shè)備的安裝環(huán)境往往具有復(fù)雜性,布局有線通信的方式可能面臨一定的困難。 基于4G 通信的高速率和可靠性,本文提出一種以STM32 微處理器為控制核心的4G 網(wǎng)絡(luò)遠(yuǎn)程多通道數(shù)據(jù)采集系統(tǒng),可以方便地應(yīng)用于工業(yè)生產(chǎn)現(xiàn)場(chǎng)。
整個(gè)系統(tǒng)是一個(gè)基于 STM32F103 微處理器的工業(yè)數(shù)據(jù)多通道采集、處理、傳輸?shù)闹悄芟到y(tǒng),可用于工業(yè)設(shè)備遠(yuǎn)程監(jiān)控和維護(hù)等場(chǎng)景。 該系統(tǒng)作為物聯(lián)網(wǎng)的一個(gè)智能終端,可與物聯(lián)網(wǎng)運(yùn)營(yíng)平臺(tái)組成完整的設(shè)備數(shù)字化遠(yuǎn)程運(yùn)維系統(tǒng)。 系統(tǒng)集數(shù)據(jù)采集、存儲(chǔ)和通信功能于一體,主要由核心控制模塊、多通道數(shù)據(jù)采集模塊、4G 通信模塊、外部存儲(chǔ)模塊、工作狀態(tài)指示模塊和實(shí)時(shí)時(shí)鐘(real time clock,RTC)功能模塊組成。 核心控制模塊對(duì)5 路來(lái)自多通道數(shù)據(jù)采集模塊的數(shù)字量輸入信號(hào)進(jìn)行采樣,然后通過(guò)4G 通信模塊將數(shù)據(jù)按私有協(xié)議組包上傳。 4G 通信模塊不僅傳輸5 路數(shù)字輸入量,還將上傳生產(chǎn)設(shè)備的編號(hào)、地理位置等其他信息。 數(shù)據(jù)上傳的機(jī)制為:當(dāng)設(shè)備狀態(tài)發(fā)生改變時(shí)立即上傳,否則以固定的周期發(fā)送數(shù)據(jù)包。 當(dāng)數(shù)據(jù)包未成功發(fā)送時(shí),外部存儲(chǔ)模塊將此包數(shù)據(jù)存儲(chǔ)至外部FLASH 存儲(chǔ)模塊,待網(wǎng)絡(luò)正常后重新發(fā)送數(shù)據(jù)包。 工作狀態(tài)指示模塊主要反映系統(tǒng)工作的狀態(tài)。 RTC 功能模塊用于記錄并上傳系統(tǒng)實(shí)時(shí)時(shí)間和設(shè)備斷電時(shí)間。 系統(tǒng)硬件框架如圖1 所示。
圖1 系統(tǒng)硬件框架圖Fig.1 System hardware block diagram
系統(tǒng)核心控制模塊采用意法半導(dǎo)體公司的STM32F103RET6 芯片。 該芯片采用高性能的32 位ARM Cortex-M3 內(nèi)核[8],通過(guò)應(yīng)用內(nèi)部鎖相環(huán)(phase locked loop,PLL),工作頻率最高可達(dá)72 MHz,內(nèi)置512 KB 的閃存存儲(chǔ)器及64 KB 的SRAM。 豐富的存儲(chǔ)資源使得該系列的芯片基本不用外擴(kuò)SRAM 就能完成普通的應(yīng)用。 該芯片采用2.0~3.6 V 的低壓供電,降低了系統(tǒng)功耗,非常適合工業(yè)控制領(lǐng)域的應(yīng)用[9]。
系統(tǒng)采用基于4G 網(wǎng)絡(luò)的遠(yuǎn)程數(shù)據(jù)采集模式。 固件采用片內(nèi)緩存機(jī)制,可以有效地優(yōu)化2G 網(wǎng)絡(luò)采集終端現(xiàn)有的丟包及信道堵塞等問(wèn)題。 同時(shí),固件增加了收發(fā)應(yīng)答緩存機(jī)制。 若連續(xù)3 次無(wú)接收應(yīng)答,則將此包數(shù)據(jù)存儲(chǔ)至外部存儲(chǔ)模塊的FLASH 中,待信號(hào)恢復(fù)后重新發(fā)送數(shù)據(jù),保證數(shù)據(jù)的穩(wěn)定傳輸,實(shí)現(xiàn)良好的通信可靠性,數(shù)據(jù)傳輸丟包率低至0.5%。 4G 通信模塊不僅傳輸5 路數(shù)字輸入量,還將生產(chǎn)設(shè)備的其他信息進(jìn)行上傳。 例如,設(shè)備編號(hào)、數(shù)據(jù)采集時(shí)間戳、定位信息、歷史狀態(tài)參數(shù)、設(shè)備上電信息、異常數(shù)據(jù)包、最近斷電時(shí)間信息和SIM 卡的集成電路卡識(shí)別碼(integrate circuit card identity,ICCID)。
綜合實(shí)際應(yīng)用考慮,系統(tǒng)采用合宙通信科技有限公司的4G 模塊Air720G 作為系統(tǒng)的通信模塊,并以接插件形式內(nèi)置于主板上,保證模塊選用的靈活性。 4G通信模塊采用LTE 3GPP Rel.9 技術(shù),支持最大下行速率150 Mbit/s 和最大上行速率50 Mbit/s,滿足本系統(tǒng)的應(yīng)用需求。 Air720G 模塊能夠向下兼容現(xiàn)存的GSM/GPRS 網(wǎng)絡(luò),以確保在缺乏 3G 和 4G 網(wǎng)絡(luò)的偏遠(yuǎn)地區(qū)也能正常工作。 Air720G 內(nèi)置豐富的網(wǎng)絡(luò)協(xié)議,集成了多個(gè)工業(yè)標(biāo)準(zhǔn)接口,并支持多種操作系統(tǒng)下的USB 驅(qū)動(dòng)和軟件功能,極大地拓展了其在數(shù)據(jù)卡、路由器、安防等機(jī)器對(duì)機(jī)器(machine to machine,M2M)領(lǐng)域的應(yīng)用范圍。
4G 通信模塊與主板的接口如圖2 所示。 其中,模塊開(kāi)和復(fù)位控制連接主要用于控制4G 通信模塊的電源和復(fù)位;模塊喚醒控制連接用于通信模塊的喚醒功能;模塊狀態(tài)指示連接用于顯示通信模塊的工作狀態(tài),包括4G 網(wǎng)絡(luò)狀態(tài)、4G 通信模塊工作狀態(tài)和4G 網(wǎng)絡(luò)連接狀態(tài)顯示;系統(tǒng)主板與4G 通信模塊之間的數(shù)據(jù)通信通過(guò)UART 進(jìn)行;4G 通信核心模塊Air720G 的供電電壓為3.8 V,由VCC 控制信號(hào)控制5 V 降壓得到。由于射頻發(fā)射時(shí)會(huì)在短時(shí)間內(nèi)有一個(gè)較大電流的突發(fā)脈沖,可能導(dǎo)致在此階段內(nèi)供電電壓的跌落。 因此,該模塊的電源網(wǎng)絡(luò)必須具備嚴(yán)苛的濾波功能。 如圖3 所示,Air720G 的電源VCC_3.8 V 并聯(lián)了一個(gè)低等效串聯(lián)電阻(equivalent series resistance,ESR)為0. 7 Ω 的100 μF 的鉭電容,以及100 nF、33 pF、10 pF 的濾波電容(0603 封裝),確保在最大發(fā)射功率時(shí)的大電流下不會(huì)產(chǎn)生太大的電壓跌落。
圖2 4G 通信模塊與主板的接口圖Fig.2 Interface between 4G communication module and mainboard
圖3 模塊在4G 模式下發(fā)射時(shí)的電壓電流波形圖Fig.3 Voltage and current waveform diagram of the module when transmitting in 4G mode
Air720G 4G 通信模塊的電源濾波網(wǎng)絡(luò)如圖4所示。
圖4 Air720G 4G 通信模塊的電源濾波網(wǎng)絡(luò)Fig.4 Power filter network for Air720G 4G communication module
數(shù)據(jù)采集電路(1 路)如圖5 所示。
圖5 數(shù)據(jù)采集電路(1 路)Fig.5 Data acquisition circuit(one channel)
多通道數(shù)據(jù)采集模塊由5 路數(shù)字量輸入信號(hào)采集電路構(gòu)成,5 路數(shù)字量輸入信號(hào)采集電路的結(jié)構(gòu)相同??刹杉男盘?hào)包括被采集設(shè)備的待機(jī)信號(hào)、運(yùn)行信號(hào)、報(bào)警信號(hào),以及被采集設(shè)備的2 路節(jié)拍計(jì)數(shù)信號(hào)。 被采集設(shè)備的信號(hào)通過(guò)IN2 和COM 端輸入,并且不需要區(qū)分信號(hào)電源正負(fù)極性,具有良好的過(guò)流、過(guò)壓保護(hù)功能。 TVS4 為限壓型雙向瞬態(tài)抑制二極管,最大可承受的反向電壓為36 V,響應(yīng)速度小于1 ns,具有很強(qiáng)的防浪涌性能。 輸入信號(hào)通過(guò)光耦U8傳遞到STM32F103微處理器進(jìn)行數(shù)據(jù)處理。
系統(tǒng)增加實(shí)時(shí)時(shí)鐘機(jī)制,通過(guò)添加紐扣電池和RTC 功能,記錄系統(tǒng)實(shí)時(shí)時(shí)間,上傳數(shù)據(jù)采集的時(shí)間點(diǎn),并記錄設(shè)備每次斷電時(shí)間,以生產(chǎn)數(shù)據(jù)的可追溯性。
存儲(chǔ)器選用華邦電子(Winbond)的FLASH 芯片W25Q32JVSSIQ。 它的容量為32 MB,滿足數(shù)據(jù)包無(wú)法上傳時(shí)將其存入FLASH 芯片內(nèi)的要求。 待網(wǎng)絡(luò)正常后重新傳輸數(shù)據(jù)包,為系統(tǒng)數(shù)據(jù)傳輸?shù)姆€(wěn)定、可靠提供保障。 該類芯片提供的靈活性和性能遠(yuǎn)遠(yuǎn)超出普通的串行閃存器[10]。 該器件工作電壓為3.6 V,電流消耗低至4 mA,能在-40~+85 ℃下正常工作。 芯片支持50 Mbit/s 的連續(xù)數(shù)據(jù)傳輸率及超過(guò) 10 萬(wàn)次數(shù)據(jù)讀寫(xiě)操作,數(shù)據(jù)可保存20 年。 主控芯片STM32F103 與存儲(chǔ)芯片W25Q32 之間通過(guò)串行外設(shè)接口(serial peripheral interface,SPI)總線進(jìn)行通信。 STM32F103的串行寄存器通過(guò)PB12 端口向W25Q32 的/CS 端口送入低電平的芯片片選信號(hào),通過(guò)串行寄存器通過(guò)PB15 向W25Q32 的SI 端口寫(xiě)入指令,W25Q32 通過(guò)SO 端輸出相應(yīng)的數(shù)據(jù)。 W25Q32 引腳功能如表1所示。
表1 W25Q32 引腳功能/Tab.1 Functions of W25Q32 pins
W25Q32 與STM32F103 接口的電路圖如圖6 所示。
圖6 W25Q32 與STM32 F103 接口的電路圖Fig.6 Circult diagram of interface between W25Q32 and STM32 F103
為顯示系統(tǒng)的工作及網(wǎng)絡(luò)狀態(tài),專門(mén)設(shè)計(jì)了4 個(gè)LED 燈,用于顯示系統(tǒng)的電源和工作狀態(tài)是否正常,以及4G 網(wǎng)絡(luò)的狀態(tài)和連接情況。 工作狀態(tài)指示模塊的電路如圖7 所示。
圖7 工作狀態(tài)指示模塊的電路圖Fig.7 Circuit diagram of working state indication module
系統(tǒng)工作正常時(shí),D5常亮,D15閃爍,由STM32F103主控模塊通過(guò)SYS_RUN 信號(hào)進(jìn)行控制。 系統(tǒng)工作異常時(shí),D15常亮或常滅。 D16和D17用來(lái)反映4G 網(wǎng)絡(luò)的狀態(tài)和連接情況,由4G 通信模塊分別通過(guò)NET_STATUS 和 NET _ MODE 信 號(hào) 進(jìn) 行 控 制。 同 時(shí),STM32F103 主控芯片分別對(duì)這2 個(gè)信號(hào)進(jìn)行取樣,并根據(jù)取樣的4G_NET 和4G_LINK 信號(hào)判斷當(dāng)前網(wǎng)絡(luò)連接情況。 如果沒(méi)有網(wǎng)絡(luò),直接將數(shù)據(jù)包緩存到外部存儲(chǔ)模塊的FLASH 芯片內(nèi);如果網(wǎng)絡(luò)連接正常,則發(fā)送數(shù)據(jù)包和離線時(shí)存儲(chǔ)在FLASH 中的數(shù)據(jù)。 工作狀態(tài)指示燈的功能說(shuō)明如表2 所示。
表2 工作狀態(tài)指示燈的功能說(shuō)明Tab.2 Function description of working state indictors
系統(tǒng)上電后首先進(jìn)行初始化,對(duì)STM32F103、4G通信模塊、外部FLASH 模塊進(jìn)行初始化設(shè)置。 系統(tǒng)程序根據(jù)是否已聯(lián)網(wǎng)分為兩條支路。 當(dāng)網(wǎng)絡(luò)已連接時(shí),系統(tǒng)檢測(cè)是否有離線數(shù)據(jù)包待傳輸:如果有,則發(fā)送離線緩存的數(shù)據(jù);如沒(méi)有,則發(fā)送設(shè)備上電信息(設(shè)備位置、最近斷電時(shí)間信息、ICCID)。 然后,開(kāi)始定時(shí)監(jiān)測(cè)端口數(shù)據(jù)。 當(dāng)系統(tǒng)未聯(lián)網(wǎng)時(shí),系統(tǒng)直接定時(shí)檢測(cè)端口的輸入數(shù)據(jù),并與上次數(shù)據(jù)進(jìn)行比較。 如果2 次數(shù)據(jù)不相同,系統(tǒng)立即將本次檢測(cè)的數(shù)據(jù)打包后實(shí)時(shí)發(fā)送;如果2 次數(shù)據(jù)相同,系統(tǒng)對(duì)檢測(cè)數(shù)據(jù)進(jìn)行記錄,記錄滿后按設(shè)定的時(shí)間間隔進(jìn)行數(shù)據(jù)發(fā)送(例如,輸入信號(hào)狀態(tài)在3 min 內(nèi)未改變時(shí),發(fā)一包數(shù)據(jù)),并根據(jù)系統(tǒng)網(wǎng)絡(luò)連接的情況,將數(shù)據(jù)打包作為離線數(shù)據(jù)進(jìn)行緩存,或?qū)?shù)據(jù)打包后實(shí)時(shí)發(fā)送。 最后,系統(tǒng)返回定時(shí)監(jiān)測(cè)端口輸入數(shù)據(jù)階段,進(jìn)行下一次端口數(shù)據(jù)檢測(cè)與比較。
工業(yè)設(shè)備遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)的主程序流程如圖8所示。
圖8 主程序流程圖Fig.8 Flowchart of main program
本數(shù)據(jù)采集系統(tǒng)安裝于天正公司的客戶生產(chǎn)現(xiàn)場(chǎng)進(jìn)行性能測(cè)試。 通過(guò)Web 測(cè)試網(wǎng)頁(yè)或設(shè)備助手APP應(yīng)用,查看系統(tǒng)上傳的設(shè)備斷電時(shí)間、SIM 卡號(hào)、設(shè)備定位信息、設(shè)備編號(hào)、數(shù)據(jù)采集時(shí)間戳等信息;對(duì)15 臺(tái)生產(chǎn)設(shè)備連續(xù)測(cè)試56 h,總計(jì)收集數(shù)據(jù)包2 669 包;統(tǒng)計(jì)并分析設(shè)備狀態(tài)采集、狀態(tài)時(shí)長(zhǎng)、數(shù)據(jù)丟包率等信息。 生產(chǎn)現(xiàn)場(chǎng)實(shí)際測(cè)試結(jié)果如表3 所示。 由表3 可知,系統(tǒng)工作正常且穩(wěn)定。
表3 生產(chǎn)現(xiàn)場(chǎng)實(shí)際測(cè)試結(jié)果Tab.3 Actual test results on production site
將遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)接入工業(yè)互聯(lián)網(wǎng)平臺(tái),對(duì)天正公司的客戶的50 多臺(tái)生產(chǎn)設(shè)備的生產(chǎn)參數(shù)進(jìn)行實(shí)時(shí)數(shù)據(jù)采集。 企業(yè)或數(shù)據(jù)中心可以通過(guò)本系統(tǒng)遠(yuǎn)程監(jiān)控和采集設(shè)備開(kāi)機(jī)率、開(kāi)機(jī)數(shù)量、關(guān)機(jī)數(shù)量、設(shè)備總開(kāi)機(jī)時(shí)間、預(yù)警設(shè)備、有故障的設(shè)備數(shù)量、需要保養(yǎng)的設(shè)備數(shù)量等參數(shù),以便生產(chǎn)管理人員對(duì)生產(chǎn)過(guò)程進(jìn)行有效管理,提高設(shè)備的運(yùn)營(yíng)效率。 應(yīng)用結(jié)果表明,系統(tǒng)滿足設(shè)計(jì)要求。
多通道工業(yè)設(shè)備遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)是一款以Cortex-M3 系列微處理器為核心的工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)采集終端。 它集數(shù)據(jù)采集、存儲(chǔ)和通信功能于一體,支持5 路數(shù)字量輸入,能上傳設(shè)備定位等工業(yè)生產(chǎn)設(shè)備的參數(shù)信息,并且通信時(shí)延小、數(shù)據(jù)丟包率低。 該系統(tǒng)與互聯(lián)網(wǎng)運(yùn)營(yíng)平臺(tái)組成完整的設(shè)備數(shù)字化遠(yuǎn)程運(yùn)維系統(tǒng),可靈活應(yīng)用于工業(yè)生產(chǎn)現(xiàn)場(chǎng),為設(shè)備制造商或運(yùn)營(yíng)商解決不同工業(yè)場(chǎng)景下的數(shù)據(jù)采集和傳輸?shù)膯?wèn)題。