原创声明:

本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处。

适用于板卡型号:

AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG

实验Vivado工程为“rs485_test”。

本章以AN3485模块介绍RS485的数据传输。

1.实验原理

前面介绍过RS232和RS422的实验,而RS485与RS422类似,也是采用差分信号传输,但RS485是半双工传输,也就是说,同一时刻只能有一个方向的数据传输。而且接口也比RS422少,只有差分信号A和B,而与ARM或FPGA相连的信号为DE(方向选择),DI(输入信号TXD),RO(输出信号RXD)。

从MAX3485文档中,发送方向,如果DE为1时,也就是输出使能,DI值为1时,对于差分信号A和B值为1和0,否则为0和1。

从接收来看,如果DE为0,A和B之间差值大于等于+0.2V,则RO值为1,否则为0。

2.程序设计

由于RS485是半双工传输,那么我们需要制定传输协议进行握手,设定第一个字节为8’h55,表示一帧数据的开始,接下来是传输的数据长度信息,由于FIFO大小限制(256),范围为1~255,接下来是数据。格式即为:起始8’h55+数据长度+数据。

其中uart_tx和uart_rx跟RS232实验一样,在这里只修改uart_test即可。我们设计的功能为初始状态下将DE设为0,也就是输入,等待接收上位机发来的数据,并缓存到FIFO中,FIFO大小设置为256,然后切换DE为1,也就是输出,把接收到的数据从FIFO中读出并发送出去。注意缓存的数据是除去起始8’h55和数量信息的。

在RCV_HEAD状态时,判断接收到的数据是否是”S”。

在RCV_COUNT状态时,如果数据长度小于0,则跳转到IDLE状态,如果大于0,则进入接收数据状态。

在RCV_DATA状态下,把数据写入FIFO,并且检查数据长度,切换RS485的方向为输出,并跳转状态。

在切换总线状态时,为了可靠工作,在WAIT状态下,延时1ms进行方向切换。

再然后是发送FIFO中的数据,SEND_WAIT状态是控制读使能信号fifo_rden,并且判断数据是否发送完,发送完后进入IDLE状态。

3. 实验测试

我们仍然使用USB转串口设备,通过杜邦线将RS485_1的A和B分别与设备的A和B连接。

打开串口工具,设置好串口号波特率,选择16进制发送,发送数据以8’h55开头,点击发送,即可在接收窗口看到返回的数据。

【ZYNQ Ultrascale+ MPSOC FPGA教程】第十三章 RS485实验相关推荐

  1. 【ZYNQ Ultrascale+ MPSOC FPGA教程】第一章 MPSoC芯片介绍

    原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E ...

  2. 【ZYNQ Ultrascale+ MPSOC FPGA教程】第二章 硬件原理图介绍

    原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 简介 AXU2CGA/B的特点是体积小并扩展了丰富的外设.主芯片采用Xilinx ...

  3. 【ZYNQ Ultrascale+ MPSOC FPGA教程】第四章 PL的LED实验

    原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E ...

  4. 【ZYNQ Ultrascale+ MPSOC FPGA教程】第二十三章 PS端DP的使用

    原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E ...

  5. 【ZYNQ Ultrascale+ MPSOC FPGA教程】第三十二章 PL读写PS端DDR数据

    本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4E ...

  6. 【ZYNQ Ultrascale+ MPSOC FPGA教程】第二十一章 PS端UART读写控制

    原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E ...

  7. 【ZYNQ Ultrascale+ MPSOC FPGA教程】第六章 FPGA片内RAM读写测试实验

    原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E ...

  8. 【ZYNQ Ultrascale+ MPSOC FPGA教程】第二十四章 PS端SD卡读写

    原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E ...

  9. 【ZYNQ Ultrascale+ MPSOC FPGA教程】第十六章 7寸液晶屏显示实验

    原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E ...

最新文章

  1. OpenCV+python:像素运算
  2. Safari、IE浏览器出现允许改写地址栏的漏洞
  3. heartbeat之part1
  4. 在Visual Studio 2008中编译snort-2.8.6.1.tar.gz
  5. struts2 ibatis Spring系统架构图
  6. HDU - 5919 Sequence II(主席树+思维)
  7. spring boot 扩展之AutoConfigurationImportListener
  8. elasticsearch6.2.4 与logstash与kibana版本6.2.4搭建同步使用
  9. sun 些命令可以将服务器设置至ok模式_Python 高手之路:从零开始打造一个Web服务器...
  10. php tp写构造函数,tp5参数绑定到构造函数
  11. 好好学习,好好Show
  12. Android端直播系统开发入门
  13. 如何区分独立服务器与VPS主机?
  14. radix tree
  15. 有追求的品牌都应该去B站
  16. 爬虫必备-mysqldb-海量数据解决方案
  17. 新服务器如何装系统,新服务器怎么装系统
  18. 告诉你究竟DevOps是什么?
  19. 计算机专业高级职称评定条件,计算机职称考试初级高级中级职称评定申报条件...
  20. 红帽CEO:未来20年大数据唱主角 财富重新分配

热门文章

  1. java中的 s_「javas」Java中 s = s+1 与 s +=1 的区别 - seo实验室
  2. 星盘软件测试自学,腾讯星座频道_占星知识大讲堂
  3. JAVA 实现实心三角形
  4. 认识动物宝宝早教APP隐私政策
  5. OFDM系统同步技术的matlab仿真,包括符号定时同步,采样钟同步,频偏估计
  6. 阿里钉钉总裁威武,鼓励「领导向下属写周报」
  7. python爬虫 google翻译 js加解密
  8. Charles在夜神抓包APP无法联网
  9. 数仓 建模思想之星型模型、雪花模型、星座模型
  10. 如果说数据是数字经济的新石油,那么人工智能(AI)就是蒸汽机