文章目录

  • 前言
  • 一、串口是什么?
  • 二、并口是什么?
  • 三、各接口的划分?
    • 1.UART
    • 2.USB
    • 3.各式各样电气接口标准
      • 1.RS232(全双工)
      • 2.RS485(半双工)
      • 3.RS422(全双工)
      • 4.TTL(全双工)
  • 四、总结

前言

本篇文章主要介绍一下在学习电子知识时常见的通信方式:串口。从最初开始学习单片机就了解到串口:C51单片机中含有一个串口功能,可以完成和上位机的通信,使用相应的串口调试助手就可以。随着对串口接触的越来越多,相关的知识也越来越多,这篇文章主要目的就是总结一下与串口相关的知识。

一、串口是什么?

串口指串行接口(Serial interface)也就是数据一位一位的按顺序来传输。将数据按照高低位按顺序来进行传输,这样会导致速度变慢,但大大的节省了成本。随着电子技术的发展,串口越来越多的融入到各个方面,相关技术也越发成熟。同样想要在同一根线上完成传输和接收是一样的数据,各方面的指标要保证一样,例如波特率。也就是传输的速率,还有就是起始位,数据位以及校验位等等,这些确定了,发送端与接收端也就统一了标准。也就是说双方打电话,说的是一种语言,我知道你,你了解我。

二、并口是什么?

介绍完串口就可以更好理解并口是什么了。如果说串口就像只有一个跑道给你送数据,那么并口就是有多个同时给送数据。在时钟线的同一个时刻,多个数据线给到相应的数据,从而组成一组完整的数据。听起来有一种事半功倍的效果,但现如今并口的技术正在被淘汰,一方是由于并口的成本较大,另一方面,这其中要使的多位数据线在同一时刻同时到达,这使得时钟的速率受到限制。无法做到更高的提速,想要获得非常快的速度,硬件的成本将大大提升。

三、各接口的划分?

下面就要介绍本篇文章的重点了:

1.UART

异步串行接收/发送器UART(Universal Asynchronous Receiver/Transmitter)和他相似的还有一个叫同步/异步串行接收发送器USART(Universal Synchronous/Asynchronous Receiver/Transmitter)最初学习单片机的时候接触到的就是这两者。这两者的区别看名字也就能看出来。UART增加了一个支持同步的功能也就变成了USART。所以这里就主要介绍一下UART。
由于UART的成本较低,性能稳定。所以被广泛的使用在各式各样的场景中,很多它的原理主要是实现串并转换和并串转换。既然UART用于异步通信,那么也应该有相关的通信协议。
1.空闲位:位于逻辑“1”状态,表示当前线路上没有数据传送。
2.起始位:一个时钟的逻辑“0”状态,表示数据传输的开始。
3.数据位:随后跟着时钟信号来发送数据位,常见的就是8位数据。顺位先低后高。
4.奇偶校验位:该位的功能为校验位,如果一组给定数据位中 1 的个数是奇数,那么偶校验位就置为 1,从而使得总的 1 的个数是偶数;如果给定一组数据位中 1 的个数是偶数,那么奇校验位就置为 1,使得总的 1 的个数是奇数。
如果是采用奇校验,在传送每一个字节的时候另外附加一位作为校验位,校验位在数据位后面,当实际数据中“1”的个数为偶数的时候,这个校验位就是“1”,否则这个校验位就是“0”,这样就可以保证传送数据满足奇校验的要求。在接收方收到数据时,将按照奇校验的要求检测数据中“1”的个数,如果是奇数,表示传送正确,否则表示传送错误。详情点击这里:奇偶校验位
5.停止位:表示一组数据传输已经完成。这里可以给到1,1.5,2个高电平都可以,这时候串口的传输也可以趁这个时间来调整时钟信号,保证下一次的传输性能。
波特率:表示秒钟传输的字符数。也就是一秒钟可以传输多少个“0”或者“1”。这可以说是串口的传输的一个非常非常关键的参数,传输的速率和接收的速率要保持一样才可以完成一次准确无误的通讯。

2.USB

下面介绍USB这个在日常生活经常出现的名词,我刚刚接触USB的时候就已经是USB2.0了,到现在的USB3.0,4.0,不得不说USB的相关技术发展还是非常快的。最开始接触USB接口的时候就是给手机充电,大头那端就是USB接口:

有关USB的技术介绍真的多到不行,这里也就不一一讲解。现如今USB已经成为了PC端与外设通信的接口,每一台PC都会带上USB的接口。他的优点这里也不意义赘述了,想了解的可以点击:USB

3.各式各样电气接口标准

串口的通信协议上面已经介绍过了,但一般的串口并不能满足人们各种各样的要求,为此也是绞尽脑汁有设计了各种各样的电气标准,通过这样的方法来达到一些强大的功能。
这里有关一个电气标准什么是电气标准那?在通信协议中,有提到逻辑“0”和逻辑“1”。这两者是怎么定义的,在每一个电气标准中又都不一样。下面介绍了常见的几种:

1.RS232(全双工)

第一个就是非常常见的232接口,他的电气标准是:逻辑“1”的电平为-5V~-15 V,逻辑“0”的电平为+5 V~+15 V。选用该电气标准的目的在于提高抗干扰能力,增大通信距离。
PS:RS -232的噪声容限为2V,接收器将能识别高至+3V的信号作为逻辑“0”,将低到-3 V的信号作为逻辑“1”。
下面是一个常见的RS232,DB9的接头;

通常使用的也就是四根线:VCC,TXD,RXD,GND;

传送速率:50b/s、75b/s、110b/s、150b/s、300b/s、600b/s、1200b/s、2400b/s、4800b/s、9600b/s、19200b/s,可以灵活地适应不同速率的设备。对于慢速外设,可以选择较低的传送速率:反之,可以选择较高的传送速率。
传输距离:一般情况下30米,

2.RS485(半双工)

第二个是RS485,采用了差分传输方式,这样能够有效减少噪声的干扰。他的电气标准:“1”的电平在+2V~+6V之间,逻辑“0”的电平在-2V~-6V之间。可以看到这样的电气标准相较于RS232减少了很多,不容易烧毁后续接口芯片,同时这样的电气标准与TTL兼容,可方便与TTL 电路连接。由于接口采用了差分输入,很大程度上增加了抗干扰的性能。
通常使用的接头也是DB9,使用的引脚主要是GND,A,B;

传输速率:最高为10Mbps。
传输距离:理论:3000米。实际验证:1200米。

3.RS422(全双工)

第三种就是RS422,他的电气标准和RS485一样:“1”的电平在+2V~+6V之间,逻辑“0”的电平在-2V~-6V之间。同样也是差分输入,那和RS485的区别是什么那?显而易见,就是全双工,支持收发同时。
可以说485有的优点他都有,同样也有代价就是多出了一对差分线。

传输速率:100kb/s~10Mb/s
传输距离:最大为1219米。
PS:这里要提一下传输距离和传输速率成反比,越长速度就只能越慢,越短自然速度就可以越快。通常情况下:一般100米长的双绞线上所能获得的最大传输速率仅为 1Mb/s。

4.TTL(全双工)

第四种就是最开始接触的TTL,最开始接触单片机的时候,接触的就是TTL。TTL晶体管逻辑电路的电平,就是其实TTL电平也是一种电气标准,TTL电平信号规定,+5V等价于逻辑“1”,0V等价于逻辑“0”(采用二进制来表示数据时)。输出高电平>2.4V,输出低电平<0.4V。在室温下,一般输出高电平是3.5V,输出低电平是0.2V。最小输入高电平和低电平:输入高电平>=2.0V,输入低电平<=0.8V,噪声容限是
0.4V。一般来讲, 我学习的过程中,微控制器主要就是单片机与FPGA,输出的逻辑1和0就是指TTL的高低电平。 所以最开始调试单片机中的串口时,使用到的就是CH340芯片做的一个USB转TTL,在配合上PC中的串口调试助手,这样就是可以实现数据的通信。
PC端使用的USB接口,PC使用的是USB的电平逻辑,但是单片机的串口用到了VCC,TXD,TRD,GND四个引脚,使用了TTL逻辑电平的规则。那么中间的CH340作用就是将USB的电平逻辑转换成相应的TTL电平逻辑,这样PC才可以和单片机进行顺利的通讯。

四、总结


总结来看,串口包含很大一类,是一个很大的概念,在使用过程中也是因设计而异。写这篇文章的主要原因是因为这个阶段要使用FPGA来调试RS422的串口,也就是通过RS422串口来完成与FPGA的通信,从前文的总结来看,RS422的电气标准并不符合FPGA的电气标准,所以去买了个RS422转TTL的模块,本来是想用RS422转3.3VTTL的模块,但是实验室有个现成的,也不知道是5V的还是3.3V的使用情况还可以。那么硬件的连接方式就变成了这样。

这样就形成了PC与FPGA的通信回路,在FPGA的设计要解决一个串口的设计,读取与发送。PC端还是使用 串口调试助手来完成发送和接收。所以实质上要完成的软件设计还是理解串口的传输通信协议,其中设计到电平标准变换的处理就交给现成的模块就好。这也是这次项目再一次带给我有关于串口的理解,还是有很多的疑点,希望下一次在接触到能够再重新的认识串口这一个概念,能对他有更深的理解。

2021-07-14 串口 、并口、接口划分(UART、RS232、RS422、RS485、TTL、USB)相关推荐

  1. 串口、COM口、UART口、USB口和TTL、RS-232、RS-485、USB电平区别简介

    串口.COM口.USB口是指的物理接口形式(硬件).而TTL.RS-232.RS-485.USB电平是指的电平标准(电信号). 一.串口.COM口.UART口.USB口(物理接口): COM口即串行通 ...

  2. TTL/RS232/RS422/RS485串行通信接口区别与波形

    TTL/RS232/RS422/RS485通信接口区别与波形 串行通信接口区别 串口数据帧格式 接线图 波形图 串行通信接口区别 TTL/RS232/RS422/RS485指的是电平接口标准,都属于串 ...

  3. RS232/RS422/RS485串口引脚连线

    RS232/RS422/RS485引脚如何?串口线应该分别如何制作,才能正确的使用RS232/RS422/RS485? Pin 信 号 定 义 RS232 RS232 (DB9)引脚定义 DCD :载 ...

  4. 欧姆龙485通讯示例程序_串行通信接口之一RS-232 RS-422 RS-485 使用过程中的注意事项...

    注!三种串口的详细说明请看前几篇文章. 1. RS-232是为点对点(即只用一对收.发设备)通讯而设计的,是一款全双工的通迅端口,但是通信距离较短,传输距离有限,因此常用在本地设备中. 2. RS-4 ...

  5. linux下rs422串口通信,RS232/RS422/RS485通信接口區別

    一 串口控制 通常我們對於視頻服務器.錄像機.切換台等直接播出.切換控制主要使用串口進行,主要使用到RS-232.RS-422與RS-485三種接口控制.下面就串口的接口標准以及使用和外部插件和電纜進 ...

  6. 串口、COM口、UART口, TTL、RS-232、RS-485区别详解

    目录 一.什么是串口.COM口.UART口, TTL.RS-232.RS-485 摘要: 1.串口.COM口解释: 2.实物照片及解释 二.TTL.RS-232.RS-485的电平形式 1.TTL介绍 ...

  7. RS485/RS232/RS422接口定义

    RS485/RS232/RS422接口定义 rs422接口定义 rs232接口定义 rs485接口定义 Pin 信 号 定 义   RS-232 RS-422 RS-485 1 DCD TX- DAT ...

  8. linux自带终端访问com口,配置实现通过串口(com 口、RS232 接口)终端控制 Linux 系统...

    开始之前,请确认机器有串口(com口, RS232接口),如果没有,那就没有办法达到通过串口控制机器的目的了.当然,也可以额外给机器安装一个带串口的 PCI 模块,然后想办法将模块驱动起来(内核默认能 ...

  9. RS-232 RS-485 TTL电平标准 以及串口、COM口、UART口、USB转TTL、USB转串口

     串口 即串行通信接口,与之相对应的另一种接口叫并口,并行接口.两者的区别是,传输一个字节(8个位)的数据时,串口是将8个位排好队,逐个地在1条连接线上传输,而并口则将8个位一字排开,分别在8条连接线 ...

最新文章

  1. 爱耳日腾讯天籁行动再升级 助力100位青年听障人才打破“屏障”
  2. Linux 2.6 下通过 ptrace 和 plt 实现用户态 API Hook
  3. 人口普查(20) PAT
  4. java 配置dbcp_java – 配置Jetty 6以使用commons.dbcp数据源
  5. Mybatis-数据插入
  6. C4D插件X-Particles粒子特效(一)
  7. GCN在交通流预测方面的相关文章
  8. 论文阅读:Efficient Image Dehazing with Boundary Constraint and Contextual Regularization
  9. php多级分栏,网页设计中分栏布局的几种实现方案
  10. html都有哪些事件,HTML有哪些事件属性?
  11. 微信jsapi支付结果回调错误Tag mismatch
  12. 如何快速实现西门子S7-200/300 PLC转Modbus-TCP协议与第三方数据对接
  13. 语言哲学与计算机语言,20世纪语言哲学和心智哲学的发展走向——以塞尔为例...
  14. 介绍qmake2cmake
  15. openlayers加载gml
  16. Oracle function函数赋权
  17. 股票交易接口的应用场景-在miajs中导入apjs
  18. HTML css js成长路程
  19. 风格迁移0-06:stylegan-源码无死角解读(2)-数据预处理process_reals
  20. 内核升级后docker运行出错

热门文章

  1. Java300集速学堂第四章作业答案
  2. 理解LSTM神经网络 ---- 翻译 Understanding LSTM Networks
  3. opencv——均值/中值滤波器去噪
  4. installshield打包mysql_实现Installshield对Php+mysql+apache做的程序在WINDOWS下打包
  5. Visual Studio2012打包软件InstallShield Limited Edition安装教程
  6. Teechart图表教程:Teechart的安装
  7. 2023寒假集训通知
  8. 【数据可视化应用】气象绘图(附Python代码)
  9. APP逆向分析之钉钉抢红包插件的实现-iOS篇
  10. 使用 ffmpeg 下载 m3u8 视频,linux 后台运行 ffmpeg