当前位置: 首页 > 范文大全 > 公文范文 >

基于STM32F10x的数据通信设计与实现

时间:2022-03-15 08:40:23  浏览次数:


打开文本图片集

摘  要: 文章采用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

推荐访问: 数据通信 设计 STM32F10x