串口 COM口 USB-TTL RS-232 RS-485 不同标准 区别

发布者:朱雀最新更新时间:2015-08-25 来源: eefocus关键字:串口  COM口  USB-TTL  RS-232  RS-485 手机看文章 扫描二维码
随时随地手机看文章
有几个概念玩嵌入式的同志经常搞混。也不怨谁,现在的卖家为了一点可怜的销量都在故意混淆串口的概念。
如果你发现本文有哪里含糊,或者任何一点有可能影响理解的地方,请留言,我会修正以便帮助后来的朋友。
 
Point (所有要点都在这,请仔细阅读):
1、串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485指的是串口的电平标准(电信号)。
2、接线的时候,一般只接GND、RX(接收)、TX(发送)。不会接入Vcc等电源线,避免与目标设备上的供电冲突。
      (接线法则:主机的 TX 接目标设备的 RX ,主机的 RX 接目标设备的 TX ,但是很多设计人员为了接线更为直观而故意颠倒标记 RX、TX ,如果有问题可以尝试交换RX、TX,不会烧坏设备 。)
3、PL2303、CP2102、FT232R 芯片是用USB来扩展串口(TTL电平输出)的芯片,需要安装Windows驱动。
      (常用于笔记本增加串口,注意其兼容性不如板载串口。优先选择:FT232R > CP2102 > PL2303 )
4、MAX232芯片是TTL电平与RS232电平的专用双向转换芯片,不同引脚实现TTL转RS-232或RS-232转TTL的功能。
      (TTL与RS232转换芯片很多很多,正向、逆向接口数量不同:比如:MAX202、SP213、MAX3232 )
5、TTL电平标准 是 低电平为0,高电平为1(对地,标准数字电路逻辑)。
   RS-232电平标准 是 正电平为0,负电平为1(对地高低,电压具体数值不敏感,甚至可以用高阻态)。
6、RS-485、RS-422 与RS-232类似,但是采用差分信号逻辑,更适合长距离、高速传输。这里略过不讲。
7、台式电脑后边带的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。
9针串口的完整定义可以参考这里:http://wenku.baidu.com/view/5c170c6925c52cc58bd6be6e.html
 
 
**************************************分割线**************************************
 
下图是个USB转TTL串口的小板(TTL电平),可以用USB扩展出一个串口。芯片为PL2303HX。
淘宝卖家经常故意混淆各种串口,但是这个确实是可以给 STC单片机下载程序 和 升级中九盒子的。
 
 
这是另一种,CP2102芯片的,也是USB转串口(TTL电平)。据说比PL2303的好,实际使用中表现并不明显。
这个小板引出了芯片内置的LDO,多了个+3.3V 电源输出端,可以用于驱动小电流的负载设备。

 
上边介绍的都是USB转TTL电平的串口,如果目标设备上是RS-232串口(D型9针接口)咋弄?
再 串接一片 MAX232 转换成 RS-232电平就行,一个MAX232内部有两个T,两个R,下图只用了一组T/R。[page]
 
 
 
你也可以搭一个简单的比较器电路,来实现TTL转RS-232的功能,仔细看图有助于理解电平的概念。
      (注意下图中TTL端的GND与GND232隔离。MAX232内置了倍压电路来实现升压,所以不需要外接正负电源。)
 

当然,早有人想到了做一款成品。USB转RS-232串口。
仔细看下图(从右到左),USB经过PL2303转成了TTL串口(中间那四个窟窿可以引出),再经由MAX232转换为RS-232电平,9针串口引出。(公口,泛指所有带针的口,样子与台式电脑后边自带的串口相同。)
下面这是另一款:电平转换依旧用的是 MAX232 ,大同小异。
注意这个输出好像是母口,跟电脑后边的接口不同,千万不要买错性别。
 
进阶:MAX232只能转换两个T和两个R,无法实现完整的9针全串口电平转换,所以此类串口转接板只有TX、RX和GND三针有效,对于涉及到串口中其他控制线的目标设备不适用。(PL2303等芯片都转出了TTL电平的全部引脚,只不过MAX232只用到了TX和RX。若要全串口电平转换,MAX3232可以实现。)

你或许会买到如下图这种:看起来里边只有一个牛屎芯片的。
但是记住一点,只要是 D型9针串口,不会是TTL电平的,没特殊说明就默认是RS-232。
所以这根线,不管里边构造怎样的,是 USB转RS-232串口 的线,内置了电平转换芯片。
如果想用来给STC单片机下载或者升级中九盒子,需要额外再串接一个MAX232板子转换成TTL电平。
关键字:串口  COM口  USB-TTL  RS-232  RS-485 引用地址:串口 COM口 USB-TTL RS-232 RS-485 不同标准 区别

上一篇:调试6合一串口模块
下一篇:基于PROFIBUS现场总线的抽油机监控系统的研究

推荐阅读最新更新时间:2024-05-02 23:55

MCS251单片机和PC机间的串口通信
  随着计算机技术的快速发展和广泛应用,上位机和下位机的主从工作方式为工业控制及自动控制系统所采用。由于PC机分析能力强、处理速度更快及单片机使用灵活方便等特点,所以一般都将PC机作为上位机,单片机作为下位机,二者通过RS2232或者RS2485接收、发送数据和传送指令。单片机可单独处理数据和控制任务,同时也将数据传送给PC机,由PC机对这些数据进行处理或显示。   本文介绍PC机和单片机通信在一种基于C8051F单片机的波形发生器中的应用,在上位机上显示正弦波的幅值和频率,由上位机发送指令可以改变波形幅度及频率。   1 硬件电路的设计   MCS251 单片机有一个全双工的串行通讯口UART,利用其RXD和TXD与外界进
[单片机]
MCS251单片机和PC机间的<font color='red'>串口</font>通信
STM32串口收发数据为什么要使用DMA
直接存储器访问(Direct Memory Access),简称DMA。DMA是CPU一个用于数据从一个地址空间到另一地址空间“搬运”(拷贝)的组件,数据拷贝过程不需CPU干预,数据拷贝结束则通知CPU处理。因此,大量数据拷贝时,使用DMA可以释放CPU资源,相关文章推荐:详解STM32中的DMA原理。 在STM32控制器中,芯片采用Cortex-M3架构,总线结构有了很大的优化,DMA占用另外的总线,并不会与CPU的系统总线发生冲突。也就是说,DMA的使用不会影响CPU的运行速度。 DMA数据拷贝过程,典型的有: 内存— 内存,内存间拷贝 外设— 内存,如uart、spi、i2c等总线接收数据过程 内存— 外设,如
[单片机]
STM32<font color='red'>串口</font>收发数据为什么要使用DMA
51单片机连接ESP8266串口WiFi模块
  51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。   51单片机区别   同样的一段程序,在各个单片机厂家的硬件上运行的结果都是一样的,如ATMEL的89C51(已经停产)、89S51, PHILIPS,和WIN
[单片机]
51单片机连接ESP8266<font color='red'>串口</font>WiFi模块
STM32成长记之USART--232串口通信
此处介绍最简单的USART使用。 USART基本特性: ● 全双工的,异步通信 ● 分数波特率发生器系统 ─ 发送和接收共用的可编程波特率,最高达4.5Mbits/s ● 可编程数据字长度(8位或9位) ● 可配置的停止位-支持1或2个停止位 ● 检测标志 ─ 接收缓冲器满 ─ 发送缓冲器空 ─ 传输结束标志 ● 校验控制 ─ 发送校验位 ─ 对接收数据进行校验 ● 四个错误检测标志 ─ 溢出错误 ─ 噪音错误 ─ 帧错误 ─ 校验错误 ● 10个带标志的中断源 ─ CTS改变 ─ LIN断开符检测 ─ 发送数据寄存器空 ─ 发送完成 ─ 接收数据寄存器满 ─ 检测到总线为空闲 ─ 溢出错误 ─ 帧错误 ─ 噪
[单片机]
STM32成长记之USART--232<font color='red'>串口</font>通信
stm32 串口通讯不成功的解决办法
首先要注意所用到的USART是否用到了复用功能 千万别忘了打开复用时钟!!!!!!!!! 代码如下:Hello! everyone,welcome to class! #include void delay_ms(u16 x) { u8 t; while(x--){for(t=0;t 120;t++);} } void GPIO_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE); GPIO_InitS
[单片机]
stm32 <font color='red'>串口</font>通讯不成功的解决办法
STM32的串口空闲中断接收不定长数据
最近想尝试STM32 通过DMA收发数据,网上找了不少参考文章,最后参考https://blog.csdn.net/youmeichifan/article/details/51750435?utm_source=dlogxgwz2 博文中的方法。 按照此文的方法实现了串口的收发,但是实际使用中发现: 接收空闲中断的产生是在数据接收停止一个字节时产生的,但是有时由于上位机编写问题或硬件问题(本人用到的USB转串口的硬件有问题)上位机发送数据不连续,中间有时间间隔大于一个字节,从而造成无法完整接收数据。通过对空闲中断接收数据方法的分析,重新修改代码,实现规定数据格式的不定长数据的接收。 主要实现方法: 1、定义通讯协
[单片机]
整理单片机串口小招数
招一:把函数发生器当串口发送器来用 如果要调试串口,而你只有一块扳没有计算机,这种情况下,可以用函数发生器当串口发送器来用。若波特率是9600,需将函数发生器频率调到9600/2=4800HZ上,输出的TTL电平直接到RXD;如果使用的是RS232接口,频率不变的话就选函数双极性(交流输出)发生器。在这里提醒一下,电平有峰峰值到12VPP就够了。此时单片机收到数据必须是55H,可以用MOV P1、SBUF、在P1上测量电压,没显示也可以测串口了。 理由:55H 是01010101 串口启始位是0,先发55H最低位,于是一帧就是0(启始)101010101(停止)-0(启始)101010101(停止),正好是1/2波特率的方波。 招
[单片机]
80C51串口的工作方式
一,方式0 方式0时,串行口同步移位寄存器的输入方式。主要用于扩展并行口的输入输出。数据RXD引脚输入或输出,同步移位脉冲由TXD引脚输出。发送和接受均为8为数据,低位在先,高位在后。波特率固定为fosc/12。 方式0输出 方式0输入 二,方式1
[单片机]
80C51<font color='red'>串口</font>的工作方式
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved