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的框图也可以看到是两个接收通道,两个发射通道,但是他们是有约束的,体现在下面几点。文章来源:https://www.toymoban.com/news/detail-485668.html
- 两个发送通道的射频频率必须一样。因为只有一个TX_LO,如图。
- 两个接收通道的射频频率必须一样,以为只有一个RX_LO,如图。
- 发送的两个通道,接收到两个通道总共四个通道,这四个通道的采样频率必须一样,也就DDS画波形采样频率必须一样。这是他们总线传输传输方式决定的。
上述是跟我们软件设计相关的最最基本的东西,我已经其他了无关的或者非关键的细节 。文章来源地址https://www.toymoban.com/news/detail-485668.html
到了这里,关于无中频软件无线电芯片AD9361的基本介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!