我是靠谱客的博主 纯真砖头,这篇文章主要介绍USRP_B210之FPGA分析3:b200_io模块的简单分析,现在分享给大家,希望可以做个参考。

先上接口代码:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// // Copyright 2013 Ettus Research LLC // Copyright 2017 Ettus Research, a National Instruments Company // // SPDX-License-Identifier: LGPL-3.0-or-later // // //------------------------------------------------------------------ // // In SISO mode, we output a clock thats 1x the frequency of the Catalina // source-synchronous bus clock to be used as the radio_clk. // In MIMO mode, we output a clock thats 1/2 the frequency of the Catalina // source-synchronous bus clock to be used as the radio_clk. // //------------------------------------------------------------------ /* https://blog.csdn.net/weixin_39789553/article/details/114385676 */ module b200_io ( input reset, input mimo, // Baseband sample interface output radio_clk, output [11:0] rx_i0, output [11:0] rx_q0, output [11:0] rx_i1, output [11:0] rx_q1, input [11:0] tx_i0, input [11:0] tx_q0, input [11:0] tx_i1, input [11:0] tx_q1, // Catalina interface input rx_clk, input rx_frame, input [11:0] rx_data, output tx_clk, output tx_frame, output [11:0] tx_data );

这个模块就是接AD9361的模块,除了AD9361给过来的rx_clk,没有别的时钟给FPGA,相反还产生了一个时钟radio_clk供给模块外部用以CDC同步和作为基带时钟。

我们继续看下面的实现代码,这里看到代码主要用到了以下几个模块:

IDDR2实现差分信号的接入。

ODDR2实现差分信号输出。

BUFGMUX实现局域时钟的多路选择。

BUFG实现输入时钟的缓冲。

BUFIO2实现时钟分频。

我看这代码写得有不太正规,我尝试了做了修改,使用generate语句进行了规整。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
genvar y ; generate for(y = 0; y < 12;y = y + 1) begin : get_pins IDDR2 #( .DDR_ALIGNMENT("C0")) iddr2_i0 ( .Q0(rx_q[y]), .Q1(rx_i[y]), .C0(io_clk_lb), .C1(io_clk_lb_b), .CE(1'b1), .D(rx_data[y]), .R(1'b0), .S(1'b0)); end endgenerate

将12段RX的IDDR2都用这个语句规整起来了,实际编译通过,生成BIT流还没有下板子验证,应该没有问题,将在之后进行实际下板子验证。

这里如果大家要深入研究时序,可以参考AD9361的接口时序,以及XILINX官方对应器件的时钟以及接口部分的数据手册。这里不再展开。

复制代码
1
{{aAx8MOMTX8HOvmxOoxmwMHHoviVIx8IOiWOmTUIUUixiwiWXI8UIU8MowM8oWHoMVoXXXXVTUTOHUTT8VXToVMwXivMHV8iWTwIiOiiVivwIOOIVxU8o8UVHxUvIVm8OVXomXwomiIM8vOxOHHIVZz}}

 

最后

以上就是纯真砖头最近收集整理的关于USRP_B210之FPGA分析3:b200_io模块的简单分析的全部内容,更多相关USRP_B210之FPGA分析3:b200_io模块内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(91)

评论列表共有 0 条评论

立即
投稿
返回
顶部