RS-232是美国电子工业联盟(EIA)制定的串行数据通信的接口标准,原始编号全稱是EIA-RS-232(简称232,RS232)。它广泛用于计算机串行接口外设连接。

RS-232C标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(Recommended Standard)代表推荐标准,232是标识号,C代表RS232的第三次修改(1969年),在这之前,还有RS232B、RS232A。

目前的最新版本是由美国电信工业协会(TIA, Telecommunications Industry Association,由EIA所分出的一个组织)所发行的TIA-232-F,它同时也是美国国家标准ANSI/TIA-232-F-1997(R2002),此标准于2002年受到再确认。在 1997年由TIA/EIA发行当时的编号则是TIA/EIA-232-F与ANSI/TIA/EIA-232-F-1997。在此之前的版本是TIA/EIA-232-E。1

它规定连接电缆和机械、电气特性、信号功能及发送过程。其他常用电气标准还有EIA-RS-422-A、EIA-RS-423A、EIA-RS-485。

目前在IBM PC机上的COM1、COM2接口,就是RS-232C接口。RS-232对电气特性、逻辑电平和各种信号线功能都作了规定。

由于RS-232-C的重大影响,即使自IBM PC/AT开始改用9针连接器起,目前已几乎不再使用RS-232中规定的25针连接器。一般人谈到RS-232此一接口时很有可能指的是RS-232-C。

标准的细节

在RS-232标准中,字符是以一串行的位串来一个接一个的串列(serial)方式传输,优点是传输线少,配线简单,发送距离可以较远。最常用的编码格式是异步起停(asynchronous start-stop)格式,它使用一个起始比特后面紧跟7或8个数据比特(bit),然后是可选的奇偶校验比特,最后是一或两个停止比特。所以发送一个字符至少需要10比特,带来的一个好的效果是使全部的传输速率,发送信号的速率以10划分。一个最平常的代替异步起停方式的是使用高级数据链路控制协议(HDLC)。

在RS-232标准中定义了逻辑一和逻辑零电压级数,以及标准的传输速率和连接器类型。信号大小在正的和负的3-15v之间。RS-232规定接近零的电平是无效的,逻辑一规定为负电平,有效负电平的信号状态称为传号marking,它的功能意义为OFF,逻辑零规定为正电平,有效正电平的信号状态称为空号spacing,它的功能意义为ON。电平有效范围在±3至±15伏之间。根据设备供电电源的不同,±5、±10、±12和±15这样的电平都是可能的。

mark和space是从电传打字机中来的术语。电传打字机原始的通信是一个简单的中断直流电路模式,类似与圆转盘电话拨号的中的信号。Marking状态是指电路是断开的,spacing状态就是指电路是接通的。一个space就表明有一个字符要开始发送了,相应的停止的时候,停止位就是marking。当线路中断的时候,电传打字机不打印任何有效字符,周期性的连续收到全零信号。

       DE-9 Male(Pin Side)                   DE-9 Female (Pin Side)
         -------------                          -------------
         \ 1 2 3 4 5 /                          \ 5 4 3 2 1 /
          \ 6 7 8 9 /                            \ 9 8 7 6 /
           ---------                              ---------
           

articles/2022/20221003165124_4e30613e1d3f4e26af099bfae740d692.png

信号的标注是从DTE设备的角度出发的,TD、DTR和RTS信号是由DTE产生的,RD、DSR、CTS、DCD和RI信号是由DCE产生的。接地信号是所有连接都公共的,在Yost的标准中接地信号外部有两个管脚事实上是同一个信号。如果两个通信设备的距离相差的很远或者是有两个不同的供电系统供电,那么地信号在两个设备间会不一样,从而导致通信失败,跟踪描述这样的情形是很困难的。

电缆

由于RS-232实现中的各种不同和矛盾,要决定使用哪个合适的电缆来连接两个通信设备不是一件非常容易的事。用同一种类型的连接器来连接DCE和DTE设备需要直接的电缆还要有合适的终点。凹凸转换器被用于电缆和连接器间解决性别失配问题。用不同连接器来连接设备需要根据上表,用不同的电缆来连接相应的管脚。电缆一端9管脚,另一端25管脚是很普通的,生产以RJ-45型为连接器的设备厂家通常都会提供DB-25或者DB-9型接头的电缆(有时候则是接头可交换的电缆,可供多种设备工作)。

连接两个DTE设备需要一个虚拟调制解调器来充当DCE交换相应的信号(TD-RD, DTR-DSR, and RTS-CTS)。这个可以由单独的设备加上两根电缆或者用一根电缆来完成。Yost标准里虚拟调制解调器是一个全反线,它把一个端口的1到8号管脚翻转和另一个端口的8到1号管脚相连接(不要和以太网的反绞线混淆,以太网反绞线接线是非常不同的)。

为了配置和诊断RS-232电缆,可以采用配线分接器。配线分接器有凹凸RS-232连接器,可以内嵌式的连接线路,而且提供对应每个管脚的显示灯,还可以各种配置方式连接管脚。

RS-232电缆和很多连接器都可以在电子产品的商店找到,电缆可能是3到25个管脚的,典型应用的是4到6个管脚的。平RJ(电话线类型)电缆可以和专门的RJ-RS-232连接器一起使用,后者是最容易配置的连接器。

双向接口能够只需要3根线制作是因为RS-232的所有信号都共享一个公共接地。非平衡电路使得RS-232非常的容易受两设备间基点电压偏移的影响。对于信号的上升期和下降期,RS-232也只有相对较差的控制能力,很容易发生串话的问题。RS-232被推荐在短距离(15m以内)间通信。由于非对称电路的关系,RS-232接口电缆通常不是由双绞线制作的。

有些设备也需要“握手”协议,例如,20号管脚一般用于指示“设备就绪”。管脚也可是跳过的或者从连接器接回。例如设备A的一个管脚发送信号询问对方“你准备好了吗?”假如设备B没有发送这样的指示信号。公共的握手管脚为20、8、4和6。

设置

串行通信在软件设置里需要做多项设置,最常见的设置包括波特率(又称鮑率)(Baud)、奇偶校验(Parity Check)和停止位(Stop Bit)。

波特率(又称鮑率):是指从一设备发到另一设备的波特率,即每秒钟多少符号。典型的波特率是300, 1200, 2400, 9600, 19200, 115200等。一般通信两端设备都要设为相同的波特率,但有些设备也可设置为自动检测波特率。 奇偶校验(Parity:是用来验证数据的正确性。奇偶校验一般不使用,如果使用,那么既可以做奇校验(Odd Parity)也可以做偶校验(Even Parity)。奇偶校验是通过修改每一发送字节(也可以限制发送的字节)来工作的。如果不作奇偶校验,那么数据是不会被改变的。在偶校验中,因为奇偶校验位会被相应的置1或0(一般是最高位或最低位),所以数据会被改变以使得所有传送的数位(含字符的各数位和校验位)中“1”的个数为偶数;在奇校验中,所有传送的数位(含字符的各数位和校验位)中“1”的个数为奇数。奇偶校验可以用于接受方检查传输是否发送生错误——如果某一字节中“1”的个数发生了错误,那么这个字节在传输中一定有错误发生。如果奇偶校验是正确的,那么要么没有发生错误要么发生了偶数个的错误。如果用户选择资料长度为8位,则因为没有多余的比特可被用来作为同比特,因此就叫做“非奇偶校验(Non Parity)”。 停止位:是在每个字节传输之后发送的,它用来帮助接受信号方硬件重同步。 RS-232在发送资料时,并不需要另外使用一条传输线来发送同步信号,就能正确的将资料顺利发送到对方,因此属于“异步传输”,必须在每一笔资料的前后都加上同步信号,把同步信号与资料混和之后,使用同一条传输线来传输。比如资料11001010被传输时,资料的前后就需加入Start(Low)以及Stop(High)等两个比特,值得注意的是,Start信号固定为一个比特,但Stop停止比特则可以是1、1.5或者是2比特,由使用RS-232的发送与接收两方面自行选择,但需注意发送与接受两者的选择必须一致。 在串行通信软件设置中D/P/S是常规的符号表示。8/N/1(非常普遍)表明8bit数据,没有奇偶校验,1bit停止位。数据位可以设置为5、6、7或者8位(不可以大于8或小于5),奇偶校验位可以设置为无(N)、奇(O)或者偶(E),奇偶校验可以使用数据中的比特(bit),所以8/E/1就表示一共8位数据位,其中一位用来做奇偶校验位。停止位可以是1、1.5或者2位的(1.5是用在波特率为60wpm的电传打字机上的)。

流量控制:当需要发送握手信号或数据完整性检测时需要制定其他设置。公用的组合有RTS/CTS, DTR/DSR或者XON/XOFF(实际中不使用连接器管脚而在数据流内插入特殊字符)。 接受方把XON/XOFF信号发给发送方来控制发送方何时发送数据,这些信号是与发送数据的传输方向相反的。XON信号告诉发送方接受方准备好接受更多的数据,XOFF信号告诉发送方停止发送数据直到知道接受方再次准备好。XON/XOFF一般不赞成使用,推荐用RTS/CTS控制流来代替它们。 XON/XOFF是一种工作在终端间的带内方法,但是必须两端都支持这个协议,而且在突然启动的时候会有混淆的可能。 XON/XOFF可以工作于3线的接口。RTS/CTS最初是设计为电传打字机和调制解调器半双工协作通信的,每次它只能一方调制解调器发送数据。终端必须发送请求发送信号然后等到调制解调器回应清除发送信号。尽管RTS/CTS是通过硬件达到握手,但它有自己的优势。

ASR(Automatic Send Receive)电传打字机有一个纸带读卡机。当读卡机读数据的时候字符被发送出去。ASR电传打字机里收到一个XOFF字符就关掉纸带读卡机收到一个XON字符就启动纸带读卡机。当远端系统有必要降低发送放的速率时就发出XOFF。在原始的系统中,消息要用纸带事先准备好,传送的时间才能被缩短。那时的带宽非常有限并且昂贵,有时候传输不得不推迟到晚上进行,这也正推动了简明电报表达的发展。在有些早期的小型机中,ASR纸带读卡机和纸带穿孔器也是唯一的恢复程序的方法。

立即搭建您的物联网平台?

接入设备,搭建可视化应用,仅需不到 30 分钟

进入控制台

设备轻松上云

设备统一接入

打破不同厂商设备上云孤岛,无需重复建设,海量设备接入同一个平台,搞定数据互通和智能联动。

开放接入协议
支持各类物联网设备,提供快捷且安全的接入服务。
全球接入点
支持国内及海外多地域接入,助您物联网业务全球化。
按需扩容
无需高额一次性投入,可随业务发展不断扩容。

数据采集

洞察数据价值

从设备数据采集,到实时控制,不需要复杂的操作和配置。

多数据类型
支持基本和复合数据类型,覆盖各行业物联网场景。
数据聚合分析
内置强大的历史数据分析,快速挖掘数据价值。
数据计算规则
内置规则引擎,支持云函数,实现任意业务需要。

可视化

数据及控制看板

一键添加数据和控制组件,支持丰富个性化样式,还可生成共享 URL。

50+ 可视化组件
持续新增可视化组件,助力各行业物联网场景。
个性化样式
从背景图到组件标题,每一处样式都可以灵活设置。
发布共享
生成看板共享 URL,每个看板就是一个小型应用。

App 应用

零代码 App 开发

不需要写一行代码,为您的物联网项目生成与众不同的 App。

多平台支持
公版 ThingsX App 支持 iOS/Android/微信小程序/Webapp。
OEM App
可生成您的专属 App,拥有自己的 App 名称、Logo。
多用户支持
内置用户账号体系,用户可认领设备。

SaaS 应用

一键生成 SaaS 后台

为您的客户生成独立管理后台,快速落地物联网项目。

个性化样式
从登录页到主题色,您可以设置不同的视觉效果。
自定义域名
可绑定您的域名,实现独立品牌推广。
关联看板
将精心设计的可视化看板,一键放置到 SaaS 应用中。

设备告警

简单易用的告警规则

不仅可通知项目成员,还可通知设备所属用户。

灵活的告警规则
快捷的多条件设置,让告警通知更加有效。
丰富的通知方式
支持短信、邮件、钉钉群机器人、企业微信、微信公众号。
集成自有公众号
用您的公众号为用户推送告警通知,积累私域粉丝。

API

带给您无限可能

ThingsCloud 支持完善的 API 服务,您可以基于 API 开发任意应用。

全方位开放
支持 HTTP API、MQTT 实时消息、Webhook。
集成到方案中
将 ThingsCloud 作为您的物联网中台,成为行业方案的基础设施。
应用定制服务
提供基于 API 的应用定制开发服务。

应用场景

全球 80% 的数据将来自物联网,不论是传统行业还是新兴行业,都将利用更多有价值的数据来驱动业务,实现降本增效。