【黑金云课堂】FPGA技术教程FPGA基础:串行接口RS422 & RS485通信

描述

一、核心通信原理

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 对比

特性RS422RS485
通信方式全双工半双工
物理连接4 线2 线
节点数量少(点对多点)多(32+)
控制复杂度简单需方向控制
最大距离1200m @ 100kbps1200m @ 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_TXDDI
  • FPGA_RXDRO
  • DERE 短接,由 FPGA IO 统一控制( 高电平发送、低电平接收
  • 共地连接(GND)

MAX3485 ↔ 总线

  • A(+)/B(-) 接 RS485 总线
  • 总线另一端通过 USB 转 RS485 接 PC

4. FPGA 逻辑设计

发送(TX)流程

  1. 数据准备(存入发送缓冲区)
  2. 切换模式:DE/RE = 1(高电平,发送模式)
  3. 启动 UART 发送(逐位移出)
  4. 等待发送完成标志,然后拉低 DE/RE 恢复接收

关键 :必须先在发送模式再发数据;发完后立即切回接收,避免总线冲突。

接收(RX)流程

  1. 持续监听 RXD,检测起始位(高→低跳变)
  2. 按预设波特率在每位中点采样
  3. 校验停止位/校验位
  4. 校验无误则将并行数据存入接收缓冲区

接收时 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 协议等。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分