0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术Linux工控主板串口硬件流控实现方法

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-02-04 10:40 次阅读

英创Linux工控主板上的串口除了COM2为五线制的串口,其余都为三线制的串口,五线制的串口就是常说的使用了RTS/CTS流控的串口,在三线制串口的基础上加入了流控信号,所以它的信号分别为RX,TX,RTS,CTS,GND。流控可以使数据接收设备在不能接收数据时通知数据发送设备,使其停止发送。 串口的流控经常采用硬件流控和软件流控两种方式。像COM2这样使用了RTS/CTS信号的就称为硬件流控,下面我们来详细介绍硬件流控的实现方式,硬件连接原理如下图:

首先看RTS信号,RTS (Require To Send,发送请求)为输出信号,用于指示本设备准备好可接收数据,低电平有效,低电平说明本设备可以接收数据。然后是CTS信号,CTS (Clear To Send,发送允许)为输入信号,用于判断是否可以向对方发送数据,低电平有效,低电平说明本设备可以向对方发送数据。

我们以ESM335x为例来介绍实际的使用过程中,硬件流控的工作方式。COM2(ttyS1)有4K的接收缓冲区,当缓冲区没有溢出,RTS信号始终输出低电平,表示可以接收数据,而CTS信号的电平取决于对方设备的RTS信号,当对方设备缓冲区没有溢出,RTS信号输出低电平,板卡COM2的CTS信号也为低,表示可以向对方发送数据,一旦设备的缓冲区满了,就会将RTS信号拉高,板卡检测到CTS信号为高,就会停止发送。所以在两端设备处理速度不同时,硬件流控可以避免出现由于接收缓冲溢出而出现的丢数据的现象,在很多高速串口的应用中,也能看到硬件流控的身影。

接下来我们看看在软件中如何设置,这里还是使用我们光盘中的例程step2_serialtest来做示例,在例程的基础上,只需要修改一个语句和增加一个语句即可。我们需要将串口的参数port_info.c_cflag中的CRTSCTS位置为1,在我们的例程中已经提供了接口,只用在CSerial::OpenPort中将info.flow_ctrl 的值修改为1,而info是标准的接口port_info结构体:

typedefstructport_info

{

intbaud_rate;

intport_fd;

charparity;

charstop_bit;

charflow_ctrl;

chardata_bits;

}*pport_info;

structport_info info;

info.flow_ctrl = '1';

ESM335x工控板还需要需要将硬件流控的标志位置为1,在open了COM2(ttyS1)之后调用一个ioctl就能够实现(ESM928x系列的主板可以省去这一步):

ioctl(m_fd,TIOCSERCONFIG);

这样在程序上就已经修改完成,只有五线制的串口COM2(ttyS1)能够支持硬件流控,需要注意的是CTS信号默认为输入加有3.3V上拉,所以需要连接具有流控的串口设备或是将CTS信号拉低才能够看到COM2口的输出波形,如下图所示,黄色为TX信号,蓝色为CTS信号:

CTS信号为高,TX没有输出

CTS为低,TX有信号输出

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10973

    浏览量

    206669
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6063

    浏览量

    34592
收藏 人收藏

    评论

    相关推荐

    国产工控主板:稳如磐石,引领工业创新潮流

    在当今数字化时代,工业领域对于数据和网络安全的关注越来越高。随着信息技术的迅猛发展,工业系统的安全性和可靠性成为了工业创新的关键要素。在这个背景下,国产工控主板凭借其卓越的安全性和可靠性,成为了推动
    的头像 发表于 03-25 15:27 123次阅读
    国产<b class='flag-5'>工控</b><b class='flag-5'>主板</b>:稳如磐石,引领工业创新潮流

    科技创新赋能国产工控主板,助推工业数字化新篇章

    随着信息技术的飞速发展,工业数字化已经成为推动新型工业化的重要力量。工业数字化是将信息技术与传统制造业相融合,通过智能化、网络化和自动化等手段,实现了传统工业向智能制造的转型。这种转型不仅提高了生产
    的头像 发表于 02-26 16:40 199次阅读

    探秘工控主板中的BIOS:为什么它如此重要?

    固件,承载着初始化系统硬件和传递信息的重要任务。当工控主板加电时,BIOS会对硬件设备进行自检,通过读取
    的头像 发表于 01-23 11:28 250次阅读

    国产工控主板:安全稳定的工业创新引擎

    其在推动工业发展中的重要作用。 首先,国产工控主板硬件设计方面注重安全性。通过采用先进的技术和工艺,国产工控
    的头像 发表于 01-19 14:19 157次阅读

    吉方工控工业主板的优势与特点

    来完成。计算机性能能否充分发挥,硬件功能是否满足,以及硬件兼容性如何等,都取决于主板的设计与制造质量。吉方工控的主要产品为AI边缘计算主板
    的头像 发表于 01-05 14:52 442次阅读
    吉方<b class='flag-5'>工控</b>工业<b class='flag-5'>主板</b>的优势与特点

    国产工控主板,引领智能工业革命,打造未来工业新篇章

    随着信息技术的迅猛发展,工业数字化已经成为推动新型工业化的重要力量。工业数字化的意义和影响不容小觑,它将信息技术与传统制造业相融合,实现了生产过程的数字化、智能化和优化。这不仅提高了生产效率
    的头像 发表于 11-24 10:42 250次阅读

    工控机主板与嵌入式主板的区别是什么?

    在计算机硬件中,主板是至关重要的组成部分,它连接并控制着所有的硬件设备。然而,根据其设计和使用场景的不同,主板可以被分为多种类型,选择合适的主板
    的头像 发表于 11-16 10:29 997次阅读
    <b class='flag-5'>工控机主板</b>与嵌入式<b class='flag-5'>主板</b>的区别是什么?

    信息技术是干什么?

    广播电子技术信息技术
    橙群微电子
    发布于 :2023年09月22日 09:17:48

    什么是工控主板,国产工控主板的设计特性

    工控主板是专门用于工业电脑的主板,其设计特性独特且适应工业环境的需求。国产工控主板在元器件选择、抗干扰性和接口设计等方面具有独到之处。
    的头像 发表于 08-28 14:13 329次阅读

    工控主板和普通主板的区别

    工控主板(Industrial Control Board)和普通主板(Consumer Motherboard)是两种针对不同领域和应用的类型主板,它们在设计和功能上存在一些明显的区
    的头像 发表于 08-04 14:27 881次阅读

    工控主板中BIOS的突破性功能解析

    工业自动化领域中,工控主板承担着对硬件的判断和管理任务,而BIOS(基本输入/输出系统)作为主板的核心固件,发挥着重要的智能硬件判断功能。本
    的头像 发表于 07-31 14:15 295次阅读

    触翔3588工控主板的优势

    触翔3588工控主板是一款基于Intel Baytrail平台设计的主频为2.4Ghz的工控主板,具有以下优势:
    的头像 发表于 06-29 15:28 504次阅读
    触翔3588<b class='flag-5'>工控</b><b class='flag-5'>主板</b>的优势

    2023年中海达星推官系列直播再度启航,与您一起探讨空间信息技术

    信息技术
    中海达
    发布于 :2023年06月21日 11:45:49

    国产工控主板全面解析:分类、应用及性价比分析

    国产工控主板是一种专用于工业计算机系统的硬件设备,用于传输和处理控制信号、数据信号和通信信号等。在工业控制领域,国产工控主板具有广泛的应用,
    的头像 发表于 06-12 15:04 904次阅读

    使用国产工控主板需要满足哪些要求?

    时,可以利用看门狗功能实现自动重新启动,以确保系统在恶劣环境下具备高稳定性。与普通电脑主板相比,工控主板工控电脑中扮演着核心角色,而国产
    的头像 发表于 05-16 14:39 341次阅读