【ZYNQ Ultrascale+ MPSOC FPGA教程】第十三章 RS485实验
原创声明:
本原创教程由芯驿电子科技(上海)有限公司(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实验相关推荐
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第一章 MPSoC芯片介绍
原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E ...
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第二章 硬件原理图介绍
原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 简介 AXU2CGA/B的特点是体积小并扩展了丰富的外设.主芯片采用Xilinx ...
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第四章 PL的LED实验
原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E ...
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第二十三章 PS端DP的使用
原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E ...
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第三十二章 PL读写PS端DDR数据
本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4E ...
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第二十一章 PS端UART读写控制
原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E ...
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第六章 FPGA片内RAM读写测试实验
原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E ...
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第二十四章 PS端SD卡读写
原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E ...
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第十六章 7寸液晶屏显示实验
原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E ...
最新文章
- OpenCV+python:像素运算
- Safari、IE浏览器出现允许改写地址栏的漏洞
- heartbeat之part1
- 在Visual Studio 2008中编译snort-2.8.6.1.tar.gz
- struts2 ibatis Spring系统架构图
- HDU - 5919 Sequence II(主席树+思维)
- spring boot 扩展之AutoConfigurationImportListener
- elasticsearch6.2.4 与logstash与kibana版本6.2.4搭建同步使用
- sun 些命令可以将服务器设置至ok模式_Python 高手之路:从零开始打造一个Web服务器...
- php tp写构造函数,tp5参数绑定到构造函数
- 好好学习,好好Show
- Android端直播系统开发入门
- 如何区分独立服务器与VPS主机?
- radix tree
- 有追求的品牌都应该去B站
- 爬虫必备-mysqldb-海量数据解决方案
- 新服务器如何装系统,新服务器怎么装系统
- 告诉你究竟DevOps是什么?
- 计算机专业高级职称评定条件,计算机职称考试初级高级中级职称评定申报条件...
- 红帽CEO:未来20年大数据唱主角 财富重新分配
热门文章
- java中的 s_「javas」Java中 s = s+1 与 s +=1 的区别 - seo实验室
- 星盘软件测试自学,腾讯星座频道_占星知识大讲堂
- JAVA 实现实心三角形
- 认识动物宝宝早教APP隐私政策
- OFDM系统同步技术的matlab仿真,包括符号定时同步,采样钟同步,频偏估计
- 阿里钉钉总裁威武,鼓励「领导向下属写周报」
- python爬虫 google翻译 js加解密
- Charles在夜神抓包APP无法联网
- 数仓 建模思想之星型模型、雪花模型、星座模型
- 如果说数据是数字经济的新石油,那么人工智能(AI)就是蒸汽机