资料介绍
作者:ALINX
* 本原创教程由芯驿电子科技(上海)有限公司(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满足汽车ESD和SEED要求
- Zynq UltraScale+ MPSoC中的隔离方法应用笔记
- Zynq UltraScale+ MPSoC生产勘误表
- Zynq UltraScale+ MPSoC数据手册:DC和AC开关特性
- Zynq UltraScale+ MPSoC验证数据手册
- Zynq UltraScale+ MPSoC:软件开发者指南
- Zynq UltraScale+ MPSoC中的隔离方法
- Zynq UltraScale+ MPSoC的隔离设计示例
- 适用于Xilinx Zynq UltraScale+ MPSoC应用的电源参考设计
- 米尔电子zynq ultrascale+ mpsoc底板外设资源清单分享
- 如何调试 Zynq UltraScale+ MPSoC VCU DDR 控制器?
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第一章 MPSoC芯片介绍
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第十二章 RS422实验
- Zynq UltraScale MPSOC数据手册免费下载 20次下载
- 如何使用Zynq UltraScale和MPSOC管理电源和性能资料说明 18次下载
- Xilinx ZYNQ UltraScale+系列产品介绍 2405次阅读
- FPGAs,Zynq和Zynq MPSoC器件的特点 2275次阅读
- 如何使用FPGA和RS485进行工业通信 4144次阅读
- 基于Xilinx Zynq ultraScale+ 系列FPGA的AXU2CGB 开发板评测 9051次阅读
- 米尔科技Zynq UltraScale+ MPSoC技术参考手册介绍 2975次阅读
- 详解Xilinx公司Zynq® UltraScale+™MPSoC产品 3184次阅读
- Xilinx Zynq UltraScale MPSoC可扩展电源设计 1950次阅读
- Zynq UltraScale+ MPSoC ZCU102评估套件解决方案 8640次阅读
- Enea OSE可实现对Xilinx UltraScale+ MPSoC的支持 2790次阅读
- Xilinx基于ARM的Zynq-7000和Zynq UltraScale+ MPSoC及RFSoC器件是否存在安全漏洞 2620次阅读
- 一文看懂RS485和ARINC485的区别 1.8w次阅读
- Zynq UltraScale+ MPSoC 上的多个Linux UIO设计 3219次阅读
- 深度解析RS485接口知识 2w次阅读
- 用ZYNQ MPSoC玩DOOM! 2539次阅读
- Ti推出面向Zynq UltraScale+ MPSoC的电源参考设计 3588次阅读
下载排行
本周
- 1HFSS电磁仿真设计应用详解PDF电子教程免费下载
- 24.30 MB | 128次下载 | 1 积分
- 2雷达的基本分类方法
- 1.25 MB | 4次下载 | 4 积分
- 3电感技术讲解
- 827.73 KB | 2次下载 | 免费
- 4从 MSP430™ MCU 到 MSPM0 MCU 的迁移指南
- 1.17MB | 2次下载 | 免费
- 5有源低通滤波器设计应用说明
- 1.12MB | 2次下载 | 免费
- 6RA-Eco-RA2E1-48PIN-V1.0开发板资料
- 35.59 MB | 2次下载 | 免费
- 7面向热插拔应用的 I2C 解决方案
- 685.57KB | 1次下载 | 免费
- 8爱普生有源晶体振荡器SG3225EEN应用于储能NPC、新能源
- 317.46 KB | 1次下载 | 免费
本月
- 12024年工控与通信行业上游发展趋势和热点解读
- 2.61 MB | 763次下载 | 免费
- 2HFSS电磁仿真设计应用详解PDF电子教程免费下载
- 24.30 MB | 128次下载 | 1 积分
- 3继电保护原理
- 2.80 MB | 36次下载 | 免费
- 4正激、反激、推挽、全桥、半桥区别和特点
- 0.91 MB | 32次下载 | 1 积分
- 5labview实现DBC在界面加载配置
- 0.57 MB | 21次下载 | 5 积分
- 6在设计中使用MOSFET瞬态热阻抗曲线
- 1.57MB | 15次下载 | 免费
- 7GBT 4706.1-2024家用和类似用途电器的安全第1部分:通用要求
- 7.43 MB | 14次下载 | 免费
- 8H桥中的电流感测
- 545.39KB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935113次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191360次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183329次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81578次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73804次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65985次下载 | 10 积分
评论
查看更多