先上接口代码:
复制代码
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
19genvar 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模块内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复