`
emowuyi
  • 浏览: 1509224 次
文章分类
社区版块
存档分类
最新评论

RS232串口硬件引脚说明

 
阅读更多
引言

  在PC机的主板上,有一种类型的接口可能为我们所忽视,那就是RS-232C串行接口,在微软的Windows系统中称其为COM。我们可以通过设备管理器来查看COM的硬件参数设置,如图1。


图1 在Windows上查看PC串口设置

  迄今为止,几乎每一台PC都包含COM。本质而言,COM是PC为和外界通信所提供的一种串行数据传输的接口。作为一种物理通信的途径和设备,它和目前风靡的另一种串行接口――USB所提供的功能是一致的。不过RS-232C显然已经开始被后起之秀USB赶超,因为USB的传输速率已经远远超过了RS-232C。

  尽管如此,RS-232C仍然具有非常广泛的应用,在相对长的一段时间里,难以被USB等接口取代。RS-232C接口(又称EIA RS-232C),1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定,全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"。

  本文将对这一接口进行硬件原理的介绍,随后我们将逐章学习DOS平台的串口编程,及Windows平台下基于API、控件和第三方类的串口编程,最后本文将给出一个综合实例。

  在本文的连载过程中,您可以通过如下方式联系作者(热忱欢迎读者朋友对本文的内容提出质疑或给出修改意见):
作者email:21cnbao@21cn.com(可以来信提问,笔者将力求予以回信解答,并摘取其中的典型问题,在本系列文章最后一次连载的《读者反馈》中予以阐述);

  硬件原理

  众所周知,CPU与存储芯片和I/O芯片的通信是并行的(并行传输的最大位数依赖于CPU的字长、数据总线的宽度),一种叫做UART(通用异步收发器,Universal Asynchronous Receiver/Transmitter)的芯片提供了并行数据传输和RS-232C串行数据传输方式的转换。这样的设备通常有如图2所示的管脚分布,当其向外传输数据时,CPU并行的将数据写入这类芯片的寄存器,UART再将寄存器中的数据一位一位地移动并向外传输;当外界向其传输数据时,UART一位一位地接收数据,并将其移位组合为并行数据,CPU再并行地读取这些数据。实际上,由于UART芯片一般以TTL/CMOS电平工作,在UART连接接口之前,还要经过一个TTL/CMOS和RS-232C电平的转换。RS-232C规定了其标准的电气特性,逻辑1对应的电压必须在-5~-15V之间;逻辑0对应的的电压必须在+5~+15V之间。


图2 UART并/串转换

  一个常见的TTL/CMOS和RS-232C电平转换芯片如图3。


图3 常见的TTL/CMOS和RS-232C电平转换芯片

  RS-232C通常以两类接插件与外界相连,分别称为DB9和DB25,如图4所示。


图4 DB9和DB25

  而接插件中各个针的定义则如表1:

  表1 DB9和DB25引脚定义

DB9
DB25
针号 功能说明 缩写 针号 功能说明 缩写
1 数据载波检测 DCD 8 数据载波检测 DCD
2 接收数据 RXD 3 接收数据 RXD
3 发送数据 TXD 2 发送数据 TXD
4 数据终端准备 DTR 20 数据终端准备 DTR
5 信号地 GND 7 信号地 GND
6 数据设备准备好 DSR 6 数据准备好 DSR
7 请求发送 RTS 4 请求发送 RTS
8 清除发送 CTS 5 清除发送 CTS
9 振铃指示 DELL 22 振铃指示 DELL

  RS-232C定义为数据通信设备(DCE)和数据终端设备(DTE)之间的互连,实现上,到现在为止,究竟一个设备属于DCE还是属于DTE已经没有明显的界限,PC即可作为DCE,又可作为DTE。两串口互连,连接方法主要有二:

  一种方法是,数据的发送和接收由软件控制,不进行硬件握手,其连接方法如图5(最常用DB9连接示意)和表2(DB9、DB25三线连接表),真正需要互相连接的是RXD、TXD和GND;


图5 无硬件握手时两串口连接

  表2 DB9、DB25三线连接

9针-9针
5针-25针
2 9针-25针
2 3 3 2 2 2
3 2 2 3 3 3
5 5 7 7 5 7

  软件握手又称为XON/XOFF,通常以CTRL-S(0x13)和CTRL-Q(0x11)两个字符来实现流控制。前者用于请求对方暂停发送,后者用于清除暂停传送的请求,继续发送数据。

  另一种方法是,数据的发送和接收由硬件控制,进行硬件握手,其连接方法如图6(最常用DB9连接示意),需要连接的信号除RXD、TXD和GND外,还包括DTR、DSR、RTS和CTS。

  硬件握手依赖于RTS和CTS信号,当发送设备欲发送数据时,将RTS信号置为有效表示请求发送,接收设备准备好后,置CTS信号有效,接着发送设备通过信号线TXD开始发送串行数据。

  这里我们联想开来,RTS/CTS模式在许多领域里都出现过。回忆一下IEEE 802.11无线局域网协议标准,在其MAC协议中就使用了RTS/CTS,RTS/CTS抽象开来就是一种请求/应答。笔者曾经在拙作中多次以实例论证计算机领域里许多知识的相通性,这又是一个明证。


图6 有硬件握手时两串口连接

  实际上,目前我们经常使用的是方法一,即只连接RXD、TXD和GND,简单灵活。另外,串口之间互连还有诸多途径,如图7所示。






图7 其它互连方式
学习笔记:
DB9串口引脚2、3、4、5、6、7、8七个引脚是有用的。2表示发送;3表示接收;4表示设备终端准备好;5表示地;6表示设备数据准备好;7表示发送命令;8表示清除发送命令。
RS232表示的数据根据协议是(-5)——(-15)表示1;(+5)——(+15)表示0。
分享到:
评论

相关推荐

    RS232串口驱动程序

    RS232串口驱动程序是计算机硬件与外部设备间通信的一种关键技术,广泛应用于工业控制、数据通信和设备调试等领域。RS232,全称为EIA/TIA-232标准,是由电子工业协会(Electronic Industries Alliance, EIA)和电信...

    StagoStaCompact血凝仪-RS232串口数据说明

    RS232串行接口在这款设备中起着至关重要的作用,它负责连接血凝仪与计算机或其他外围设备,实现数据传输和设备控制。下面将详细解释Stago Sta Compact血凝仪的RS232串口数据通信相关知识点。 1. RS232串口简介: ...

    LG电视RS232串口协议文档

    硬件连接说明部分通常会详细描述如何物理连接RS232接口,包括所需的线缆类型和每个引脚的功能。由于RS232是一种串行通信协议,它允许数据在一个方向上一次一个位地传输。为了建立连接,通常需要以下硬件设备: 1. ...

    基于C语言的RS232串行接口通信实现

    在C语言编程中,实现RS232串口通信时,会涉及这些连接方式的选择。 C语言串口通信软件的实现通常涉及以下几个步骤: 1. 硬件设备的配置,如单机测试、近距离两台设备通信和远距离通信,根据不同的连接方式设置串口...

    基于FPGA的RS232串口通信

    在IT领域,基于FPGA(Field-Programmable Gate Array,现场可编程门阵列)的RS232串口通信是一种常见的硬件接口设计技术。本文将深入探讨RS232串口通信协议、FPGA在其中的角色以及如何在V2-PRo开发板上实现这一功能...

    RS232串口调试工具

    首先,RS232串口是一种物理接口,它定义了9针或25针D型连接器上的引脚功能,如TXD(发送数据)、RXD(接收数据)和RTS/CTS(请求发送/清除发送)等控制信号。这些信号用于实现全双工通信,允许设备同时发送和接收...

    RS232串口引脚定义

    **RS232串口引脚定义详解** RS232(Recommended Standard 232)是一种古老的串行通信接口标准,广泛应用于计算机和其他设备之间的通信。它定义了一组信号线,用于数据传输、控制和状态指示。在本文中,我们将深入...

    RS232串口结构简图

    根据提供的文件信息,我们可以深入探讨RS232串口的相关知识点以及其在特定应用场景下的配置与使用。 ### RS232串口结构简介 #### 一、RS232串口概述 RS232是一种标准接口规范,用于定义设备之间进行串行二进制数据...

    RS232串口源程序

    RS232串口源程序是电子工程和计算机科学领域中的一个重要组成部分,尤其在设备通信和嵌入式系统设计中。RS232,全称是"Recommended Standard 232",是一种早期制定的串行物理接口标准,用于定义计算机和其他设备之间...

    串口调试助手 RS232 串口调试助手

    串口调试助手是一款在IT行业中广泛应用的工具,主要用于测试和调试使用RS232串行通信接口的...在日常工作中,熟练掌握串口调试助手的使用技巧,以及对RS232串口的理解,对于解决硬件兼容性和通信问题具有极大的帮助。

    RS232串口转USB万能驱动

    标题中的“RS232串口转USB万能驱动”是指一种软件解决方案,它使得能够将传统的RS232串行接口与现代计算机的USB(Universal Serial Bus)接口相连接,以便于数据通信。在现代笔记本电脑中,由于USB接口的普遍应用,...

    基于C语言的RS232串行接口通信实现_葛磊蛟.pdf

    《基于C语言的RS232串行接口通信实现》 串行通信是电子和计算机领域中不可或缺的技术,尤其在RS232串行接口的支持下,设备间的通信变得更为简便。RS232接口是一种历史悠久但依然广泛使用的通信标准,尤其在需要远...

    rs232串口通信万能工程代码模板stm32

    RS232,全称是“串行接口标准”,是一种广泛应用于设备间串行通信的标准,常见于工业自动化、数据采集系统以及嵌入式系统等领域。STM32是意法半导体(STMicroelectronics)推出的一系列高性能、低功耗的32位微控制器...

    RS232串行接口电路图

    RS232串行接口,全称为EIA/TIA-232标准,是一种广泛应用于计算机和其他电子设备之间进行通信的接口标准。该标准由美国电子工业协会(Electrical Industries Association, EIA)和电信行业协会(Telecommunications ...

    RS232串口通信详解

    ### RS232串口通信详解 #### 一、引脚定义 在了解RS232串行通信之前,我们先来明确一下它的引脚定义。RS232标准定义了多个引脚,用于实现数据的发送与接收等功能: 1. **CD(Carrier Detect)**:载波检测信号,...

    爱威轮 USB总线-RS232串口智能转换器说明书.rar

    **爱威轮 USB总线-RS232串口智能转换器说明书** 在现代计算机技术中,串行通信接口RS232仍然是许多设备和应用中的标准通讯方式,尤其是在工业控制、自动化系统以及一些老旧设备的连接中。然而,随着USB(Universal ...

    RS232串口电平转换模块.zip

    RS232串口电平转换模块是一种在电子通信领域广泛应用的硬件设备,主要用于解决不同电平标准之间的兼容性问题。RS232,全称是"Recommended Standard 232",是一种早期制定的串行物理接口标准,广泛应用于计算机与其他...

Global site tag (gtag.js) - Google Analytics