什么是TTL?标准USB接口是TTL吗?RS232、RS422、RS485的区别?_ttl接口-程序员宅基地

技术标签: 通信协议  USB  串口  RS232  RS485  TTL  

不同的接口有不同的用途,根据其应用场景就衍生出各种各样的通信接口标准(注意是接口标准,不是协议!),常见的有RS232、RS422、RS485、USB等。

目录

TTL

RS232

RS422

RS485

RS232、RS422、RS485的异同

USB


TTL

TTL(transistor transistor logic)即晶体管-晶体管逻辑电平。TTL电平信号规定,+5V等价于逻辑“1”,0 V等价于逻辑“0”(采用二进制来表示数据时)。这样的数据通信及电平规定方式,被称做TTL(晶体管-晶体管逻辑电平)信号系统,这是计算机处理器控制的设备内部各部分之间通信的标准技术。一般的电子设备用的多是TTL电平,但是它的驱动能力和抗干扰能力很差,不适合作为外部的通信标准,一些通信方式如RS232、RS485、USB等在传输线上使用的不是TTL电平,因此这些通信线上的信号在电子设备端要进行电平转换,才能够正常通信。

RS232

RS232是一种接口电气特性的标准,全称是数据终端设备( DTE)和数据通信设备(DCE)之间串行二进制数据交换接口技术标准,RS-232在1962年发布,命名为EIA-232-E(由于EIA提出的建议标准都是以“RS”作为前缀,所以在通讯工业领域,仍然习惯将上述标准以RS作前缀称谓,即RS232),作为工业标准,以保证不同厂家产品之间的兼容。

DCE(数据通信设备或者数据电路终端设备):该设备和其与通信网络的连接构成了网络终端的用户网络接口。它提供了到网络的一条物理连接、转发业务量,并且提供了一个用于同步DCE设备和DTE设备之间数据传输的时钟信号。调制解调器和接口卡都是DCE设备的例子。
  
DTE(数据终端设备):指的是位于用户网络接口用户端的设备,它能够作为信源、信宿或同时为二者。数据终端设备通过数据通信设备(例如,调制解调器)连接到一个数据网络上,并且通常使用数据通信设备产生的时钟信号。数据终端设备包括计算机、协议翻译器以及多路分解器等设备。

RS-232接口是DTE(数据终端设备)和DCE(数据通信设备)之间的一个接口,DTE包括计算机、终端、串口打印机等设备。DCE通常只有调制解调器(MODEM)和某些交换机COM口是DCE,标准指出DTE应该拥有一个插头(针输出)DCE拥有一个插座(孔输出)。

RS-232总线规定了25条线,包含了两个信号通道,即第一通道(称为主通道)和第二通道(称为副通道)。利用RS- 232总线可以实现全双工通信,通常使用的是主通道,而副通道使用较少。在一般应用中,使用3条~9条信号线就可以实现全双工通信,采用三条信号线(接收线RXD、发送线TXD和信号地GND)能实现简单的全双工通信过程。因此RS232标准有两种接口——DB9和DB25,其中常用的是DB9接口。

目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口(RS422,RS485较远),若距离较远,需附加调制解调器(MODEM)。最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连。

RS232的收、发端数据信号是相对于信号地,如从DTE设备(data terminal equipme)发出的数据是2脚相对7脚(信号地)的电平(DB25)。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5~+15V,负电平在-5~-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3~+12V与-3~-12V。由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20kb/s。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为3~7kΩ。所以RS-232适合本地设备之间的通信。

RS232接口标准由于出现较早,所以其目前存在很多问题。
(1)、接口电平值较高,易损坏接口电路的芯片。又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。、(2)、传输速率较低,大约为20Kbps;传输距离较短,大约为15米左右。
(3)、接口由三根线TX、RX、GND组成,没有构成差分线形式,容易产生共地共模干扰,抗干扰能力弱。

RS422

RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性,是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准,习惯称为RS422。RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器,一般采用终端匹配的总线型结构,即采用一条总线将各个节点串接起来,不支持环形或星形网络。

RS485

为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。RS-485最常见的应用是在工业环境下可编程逻辑控制器内部之间的通信。

RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mv的电压,故传输信号能在千米以外得到恢复。 RS-485采用半双工工作方式,支持多点数据通信,最大支持32个节点(如果使用特制的485芯片,可以达到128个或者256个节点,最大的可以支持到400个节点),同样不支持环形或星型网络。需要使用星型结构,就必须使用485中继器或者485集线器才可以。

RS-485采用平衡发送和差分接收方式实现通信:发送端将串行口的TTL电平信号转换成差分信号a,b两路输出,经过线缆传输之后在接收端将差分信号还原成TLL电平信号。由于传输线通常使用双绞线,又是差分传输,所以有强大的抗共模干扰的能力,总线收发器灵敏度很高,可以检测到低至200mv电压。故传输信号在千米之外都是可以恢复。RS-485最大的通信距离约为1219m,最大传输速率为10Mb/s,传输速率与传输距离成反比,在10Kb/s的传输速率下,才可以达到最大的通信距离,如果需传输更长的距离,需要加RS-485中继器。

RS232、RS422、RS485的异同

RS-232、RS-422与RS-485都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,作为工业标准,以保证不同厂家产品之间的兼容。RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。

规定 RS232 RS422 R485
工作方式 单端 差分 差分
节点数 1发1收 1发10收 1发32收
最大传输电缆长度 50英尺 4000英尺 4000英尺
最大传输速率 20Kb/s 10Mb/s 10Mb/s
最大驱动输出电压 +/-25V -0.25V~+6V -7V~+12V
驱动器输出信号电平(负载最小值) 负载 +/-5V~+/-15V +/-2.0V +/-1.5V
驱动器输出信号电平(空载最大值) 空载 +/-25V +/-6V +/-6V
驱动器负载阻抗(Ω) 3K~7K 100 54
摆率(最大值) 30V/μs N/A N/A
接收器输入电压范围 +/-15V -10V~+10V -7V~+12V
接收器输入门限 +/-3V +/-200mV +/-200mV
接收器输入电阻(Ω) 3K~7K 4K(最小) ≥12K
驱动器共模电压 -3V~+3V -1V~+3V -1V~+3V
接收器共模电压 -7V~+7V -7V~+12V -7V~+12V

USB

USB

USB通过一根4线的电缆传送信号和电源,其中D+、D-用于传输差分信号,另两个是电源线,四个线的名字可以通过颜色加以区分。

引脚标号 信号名称 缆线颜色
1 Vcc
2 Data- (D-)
3 Data+ (D+) 绿
4 GND

一个USB系统中仅有一个USB 主机,设备包括USB功能设备和USB HUB(集线器),最多支持127个设备。物理连接指的是USB传输线。在USB 2.0系统中要求使用屏蔽双绞线。

USB 数据传输的传输使用反向不归零编码(NRZI)进行传送,可以保证数据的完整性,而且不要求传输过程中由独立的时钟信号。

再多的部分不再写了,这里只需要知道:USB使用不是TTL电平,是差分信号!有的小伙伴以为USB就是一般单片机上的串口(因为都是四根线,而且USB的硬件接口还真可以当UART串口导线用),其实不是。USB是一个很复杂的协议规范,将来我也会将USB的协议和代码实现写成文,感兴趣可以关注一下!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wei348144881/article/details/109114842

智能推荐

while循环&CPU占用率高问题深入分析与解决方案_main函数使用while(1)循环cpu占用99-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。​​​​​​while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

随便推点

Python 攻克移动开发失败!_beeware-程序员宅基地

文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

推荐文章

热门文章

相关标签