0%

1. 前言

疫情宅家,其他工作上的事情不太好做,但是也算是找到一个难得的补充知识的时间了。
作为一个FPGAer,日常当中经常用的就是用FPGA来玩常用的接口,但是感觉这样的日子是走不长远的,需要不断地补充新的知识才可以。
在家这段时间,完成了802.11a的这个协议的OFDM的发射机这一部分的内容的FPGA的实现。于是觉得自己需要把这一部分给记录下来,方便给自己之后进行查阅。

Read more »

前言

在ZYNQ的系统设计当中,经常需要处理ARM与FPGA之间的数据交互的问题。这就引申出一个很重要的内容就是AXI4接口。
AXI接口我在之前也写过博客记录如何在FPGA当中实现数据的传输:
AXI4向内存写入数据
AXI4从内存获取数据
但是这两篇博客只是实现了一个比较简单的模块,并且里面的功能也是比较固定和死板的。

Read more »

1. 以太网通信的实现

为了能够实现和上位机之间的通信,首先需要先把这个通路给打通。其实只是想要把以太网的通路打通,实现这个目的还是十分简单的,直接在SDK里面选中示例里面的模板工程既可以创建基于freertos的tcp或者udp的工程。但是模板里面的工程比较繁琐,有很多东西都不是自己想要的,因此需要对这些东西进行一些简化,于是想着自己来照着这个freertos的实现一下,最终也是实现了这个简单的工程,在这里先记录一下。之后的工作就可以在这个基础上进行修改就好了。

Read more »

前言

想要在ANTSDR E310上移植USRP B系列的驱动,就需要把USB3.0的驱动替换成网口的驱动,这一部分首先得要求我对网络编程有一点点的了解。因此我决定开始学习一下网络编程。

网络协议分层

Read more »

radio_legacy 模块

在前面的两篇博客当中对USRP B205的整体的一个结构有了一定的了解。通过ettus网上的资料也能够找到一些关于USRP在传输命令时候的一些机制,并以此了解了时间戳的作用,并理解了一下数据是如何在时间戳的作用下进行同步的。

在radio_legacy 模块当中,主要涉及到的是关于无线信号的基带处理部分,在这一部分会与上位机之间进行数据的传输,因此弄懂如何进行IQ数据和上位机数据之间的转换是这一部分的一个重点。

Read more »

b205 core

在前面的博客当中记录了 usrp b205 的整体的结构,只能说是从一个整体上对代码结构进行了分析,对其中细节的部分并不是十分了解,但是想要弄清楚 usrp b205 的具体的实现,还是要在这些部分下功夫才行。
b205_core 的verilog module的结构如下图所示:

b205_core_module

Read more »

前言

Ettus Research可以说是在软件无线电领域处于领头地位的公司了,而且对应的许多产品除了PCB之外都是开源的,这给学习软件无线电提供了很多的资料。

以前做FPGA的时候,都不习惯去看别人的源码,现在来看,还是太天真了,当我开始看usrp b205的源码的时候,我发现ettus的源码写得是真的好,有很多值得学习的地方,所以在这里将对usrp b205的源码阅读的个人体会记录一下,也方便自己将来查阅。

公司由于业务需要,现在想要做一款软件无线电的产品,于是需要学习一下usrp的基础款的SDR设备,usrp b205是ettus最新一代当中最小的设备,想必其实现的结构也是最简单的,因此我决定从这一款设备开始。

Read more »

信号的捕获与同步

在前面的学习当中已经完成了信号的搜索,通过信号的搜索,可以看到在不同频率,不同码相位下如何对输入的卫星信号进行搜索。
在之前只介绍了频率和码相位的搜索,并且并没有得到具体的频率和码相位,只是在图上显示除了对应的相关峰的分布。

Read more »

在上一篇博客当中,实现了载波同步中的二阶锁频环,通过锁频环能够实现相位的跟踪,但是在上篇博客的最后,还是可以看到,经过二阶锁频环之后,对于Q路上的数据,依然有较高的能量。然而在实际发送数据的时候,发送的只是一个实数数据,只有只有I路上有数据,因此在这里进一步地对相位同步才能实现最终的同步。

Read more »

在前面的一段时间的学习当中,学习了如何对信号进行捕获。在GPS接收机当中,捕获到信号之后,接下来的操作就是对捕获到的信号进行跟踪处理了,在接收机当中,常见的同步方法有PLL,其主要目的是使得本地生成的载波能够跟踪接受到的信号的频率和相位的变化,从而达到相干解调的目的。

Read more »