| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 串口通信过冲原因分析和端接的方法 -> 正文阅读 |
|
[嵌入式]串口通信过冲原因分析和端接的方法 |
? ? ? ? 首先看一下我们常用的串口通信接线方式,MCU的RX,TX引出这里加一个33~100Ω的串联电阻以匹配传输线的阻抗,USB转TTL这端没有端接任何电阻,MCU这里和USB转TTL这里是通过15cm长的杜邦线连接,电路图如下,USB转TTL接到上位机电脑上面,MCU通过TXD不断发送数据给上位机,RXD为上位机给MCU发送测量指令。 ?1、MCU_TX波形 ?2、USB_RX ?3、MCU_RX ?4、USB_TX ? ? ? ?从上面的测试波形我们已经发现问题,MCU的TX和USB的TX都是基本上没有过冲,MCU的RX和USB的RX都是有比较大的过冲,这个过冲一个15%一个30%,过冲是比较大的,造成这个过冲的原因就是因为阻抗的不匹配,而且导线过长使我们看到了信号的反射。 ? ? ? 我们以MCU_TX(近端)和USB_RX(远端)这一组为例,我们把匹配的100R电阻去掉,看远端的波形如下: 可以发现这个过冲又增加了3%左右。 然后我们把100R电阻焊回去,在远端出并联一个470p电容,这样增加传输的时延,使我们振铃淹没在上升沿,这样我们看到远端的波形就没有过冲了。 ? ? ? ?有人也许会说串口的通信信号频率不高,比如我上面的串口用的波特率为:961200bps,看频率有500k的时候,如果按500k来说远远没到需要阻抗匹配的的频率。 这个问题我的理解如下: 因为一般不需要端接的最大长度in数是信号的上升沿的ns数,也就是当 Len max? >??RT Len max是没有端接的传输线的最大长度,RT为信号的上升沿。举例来说:信号10M的频率,时钟周期为100ns,上升沿为10ns,那么不需要端接的传输线最大长度为10in,测试我们MCU的TX的上升沿时间如下图所示,可以看出上升时间为1.1ns,也就是不需要端接的传输线的最大长度1.1in,也就是2.79cm,而我们用的传输线长度有15cm左右,所以我们可以看到信号的反射。我们在远端加了一个电容的就解决了反射的问题,就是把信号的上升时间变长,使反射淹没在上升沿过程中。 ? ? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:35:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |