xilinx zynq-7000 linux下rs422串口通信测试步骤

2023-05-16

这几天使用xilinx的zynq-7000系列调试rs422串口,期间遇到不少问题,好在最终调试完成,在这里记录一下调试步骤。

我用的soc型号是xc7z100,板载了2个rs422外设,PS端有2个uart控制器,uart0用于连接rs232并作为console控制台输出,uart1连接rs422。

   rs422和主板连线原理图如下:

 

其中422_TXD1_3V3 和422_RXD1_3V3 为数据发送和接收引脚,422_TXD_DE1_3V3为发送使能引脚,422_RXD_REn1_3V3为接收使能引脚,注意rs232是没有收发使能的,调试rs422一定要进行收发使能配置,高电平使能发送,低电平使能接收。

上图为两个rs422器件的收发引脚连接到PL端的引脚为 W30,V27和W28, W25

上图为收发使能引脚与PL端引脚的连接

了解原理图,下面外面通过xilinx的vivado软件进行PS工程配置。

1,PS端uart1控制器配置,如下图,选择EMIO

 

2,对uart1控制器绑定rs422的收发引脚,同时通过axi-gpio 绑定到rs422的发送使能和接收使能引脚,如下去红圈所示。

 

3,通过vivado生成bit文件,通过u-boot加载bit文件,生成物理电路。linux系统启动后uart1和uart2会在/dev目录下生成对应的设备文件ttyPS0和ttyPS1, 其中ttyPS1就是rs422对应的设备文件,对该文件进行读写即可测试rs422的数据收发,代码涉及文件较多,不贴代码了,点击下面连接下载。

rs422测试代码

4,通过usb转422设备连接开发板和电脑端的usb口,打开对应的串口终端,我的对应的是COM10, rs232对应的console控制终端是COM8, 在console控制台执行收发测试的应用422read或422write进行数据收发测试即可。

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

xilinx zynq-7000 linux下rs422串口通信测试步骤 的相关文章

随机推荐