STM32串口通信基础知识科普_第1页
STM32串口通信基础知识科普_第2页
STM32串口通信基础知识科普_第3页
STM32串口通信基础知识科普_第4页
STM32串口通信基础知识科普_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

STM32串口通信基础知识科普

设备之间通信的方式

一般情况下,设备之间的通信方式可以分成并行通信和串行通信两种。

并行与串行通信的区别如下表所示。

并行通信串行通信

传输原理数据各个位同时传输数据按位顺序传输

优点速度快占用引脚资源少

缺点占用引脚资源多速度相对较慢

串行通信的分类

L按照数据传送方向,分为:

单工:数据传输只支持数据在一个方向上传输;

半双工:允许数据在两个方向上传输。但是,在某一时刻,只允许数据

在一个方向上传输,它实际上是一种切换方向的单工通信;它不需要独立的

接收端和发送端,两者可以合并一起使用一个端口。

全双工:允许数据同时在两个方向上传输。因此,全双工通信是两个单

工通信方式的结合,需要独立的接收端和发送端。

发送----------►;可向通道;-----------接收

(a)

(b)

发送接收

(c)

2、按照通信方式,分为:

同步通信:带时钟同步信号传输。比如:SPI,IIC通信接口。

异步通信:不带时钟同步信号。比如:UART(通用异步收发器),单总线。

在同步通讯中,收发设备上方会使用一根信号线传输信号,在时钟信号

的驱动下双方进行协调,同步数据。例如,通讯中通常双方会统一规定在时

钟信号的上升沿或者下降沿对数据线进行采样。

在异步通讯中不使用时钟信号进行数据同步,它们直接在数据信号中穿

插一些用于同步的信号位,或者将主题数据进行打包,以数据帧的格式传输

数据。通讯中还需要双方规约好数据的传输速率(也就是波特率)等,以便

更好地同步。常用的波特率有4800bps、9600bps、115200bps等。

在同步通讯中,数据信号所传输的内容绝大部分是有效数据,而异步通

讯中会则会包含数据帧的各种标识符,所以同步通讯效率高,但是同步通讯

双方的时钟允许误差小,稍稍时钟出错就可能导致数据错乱,异步通讯双方

的时钟允许误差较大。

常见的串行通信接口

通信标准引脚说明通信方式通信方向

TXD:融端

UART

RXT:接收端异步通信全双工

(通用异步收发器)

GND:共地

1-wire

DQ:发送/接收端异步通信半双工

(单总线)

SCK:同步时钟

SPIMISO:主机输入,从机前出同步通信全双工

MOSI:主机输出,从机蠲入

SCK:同步时钟

I2C同步通信半双工

SDA:数据输入/输出端

红M四串口通信基础

STM32的串口通信接口有两种,分别是:UART(通用异步收发器)、

USART(通用同步异步收发器)。而对于大容量STM32F10X系列芯片,分

另U有3个USART木口2个UARTO

UART引脚连接方法

RXD:数据输入引脚,数据接受;

TXD:数据发送引脚,数据发送。

对于两个芯片之间的连接,两个芯片GND共地,同时TXD和RXD交

叉连接。这里的交叉连接的意思就是,芯片1的RxD连接芯片2的TXD,

芯片2的RXD连接芯片1的TXD。这样,两个芯片之间就可以进行TTL电

平通信了。STM32与51单片机串口通信相关实例,请移步此处:STM32与

51单片机串口通信实例。

若是芯片与PC机(或上位机)相连,除了共地之外,就不能这样直接

交叉连接了。尽管PC机和芯片都有TXD和RXD引脚,但是通常PC机

(或上位机)通常使用的都是RS232接口(通常为DB9封装),因此不能

直接交叉连接。RS232接口是9针(或引脚),通常是TxD和RxD经过电

平转换得到的。故,要想使得芯片与PC机的RS232接口直接通信,需要也

将芯片的输入输出端口也电平转换成RS232类型,再交叉连接。

经过电平转换后,芯片串口和RS232的电平标准是不一样的:

单片机的电平标准(TTL电平):+5V表示1,0V表示0;

RS232的电平标准:+15/+13V表示0,-15/-13表示1。

RS-232通讯协议标准串口的设备间通讯结构图如下:

设备A

控制器A

所以单片机串口与PC串口通信就应该遵循下面的连接方式:在单片机

串口与上位机给出的RS232口之间,通过电平转换电路(如下面图中的

Max232芯片)实现TTL电平与RS232电平之间的转换。STM32与PC之

间通信实例,请移步此处:STM32实例-用按键控制串口发送数据,文末附代

码。

RS232串口简介

台式机电脑后面的9针接口就是com口(串口)在工业控制数据采集上

应用广泛上图中,最右边的是串口接口统称为RS232接口,是常见的DB9

封装。

9针RS-232串口(DB9)

引脚简写功就说明

1CD载波侦测(CarrierDetect)

2RXD技收数据(Receive)

3TXD发送数据(Transmit)

4DTR数据终端准备(DataTerminalReady)

5GND地线(Ground)

6DSR数据准备好(DataSetReady)

7RTS请求发送(RequestToSend)

8CTS清除发送(ClearToSend)

9RI振铃指示(RingIndicator)

通信过程中只有两个脚参与通信。

2脚:电脑的输入RXD

3脚:电脑的输出TXD通过2,3脚就可以实现全双工(可同时收发)的

串行异步通信

5脚:接地

单片机的P3口是有两个复用接口RXD和TXD。这是单片机进行串行

通信的收发口,连接应该错位的对应到电脑的TDXRDX上。注意:单片机

和RS232的电平标准是不一样的。

单片机的电平标准TTL电平:+5V表示10V表示0。

RS232的电平标准+15/+13V表示1-15/-13表示0。

所以单片机与电脑串口通信就应该遵循下面的连接方式:

在单片机与上位机给出的RS232口之间通过电平转换电路(最上面匿中

的Max232芯片)实现TTL电平与RS232电平之间的转换,PC串口与单片

机串口连接方式图:

PC机DB9DB9平串口

----交叉连接----换

A插座’插座设备

注意这两个DB9:DB91是在电脑上的DB92是在单片机实验板上岸接

着的。

这里的交叉连接的意思是DB91的RXD连着DB92的TXD。

DB92的RXD连着DB91的TXD这样交叉着连接,如果电脑没有

RS232口只有USB口,可以用串口转接线转出串口,如下图所示。

这个时候在电脑上位机上需要安装串口驱动程序。

注意,这个驱动程序驱动的是PL2303芯片(在上图的大头里面)使得

RS232信息转换成USB信息。

下图为上图的内部结构:

UIOI

IXD

)TR_NJT

(rsNPLLTES1

GND.PU

\W

NDVDDjniII

gLDMODE

GNDTRl.STAn

GXD

20

\WKDNRESET

GXDJVJ

EECLK

SB:

EEDATA

IOU16V

PUWJ

DUVDD

-K

YUI'K

用串口通信比USB简单,因为串口通信没有协议,使用方便简单。

STM32的UART特点

全双工异步通信;

分数波特率发生器系统,提供精确的波特率。发送和接受共用的可编程

波特率,最高可达4.5Mbits/s;

可编程的数据字长度(8位或者9位);

可配置的停止位(支持1或者2位停止位);

可配置的使用DMA多缓冲器通信;

单独的发送器和接收器使能位;

检测标志:

①接受缓冲器

②发送缓冲器空

③传输结束标志;

多个带标志的中断源,触发中断;

其他:校验控制,四个错误检测标志。

串口通信过程

数据接收过程:

串行输RXD串行数据输入

输入数部

移位

MCU据援冲设

内核存器

数据发送过程;

TXD串行数据输出部

输出数串行输

MCU设

据缓冲出移位

内核备

器寄存器

STM32中UART参数

串口通讯的数据包由发送设备通过自身的TXD接口传输到接收设备的

RXD接口,通讯双方的数据包格式要规约一致才能正常收发数据。

STM32中串口异步通信需要定义的参数:起始位、数据位(8位或者9

位)、奇偶校验位(第9位)、停止位(1,15,2位)、波特率设置。

UART串口通信的数据包以帧为单位,常用的帧结构为:1位起始位+8

位数据位+1位奇偶校验位(可选)+1位停止位。如下图所示:

图249字长设置

9位字K(设置了M位J,1个停止位

可能的下个数据帧

数据帧奇偶冷聆下个

起始g始------

位位位位位位位位位停止

位---0------1----2------3-------4-----5-------6------7----8--位

时ftjn_rTTTrTrTrTrm二;•':一

起始

空闲触位

起始

断开材i停止位

二位

••LBCL位控;M最后个数据的时仲收冷

8位字K(未设置M位),1个停止位

可疑的下一个数据帧

数据帧奇他怜聆下个

起始起始I----------

位位0位1位2位3位4位5位6位7停止位

----------位

时钟「LTTfirrnJ-LTTJ-;l

起始

空闲帆位

起始

断开帧停止位

,•LBCL位控制显后个数抗的时仲脉冲

奇偶校验位分为奇校验和偶校验两种,是一种简单的数据误码校验方法。

奇校验是指每帧数据中,包括数据位和奇偶校验位的全部9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论