查看: 1314|回复: 0

[评测分享] 【ALINX AXU2CGB试用】PL资源之串口

[复制链接]

该用户从未签到

发表于 2021-5-30 11:07:51 | 显示全部楼层 |阅读模式
分享到:

之前的工程中,资源基本上都是利用的PS资源,包括串口、网口、USB、DisplayPort,都是PS侧已经成熟化的资源,只需要在工程中设置MIO、时钟以及各种中断即可。但是这些资源比较比较固定,无法灵活的使用,这时就需要应用PL侧资源,一方面其非常灵活,另一方面也可以利用PL资源进行加速运算。这里已串口使用为例。

1.硬件工程

硬件工程图主要需要加入时钟、中断控制器、以及串口模块,串口的波特率可以设置,这里选择9600。硬件工程如下图所示。
工程.png
                              


基于上述工程,生成xsa文件,然后利用petalinux工具生成Linux系统,需进行如下设置:
petalinux-config-c kernel
---> DeviceDrivers ---> Character devices ---> Serial drivers ---> Xilinxuartlite serial port support
使能上述选项,一般默认是勾选的,此外也可以在.config文件中加入以下指令:
# integrate intothe kernel
CONFIG_SERIAL_UARTLITE=y
# build asloadable module
CONFIG_SERIAL_UARTLITE=m
然后还需设置设备树,生成的PL设备树如下所示:
             axi_uartlite_0: serial@80010000 {
                    clock-names ="s_axi_aclk";
                    clocks =<&misc_clk_0>;
                    compatible ="xlnx,axi-uartlite-2.0", "xlnx,xps-uartlite-1.00.a";
                    current-speed =<115200>;
                    device_type ="serial";
                    interrupt-names ="interrupt";
                    interrupt-parent =<&axi_intc_0>;
                    interrupts = <0 0>;
                    port-number = <1>;
                    reg = <0x0 0x80010000 0x00x10000>;
                    xlnx,baudrate =<0x1c200>;
                    xlnx,data-bits =<0x8>;
                    xlnx,odd-parity =<0x0>;
                    xlnx,s-axi-aclk-freq-hz-d ="100.0";
                    xlnx,use-parity =<0x0>;
             };
             axi_uartlite_1: serial@80020000 {
                    clock-names ="s_axi_aclk";
                    clocks =<&misc_clk_0>;
                    compatible ="xlnx,axi-uartlite-2.0", "xlnx,xps-uartlite-1.00.a";
                    current-speed =<9600>;
                    device_type ="serial";
                    interrupt-names ="interrupt";
                    interrupt-parent =<&axi_intc_0>;
                    interrupts = <1 0>;
                    port-number = <2>;
                    reg = <0x0 0x80020000 0x00x10000>;
                    xlnx,baudrate =<0x2580>;
                    xlnx,data-bits =<0x8>;
                    xlnx,odd-parity =<0x0>;
                    xlnx,s-axi-aclk-freq-hz-d ="100.0";
                    xlnx,use-parity =<0x0>;
             };
在system-user.dtsi中还需加入:
&axi_uartlite_0{
     status = "okay";
};
&axi_uartlite_1{
     status = "okay";
};
然后petalinux-build即可等待文件的生成。
二、实验
将相应的管脚插入,并连接电脑,详细如图所示:
绘图2.jpg
连接上电脑之后,即可发送和接收数据,
发送的指令为:
echo “XXX”/dev/ttyUL2
接受的指令为:
cat /dev/ttyUL2&
板卡发送和接收的界面如图:
串口发送.png
PC发送和接收的情况如下:
串接接收.png
发送和接收正常。

回复

使用道具 举报

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

本版积分规则

关闭

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

手机版|小黑屋|与非网

GMT+8, 2024-11-27 00:30 , Processed in 0.118071 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.