羅洋坤
車(chē)聯(lián)網(wǎng)網(wǎng)絡(luò)電路的搭建決定了車(chē)聯(lián)網(wǎng)控制終端網(wǎng)絡(luò)通信性能。國(guó)內(nèi)外在遠(yuǎn)車(chē)聯(lián)網(wǎng)控制方面的研究涉及多種無(wú)線電技術(shù)和互聯(lián)網(wǎng)技術(shù)[1]。在國(guó)外,遠(yuǎn)程控制技術(shù)已經(jīng)廣泛應(yīng)用于汽車(chē)領(lǐng)域[2]。隨著嵌入式與網(wǎng)絡(luò)通信等技術(shù)的發(fā)展,國(guó)內(nèi)外提出了多種遠(yuǎn)程車(chē)聯(lián)網(wǎng)方案[3]。而基于STM32芯片進(jìn)行車(chē)聯(lián)網(wǎng)網(wǎng)絡(luò)電路方案的電路設(shè)計(jì)還不夠成熟。例如,代成剛等基于STM32設(shè)計(jì)了遠(yuǎn)程數(shù)據(jù)采集器[4]。但是網(wǎng)絡(luò)通信質(zhì)量難以達(dá)到車(chē)聯(lián)網(wǎng)要求。4G網(wǎng)絡(luò)具有傳輸速度高、實(shí)時(shí)性好的優(yōu)點(diǎn)[5]。如何基于STM32設(shè)計(jì)較好的網(wǎng)絡(luò)電路與4G網(wǎng)絡(luò)設(shè)備連接實(shí)現(xiàn)組網(wǎng)是研究重點(diǎn)。車(chē)聯(lián)網(wǎng)網(wǎng)絡(luò)電路搭建是基于以太網(wǎng)接口進(jìn)行網(wǎng)絡(luò)控制電路的設(shè)計(jì),提出了基于嵌入式控制芯片和網(wǎng)絡(luò)模塊搭建網(wǎng)絡(luò)電路進(jìn)行車(chē)聯(lián)網(wǎng)電路設(shè)計(jì)的方法。
控制中心主要負(fù)責(zé)發(fā)送車(chē)聯(lián)網(wǎng)終端設(shè)備控制指令和接收車(chē)聯(lián)網(wǎng)終端設(shè)備信息,控制終端主要負(fù)責(zé)接收控制命令和發(fā)送數(shù)據(jù)信息。從PC機(jī)到車(chē)聯(lián)網(wǎng)終端設(shè)備的數(shù)據(jù)傳輸過(guò)程:PC機(jī)通過(guò)控制界面發(fā)出控制指令到服務(wù)器,服務(wù)器更新控制指令,車(chē)聯(lián)網(wǎng)設(shè)備通過(guò)4G無(wú)線路由器主動(dòng)連接服務(wù)器,定時(shí)獲取最新控制指令。從車(chē)聯(lián)網(wǎng)終端設(shè)備到PC機(jī)的數(shù)據(jù)傳輸過(guò)程:車(chē)聯(lián)網(wǎng)終端設(shè)備通過(guò)4G無(wú)線路由器定時(shí)傳輸信息到服務(wù)器,服務(wù)器更新信息并反饋給PC機(jī)。第四代移動(dòng)通信技術(shù)可在不同的無(wú)線平臺(tái)和網(wǎng)絡(luò)中提供服務(wù)[6]。采用4G無(wú)線方式進(jìn)行通信,只有身份驗(yàn)證通過(guò)才能建立連接[7]。謝相博等基于4G設(shè)計(jì)的無(wú)人機(jī)遠(yuǎn)程巡航系統(tǒng)可以實(shí)現(xiàn)遠(yuǎn)程飛行控制[8]。根據(jù)車(chē)聯(lián)網(wǎng)控制的實(shí)際需要,在進(jìn)行網(wǎng)絡(luò)通信時(shí)需要選擇穩(wěn)定性能更好的通信協(xié)議,在選擇傳輸層的協(xié)議時(shí),主要分為T(mén)CP和UDP。UDP是一種面向無(wú)連接的協(xié)議,TCP面向連接。UDP通信協(xié)議不使用“連接套接字”,可多播通信,但不能保證傳輸數(shù)據(jù)可靠性,而TCP通信協(xié)議可保證數(shù)據(jù)通信可靠性。使用TCP/IP協(xié)議當(dāng)數(shù)據(jù)傳輸出現(xiàn)錯(cuò)誤,數(shù)據(jù)會(huì)重發(fā)直至正確。TCP通過(guò)Socket發(fā)送和接收,通過(guò)傳輸連接請(qǐng)求區(qū)分。對(duì)可靠性要求較高的車(chē)聯(lián)網(wǎng)系統(tǒng)一般采用TCP協(xié)議。
網(wǎng)絡(luò)電路搭建方案可以分成兩種。第一種通過(guò)軟件協(xié)議棧的設(shè)計(jì)思路。比如通過(guò)STM32、LAN8720的網(wǎng)絡(luò)電路搭建方法,但是這種方法導(dǎo)致軟件編程復(fù)雜,會(huì)使得車(chē)聯(lián)網(wǎng)其它程序開(kāi)發(fā)難度較大。因此,采用硬件嵌入式協(xié)議棧的設(shè)計(jì)方法,通過(guò)STM32、W5200的網(wǎng)絡(luò)電路搭建方法。具體設(shè)計(jì)思路如下。
嵌入式處理器種類(lèi)很多,包括8位、16位、32位單片機(jī)。STM32F407是性?xún)r(jià)比較高的一款32單片機(jī)。STM32F407芯片基于ARM Cortex-M3架構(gòu)?;赟TM32F407芯片設(shè)計(jì)網(wǎng)絡(luò)通信控制電路。基于STM32F407控制芯片設(shè)計(jì)車(chē)聯(lián)網(wǎng)網(wǎng)絡(luò)電路可以充分發(fā)揮STM32F407在中斷、頻率、功耗模式方面的特性。STM32F407擁有完善的時(shí)鐘啟動(dòng)機(jī)制,在啟動(dòng)時(shí)選擇系統(tǒng)時(shí)鐘,復(fù)位時(shí)內(nèi)部8 MHz晶振作為CPU時(shí)鐘,可使用多個(gè)預(yù)比較器用于配置AHB頻率,包括高速APB2和低速APB1,高速APB2最高頻率為72 MHz,低速APB1最高頻率為36 MHz,這種時(shí)鐘模式和啟動(dòng)機(jī)制完全滿足車(chē)聯(lián)網(wǎng)網(wǎng)絡(luò)電路的設(shè)計(jì)要求,其時(shí)鐘頻率較高,保證了整個(gè)網(wǎng)絡(luò)通信速度。STM32F407有自動(dòng)電源管理電路,通過(guò)上電復(fù)位確保從2 V正常啟動(dòng),當(dāng)電壓異常車(chē)聯(lián)網(wǎng)網(wǎng)絡(luò)電路會(huì)自動(dòng)復(fù)位,提高了網(wǎng)絡(luò)電路的穩(wěn)定性。STM32F407支持3種低功耗模式,在休眠模式下,只有CPU停止工作,通過(guò)中斷/事件喚醒;在停止模式下,以最小的功耗保持SRAM和寄存器的內(nèi)容,通過(guò)外部中斷線從停止模式喚醒;在待機(jī)模式下,SRAM和寄存器的內(nèi)容會(huì)清除,當(dāng)外部復(fù)位時(shí)退出待機(jī)模式。停止模式或待機(jī)模式情況下相關(guān)時(shí)鐘源繼續(xù)運(yùn)行,這三種模式可使網(wǎng)絡(luò)電路在低功耗、較短啟動(dòng)時(shí)間、可用喚醒源三者之間找到平衡點(diǎn)。
網(wǎng)絡(luò)模塊使用W5200,STM32F407控制芯片通過(guò)串行外設(shè)接口連接W5200模塊進(jìn)行通信,SPI接口間通信實(shí)際速度可以達(dá)到50 MHz。STM32肯定會(huì)與多個(gè)SPI設(shè)備相連,需要分清楚哪個(gè)SPI設(shè)備有效,SPI總線中有一根片選信號(hào)線可以選擇W5200設(shè)備。而SCK、MOSI、MISO三個(gè)信號(hào)線則是被SPI設(shè)備共用。SCK是時(shí)鐘信號(hào)線,STM32芯片性能決定了時(shí)鐘頻率有多快。STM32方面用SPI來(lái)支持W5200網(wǎng)絡(luò)芯片的讀寫(xiě)操作,這樣是為了使用DMA功能來(lái)提高網(wǎng)絡(luò)通信的實(shí)時(shí)性能。W5200使用了網(wǎng)絡(luò)喚醒模式,收到數(shù)據(jù)包時(shí)被喚醒,這樣可降低網(wǎng)絡(luò)電路的功耗。W5200支持的協(xié)議包括TCP、UDP等。W5200有32 kB數(shù)據(jù)緩存空間,通過(guò)socket可以實(shí)現(xiàn)網(wǎng)絡(luò)通信,與其他以太網(wǎng)控制器相比具有開(kāi)發(fā)成本低的優(yōu)勢(shì),降低了通信編程難度和復(fù)雜度。W5200有8個(gè)端口,正常工作電壓為3.3 V,最大承受電壓是5 V。W5200由通用寄存器、Socket寄存器、TX內(nèi)存和RX內(nèi)存組成,引腳信號(hào)包括微控制器接口信號(hào)、電源信號(hào)、時(shí)鐘信號(hào)、物理層信號(hào)、綜合信號(hào)。通過(guò)物理層的SPD引腳來(lái)選擇100M/10M速度模式。W5200的硬件源地址寄存器的硬件源地址使用以太網(wǎng)MAC層唯一MAC地址。W5200與STM32F407通信采用SPI接口,與以太網(wǎng)PHY通信采用MII接口。步進(jìn)電機(jī)控制器的STM32F407芯片與W5200進(jìn)行數(shù)據(jù)通信時(shí)使用了SCLK、SCS、MOSI、MISO四個(gè)引腳。設(shè)計(jì)的W5200接口電路如圖1所示。
為實(shí)現(xiàn)網(wǎng)絡(luò)電路重啟后車(chē)聯(lián)網(wǎng)信息不丟失,使用AT24C02芯片來(lái)實(shí)時(shí)更新和保存車(chē)聯(lián)網(wǎng)設(shè)備的運(yùn)行參數(shù),通過(guò)該存儲(chǔ)模塊進(jìn)行保存,防止斷電或系統(tǒng)重啟導(dǎo)致的信息丟失,存儲(chǔ)電路如圖2所示。STM32F407處理器通過(guò)控制SCL和SDA兩條信號(hào)線實(shí)現(xiàn)對(duì)AT24C02芯片的讀寫(xiě)操作,通過(guò)3.3V電源電路為其供電。
圖1 W5200接口電路
圖2 存儲(chǔ)電路
經(jīng)過(guò)測(cè)試,基于W5200設(shè)計(jì)的網(wǎng)絡(luò)電路存在過(guò)熱導(dǎo)致死機(jī)和網(wǎng)絡(luò)通信性能下降的情況,因此通過(guò)電源開(kāi)關(guān)控制的方法可以提高網(wǎng)絡(luò)通信性能。設(shè)定網(wǎng)絡(luò)電路定時(shí)工作時(shí)間為5分鐘,5分鐘之后網(wǎng)絡(luò)電路暫停工作,1分鐘后繼續(xù)工作。這樣可以提高網(wǎng)絡(luò)通信性能,可以防止網(wǎng)絡(luò)電路過(guò)熱造成的死機(jī)情況。但是,由此造成了在網(wǎng)絡(luò)電路暫停工作區(qū)間無(wú)法進(jìn)行網(wǎng)絡(luò)通信,這將造成車(chē)聯(lián)網(wǎng)實(shí)時(shí)性能和穩(wěn)定性的下降。為此,改進(jìn)了網(wǎng)絡(luò)單一網(wǎng)絡(luò)模塊通信電路模式,選擇兩個(gè)W5200交替工作,通過(guò)設(shè)計(jì)有自動(dòng)定時(shí)功能的繼電器電路作為兩個(gè)W5200交替工作的選擇信號(hào),在通過(guò)STM32接收繼電器開(kāi)關(guān)信號(hào)后選擇啟動(dòng)某個(gè)W5200模塊工作,這樣可以避免一個(gè)W5200模塊工作造成長(zhǎng)時(shí)間工作導(dǎo)致的嚴(yán)重發(fā)熱問(wèn)題和死機(jī)問(wèn)題,大大提高了網(wǎng)絡(luò)通信電路的穩(wěn)定性和通信質(zhì)量。設(shè)計(jì)的定時(shí)器繼電器連接電路如圖3所示。
此外,為了改善網(wǎng)絡(luò)電路性能,通過(guò)大量電路性能試驗(yàn),得出以下經(jīng)驗(yàn)。設(shè)計(jì)的PCB電路板大小要能夠合理布置所有的電子元器件,并盡可能占用較小的尺寸面積,最終確定PCB電路板大小為10 cm×10 cm。電子元器件根據(jù)實(shí)際使用情況進(jìn)行選型和布置,選擇常用的元器件封裝類(lèi)型,為減小占用面積選擇貼片式的電阻和電容。USB供電電路布置在電路板邊緣附近,方便供電和程序的下載。其他元器件整齊、有一定間隔的進(jìn)行布置,布置完畢后先進(jìn)行自動(dòng)布線,再通過(guò)手動(dòng)布線調(diào)整走線,在完成布線后仔細(xì)檢查是否有錯(cuò)誤,確定沒(méi)有布線錯(cuò)誤后,最后對(duì)PCB電路板進(jìn)行正面和背面的覆銅。
圖3 定時(shí)器繼電器連接電路
在設(shè)計(jì)完成的網(wǎng)絡(luò)接口電路和存儲(chǔ)電路的基礎(chǔ)上,今后還需要增加設(shè)計(jì)復(fù)位電路、USB供電電路。此外,還需要設(shè)計(jì)電源隔離保護(hù)電路,進(jìn)一步保護(hù)步進(jìn)電機(jī)控制器的核心電路。
參考文獻(xiàn):
[1] Oksanen T,Linkolehto R,Seilonen I.Adapting an in?dustrial automation protocol to remote monitoring of mo?bile agricultural machinery:a combine harvester with IoT [J].IFAC-PapersOnLine, 2016, 49 (16):127-131.
[2]Duan Y E,Niu X J..Research on Farmland Information Acquisition System Based on IoT [J].Advanced Materi?als Research,2012,532-533:1085-1089.
[3]李雪剛,黃夢(mèng)醒,朱東海.基于物聯(lián)網(wǎng)技術(shù)的遠(yuǎn)程農(nóng)田監(jiān)控系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程,2012,38(17):20-23.
[4]代成剛,任德均,蔣濤,等.基于STM32的遠(yuǎn)程多數(shù)據(jù)采集器的設(shè)計(jì)[J].機(jī)電工程技術(shù),2013(05):31-34.
[5]王德麾,馮軍帥,宋海亮,等.基于無(wú)線傳感器網(wǎng)絡(luò)和3G/4G的遠(yuǎn)程環(huán)境監(jiān)測(cè)系統(tǒng)研究[J].物聯(lián)網(wǎng)技術(shù),2015(03):17-18.
[6]周薇薇.4G移動(dòng)通信技術(shù)及其發(fā)展趨勢(shì)分析[J].信息通信,2013(08):246-246.
[7]羅建,周麗蘭.基于嵌入式技術(shù)的異步電機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2011,24(10):15-16.
[8]謝相博,徐光輝,范凱鑫,等.基于4G的無(wú)人機(jī)遠(yuǎn)程巡航系統(tǒng)[J].通信技術(shù),2015(11):1305-1309.