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-软件资料\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

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

源码直接下载地址: https://pan.quark.cn/s/d280357b18e5 在网页构建领域中,HTML5被视为当代网页工程的基础规范,其问世显著增强了页面的视觉表现力与用户互动性。本工程致力于运用HTML5技术开发一个电视剧信息展示页面,目的是呈现诸如剧名、演员构成、故事梗概等电视剧关键资料。接下来将深入阐释如何借助HTML5的结构化组件和样式管理功能达成此项目目标。 我们必须掌握HTML5的核心框架。一个规范的HTML5文档一般包含`<!DOCTYPE html>`声明、`<html>`根标记、`<head>`头部标记和`<body>`主体标记。在头部区域,可以配置网页的基本元数据,例如字符集设定、页面标题等。在主体部分,将具体构建电视剧信息列表的内容。 电视剧展示页面通常包含多个条目,每个条目对应一部电视剧。HTML5中的`<section>`标记用于内容模块化,适合表示单个电视剧的详细信息区域。每个`<section>`内部,可使用`<h2>`标题标记显示剧名,`<img>`图像标记插入宣传剧照,`<p>`段落标记呈现剧情介绍,而`<ul>`无序列表与`<li>`列表项标记则用于罗列演员阵容。 为了优化页面布局,需要借助CSS(层叠样式表)进行样式管理。HTML5引入了创新的CSS选择器与布局模型,例如Flexbox和Grid,使页面布局更加灵活多变。在此场景下,可以利用Flexbox为电视剧信息列表实现自适应布局,保障在不同设备尺寸下均能呈现理想视觉效果。具体操作时,可将`<section>`标记设定为Flex容器,通过`display: flex;`属性,并运用`justify-content`和`align-items`属性调整子元素的对...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tronlong创龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值