无中频软件无线电芯片AD9361的基本介绍

66 篇文章 23 订阅
58 篇文章 27 订阅

AD9361在咱们产品中的很多,这也是一个很典型软件无线电芯片架构。我们在这里从软件角度简单介绍一下:

 

抛弃硬件细节,对于我们软件程序员来说面对的只有两个通路:数据通路和控制通路。

先说控制通路,通过SPI读写AD9361的寄存器实现对芯片的控制,在实际实现时候官方给出了C函数直接调用,比如设置射频频率为2.4G我们之需要调用函数set_rf_frqunce(2.4E9),之后函数根据2.4E9计算出所需要的各个寄存器的数值,之后通过SPI口打下去给AD9361。这样下来就咱们虽然可以通过SPI读写寄存器,但是实际我们只需要调用官方通过的API,这些API实现通过SPI读写寄存器进行设置。

这个控制一般来说配置一次后,运行之后就不要配置了。可能运行期间要获取一些运行状态,也可以随时访问相关寄存器。

数据通道就比较关键了。

我们知道DAC的原理就是用一定频率比如10M,不断输出一些点,这些点连起来就是线,就是波形。如果我们用100个点正好连出来一个正玄波,每100个点连出来这个正弦波,这个正弦波频率就是10M/100=0.1M了。

同样道理ADC,对于一个0.1M,用10M的采样频率去采集,一个完整周期要用100个采样点来描述。

上述两个在一定采样率下连接各个采样点组成波形的方式,我们可以通俗的叫做画波形,也叫DDS(直接频率合成)。之后我们就用画波形这个说法。

AD9361发射过程执行的是上变频,是加法。具体说来,发射有一个中心频率RF CENTER FREQUNCE,比如我们通过API函数设置为100MHZ,我们画出上述的0.1M的中频,发射出去时候,这两个频率相加,得到100M+0.1M=100.1M的频点。

AD9361接收过程执行的下变频,是减肥。具体来说,我们收到控制一个射频频率100.1M的频点,这里我们设置了100M作为接收的中心频率,执行下变频后就是100.1M-100M=0.1M这样从ADC的输出,输出了0.1M的波形。当然我们假设收到频率是X,射频中心频率设置为100M,在ADC输出上看到了0.1M的波形,那我们就可以按照X-100M=0.1M算出收到的射频信号是100.1M。

上面讲了画波形以及上下变频,这些都和数据通道相关。

数据通道就是源源不断将9361下边频出来的ADC数据从9361芯片发给FPGA,在B210中,再传给USB芯片,再通过USB3传给咱们PC电脑。

并且数据通道也源源不断将PC产生的数据通过USB,传到USB芯片,传到FPGA,传到AD9361。

这里我们确保数据通道有足够带宽不丢数,PC,USB线,USB芯片,FPGA,AD9361这些环节哪个传输速度(带宽最低)都形成瓶颈,成为这个系统的可实现带宽。

从AD9361的框图也可以看到是两个接收通道,两个发射通道,但是他们是有约束的,体现在下面几点。

  1. 两个发送通道的射频频率必须一样。因为只有一个TX_LO,如图。
  2. 两个接收通道的射频频率必须一样,以为只有一个RX_LO,如图。
  3. 发送的两个通道,接收到两个通道总共四个通道,这四个通道的采样频率必须一样,也就DDS画波形采样频率必须一样。这是他们总线传输传输方式决定的。

上述是跟我们软件设计相关的最最基本的东西,我已经其他了无关的或者非关键的细节 。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值