搓一个FPGA FM收音机–从仿真到实现

前情提要 前段时间我在b站发了这篇专栏:玩玩八毛钱的有源混频器:IAM81008 文章末尾提到了接下来将转入数字域,完成信号解调。那今天就把这坑给填上 做这块板子的根本目的还是为了完成我的课设,同时学习一些数字信号处理知识。 另外这也是我本人第一次做射频相关的板级设计,其中设计有很多不足。不过第二版已经在规划了,希望不久后能做一个关于此的完整视频。 这也是我…

1评论

由半双工SPI和电平转换器双重debuf带来的奇怪故障

有一AD9643模块,其数字部分电平为1.8V,为了能够跟3.3V电平的主机进行通信,需要使用电平转换器。而又因AD9643的SPI为半双工,因此需要使用一双向电平转换芯片。 为了实现该应用,我们使用德州仪器TXS0108E芯片,注意区分型号,同系列有多个不同功能的转换器。 原理图如下图所示: 在使用过程中,发现SPI一直有误码,导致芯片不能够被正常的配置。…

0评论

让ZYNQ的两个串口UART0和1都可以愉快的printf

序章 在日常使用串口通信的时候,我们更倾向于使用printf来进行各种信息的输出,尤其是当我们需要使用明文传输时,例如驱动一个串口屏,使用printf函数可以大大简化代码的工作量,避免我们使用非常底层的串口发送函数。 在Xilinx SDK中可以使用两种printf函数,一种是包含stdio.h后可以使用的printf,另一种是包含xil_printf.h后…

0评论

【DAQ Systems】高速ADC的HDL设计(一)“触发-采样-传输”系统

【DAQ Systems】异步高速ADC的HDL设计(一)“触发-采样-传输”系统 0. 前言 在接下来的一段时间内,我将结合我的工作内容对数据采集系统(DAQ)进行讨论。 高速ADC是数据采集系统中极为重要的组成部分。在日常的设计中,我们会遇到各种各样不同参数、不同种类的ADC。而本文主要介绍异步高速ADC驱动模块的一种基础思想。 首先,本文主要讨论的是异…

0评论

【Arty-A7填坑笔记】03:为Microblaze定制AXI总线接口的PWM外设

【Arty-A7填坑笔记】03:为Microblaze定制AXI总线接口的PWM外设 0.前言 0.1.自定义IP 上回我们使用了Microblaze软核使用AXI-GPIO驱动LED以及RTL计数器分频驱动LED两种方法完成了点灯。这次我们还是尝试一个玩单片机的保留项目——呼吸灯。 不过呢,暂且不用Xilinx提供的定时器IP,我们使用Vivado的自定义…

0评论

【Arty-A7填坑笔记】02:Microblaze软核与HDL点灯对比

【Arty-A7填坑笔记】02:Microblaze软核与HDL点灯对比 0.前言 在上一期中我们大概了解了Arty-A7板卡的各方面信息并准备好了开发环境,那么现在我们就来尝试一下喜闻乐见的点灯吧。 0.1.为什么要使用Microblaze 对于Arty-A7板卡上搭载的XC7A35T这一纯FPGA(没有嵌入式硬核)来说,最直白的点灯方式就是用硬件描述语言…

0评论

【Arty-A7填坑笔记】01:软硬件概览

【Arty-A7填坑笔记】01:软硬件概览 0.前言 0.1.Arty简介 Arty-A7是Digilent公司推出的基于Xilinx公司Artix-7系列FPGA的开发板。目前有搭载XC7A35T及XC7A100T这两种芯片的版本,我手上的这块板卡为前者,拥有约33k的逻辑单元(Logic Cells),可以满足FPGA数字逻辑的学习以及简单软核系统的搭建…

1评论

regHeap-Simulation

regHeap-Simulation Verilog HDL 以下内容摘自Verilog_wiki HDL:Hardware-Description-Language,Verilog HDL是一种硬件描述语言,主要用于集成电路设计。 Verilog能够在多种抽象级别对数字逻辑系统进行描述:既可以在晶体管级、逻辑门级进行描述,也可以在寄存器传输级对电路信号在寄…

0评论