精华内容
下载资源
问答
  • 串口波形分析

    2018-04-24 16:49:00
    串行数据的格式 异步串行数据的一般格式是:起始位+数据位+停止位,其中起始位1 位,数据位可以是5、6、7、8位,停止位可以是1、1.5、2位。...例如,对于16进制数据0X5A的数据传输波形,数据...

     

    1. 串行数据的格式

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

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

    例如,对于16进制数据0X5A的数据传输波形,数据格式是,波特率:115200,数据位:8,停止位1,校验:无。它在信号线上的波形如下图所示。

     

    2.      7位数据传输

    一般数据的传输都会定义成8位的格式,一些特殊的领域会用到数据位为5,6,7,位的格式;

    比如:一些plc设备,会用到5位的数据格式,又如海用电子设备标准格式(NMEA-0183 协议)的数据位是6位;虽然真实用来显示的数据会合成8位,但是他们在数据传输的时候用的是5,6,7的数据格式;

        我们从波形上来分析,特殊位的数据传输是什么样的格式;数据位不是8位的时候,从高位开始丢数据,比如5位数据格式,高3位丢掉,数据最大只能是 _ _ _1 1111;6位的数据格式,_ _ 11 1111;7位数据_111 1111;高位丢掉,丢掉的数据默认当做0;因此5位的数据最大数是0001 1111(0x1f),6位数据0011 1111(0x3f),7位数据0111 1111(0x7f); 用7位的数据抓个波,举个栗子;

     

    完整的一帧数据是 0 0101 101_ 1 一头一尾表示起始结束,不当数据用;0101 101_ 是真实的数据;丢去的数据补零,合成0101 1010,那么数据是0x5a;注意高位在前,低位在后面;

     

    我们换个数据来做测试;

    比如用0XCA;发送到串口,数据变成了0x4A;

     

    波形如下图

     3.      6位数据传输

    6位数据传输,丢去高2位;比如,传输0xCA;数据传输后得到的是0x0A

     

    换个数据测试0X5A;数据发出去之后,接收到的数据是0x1A;

     

    一般的串口助手,只能做到接收7位,8位的数据,配置成接收5,6位数据时候,软件打开错误,如下图提示;后来我自己写了个串口助手,当数据位配置成5,6位时也出错;不知道是不是微软不支持;

    4.      5位数据传输

    5位数据传输,丢去高3位;比如,传输0x5A;数据传输后得到的是0x1A

     

    换个数据测试0X3c;数据发出去之后,接收到的数据是0x1c;

     

     

    转载于:https://www.cnblogs.com/akingyouyou/p/8931653.html

    展开全文
  • 常见的USB转串口线分为USB-RS232和USB-RS485两种, 区别主要是逻辑电平是相反的 。 一、串行数据的格式 ... 掌握了上述波形分析方法,任何异步串行数据的接收和发送问题,基本都可以得到解决。

    常见的USB转串口线分为USB-RS232和USB-RS485两种,区别主要是逻辑电平是相反的

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

    起始位是一个值为0的位,所以对于正逻辑的TTL电平,起始位是一位时间的低电平;停止位是值为1的位,所以对于正逻辑的TTL电平,停止位是高电平。线路路空闲或者数据传输结束,对于正逻辑的TTL电平,线路总是1。对于负逻辑(如RS-232电平)则相反。

           例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)和图2(RS-232电平)所示。 (先传第一个字节55,再传第二个字节aa,每个字节都是从低位向高位逐位传输)

    RS232,RS485波形分析 - qiu_zhi2008 - qiu_zhi2008的博客
                                                                            图1  TTL电平的串行数据帧格式(55aah)

     

    RS232,RS485波形分析 - qiu_zhi2008 - qiu_zhi2008的博客
                                                                                       图2  RS-232电平的串行数据帧格式(55aah)

     

    再如:

                                                                                                                                               图3

    1.该图是TTL电平同相位的逻辑

    2.波特率设置时 38400

    3.串口发送的是 0x55

    4.串口设置为8N1 

     

     

    二、根据波形图计算波特率
    如图4是图1在示波器中的显示示意,其中灰色线是示波器的时间分度线,此时假设是200us/格。
    RS232,RS485波形分析 - qiu_zhi2008 - qiu_zhi2008的博客
                                                                       图4 波特率计算示意图

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

    10bit / 1.05ms X 1000 ≈ 9600 bit/s

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

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

    三、根据波形图判断RS-485收发数据的正确与否
           RS-485是一种半双工的串行通讯方式(RS-422为全双工),485电平芯片所以要正确接收和发送数据,必需保证控制信号和数据的同步,否则要么发送数据丢失,要么接收数据可能丢失。

           RS-485发送数据时的正确时序如图5所示。

    RS232,RS485波形分析 - qiu_zhi2008 - qiu_zhi2008的博客
                                                                        图5 RS-485的正确发送数据时序

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

        图6 和图7 分别是控制信号太短和控制信号太长的情况。

    RS232,RS485波形分析 - qiu_zhi2008 - qiu_zhi2008的博客
                                                                   图6 RS-485控制信号太短时的时序
    RS232,RS485波形分析 - qiu_zhi2008 - qiu_zhi2008的博客

                                                           图7 RS-485控制信号太短时的时序

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

        掌握了上述波形分析方法,任何异步串行数据的接收和发送问题,基本都可以得到解决。

    展开全文
  • 如果单片机串行通讯出了问题,最有效的调试方法是用示波器观察收发数据的波形 1、是否有数据接收或发送; 2、数据是否正确; 3、波特率是否正确
  • 下面将重点分析串口数据帧组成。 一、 串口通信帧 串口通信帧数据如此,每帧由空闲位、起始位、数据位、校验位、停止位组成 传输的数据是低位在前高位在后 l 空闲: 串口TX或RX数据线上没有传输任何数据时,...

    串口是最常用的外设了,串口基本都是单片机的标配。串口通信只需要3条线组成,分别为RX、TX、GND。下面将重点分析串口数据帧组成。

    一、    串口通信帧

     串口通信帧数据如此,每帧由空闲位、起始位、数据位、校验位、停止位组成

    传输的数据是低位在前高位在后

    l  空闲:

    串口TX或RX数据线上没有传输任何数据时,则该线处于为空闲状态。空闲是TX和RX都是处于高电平。

    l  起始位:

    标识数据起始,由一个逻辑0(低电平)的数据位表示。

    l  数据位:

    可以选择的值有5,6,7,8这四个值,可以传输多个值为0或者1的bit位。这个参数最好为8,因为如果此值为其他的值时当你传输的是ASCII值时一般解析肯定会出问题。理由很简单,一个ASCII字符值为8位,如果一帧的数据位为7,那么还有一位就是不确定的值,这样就会出错。

    l  校验位:

    保证数据传输的可靠性

    数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。就比如传输“A”(01000001)为例。

    1、当为奇数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为1才能满足1的个数为奇数(奇校验)。

    2、当为偶数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为0才能满足1的个数为偶数(偶校验)。

    此位还可以去除,即不需要奇偶校验位。

    校验位一般都是硬件处理的,如STM32。但是51的校验位是需要字节集手动处理,设置为9位数据位即可收到校验值。

    校验可选设置:

    无校验 (no parity):数据包不包含校验位

    奇校验 (odd parity):如果字符数据位中"1"的数目是偶数,校验位为"1",如果"1"的数目是奇数,校验位应为"0"。保证数据位+校验位的“1”为奇数

    偶校验 (even parity):如果字符数据位中"1"的数目是偶数,则校验位应为"0",如果是奇数则为"1"。保证数据位+校验位的“1”为偶数

    mark parity:校验位始终为1

    space parity:校验位始终为0

    l  停止位:

    它是一帧数据的结束标志。可以是1bit、1.5bit、2bit个逻辑1的的数据位表示

    二、    串口波特率(比特率)

     

    uart中的波特率就可以认为是比特率,即每秒传输的位数(bit)。

    一般选波特率都会有9600,19200,115200等选项。

    波特率其实意思就是每秒传输这么多个比特位数(bit)。

     

    波特率是串口传输速率的关键作用参数,9600bps就是每秒传输9600bit(位)的意思,也就相当于:1/9600=1.041666666666667e-4秒为每个bit的传输时间

     

    三、    抓波形(8-1-NONE)

    l  串口发送数据

    发送的配置:8位数据位、1位停止位、无校验位

    发送的数据:0x55 = 0101 0101

    波形查看

     0和11为空闲电平(高电平)

    1为起始位(一个数据大小的低电平)

     2、3、4、5、6、7、8、9组成8位数据,为10101010,但是数据是低位在前,所以真是的数据位01010101

    10为停止位,高电平,可以选择一个1、1.5、2个数据大小的时间

    四、    抓波形(8-1-EVEN)

    l  串口发送数据

    发送的配置:8位数据位、1位停止位、偶校验(数据+校验的1为偶数)

    发送的数据:0x55 = 0101 0101

    波形查看

    0和12为空闲电平(高电平)

    1为起始位(一个数据大小的低电平)

    2、3、4、5、6、7、8、9组成8位数据,为10101010,但是数据是低位在前,所以真是的数据位01010101

    10为校验位,因为是偶校验计算方式是数据位+校验位的1为偶数即可

    11为停止位,高电平,可以选择一个1、1.5、2个数据大小的时间

    五、    抓波形(x-1-NONE)

    l  串口发送数据

    发送的配置:(8,7,6,5)位数据位、1位停止位、无检验

    发送的数据:0x13 = 0001 0011

    8位数据位

    7位数据位

    6位数据位

    5位数据位

    5位数据位,使用奇校验(ODD)

    分析:

    *  数据的长度会根据奇偶校验位选择及数据位选择动态变化。

    *  数据位设置长度小于值本身的长度,将会出现截取现象,将自动截取低位,然后发送

    * 校验位只校验真实发送的数据

    展开全文
  • 串口波形分析(TTL,RS232,RS485)

    万次阅读 2017-04-15 16:04:47
    TTL,RS232,RS485波形分析   本文转自:http://blog.163.com/qiu_zhi2008/blog/static/60140977201092651854445/   http://www.cnblogs.com/cornflower/archive/2011/10/25/2223903.html      如

    TTL,RS232,RS485波形分析

     

    本文转自:http://blog.163.com/qiu_zhi2008/blog/static/60140977201092651854445/

                      http://www.cnblogs.com/cornflower/archive/2011/10/25/2223903.html

     

     

           如果单片机串行通讯出了问题,最有效的调试方法是用示波器观察收发数据的波形。通过观察波形可以确定以下情况:
    1、是否有数据接收或发送;
    2、数据是否正确;
    3、波特率是否正确;

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

    起始位是一个值为0的位,所以对于正逻辑的TTL电平,起始位是一位时间的低电平;停止位是值为1的位,所以对于正逻辑的TTL电平,停止位是高电平。线路路空闲或者数据传输结束,对于正逻辑的TTL电平,线路总是1。对于负逻辑(如RS-232电平)则相反

           例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)和图2(RS-232电平)所示。 (先传第一个字节55,再传第二个字节aa,每个字节都是从低位向高位逐位传输)

    RS232,RS485波形分析 - qiu_zhi2008 - qiu_zhi2008的博客
                                                                            图1  TTL电平的串行数据帧格式(55aah)

     

    RS232,RS485波形分析 - qiu_zhi2008 - qiu_zhi2008的博客
                                                                                       图2  RS-232电平的串行数据帧格式(55aah)

     

    再如:

                                                                                                                                               图3

    1.该图是TTL电平同相位的逻辑

    2.波特率设置时 38400

    3.串口发送的是 0x55

    4.串口设置为8N1 

     

     

    二、根据波形图计算波特率
    如图4是图1在示波器中的显示示意,其中灰色线是示波器的时间分度线,此时假设是200us/格。
    RS232,RS485波形分析 - qiu_zhi2008 - qiu_zhi2008的博客
                                                                       图4 波特率计算示意图

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

    10bit / 1.05ms X 1000 ≈ 9600 bit/s

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

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

    三、根据波形图判断RS-485收发数据的正确与否
           RS-485是一种半双工的串行通讯方式(RS-422为全双工),485电平芯片所以要正确接收和发送数据,必需保证控制信号和数据的同步,否则要么发送数据丢失,要么接收数据可能丢失。

           RS-485发送数据时的正确时序如图5所示。

    RS232,RS485波形分析 - qiu_zhi2008 - qiu_zhi2008的博客
                                                                        图5 RS-485的正确发送数据时序

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

        图6 和图7 分别是控制信号太短和控制信号太长的情况。

    RS232,RS485波形分析 - qiu_zhi2008 - qiu_zhi2008的博客
                                                                   图6 RS-485控制信号太短时的时序
    RS232,RS485波形分析 - qiu_zhi2008 - qiu_zhi2008的博客

                                                           图7 RS-485控制信号太短时的时序

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

        掌握了上述波形分析方法,任何异步串行数据的接收和发送问题,基本都可以得到解决。

     

    展开全文
  • VB6.0串口波形显示及分析软件源码,可以串口实时数据采样,可以实时输出峰值电平信号,支持外部时钟和内部时钟触发,以十进制和十六进制显示出来;水平垂直坐标可调、幅度可调,可以自定义曲线颜色,支持实时曲线...
  • VB编写的串口通信的波形分析 能记录5小时内的波形并进行分析
  • 串口接收4通道数据,传输格式为7F F7 D1 D2 D3 D4,格式为这样的可以直接使用,数据有转化,可以按照自己的要求自定义转化公式。数据可以保存为txt文档,一建分析频谱,注意设置采样频率。
  • 串口波形显示

    2016-07-15 10:47:39
    本代码是基于VS2010平台,利用C#开发的简易的示波程序。主要用到serialport控件和chart控件来实现。可以根据本程序进行修改实现自定义的波形数据输入显示,用于对数据采样的直观分析,有助于算法的研究。
  • 串口参数的配置 波特率(bit/s):9600或115200。 停止位:1位停止位;也可以是0.5,1.5或2位。 数据位:8位数据位;也可5,6,7位。...发送0X43,他的二进制数是0100 0011,串口波形显示的就是1100 0...
  • 波形分析--串口数据

    2020-04-02 10:48:35
    串口数据波形如下: 起始位为1b的低电平,如下图所示: 可以看到1b为8.68us,而串口工具设置波特率为115200,1/115200=8.68。数据位即8.68*8=69.44,波形如下: 波形数据1000 1000,低位在前,实际为0001 0001,...
  • 串口波形显示软件SerialChart的使用

    千次阅读 2020-05-28 09:30:44
    单片机开发过程中串口是最常用的调试手段,可以将代码运行... 今天推荐一款串口波形显示软件SerialChart,官方下载地址为:http://www.starlino.com/serialchart 打开网页后,点击红圈位置,直接下载就行。 ...
  • 串口一、串口(串行接口)二、异步串口(以下统称串口)三、重要参数1、波特率2、报文格式四、波形1、具体连接2、波形分析2.1 发送12.2 发送65 本文使用 STM32F406ZGT6单片机基于标准库进行测试 一、串口(串行接口...
  • 一个VB编写的很美观很牛逼的VB嵌入式串口通讯波形分析显示软件(源文件包&源代码&开发文档) 好东西应该拿出来大家一起分享!分享快乐!
  • 接收区和来显示串口消息,在调试时,可指定串口、波特率、校验位、数据位、停止位,关闭串口和清空接收区、以十六进制调试、保存显示数据、在同一周期后自动发送数据、选择发送文件、计数器清零、串口调试波形图版,...
  • 一、串行数据的格式 ...总结:只要掌握上述波形分析方法,任何异步串行数据的接收和发送问题,基本都可以得到解决。     转载于:https://www.cnblogs.com/zhaihongliangblogger/p/7441366.html
  • 小编最近在调试一块电路板内AD采集芯片的功能,用串口输出实时数据到串口调试工具上,然后将数据导出,再用EXCEL导入,使用EXCEL的数据分列、插入图表等功能将数据转换成波形分析波形的变化.......一顿操作猛如虎...
  • 当数据读取完毕后,我们要将数据描绘成波形并动态的显示出来。线程读取完Excel表格数据后,发送request信号,触发槽函数showData(),此槽函数首先在chart上初始化前1000个点。connect(&m_thread,&...
  • 小编最近在调试一块电路板内AD采集芯片的功能,用串口输出实时数据到串口调试工具上,然后将数据导出,再用EXCEL导入,使用EXCEL的数据分列、插入图表等功能将数据转换成波形分析波形的变化.......一顿操作猛如虎...
  • RS232(485)波形分析

    2013-09-11 16:13:55
    简单解释了串口通信的波形,通过波形分析双方通信是否正场
  • 1. even 每个字节传送整个过程中bit为1的个数是偶数个(校验位调整个数) ...总结:只要掌握上述波形分析方法,任何异步串行数据的接收和发送问题,基本都可以得到解决。
  • 为了对串口通讯的过程有所了解,采用Saleae 的逻辑分析仪对STC15F204EA采用定时中断模拟的串口信号进行了实时抓取,以确认这种通讯方法的稳定性。 STC15F204EA上没有硬件UART口,只能通过定时中断来仿真,在通用IO口...
  • 如果确定不是接错也不是设置问题,则可能需要查设计图并检测输出波形。 2.输出乱码:很大可能是波特率设置错了;另外有可能是输出电压不够,因为开发板输出的串口信号电压一般比较低,如果开发板本身没有增强...
  • 分析一:232串口信号要点:RS232,全双工,采用三线制传输分别为TXD\RXD\GND,其中TXD为发送信号,RXD为接收信号。在RS232中任何一条信号线的电压均为负逻辑关系。即:-15v ~ -3v 代表1 +3v ~ +15v 代表0测试...
  • 有个童鞋的程序的改编版,在CSDN可以找到,希望帮到有需要的伙伴,有资源大家一起分享!
  • 根据波形分析,分析出解析过程。 同步信号,以及f寄存器的分析。 采样寄存器r的分析。 握手接口信号。 仿真平台的编写,以及运行。 /* uart_rx #( .BAUDRATE ( 115200 ), .FREQ ( 200000000 ) )uart_rx...
  • 开源QT写的串口调试上位机(带波形显示)

    万次阅读 热门讨论 2014-11-23 19:08:36
    为了方便PC机同单片机(下位机)进行通信,需要开发一款基于串口协议的上位机辅助调试软件。软件不仅能够向下位机发送数据,发送指令进而控制下位机,而且还应该能准确接收下位机发来的数据,便于对下位机的一些...
  • saleae逻辑分析仪-串口

    千次阅读 2017-11-07 21:59:29
    逻辑分析仪CHx分别连接UART的rx和tx配置Logic 选择串口 设置波特率 还可以自定义显示方式 打开串口助手 波特率和Logic设置 输入字母a 取消自动换行 勾选定时发送 点击开始 波形、数据正常

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 133
精华内容 53
关键字:

串口波形分析