首页 > 其他分享 >UART通信,上下位机全双工通信出现堵塞延时。

UART通信,上下位机全双工通信出现堵塞延时。

时间:2024-10-08 14:46:05浏览次数:1  
标签:上位 UART 通信 下位 上下位 线程 接收

使用Ubuntu系统作为上位机,多线程开发时,使用其中一个线程专门作为通信使用。
使用tc264作为下位机,使用同一UART分别进行数据接收和数据传输

问题:当上位机把数据传输和接收的代码都放入同一线程中时,上位机接收和传输速率受到影响,延迟增强,时效性降低。
但UART是全双工异步串行通信,可以同时进行上下位机的传输和发送数据的操作。

排查现象:当我把上位机的传输和接收两部分代码分别放入两个线程,两者通信速率皆不受影响。

猜测:时间片轮询时,处于同一线程的代码,传输数据代码不断发送给下位机,触发下位机接收中断,下位机FIFO容量小,中断被频繁触发,打断下位机传输信息给上位机,导致上位机接收数据的延时增强,信息滞后,时效性下降。

解决方案:
1.增大FIFO容量,一次性读取多组数据,减少下位机接收中断的触发次数。
2.将上位机接收和发送数据的代码分别用两个线程实现,当上位机发送数据时不接收,接收时不发送。

标签:上位,UART,通信,下位,上下位,线程,接收
From: https://www.cnblogs.com/NoteByLyh/p/18451603

相关文章

  • IEEE 802.11:无线局域网通信标准解析
    目录一、概述1.1.定义1.2.历史背景1.3.速率与频段二、主要版本与特性2.1.IEEE802.11a2.2.IEEE802.11b2.3.IEEE802.11g2.4.IEEE802.11n2.6.IEEE802.11ax(Wi-Fi6)三、物理层技术3.1.跳频扩频(FHSS)3.2.直接序列扩频(DSSS)3.3.正交频分复用(OFDM)3.4.多......
  • Twilio-和-Flybase-实时通信高级教程-全-
    Twilio和Flybase实时通信高级教程(全)原文:Real-TimeTwilioandFlybase协议:CCBY-NC-SA4.0一、构建实时短信呼叫中心我们将为我们的第一个项目建立一个方便的短信呼叫中心。此呼叫中心将处理来自用户的传入SMS消息;它不会处理语音,只是短信。我们将在其他几章中讨论语音......
  • 上下位关系自动检测方法(论文复现)
    上下位关系自动检测方法(论文复现)本文所涉及所有资源均在传知代码平台可获取文章目录上下位关系自动检测方法(论文复现)概述算法原理Hearst模式上下位关系得分核心逻辑效果演示使用方式概述本文复现论文提出的文本中上位词检测方法,在自然语言处理中,上下位关系(I......
  • 手把手教你学AUTOSAR(3.4)--通信层(Communication Layer)
    目录通信层的作用通信层的组件1.网络管理(NetworkManagement)2.协议栈实现3.消息传输4.数据交换示例代码示例:初始化CAN通信服务总结 通信层(CommunicationLayer)是AUTOSAR(AutomotiveOpenSystemARchitecture)架构中的一个重要组成部分,它位于基础软件(BSW)之中,为......
  • 手把手教你学AUTOSAR(四)--AUTOSAR通信机制
    目录AUTOSAR通信机制1.通信层(CommunicationLayer)1.1网络管理(NetworkManagement)1.2协议栈实现1.3消息传输1.4数据交换2.应用层(ApplicationLayer)2.1运行时环境(RuntimeEnvironment,RTE)2.2应用层通信接口3.典型通信场景3.1CAN通信示例3.2LIN通信示例......
  • 使用微服务Spring Cloud集成Kafka实现异步通信(消费者)
    1、本文架构本文目标是使用微服务SpringCloud集成Kafka实现异步通信。其中KafkaServer部署在Ubuntu虚拟机上,微服务部署在Windows11系统上,KafkaProducer微服务和KafkaConsumer微服务分别注册到Eureka注册中心。KafkaProducer和KafkaConsumer之间通过KafkaServer实现异......
  • 数据通信——动态路由协议RIP
    目录一.动态路由协议分类二.距离矢量路由协议(理解)三. 链路状态路由协议(理解)四.RIP的工作原理五.路由表的形成过程 六.RIP的度量值(条数)cost七.RIP的版本(v1和v2)八.RIP解决路由环路(2)水平分割:从一接口上学到的路由信息,不会再从这个接口上发出去(3)毒性逆转(与水平分割......
  • ModbusTCP通信协议分析
    前言大家好!我是付工。前面给大家介绍了一系列关于RS485与Modbus的知识。终于有人把RS485说清楚了终于有人把Modbus说明白了通透!终于把ModbusRTU弄明白了今天跟大家聊聊关于ModbusTCP协议的那些事。一、发展历史ModbusTCP是一种基于以太网的通信协议.ModbusTCP协议由施耐德......
  • Link-local地址是IPv6中一种特殊类型的地址,用于在同一链路(网络段)内进行通信。这些地址
    IPv6的link-local地址定义:Link-local地址是IPv6中一种特殊类型的地址,用于在同一链路(网络段)内进行通信。这些地址的前缀是FE80::/64,并且每个IPv6设备在其网络接口上都会自动生成一个link-local地址。来源:Link-local地址的设计目的是为了支持IPv6设备之间的本地通信,而不需要依......
  • [从零开始的 Vue3 系列]:Vue3 中常用组件通信全解析
    前言本系列将从零开始,系统性地介绍Vue3的常用API,逐步深入每个核心概念与功能模块。通过详尽的讲解与实战演示,帮助大家掌握Vue3的基础与进阶知识,最终具备独立搭建完整Vue3项目的能力。vue3中的组件通信Vue3提供了多种方式来进行组件之间的通信。根据场景的不......