STM32串口通信基本原理
csdh11 2025-05-27 13:33 6 浏览
设备之间通信的方式
一般情况下,设备之间的通信方式可以分成并行通信和串行通信两种。并行与串行通信的区别如下表所示。
串行通信的分类
1、按照数据传送方向,分为:
- 单工:数据传输只支持数据在一个方向上传输;
- 半双工:允许数据在两个方向上传输。但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;它不需要独立的接收端和发送端,两者可以合并一起使用一个端口。
- 全双工:允许数据同时在两个方向上传输。因此,全双工通信是两个单工通信方式的结合,需要独立的接收端和发送端。
2、按照通信方式,分为:
- 同步通信:带时钟同步信号传输。比如:SPI,IIC通信接口。
- 异步通信:不带时钟同步信号。比如:UART(通用异步收发器),单总线。
在同步通讯中,收发设备上方会使用一根信号线传输信号,在时钟信号的驱动下双方进行协调,同步数据。例如,通讯中通常双方会统一规定在时钟信号的上升沿或者下降沿对数据线进行采样。
在异步通讯中不使用时钟信号进行数据同步,它们直接在数据信号中穿插一些用于同步的信号位,或者将主题数据进行打包,以数据帧的格式传输数据。通讯中还需要双方规约好数据的传输速率(也就是波特率)等,以便更好地同步。常用的波特率有4800bps、9600bps、115200bps等。
在同步通讯中,数据信号所传输的内容绝大部分是有效数据,而异步通讯中会则会包含数据帧的各种标识符,所以同步通讯效率高,但是同步通讯双方的时钟允许误差小,稍稍时钟出错就可能导致数据错乱,异步通讯双方的时钟允许误差较大。
常见的串行通信接口
STM32串口通信基础
STM32的串口通信接口有两种,分别是:UART(通用异步收发器)、USART(通用同步异步收发器)。而对于大容量STM32F10x系列芯片,分别有3个USART和2个UART。
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/+13 V表示0,-15/-13表示1。
RS-232通讯协议标准串口的设备间通讯结构图如下:
所以单片机串口与PC串口通信就应该遵循下面的连接方式:在单片机串口与上位机给出的RS232口之间,通过电平转换电路(如下面图中的Max232芯片) 实现TTL电平与RS232电平之间的转换。STM32与PC之间通信实例,请移步此处:STM32实例-用按键控制串口发送数据,文末附代码。
RS232串口简介
台式机电脑后面的9针接口就是com口(串口) 在工业控制 数据采集上应用广泛上图中,最右边的是串口接口统称为RS232接口,是常见的DB9封装。
通信过程中只有两个脚参与通信。
- 2脚:电脑的输入RXD
- 3脚:电脑的输出TXD 通过2 ,3 脚就可以实现全双工(可同时收发)的串行异步 通信
- 5脚:接地
单片机的P3口是有两个复用接口RXD 和TXD。这是单片机进行串行通信的收发口,连接应该错位的对应到电脑的TDX RDX上。注意:单片机和RS232的电平标准是不一样的。
单片机的电平标准 TTL电平 :+5V表示1 0V表示0。
RS232的电平标准 +15/+13 V表示1 -15/-13 表示0。
所以 单片机与电脑串口通信就应该遵循下面的连接方式:
在单片机与上位机给出的RS232口之间通过电平转换电路(最上面图中的Max232芯片) 实现TTL电平与RS232电平之间的转换,PC串口与单片机串口连接方式图:
注意这两个DB9:DB91是在电脑上的 DB92是在单片机实验板上焊接着的。
这里的交叉连接的意思是 DB91的RXD连着DB92的TXD。
DB92的RXD连着DB91的TXD这样交叉着连接,如果电脑没有RS232口 只有USB口,可以用串口转接线转出串口,如下图所示。
这个时候在电脑上位机上需要安装串口驱动程序。
注意,这个驱动程序驱动的是PL2303芯片(在上图的大头里面) 使得RS232信息转换成USB信息。
下图为上图的内部结构:
用串口通信比USB简单,因为串口通信没有协议,使用方便简单。
STM32的UART特点
- 全双工异步通信;
- 分数波特率发生器系统,提供精确的波特率。发送和接受共用的可编程波特率,最高可达4.5Mbits/s;
- 可编程的数据字长度(8位或者9位);
- 可配置的停止位(支持1或者2位停止位);
- 可配置的使用DMA多缓冲器通信;
- 单独的发送器和接收器使能位;
- 检测标志:
- ① 接受缓冲器
- ②发送缓冲器空
- ③传输结束标志;
- 多个带标志的中断源,触发中断;
- 其他:校验控制,四个错误检测标志。
串口通信过程
STM32中UART参数
串口通讯的数据包由发送设备通过自身的TXD接口传输到接收设备的RXD接口,通讯双方的数据包格式要规约一致才能正常收发数据。
STM32中串口异步通信需要定义的参数:起始位、数据位(8位或者9位)、奇偶校验位(第9位)、停止位(1,15,2位)、波特率设置。
UART串口通信的数据包以帧为单位,常用的帧结构为:1位起始位+8位数据位+1位奇偶校验位(可选)+1位停止位。如下图所示:
奇偶校验位分为奇校验和偶校验两种,是一种简单的数据误码校验方法。奇校验是指每帧数据中,包括数据位和奇偶校验位的全部9个位中1的个数必须为奇数;偶校验是指每帧数据中,包括数据位和奇偶校验位的全部9个位中1的个数必须为偶数。
校验方法除了奇校验(odd)、偶校验(even)之外,还可以有:0 校验(space)、1 校验(mark)以及无校验(noparity)。 0/1校验:不管有效数据中的内容是什么,校验位总为0或者1。
UART(USART)框图
这个框图分成上、中、下三个部分。本文大概地讲述一下各个部分的内容,具体的可以看《STM32中文参考手册》中的描述。
框图的上部分,数据从RX进入到接收移位寄存器,后进入到接收数据寄存器,最终供CPU或者DMA来进行读取;数据从CPU或者DMA传递过来,进入发送数据寄存器,后进入发送移位寄存器,最终通过TX发送出去。
然而,UART的发送和接收都需要波特率来进行控制的,波特率是怎样控制的呢?
这就到了框图的下部分,在接收移位寄存器、发送移位寄存器都还有一个进入的箭头,分别连接到接收器控制、发送器控制。而这两者连接的又是接收器时钟、发送器时钟。也就是说,异步通信尽管没有时钟同步信号,但是在串口内部,是提供了时钟信号来进行控制的。而接收器时钟和发送器时钟有是由什么控制的呢?
可以看到,接收器时钟和发送器时钟又被连接到同一个控制单元,也就是说它们共用一个波特率发生器。同时也可以看到接收器时钟(发生器时钟)的计算方法、USRRTDIV的计算方法。
相关推荐
- iFixit最近很忙: 现在到iPhone 6拆解进行中
-
以下为文章全文:威锋网讯,第一时间飞到澳大利亚对iPhone6Plus进行拆解的iFixit,现在继续着他们的拆解工作。这次正在拆解的是iPhone6,经拆解发现,内部的芯片来源有NX...
- CES 2025 第 2 天:各种新奇小玩意让人眼前一亮!
-
消费电子展(CES)第二天已经结束,这篇文章将展示大量苹果配件。所以,如果你一直在担心那些与苹果相关的产品都在哪儿,这个文章会满足你的需求。有很多产品是针对那些用iPhone拍摄的创作者的。而且,...
- TF卡和SD卡有什么区别
-
TF卡和SD卡都是内存卡,其中TF卡是手机使用的小内存卡,而SD卡一般是相机使用的大内存卡,这两种内存卡若是损坏了都可以使用内存卡修复工具进行修复或使用数据恢复软件来恢复数据。那么,TF卡和SD卡的区...
- 戴尔台式电脑OptiPlex 3080系列10带CPU如何安装Windows7系统
-
开机前不停的按“F2”进入BIOS界面。第一步,设置硬盘兼容模式(AHCI)。选择“SystemConfiguration”展开,选择“SATAOperation”,在右边选择“AHCI”,然后单...
- 联想台式电脑设置bios时U盘、光盘都启动不了是怎么回事?
-
谢谢悟空小秘书邀请!联想台式电脑设置bios时u盘光盘都启动不了?一般遇到此问题请先升级bios为最新版本,不过个人升级bios风险比较大,重则主板报废。还是请专业人士比较可靠。这方法教程可以参考我以...
- 如何恢复SD卡格式化后丢失的数据
-
现在大部分手机、相机、MP4等设备上都会配有SD卡插口,用来帮助用户存储更多的数据。但是,在用户使用SD卡的过程中,经常会出现SD卡格式化的情况,而SD卡中保存了很多重要的数据,这可怎么办?如何恢复S...
- 基于ReWorks 嵌入式系统平台构建SD卡驱动程序
-
SD卡(SecureDigitalMemoryCard)是由日本松下、东芝及美国SanDisk公司于1999年8月在MMC卡(MultiMediaCard)基础上共同研制而...
- 【Chat.】关于内存卡(存储卡)保修经历。
-
最近在外拍摄很多,可能是太热,也可能是直播软件的问题,导致坏掉了几个内存卡,本想着自认倒霉,毕竟每张卡都用了快2年以上了,还有的也用了快四年了,但还是尝试着去看看这些内存卡的保修时常,结果发现我要是不...
- 你是不是一直都弄错啦,TF卡和SD卡的区别?
-
你是不是一直都弄错啦,TF卡和SD卡的区别?一、SD卡是SecureDigitalCard的英文缩写,直译就是“安全数字卡”。TF卡,原名Trans-flashCard(TF卡),又叫micr...
- 常用的存储卡的一些类别(一)
-
我们所常见的存储卡其实还是有很多的,虽然现在的使用已经不多了,下面就来看看这些存储卡的分类。1、SD卡(SecureDigital)由日本松下、东芝及SanDisk共同开发研制,尺寸为32mm×24...
- 拯救iPhone,闪迪推出iXpand存储&电池背夹
-
iPhone的内置存储空间和电池续航一直很让人“捉急”,很多周边厂商开发了适配iPhone的存储拓展和电池拓展配件,苹果官方也在去年推出了一款SmartBatteryCase背夹电池,虽然造型受到...
- 2023开学季,TF/SD存储卡收纳选购攻略
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:木容权寸2023开学季,TF和SD卡已是目前主流数码产品的存储介质,下面来聊聊如何选购TF/SD卡和更好的收纳保护数据安全,希望对你有所帮助...
- U盘中的战斗机!闪迪至尊极速TM USB 3.2闪存盘评测体验
-
至尊超极速与至尊极速系列闪存盘一直是闪迪旗下最为亮眼的旗舰产品,此次我们《消费电子》评测室迎来了最新推出的闪迪至尊极速TMUSB3.2闪存盘。作为闪迪旗下高端的U盘,U盘中的战斗机,下面一起看看它...
- SATA SSD还坐得住吗?这款移动固态硬盘都不掉速,还能三防
-
对于经常进行外拍的摄影师或无人机航拍的专业人士来说,携带一块轻便的外置存储设备显然是非常必要的,毕竟一旦这些拍摄设备的存储空间用尽,就需要立即导出所拍内容,清空存储空间以便继续工作。近期西数旗下存储品...
- 车载听歌神器大比拼 每天都有不一样的好音乐
-
对于有车一族而言,在车内听点音乐是很平常事情,可是音乐的局限性却让车主很苦恼,每天听着重复的歌曲,时间久了,心情不但不会愉悦,反而会很烦躁,所以今天小编就为车主朋友推荐几款听歌利器,既方便又实用,每天...
- 一周热门
- 最近发表
- 标签列表
-
- mydisktest_v298 (34)
- document.appendchild (35)
- 头像打包下载 (61)
- acmecadconverter_8.52绿色版 (39)
- word文档批量处理大师破解版 (36)
- server2016安装密钥 (33)
- mysql 昨天的日期 (37)
- parsevideo (33)
- 个人网站源码 (37)
- centos7.4下载 (33)
- mysql 查询今天的数据 (34)
- intouch2014r2sp1永久授权 (36)
- 先锋影音源资2019 (35)
- jdk1.8.0_191下载 (33)
- axure9注册码 (33)
- pts/1 (33)
- spire.pdf 破解版 (35)
- shiro jwt (35)
- sklearn中文手册pdf (35)
- itextsharp使用手册 (33)
- 凯立德2012夏季版懒人包 (34)
- 冒险岛代码查询器 (34)
- 128*128png图片 (34)
- jdk1.8.0_131下载 (34)
- dos 删除目录下所有子目录及文件 (36)