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
    +关注

    关注

    88

    文章

    11628

    浏览量

    217989
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6107

    浏览量

    36952
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    国产力量铸就数字基石:飞腾工控主板赋能多领域智能化升级

    当前,信息技术应用创新产业进入规模化落地的关键阶段,硬件基础设施的国产化、自主化已从可选变为必选。作为工业控制、智能终端的核心硬件工控主板
    的头像 发表于 11-27 09:04 225次阅读
    国产力量铸就数字基石:飞腾<b class='flag-5'>工控</b><b class='flag-5'>主板</b>赋能多领域智能化升级

    3A6000四核龙芯工控主板,推动信工控深度融合

    当今信科技快速发展,技术的不断演进和市场需求的变化,在工控领域也在进行源源不断地创新,其中最引人注目的是国产龙芯主板在其中的发展应用。
    的头像 发表于 11-14 09:10 207次阅读

    工控主板的设计特性

    在工业自动化、智能装备、物联网等领域,工控主板作为核心控制单元,其设计质量直接决定了整个系统的稳定性、可靠性与运行效率。与消费级主板不同,工控主板
    的头像 发表于 11-13 08:58 293次阅读
    <b class='flag-5'>工控</b><b class='flag-5'>主板</b>的设计特性

    新时代的硬核基石:龙芯工控主板助力信产业新基建

    在数字技术重塑产业格局的今天,信产业已成为保障国家信息技术安全的核心战略。作为工业自动化系统的大脑,工控主板的自主可控程度直接决定信创新基
    的头像 发表于 11-05 13:54 138次阅读

    工控主板的三大核心技术

    在工业自动化的浪潮中,工控主板如同“工业大脑”的核心载体,支撑着各类设备的稳定运行与智能升级。相较于消费级主板工控主板需在复杂工况下
    的头像 发表于 10-16 11:05 231次阅读

    智慧新核心,龙芯主板助力信体系再升级

    信息技术飞速发展的当下,信体系的自主可控与创新升级已成为国家战略层面的关键任务。作为信产业发展的重要基础硬件支撑,国产工控
    的头像 发表于 08-11 09:14 566次阅读

    飞腾主板为信产业发展提高硬实力

    信息技术飞速发展的当下,信产业已成为我国实现科技自立自强、保障国家信息安全的关键领域。信,即信息技
    的头像 发表于 07-22 18:20 560次阅读

    浪潮澎湃,国产主板迎来黄金时代!

    2025年7月,表示必须在2027年底前完成信100%替代,覆盖基础硬件、基础软件等核心领域。在信息技术应用创新浪潮席卷下,国产主板作为计算机系统的骨架,正从幕后走向台前。政策加持、
    的头像 发表于 07-21 14:00 364次阅读

    Linux系统挂载新固态硬盘的方法,触觉智能工控主板演示

    本文介绍Linux系统下新固态硬盘的挂载,使用触觉智能RK3568工控主板演示(型号IDO-SBC3528)检测固态硬盘与主板是否连接成功命令如下:fdisk-l#列出所有磁盘和分区
    的头像 发表于 06-19 16:13 622次阅读
    <b class='flag-5'>Linux</b>系统挂载新固态硬盘的<b class='flag-5'>方法</b>,触觉智能<b class='flag-5'>工控</b><b class='flag-5'>主板</b>演示

    开源系统适配:聚徽分享国产工控平板在 Linux / 鸿蒙系统下的技术优化

    工控平板进行技术优化,实现Linux、鸿蒙系统的高效适配,成为行业关注的焦点。 一、Linux 系统下国产
    的头像 发表于 06-13 16:29 715次阅读

    科普|信是什么?一文读懂“信息技术应用创新”战略

    什么是信?信,即“信息技术应用创新”,是国家推动IT系统自主可控、安全可控的重要战略工程。它不仅是技术层面的创新,更承载着保障国家网络安全、推动产业升级和
    的头像 发表于 06-13 10:06 6323次阅读
    科普|信<b class='flag-5'>创</b>是什么?一文读懂“<b class='flag-5'>信息技术</b>应用创新”战略

    浪潮下,国产主板有什么新的发展机遇?

    信息技术应用创新浪潮的推动下,国产主板迎来了诸多新的发展机遇。信产业旨在实现信息技术领域的自主可控,这一战略目标为国产
    的头像 发表于 05-09 09:24 567次阅读
    信<b class='flag-5'>创</b>浪潮下,国产<b class='flag-5'>主板</b>有什么新的发展机遇?

    信息安全管理必备!Linux系统使用SSH登录root账号的方法

    Linux远程管理信息安全必备!本文介绍各类Linux开发板/主板使用SSH登录root账号的方法,使用触觉智能RK3562开发板演示,关注
    的头像 发表于 02-12 15:46 1116次阅读
    <b class='flag-5'>信息</b>安全管理必备!<b class='flag-5'>Linux</b>系统使用SSH登录root账号的<b class='flag-5'>方法</b>

    OpenHarmony测试RS232/RS485串口方法,触觉智能SBC3528工控主板演示

    为大家介绍在鸿蒙系统下,没有串口工具的情况下如何测试RS232/RS485,触觉智能SBC3528工控主板演示
    的头像 发表于 12-17 14:29 1407次阅读
    OpenHarmony测试RS232/RS485<b class='flag-5'>串口</b><b class='flag-5'>方法</b>,触觉智能SBC3528<b class='flag-5'>工控</b><b class='flag-5'>主板</b>演示