judy的博客

ZCU102(4)——AXI_GPIO实现按钮控制LED及PS响应PL中断

AXI GPIO模块将PL端连接的GPIO信号通过AXI接口与PS模块连接,PS通过AXI接口的地址映射对PL端的GPIO信号进行读写等控制。与EMIO可以实现相同的功能,区别主要在于EMIO对于少数GPIO接口进行单独的控制,而AXI GPIO可以对多个GPIO接口合并成的总线进行整体读写控制。

学会Zynq(19)TCP发送Hello World(server模式)

上文介绍了用TCP发送“Hello World”的实例,工作在client模式下。本文实现同样的功能,但让TCP工作在server模式下。把开发板当作服务器,远程主机为客服端访问服务器,实现被动连接。TCP client和TCP server在lwIP中的连接流程和区别可参考本系列前面与lwIP相关的文章

重温FPGA设计流程一:(IP封装)

一、IP封装:1、打开Vivado,点击Create Project。2、点击Next,在Project name中输入我们的项目名称:74LS00。3、点击Next,默认勾选Do not specify…4、点击Next,核对信息,然后点击Finish。5、在空白工程中,左侧Flow Navigator中,选择PROJECT MANAGER下的Add Source。

Petalinux制作linux系统

这里引用的u-boot,kernel,busybox版本分别是:
u-boot : U-Boot 2017.01
kernel : 4.9.0-xilinx-v2017.4
busybox : BusyBox v1.24.1

ZCU102(3)——EMIO实现按钮控制LED

根据Zynq MPSOC的设计,EMIO占用GPIO BANK3至5的全部32位,对应GPIO的序号78至174,共96个EMIO但是在PS模块中引出的PL中断会默认占用高序号值的EMIO,如本实验中PS模块的pl_resetn0复位信号占用了序号174的EMIO

学会Zynq(18)TCP发送Hello World(client模式)

TCP的工作机制比UDP要复杂的多。本文介绍用TCP发送“Hello World”的实例,讨论程序设计中几个关键的问题。本文撰写思路假设您已经阅读了本系列前几篇与lwIP、UDP相关的文章,重复性语言不过多描述。本文TCP工作在client模式。TCP内容较多,后面的文章会逐步深入介绍

Xilinx BlockRam(Bram)的结构与读逻辑解释

bram的由很多latches和寄存器构成的bram块构成,通过Mux数据选择器,将数据送入输出寄存器,最终输出。由此图可知,bram的reset仅仅对输出寄存器重置,而不会重置内部存储数据

ZCU102(2)——PS端使用UART通信

本文档继承zcu102_1建立的工程,打开Vivado工程后,打开Block Design,双击zynq模块进入配置界面。在PS UltraScale+ Block Design页可以看到UART0和UART1已使能。

学会Zynq(17)pbuf操作函数介绍与示例程序

从前面几个UDP的程序实例中我们可以体会到pbuf的重要性,对pbuf的灵活操作也是完成程序功能和提高代码效率的关键。本篇总结lwip的pbuf.c中的常用函数并给出示例程序,其中部分函数和string.h文件中提供的传统内存操作函数功能相同

FPGA与ADC的SPI配置实战篇(3)——AD9249三线SPI配置

本篇咱们继续以ADI公司的多通道高速ADC—AD9249为实例,向大家演示FPGA是如何通过SPI协议向该ADC读写寄存器配置数据的。如下图所示为AD9249的功能框图,其为16通道、65MSPS、14bit精度的多通道高速ADC,且其SPI接口只为三线模式