- 博客(77)
- 资源 (3)
- 收藏
- 关注
原创 【JokerのKCU105】SGMII。
软件环境:vivado 2019.1 硬件平台:KCU105我之前一直以为,SGMII只能走GT BANK使用SFP口,直到很偶然的情况下,我发现了居然在普通的BANK走LVDS也行,不信邪的我一直想要试一试,恰巧我的一个好哥们儿(无中生友…)手上就有一块KCU105,接下来就记录下整个调试过程。在建立工程时候直接选择Board,然后搜索KCU105就行。新建block design,因为是基于KCU105的模板工程,所以IP的设定有更简单的操作,在最上方选择board,将DDR4 SD
2022-05-29 23:27:53
2267
12
原创 【JokerのNote】常用字符集与编码方式。
在介绍ASCII、GB2312、UNICODE、UTF-8、UTF-16等等之前,我觉得还是有必要先说下题目,什么是字符集,什么是编码方式。鄙人愚见,字符集就是字符的集合,如ASCII、GB2312、UNICODE等等,而编码方式指的是码值与字符集之间的映射关系,如对于UNICODE字符集,有UTF-8、UTF-16、UTF-32等编码方式。ASCII标准ASCII 码也叫基础ASCII码,使用7位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使
2022-04-29 19:33:00
6747
原创 【JokerのNote】Ethernet_Frame。
就是之前不是总结了下网络接口吗,这次继续顺着总结下网络帧格式。这里主要参考的是《计算机网络》这本书,书写的非常非常的好,感兴趣的朋友可以细翻一下,我这里只是当笔记做个总结。在介绍具体以太网帧格式之前,先对网络的层级和体系结构进行简单的说明。协议结构书本上经常看到和平时经常听到的是OSI的七层体系模型,每层都有清楚的概念和理论,但太复杂了,实际应用的比较多的,还是TCP/IP的四层体系结构。最右侧的五层体系模型,是方便介绍网络原理使用的。首先主机中运行不同的网络应用,需要有不同的应用层协议
2022-03-21 01:11:37
4088
原创 【JokerのZYNQ7020】DDS_Compiler。
软件环境:vivado 2019.1 硬件平台:XC7Z020对于自产生的正余弦数据源最常用的一般有两种办法,一种是通过matlab生成coe存到ram里,使用的时候播出来,另一种就是通过自带的DDS核来产生,今天就来说说DDS_Compiler这个IP核的用法和需要注意的事项,以下内容参考手册pg141,喜欢原汁原味儿的朋友可以下载查阅。核内部结构如下所示。接下来就对DDS参数配置相关含义进行说明。parameter selection中,共有两项可以选择, 分别为system p
2022-02-14 00:20:13
2093
原创 【JokerのNote】Ethernet_Interface。
将常用的网络接口总结一下,主要分为MAC与PHY之间的和PHY之前的,我们在说接口时,一定要注意接口所处的位置,MAC与PHY之间的接口大体上常用的有MII/GMII/RGMII/SGMII,PHY之前的常见接口主要分为1000BASE-T/1000BASE-X/1000BASE-TX,我会分别对这些进行说明,下面的图和介绍都是从88E1111这款PHY的手册上摘下来的,感兴趣的朋友可以具体翻翻该手册,我这里只是简单提下。MAC与PHY之间MII端口名称 端口含义 TX_ER
2022-01-31 01:12:55
5593
2
原创 【JokerのZYNQ7020】ZED_AD9361。
软件环境:vivado 2019.1 硬件平台:XC7Z020作为AD/DA标杆,感觉只要参与过一些AD/DA项目,基本避不开用ADI的片子。ADI的手册和资料做的也是,那叫一地道。所以今天就来说一说,如何针对某一款ADI的片子,生成ADI的例子工程,在这里我以AD9361的demo工程为例。由于是在windows平台进行工程编译,而ADI在github上提供的demo需要使用make生成,所以就需要在windows平台下有类似于linux的环境工具,来对demo工程进行make,我使用的是cygw
2021-12-31 20:57:12
2265
26
原创 【JokerのZYNQ7020】FLASH_TEST。
软件环境:vivado 2017.4 硬件平台:XC7Z020在实际项目中,写好的ZYNQ工程在debug测试完毕之后,固化到FLASH往往是最后一步,然而,在固化的过程中,往往并不都是一次就能成功的,而固化不成功的原因也很多,最直接的排查手段就是可以先做一下FLASH的读写测试,看下FLASH的访问是否正常。这里以镁光N25Q128为例子,说下常规FLASH的操作和测试过程,工程这边没什么特别需要注意的,用的是之前测试uartlite的工程,接口是QSPI Flash的。首先打开fla
2021-11-30 21:59:14
1672
2
原创 【JokerのZYNQ7020】DNA_PORT。
软件环境:vivado 2017.4 硬件平台:XC7Z020说起FPGA端最常用、最直接的加密手段,大概就是利用每个芯片独有的ID号 + 加密算法了,所以今天这篇,就来简单提一下如何获取7系列的每个芯片的DNA号。至于为什么说是7系列,是为了与ultrascale的方法区别开,在ultrascale下,这个码是96 bit的,而在7系列及以前,是57 bit的。第一种方法是利用JTAG。点击左侧的PROGRAM AND DEBUG后,利用JTAG连接板卡,在识别出的PL芯片...
2021-10-24 10:57:51
3311
30
原创 【JokerのZYNQ7020】PS_LWIP_POLL。
软件环境:vivado 2017.4 硬件平台:XC7Z020说起zynq平台下PS端的lwip实现机制,有可能很多老哥跟我一样,具体并不十分清楚,我自己也是在很偶然的情况下看了一篇帖子才知道,居然利用的是PS端的dma收发中断。结果好嘛,一回头再想找之前看的帖子,就找不到了,只能回来自己一点一点扒来试。过程太繁琐了,就不表了,就说一点,是不是用的dma中断,打个断点不就晓得啦。不过今天,我还就偏要板一板,如果不用dma,仅使用poll轮询机制,能不能把lwip的收发实现了。先说下...
2021-09-21 21:49:36
1199
4
原创 【JokerのZYNQ7020】USER_TYPE_ETH_LINUX
#include <stdio.h>#include <stdlib.h>#include <unistd.h> #include <string.h> #include <netdb.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <ne...
2021-08-10 00:32:57
225
原创 【JokerのZYNQ7020】TCP_ECHO_LINUX。
软件环境:vivado 2017.4 硬件平台:XC7Z020老样子,工程与上一篇UDP的和Uartlite的工程还是同一个工程,上篇说了udp数据收发,这篇自然而然的继续说tcp数据收发,共分两个部分,分别是tcp_server和tcp_client。先来看tcp_server代码。#include <stdlib.h>#include <sys/types.h>#include <stdio.h>#include <sys...
2021-07-07 23:04:51
455
6
原创 【JokerのZYNQ7020】UDP_ECHO_LINUX。
软件环境:vivado 2017.4 硬件平台:XC7Z020工程与前一篇linux下操作axi_uartlite用的是同一个工程,所以网口自然用的是PS端的网口,主要是想要说明zynq平台linux下怎样通过网口收发udp的数据。由于用的是PS端的网口,所以设备树中PS部分没有什么需要修改的地方,默认生成的就行。也没啥额外需要注意的,直接撸代码。#include <stdio.h>#include <string.h>#include <s...
2021-06-02 23:38:07
602
8
原创 【JokerのZYNQ7020】AXI_UARTLITE_LINUX。
软件环境:vivado 2017.4 硬件平台:XC7Z020工程还是上一篇的那个工程,今天说下怎么把axi_uartlite加到linux下,并使用起来。工程编译完成,生成设备树以后,看眼设备树pl.dtsi,确定是如下的样子。/ { amba_pl: amba_pl { #address-cells = <1>; #size-cells = <1>; compatible = "simple-bus"; ranges ; a...
2021-05-03 22:18:51
3174
25
原创 【JokerのZYNQ7020】REAL_BLOCK_DESIGN。
软件环境:vivado 2017.4 硬件平台:XC7Z020这个月的标题为啥要这样子起呢,是因为公司新入职了个同事,交流了以后才发现,卧槽!!!跟人家结构化的工程比起来,人家那模块搭的才叫真正的block_design啊,我自己工程之前一向都是牵扯到zynq核的,建一个block_design,zynq核之外的逻辑部分,都还是用.v写,然后写top组合到一起,所以今天就把这种结构化思想写一写,抛砖引玉,送给跟我之前编程习惯一样的朋友。...
2021-04-30 23:35:07
1538
6
原创 【JokerのZYNQ7020】AXI_UARTLITE。
软件环境:vivado 2017.4 硬件平台:XC7Z020本月的这一篇呢,主要说的是axi_uartlite这个模块,利用这个模块,我们可以将pl部分的pin复用为uart的rx和tx,交给ps来操作,相当于无形之中给ps扩展了许多uart接口,所以特别适用于板子需要跟许多外部串口设备通讯,而ps只有两个uart能同时使用,无法满足需求的情况。这篇里会先说SDK裸机程序怎么跑,后面会说linux下怎么利用这个模块与外部串口设备通讯。...
2021-03-31 23:46:18
3037
原创 【JokerのZYNQ7020】LWIP_UDP。
软件环境:vivado 2019.1 硬件平台:XC7Z020赶紧赶在二月的最后一天发一个简单却很实用的程序来把二月的坑补了。相信大家在用SDK测网口的时候,用的最多的就是TCP_ECHO_SERVER的例程了,这个例程是板卡做SERVER,跑TCP时候的测试例程,既然是ECHO_SERVER,自然就离不开建立连接,然后收到什么发出去什么。但是有些时候ECHO_SERVER连接建立不起来,想要进一步排查究竟是PHY的问题,或者是接收、发送通道问题的时候,ECHO_SERVER就没法直接使用...
2021-02-28 23:21:24
2438
13
原创 【JokerのKintex7325】Verilog_UART。
对,没错,这篇来说下纯verilog写的uart,乍一看这不是很简单吗,卖开发板的都会当例程来提供,而且网上也一搜就是一大堆,确实是这样没错,但是,不论是开发板的例程或者是网上搜的,当uart原理学习或功能验证还可以,但是想在项目里实际应用,还是有一定距离的,主要体现在功能太简单,而且上下层接口不完善,所以想干脆在这里,把最最基本的串口好好写写,写个工程上真正能用,也方便修改服用的东西。...
2021-01-31 17:55:04
219
原创 【JokerのZYNQ7020】SDK无串口DEBUG。
着实太惭愧了,2020年的最后一天,刚打开电视才想起来,12月的坑还没补,岂止12月,居然连11月的坑都还在,惭愧惭愧。提前祝大家新年快乐,代码没BUG。
2020-12-31 21:11:11
1833
原创 【JokerのKintex7325】DDR_TEST_PROGRAM。
软件环境:vivado 2017.4 硬件平台:XC7K325之前有发过一篇PL侧MIG的配置方式的博客,但是当时没有留测试代码,是再犹豫代码要不要统一搞GIT上,但是我这网不知道是咋了,老是代码同步不过去,火大的很,气的我就不搞了,过一段时间以后就。。。就忘了密码了,然后又找回来,又GIT不上去,又火大。。。循环循环循环,算了,干脆老样子,直接贴下面算了。...
2020-11-30 19:29:18
434
2
原创 【JokerのZYNQ7020】SDK_DDR数据导出。
软件环境:vivado 2017.4 硬件平台:XC7Z020是这个样子的,在做上一个1080p_hdmi显示测试的时候,刚开始一直出不来图像,就想着看看数据有没有从SD卡导进DDR,或者进DDR以后,是不是格式或者哪里存的不对,但是从传统的右下角的memory窗口看内存数据,看是能看到,却很难有个直观的感觉,在与其他人一起调工程的时候,也会有类似这种的问题,你说你数据按要求导进DDR了,你怎么证明?所以就想到了看有没有办法把数据从DDR里导出来,保存到外部,做数据分析来有个直观的结果。...
2020-09-21 19:56:01
4882
7
原创 【JokerのZYNQ7020】BMP_SHOW_1080p。
软件环境:vivado 2017.4 硬件平台:XC7Z020太丢脸了,7月最后一天了,工程还没准备好,先占个坑,不然每月一更就破例了...
2020-08-31 19:52:13
823
6
原创 【JokerのZYNQ7020】SDK程序运行时间。
软件环境:vivado 2017.4 硬件平台:XC7Z020好久都没更了,这次居然更个简单的,有点太不好意思了。怎么讲呢,虽然简单,但是也很实用好吧。在linux下,如果想知道一段程序、一个算法、一次通讯的时间,可以用gettimeofday(),那么就自然而然想到,如果程序裸跑在SDK下,有没有类似的函数,可以知道程序运行时间呢,然后找了找资料,也实验了下,最后在这里总结如下,工程用最简的工程就行。主要还是在SDK这边,使用的函数是XTime_GetTime(),使用前需包含...
2020-07-27 23:41:20
2218
原创 【JokerのZYNQ7020】LINUX_AXI_LITE。
软件环境:vivado 2017.4 硬件平台:XC7Z020嗯,原计划这次写写verilog的串口收发,但是,前阵子跟看我博客的铁子们交流,有个朋友说想看linux下,怎样通过axi_lite与PL端交互,安排!只记得之前写了linux下通过axi_stream进行大批量数据交互,对于小批量数据(类似于控制指令、写寄存器)交互,确实是该写的忘了写了,今天补上。今天的测试呢,准备这样做,搭建系统如下所示,包含今天需要测试的自建模块axi_lite_gpio,他下面的那个是个button...
2020-06-04 23:36:24
1506
2
原创 【JokerのKintex7325】FIFO。
软件环境:vivado 2017.4 硬件平台:XC7K325FIFO那可真是太常用了,不论是跨时钟域,或者是宽度转换。官方手册PG057,想细研究的话可以直接搜,或者懒得看英文,您就接着我这篇往下看。可以看到,读和写都有各自的域,独立的clk和rst信号,余下主要关心的信号见下表。在时序方面,首先要注意的就是复位,对于配置时不勾选安全电路的情况。复位需保...
2020-05-04 23:25:14
1778
原创 【JokerのKintex7325】ROM & RAM。
软件环境:vivado 2017.4 硬件平台:XC7K325昨天才说了fdatool工具箱结合FIR使用.coe文件加载系数的方法,今天继续说说coe文件的另外用法,基于block memory generator的ROM、RAM的使用。ROM先说下ROM吧, 使用的coe文件内容是8 bit的自增数。block memory generator配置如下。...
2020-04-19 23:46:38
343
原创 【JokerのKintex7325】FIR。
软件环境:vivado 2017.4 硬件平台:XC7K325这篇主要说下如何利用matlab中的fdatool设计滤波器与vivado中FIR(有限脉冲响应滤波器)核的实现。打开matlab以后,命令行输入fdatool,可以打开滤波器设计工具,如下。这里使用两种FIR滤波器参数,分别是加汉明窗、截止频率10 MHz、64阶的低通FIR滤波器。为了方便实验,采样频率使...
2020-04-19 01:20:13
383
原创 【JokerのZYNQ7020】Microblaze_interrupt。
软件环境:vivado 2017.4 硬件平台:XC7Z020噹噹~又到了每月一更的时间,我真的是在是太懒了,最近小实验是做了不少,但是一打开优快云,懒劲儿就上来了,只是回回评论就关了,也太违背初衷了,最近争取好好更一更新。今天这篇主要说下怎样在zynq平台的microblaze上实现外部中断,之前大概搜了下相关的博客,在zynq上跑microblaze的资料并不多,大多还...
2020-03-30 23:11:59
2798
8
原创 【JokerのZYNQ7020】Vxworks 6.9。
软件环境:vivado 2017.4 硬件平台:XC7Z020基本全程参考的官方xapp1158-zynq-7000-vxworks-bsp.pdf,但我感觉主要难度不在移植上,因为pdf里面写的已经非常详细了,而在于你是否有license能装vxworks,除了xapp1158之外,xapp1258-vxworks-7-bsp.pdf,也是一个相关的将vxworks移植到zyn...
2020-02-10 19:17:11
5217
13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人