在block design中主要是添加AXI UARTLite IP核,波特率设置为115200,ZYNQ的PL时钟设置为100M,注意不能超过AXI UARTLite核的最大时钟频率。 四、PS端控制实现 4.1、uartlite初始化 status=XUartLite_Initialize(&uartlite,UARTLITE_DEVICE_ID); 4.2、建立中断系统 完成中断控制器的初始化、设置uartlite的中断优先级、...
一、zynq7000的ps_uart zynq7000的ps_uart,属于I/O外设部分。从图中可以看出,ps端有两个uart的硬核控制器,硬件管脚的Tx和Rx的选择就比较多了,支持ps侧MIO和EMIO扩展至pl侧的普通IO。但是评估资源的时候需要注意总共就只有两个uart的硬核控制器,如果需要更多的串口,思路有很多种,比如:ps侧通过GPIO扩展串口,移植...
如果我们点击Import Examples,会弹出下图所示的导入示例界面,关于UART有5个示例,如下图所示: 图8.4.5 导入示例 感兴趣的朋友可以参考下官方提供的UART例程,其中xuartps_intr_example是串口中断的示例。这里我们不导入官方的例程,而是新建一个源文件。在uart_intr_loop/src目录上右键,选择New->Source File一栏。在弹...
执行File -> Export ->Export Hardware 因为UART是纯PS的操作,此步执行Export Hardware即可,不需要执行综合、实现步骤。 执行Launch SDK 打开SDK后的Project Explorer界面如下: SDK界面里面只有一些驱动,没有工程,所以要新建1个应用项目。 新建FSBL工程 File->New->Application Project,界面如下: Next后选择ZYNQ M...
前言 我们在使用 PS 的时候,通常会添加 UART 控制器,用于打印信息和调试代码。除此之外, PS 在和外部设备通信时,也会经常使用串口进行通信。先从UART控制器开始讲起吧,从简单的测试再到工程实例。 UART 控制器介绍 UART 控制器是一个全双工异步收发控制器, ZYNQ 内部
printf("\r\nEntering the XAdc PolledExample. \r\n"); /* * Initialize the XAdc driver. */ ConfigPtr= XAdcPs_LookupConfig(XAdcDeviceId); if(ConfigPtr == NULL) { returnXST_FAILURE; } XAdcPs_CfgInitialize(XAdcInstPtr,ConfigPtr,
因为UART是纯PS的操作,此步执行Export Hardware即可,不需要执行综合、实现步骤。 执行Launch SDK 打开SDK后的Project Explorer界面如下: SDK界面里面只有一些驱动,没有工程,所以要新建1个应用项目。 新建FSBL工程 File->New->Application Project,界面如下: ...
UART 的启动顺序如下: 复位UART控制器,在PS进行系统复位时进行控制器的复位。 配置IO 引脚信号。 配置UART 参考时钟(可以保护默认)。 配置控制器功能( UART 控制器初始化)。 配置中断,通过中断来管理 RxFIFO 和 TxFIFO。 配置串口模式控制(可选)。
下面还是代码说话吧,还是由于这次没机会用到,借鉴参考了Xilinx社区博主的代码,SDK中user_uart.h文件代码如下: #ifndef SRC_USER_UART_H_#define SRC_USER_UART_H_#include "xparameters.h"#include "xuartps.h"#include "xil_printf.h"#include "sleep.h"#define UART_DEVICE_ID XPAR_XUARTPS_0_DEVICE_...
PS/PL数据交互: 01.通常情况下,指的是PS向PL写入或者读取数据。一般通过AXI接口进行(AXI4/AXI4-LITE/AXI4-STREAM),偶尔通过GPIO(MIO/EMIO/AXI-GPIO)进行更少量数据传输。在简单测试中,PL端常用BRAM进行数据的读写。 PS主动访问PL常用接口说明: https://blog.csdn.net/kenjianqi1647/article/details/79183426...