一、zynq7000的ps_uart zynq7000的ps_uart,属于I/O外设部分。从图中可以看出,ps端有两个uart的硬核控制器,硬件管脚的Tx和Rx的选择就比较多了,支持ps侧MIO和EMIO扩展至pl侧的普通IO。但是评估资源的时候需要注意总共就只有两个uart的硬核控制器,如果需要更多的串口,思路有很多种,比如:ps侧通过GPIO扩展串口,移植...
在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的中断优先级、...
从下述图中可以看出,PS和PL之间的硬件路由支持的连接方式是EMIO接口。 二、PL侧EMIO自定义串口引脚 PL侧的普通IO要实现PS侧的QSPI的在线更新,此处提供两种实现思路:一是通过EMIO路由的方式,采用PS侧成熟的UART和QSPI的控制,从而实现PS侧的QSPI flash的更新。二是在PL侧实现一个串口的接收BIN文件的驱动,更新至PS侧...
注释完冗余的读状态内的写寄存器,再把写状态内的读寄存器注释掉,只保留第24个寄存器是PL向PS写数据。 最后在顶层添加接口 保存后,一次点击下面完成IP核的封装,再打包IP核 创建一个Block Design,添加ZYNQ IP与上面自定义的AXI-Lite IP核,打开ZYNQ的UART通信接口(具体操作可以看正点原子领航则SDK指导教程)再配置好D...
2.2、我们这篇文章是PS开发流程,关于PS-PL Configuration 配置在这里保持默认,在后面的实验中我再补充 2.3、外设配置,ZYNQ 的 PS 端外设很多是复用的 ,同一引脚可以配置为不同的功能 zynq内部只有2个串口,UART0、UART1、我们看UART0可以接在(10、11)/(14、15)/(18、19)/(22、23)/(26、27) ...
开启UART0外设,使用EMIO引脚(UART0的MIO引脚没有在板子上引出)。 开启PS7的AXI GP0 Master Port。(PS7通过AXI GP接口对BRAM进行操作) ARM Core频率配置为200MHz,DDR频率配置为200MHz。 PL Fabric Clock配置为100MHz。 2、Block RAM。 BRAM不能直接与PS7相连,需要用AXI BRAM Controller进行转换。AXI读写接口规...
Zynq是一款SOC芯片,之前只是用了PL(Programmable Logic)部分,而Zynq最突出的功能,就是内部的双核Cortex-A9,所以从现在开始我将学习ZYNQ的SOC学习(PS部分)。 本文记录的是熟悉Zynq的PS(Processor Subsystem)部分使用方法,了解开发板资源,做一个最小系统Hellow world,使用资源有ARM Cortex-A9、DDR3内存、一个UART串口。
本文主要介绍ZYNQ PS + PL异构多核案例的使用说明,适用开发环境:Windows7/10 64bit、Xilinx Vivado 2017.4、XilinxSDK2017.4。其中测试板卡为TMS320C6678开发板,文章内容包含多个特色案例,如axi_gpio_led_demo案例、axi_timer_pwm_demo案例、axi_uart_demo案例、emio_gpio_led_demo案例、mig_dma案例等,由于篇幅过长...
1、MIO直接挂在PS上,而EMIO与PL相连,PS通过PL调用EMIO。MIO共有54bit,EMIO共有64bit。 MIO管脚是固定的,而EMIO需要通过管脚约束文件进行分配。MIO、EMIO管脚号均通过实际原理图查找。 2、AXI_GPIO是通过AXI总线挂在PS上的GPIO,一般通过调用IP核实现,如PS通过AXI_Uartlite调用PL端资源。
1、MIO直接挂在PS上,而EMIO与PL相连,PS通过PL调用EMIO。MIO共有54bit,EMIO共有64bit。 MIO管脚是固定的,而EMIO需要通过管脚约束文件进行分配。MIO、EMIO管脚号均通过实际原理图查找。 2、AXI_GPIO是通过AXI总线挂在PS上的GPIO,一般通过调用IP核实现,如PS通过AXI_Uartlite调用PL端资源。