本实验将实现音频模块和FPGA之间的数据通信,通过音频模块把麦克风输入的语音数据存储到SDRAM存储器里,再把音频数据发送给音频模块,从耳机接口进行语音的播放,从而实现录音和播放的功能。这里简单介绍一下音频模块AN831用到的音频编/解码芯片WM8731。该芯片在本设计中主要完成声音信号在采集和回放过程中的A/D和D/A转换功能。该芯片的ADC和DAC的采样频率为8KHZ到96KHZ可调,可转换的数据长度为16-32位可调。WM8731的内部有11个寄存器。该芯片的初始化以及工作时的工作状态和功能都是通过I2C总线方式对内部的这11个寄存器进行相应的配置来实现的。本设计中WM8731工作于主模
写在前面 本文将把Xilinx的MIGIP核DDR3的Native接口进行二次封装,将其封装成一个类似FIFO的接口,使其应用起来更加方便简单。 本文为下篇,建议与上篇一起阅读,有利于理解: 快速上手XilinxDDR3IP核(3)----把MIGIP核封装成一个FIFO(上)(Native接口) DDR3系列文章: 快速上手XilinxDDR3IP核----汇总篇(直达链接)1、FIFO控制模块 本模块的主要作用是例化两个FIFO:写FIFO、读FIFO。写FIFO:写位宽16bit,写端口与用户端相连,写入
写在前面 本文将把Xilinx的MIGIP核DDR3的Native接口进行二次封装,将其封装成一个类似FIFO的接口,使其应用起来更加方便简单。 本文为下篇,建议与上篇一起阅读,有利于理解: 快速上手XilinxDDR3IP核(3)----把MIGIP核封装成一个FIFO(上)(Native接口) DDR3系列文章: 快速上手XilinxDDR3IP核----汇总篇(直达链接)1、FIFO控制模块 本模块的主要作用是例化两个FIFO:写FIFO、读FIFO。写FIFO:写位宽16bit,写端口与用户端相连,写入
1、概述 在这篇文章:基于FPGA的任意字节数的串口发送(含源码工程)中实现了基于FPGA的任意字节数的串口发送,那么对应的,这一篇文章将分享给大家如何实现任意字节的FPGA接收方法。 在这篇文章:串口(UART)的FPGA实现(含源码工程),实现了基于FPGA的串口接收驱动。利用接收驱动可以实现起始位1bit+数据位8bit+停止位1bit共10bit的单字节接收。 但是在实际应用过程中有时候需要一次性接收多个字节的数据。比如,一次性通过UART接收5个字节的数据,再将其组合成一个位宽为【39:0】的数据。诚然,可以直接更改此文中的串口接收驱动,使其变成 起
1、概述 在这篇文章:基于FPGA的任意字节数的串口发送(含源码工程)中实现了基于FPGA的任意字节数的串口发送,那么对应的,这一篇文章将分享给大家如何实现任意字节的FPGA接收方法。 在这篇文章:串口(UART)的FPGA实现(含源码工程),实现了基于FPGA的串口接收驱动。利用接收驱动可以实现起始位1bit+数据位8bit+停止位1bit共10bit的单字节接收。 但是在实际应用过程中有时候需要一次性接收多个字节的数据。比如,一次性通过UART接收5个字节的数据,再将其组合成一个位宽为【39:0】的数据。诚然,可以直接更改此文中的串口接收驱动,使其变成 起
目录1、前言2、Xilinx官方主推的MIPI解码方案3、纯Vhdl方案解码MIPI4、vivado工程介绍5、上板调试验证6、福利:工程代码的获取1、前言FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰,以至于Xilinx官方不得不推出专用的IP核供开发者使用,不然太高端的操作直接吓退一大批FPGA开发者,就没人玩儿了。本文详细描述了设计方案,工程代码编译通过后上板调试验证,可直接项目移植,适用于在校学生做毕业设计、研究生项目开发,也适用于在职工程师做项目开发,可应用于医疗、军工等行业的数字成像和图像传输领域;提供完整的、跑通的
目录1、前言2、Xilinx官方主推的MIPI解码方案3、纯Vhdl方案解码MIPI4、vivado工程介绍5、上板调试验证6、福利:工程代码的获取1、前言FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰,以至于Xilinx官方不得不推出专用的IP核供开发者使用,不然太高端的操作直接吓退一大批FPGA开发者,就没人玩儿了。本文详细描述了设计方案,工程代码编译通过后上板调试验证,可直接项目移植,适用于在校学生做毕业设计、研究生项目开发,也适用于在职工程师做项目开发,可应用于医疗、军工等行业的数字成像和图像传输领域;提供完整的、跑通的
一、简介这次实验使用到的是STM32的G474E-EVAL板,FPGA使用的是安路科技的EG4系列开发板。原理是用STM32上的FSMC接口与FPGA建立通信线路,FSMC为并行接口,可以大幅度提高通信的速率,对于串行速率达不到要求的可以考虑此种方式。这里插一句题外话我们场景中经常需要用到STM32和FPGA相连的一个情形不仅是因为这个可以使用STM32强大的控制功能,而是因为STM32的管脚其实非常少,相对地FPGA强大的并行计算的能力加之可以有很多管脚(40-50个轻轻松松),非常适合我们将一部分运算分给FPGA去做。二、STM32端2.1CubeMX配置ChipSelect信号为为片选信
一、简介这次实验使用到的是STM32的G474E-EVAL板,FPGA使用的是安路科技的EG4系列开发板。原理是用STM32上的FSMC接口与FPGA建立通信线路,FSMC为并行接口,可以大幅度提高通信的速率,对于串行速率达不到要求的可以考虑此种方式。这里插一句题外话我们场景中经常需要用到STM32和FPGA相连的一个情形不仅是因为这个可以使用STM32强大的控制功能,而是因为STM32的管脚其实非常少,相对地FPGA强大的并行计算的能力加之可以有很多管脚(40-50个轻轻松松),非常适合我们将一部分运算分给FPGA去做。二、STM32端2.1CubeMX配置ChipSelect信号为为片选信
一、前言 很多人在学习FPGA或者数字IC设计时,首先面临的问题必定是编程语言的选择,目前常用的硬件描述语言有三种,即VHDL,VerilogHDL,systemverilog。FPGA常用前两种,systemverilog常常用于验证,是VerilogHDL的升级版,建议在学习VerilogHDL之后进行学习。由于VHDL是在军事背景下产生的,语法要求就比较严格,语法也比较多,出错的机率比较小。而VerilogHDL出生于商用,语法跟C语言长的比较相似。关于VHDL和Verilog的选择 1、现在的企业,已经基本都使用Verilog进行开发了,仅有极少数军工企业因为历史原因使用VHDL。