羅洋坤
車聯網網絡電路的搭建決定了車聯網控制終端網絡通信性能。國內外在遠車聯網控制方面的研究涉及多種無線電技術和互聯網技術[1]。在國外,遠程控制技術已經廣泛應用于汽車領域[2]。隨著嵌入式與網絡通信等技術的發展,國內外提出了多種遠程車聯網方案[3]。而基于STM32芯片進行車聯網網絡電路方案的電路設計還不夠成熟。例如,代成剛等基于STM32設計了遠程數據采集器[4]。但是網絡通信質量難以達到車聯網要求。4G網絡具有傳輸速度高、實時性好的優點[5]。如何基于STM32設計較好的網絡電路與4G網絡設備連接實現組網是研究重點。車聯網網絡電路搭建是基于以太網接口進行網絡控制電路的設計,提出了基于嵌入式控制芯片和網絡模塊搭建網絡電路進行車聯網電路設計的方法。
控制中心主要負責發送車聯網終端設備控制指令和接收車聯網終端設備信息,控制終端主要負責接收控制命令和發送數據信息。從PC機到車聯網終端設備的數據傳輸過程:PC機通過控制界面發出控制指令到服務器,服務器更新控制指令,車聯網設備通過4G無線路由器主動連接服務器,定時獲取最新控制指令。從車聯網終端設備到PC機的數據傳輸過程:車聯網終端設備通過4G無線路由器定時傳輸信息到服務器,服務器更新信息并反饋給PC機。第四代移動通信技術可在不同的無線平臺和網絡中提供服務[6]。采用4G無線方式進行通信,只有身份驗證通過才能建立連接[7]。謝相博等基于4G設計的無人機遠程巡航系統可以實現遠程飛行控制[8]。根據車聯網控制的實際需要,在進行網絡通信時需要選擇穩定性能更好的通信協議,在選擇傳輸層的協議時,主要分為TCP和UDP。UDP是一種面向無連接的協議,TCP面向連接。UDP通信協議不使用“連接套接字”,可多播通信,但不能保證傳輸數據可靠性,而TCP通信協議可保證數據通信可靠性。使用TCP/IP協議當數據傳輸出現錯誤,數據會重發直至正確。TCP通過Socket發送和接收,通過傳輸連接請求區分。對可靠性要求較高的車聯網系統一般采用TCP協議。
網絡電路搭建方案可以分成兩種。第一種通過軟件協議棧的設計思路。比如通過STM32、LAN8720的網絡電路搭建方法,但是這種方法導致軟件編程復雜,會使得車聯網其它程序開發難度較大。因此,采用硬件嵌入式協議棧的設計方法,通過STM32、W5200的網絡電路搭建方法。具體設計思路如下。
嵌入式處理器種類很多,包括8位、16位、32位單片機。STM32F407是性價比較高的一款32單片機。STM32F407芯片基于ARM Cortex-M3架構。基于STM32F407芯片設計網絡通信控制電路。基于STM32F407控制芯片設計車聯網網絡電路可以充分發揮STM32F407在中斷、頻率、功耗模式方面的特性。STM32F407擁有完善的時鐘啟動機制,在啟動時選擇系統時鐘,復位時內部8 MHz晶振作為CPU時鐘,可使用多個預比較器用于配置AHB頻率,包括高速APB2和低速APB1,高速APB2最高頻率為72 MHz,低速APB1最高頻率為36 MHz,這種時鐘模式和啟動機制完全滿足車聯網網絡電路的設計要求,其時鐘頻率較高,保證了整個網絡通信速度。STM32F407有自動電源管理電路,通過上電復位確保從2 V正常啟動,當電壓異常車聯網網絡電路會自動復位,提高了網絡電路的穩定性。STM32F407支持3種低功耗模式,在休眠模式下,只有CPU停止工作,通過中斷/事件喚醒;在停止模式下,以最小的功耗保持SRAM和寄存器的內容,通過外部中斷線從停止模式喚醒;在待機模式下,SRAM和寄存器的內容會清除,當外部復位時退出待機模式。停止模式或待機模式情況下相關時鐘源繼續運行,這三種模式可使網絡電路在低功耗、較短啟動時間、可用喚醒源三者之間找到平衡點。
網絡模塊使用W5200,STM32F407控制芯片通過串行外設接口連接W5200模塊進行通信,SPI接口間通信實際速度可以達到50 MHz。STM32肯定會與多個SPI設備相連,需要分清楚哪個SPI設備有效,SPI總線中有一根片選信號線可以選擇W5200設備。而SCK、MOSI、MISO三個信號線則是被SPI設備共用。SCK是時鐘信號線,STM32芯片性能決定了時鐘頻率有多快。STM32方面用SPI來支持W5200網絡芯片的讀寫操作,這樣是為了使用DMA功能來提高網絡通信的實時性能。W5200使用了網絡喚醒模式,收到數據包時被喚醒,這樣可降低網絡電路的功耗。W5200支持的協議包括TCP、UDP等。W5200有32 kB數據緩存空間,通過socket可以實現網絡通信,與其他以太網控制器相比具有開發成本低的優勢,降低了通信編程難度和復雜度。W5200有8個端口,正常工作電壓為3.3 V,最大承受電壓是5 V。W5200由通用寄存器、Socket寄存器、TX內存和RX內存組成,引腳信號包括微控制器接口信號、電源信號、時鐘信號、物理層信號、綜合信號。通過物理層的SPD引腳來選擇100M/10M速度模式。W5200的硬件源地址寄存器的硬件源地址使用以太網MAC層唯一MAC地址。W5200與STM32F407通信采用SPI接口,與以太網PHY通信采用MII接口。步進電機控制器的STM32F407芯片與W5200進行數據通信時使用了SCLK、SCS、MOSI、MISO四個引腳。設計的W5200接口電路如圖1所示。
為實現網絡電路重啟后車聯網信息不丟失,使用AT24C02芯片來實時更新和保存車聯網設備的運行參數,通過該存儲模塊進行保存,防止斷電或系統重啟導致的信息丟失,存儲電路如圖2所示。STM32F407處理器通過控制SCL和SDA兩條信號線實現對AT24C02芯片的讀寫操作,通過3.3V電源電路為其供電。

圖1 W5200接口電路

圖2 存儲電路
經過測試,基于W5200設計的網絡電路存在過熱導致死機和網絡通信性能下降的情況,因此通過電源開關控制的方法可以提高網絡通信性能。設定網絡電路定時工作時間為5分鐘,5分鐘之后網絡電路暫停工作,1分鐘后繼續工作。這樣可以提高網絡通信性能,可以防止網絡電路過熱造成的死機情況。但是,由此造成了在網絡電路暫停工作區間無法進行網絡通信,這將造成車聯網實時性能和穩定性的下降。為此,改進了網絡單一網絡模塊通信電路模式,選擇兩個W5200交替工作,通過設計有自動定時功能的繼電器電路作為兩個W5200交替工作的選擇信號,在通過STM32接收繼電器開關信號后選擇啟動某個W5200模塊工作,這樣可以避免一個W5200模塊工作造成長時間工作導致的嚴重發熱問題和死機問題,大大提高了網絡通信電路的穩定性和通信質量。設計的定時器繼電器連接電路如圖3所示。
此外,為了改善網絡電路性能,通過大量電路性能試驗,得出以下經驗。設計的PCB電路板大小要能夠合理布置所有的電子元器件,并盡可能占用較小的尺寸面積,最終確定PCB電路板大小為10 cm×10 cm。電子元器件根據實際使用情況進行選型和布置,選擇常用的元器件封裝類型,為減小占用面積選擇貼片式的電阻和電容。USB供電電路布置在電路板邊緣附近,方便供電和程序的下載。其他元器件整齊、有一定間隔的進行布置,布置完畢后先進行自動布線,再通過手動布線調整走線,在完成布線后仔細檢查是否有錯誤,確定沒有布線錯誤后,最后對PCB電路板進行正面和背面的覆銅。

圖3 定時器繼電器連接電路
在設計完成的網絡接口電路和存儲電路的基礎上,今后還需要增加設計復位電路、USB供電電路。此外,還需要設計電源隔離保護電路,進一步保護步進電機控制器的核心電路。
參考文獻:
[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]李雪剛,黃夢醒,朱東海.基于物聯網技術的遠程農田監控系統設計[J].計算機工程,2012,38(17):20-23.
[4]代成剛,任德均,蔣濤,等.基于STM32的遠程多數據采集器的設計[J].機電工程技術,2013(05):31-34.
[5]王德麾,馮軍帥,宋海亮,等.基于無線傳感器網絡和3G/4G的遠程環境監測系統研究[J].物聯網技術,2015(03):17-18.
[6]周薇薇.4G移動通信技術及其發展趨勢分析[J].信息通信,2013(08):246-246.
[7]羅建,周麗蘭.基于嵌入式技術的異步電機遠程監控系統實現[J].工業控制計算機,2011,24(10):15-16.
[8]謝相博,徐光輝,范凱鑫,等.基于4G的無人機遠程巡航系統[J].通信技術,2015(11):1305-1309.