【背景】

之前就听过TTL,一直没搞懂其和RS232的区别。

最近,打算去买个USB转RS232的芯片,结果找到此产品:

六合一多功能USB转UART串口模块CP2102 usb TTL485 232互转自恢复

正面:

背面:

其中的:

以及引脚说明:

都提到了,不仅仅支持RS232,还支持TTL。

所以,再次遇到TTL,需要去搞清楚,TTL和RS232的区别。

【折腾过程】

1.参考:

RS-232 vs. TTL Serial Communication

整理如下:

常见的微控制器中,都有了内置的UART(Universally Asynchronous Receiver/Transmitter)。

UART可以用来已串行方式收发数据。

UART是,以固定的某个速率(1200bps,9600bps,115200bps等),一次只能只传输一个bit比特位(所以叫做串行传输)

这种串行通信的方法,有时候也被叫做TTL(Transistor-Transistor Logic)Serial。

这种串行通信,在TTL级别上来说,对应的物理电平,始终是在0V和Vcc之间,其中常见的Vcc是5V或3.3V。

其中:

逻辑高电平==’1’==Vcc

逻辑低电平==’0’==0V

与此相对应的是:

你的(台式机,笔记本等)电脑中的串口,是和RS232(通信标准)所兼容的(所一致的) => 不是和TTL的标准所一致的

RS232和TTL在软件协议层面是一样的

RS232的标准中,和你的微控制器中的串行信号所一样的,有:

  • 也是:一次只传输一个bit比特位 -> 表示是serial
  • 也是:也是以某个固定的速率去传输的->baudrate
  • 也是:带或不带,parity极性->即校验位
  • 也是:带或不带,停止位stop bit(s)

RS232和TTL唯一不同在于硬件:电平表示的逻辑含义不同(相反)

RS232和TTL,唯一的,最根本的不同在于:

硬件(机制)不同:

(1)TTL

逻辑高电平==’‘==Vcc==3.3V或5V

逻辑低电平==’‘==0V==0V

(3)RS232:

逻辑高电平==’‘==负电压== -3V~-25V==常为:-13V

逻辑低电平==’‘==正电压== 3V~25V==常为:13V

为何RS232中要(很奇怪的)用负电压表示逻辑高电平呢?

按理来说:

TTL用正电压(3.3V或5V)表示逻辑1,用0电压表示逻辑0,是相对来说,比较符合人类的逻辑的

但是,为何RS232却,很奇怪的,用负电压表示逻辑高电平==1,呢?

那是因为:

此设计(用负电压表示逻辑1,正电压表示逻辑0)相对来说,更加:

  • 抗(外界的电磁)干扰
  • 抗外界的(电磁信号)噪音干扰
  • 抗(信号的)衰减
    • 使得和同样的TTL信号相比,RS232信号可以传输的更远

由此使得:

信号传输,相对更加稳定和可靠。

RS232和TTL时序图对比

对于同样传输0b01010101来说,RS232和TTL的时序对比:

RS232和TTL之间的转换

RS232和TTL之间的转换,不仅仅是简单的电平转换,还要考虑到其他一些因素,比如调节和矫正一些电平(提高或降低对应的电平),确保可能的有害的RS232电压不会破坏微控制器的串口针脚。

关于如何在RS232和TTL之间转换,目前已经有很多种解决方案了。

比如:

RS-232 vs. TTL Serial Communication

中的MAX-232

总结

很多知识,都是慢慢积累,才慢慢逐渐更加清楚的。。。

包括这个TTL。

TTL和RS232之间的详细对比的更多相关文章

  1. TTL 和 RS-232

    下面详细讲解下面这三种的区别 USB转TTL串口板(常用芯片PL2303,CH340) USB转RS-232串口线 TTL转RS-232串口板,RS-232转TTL串口板(常用芯片MAX3232,MA ...

  2. 中国正式发放5G牌照 详细对比中美两国5G实力

    今天,中国5G商用走进新里程:工信部向中国电信.中国移动.中国联通.中国广电发放5G商用牌照,中国也成为继韩国.美国.瑞士.英国后,第五个正式商用5G的国家. 按照之前的规划,中国原定于2020年开启 ...

  3. TTL、RS232、RS485、串口

    Point: 1.串口.COM口是指的物理接口形式(硬件).而TTL.RS-232.RS-485是指的电平标准(电信号). 2.接设备的时候,一般只接GND RX TX.不会接Vcc或者+3.3v的电 ...

  4. jmeter BeanShell实例-----两个变量之间的断言对比

    jmeter BeanShell实例-----两个变量之间的断言对比 在jmeter的中,断言没法对两个变量的进行对比后判断,只能使用Bean Shell断言来进行,总是有人来问怎么写呢.这里写一个简 ...

  5. 串口、COM口、TTL、RS-232、RS-485区别详解

    1.串口.COM口是指的物理接口形式(硬件).而TTL.RS-232.RS-485是指的电平标准(电信号).    2.接设备的时候,一般只接GND RX TX.不会接Vcc或者+3.3v的电源线,避 ...

  6. 【转】SVN 与 GIT 详细对比

    git和svn的详细对比   近期就[版本管理工具是否进行切换SVN->Git]的问题进行了讨论,于是对svn和Git进行了相关研究,进而梳理出Git的特点(优.缺点),最后将Git与SVN进行 ...

  7. “全栈2019”Java第六十六章:抽象类与接口详细对比

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. MySQL与Oracle的语法区别详细对比

    MySQL与Oracle的语法区别详细对比 Oracle和mysql的一些简单命令对比在本文中将会涉及到很多的实例,感兴趣的你不妨学习一下,就当巩固自己的知识了   Oracle和mysql的一些简单 ...

  9. jmeter BeanShell实例-----两个变量之间的断言对比(转)

    jmeter BeanShell实例-----两个变量之间的断言对比 在jmeter的中,断言没法对两个变量的进行对比后判断,只能使用Bean Shell断言来进行,总是有人来问怎么写呢.这里写一个简 ...

随机推荐

  1. iOS 的组件化开发

    在一个APP开发过程中,如果项目较小且团队人数较少,使用最基本的MVC.MVVM开发就已经足够了,因为维护成本比较低. 但是当一个项目开发团队人数较多时,因为每个人都会负责相应组件的开发,常规开发模式 ...

  2. css————获取样式的各种方法

    元素.style.样式:只能获取行间样式,css中的样式不能获取,且获得的内容是字符串. 元素.offsetWidth:可以获取无论css样式还是行间样式,但只能获得width,height,pare ...

  3. POJ——T3160 Father Christmas flymouse

    Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 3496   Accepted: 1191 缩点,然后每个新点跑一边SPFA ...

  4. mysql查一张表有哪些索引

    可以用这个命令: show index from table_name; 得到输出: +------------------+------------+------------+----------- ...

  5. kettle(一)概述

    近期两个月一直和kettle打交道,从開始的没听说过,到如今能够熟练运用,不得不说项目驱动下,学习东西是最快的.好了,尽管使用kettle应付项目的任务绰绰有余.可是还是想系统的学习一下,总结一下.比 ...

  6. php 图片局部打马赛克

    php 图片局部打马赛克 原理: 对图片中选定区域的每一像素,添加若干宽度及高度,生成矩型.而每一像素的矩型重叠在一起.就形成了马赛克效果. 本例使用GD库的imagecolorat获取像素颜色,使用 ...

  7. 通过jQuery的Ajax方式来提交Form表单

    通过jQuery的Ajax方式来提交Form表单 $.ajax({ url:ajaxCallUrl, type:"POST", cache:true, async:false, d ...

  8. Es61

    ECMAScript和JavaScript的关系 ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.Mozilla公司将在这个标准的基础 ...

  9. 62.nodejs中的ejs模板学习

    转自:https://blog.csdn.net/dongmelon/article/details/72403913 02.ejs.这是被include的文件 <script> cons ...

  10. BZOJ 1231 状压DP

    思路: f[i][j] i表示集合的组成 j表示选最后一个数 f[i][j]表示能选的方案数 f[i|(1<< k)][k]+=f[i][j]; k不属于i j属于i且符合题意 最后Σf[ ...