基于FPGA的RS485通信接口实验手册

您所在的位置:网站首页 485接口电压如何测量 基于FPGA的RS485通信接口实验手册

基于FPGA的RS485通信接口实验手册

2024-07-15 05:06| 来源: 网络整理| 查看: 265

以下文章来源于小梅哥FPGA ,作者小梅哥

下文所用例程可以下载 链接:https://pan.baidu.com/s/10qP4OnOcc1US_T5gONZ_IQ 提取码:kla0

RS485介绍

RS485是一个定义平衡数字多点系统中的驱动器和接收器的电气特性的标准,该标准由电信行业协会和电子工业联盟定义。使用该标准的数字通信网络能在远距离条件下以及电子噪声大的环境下有效传输信号。RS-485使得廉价本地网络以及多支路通信链路的配置成为可能。

RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓扑结构,在同一总线上最多可以挂接32个节点,如图1所示。

在这里插入图片描述

图1 RS485组网结构

在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。很多情况下,连接RS-485通信链路时只需要简单地用一对双绞线将各个接口的“A”、“B”端连接起来,忽略信号地的连接。这种连接方法能够在许多场合正常工作,但是在更加恶劣的工作环境中,还是应该保证所有设备都良好的接地,以保证通信的可靠性。

数字电路中,由TTL电子元器件组成电路使用的电平,电平是个电压范围,规定输出高电平>2.4V,输出低电平=2.0V,输入低电平 AC620_Verilog_Example”里面能够找到,工程名为AC620_RS485_RX_TX.rar。

2、按照下述引脚分配表完成工程的引脚分配

在这里插入图片描述

3、使用一个USB转RS485转换器,例如图5所示,USB一端连接电脑,RS485一端连接开发板上的RS485接口。该转换器一般使用的是CH340实现的USB转串口,因此插到电脑上会识别出一个COM端口,在电脑上使用时,就像使用串口功能一样。

在这里插入图片描述

图5 USB转RS485模块

笔者手里没有这个转换模块,但是有我们自己研发的多合一调试器模块,该调试器能够支持USB转TTL、USB转RS232、USB转RS485功能,同时还带有USB Blaster和ST_LinkV2功能,使用很方便,因此笔者就使用该调试器的USB转RS485功能完成本实验的调试。

将该调试器的RS485接口连接到AC620开发板的RS485接口上,如图6所示。在电脑上选择对应的COM端口就可以实现PC和AC620开发板通过RS485接口通信了。

在这里插入图片描述

图6 使用多合一调试器实现RS485调试

4、打开串口调试软件(推荐使用“串口猎人”),选择PC上该USB转RS485模块对应的端口号,设置波特率为115200。

5、全编译工程,下载sof文件到开发板中。

6、打开In-System Sources and Probes工具,将source和probe的显示格式都切换为hex格式,然后在source的data栏中输入希望发送的数据,然后按下开发板上的S0按键,可以看到,串口猎人上对应显示出了接收到的数据,如图7所示。

在这里插入图片描述

图7 FPGA发送数据

7、选中In-System Sources and Probes中的probe,然后点击持续读取按钮,在串口猎人中输入一个字节的数据并点击发送,则可以看到In-System Sources and Probes中的probe数据立即更新为了接收到的新数据,如图8所示。

在这里插入图片描述

图8 FPGA接收RS485数据

8、使用示波器测量RS485总线上的A和B端,如图9所示。其中蓝色波形为A,黄色波形为B。可以看到,第一位波形,A-B的差值为-1.24V左右,代表0,对应了UART串口协议的起始位,第二位,A-B的差值为1.24V,代表1,而实际发送的数据37h的二进制值为00110111b,bit0的值为1,刚好与波形对应。

在这里插入图片描述

图9 SP3485传输数据波形图

总结

自此,基于FPGA的RS485基本通信就实现了,用户可以基于此工程,编写上层的应用逻辑,以实现更加复杂多样化的定制功能。当然,笔者更推荐使用NIOS II软核CPU实现这些功能。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3