2. 物理层对比:RS-232串口通信原理、SECS I与HSMS物理层特性
这一章咱们聊聊最底层的物理连接。说白了,就是数据到底怎么从设备A跑到设备B的。SECS I和HSMS最大的区别,就在这一层。我见过不少工程师,协议栈调得飞起,结果发现是串口线没焊好,或者网口IP配错了——这种坑,咱们今天一次性讲清楚。
2.1 RS-232串口通信原理
RS-232,老古董了,但半导体厂里到处都是。SECS I就是基于这个标准。它的核心逻辑很简单:一根线发,一根线收,再加一根地线。
为什么还要讲这个?因为很多老设备,尤其是1990年代引进的刻蚀机、扩散炉,只认RS-232。你没法跳过它。
2.1.1 电气特性
- 电压范围:逻辑“1”是 -3V ~ -15V,逻辑“0”是 +3V ~ +15V。跟现在常用的TTL电平(0V/3.3V)完全相反。
- 传输距离:理论最大15米。实际项目中,我建议控制在10米以内。超过这个距离,信号就开始飘了。
- 连接器:最常见的是DB9公头/母头。引脚定义你得记清楚:2脚是RXD(接收),3脚是TXD(发送),5脚是GND(地)。
2.1.2 通信流程
RS-232是异步串行通信。什么意思?就是没有单独的时钟线。收发双方得约定好速度(波特率),然后靠起始位和停止位来同步。
- 空闲状态:线路保持为逻辑“1”(负电压)。
- 起始位:发送方将线路拉低为逻辑“0”(正电压),持续一个位时间。告诉接收方:“我要开始发了”。
- 数据位:从最低位(LSB)开始,逐位发送数据。通常是7位或8位。
- 校验位:可选。用于简单的错误检测。
- 停止位:线路恢复为逻辑“1”,持续1位、1.5位或2位时间。告诉接收方:“这一帧结束了”。
2.2 SECS I物理层特性
SECS I直接跑在RS-232上面。它没有额外的物理层芯片,就是纯串口。所以,它的所有参数都跟RS-232绑定。
2.2.1 关键参数
| 参数 | SECS I 标准值 | 我的建议 |
|---|---|---|
| 波特率 | 9600 bps(最常见) 也可选 19200, 38400 |
新项目我建议用 19200。9600太慢,38400在长线缆下容易丢包。 |
| 数据位 | 7位 或 8位 | 如果传输ASCII字符,7位够用。如果传二进制数据,必须用8位。我个人习惯统一用8位,省心。 |
| 校验位 | 偶校验(Even)或无校验(None) | 建议用偶校验。多一层保护,开销很小。 |
| 停止位 | 1位 | 1位就够了。用2位纯粹浪费带宽。 |
2.2.2 硬件握手
SECS I标准里提到了RTS/CTS硬件流控。但说实话,我在实际项目中很少用。大部分设备直接短接RTS和CTS,或者干脆不接。为什么?因为SECS I协议层有自己的流量控制(比如等待S9F9消息),硬件流控反而容易出兼容性问题。
2.3 HSMS物理层特性
HSMS就现代多了。它跑在TCP/IP网络上。说白了,就是把SECS消息封装成TCP数据包,通过以太网传输。
2.3.1 网络基础
- 传输层协议:TCP。面向连接,保证数据按序到达。
- 网络层协议:IPv4(主流),IPv6(极少见)。
- 物理介质:标准以太网,100BASE-TX(百兆)或1000BASE-T(千兆)。
2.3.2 端口号
HSMS标准定义了两种端口模式,这个你得记清楚:
| 模式 | 端口号 | 说明 |
|---|---|---|
| 被动模式(Passive) | 5000 | 设备作为TCP Server,监听5000端口。主机作为Client主动连接。 |
| 主动模式(Active) | 任意(通常 > 1024) | 设备作为TCP Client,主动连接主机的指定端口。 |
为什么是5000?我查过SEMI标准,没找到特别明确的理由。但行业里都这么用,你也就别改了。我见过有人改成5001,结果IT部门防火墙策略没更新,折腾了两天。
2.3.3 连接建立流程
HSMS的连接建立,比SECS I复杂一些。它需要先建立TCP连接,再建立HSMS会话。
- TCP三次握手:SYN -> SYN-ACK -> ACK。这是TCP/IP协议栈自动完成的。
- HSMS Select请求:主机发送Select.req消息,请求建立HSMS会话。
- HSMS Select响应:设备回复Select.rsp,确认会话建立。
2.4 核心对比:SECS I vs HSMS 物理层
咱们用一张表把区别说清楚:
| 对比项 | SECS I | HSMS |
|---|---|---|
| 物理介质 | RS-232串口线(DB9) | 以太网线(RJ45) |
| 最大距离 | 15米(实际建议10米) | 100米(交换机级联可扩展) |
| 传输速率 | 9600 ~ 38400 bps | 100 Mbps 或更高 |
| 连接方式 | 点对点,物理直连 | 点对点或通过网络交换机 |
| 错误检测 | 校验位(可选) | TCP校验和 + 重传机制 |
| 抗干扰能力 | 弱(共模干扰敏感) | 强(差分信号 + 隔离变压器) |
| 标准端口 | 无(物理接口) | 5000(被动模式) |
你想想看,SECS I就像一条乡间小路,只能走一辆车,速度慢,但简单可靠。HSMS就像高速公路,速度快,容量大,但需要配套的交通管理(交换机、路由器、防火墙)。
2.5 选型建议
到底选哪个?我个人的经验是:
- 选SECS I:设备老旧,只有串口;或者现场环境极其简单,就一台设备连一台主机。
- 选HSMS:新项目;设备数量多;需要远程监控;或者车间已经有完善的网络基础设施。