一种单总线串口通信的调试方法

单总线的优点:

  1. 节省IO口,发送时可以将单片机的RXD设置为普通IO进行软件模拟发送,发送完设置为串口接收。
  2. 避免通信干扰,由于是通过IO口对三极管/MOS管进行拉高拉低,外部信号不易对IO口进行干扰,EMI(电磁干扰)也不容易单片机造成影响。

单总线的缺点:

  1. 异步半双工
  2. 通信速率不能太高

硬件电路如下:

该电路中,数据通过TXD发出,当TXD发出高电平信号时,三极管Q2导通接地,此时

总线上为低电平,当TXD发出低电平信号时,三极管Q2截止,由于上拉电阻的存在,此时

总线为高电平信号;同理,RXD接收数据时,总线为高电平时RXD为低电平,总线为低电平

时RXD为高电平;Q1、Q2两个三极管在电路中类似非门,发出的数据和接收的数据经过三

极管后将被取反,因此,总线上读出的数据是被取反后的数据,但是由于主机和从机都使

用了该串口转总线电路,实际接收到的数据是被取反了两次的数据,取反两次的数据和被

取反之前的数据保持一致。

软件设计:

1.自发自收

正常情况下,该电路会出现自发自收的情况,导致通信不正常。所以需要在发送时禁止接受中断,发送完再打开。

  1. 总线被TXD拉低,正常状态下,串口空闲时是高电平,此时三极管打开,总线被拉低,导致无法接收数据,所以发完要禁止发送,同时将TXD设置为普通IO口并拉低。
  2. 由于以上的这些特性,通信是异步半双工,所以在通信协议上需要设置为主从模式,主机间隔一定时间发送数据,从机需要立即响应,同时从机要开一个定时器,当超时没有接收到数据,需要主动发起握手,如果握手失败,需要进一步处理,避免出现故障。

通信效果如下,粉色为从机的TXD,蓝色为从机的RXD

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/133381.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu20.0工作区(workspace)介绍,切换工作区方式和快捷键

Ubuntu20.0工作区(workspace)介绍,切换工作区方式和快捷键 先修改一下ubuntu截屏的快捷键查看工作区新建工作区工作区切换 先修改一下ubuntu截屏的快捷键 修改为 查看工作区 按下Super键(即Windows键),可…

解决logstash插件logstash-outputs-mongodb一条数据失败后一直重复尝试

描述 从日志中读取数据时,有一条数据不符合规范,导致logstash读取数据插入时出错,而插件又无限尝试插入,导致堵塞。 解决方案 找到logstash文件夹目录,例如是:/data/logstash-7.3.2 cd /data/logstash-…

新手用mac电脑,对文件的疑问和gpt回应

macOs系统安装软件的疑问 所有问题mac系统文件结构我用mac安装软件,不用像windows一样创建文件夹吗只能安装到Applications文件夹吗安装程序的指南和提供的安装选项是什么软件安装在Applications下的/appName文件夹,它的所有数据都会在该文件夹吗如果卸载…

如何在搜索引擎中应用AI大语言模型,提高企业生产力?

人工智能尤其是大型语言模型的应用,重塑了我们与信息交互的方式,也为企业带来了重大的变革。将基于大模型的检索增强生成(RAG)集成到业务实践中,不仅是一种趋势,更是一种必要。它有助于实现数据驱动型决策&…

1.性能优化

概述 今日目标: 性能优化的终极目标是什么压力测试压力测试的指标 性能优化的终极目标是什么 用户体验 产品设计(非技术) 系统性能(快,3秒不能更久了) 后端:RT,TPS,并发数 影响因素01:数据库读写,RPC&#xff…

✔ ★【备战实习(面经+项目+算法)】 11.6 学习

✔ ★【备战实习(面经项目算法)】 坚持完成每天必做如何找到好工作1. 科学的学习方法(专注!效率!记忆!心流!)2. 每天认真完成必做项,踏实学习技术 认真完成每天必做&…

前端工程化(vue2)

一、环境准备 1.依赖环境:NodeJS 官网:Node.js 2.脚手架:Vue-cli 参考网址:安装 | Vue CLI 介绍:Vue-cli用于快速的生成一个Vue的项目模板。主要功能有:统一的目录结构,本地调试&#xff0…

【一、http】go的http基本请求方法

1、http的基本请求 package mainimport ("bytes""fmt""io""net/http""net/url" )func post(){r, err : http.Post("http://httpbin.org/post", "", nil)if err ! nil {fmt.Println("ss")}de…

嵌入式系统设计与应用---ARM指令集(学习笔记)

目录 本文图片截取自书本和老师的ppt 概述 指令格式 指令的条件码 ARM的寻址方式 立即寻址 寄存器寻址 寄存器间接寻址 寄存器移位寻址 变址寻址 多寄存器寻址 相对寻址 堆栈寻址 块复制寻址 ARM指令集简介 跳转指令 1.B指令 2.BL指令 数据处理指令 1.数据传…

大华同轴电缆低时延监控方案300ms

1.具体的方案如下: 同轴电缆可以最长支持500米,8路视频流,原始视频流 产品型号:DH-HAC-HFW2401M-I1 和 DH/HCVR7104HS-V6 京东的上宣称实时: 2.时延具体参数 找技术厂家咨询了具体的时延参数,厂家说无法…

SQL审计是什么意思?目的是什么?有什么好处?

很多刚入行的运维小伙伴对于SQL审计不是很了解,不知道其是什么意思?使用SQL审计的目的是什么?使用SQL审计的好处有哪些?这里我们大家就来一起聊聊,仅供参考哈! SQL审计是什么意思? 【回答】&…

c语言中文件的定义

#include <stdio.h> /*文件的定义&#xff1a; * 磁盘文件&#xff1a;指一组相关数据的有序集合&#xff0c;通常存储在外部介质&#xff08;如磁盘&#xff09;上&#xff0c;使用时才调用内存。 * 设备文件&#xff1a;在操作系统中把每一个与主机相连的输入、输出设…

【LIUNX】修改hostname方法

【LIUNX】修改hostname方法 临时修改永久生效方法1方法2修改后立即生效方法方法1方法2 临时修改 hostname <new-hostname>永久生效 方法1 vi /etc/hostname方法2 hostnamectl set-hostname <newhostname>修改后立即生效方法 方法1 sysctl kernel.hostname$(c…

【Redis】String字符串类型-内部编码使用场景

文章目录 内部编码使用场景缓存功能计数功能共享会话手机验证码 内部编码 字符串类型的内部编码有3种&#xff1a; int&#xff1a;8个字节&#xff08;64位&#xff09;的⻓整型&#xff0c;存储整数embstr&#xff1a;压缩字符串&#xff0c;适用于表示较短的字符串raw&…

ClickHouse开发系列

一、 ClickHouse详解、安装教程_clickhouse源码安装 二、ClickHouse 语法详解_clickhouse讲解 三、ClickHouse SQL 操作语句详解 四、ClickHouse 高级教程—官方原版 五、ClickHouse主键索引最佳实践 六、MySQL与ClickHouse集成 七、ClickHouse 集成MongoDB、Re…

BSN专网+医疗保险:MediConCen与BSN达成战略合作,提升理赔效率

近日&#xff0c;领先的香港保险技术解决方案提供商MediConCen与区块链服务网络&#xff08;BSN&#xff09;宣布建立战略合作伙伴关系&#xff0c;MediConCen将基于BSN专网构建其保险理赔自动化平台。此次合作的重点是在医疗保险中简化住院和门诊病人的非现金保险理赔&#xf…

淘宝API商品详情接口丨关键词搜索接口丨用户评论接口丨淘宝销量接口

淘宝API商品详情接口&#xff0c;关键词搜索接口&#xff0c;用户评论接口&#xff0c;淘宝销量接口如下&#xff1a; 淘宝/天猫获得淘宝商品详情 API 返回值说明 item_get-获得淘宝商品详情 1.公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在…

2023-11笔记

1.switch空指针异常 Exception in thread "main" java.lang.NullPointerException:Cannot invoke "String.hashCode()" because "<local2>" is nullat Study5.Test03.main(Test03.java:6)我们由此可以知道&#xff0c;switch语句部分情况下…

「Verilog学习笔记」多功能数据处理器

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 分析 注意题目要求输入信号为有符号数&#xff0c;另外输出信号可能是输入信号的和&#xff0c;所以需要拓展一位&#xff0c;防止溢出。 timescale 1ns/1ns module data_…

NLP常见任务的分类指标

自然语言处理&#xff08;NLP&#xff09;任务的评估指标因任务类型和目标而异。以下是一些常见的 NLP 任务以及相应的评估指标&#xff1a; 1、 文本分类任务&#xff1a; 准确率&#xff08;Accuracy&#xff09;&#xff1a;分类正确的样本数量与总样本数量的比例。 精确率…