uart 时序_8080接口时序

uart 时序_8080接口时序数据传送速率用波特率来表示,指单位时间内载波参数变化的次数,或每秒钟传送的二进制位数  如每秒钟传送240个字符,而每个字符包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为2400Bd  传输时序如下图    在UART中,信号线上共有两种状态,分别用逻辑1(高电平)和逻辑0(低电平)来区分  在空闲时,数据线应该保持在逻辑高电平状态  其中…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

数据传送速率用波特率来表示, 指单位时间内载波参数变化的次数, 或每秒钟传送的二进制位数

  如每秒钟传送240个字符, 而每个字符包含10位(1个起始位, 1个停止位, 8个数据位), 这时的波特率为2400Bd

  传输时序如下图

  uart接口的时序分析

  在UART中,信号线上共有两种状态, 分别用逻辑1(高电平)和逻辑0(低电平)来区分

  在空闲时, 数据线应该保持在逻辑高电平状态

  其中各位的意义如下

  起始位(Start Bit): 先发出一个逻辑0信号, 表示传输字符的开始

  数据位(Data Bits): 可以是5~8位逻辑0或1. 如ASCII码(7位), 扩展BCD码(8位)小端传输

  校验位(Parity Bit): 数据位加上这一位后, 使得1的位数应为偶数(偶校验)或奇数(奇校验)

  停止位(Stop Bit): 它是一个字符数据的结束标志。 可以是1位、1.5位、2位的高电平

  空闲位: 处于逻辑1状态, 表示当前线路上没有资料传送

  uart接口的时序分析

  1、串行数据的格式

  异步串行数据的一般格式是:起始位+数据位+停止位,其中起始位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,每个字节都是从低位向高位逐位传输)

  uart接口的时序分析

  图1 TTL电平的串行数据帧格式(55aah)

  uart接口的时序分析

  图2 RS-232电平的串行数据帧格式(55aah)

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

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

  uart接口的时序分析

  图3 波特率计算示意图

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

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

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

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

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

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

  uart接口的时序分析

  图4 RS-485的正确发送数据时序

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

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

  uart接口的时序分析

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

  uart接口的时序分析

  图6 RS-485控制信号太长时的时序

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193889.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Prism教程二: Bootstrapper

    Prism教程二: Bootstrapper在程序中使用框架必然要有一个切入点,框架会在这里进行初始化,处理相关配置等。在Prism中扮演这一角色的就是Bootstrapper。Prism提供了一个抽象基类Bootstrapper,这个类里面包含了许多空的虚方法,可以重写他们添加自己的逻辑。这个

  • read函数的返回值问题

    read函数的返回值问题Read函数读取字符串返回值的问题1.前言在学习socket编程的途中,通过客户端给服务端发送字符串,然后服务端通过read或者recv来读取数据,然后返回读取的字节数.我在想read返回的读取字节数有没有包含’\0’或者’\n’呢,于是通过一些简单的小例子,来看看实际情况到底如何.2.read函数我们来看一下read函数的原型:ssize_tread(intfd,void…

  • python判断文件后缀名是否是jpg 或者png_python判断文件名是否包含某字段

    python判断文件后缀名是否是jpg 或者png_python判断文件名是否包含某字段whileTrue:p=input(‘请选择文件:’)y=input(‘请选择后缀名:’)i=p.rfind(‘\\’)f=p[i+1:]iff.endswith(y):breakelse:print(‘文件不符合’)print(‘文件符合,允许上传’)…

  • request对象的作用

    request对象的作用HttpServletRequset:请求报文     代表:浏览器请求时的请求报文,请求到达服务器服务器将报文解析封装为这个对象     获取:请求到服务器是,服务器直接创建然后传入到servlet方法中,最终传入到doget中     作用:获取请求报文中的所有数据              1、获取请求参数【input表…

  • at24c02模块怎么用_AI8C模块参数

    at24c02模块怎么用_AI8C模块参数AT24C02模块概述:  该文主要描述了,AT24C02简介、AT24C02特性、硬件原理图、管脚描述、从器件地址、写周期限制、读写操作时序。1、AT24C02简介  AT24C01/02/04/08/16是一个1K/2K/4K/8K/16K位(AT24C02大小为256字节)串行CMOSE2PROM内部含有128/256/512/1024/2048个8位字节,CATALYST公…

    2022年10月29日
  • HP-UX 六大虚拟化技术之“网络”

    HP-UX 六大虚拟化技术之“网络”

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号