1
- ADRV9001 DUAL HDL Project
1
+ .. _adrv9001_dual :
2
+
3
+ ADRV9001-DUAL HDL Project
2
4
===============================================================================
3
5
4
6
Overview
@@ -24,7 +26,7 @@ Supported boards
24
26
Supported devices
25
27
-------------------------------------------------------------------------------
26
28
27
- - :adi: `ADRV9002 `, in :adi: `ADRV9002NP/W2/PCBZ <EVAL-ADRV9002> `,
29
+ - :adi: `ADRV9002 `, in :adi: `ADRV9002NP/W2/PCBZ <EVAL-ADRV9002> `
28
30
29
31
Supported carriers
30
32
-------------------------------------------------------------------------------
@@ -69,39 +71,42 @@ The :git-hdl:`AXI ADRV9001 IP <library/axi_adrv9001>` in this HDL project is
69
71
configured to work in LVDS and CMOS interface; it supports two configuration
70
72
modes:
71
73
72
- - 2R2T - 2x Rx and 2x Tx independent control and DMAs for the two RF channels
73
- - 1R1T - 1x Rx and 1x Tx common control and DMAs for the two RF channels also
74
+ - 2R2T - 2x RX and 2x TX independent control and DMAs for the two RF channels
75
+ - 1R1T - 1x RX and 1x TX common control and DMAs for the two RF channels also
74
76
noted as R1_MODE
75
77
76
- For any mode the number of RF channels(two) doesn't change only the controlling
77
- instance and the DMAs.
78
+ For any mode, the number of RF channels (two) doesn't change --- only the
79
+ controlling instance and the DMAs do .
78
80
79
81
The design has four receive paths and four transmit paths.
80
- Two of the receive paths (Rx12) have four channels and the other (Rx2) two
82
+
83
+ Two of the receive paths (RX12) have four channels and the other (RX2) two
81
84
channels. These only work independently, not concomitantly.
82
- One must chose between two active paths (2R2T), or just the Rx12 (1R1T) path,
83
- which has four active channels, while Rx2 is disabled.
84
- The same applies to the transmit path but in the other direction.
85
85
86
- When only the Rx12 path is active with four channels mode, the axi_adrv9001
87
- core will take ownership of both of its source synchronous interfaces.
86
+ One must choose between two active paths (2R2T), or just the RX12 (1R1T) path,
87
+ which has four active channels, while RX2 is disabled.
88
+
89
+ The same applies to the transmit path, but in the other direction.
90
+
91
+ When only the RX12 path is active with four channels mode, the axi_adrv9001
92
+ core will take ownership of both of its source-synchronous interfaces.
88
93
The requirement in this case is that both interfaces, of an axi_adrv9001 core,
89
94
run at the same rate.
90
95
91
- Regarding the INDEPENDENT_1R1T_SUPPORT and COMMON_2R2T_SUPPORT parameters,
96
+ Regarding the `` INDEPENDENT_1R1T_SUPPORT `` and `` COMMON_2R2T_SUPPORT `` parameters
92
97
related to the above modes, their purpose is to remove the unused data paths,
93
98
reducing in this way the resource utilisation. By default all modes/paths are
94
99
available.
95
100
96
- For more info see the parameter description section of :ref: `axi_adrv9001 `.
101
+ For more info, see the Parameter Description section of :ref: `axi_adrv9001 `.
97
102
98
103
Clock scheme
99
104
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
100
105
101
- The clocks are managed by the ADRV9002 devices and are software programmable.
102
- Please refer to the device datasheet for the various clocks within the device.
106
+ The clocks are managed by the :adi: ` ADRV9002 ` devices and are software- programmable.
107
+ Please refer to the device data sheet for the various clocks within the device.
103
108
104
- Independently a board provides a 38.4MHz crystal for the :adi: `ADRV9002 `.
109
+ Independently, a board provides a 38.4MHz crystal for the :adi: `ADRV9002 `.
105
110
An external reference clock can also be used.
106
111
107
112
CPU/Memory interconnects addresses
@@ -227,13 +232,39 @@ If you want to build the sources, ADI makes them available on the
227
232
`clone <https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository >`__
228
233
the HDL repository.
229
234
235
+ This project has the following `make ` parameters:
236
+
237
+ - CMOS_LVDS_N - selects the interface type
238
+ - 0 = LVDS (default)
239
+ - 1 = CMOS
240
+ - USE_RX_CLK_FOR_TX1 - selects the clock to drive the TX1 SSI interface
241
+ - 0 = TX1 dedicated clock (default)
242
+ - 1 = RX1 SSI clock
243
+ - 2 = RX2 SSI clock
244
+ - USE_RX_CLK_FOR_TX2 - selects the clock to drive the TX2 SSI interface
245
+ - 0 = TX2 dedicated clock (default)
246
+ - 1 = RX1 SSI clock
247
+ - 2 = RX2 SSI clock
248
+
230
249
**Linux/Cygwin/WSL **
231
250
232
- .. shell ::
251
+ Building the default configuration (LVDS):
252
+
253
+ .. shell :: bash
233
254
234
255
$cd hdl/projects/adrv9001_dual/zcu102
235
256
$make
236
257
258
+ Example configuration with CMOS:
259
+
260
+ .. shell :: bash
261
+
262
+ ~/hdl/projects/adrv9001_dual/zcu102
263
+ $make CMOS_LVDS_N=1
264
+
265
+ The result of the build, if parameters were used, will be in a folder named
266
+ by the configuration used ``CMOSLVDSN1 ``.
267
+
237
268
A more comprehensive build guide can be found in the :ref: `build_hdl ` user guide.
238
269
239
270
Resources
@@ -242,18 +273,12 @@ Resources
242
273
Systems related
243
274
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
244
275
245
- Here you can find the quick start guides available for these evaluation boards:
246
-
247
- - :dokuwiki: `ZCU102 <resources/eval/user-guides/adrv9002_dual/quickstart/zynqmp> `
248
-
249
- Other useful information:
250
-
251
276
- :dokuwiki: `[Wiki] ADRV9001/2 User Guide <resources/eval/user-guides/adrv9001> `
252
277
253
278
HDL related
254
279
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
255
280
256
- - :git-hdl: `ADRV9001 HDL project source code <projects/adrv9001 > `
281
+ - :git-hdl: `ADRV9001_DUAL HDL project source code <projects/adrv9001_dual > `
257
282
258
283
.. list-table ::
259
284
:widths: 30 35 35
@@ -290,11 +315,6 @@ Software related
290
315
- :dokuwiki: `[Wiki] ADRV9002 Device Driver Customization <resources/tools-software/linux-drivers/iio-transceiver/adrv9002-customization> `
291
316
- :dokuwiki: `[Wiki] ADRV9002 Integrated Dual RF Transceiver Linux device driver <resources/tools-software/linux-drivers/iio-transceiver/adrv9002> `
292
317
293
- List of Linux device trees (to be dev).
294
-
295
- - :git-linux: `adrv9002 ZCU102 (rev10) Linux device tree <arch/arm/boot/dts/xilinx/zynqmp-zcu102-rev10-adrv9002-dual.dts> `
296
- - :git-linux: `adrv9002 ZCU102 (rev10) Linux device 2rx2tx tree <arch/arm/boot/dts/xilinx/zynqmp-zcu102-rev10-adrv9002-dual-rx2tx2.dts> `
297
-
298
318
.. include :: ../common/more_information.rst
299
319
300
320
.. include :: ../common/support.rst
0 commit comments