AD9361学习笔记(二)数据流、寄存器和FM调制

数据流

为了尽快上手AD9361,我决定实现一个FM电台,这篇文章主要介绍了要在AD9361上实现FM调制必须的知识。要基于AD9361进行SDR开发,主要有三种方式:

1、不使用任何IP核,直接写RTL代码配置寄存器和收发数据流。这种方法的性能最高、面积最小、功耗最低,但是开发周期最长。

2、编译官方提供的AD9361 IP核,与ZYNQ的PS端或者Microblaze软核处理器通过AXI总线连接,编译ADI的no-OS库,以C语言开发。好处是不用写HDL代码,但是要调用非常多的IP核,体积和功耗比前者大。

3、在2的基础上,编译ADI的linux,在系统上运行ADI的IIO接口,将开发板通过USB或者以太网接入PC,然后以IIO接口为媒介进行开发。可以访问IIO接口的不只是C/C++,还有MATLAB、GNURadio、SDRSharp、IIO Oscilloscope等。

这里我选择使用MATLAB进行开发,因为MATLAB非常适合算法的开发和验证。但是我下面会提到,MATLAB有一个巨坑。。。。。。

继续阅读“AD9361学习笔记(二)数据流、寄存器和FM调制”

AD9361学习笔记(一)体验OOB例程、移植ADI库和IP核

这个博客和之前的博客

前几年一直都有写博客的习惯,由于上了高中要住校,所以我之前的博客直接废掉了。甚至到了高三我都忘了还有博客这回事。。。之前写的好多东西都被腾讯云(?)还是阿里云删掉了。之前的博客主要记录了我研究基于FPGA的GameBoy模拟器的一些心得。最近省了好久的钱,买了一个开发板和一台频谱仪开始学习AD9361,花了接近八千元。花这么多钱学到的东西,有很大的必要把他们记录下来。于是就又有了一个新的博客。以下的实验内容都在我搭建好这个博客之前完成,搭建博客花了我整整一天。这是这个新博客的第一篇文章,我在写这篇文章的时候,才刚刚提交备案。不知道为什么腾讯云要完成域名的实人认证三天后才能备案。。。废话不多说,进入正题。

继续阅读“AD9361学习笔记(一)体验OOB例程、移植ADI库和IP核”