DR1 系列核心板 PS+PL 异构多核实战案例手册(二)
2 axi_uart_rw案例
案例功能:PS端通过AXI4-Lite总线控制PL端AXI UARTLite IP核进行数据收发,以此来演示评估板上RS485、RS422和RS232的串口收发功能。
图 15
图 16
图 17
工程管脚约束可查看工程文件"constrains"目录下的.adc约束文件。
2.1 TD工程说明
工程在PL端上使用AXI UARTLite IP核,ARM Processor System IP核(PS端)通过AXI4-Lite总线控制PL端AXI UARTLite IP核进行数据收发,Design Integrator工程和地址分配如下:
图 18
图 19
2.2 IP核简介
IP核开发相关资料可查阅产品资料“6-开发参考资料Anlogic官方参考文档”目录下文档,IP核配置参数如下。
(1)ARM Processor System。
ARM Processor System IP核心配置和FSBL工程基本一致,仅修改GPIO PL(Width)的值为4,并从顶层引出,绑定管脚D15、B19、C19、D18,用于流控两个RS485及一个RS422。其他详细配置可参考位于产品资料“4-软件资料LinuxFSBLfsbl-[版本号]”目录下的FSBL工程。
图 20
(2)AXI UARTLite。
本案例工程使用了4个AXI UARTLite IP核,4个AXI UARTLite IP核的配置均相同。
图 21
(3)AXIProtocol Converter。
图 22
(4)AXI Matrix。
图 23
图 24
图 25
2.3 案例测试
将本案例的动态设备树镜像文件pl.dtbo和PL端.bit镜像文件拷贝至"/lib/firmware/"目录下(若该目录不存在,请新建),并将PL端可执行文件重命名为system_wrapper.bit,然后执行如下命令加载PL端镜像。
Target# mkdir -p /lib/firmware
Target# cp pl.dtbo /lib/firmware/
Target# cp axi_uart_rw_dr1m90.bit /lib/firmware/system_wrapper.bit
Target# mount -t configfs none /sys/kernel/config
Target# mkdir /sys/kernel/config/device-tree/overlays/full //创建full目录,可根据实际情况修改
Target# echo pl.dtbo > /sys/kernel/config/device-tree/overlays/full/path //dtbo文件名称请根据实际情况修改
图 26
(1)RS232测试
请通过RS232交叉串口母线、USB转RS232公头串口线,将评估板的RS232调试串口连接至PC机的USB接口,如下图所示。
图 27
执行如下命令,调整RS232串口通信参数。
Target# stty -F /dev/ttySL0 115200 cs8 -cstopb -parenb -crtscts clocal raw -echo
图 28
a)评估板接收
打开设备管理器,本次测试中调试串口USB TO UART1端口号为COM13,RS232串口的端口号为COM16,如下图所示。
图 29
打开调试串口终端,COM16波特率设为115200,8N1,无校验位。COM13波特率设为115200,8N1,无校验位,并建立串口连接。评估板调试串口终端执行如下命令,评估板等待接收上位机发送的数据。
Target# cat /dev/ttySL0
图 30
在RS232串口终端点击"View -> Command (Chat) Window",选中并打开"Command (Chat) Window"窗口。
图 31
在窗口中输入数据,例如"Tronlong",再按回车键。
图 32
评估板调试串口终端将会打印接收到的数据。
图 33
b)评估板发送
执行如下命令,评估板通过RS232串口发送数据至上位机。
Target# echo tronlong > /dev/ttySL0
图 34
RS232串口终端将会打印接收到的数据,如下图所示。
图 35
(2)RS485串口测试
使用RS232转RS485模块、USB转RS232公头串口线,将评估板RS485串口连接至PC机的USB接口,硬件连接如下图所示。
RS232转RS485模块与评估板RS485串口硬件连接关系如下表所示。

图 36
本章节以RS485串口(设备节点为:ttySL2)为例进行演示。如需测试RS485另一个串口,请将设备节点修改为ttySL3。
执行如下命令,调整RS485串口通信参数。
Target# stty -F /dev/ttySL2 115200 cs8 -cstopb -parenb -crtscts clocal raw -echo
图 37
a)评估板接收
打开设备管理器,本次测试中调试串口USB TO UART1端口号为COM13,RS485串口的端口号为COM16,如下图所示。
图 38
评估板调试串口终端执行如下命令,评估板等待接收上位机发送的数据。
Target# cat /dev/ttySL2
图 39
在RS485串口终端点击"View -> Command (Chat) Window",选中并打开"Command (Chat) Window"窗口。
图 40
在窗口中输入数据,例如"Tronlong",再按回车键。
图 41
评估板调试串口终端将会打印接收到的数据。
图 42
b)评估板发送
执行如下命令,评估板通过RS485串口发送数据至上位机。
Target# echo tronlong > /dev/ttySL2
图 43
RS485 UART3串口终端将会打印接收到的数据,如下图所示。
图 44
(3)RS422串口测试
使用RS232转RS485/RS422模块、USB转RS232公头串口线,将评估板RS422串口连接至PC机的USB接口,硬件连接如下图所示。
RS232转RS485/RS422模块与评估板RS422串口硬件连接关系如下表所示。

图 45
本章节以RS422串口(设备节点为:ttySL1)为例进行演示。执行如下命令,配置RS422端口的RE_n管脚为低电平。
Target# echo 421 > /sys/class/gpio/export
Target# echo out > /sys/class/gpio/gpio421/direction
Target# echo 0 > /sys/class/gpio/gpio421/value
图 46
执行如下命令,配置RS422端口的DE管脚为高电平。
Target# echo 420 > /sys/class/gpio/export
Target# echo out > /sys/class/gpio/gpio420/direction
Target# echo 1 > /sys/class/gpio/gpio420/value
图 47
执行如下命令,调整RS422串口通信参数。
Target# stty -F /dev/ttySL1 115200 cs8 -cstopb -parenb -crtscts clocal raw -echo
图 48
a)评估板接收
打开设备管理器,本次测试中调试串口USB TO UART1端口号为COM13,RS422串口的端口号为COM16,如下图所示。
图 49
评估板调试串口终端执行如下命令,评估板等待接收上位机发送的数据。
Target# cat /dev/ttySL1
图 50
在RS422串口终端点击"View -> Command (Chat) Window",选中并打开"Command (Chat) Window"窗口。
图 51
在窗口中输入数据,例如"Tronlong",再按回车键。
图 52
评估板调试串口终端将会打印接收到的数据。
图 53
b)评估板发送
执行如下命令,评估板通过RS422串口发送数据至上位机。
Target# echo tronlong > /dev/ttySL1
图 54
RS422串口终端将会打印接收到的数据,如下图所示。
图 55
由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注创龙科技微信公众号或官网,或者评论区留言,感谢您的支持!
审核编辑 黄宇
2026-01-16 11:44:05
目录 返回
首页
