魏浩浩 陳偉 朱娜


摘? 要: 文章采用STM32F10x系列芯片及Atheros AR9331無線模塊進行實時數據傳輸的設計與研究。實現了由無線模塊把實時數據傳輸到PC端/移動端,再由PC端/移動端發送控制指令傳輸到主芯片的雙向WiFi數據通信。STM32F10x系列芯片和Atheros AR9331無線模塊之間是采用通用同步異步收發器(USART)進行全雙工數據交換的。
關鍵詞: STM32F10x; 數據通信; AR9331; WiFi數據通信
中圖分類號:TP331? ? ? ? ? 文獻標志碼:A? ? ?文章編號:1006-8228(2019)07-25-02
Abstract: This paper uses STM32F10x chips and Atheros AR9331 wireless module to design and research the real-time data transmission. The two-way WiFi data communication is realized by the wireless module transmits real-time data to the PC/mobile terminal, and then the PC/mobile terminal sends control instructions to the main chip. The STM32F10x series chips and the Atheros AR9331 wireless module are interfaced by universal synchronous asynchronous transceiver (USART) to realize full-duplex data exchange.
Key words: STM32F10x; data communication; AR9331; WiFi data Communication
0 引言
隨著計算機,微電子技術的高速發展和通信技術不斷突破,智能化技術的開發速度越來越快,開發周期縮短,智能化程度提高,應用范圍將會越來越廣。物聯網的發展壯大得力于快速的數據傳輸能力和精確的數據處理能力。隨著我國華為構建5G時代網絡的到來,物聯網行業會更火熱,智能家居和智能設備將會層出不窮。而我們必須面對的問題是如何解決計算機和各種設備的通訊問題。
1 系統總體設計方案
本系統可分為三大模塊:電腦控制模塊、無線收發功能模塊和電子芯片處理模塊[2]。電腦控制模塊需要安裝特定的軟件來控制和展示電子芯片的數據信息。無線收發功能模塊起到橋梁作用,用于實現數據信息的轉發功能。電子芯片處理模塊可以內嵌到其他智能設備,進行實時監控各種傳感器,并將產生的數據通過無線收發功能模塊傳輸給電腦控制模塊。系統總體設計如圖1所示。
2 硬件設計和選擇
系統硬件是由STM32F10x芯片和Atheros AR9331無線芯片等零件組成[3]。STM32F10x芯片需要和Atheros AR9331連接到一塊電路板上,方便于快速通信。
2.1 電子芯片處理模塊
STM32F10x系列屬于32位ARM控制器,內核是Cortex-M3。芯片內部還集成了定時器、UART、SPI、I2C、USB等多種功能。這里選擇的是STM32F103,其時鐘頻率可以達到72MHz,是相似產品中性價比最高的產品之一。STM32F103芯片如圖2所示。
2.2 無線收發功能模塊
Atheros AR9331是一個高度集成和成本較低的IEEE 802.11n 1x1 2.4 GHz SoC的AP和路由器平臺[4]。系統頻率可達400MHz,板載64MB DDR2 RAM,8MB FLASH,對外引出UART 、USB、I2S、GPIO、以太網接口、WIFI天線接口。本模塊體積小、功耗低、發熱量小,WIFI網口傳輸性能穩定。AR9331芯片如圖3所示。
3 軟件設計與實現
主芯片和無線模塊之間的通訊編程軟件采用Kile編輯器進行編程實現,其中主要涉及到USART參數初始化操作和接收數據的處理,均由C語言進行編寫實現[5]。在進行USART參數初始化的時候,需要設置其波特率大小、數據格式多少位、停止位多少、奇偶校驗位是否開啟、硬件數據流控制的有無和收發模式的開啟關閉。
無線模塊和PC端/移動端之間的通訊編程軟件采用Eclipse,并用Java Socket編程技術實現。通訊代碼如下:
Socket socket=new Socket("192.168.1.1",2001); //建立連接
os=socket.getOutputStream();
os.write((code).getBytes()); //發送數據
while ((len=s.read(buf))!=-1) //循環獲取數據
通過上面的硬件支持和軟件服務程序,初步實現STM32F10x與PC端/移動端之間數據的相互通訊。
4 結束語
基于STM32F10x數據通信設計與實現是由電腦控制模塊[6]、無線收發功能模塊和電子芯片處理模塊三大模塊組成。其中電腦模塊是由人主觀意識進行控制的,無線模塊起到橋梁作用,電子芯片模塊應用于智能設備之上進行執行指令,三個模塊通過軟件和協議協調有序工作。
隨著人們對智能化技術的探究,對于智能化技術的研究也越來越深入和廣泛。無線控制智能設備將會越來越成熟穩定,學習WIFI無線傳輸的技術和方法,利用其在數字信息傳播方面的可靠性和方便性來實現PC端或移動端對智能設備的控制,是物聯網行業不可避免的過程。希望能有更多的技術性人才多多向微電子、物聯網方向發展,營造出屬于中國的生態圈。
參考文獻(References):
[1] 楊森,張瑋.基于WIFI的視頻監控智能小車機器人[J].數字技術與應用,2016.4:81-82
[2] 王啟宏,王曉忠.Microchip嵌入式TCP/IP協議在STM32F10xx上的實現[J].中國高新技術企業,2010.31:68-70
[3] 馮爽,蔣念平.基于STM32的無線數據傳輸綜合應用[J].計算機系統應用,2012.21(9):228-231
[4] 孫啟富,孫運強,姚愛琴.基于STM32的通用智能儀表設計與應用[J].儀表技術與傳感器,2010.10:34-36
[5] 佚名.STM32F系列ARM Cortex-M3核微控制器開發與應用[M]//STM32F系列ARMCortex-M3核微控制器開發與應用,2011.
[6] 勾慧蘭,劉光超.基于STM32的最小系統及串口通信的實現[J].工業控制計算機,2012.25(9):30-32