转载地址:http://blog.sina.com.cn/s/blog_6566538d0100r7p8.html

有几个概念玩嵌入式的同志经常搞混。也不怨谁,现在的卖家为了一点可怜的销量都在故意混淆串口的概念。

如果你发现本文有哪里含糊,或者任何一点有可能影响理解的地方,请留言,我会修正以便帮助后来的朋友。
Point(所有要点都在这,请仔细阅读):
No.1、串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485指的是串口的电平标准(电信号)。
No.2、接线的时候,一般只接GNDRX(接收)、TX(发送)。不接Vcc等电源线,避免与目标设备上的供电冲突。
    (接线法则:主机的 TX 接目标设备的 RX ,主机的 RX 接目标设备的 TX,但是很多设计人员为了接线更为直观而故意颠倒标记 RX、TX,可以串200-1kΩ电阻之后尝试交换。或No.4的方法。)
No.3、串口通讯一般不含握手协议,所以可以只接GND、RX用于纯接收,或只接GND、TX用于纯发送。
No.4、串口接线错误可能会烧坏芯片,比如:一个TX拉高的1 灌到了 另一个TX拉低的0
     (不确定目标接线定义的时候,可以拿确定为RX的线试接 另一个设备的TX和RX,看是否收到数据。)
No.5、CH340、PL2303、CP2102、FT232R 芯片是USB转成串口(TTL电平输出)的芯片,需要安装Windows驱动。
    (常用于笔记本增加串口,注意其兼容性不如板载串口。优先选择:FT232R >CP2102 > PL2303 )
No.6、MAX232是TTL电平与RS232电平的 双向转换芯片,不同引脚实现TTL转RS-232或 RS-232转TTL的功能。
    (TTL与RS232转换芯片很多很多,正向、逆向接口数量不同:比如:MAX202、SP213、MAX3232 )
No.7、TTL电平标准 是低电平为0,高电平为1(对GND线电压,标准数字电路逻辑)。
  RS-232电平标准 是正电平为0,负电平为1(对GND线高低,电压具体数值不太敏感)。
No.8、RS-485、RS-422与RS-232类似,但是采用差分信号逻辑,更适合抗干扰/高速传输。这里略过不讲。
No.9、台式电脑后边的D型9针插头(板载串口,公口),是RS-232电平的。可以通过MAX232转换为TTL电平。
串口、COM口:
COM口 即 串行通讯端口,简称 串口。这里区别于 USB的“通用串行总线”和“SATA”串行硬盘接口。
一般我们见到的是两种物理形式。D型9针插头(DB9)4针杜邦头 两种,早年的25针串口已被淘汰。
下图是常见的4针串口,在电路板上常见,经常上边还带有杜邦插针。
四针分别为:GND、TX、RX、VCC。其中GND可以通过焊盘接地判断出来,而VCC一般走线稍粗些。
由于是预留在电路板上的,协议可以有很多种,要看具体设备。
经验是:不管单片机也好、ARM也罢,这些芯片都是数字逻辑的,电平只有高和低,输出肯定是TTL电平的。
如果你看到串口线从核心芯片直接连出来,未经其他芯片,那99%是TTL的。STC下载和中九升级都属此范畴。
我目前还未拆出过直接输出RS-232的数字逻辑器件。
下图就是D型9针串口(通俗说法,DB9),左为母口,右为公口。公口在台式电脑后边都可以看到。
    (VGA插头为三排插针,DB9只有两排。有些板载串口没有引出,主板找标记“RS232”的10脚牛角座既是)

DB9接口的协议常用的只有三种:RS-232、RS-485和RS-422。一般不会是TTL电平,嵌入式设备80%的可能性是RS-232,工业控制设备80%可能是RS-485。

其中RS-232在DB9上的针脚定义有标准规范,跨行业/跨设备通用,而RS-485和RS-422基本只有企业规范了。
9针RS-232串口的完整定义可以参考这里:http://wenku.baidu.com/view/5c170c6925c52cc58bd6be6e.html
**************************************分割线**************************************
下图是个USB转TTL串口的小板(TTL电平),可以用USB扩展出一个串口。芯片为PL2303HX。
淘宝卖家经常故意混淆各种串口,但是这个确实是可以给 STC单片机下载程序 和 升级中九盒子的。

DB9接口的协议常用的只有三种:RS-232、RS-485和RS-422。一般不会是TTL电平,嵌入式设备80%的可能性是RS-232,工业控制设备80%可能是RS-485。

其中RS-232在DB9上的针脚定义有标准规范,跨行业/跨设备通用,而RS-485和RS-422基本只有企业规范了。
9针RS-232串口的完整定义可以参考这里:http://wenku.baidu.com/view/5c170c6925c52cc58bd6be6e.html
**************************************分割线**************************************
下图是个USB转TTL串口的小板(TTL电平),可以用USB扩展出一个串口。芯片为PL2303HX。
淘宝卖家经常故意混淆各种串口,但是这个确实是可以给 STC单片机下载程序 和 升级中九盒子的。
这是另一种,CP2102芯片的,也是USB转串口(TTL电平)。据说比PL2303的好,实际使用中表现并不明显。
这个小板引出了芯片内置的LDO,多了个+3.3V 电源输出端,可以用于驱动小电流的负载设备。

在这里说一下,TTL电平还有不同电压的区别,常见3.3V和5V版本。比如某板的核心芯片为3.3V,那么它输出的逻辑1就是3.3V。这个转接板和5V的设备对接,电压触发阈值一般可以满足,建议串470-1k电阻做保险。

除了PL232和CP2102,还有CH340和FT232之类的USB转TTL芯片,不再详述。
**************************************分割线**************************************
上边介绍的都是USB转TTL电平的串口,如果目标设备上是RS-232串口(D型9针接口)咋弄?
再 串接一片 MAX232 转换成RS-232电平就行,一个MAX232内部有两个T,两个R,下图只用了一组T/R。
你也可以搭一个简单的比较器电路,来实现TTL转RS-232的功能,仔细看图有助于理解电平的概念。
 (注意下图中TTL端的GND-TTL与GND232分开考虑。红色为TTL转RS232功能部分,蓝色为RS232转TTL。)

(这里插播一点我的电路体系:在没涉及电磁波之前,电压这个东西可以当它不存在,电子流动所表现出来的电流才是分析的主体,电流受到阻碍,才会在两端体现出压差。电压永远是差值,某点对某点的差值,然而所有课本总是封装成整套的高级理论一股脑砸给初学者,导致了很多人一辈子都未能形成统一的电路体系。就下边这个电路来说,TxTTL电压大于12/(6.8+1)V时,运放开启了Rx232对GND-TTL的通路。然后我们视线转移到右侧两个560Ω的电阻上,GND232对GND-TTL是6V,而Rx232与GND-TTL相通,那么Rx232对GND232不就是负6V么?这是一个参考系的转移,右侧电路并不知道GND-TTL的存在,只知道Rx232与GND232之间的压差。那么,多出来的负6伏不会有额外的电流么?这就是我说的问题,这其实是同一批电流流经下方560Ω电阻,在电阻两端所产生的压差,Get?电子流动受阻表现出电压,反映到系统里边呈现出两端的压差,而不是电压产生电流。咦,哪里不对?运放的输入为什么要用电压来考虑?因为运放太复杂,运放设计时就花了很大力气去优化电流路径使之表现出更好的电压特性,用封装起来的电压体系去分析运放的外部表现比较容易理解。既然是电流产生电压,那驱动电子流动的能量是什么?举个例子就明白了,水塔。水塔内部控制的还是进水的流速,经过水池的缓冲,对外表现出水压的一致,这就是我们看到的恒压源。水压和流速都是水分子集总表现出来的宏观性状/现象,而不是水流动的原因,重力才是。对电路来说,驱动电子的是沿电路形成的电场,其根源在于电源单向搬移电子的速度。变压器+整流桥不就是液压造浪机+单向阀么?)

扯远了。

MAX232内置了倍压电路来实现升压/负压,所以不需要上图所示的正负电源。
同时带来一个特征,倍压电路需要多个蓄能电容,芯片内部做不下,可以依此在接口附近找芯片确定串口电平。
**************************************分割线**************************************

当然,早有人想到了做一款成品。USB转RS-232串口。

仔细看下图(从右到左),USB经过PL2303转成了TTL串口(中间那四个窟窿可以引出),再经由MAX232转换为RS-232电平,9针串口引出。(公口,泛指所有带针的口,样子与台式电脑后边自带的串口相同。)

下面这是另一款:电平转换依旧用的是 MAX232 ,大同小异。

注意这个输出好像是母口,跟电脑后边的接口不同,千万不要买错性别。
进阶:MAX232只能转换两个T和两个R,无法实现完整的9针全串口电平转换,所以此类串口转接板只有TX、RX和GND三针有效,对于涉及到串口中其他控制线的目标设备不适用。(PL2303等芯片都转出了TTL电平的全部引脚,只不过MAX232通道数量有限,所以DB9一端很少功能完整的串口。若要全串口电平转换,MAX3232可以实现。)

你或许会买到如下图这种:看起来里边只有一个牛屎芯片的。
但是记住一点,只要是 D型9针串口,不会是TTL电平的,没特殊说明就默认是RS-232。
所以这根线,不管里边构造怎样的,是 USB转RS-232串口 的线,内置了电平转换芯片。

如果想用来给STC单片机下载或者升级中九盒子,需要额外再串接一个MAX232板子 转换回TTL电平。

串口 COM口 USB-TTL RS-232 RS-485 不同标准 区别 释疑相关推荐

  1. 串口协议“USB/TTL转232“模块的工作原理

    文章目录 一.串口通信协议 串口协议简介 RS-232,485标准 一.RS-232-C 二.RS-485总线 RS232.485电平与TTL电平的区别 二.USB/TTL转232"模块(以 ...

  2. 【嵌入式05】串口协议+RS-232、485标准+CH430芯片的“USB/TTL转232”

    文章目录 一.串口协议 (一)串口 (二)串口通信 (三)串口通信协议 二.RS-232标准 三.RS-485标准 四.RS-232.485电平与TTL电平的区别 (一)RS-232与485的区别 ( ...

  3. 了解串口协议和RS-232标准,以及RS232电平与TTL电平的区别,了解“USB/TTL转232“模块(以CH340芯片模块为例)的工作原理。

    目录 一.何为串口通信协议 二.RS-232 三.TTL电平与RS232电平的区别 四.了解"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理. ​​​​​​​ ...

  4. 串口 、TTL、232、485区别

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

  5. 串口通讯协议和RS-232的介绍以及USB/TTL转232模块的工作原理

    1 串口通讯协议简介 串口通讯 (Serial Communication)是一种设备间非常常用的串行通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息. 通讯协议,我们以分层的方式来理 ...

  6. 串口电平转换电路ttl to 232

    可以使用 HB86

  7. 串口与COM口 USB口、TTL、RS-232、RS-485区别 释疑

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

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

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

  9. usb转串口,232电平,TTL电平

    TTL电平:一般用作数字芯片的电平(单片机大多是TTL电平,只是不同的电压标准) 232电平:232电平特制电脑串口的电平 USB:除去屏蔽层,有4根线,分别是VCC.GND和D+.D-两根信号线.5 ...

最新文章

  1. 特殊用户邮箱附件大小设置
  2. 如何重置云服务器系统
  3. Python学习笔记: Python 标准库概览二
  4. MapReduce的编程规范
  5. leetcode 112. Path Sum, 113. Path Sum II | 112,113. 路径总和 I, II(Java)
  6. linux进程通讯-纯文本文件
  7. 项目中通用的顶部标题和返回的TitleBar
  8. 新版谷歌浏览器开启Flash支持
  9. 红橙Darren视频笔记 自定义View总集篇
  10. Odoo10参考系列--Mobile JavaScript
  11. 【Python】http.client库的用法
  12. 我为什么要帮你查 Bug?
  13. uploadify 3.1 /3.2 在Firefox,Chrome 浏览器下,进入页面请求两次问题解决办法。
  14. React组件化开发
  15. 测试额外任务而撒旦法 速度速度发撒旦法
  16. 关于临时HY学长被安排拉二分题不想翻译找到DYM学长这件事(二)
  17. altera/xlinx pcie dma应用
  18. python xlwt安装linux_Linux安装Python xlrd、xlwt、xlutils模块
  19. 自旋锁(spinlock)
  20. r语言算巢式设计方差分析_R语言中的方差分析方法汇总

热门文章

  1. 连锁商店 状态压缩dp(女赛)
  2. xftp提示过期的解决方法
  3. pc构件生产线及设备_PC构件成组立模生产线
  4. ElasticSearch集成SpringData史上最全查询教程
  5. 特殊空格的坑,原来空格可以有好多种
  6. springboot集成shiro实现注册、登录、退出功能
  7. python期末考试编程题_Python_编程题期末必看
  8. menisa mysql_实例详细说明linux下去除重复行命令uniq
  9. php mysql 插入多条数据_雷林鹏分享:PHP MySQL 插入多条数据
  10. python完全支持面向对象编程_[Python] 类与面向对象编程