xilinxzynq-7000linux下rs422串⼝通信测试步骤
代雨映这⼏天使⽤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
双n
上图为收发使能引脚与PL端引脚的连接
了解原理图,下⾯外⾯通过xilinx的vivado软件进⾏PS⼯程配置。
赵如珍>石碳酸
1,PS端uart1控制器配置,如下图,选择EMIO
2,对uart1控制器绑定rs422的收发引脚,同时通过axi-gpio 绑定到rs422的发送使能和接收使能引脚,如下去红圈所⽰。e2100c
3,通过vivado⽣成bit⽂件,通过u-boot加载bit⽂件,⽣成物理电路。linux系统启动后uart1和uart2会
在/dev⽬录下⽣成对应的设备⽂件ttyPS0和ttyPS1, 其中ttyPS1就是rs422对应的设备⽂件,对该⽂件进⾏读写即可测试rs422的数据收发,代码涉及⽂件较多,不贴代码了,点击下⾯连接下载。 4,通过usb转422设备连接开发板和电脑端的usb⼝,打开对应的串⼝终端,我的对应的是COM10, rs232对应的console控制终端是COM8, 在console控制台执⾏收发测试的应⽤422read或422write进⾏数据收发测试即可。