自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (6)
  • 收藏
  • 关注

原创 ZYNQ-Utlscale-RFSOC看门狗

ZYNQ-Utlscale-RFSOC 看门狗的程序网上里程很少,开源资料也是几乎没有,最近需要用到这个功能,来来回回搞了一周才搞定。刚开始参考ZYNQ7000的资源,发现MPSOC不适用。很感谢下面的几篇文章,给我很大的 帮助,我也是整合他们的代码,完成了该功能。

2024-09-01 13:59:39 929

原创 ZYNQ—vitis—网口传输信号波形数据

ADC采集信号,将波形数据通过BRAM传输到PS端,然后用UDP以太网发送

2024-08-15 16:49:26 573

原创 AURORA仿真

​ GT Refclk:该时钟是收发器的参考时钟,由外部一对差分输入时钟输入进来,取125MHZ。​ INT Clk:初始化时钟,作为复位信号的一个时钟,可以由锁相环直接得到,取50MHZ。接下来例化了两次AURORA,一个是接收,另一个是发送。上面的tb代码,仿真了两个AURORA传输数据的功能。上面只是例化了这个IP核,把有用的信号引出来。首先,产生一个125MHZ的时钟。这里主要注意时钟的设计和线程的安排。使用锁相环产生50MHZ时钟。

2024-07-09 13:23:05 777

原创 PL_to_PS中断传输数据

实验功能:将PL端的数据存入BRAM,然后在PS端读出数据,用串口打印。通过中断来触发

2024-04-19 15:35:26 800 3

原创 RFSoC初步认识

RFSOC射频数据转换器;RFSOC初步认识功能

2024-03-11 10:40:19 2492

原创 用FPGA CORDIC IP核实现信号的相位检测,计算相位角

用FPGA CORDIC IP核实现信号的相位检测,计算相位角

2024-03-04 10:55:18 3502 3

原创 用PS控制PL_DDR读写测试

项目功能:用PS端通过AXI4总线来控制PL端DDR的读写测试,并且改变测试频率,检测芯片性能。目的:用PS端方便改写程序,烧录可以节省很多时间。

2024-02-28 16:07:50 2019

原创 AD9851——FPGA调试(并行模式)

使用FPGA来调试AD9851芯片,使用的是并行模式

2024-02-28 15:52:48 1904 2

原创 FPGA串口接收解帧、并逐帧发送有效数据-2

将数据打包发送,发送帧头+接收端解帧后的有效数据+帧尾

2023-12-02 16:29:43 1880 2

原创 FPGA串口接收解帧、并逐帧发送有效数据——1

FPGA串口接收到串口调试助手发来的数据,将其数据解帧。判断到正确的帧头和帧尾之后,将有效数据存入rx_data中;另一方面发送端将有效数据逐帧发送出去。

2023-12-01 12:51:47 2522 3

原创 TCP解帧解码、并发送有效数据到FPGA

使用TCP协议接收到网络调试助手发来的指令,将指令进行解帧,提取出帧头、有限数据、帧尾;再将有效数据发送到FPGA端的BRAM上,实现信息传递。

2023-11-30 21:52:49 1825 1

原创 Verilog 实现状态机自动售卖机

【代码】Verilog 实现状态机自动售卖机。

2023-08-25 15:49:33 967 5

原创 Verilog 实现超声波测距

【代码】Verilog 实现超声波测距。

2023-08-25 15:45:38 1125 2

原创 Verilog语法学习——边沿检测

【代码】Verilog语法学习——边沿检测。

2023-08-23 17:58:23 1299 4

原创 Verilog语法学习——LV10_使用函数实现数据大小端转换

数据的大小端(Endianness)指的是在存储多字节的数据类型(如整数)时,字节的顺序以及如何解释这些字节的顺序。具体来说,大小端涉及字节的排列顺序,以及如何将字节序列解释为一个完整的数据类型。在数字芯片设计中,经常把实现特定功能的模块编写成函数,在需要的时候再在主模块中调用,以提高代码的复用性和提高设计的层次,分别后续的修改。大端字节序是指将高位字节存储在低地址处,而将低位字节存储在高地址处。小端字节序是指将低位字节存储在低地址处,而将高位字节存储在高地址处。的函数,它接受两个4位的输入参数。

2023-07-28 10:07:20 1055

原创 Verilog语法学习——LV9_使用子模块实现三输入数的大小比较

请编写一个子模块,将输入两个8bit位宽的变量data_a,data_b,并输出data_a,data_b之中较小的数。并在主模块中例化,实现输出三个8bit输入信号的最小值的功能。在数字芯片设计中,通常把完成特定功能且相对独立的代码编写成子模块,在需要的时候再在主模块中例化使用,以提高代码的可复用性和设计的层次性,方便后续的修改。通过将子模块实例化到另一个模块中,可以在主模块中使用子模块。例化一个模块,该模块比较两个输入的大小,并输出较小的数。d:8bit位宽的无符号数,表示a,b,c中的最小值。

2023-07-28 10:06:20 1460

原创 Verilog语法学习——LV8_使用generate…for语句简化代码

在某个module中包含了很多相似的连续赋值语句,请使用generata…for语句编写代码,替代该语句,要求不能改变原module的功能。循环结合使用,可以生成硬件设计中的重复结构,以简化代码编写和提高可维护性。下面是一种常见的使用。是一种特殊的Verilog数据类型,用于在生成块中声明循环变量。是一个参数,表示循环的迭代次数,可以根据实际需求进行调整。关键字定义一个生成块,用于包含需要生成的相关代码。循环的语法类似于常规的软件编程语言中的循环语句。循环语句定义需要重复的结构。在Verilog中,

2023-07-28 10:05:14 346

原创 Verilog语法学习——LV7_求两个数的差值

根据输入信号a,b的大小关系,求解两个数的差值:输入信号a,b为8bit位宽的无符号数。如果a>b,则输出a-b,如果a≤b,则输出b-a。rst_n:复位信号,低电平有效。a,b:8bit位宽的无符号数。c:8bit位宽的无符号数。

2023-07-28 10:04:13 734

原创 Verilog语法学习——LV6_多功能数据处理器

根据指示信号select的不同,对输入信号a,b实现不同的运算。输入信号a,b为8bit有符号数,当select信号为0,输出a;当select信号为1,输出b;当select信号为2,输出a+b;当select信号为3,输出a-b.select:2bit位宽的无符号数。rst_n:复位信号,低电平有效。a,b:8bit位宽的有符号数。c:9bit位宽的有符号数。

2023-07-28 10:03:00 1080

原创 Verilog语法学习——LV5_位拆分与运算

现在输入了一个压缩的16位数据,其实际上包含了四个数据,[3:0],[7:4],[11:8],[15:12]现在请按照sel选择输出四个数据的相加结果,并输出valid_out信号(在不输出时候拉低)在testbench中,clk为周期5ns的时钟,rst为低电平复位。输出信号 validout out。0: 不输出且只有此时的输入有效。3:输出[3:0]+[15:12]输入信号 d, clk, rst。2:输出[3:0]+[11:8]1:输出[3:0]+[7:4]

2023-07-28 10:01:20 610

原创 Verilog语法学习——LV4_移位运算与乘法

已知d为一个8位数,请在每个时钟周期分别输出该数乘1/3/7/8,并输出一个信号通知此时刻输入的d有效(d给出的信号的上升沿表示写入有效)在每个case中,根据当前的状态值执行相应的操作。每个case对应一个状态,并描述在该状态下的行为。在testbench中,clk为周期5ns的时钟,rst为低电平复位。,用于存储当前状态的值。状态寄存器通常是一个有限状态机中的关键变量。语句根据当前的状态值执行相应的操作。在时钟的上升沿触发该。在Verilog中,可以使用。首先,声明一个状态寄存器。

2023-07-28 09:58:41 1072

原创 Verilog语法学习——LV3_奇偶校验

现在需要对输入的32位数据进行奇偶校验,根据sel输出校验结果(1输出奇校验,0输出偶校验)输入信号 bus sel。输出信号 check。

2023-07-28 09:56:45 260

原创 Verilog语法学习——LV2_异步复位的串联T触发器

在testbench中,clk为周期5ns的时钟,rst为低电平复位。输入信号 data, clk, rst。

2023-07-28 09:55:43 1036

原创 Verilog语法学习——LV1_四选一多路器

制作一个四选一的多路选择器,要求输出定义上为线网类型。输入信号 d1,d2,d3,d4 sel。输出信号 mux_out。

2023-07-28 09:54:13 392

原创 ZYNQ学习笔记——15_AXI_DMA

AXI DMA简介​ 概述​ AXI DMA:AXI Direct Memory Access 直接内存访问​ AXI MDA 为内存和AXI4—Stream 外设之间提供了高带宽的直接内存访问​ 其可选的S/G功能可以将CPU从数据搬运任务中解放出来。​ AXI DMA 通过AXI4—Lite接口对寄存器做一些配置和获取。​ MM2S:MemoryMap to Stream ,存储器映射(AXI4—Full)到 AXI4—Stream。

2023-07-22 15:22:32 1564

原创 ZYNQ学习笔记——14_AXI4_DDR实验

实验现象:在串口中输入“c”,程序会打印从 DDR3 中读出数据,串口打印出了 DDR3 存储空间中从地址 0x1000_0000 开始的 1024 个数据,每个数据 占 4 个字节;开发板上电后,在没对该地址空间进行写操作之前,DDR3 中的数据是随机的。按下按键,LED1点亮,再次输入“c”,DDR3 中指定的 4KB 存储空间中读出的数据依次为 1 到 1024, 与 AXI4_RW_TEST IP 核写入的数据一致。正点原子 启明星ZYNQ之嵌入式SDK开发指南_V2.0.pdf。

2023-07-21 17:51:27 612

原创 ZYNQ学习笔记——13_AXI接口简介

什么是AXI?​ AXI(高级可扩展接口),是ARM AMBA的一部分;​ AMBA:高级微控制器总线架构:是1996年首次引入的一组微控制器总线;开放的片内互联的总线标准,能在多主机设计中实现多个控制器和外围设备之间的连接和管理。AXI三种类型AXI4(AXI4—Full):用于高性能的存储器映射需求;(存储器映射:主机对从机进行读写操作时,指定一个目标地址,这个地址对应系统存储空间的地址,表示对该空间进行读写操作)AXI4—Lite:简化版的AXI4接口,用于低吞吐率存储器映射的通信。

2023-07-20 14:10:07 239

原创 ZYNQ学习笔记——12_ps_pl_bram实验

使用 PYNQ-Z2开发板。

2023-07-19 18:02:56 384 1

原创 ZYNQ学习笔记——11_QSIP_FLASH实验

在“Hello Wold”实验的基础上增加了一个 QSPI Flash 控制器.

2023-07-19 10:48:42 886

原创 ZYNQ学习笔记——10_xadc实验

与“hello world”实验相同,只配置UART0外设。串口打印的数据,有时会莫名出现乱码。但是如果出现的概率很小,可忽略。

2023-07-18 21:58:19 447

原创 ZYNQ学习笔记——9_定时器中断实验

PYNQ_Z2开发板。

2023-07-18 16:19:06 364 1

原创 ZYNQ学习笔记——8_uart串口中断

多练习,熟悉调用函数的步骤和含义主要会使用串口中断,能化为己有。

2023-07-17 20:56:16 742 1

原创 ZYNQ学习笔记——7_ZYNQ程序固化实验

vitis版本,使用Flash固化。

2023-07-15 10:59:54 818 1

原创 ZYNQ学习笔记——6_自定义IP_led实验

较为重要。

2023-07-14 15:38:50 293 1

原创 ZYNQ学习笔记——5.AXI_GPIO实验

AXI(高级可扩展接口)是一种高性能、低功耗的总线协议,用于在不同的硬件模块之间进行通信。PS和PL之间的连接通常使用AXI接口,以实现数据传输和控制信号的交换。这种连接方式可以实现高速数据传输和灵活的系统集成,使得PS和PL之间可以进行有效的通信和协作。

2023-07-13 20:23:37 2426 1

原创 ZYNQ学习笔记——4.GPIO_MIO中断实验

INT_MASK:只读的,显示哪些位当前被屏蔽,哪些位未被屏蔽/启用。INT_EN:向该寄存器的任何位写入1,可以启用/解除中断信号的掩码。从该寄存器读取将返回一个不 可预测的值。INT_DIS:向该寄存器的任何位写入 1 都会屏蔽该中断信号。从该寄存器读取会返回不可预测的值。INT_STAT:该寄存器显示是否发生了中断事件。将 1 写入该寄存器中的某个位可清除该位的中断状态。将 0 写入该寄存器中的某个位将被忽略。INT_TYPE:控制中断是边沿敏感还是电平敏感。

2023-07-12 15:42:34 340 1

原创 ZYNQ学习笔记——3.GPIO_EMIO实验

PS和外部设备之间的通信主要是通过复用的I/O实现的(Multiplexed Input/Output,MIO)。此外,PS还可以通过扩展的MIO(Extended MIO,EMIO)来实现与外部设备的连接。ZYNQ GPIO 接口信号被分成四组,分别是从 BANK0 到 BANK3。其中 BANK0 和 BANK1 中共计 54 个信号通过 MIO 连接到 ZYNQ 器件的引脚上,这些引脚属于 PS 端;

2023-07-12 15:41:17 1442 1

原创 ZYNQ学习笔记——2.GPIO_MIO实验

ZYNQ学习笔记,PYNQ_Z2实现

2023-07-12 15:36:16 414 3

原创 ZYNQ学习笔记——1_ hello_world 实验

ZYNQ学习笔记,用PYNQ_Z2板子来跟做

2023-07-12 15:34:58 727 1

原创 零基础学模拟电路--3.同相放大器、反相放大器、加法器、减法器、积分器、微分器

零基础学模拟电路–3.同相放大器、反相放大器、加法器、减法器、积分器、微分器基于上一节所讲的虚短和虚断,我们可以搭建出这些电路:​ 同相放大器,反相放大器,加法器,减法器,积分器,微分器,电压跟随器。接下来,我会运用虚断和虚断推导几个典型的电路。其余的电路,希望大家能自己推导一遍1.同相放大器2.加法器3.微分器关于微分器和积分器,这里还得补充一个知识点:电容两端的电压和经过电容的电流关系式:I=C∗dVIN/dtI=C*dV_{IN}/dtI=C∗dVIN​/dt

2021-12-19 17:54:51 14802 4

AD9851-FPGA调试(并行模式)

使用FPGA来调试AD9851,采用并行模式输入。开发板为正点原子的达芬奇开发板xc7a35t-2 ffg484。工程中有仿真和ILA波形抓取,已经过测试们可以正常工作。 资源里带有AD9851原理图以及翻译版本

2024-02-28

STM32蓝牙循迹避障小车--最终程序.zip

STM32蓝牙循迹避障小车--最终程序。下载到板子上即可跑

2021-12-16

蓝牙小车手机控制APP.apk

蓝牙小车手机控制APP。下载到电脑上后,可以用QQ等发送到手机上面,然后就可以下载该APP了(只能安卓手机)

2021-12-16

STM32-蓝牙小车-串口2实验.zip

STM32-蓝牙小车-串口2实验

2021-12-16

STM32小车-超声波避障-超声波测距.zip

STM32小车-超声波避障-超声波测距

2021-12-16

STM32蓝牙控制循迹避障小车--测试2 循迹模块.zip

STM32蓝牙控制循迹避障小车--测试2 循迹模块

2021-12-15

STM32蓝牙控制循迹避障小车源代码——1.电机驱动,变速.zip

测试电机驱动,接线

2021-12-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除