自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 资源 (12)
  • 收藏
  • 关注

原创 FPGADesigner《学会Zynq》系列目录与传送门

本系列介绍Zynq的使用方法,包括基本知识、lwIP以太网通信、XADC、中断、定时器、UART控制器、SPI控制器、PS-PL通信等等各方面与Zynq相关的知识。力求总结每个模块时结合实例,由浅入深,熟练掌握和应用Zynq!

2019-03-19 14:50:16 18144 10

原创 FPGADesigner其它各系列目录与传送门

本文主要集中了一些文章不多的系列,包括FPGA基础设计知识、一些博主做过的FPGA综合系统设计、Testbench设计、上位机的Qt程序设计等方面的内容。等文章数量变多时再单独出目录。

2018-09-20 19:52:26 6572 1

原创 FPGADesigner《学会System Generator系列》目录与传送门

本系列讲述Xilinx的数字信号处理设计工具System Generator的使用方法,包括基本设计方法、DSP算法实例、音频/图像处理接口等各方面内容。

2018-09-20 19:50:26 9290 8

原创 FPGADesigner《Vivado使用技巧系列》目录与传送门

本系列主要讲述Vivado各个方面的使用方法。文章内容和素材(图片、代码)大量参考了Xilinx官方文档,包括ug888到ug9xx和ug10xx的大量文档。本系列博客内容主要包括翻译官方文档、重新组织排版、修正少量官方文档中的错误、结合博主自己的Vivado使用经验。Vivado使用技巧系列1.Vivado使用技巧(一):使用Tcl在Shell中进行FPGA开发: https://blog.csdn.net/fpg...

2018-07-05 14:33:49 12084 3

原创 FPGADesigner《FPGA数字信号处理系列》目录与传送门

本系列介绍Alter/Xilinx FPGA中各种数字信号处理算法的实现,学习各种DSP IP核的使用方法,以及DSP算法的设计思路和关键问题。

2018-06-12 14:16:01 18926 4

原创 FPGA基础设计(11)Verilog任务、函数、系统任务、系统函数

目录1.概述2.函数(function)3.任务(task)4.系统任务4.1 显示任务4.1.1 display和write任务4.1.2 strobe监控4.1.3 连续监控4.2 文件I/O任务和函数4.2.1 打开文件和关闭文件4.2.2 文件输出4.2.3 数据转换为字符串4.2.4 读取文件内容4.2.5 文件I/O错误状态4.2.6 EOF检测4.2.7 文件定位4.2.8 读取数据...

2019-11-02 14:25:35 10662 5

原创 FPGA基础设计(10)Verilog行为级建模(过程赋值)

目录1.过程赋值1.1 特性11.2 特性22.过程连续赋值3.case语句3.1 do-not-cares3.2 常数case4.循环语句5. 过程块5.1 零延迟无限循环5.2 initial用于初始化6.过程块时序控制6.1 延时控制6.2 事件表达式6.3 wait语句6.4 赋值间(Intra-assignment)时序控制7.块(block)阅读《IEEE Standard for ...

2019-10-28 16:54:59 5052

原创 FPGA基础设计(9)Verilog数据类型和表达式

阅读《IEEE Standard for Verilog 2005》时,做一些整理和记录。目录1.数据类型2.变量(variable)3.数组4.表达式4.1 运算符除法 / 和求余 %幂运算 **数学运算时unsigned和sigend的问题关系运算符相等运算符位操作运算符缩位运算符移位运算符4.2 操作数4.3 位宽问题4.4 符号问题5.赋值1.数据类型Verilog HDL中数据类...

2019-10-18 19:19:43 6377 2

原创 FPGA基础设计(8)Verilog常数赋值、字符串、标识符

阅读《IEEE Standard for Verilog 2005》时,做一些整理和记录。1.整数赋值按照Verilog 2005的标准:0-9、a-f、z、x称作数字位(digit);表示数字正负的’+‘和’-‘视作一元操作符(unary operator);常说的二进制、八进制、十进制、十六进制称作数字的基(base);其在Verilog中的表示’b’、‘o’、‘d’、'h’称作基格式(...

2019-10-17 13:10:05 18166 4

原创 MATLAB数字信号处理(3)计算方式生成随机序列

信号检测、估计和通信等问题都需要经仿真进行性能分析,产生服从特定分布的随机变量至关重要。MATLAB中提供了现成的函数random,可以产生服从某种确定分布的随机序列。还有一些其它函数,比如exprnd专门用于产生服从指数分布的随机序列,但总体上random要更为通用。我们平时只管调用函数即可,简化工作量,而无需关心random函数背后的计算原理。最近学习的《信号检测与估计-理论与应用》简单介...

2019-04-23 19:24:00 9224 4

原创 Zynq中lwip“自动协商失败(Auto negotiation error)”的解决办法

博主今天在将lwIP以太网程序移植到RedPitaya(火龙果)开发板上时,发现了一个问题。我们一般都会使用SDK自带的“lwIP Echo Server”例程测试以太网硬件是否正确。然而在Redpitaya开发板上测试时出现了“自动协商失败(Auto negotiation error)”的问题,如下图:其实这是由于硬件的PHY芯片不支持自动协商导致的。《学会Zynq》系列第12篇详细介绍...

2019-04-07 17:33:19 13186 15

原创 学会Zynq(29)SPI协议的理解与初步使用

本上介绍了Zynq中的SPI控制器。本文再系统总结下对SPI协议的理解,加强对其认识。最后再说明Zynq中如果配置和使用SPI控制器。SPI协议概述SPI是串行外设接口(Serial Peripheral Interface)的缩写。标准四根线只使用4根信号线进行通信:MISO(主输入-从输出)、MOSI(主输出-从输入)、时钟SCLK、从机选择信号SS(有时也称为片选信号CS)。 SPI协...

2019-04-01 20:27:16 25236 12

原创 学会Zynq(28)SPI控制器简介

本文简单介绍Zynq中的SPI控制器。本文将“master”称为“主机”;将“slave”称为“从机”;将“slave slect”从机选择简称为SS。SPI控制器Zynq中的SPI总线控制器能够与各种外设通信,如存储器、温度传感器、压力传感器、模拟转换器、实时时钟、任何支持串行模式的SD卡。SPI控制器可以工作在主机模式、从机模式、舵主模式。Zynq-7000系列包括2个SPI控制器。...

2019-03-31 17:57:02 12856 6

原创 学会Zynq(23)XADC报警功能与中断使用示例

上篇中我们简单了解了XADC和其基本使用方法,包括对片内温度和各种电源电压的测量。本文我们将学习XADC的报警功能和中断的使用方法。程序中我们设置温度和VCCPAUX的上、下报警阈值。当超出这个范围时,便进入中断进行报警提示。SDK程序设计由于要使用中断系统,我们翻出两个“老伙计”,第14篇中的sys_intr.h和sys_intr.c。将GIC初始化和串口中断初始化分开,这样当设计中有多个...

2019-03-30 18:32:33 2635

原创 学会Zynq(27)UART中断驱动模式示例

Zynq中的UART支持轮询和中断驱动两种模式。本文给出使用中断驱动模式的例子,完成与24篇中轮询模式下相同的功能,即UART收到8字节数据后执行某项操作。对比之下,体会中断驱动模式的特点。SDK程序设计由于要使用中断系统,我们翻出两个“老伙计”,第14篇中的sys_intr.h和sys_intr.c。将GIC初始化和串口中断初始化分开,这样当设计中有多个中断源时,编写代码会更方便。use...

2019-03-30 13:04:40 9297 14

原创 学会Zynq(26)UART轮询(poll)模式示例

Zynq中的UART支持轮询和中断驱动两种模式。本文给出两个使用轮询模式的例子,在23篇程序框架的基础上进行改动(贴出主要改动代码,改动很小的地方,如函数接口变化导致函数声明也要改,相信你可以根据我的代码和设计目的自己完成),最后再讨论一下轮询模式的特点。第一个例子改造user_uart.c文件中的Uart_Send函数,将模式设置为本地回环。UART发送数据(小于64个字节,即FIFO长度...

2019-03-28 20:20:31 5609 4

原创 学会Zynq(25)UART的基本使用方法

上文对Zynq中的UART控制器做了简单介绍。从本文开始将以实例的方式详细讲述UART的各种使用方法。本文是UART最基础的使用方法,每秒发送一个“hello world”,实现的功能与printf或xil_printf相同。但后面介绍UART更复杂特性的文章,都是在本文设计的基础上进行改动。SDK程序设计Vivado中配置Zynq时启用开发板提供的UART接口。SDK中user_uart....

2019-03-27 19:16:00 14796 12

原创 学会Zynq(24)UART控制器简介

本文简单介绍Zynq中的UART控制器,重点放在编程所需了解的知识。很多功能使用库函数可以快速配置,因此没必要仔细了解每个寄存器是干什么的这种问题,应把精力放在UART的特性、工作原理和可实现功能方面。UART控制器Zynq中的UART控制器是一个全双工异步收发器,支持各种可编程的波特率和I/O信号格式,能够自动生成奇偶校验,支持多主检测模式。UART操作由配置和模式寄存器控制。采用独立的...

2019-03-25 20:55:19 5127 1

原创 学会Zynq(22)XADC测量片内温度与电源电压

本文将介绍如何在PS中调用Zynq内部的XADC模块进行片内温度和电源电压测量。先了解XADC的相关知识,再通过实例体会XADC的用法,学习XADC API函数的使用。XADC介绍XADC中文全称应该是“Xilinx模拟混合信号模块”,是FPGA中的一个硬核。在7系列FPGA中,XADC提供了DRP和JTAG接口,用于访问XADC的状态和控制寄存器。Zynq中添加了第三个接口,称作PS-XA...

2019-03-25 15:22:42 12893 1

原创 学会Zynq(21)TCP轮询机制(polling)示例

前面我们已经学习了TCP的所有发送、接收和各种回调函数。本文将介绍最后一部分,TCP的轮询机制。在前面TCP发送Hello World的实例中,我们是在main函数的while循环中每隔1s调用一次数据发送函数。本文的实例将利用轮询机制完成同样的功能。SDK程序设计本文根据TCP client模式下发送hello world的程序改编(server模式改动也类似)。主要差别在user_ud...

2019-03-24 16:17:11 5042 3

原创 学会Zynq(20)TCP echo服务器(接收回调)

前两篇我们学习了TCP的发送,本文学习如何处理接收数据。本文使用TCP设计一个echo服务器,开发板将来自所有IP地址和端口的数据原路发送回去,功能和本系列第15篇的UDP echo服务器相同。本文实例与SDK提供的“lwip echo server”例程相比要简化许多,没有使用DHCP协议。本文主要是学习TCP的接收回调,DHCP的内容会在后面专门讲述。SDK程序设计让Zynq工作在TC...

2019-03-24 15:37:26 5890 12

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

上文介绍了用TCP发送“Hello World”的实例,工作在client模式下。本文实现同样的功能,但让TCP工作在server模式下。把开发板当作服务器,远程主机为客服端访问服务器,实现被动连接。TCP client和TCP server在lwIP中的连接流程和区别可参考本系列前面与lwIP相关的文章。SDK程序设计大部分代码和上一个实例相同。main函数的while循环中仍然是根据连接...

2019-03-24 14:37:48 7111 6

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

TCP的工作机制比UDP要复杂的多。本文介绍用TCP发送“Hello World”的实例,讨论程序设计中几个关键的问题。本文撰写思路假设您已经阅读了本系列前几篇与lwIP、UDP相关的文章,重复性语言不过多描述。本文TCP工作在client模式。TCP内容较多,后面的文章会逐步深入介绍。SDK程序设计按照前文方法,新建工程后启用lwIP 1.4.1库,其余配置都保持默认即可(使用RAW AP...

2019-03-24 12:03:52 11400 15

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

从前面几个UDP的程序实例中我们可以体会到pbuf的重要性,对pbuf的灵活操作也是完成程序功能和提高代码效率的关键。本篇总结lwip的pbuf.c中的常用函数并给出示例程序,其中部分函数和string.h文件中提供的传统内存操作函数功能相同。基于上一篇中的UDP echo服务器设计,主要修改接收回调函数,将收到的数据做一定处理后,用串口打印或网口原路返回的方式查看效果。1. pbuf_st...

2019-03-23 17:42:56 6446 2

原创 学会Zynq(16)UDP echo服务器(接收回调)

前两篇我们学习了UDP的发送,本文学习如何处理接收数据。lwIP为UDP接收提供了回调机制,学会回调机制的使用可以为学习更复杂的TCP回调打下基础。本文使用UDP设计一个echo服务器,开发板将来自所有IP地址和端口的数据原路发送回去,功能和SDK提供的“lwip echo server”例程一样,只不过例程使用的是TCP协议。SDK程序设计主要差别体现在user_udp.c文件中,比起前...

2019-03-22 21:37:59 8992 8

原创 学会Zynq(15)UDP sendto函数的使用

上文从“UDP发送Hello World”的实例体会了lwIP的使用。在user_udp_init函数中我们按照“创建UDP PCB->绑定本地端口->连接远程主机”的顺序完成初始化,发送时使用send函数将数据发送至连接的主机。事实上,udp_connect函数的作用只是设置PCB的远程地址,没有产生任何网络流量。lwIP在UDP通信中还有另一个发送函数udp_sendto,本文在...

2019-03-22 19:26:50 8878 10

原创 学会Zynq(14)UDP发送Hello World

本系列前面几篇介绍了lwIP的相关知识和官方给出的应用实例。从本文开始将进入“实操”阶段,详细介绍Zynq如何使用UDP和TCP两种协议进行通信。建议阅读本文前先了解lwIP相关知识,重复的内容在本文只会简单讲述。总的来说UDP使用起来比TCP要简单的多。上手UDP可能有两个难点:1.对pbuf的操作感到陌生;2.对UDP接收回调的使用不够灵活。其实TCP的回调机制要更复杂,因此我们先以UDP为...

2019-03-22 17:31:06 19978 37

原创 学会Zynq(13)lwIP官方应用程序示例

XAPP1026中记录一些lwIP的应用程序示例和性能测试情况,不过提供的示例工程都是在几个Xilinx的官方板子中跑的。可能很多学生没有机会碰到这些板子。。。另外这份应用笔记使用的SDK 2014.3版本也比较老,那个版本lwip还没有直接集成到SDK中。本文将这份笔记其中比较有用的代码编写思路和性能测试结果部分摘取出来。1. 硬件系统这个表是几个开发板上搭建的硬件系统。纯FPGA使用的...

2019-03-20 15:30:40 15988 2

原创 学会Zynq(12)lwIP 1.4.1库的配置与使用

lwIP概述lwIP是一个用于嵌入式系统的开源TCP/IP协议集,是一套可以独立运行的栈,无需依赖操作系统,但也可以与操作系统同时使用。lwIP提供了两套API(术语为A05PI),供用户选择:RAW API:直接访问核心的lwIP栈;Socket API:通过BSD socket风格的接口访问lwIP栈。基于lwIP 1.4.1库版本,SDK提供了相应适配的库,称作lwip 141_...

2019-03-20 15:17:25 23903 10

原创 学会Zynq(11)RAW API的TCP和UDP编程

RAW APIRAW API(有时称作native API)是一种事件驱动型的API,在没有操作系统的情况下使用。核心栈通过这个API完成不同协议间的交互。使用lwIP栈的应用程序通过一组回调函数实现。当某些“事件”发生时,会lwIP核会调用这些回调函数,比如传入数据、传出数据、错误通知、连接关闭等。应用程序中的回调函数执行对这些事件的处理操作。RAW API支持多种协议,下面介绍如何对TC...

2019-03-20 14:57:38 11021 5

原创 学会Zynq(10)lwIP简介

从本篇开始,将花大量篇幅介绍Zynq在裸机环境下以太网的使用。裸机时最方便的就是使用SDK已经集成了的lwIP 1.4.1库,我们将先了解lwIP的相关知识,然后再以实例的方式学习TCP、UDP的程序设计方法。研究背景在过去几年里,将计算机和计算机支持的设备连接到无线网络的需求逐渐增长。计算机与日常设备之间的集成度越来越高,价格也在下降。同时,蓝牙、IEEE 802.11b/g(俗称“wif...

2019-03-20 14:30:50 10954

原创 学会Zynq(9)定时器使用示例(PPI)

定时器资源每个Cortex-A9处理器都有私有的32位定时器和32位看门狗定时器。这两种定时器都是32位的计数器,计数到0时产生中断;带有8位的预分频器,能够更好地控制中断周期;可配置为单次重载或自动重载模式;可配置初始值。它们的工作时钟固定为CPU频率的1/2(CPU_3x2x)。两个CPU同时共享一个64位的全局定时器GT,这是一个递增的计数器,带有自动递增功能。全局定时器与私有定时器在内...

2019-03-19 22:30:09 6657 2

原创 学会Zynq(7)中断系统简介

本文简单介绍Zynq的中断系统和中断控制器。Zynq的PS部分基于ARM架构,使用了两个Cortex-A9处理器(CPU)以及GIC pl390中断控制器(单核Zynq则只有一个GIC)。GIC是通用中断控制器(Generic Interrupt Controller)的简称。双核的中断系统框图如下:Zynq的中断结构与CPU密切相关,可以接受来自I/O外设和PL部分的中断。从上图我们可以看到...

2019-03-18 17:52:24 5421 2

原创 MATLAB数字信号处理(2)LFM脉冲雷达回波处理仿真

将上学期的“气象雷达原理与系统”课程报告放到blog上。摘要线性调频(LFM)信号是应用广泛的一种波形,主要优点是脉冲压缩的形状和信噪比对多普勒频移不敏感,即在目标速度未知的情况下,用匹配滤波器仍可以实现回波信号的脉冲压缩,这将大大有利于雷达对目标的探测和信号处理效率的提高。本设计实现了对线性调频(LFM)脉冲压缩雷达的工作原理仿真,在MATLAB 平台中模拟一个叠加的线性调频回波信号,对该...

2019-03-13 15:41:24 51355 38

原创 MATLAB数字信号处理(1)四种经典功率谱估计方法比较

这是我研究生课程“现代信号处理”中的作业报告,上传到blog中。经典功率谱估计可以采用直接法,也称周期图法,利用公式计算功率谱密度。或者根据自相关函数和谱密度之间的傅里叶变换关系来计算,称为间接法或自相关函数法。还可以先作加窗平滑处,对序列x(n)或估计的自相关函数进行加窗(如汉宁窗、汉明窗)截断,前者称作数据窗,后者称作滞后窗。MATLAB编程实现对信号x(n)=sin⁡(ωt)...

2019-03-13 14:37:46 19064 8

原创 学会Zynq(6)固化程序到SD卡或QSPI Flash

SDK调试程序时都是通过JTAG,将PL的bit流文件和应用程序的ELF文件下载到Zynq中,运行查看效果。调试验证功能后需要将程序固化到板子上,使板子上电后可以从存储单元中加载程序,而无需SDK的调试环境。Zynq支持多种存储设备,本文将介绍如何将程序固化到常用的SD卡和QSPI Flash中。配置SD卡首先要查看开发板原理图中SD卡与MIO的连接关系。以火龙果Red Pitaya开发板为...

2019-03-11 16:54:47 11072 1

原创 学会Zynq(5)GPIO中EMIO的使用方法

之前的Hello World和MIO使用都算是纯PS部分,也就是把Zynq单纯地当作ARM使用。很多人都是因为FPGA+ARM架构才使用的Zynq,有两个关键问题容易引起初学者的兴趣:(1).如何用PS控制PL;(2).如何完成PS与PL之间的数据通信。本系列会介绍解决这两个问题的各种方法。EMIO就是PS控制PL资源的简单例子。EMIO就是可扩展的MIO,当与PS直接相连的MIO不够用时,可以...

2019-03-11 16:20:40 15173 1

原创 学会Zynq(4)GPIO中MIO的使用方法

本文将介绍PS部分GPIO中MIO的使用。本文先通过一个控制LED闪烁的实例体会MIO的用法,学习GPIO相关结构体与API函数的使用;然后再系统讲解GPIO的相关概念。Zynq设计与代码详解与第1篇相似,建立一个工程,配置好Zynq的时钟和DDR后,需要在MIO Configuration->I/O Peripherals->GPIO中选中GPIO MIO。一般设计中配置的UA...

2019-03-10 17:26:01 8515 5

原创 学会Zynq(3)Zynq的软件开发基础知识

上一篇简单解释了Zynq配置的相关概念,本文将对Zynq-7000的软件开发进行简单介绍。如果设计者已经对ARM的开发方法很熟悉,上手Zynq的软件开发也会更快,相关概念理解起来也更快。平台架构选择Zynq-7000内部有双核ARM Cortex-A9处理器,设计者在开始嵌入式开发前,要先考虑使用非对称多处理(AMP)还是对称多处理(SMP)。还要考虑是否使用操作系统、或使用哪个操作系统。...

2019-03-10 16:52:03 7050

原创 学会Zynq(2)Zynq-7000处理器的配置详解

上篇中介绍了Xilinx FPGA嵌入式开发的基本概念和软件特性,并以Hello World为例给出了一个操作流程,熟悉该流程相当重要。上一篇中只是简单说明了每一步应该执行哪些操作,本文将详细介绍每一步的具体含义和涉及到的相关概念。Zynq-7000配置添加好ZYNQ7 Processing System IP核后,需要对其进行配置,双击弹出如下窗口。绿色部分表示ZYNQ PS部分中可配置的...

2019-03-10 16:10:42 19291

FPGA综合系统设计(五)频谱分析系统

FPGA驱动AD9226,65M采样,做FFT进行频谱分析,将计算结果用双口RAM缓存,通过串口发送到PC上,完整Quartus工程;具体说明可参考本人博客。CSDN博客搜索:FPGADesigner

2018-06-14

FPGA数字信号处理(九)Vivado FFT IP核实现

调用Vivado的FFT IP核对输入信号进行频谱分析,含testbench与仿真,仿真结果优秀;具体说明可参考本人博客。CSDN博客搜索:FPGADesigner

2018-06-14

FPGA综合系统设计(二)基于FPGA的温度采集和以太网传输

FPGA驱动DS18B20,温度数据用双口RAM缓存,通过以太网发送温度到PC,可用网络调试工具显示,Quartus工程;具体说明可参考本人博客。CSDN博客搜索:FPGADesigner

2018-06-13

FPGA综合系统设计(一)1.250μs冲击电压测量与显示

ADC采集信号,FIFO缓存,通过串口发送数据到PC显示,Quartus工程;具体说明可参考本人博客。CSDN博客搜索:FPGADesigner

2018-06-13

FPGA数字信号处理(七)级联型IIR滤波器Verilog设计

使用Vivado完成级联型结构IIR滤波器Verilog HDL设计,含testbench与仿真,仿真结果优秀;具体说明可参考本人博客。CSDN博客搜索:FPGADesigner

2018-06-11

FPGA数字信号处理(六)直接型IIR滤波器Verilog设计

使用Vivado完成直接型结构IIR滤波器Verilog HDL设计,含testbench与仿真,仿真结果优秀;具体说明可参考本人博客。CSDN博客搜索:FPGADesigner

2018-06-11

FPGA数字信号处理(五)Vivado FIR IP核实现

调用Vivado的FIR Compiler IP核完成FIR滤波,含testbench与仿真,仿真结果优秀;具体说明可参考本人博客。CSDN博客搜索:FPGADesigner

2018-06-08

FPGA数字信号处理(四)Quartus FIR IP核实现

调用Quartus的FIR Compiler IP核完成FIR滤波,含testbench与仿真,仿真结果优秀;具体说明可参考本人博客。CSDN博客搜索:FPGADesigner

2018-06-07

FPGA数字信号处理(三)串行FIR滤波器Verilog设计

串行结构FIR滤波器的Verilog HDL代码,Vivado工程,含testbench与仿真,仿真结果优秀;具体说明可参考本人博客。CSDN博客搜索:FPGADesigner

2018-06-06

FPGA数字信号处理(二)并行FIR滤波器Verilog设计

并行结构FIR滤波器的Verilog HDL代码,Vivado工程,含testbench与仿真,仿真结果优秀

2018-06-06

FPGA数字信号处理(一)数字混频

数字混频的Veriloag代码,Quartus工程,含testbench仿真。程序设计系统时钟5MHz,625kHz的输入信号与625kHz的本振信号做混频,根据混频原理会得到1.25MHz的和频信号与0Hz(直流),将直流滤除掉得到1.25MHz的有效信号。

2018-05-30

FPGA综合系统设计(四):串口控制的DDS信号发生器

设计一个系统:串口接收频率、相位控制字,控制的DAC输出波形(正弦波、三角波、锯齿波、方波、直流)设计中取DAC输出时钟为50MHz,波形存储深度为512点(取信号的一个周期),用matlab生成mif格式的文件分别存储正弦波、方波、三角波、锯齿波的数据。含testbench,已在开发板上验证。

2018-05-26

空空如也

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

TA关注的人

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