0%

1. 基本结构

AXI DMA工作的基本结果如下,AXI DMA负责和内存进行数据交互,一条路径是S2MM也就是将PL侧产生的用户数据写入到内存当中,另外一条路径是MM2S也就是将用户数据从内存当中读取出来给到用户逻辑。
axi_dma结构

Read more »

1. 前言

最近在做usrp相关的项目的时候,需要涉及到对usrp的源码进行仿真,从usrp的官方资料上来看,usrp提供了许多工具,包括综合的仿真的,确实能够让人受益匪浅。通过学习USRP的工程,我感觉对自己编码能力上的帮助先不说,对于提升自己的工程管理能力,肯定是有巨大的帮助的。为了能够更好地学习仿真与验证的相关知识,有必要把modelsim的自动化仿真学习一下。

Read more »

1. 前言

对于FPGA开发人员来说,可能会开发一些自己自定义的IP,这些IP一般可以通过axi接口连接到处理器上,对于zynq来说,在FPGA这边编写一些axi4-lite的接口之后,zynq句能够通过axi4-lite接口来访问PL端的寄存器了。
这样就能够控制IP的一些参数。

在裸机下面,控制这些IP的驱动都是比较简单的,如果是需要在linux下面想要控制这些IP,就需要自己去实现这些IP的驱动了。

在本篇博客当中会记录,这种IP的接口驱动开发。

Read more »

1. 前言

最近学习了一点linux驱动的开发,尤其是涉及到和FPGA资源相关的驱动的开发,其实主要是DMA的,有了这个基础,对于了解其他的知识是很有帮助的。之前可能不回去看的内核的源码也可以尝试去看一看了。 在这里不得不说默罕默德的视频和对应的源码对我来说还是很有帮助的,所以这几千块还是花得挺值的。

Read more »

最近挺迷茫的,但是今天稍微深入地了解了一个之前见过的公司,也就是提供ZipCPU的这个公司,这个IP,在ettus usrp的之前的系列当中用过,是一个比较完整的处理器。
ZipCPU
这是由一个人完成的公司,在了解了这个公司之后,我发现了他开源了许多和FPGA相关的资源,包括这个ZipCPU,DSP处理相关的资源等等。
看到了他实现的这一些列工作之后,我一时间感觉到了相当震惊。

Read more »

1. 前言

因为现在在ubuntu下工作的时间比较多,一直在找一个在ubuntu上比较好用的仿真软件,vivado自带的仿真工具感觉不太好用。
经过一番搜索之后,也算是找到一个还算好用的仿真软件,当然我是用的破解版本。所以准备记录一下安装过程。这篇博客的用途仅仅是为了我自己日后方便查阅。
主要参考下面的博主的博客:
questasim安装

Read more »

1. 前言

在之前的博客当中已经记录了802.11a当中的短训练序列检测,使用短训练序列进行粗频偏校正,检测长训练序列并完成长训练序列的对齐。
在这篇博客当中将会记录使用长训练序列进行精频偏校正,这一部分也是我在学习的时候,在时域当中进行校正的最后一个步骤。在这个步骤之后,就要到频域当中进行操作了。

Read more »

1. 前言

在之前的博客当中,已经实现了OFDM的短训练序列的检测与使用短训练序列进行符号的粗频偏校正。
进行粗频偏校正之后的数据还需要进一步的处理,为后续的FFT变换到频域做准备。在802.11a当中,前导码除了10个STS还有两个LTS,LTS的作用是用来进行精细的频偏校正和符号对齐的。

Read more »

1. 前言

在之前的博客当中记录了如何来检测短训练序列,在检测短训练序列的时候,实现了一系列的模块,这些模块在无线通信的算法里面是比较常用的,在之后的学习当中也将会经常使用到。
检测到短训练序列之后,可以使用短训练序列对接收到的信号进行粗频偏校正,在这篇博客当中,我会记录学习这一部分的内容。

Read more »

1. 前言

在前面实现了802.11a的发送数据包的生成,从而完成了802.11a的发送数据通路。在上面实现了数据的加扰,卷积编码,交织,OFDM星座图映射,IFFT的转换和添加循环前缀,添加前导码LTS,STS等操作。
相较于802.11a的发送数据链路,接受数据链路的难度相较于发送链路会大很多,里面涉及了许多同步的算法的设置,频偏的校正等操作。
从这篇博客开始,我将会记录在学习802.11a数据解调的过程中所学习到的东西。

Read more »