回答

收藏

[原创] DR1 系列核心板 PS+PL 异构多核实战案例手册(二)

创龙科技 创龙科技 155 人阅读 | 0 人回复 | 2026-01-15

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-软件资料\Linux\FSBL\fsbl-[版本号]\”目录下的FSBL工程。


图 20

(2)AXI UARTLite。  
本案例工程使用了4个AXI UARTLite IP核,4个AXI UARTLite IP核的配置均相同。


图 21

(3)AXI Protocol 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
由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注创龙科技微信公众号或官网,或者评论区留言,感谢您的支持!


分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条