串口问题案例分享

news2024/9/27 17:22:43

最近在调试一个新板子的时候,发现一个问题,板子使用的是一个国产的处理器芯片,表现为如果板子232串口的发送和接收与电脑串口连接时,板子可以正常进入系统。

但是如果板子与电脑只接232串口的发送信号,不接232串口的接收信号或者232串口的发送和接收信号都不接,板子不能进入系统,只能进入到UBOOT,并且log打印还会有乱码。

这块板子的处理器芯片串口部分的电路示意图是这个,串口信号从处理器出来是1.8V,经过一个1.8V转3.3V的电平转换芯片变成3.3V的串口信号,再经过一个MAX3232芯片,将3.3V串口信号变成RS232电平的串口信号,最后经过TVS防护电路连接到连接器。

发送信号是从板子处理器端出来,在电脑端接收;

接收信号是从电脑端出来,板子处理器端接收;

板子处理器芯片在系统启动时会一直发送log信息,也就是启动时串口的发送信号会在一段时间内一直有数据,但是在电脑端只要不按按键,接收信号一般不会有数据。


在板子连接了232串口的发送和接收信号时,我们测量232串口的发送和接收信号,当有发送信号有数据时,波形是这一个。

这个黄色的是发送信号,蓝色的是接收信号。

可以看到接收信号一直是一个负值,也就是232电平的逻辑1。

 当板子没有连接232串口的接收信号只连接了发送信号时,我们测量232串口的发送和接收信号, 波形是这一个。

大家可以看到,232串口接收信号在发送信号变化时,也会莫名其妙的产生信号。

 我们再看下串口232的接收信号和3.3V的接收信号。

大家可以看到由于232接收上莫名其妙的信号   导致3.3V的接收上也会有数据。

 讲到这里也就解释了为什么不接232串口的接收信号,板子会进入到UBOOT,因为当系统启动时,在UBOOT界面会等待两秒,如果这两秒时间内你在电脑界面按任意的按键,进程就会就会进入到UBOOT而不会进入后面的系统,

 但是我们在电脑端明明是没有按按键的,结合测量的波形,我猜测系统检测到有按键按下是由于232串口上莫名其妙的信号组成个了某个按键,从而导致启动时错误的进入了UBOOT。

知道了启动进入UBOOT的原因是由于串口接收端上这些莫名其妙的信号,接下来我们分析串口接收端上这些莫名其妙的信号是怎么来的。

我们再来看到板子没有连接232串口的接收信号只连接了发送信号时,232串口接收和发送的波形。

 大家可以看到只有发送信号跳变的时候,接收信号才会产生这个莫名其妙的信号,并且从这个波形看这个莫名其妙信号很像电容的充放电。

但是整个串口电路上没有放电容啊,经过排查,最后我发现是因为串口的防护电路部分引入了电容,防护电路接了三个TVS管,大家都知道TVS管是有结电容,查数据手册才知道这个TVS管的结电容在1nF左右。

 然后MAX3232芯片内部在接收端是有一个5K的下拉电阻的。

 再加上TVS管的结电容,就构成了一个RC电路,由于电容两端电压不能进行突变,所以在串口发送信号的上升沿和下降沿,电容会进行放电和充电,也就很好的与我们测量的这个波形相对应了。

 知道了原因,整改的话当然也就很容易了,我们只需要换结电容比较小的TVS管即可。

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

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

相关文章

Java入门--字面量

字面量 字面量是指在代码中直接表示特定的常量或值,可以是整数,浮点数,布尔值,字符等 演示 整数和小数 System.out.println(666);//小数System.out.println(99.5);快捷写法:666.sout 加回车 字符 字符必须用单引号…

docker安装es集群(三台)

文章目录 1、防火墙设置,开启所需端口2、创建目录,并更改目录权限3 设置系统参数4 启动5 安装ik分词器6 配置7 安装elasticsearch-head(用于访问es,界面化工具)8、 修改es中每次返回的数据数量参数(默认100…

剑指offer55-II.平衡二叉树

我这个方法比较笨,用的是用的是昨天写的求二叉树深度的方法,先定义dfs求二叉树深度的方法,再定义cur方法,比较左子树和右子树的深度,递归比较每一个子树的左子树和右子树的深度,一旦有一个不平衡就把flag改…

vue3使用Eharts案例

文章目录 安装Eharts代码演示最终效果 安装Eharts 官方快速上手地址 npm install echarts --save代码演示 <script setup> import {onMounted, ref} from "vue"; // import echarts from "echarts"; import * as echarts from echarts; const opt…

聊聊「画图」和工具

经常被问&#xff1a;图怎么画&#xff0c;用啥工具&#xff1f; 01 每次遇到这个问题&#xff0c;脑回路都有一丝丝欢乐的氛围&#xff1b; 并不是问题奇怪&#xff1b; 而是自己对于画图这件事上并不专业&#xff0c;就算是涉及工作上的制图&#xff0c;也没特地去看过任何…

交换机远程登录telnet、SSH、禁止非法用户访问实验

交换机远程登录实验 交换机远程登录实验一、配置Console口登录设备二、配置Telnet远程登录三、Stelnet&#xff08;SSH&#xff09;配置四、远程登录实际中的配置五、禁止非法用户远程登录 交换机远程登录实验 ———————————————————————————————…

解锁数字化转型利器:探秘常用低代码工具大揭秘!

随着数字化转型的深入推进&#xff0c;越来越多的企业开始采用低代码工具来加快应用程序的开发速度。在本文中&#xff0c;我们将介绍常用的低代码工具有哪些&#xff1f;以帮助企业了解并选择适合自己的工具。 1、Zoho Creator Zoho Creator是一款低代码开发平台&#xff0c;提…

Docker配置阿里镜像加速源,超详细

1、首先登入阿里云账号,点击 控制台    2、搜索框查找 容器镜像服务    3、点击 镜像加速器 ,选择对应的操作系统    4、复制加速地址,在系统中配置 默认路径 /etc/docker/daemon.json 5、重启Docker systemctl daemon-reload systemctl restart docker6、验证 当…

【数据结构与算法】力扣:对称二叉树

对称二叉树 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true 示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false 来源&#xff1a;…

Windows+IDEA+Nginx反向代理本机实现简单集群

先简单创建一个项目&#xff0c;可以是Maven也可以是Spring Initializr&#xff0c;如果是 Maven则需要自己配置启动类 按照目录路径创建controller类 package com.cloud.SR.controller;import org.springframework.beans.factory.annotation.Autowired; import org.springfram…

mac intellij idea配置settings.xml报错解决

今天在配置环境的时候&#xff0c;发现在运行代码的时候不断报错提示maven没有能够成功地被sync&#xff0c;解决方法将以下三点解决了之后&#xff0c;程序最终跑起来了。 1.将maven的版本配置对&#xff0c;之前项目都用的maven-3.8.5这个版本&#xff0c;而我原先用的是mave…

MQ集群搭建

1.⾸先&#xff0c;克隆⼀台IP地址为192.168.230.132的虚拟机&#xff0c;然后参考章节的内 容&#xff0c;在该主机上安装RabbitMQ等环境。再加上之前的虚拟机&#xff0c;这样我们就准备好了两台Linux服 务器。 修改/etc/hosts映射⽂件。 vim /etc/hosts 3.两台Linux主机修改…

python识别登录验证码图片中字符

应用场景&#xff1a;在测试接口时&#xff0c;需要先自动执行登录接口&#xff0c;登录接口需要输入图片中的字符验证码。 实现的步骤主要有以下几步&#xff1a; 一、执行/captcha接口&#xff0c;从接口响应中提取图形验证码的base64编码值&#xff1b; 二、去掉base64编码…

STM32CubeIDE使用示例(STM32CubeMX+STM32CubeIDE+Gcc+JLINK+STM32G030C8T6)

本文简单记录下STM32CubeIDE的使用方法&#xff0c;整体的环境是STM32CubeMXSTM32CubeIDEGccJLINKSTM32G030C8T6&#xff0c;实现的简单测试功能是让STM32G030C8T6板子上的LED闪烁&#xff0c;以STM32G030C8T6 PB4 脚做LED 输出闪烁为例&#xff0c;外部8MHZ 晶振,系统主频64MH…

word 目录创建与提取

前言 word实际上一直在用&#xff0c;但是笔者在写文档都没关注目录的概念&#xff0c;实际上目录就是富文本或markdown编辑器的标题&#xff0c;可以起到跳转的作用。笔者的毕业论文的目录居然还是手打的。 目录创建 实际上word书写的时候就需要设置标题&#xff0c;最近的…

雅思单词量要达到多少才能达到要求?

对于刚开始备考雅思的同学来说&#xff0c;雅思单词是考好雅思的基础&#xff0c;雅思单词量要达到多少才能过关呢&#xff1f;下面为大家介绍一下雅思词汇量的要求。 一、雅思词汇量要求 雅思听力词汇 3000&#xff5e;5000左右&#xff0c;雅思听力是以场景展开的&#xff…

51单片机--定时器与按键控制流水灯模式

文章目录 定时器定时器的介绍定时器的作用定时器框图定时器的工作模式计数器原理图&#xff1a; 中断系统中断程序流程STC89C52的中断资源定时器和中断系统 定时器的相关寄存器TCONTMODTH与TL有关中断的寄存器 按键控制流水灯模式 定时器 定时器的介绍 51单片机上的定时器是一…

率先布局 RWA 赛道,PoseiSwap 成为最具先进性的 DEX

RWA 全称为现实资产通证化&#xff0c;比如股票、期货、美债甚至房产等传统资产。RWA 正在成为加密行业发展的一个全新叙事方向&#xff0c;除了传统商业巨头比如高盛、西门子等开始向该领域深入布局外&#xff0c;以 MakerDAO、Binance、Aave、Maple Finance 等为代表的 Web3 …

MySQL_2

目录 一、函数 1、字符串函数 2、数值函数 3、日期函数 4、流程控制函数 二、约束 1、概念&#xff1a;约束是作用于表中字段上的规则&#xff0c;用于限制存储在表中的数据。 2、目的&#xff1a;保证数据库中数据的正确、有效性和完整性。 3、分类 4、外键约束 4…

命名管道使用示例

用命名管道实现client和server端进行通信 【实现步骤】 创建两个没有关系的进程--》编写client和server源文件&#xff0c;并分别编译成可执行程序&#xff1b;创建命名管道文件&#xff0c;用函数int mkfifo(const char *filename,mode_t mode);client端以写的方式打开管道文…