如何用示波器进行UART串口数据分析

发布者:翅膀小鹰最新更新时间:2020-01-30 来源: elecfans关键字:示波器  UART  串口数据 手机看文章 扫描二维码
随时随地手机看文章

嵌入式里面说的串口,一般是指UART口, 但是我们经常搞不清楚它和COM口的区别, 以及RS232, TTL等关系, 实际上UART,COM指的物理接口形式(硬件), 而TTL、RS-232是指的电平标准(电信号)

UART的特征

一般uart控制器嵌入式系统里面都做在cpu一起,像飞思卡尔的IMX6芯片就是这样,有多个uart控制器。

引脚介绍(COM口比较多pin,但是常用的也是这几个):

VCC:供电pin,一般是3.3v,在我们的板子上没有过电保护,这个pin一般不接更安全

GND:接地pin,有的时候rx接受数据有问题,就要接上这个pin,一般也可不接

RX:接收数据pin

TX:发送数据pin,我之前碰到串口只能收数据,不能发数据问题,经baidu,原来是设置了流控制,取消就可以了,适用于putty,SecureCRT

在调试的时候, 多数情况下我们只引出rx,tx即可。 比如调试gps模块, IC数据直接通过uart上报,我就直接用了两个线连出了rx,tx,连上串口转USB小板, 电脑从串口直接获取数据,这样跳过了开发板,测试了gps的数据有没有问题。

示波器调试UARE

一、串行数据的格式

异步串行数据的一般格式是:起始位+数据位+停止位,其中起始位1位,数据位可以是5、6、7、8位,停止位可以是1、1.5、2位。

起始位是一个值为0的位,所以对于正逻辑的TTL电平,起始位是一位时间的低电平;停止位是值为1的位,所以对于正逻辑的TTL电平,停止位是高电平。对于负逻辑(如RS-232电平)则相反。


例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时。


二、根据波形图计算波特率

在示波器中的显示示意,其中灰色线是示波器的时间分度线,此时假设是200ms/格。

可以看了,第一个字节的10位(1位起始位,8位数据位和1位停止位)共占约1.05ms,这样可计算出其波特率约为:10bit / 1.05ms X 1000 ≈ 9600 bit/s

如果时间轴是100ms/格,同样可以计算出波特率应是19200bit/s。

当通讯不正常,又能观察到波形时,就可根据上述方法,从波形图计算一下波特率是否正确。


三、根据波形图判断RS-485收发数据的正确与否

RS-485是一种半双工的串行通讯方式,485电平芯片所以要正确接收和发送数据,必需保证控制信号和数据的同步,否则要么发送数据丢失,要么接收数据可能丢失。


发送控制信号的宽度基本与数据信号的宽度一致,所以能保证发送数据的正确和发送后及时转为接收。


由于控制信号关闭过早,则第二个字节的后两位将发送错误;在图6中,由于控制信号关闭过迟,使485芯片在发送数据后,不能及时转到接收状态,此时总线若有数据过来,则本单元将不能正确接收。

示波器分析UART串口数据

如何用示波器进行UART串口数据分析

这个是示波器一段的图 上面的数据(原文件)就是这段的

如何用示波器进行UART串口数据分析

Y的坐标单位是 电压值 V

X的单位是 时间 S 都是几十uS的 从这个可以分析出来 是多大波特率的

UART的格式 可以通过程序设置 有些会在停止位之前有一个奇偶校验之类的 停止位也不一定只是一个单位大小 可以设置为1、1.5、2等

中间的数据位长度也可以设置位 6 7 8 位等

还有数据的传输顺序 我这个是LSB先出的 所以可以看出

第一个数据 01010101 反过来就是10101010 =0xAA

第二个10101010 反过来01010101 0x55

第三个11001011 反过来 11010011 0xD3

第三个 11010000 反过来 00001011 0x0B


对着示波器 分析一遍之后 没错就是这样的 就是传的这些 也就是 数据和实际传输的信号 很好的对应上了


这个信号 是TXD 与 GND 之间的电压信号 此时 RXD与GND之间 一直为高电平电压值

这就是 UART : Universal Asynchronous Receiver/Transmitter,通用异步接收/发送 异步 没有时钟 接受端得有相应的采样时钟 否则会乱的


对于波特率的问题 这份数据有记录时间(具体精确的时间要看数据表) 好像记得在通信里面有码元这个概念 这里就是1bit 波特率=1/(1bit的时长) 这份数据1bit的时长≈8.6*10^(-6)s 也就是8.6us 1/8.6us =116279.06976744Hz 也就是115200的波特率了 因为那个8.6us的时间是估计的 而常用的波特率有这么些:看图片吧

如何用示波器进行UART串口数据分析

也就是1200 1800 2400 4800 7200 9600 14400 19200 38400 57600 115200 128000 还有一些


115200 原来以为速度还挺快的 用示波器看了之后 我再运行了一段代码 输出两个引脚信号 来看时间 发现当运行一段不短的代码之后串口才发完3、4个码元(不是byte哦) 天哪 算一算 如果发16byte的数据 总共16*10(1bit起始位+8bit数据位+1bit的结束位)=160个码元的时间 160*1/115200=0.0013888888888889 也就是1.38ms 有时候中断都不知道发生多少次了 肯定 这也是相对的

UART里面还有一个经常提到的 RS232 这是一种标准(协议 ) 就像说市电一样的 就知道是220V RS-232 就是把TTL(0~5V) 转换到10+V的电压 提要电压 可以增强抗干扰的能力 增加传输距离


一般用芯片来实现 MAX232 很典型 工作电压5V 输出有12V左右 和输出的负载有关吧 例如TTL的逻辑1 232对应的就是 负10几V 0对应的就是10+V 就是一个变换 变换后一般用9针的接口线 工程应用上就是这样的 用到3根线 2、3、5 收发地

关键字:示波器  UART  串口数据 引用地址:如何用示波器进行UART串口数据分析

上一篇:浅谈示波器X-Y模式 示波器触发模式及使用
下一篇:示波器和I2C时序波形图的关系分析

推荐阅读最新更新时间:2024-11-07 10:45

国内示波器产业将逐渐向中高端转型
中国示波器产业界要在市场经济条件下争得一席之地,不但要准确分析国外公司的产品现状及发展趋势,还要仔细分析国内的市场及需求状况,不能盲目跟风,应实事求是分析自己的实际水平,研发符合中国市场特色,满足中国用户各层次需求的产品。 示波器作为时间域电子测量仪器,在测量领域应用极其广泛,无论是电子电路及电子信息系统的研发、实验、培训,还是生产制造、故障诊断、试验检测等场所,到处都能见到示波器的身影。 随着信息和通信技术的持续创新与发展,各类行业标准的不断引入,通信设备、计算机及消费电子等终端产品在研发、设计与生产等方面的技术和环境要求也越来越高,从而对示波器的应用也提出更高要求。 江苏绿扬电子仪器集团有限公司副总经理韩
[测试测量]
YB4365/YB4345数字光标直读示波器的设计与实现
1 引 言   YB4365/4345数字光标直读示波器是2001年国家级重点新产品,该产品是采用单片机控制技术和双时基扫描技术的宽带示波器。该机不仅具备通用示波器的作用,还具备数字频率计和高频毫伏表等多种功能。 2 主要性能指标与特点   YB4365/4345数字光标直读示波器垂直偏转系数为1mV/div~5V/div,频带宽度为100MHz/40MHz,上升时间 3.5ns/8.8ns。扫描偏转系数0.5s/div~50ns/div。扩展 10后最快扫速为5ns/div,输入阻抗为1M /25P,该机的主要性能特点如下:   (1)屏幕显示设定状态。扫描速度、扫描延迟时间、非校准状态、垂直灵敏度等参数均可在屏幕上以字符形式显示
[测试测量]
YB4365/YB4345数字光标直读<font color='red'>示波器</font>的设计与实现
基于单片机的简易示波器设计
1、 系统结构框图 图1 系统结构图 1.1、信号调理电路 信号调理电路要完成的功能是:程控放大,叠加直流分量。程控放大的作用是:当输入信号的幅度很小的时候就需要对输入信号进行放大,使得被测信号可以在LCD上尽可能清楚的显示出来。叠加直流分量的作用是:ATmega16自带的A/D是单电源的,没办法输入负压而待测信号又往往有负压。这时候就需要这样一个电路,可以把负压抬高到0电平以上。 图2 信号调理电路原理图 R1,R2分别由一个模拟开关CD4051来连接不同的电阻,不同的R1,R2通过公式: 这样就可以实现程控放大功能了。可调电阻R9用来设置信号调理电路加入的直流分量的大小。放大后的信号和直流分量最后由
[测试测量]
基于单片机的简易<font color='red'>示波器</font>设计
示波器截图原来可以这么简单!
一份测试报告可能包含几十张示波器截图,因此示波器截图是否便捷非常关键。传统的示波器截图通常是用U盘将图片从示波器拷贝到电脑上,如果工作电脑不支持插入U盘,则更加复杂。能不能只按下CTRL+V就自由粘贴当前的示波器界面呢? 1、上位机软件Wave_Analyze:深度优化截图体验 Wave Analyze是示波器的PC分析软件。除了本身的波形分析功能外,还解决用户后期编写测试文档截图繁琐的问题。安装方便,无需驱动程序,只需一根网线即可实现电脑和示波器的快速连接。 图 1 Wave_Analyze软件 2、设备持续截图:选择最适合你的截图方式 点击Wave_Analyze软件的截图菜单,如图 2所示,可以看到有多种截图方式
[测试测量]
<font color='red'>示波器</font>截图原来可以这么简单!
利用示波器实现高速信号的全方位分析
  在高速信号调试时工程师必须首先调试并验证其设计是否符合物理层规范。在此阶段,信号完整性(如眼图和抖动)是关键问题,很多这种验证和调试是通过使用伪随机码序列(PRBS)或循环测试码,并结合示波器及示波器厂家提供的串行数据眼图和抖动分析软件来完成的。   在确保物理层信号质量没有问题后,串行信号从测试码变为8b/10b编码字符序列,此时系统级问题成为调试的重点,问题可能会出现在物理层-链路层域(涉及信号完整性和数据完整性的交叉领域)。这时,就需要对物理层信号实现解码分析。   对于现代的高速串行系统,系统之间的协调工作显得更为突出,协议间的任何冲突也会导致整个系统出现问题,因此分析物理层和链路层往往还是不够的,还必须要对系统的协议
[测试测量]
利用<font color='red'>示波器</font>实现高速信号的全方位分析
专业测量数据的设备-差分探头
差分探头是示波器的一种测量探头。它的功能十分重要,并且所测量的数据也有着十分重要的意义,对于这个产品的使用,我们也需要对它进行特别的注意,才能够更好的发挥出探头自身的效果。因此,差分探头成为现代示波器的主流配件。 差分探头主要用于观测差分信号:差分信号是相互参考、而不是以地作为参考点的信号。普通的单端探头也可以测量差分信号,但得到的信号与实际信号相差很大,有可能出现“地弹”现象。 差分信号和普通的单端信号走线相比,抗干扰能力强、能有效抑制EMI、时序定位精确等优势。
[测试测量]
专业测量<font color='red'>数据</font>的设备-差分探头
I2C总线应用下的EEPROM测试
1 I2C总线的工作原理及其特点   I2C 总线是一种用于IC器件之间连接的二线制总线,最早由Philips公司推出。它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件,不管是单片机、存储器、LCD驱动器还是键盘接口。串行扩展总线有突出的优点,电路结构简单,程序编写方便,易于实现用户系统软硬件的模块化、标准化等。   采用I2C总线标准的单片机或IC器件,其内部不仅有I2C接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。I2C总线接口电路结构如图1所示。   当某个器件向总线上发送信息时,它就是发送器(也叫
[测试测量]
I2C总线应用下的EEPROM测试
示波器探头补偿校准
  部分工程师在做电路调试的过程中,通常需要利用探头把被测信号引到示波器的通道上   在利用探头探测信号过程中,很多工程师都是拿起示波器就开始直接探测信号,大部分工程师会忘记要对示波器和探头进行补偿校准,最后导致工程师走了很多弯路,测试结果和波形不准确,如何正确的使用探头,对测试结果影响非常大   在利用探头探测信号之前,需要对探头进行补偿,通过对探头的校准来补偿探头的漂移,经过探头的补偿校准后,可以提高探头的测试精度,那我们今天给大家讲一下如何校准无源探头   首先是介绍一个普通的老式探头   Step1: 将无源探头接到示波器通道上;   Step2: 将无源探头前端夹住示波器的校准信号和地线;   Ste
[测试测量]
<font color='red'>示波器</font>探头补偿校准
小广播
最新测试测量文章
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved