相关动态
UART串口流控制(Flow control)「建议收藏」
2024-11-10 17:27

大家好,又见面了,我是你们的朋友全栈君。

UART串口流控制(Flow control)「建议收藏」

一般在串行通讯中,我们会在一些上位机上看到 RTS /CTS、DTR /DSR和 XON /XOFF的选项,这是对流控制的选项,一般是应用于 RS232接口的,是拿来调制解调器的数据通讯的

一、流控制的作用

这里讲到的 “流”,指的是数据流;在数据通信中,流控制是管理两个节点之间数据传输速率的过程,以防止出现接收端的数据缓冲区已满,而发送端依然继续发送数据,所导致数据丢失

二、工作原理

当接收端的数据缓冲区已满,无法处理数据来时,就发出 “不再接收” 的信号,发送端则停止发送,直到发送端收到 “可以继续发送” 的信号再发送数据。计算机中常用的两种流控制分别是硬件流控制(RTS /CTS、DTR /DSR等)和软件流控制(XON /XOFF)

三、RS232引脚定义

RS-232设计之初是用来连接调制解调器做传输之用,也因此它的脚位意义通常也和调制解调器传输有关。RS-232的设备可以分为数据终端设备(DTE,Data Terminal Equipment, For example, PC)和数据通信设备(DCE,Data Communication Equipment)两类,这种分类定义了不同的线路用来发送和接受信号。一般来说,计算机和终端设备有DTE连接器,调制解调器和打印机有DCE连接器。但是这么说并不是总是严格正确的,用配线分接器测试连接,或者用试误法来判断电缆是否工作,常常需要参考相关的文件说明

RS-232目前有 DB-25和 DB-9型的连接器,被用的较多的是 DB-9型的接口

RS-232中 DB-9型的管脚分配:

它的信号引脚说明:

四、硬件流控制(以 RTS /CTS为主)

RTS/CTS最初是设计为电传打字机和调制解调器半双工协作通信的,每次它只能一方调制解调器发送数据。终端必须发送请求发送信号然后等到调制解调器回应清除发送信号。尽管 RTS /CTS是通过硬件达到握手,但它有自己的优势

1、RS232的标准连线法

当 A端的设备准备好后,发出 DTR(数据设备就绪)信号, 传至 B端的 RI(响铃)和 DSR(通讯设备就绪)。 这样,只要 A准备好(DTR),B端就会产生呼叫(RI)并准备好(DSR)。

注意到 A端的RTS(请求发送)、CTS(允许发送)和 B端的 CD(载波检测)连在一起, 则说明 A一旦请求发送(RTS)将立即得到允许(CTS), 并使 B端检测到载波信号(CD)。 A端的 TXD与 B端的 RXD相连,A发送,B接收。

2、RS232的简化连线法

原来 RTS和 CTS是用来询问和回答是否可以传输数据。 但在这种连接方式下,就成了纯粹告诉对方自己是否可以进行通讯。 此时 RTS和 DTR都可以用来对数据流进行控制。

A端的 DTR(数据设备就绪)发出信号, 当 B端准备好后,B端的 DTR(数据设备就绪)向 A端的 DSR(通讯设备就绪)发出信号。 接下来就可以通过 RTS(请求发送)和 DTR(允许发送)来控制通信。

3、进一步简化(也就是以 RTS /CTS为主)

从上面的流程可以看到,硬件流控制主要是 RTS /CTS和 DTR /DSR来控制,但是,人嘛,能懒就懒,因此现在很多时候都只是用 RTS /CTS告诉对方自己是否可以进行通讯,而直接跳过了 DTR /DSR的就绪状态检测

在使用 RTS /CTS时,它们都是低电平有效,因此,一般在上位机中一旦打开串口,RTS会拉置高电平,然后等待数据发送,使得低电平有效

值得注意的,并不是说硬件流控制就单纯的依靠硬件,它还需要软件去处理识别,因为硬件流控制所做的只是给出信号电平,真正的控制发送使能还得看软件的处理

五、软件流控制

软件流控制(Software flow control)是在计算机数据链路中的一种流控制方法,特别适用于 RS-232串口通信;它是采用特殊字符来传输带内信令,特殊编码字符称作 XOFFXON(分别表示 “transmit off” 与 “transmit on”)。因此,也被称作 “XON /XOFF流控制”;

使用 ASCII字符集,XOFF一般为字节值 19(十进制),XON为字节值 17

值得注意的是:是接受方把 XON /XOFF信号发给发送方来控制发送方何时发送数据的,这些信号是与发送数据的传输方向相反的

它的处理主要是:接收方利用 XON信号告诉发送方,我已经准备好接受更多的数据了,利用 XOFF信号告诉发送方停止发送数据,直到接受方发送 XON信号告诉发送方我再次准备好了。

XON /XOFF是一种工作在终端间的带内方法,但是必须两端都支持这个协议,而且在突然启动的时候会有混淆的可能;XON /XOFF可以工作于 3线的接口

软件流控制广泛用于低速设备,特别是打印机与哑终端,用以指出它们临时暂停接收数据;软件流控制的优点是降低了收发双方之间的电路导体数量,给定一个共同的电路接地,只需要两条电路分别用于收发,也不需要额外的特定硬件实现;缺点是发送 XOFF需要至少一个字符的时间,而且需要排在对方已经接收的数据之后处理

XON /XOFF一般不赞成使用,推荐用 RTS /CTS控制流来代替它们。 因为串口传输的是二进制数据,可能你发送的数据里面也有 XON、XOFF对应的二进制值出现,进而引起误操作,这是软件流控制的缺陷,而硬件流控制不会有这个问题;当然,你也可以对 XON、XOFF进行特殊字符替换、组合等方式来确保通讯稳定

六、UART底层控制

上面也有说到,硬件流控制最后的实现还是绕到了软件上,若果是去写串口上位机控制的,可以看一下下面的链接,了解它们对应的寄存器

链接:

    以上就是本篇文章【UART串口流控制(Flow control)「建议收藏」】的全部内容了,欢迎阅览 ! 文章地址:http://sjzytwl.xhstdz.com/news/2482.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://sjzytwl.xhstdz.com/mobile/ , 查看更多   
最新文章
Tecno Phantom Ultimate 2:折叠屏手机引领市场革新tecno手机「Tecno Phantom Ultimate 2:折叠屏手机引领市场革新」
在智能手机市场持续变革的背景下,Tecno品牌旗下的新款折叠手机 Phantom Ultimate 2 引起了广泛关注。这款设备不仅展现出卓越的
【植物大战僵尸原版官方说明】植物大战僵尸手机版「【植物大战僵尸原版官方说明】」
植物大战僵尸原版官方正版是一款经典的策略塔防游戏,由宝开游戏公司开发。游戏中,玩家将扮演一位勇敢的园丁,利用各种具有特殊
备份分区手机数据恢复精灵「备份分区」
备份分区功能是将整个分区中的所有文件数据或其它数据备份到指定的文件(称为“镜像文件”)中,以便在分区数据遭到破坏时恢复。本
新购苹果手机被苹果官方鉴定经非授权改装,苏宁:退货送复检手机改装「新购苹果手机被苹果官方鉴定经非授权改装,苏宁:退货送复检」
重庆的邱先生7月1日向澎湃质量报告投诉平台(www.thepaper.cn/consumersComplaint.jsp)反映,今年4月4日,他在天猫商城苏宁易购
oppo游戏中心手机游戏中心「oppo游戏中心」
oppo游戏中心更新内容v13.11.1版本1、修复了部分已知问题2、优化了部分体验问题v12.6.1版本1.迅游活动上线,游戏空间签到即领加
你的孤独与抑郁,或许跟手机成瘾有关手机瘾「你的孤独与抑郁,或许跟手机成瘾有关」
原创 Arthur C. Brooks 酷炫脑Via:ifavart.com以下为朗读小姐姐全文音频作者 |Arthur C. Brooks翻译 | 王贝依改写 | 棉花熊审校
翻盖折叠屏手机哪个好翻盖手机「翻盖折叠屏手机哪个好」
翻盖折叠屏手机市场上有如下热门机型可供选择:三星 galaxy z flip4:性能强劲,主屏幕出色,副屏幕方便;华为 p50 pocket:性能
这些燃气安全知识,必须知道!手机消毒器「这些燃气安全知识,必须知道!」
燃气安全记心中正确使用保平安燃气与我们的日常生活息息相关在给我们生活带来方便的同时如不规范使用燃气也会产生一些安全隐患下
雅马哈AG03、AG06声卡,两部手机伴奏直播教程手机直播「雅马哈AG03、AG06声卡,两部手机伴奏直播教程」
在音哥的日常工作中,遇到不少用户咨询“雅马哈AG03/AG06,如何使用两部手机,一部直播,一部伴奏,进行直播”。于是音哥出了几
苹果手机突然没声音了怎么回事 如何解决手机没声音「苹果手机突然没声音了怎么回事 如何解决」
  苹果 手机,作为当前大多数苹果爱好者所追求的对象,有着稳定且使用寿命长的特点。它运用的是ios系统,比我们国产的android
相关文章