一、核心通信原理
1. 定义与特点
- RS422 / RS485 是美国电子工业协会(EIA)制定的串行通信接口标准,仅定义物理层电气特性,需配合 UART、Modbus RTU 等高层协议使用。
- 两者均采用差分信号传输 ,与 RS232 单端信号显著不同,具备极强的抗干扰能力和长距离传输能力(最远 1200 米)。
2. 差分信号优势
- 使用一对互补信号线(A/B 或 Y/Z),接收端比较两线电压差还原数据。
- 共模噪声同时作用于两根线,通过减法抵消,不受地电位偏移影响,适合工业复杂电磁环境。
3. RS422 标准(全双工 · 点对多点)
- 通信方式:全双工,可同时收发。
- 物理接口:4 线(两组差分对:TX+/-、RX+/-)。
- 拓扑结构:一主多从,但节点数有限(通常一主一从或少量从机)。
- 典型应用:运动控制器与伺服驱动、工业相机高速数据传输。
4. RS485 标准(半双工 · 总线型)
- 通信方式:半双工,需通过 DE/RE 引脚切换收发模式。
- 物理接口:2 线(一对差分线 A/B)。
- 拓扑结构 :总线型,可挂载 32 个标准负载(可扩展更多)。
- 关键要求 :总线两端必须接 120Ω 终端电阻,消除信号反射。
- 典型应用:Modbus RTU 工业控制网络、智能楼宇、传感器数据采集。
5. RS422 vs RS485 对比
| 特性 | RS422 | RS485 |
|---|---|---|
| 通信方式 | 全双工 | 半双工 |
| 物理连接 | 4 线 | 2 线 |
| 节点数量 | 少(点对多点) | 多(32+) |
| 控制复杂度 | 简单 | 需方向控制 |
| 最大距离 | 1200m @ 100kbps | 1200m @ 100kbps |
| 最大速率 | 10 Mbps(短距) | 10 Mbps(短距) |
二、FPGA 实践与验证
1. 实验目标
- 掌握 FPGA 与 RS485 电平转换芯片(如 MAX3485)的硬件连接。
- 实现 Verilog HDL 控制的 RS485 半双工收发逻辑。
- 完成自发自收(回环)测试及与 PC 上位机的双向通信。
2. 硬件平台
- FPGA 开发板:Alinx ZYNQ-7000 (AX7020)
- 通信模块:RS232/485/422 扩展模块
- 电平转换芯片:MAX3485(3.3V,兼容 RS485)
- PC 连接:USB 转 RS485 转换器 + 串口调试助手
3. 硬件连接要点
FPGA ↔ MAX3485:
FPGA_TXD→DIFPGA_RXD←RODE与RE短接,由 FPGA IO 统一控制(高电平发送、低电平接收)- 共地连接(GND)
MAX3485 ↔ 总线:
A(+)/B(-)接 RS485 总线- 总线另一端通过 USB 转 RS485 接 PC
4. FPGA 逻辑设计
发送(TX)流程
- 数据准备(存入发送缓冲区)
- 切换模式:
DE/RE = 1(高电平,发送模式) - 启动 UART 发送(逐位移出)
- 等待发送完成标志,然后拉低
DE/RE恢复接收
关键:必须先在发送模式再发数据;发完后立即切回接收,避免总线冲突。
接收(RX)流程
- 持续监听
RXD,检测起始位(高→低跳变) - 按预设波特率在每位中点采样
- 校验停止位/校验位
- 校验无误则将并行数据存入接收缓冲区
接收时
DE/RE = 0,被动监听总线即可。
5. 实验测试
- RS422 测试:将模块的 Y/Z 接转换器的 R+/R-,A/B 接 T+/T-,串口工具验证收发一致。
- RS485 测试 :模块的 A/B 直连转换器的 A/B,发送以
0x55开头的数据,观察回环结果。 - PC 双向通信:FPGA 按键发送数据到 PC 串口助手;PC 发送指令控制 FPGA 板载 LED 或数码管。
6. 总结与展望
- 核心优势:差分信号抗干扰强,适合工业长距离通信。
- 实现关键:正确连接硬件、匹配波特率、精确控制收发方向。
- 应用扩展:PLC/DCS 系统、分布式传感器采集、智能楼宇、Modbus RTU 协议等。
💡 完整视频讲解可前往 ALINX 视频号进行直播回看
更多细节欢迎关注我们黑金云课堂全年免费直播课,
黑金云课堂六月直播日历 我们将在每周二、三、四,同步推进 Verilog开发、Vitis开发、Linux开发三大系列,带你从零开始,稳扎稳打掌握 FPGA 开发全流程!
| 系列 | 内容定位 |
|---|---|
| Verilog开发 | 硬件描述语言基础、逻辑设计、仿真调试 |
| Vitis开发 | Zynq软硬件协同、外设驱动、网络协议栈 |
| Linux开发 | 嵌入式Linux系统移植、驱动编写、应用开发 |