From 5a1a2dd226e51b85d856eaacfea65c77b3e78d7d Mon Sep 17 00:00:00 2001 From: Eric Serban Date: Wed, 3 Jun 2026 11:20:34 +0300 Subject: [PATCH] reference-designs/eval-ad9265: porting documentation from wiki to git - ported evaluation page - added landing page, prerequisites, user guide - added quickstarts for ZC706 (Linux & no-OS) and ZedBoard (Linux only) Signed-off-by: Eric Serban --- .../eval-ad9265/images/ad9265-blockdiag.png | 3 + .../eval-ad9265/images/ad9265_conn.jpg | 3 + .../eval-ad9265/images/ad9265_conn_jtag.jpg | 3 + .../ad9265_fmc_125ebz_typical_setup.jpg | 3 + .../eval-ad9265/images/ad9265_iio_conn.png | 3 + .../eval-ad9265/images/ad9265_iio_wave.png | 3 + .../eval-ad9265/images/ad9265_jtag_setup.jpg | 3 + .../eval-ad9265/images/ad9265_power.jpeg | 3 + .../eval-ad9265/images/ad9265_sd.jpeg | 3 + .../eval-ad9265/images/ad9265_setup_zc706.jpg | 3 + .../eval-ad9265/images/ad9265_sma.jpg | 3 + .../images/ad9265_spicontroller_cfg_open.png | 3 + ...ad9265_spicontroller_controller_dialog.png | 3 + .../ad9265_spicontroller_msg_ignore.png | 3 + ...d9265_spicontroller_read_chip_id_grade.png | 3 + .../ad9265_spicontroller_start_button.png | 3 + .../ad9265_spicontroller_unselect_sdo_2.png | 3 + .../eval-ad9265/images/ad9265_switch.jpeg | 3 + .../eval-ad9265/images/ad9265_switch_jtag.jpg | 3 + .../images/ad9265_typical_window_2.png | 3 + .../images/ad9265_va_adc_data_capture_2.png | 3 + ...d9265_va_adc_data_capture_setting_fpga.png | 3 + .../images/ad9265_va_disk_icon.png | 3 + .../images/ad9265_va_new_canvas.png | 3 + .../images/ad9265_va_start_button.png | 3 + .../eval-ad9265/images/ad9265_zed_conn.jpg | 3 + .../eval-ad9265/images/ad9265_zed_jumpers.jpg | 3 + .../eval-ad9265/images/ad9265_zed_sd.jpg | 3 + .../eval-ad9265/images/ad9265_zed_setup.jpg | 3 + .../eval-ad9265/images/ad9265_zed_sma.jpg | 3 + .../eval-ad9265/images/eval-ad9265.png | 3 + .../reference-designs/eval-ad9265/index.rst | 139 +++ .../eval-ad9265/prerequisites.rst | 41 + .../eval-ad9265/quickstart/index.rst | 81 ++ .../eval-ad9265/quickstart/zc706.rst | 999 ++++++++++++++++++ .../eval-ad9265/quickstart/zed.rst | 803 ++++++++++++++ .../eval-ad9265/sdp-h1-evaluation.rst | 256 +++++ .../eval-ad9265/user-guide.rst | 133 +++ 38 files changed, 2545 insertions(+) create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265-blockdiag.png create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_conn.jpg create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_conn_jtag.jpg create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_fmc_125ebz_typical_setup.jpg create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_iio_conn.png create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_iio_wave.png create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_jtag_setup.jpg create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_power.jpeg create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_sd.jpeg create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_setup_zc706.jpg create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_sma.jpg create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_cfg_open.png create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_controller_dialog.png create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_msg_ignore.png create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_read_chip_id_grade.png create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_start_button.png create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_unselect_sdo_2.png create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_switch.jpeg create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_switch_jtag.jpg create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_typical_window_2.png create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_adc_data_capture_2.png create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_adc_data_capture_setting_fpga.png create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_disk_icon.png create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_new_canvas.png create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_start_button.png create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_conn.jpg create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_jumpers.jpg create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_sd.jpg create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_setup.jpg create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_sma.jpg create mode 100644 docs/solutions/reference-designs/eval-ad9265/images/eval-ad9265.png create mode 100644 docs/solutions/reference-designs/eval-ad9265/index.rst create mode 100644 docs/solutions/reference-designs/eval-ad9265/prerequisites.rst create mode 100644 docs/solutions/reference-designs/eval-ad9265/quickstart/index.rst create mode 100644 docs/solutions/reference-designs/eval-ad9265/quickstart/zc706.rst create mode 100644 docs/solutions/reference-designs/eval-ad9265/quickstart/zed.rst create mode 100644 docs/solutions/reference-designs/eval-ad9265/sdp-h1-evaluation.rst create mode 100644 docs/solutions/reference-designs/eval-ad9265/user-guide.rst diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265-blockdiag.png b/docs/solutions/reference-designs/eval-ad9265/images/ad9265-blockdiag.png new file mode 100644 index 00000000000..cedae1c3154 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265-blockdiag.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba2d84fdd7772766fb7c07dea7e5f80351b1b7eb0ececb0780268ff2eeda07e7 +size 20589 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_conn.jpg b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_conn.jpg new file mode 100644 index 00000000000..ad21e4e411d --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_conn.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d5b91611a0670dd9d29b2f28fc12b0cbe5b8e26e74dce8f81fa528711f84f3a +size 1215110 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_conn_jtag.jpg b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_conn_jtag.jpg new file mode 100644 index 00000000000..6b189da3f21 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_conn_jtag.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8622c0a92b1227136f5de2660df83cb780840cc6737f594c3746f000ddb8854 +size 1169542 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_fmc_125ebz_typical_setup.jpg b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_fmc_125ebz_typical_setup.jpg new file mode 100644 index 00000000000..ff9ba292e19 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_fmc_125ebz_typical_setup.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e700c93c178d269b7a7cd6775d01181ad3ebd2d9752fc1ee2dd904299d8c527 +size 1000953 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_iio_conn.png b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_iio_conn.png new file mode 100644 index 00000000000..3719c39d741 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_iio_conn.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fc03a786050fdd09e8ada46b63eef2eeaa15f61d30646c14185a4c6dd9480eb +size 50063 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_iio_wave.png b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_iio_wave.png new file mode 100644 index 00000000000..81a2239937f --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_iio_wave.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfe60ca261af56be8d27dadfb3d8518c4a872035f5a1c92b986509d29f73b8a6 +size 94395 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_jtag_setup.jpg b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_jtag_setup.jpg new file mode 100644 index 00000000000..077047b2ace --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_jtag_setup.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:328da818bab58afda4dd2843c1ecf9cd40872c4c63ccd1e4c0b6f00d406f1698 +size 1203124 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_power.jpeg b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_power.jpeg new file mode 100644 index 00000000000..67755668b78 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_power.jpeg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa1b6a7fe957e7b9cc6ec2b928209402384653cd01477f0d5b3986cd86c728a9 +size 311559 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_sd.jpeg b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_sd.jpeg new file mode 100644 index 00000000000..a87a95d3e82 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_sd.jpeg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a05d8553d97f8f0a727d8c15b8789c426a12b9a3daf995ae7a99010640fb2b3 +size 236153 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_setup_zc706.jpg b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_setup_zc706.jpg new file mode 100644 index 00000000000..05f51a83a5f --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_setup_zc706.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b29a649ecc27eb05cdf51506f4107517fe01574aeabd2f2a20e925e9afed16ae +size 1328016 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_sma.jpg b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_sma.jpg new file mode 100644 index 00000000000..e14571b6f56 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_sma.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9e29f1189b04c7c446a54de6d34f35358dba077c85a137d90071c5f3e5a80b1 +size 871604 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_cfg_open.png b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_cfg_open.png new file mode 100644 index 00000000000..506b448fc31 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_cfg_open.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cca1c7448156fab834a4d10902f3a154ca5cab9c63b1b9317946d95ed6e77ef +size 5977 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_controller_dialog.png b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_controller_dialog.png new file mode 100644 index 00000000000..4d931179fbf --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_controller_dialog.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43e31a520ebfbf839e86e82777c618bac85dd8237cf23a723148c3a5545465c7 +size 74015 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_msg_ignore.png b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_msg_ignore.png new file mode 100644 index 00000000000..f6aabd43b14 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_msg_ignore.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f14428163af8a003dc7f9141001cd4705d60969b557098d785e27724475bb67f +size 13868 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_read_chip_id_grade.png b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_read_chip_id_grade.png new file mode 100644 index 00000000000..4739a1a5781 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_read_chip_id_grade.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c2152881597c28c4e2d158375450b46c851e933574d5f04f0e26f59dbd9163b +size 8775 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_start_button.png b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_start_button.png new file mode 100644 index 00000000000..2b9e59ca8cd --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_start_button.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:650d960f1583e1dd4b85e167fc2710f862a1151bb5a704ec3eacbfdda02478e6 +size 1477 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_unselect_sdo_2.png b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_unselect_sdo_2.png new file mode 100644 index 00000000000..8057e708a6c --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_spicontroller_unselect_sdo_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f5b16ff103cc92d796d7b4777d479decd45ed32be9f150b9c031c9099d49520 +size 99886 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_switch.jpeg b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_switch.jpeg new file mode 100644 index 00000000000..bb20ca04e42 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_switch.jpeg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff18deb8c581e90a56850133331a29cbf46d6d3232dd137a69bfbe7965474051 +size 296177 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_switch_jtag.jpg b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_switch_jtag.jpg new file mode 100644 index 00000000000..fc69803b8ff --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_switch_jtag.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc3c7455aee015e10061b357774bcaa31f8b52d2abc05aef6b1b96fd4f765cd0 +size 1092054 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_typical_window_2.png b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_typical_window_2.png new file mode 100644 index 00000000000..5bebf12d947 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_typical_window_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d560e27fc1e079e2576990f62ba3500777b22cc99299b090efc260188b44313 +size 218850 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_adc_data_capture_2.png b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_adc_data_capture_2.png new file mode 100644 index 00000000000..3ce10ed8497 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_adc_data_capture_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0f1426b72792dc88f511a70b9bf2cf6e88388dbbb7ffd5dc30827e260d2d7a3 +size 46041 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_adc_data_capture_setting_fpga.png b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_adc_data_capture_setting_fpga.png new file mode 100644 index 00000000000..a9592990da7 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_adc_data_capture_setting_fpga.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ea05ae59d0e6a9509d01e763f583c1c3ceda08ea94278056d0ed3d153f6e503 +size 12633 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_disk_icon.png b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_disk_icon.png new file mode 100644 index 00000000000..c6e6a71278a --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_disk_icon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a167b018668a70cd113c9de1b5c620b5b6db66b53d3389aaa8b5d1e1439977e +size 44326 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_new_canvas.png b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_new_canvas.png new file mode 100644 index 00000000000..47120382684 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_new_canvas.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76a4bc7e9893cfb26621ea4223a22d872606b3be4eb25500bc1b1c208d7cd87b +size 21261 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_start_button.png b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_start_button.png new file mode 100644 index 00000000000..f8ba5ca5e59 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_va_start_button.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c60c8096c2ec52b3c725ae52cddd2cc8e33d1a775e408022cbe66fa2b5896c0 +size 1558 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_conn.jpg b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_conn.jpg new file mode 100644 index 00000000000..e2eb0f60a72 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_conn.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b42d1e3243aeda43f1326bc926ff936d689d7866418320d4ae544f67154861de +size 958491 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_jumpers.jpg b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_jumpers.jpg new file mode 100644 index 00000000000..e48e06459b4 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_jumpers.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfb4a5f9982cbf79a735735b1707d036a82d7cd77f83fd24297433ee80cd6741 +size 1691674 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_sd.jpg b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_sd.jpg new file mode 100644 index 00000000000..8674c494681 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_sd.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:daf221fd83248d6bf6c04f0784e255f9ca34612e132b3d62e8c852f4622d6a8d +size 818488 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_setup.jpg b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_setup.jpg new file mode 100644 index 00000000000..6e2ff1395ec --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_setup.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0641560b329d210ac6d85cdfa3961bfec3260ac129d5505a978d3bbcef0ad15a +size 1488284 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_sma.jpg b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_sma.jpg new file mode 100644 index 00000000000..75bca2eae3b --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/ad9265_zed_sma.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88d66c0991eacde98274561fce220d320a1c0a373d7f51b425a792cf74b9694c +size 804214 diff --git a/docs/solutions/reference-designs/eval-ad9265/images/eval-ad9265.png b/docs/solutions/reference-designs/eval-ad9265/images/eval-ad9265.png new file mode 100644 index 00000000000..17757d0993c --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/images/eval-ad9265.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b861e50432e884638415d37647c48800797525384e1decfd18bda1123d95ae49 +size 599424 diff --git a/docs/solutions/reference-designs/eval-ad9265/index.rst b/docs/solutions/reference-designs/eval-ad9265/index.rst new file mode 100644 index 00000000000..f15278c8ee5 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/index.rst @@ -0,0 +1,139 @@ +.. _eval_ad9265: + +EVAL-AD9265 +=============================================================================== + +16-Bit, 125 MSPS/105 MSPS/80 MSPS, 1.8 V Analog-to-Digital Converter. + +.. image:: images/eval-ad9265.png + :width: 400 + +Overview +------------------------------------------------------------------------------- + +The :adi:`EVAL-AD9265` is a full-featured evaluation board for the +:adi:`AD9265`, a 16-bit, 125 MSPS analog-to-digital converter (ADC). +It connects to an FPGA carrier via the FMC LPC connector, enabling data +capture and analysis using standard ADI software tools. + +The :adi:`AD9265` is designed to support communications applications where +high performance combined with low cost, small size, and versatility is +desired. The ADC core features a multistage, differential pipelined +architecture with integrated output error correction logic to provide 16-bit +accuracy at 125 MSPS data rates and guarantees no missing codes over the full +operating temperature range. The AD9265 is available in a Pb-free, 48-lead +LFCSP and is specified over the industrial temperature range of −40°C to ++85°C. + +Features: + +- SNR = 79.0 dBFS @ 70 MHz and 125 MSPS +- SFDR = 93 dBc @ 70 MHz and 125 MSPS +- Low power: 373 mW @ 125 MSPS +- 1.8 V analog supply operation +- 1.8 V CMOS or LVDS output supply +- Integer 1-to-8 input clock divider +- IF sampling frequencies to 300 MHz +- −154.3 dBm/Hz small signal input noise with 200 Ω input impedance @ 70 MHz and 125 MSPS +- Optional on-chip dither for improved SFDR with low power input signals +- Programmable internal ADC voltage reference +- Integrated ADC sample-and-hold inputs +- Flexible analog input range: 1 V p-p to 2 V p-p +- Differential analog inputs with 650 MHz bandwidth +- ADC clock duty cycle stabilizer +- Serial port control (SPI) +- User-configurable, built-in self-test (BIST) capability +- Energy-saving power-down modes +- Pin-compatible with the AD9255 (14-bit) + +Applications: + +- Multimode digital receivers (3G): GSM, EDGE, W-CDMA, LTE, CDMA2000, WiMAX, TD-SCDMA +- Smart antenna systems +- General-purpose software radios +- Broadband data applications +- Ultrasound equipment + +.. toctree:: + :hidden: + + user-guide + prerequisites + quickstart/index + sdp-h1-evaluation + +Recommendations +------------------------------------------------------------------------------- + +People who follow the flow that is outlined, have a much better experience with +things. However, like many things, documentation is never as complete as it +should be. If you have any questions, feel free to ask on our +:ref:`EngineerZone forums `, but before that, please make +sure you read our documentation thoroughly. + +To better understand the :adi:`AD9265`, we recommend using the +:adi:`EVAL-AD9265` evaluation board. + +Table of contents +------------------------------------------------------------------------------- + +#. Using the evaluation board/full stack reference design that we offer: + + #. :ref:`eval_ad9265 user-guide` - what you need to know about the + evaluation board + #. :ref:`Prerequisites ` - what you need to get + started + #. :ref:`Quick start guide `: + + #. Using the :ref:`ZC706 ` (FPGA) + #. Using the :ref:`ZedBoard ` (FPGA) + + #. Configure an SD Card with :external+kuiper:doc:`Kuiper ` + + #. Linux Applications + + #. :ref:`iio-oscilloscope` + #. :external+scopy:doc:`Scopy ` + +#. Design with the AD9265 + + - :ref:`eval_ad9265 block-diagram` + + - :adi:`AD9265 product page ` + + - Resources for designing a custom AD9265-based platform + + #. For Linux software: + + #. About the device driver: + + - :git-linux:`AD9467 Linux IIO ADC driver (also supports AD9265) ` + - :external+linux:ref:`axi-adc-hdl` + - :external+linux:ref:`axi-dmac` + + #. About the device tree: + + - :dokuwiki:`Customizing the device tree on the target ` + + #. For no-OS software: + + - :external+no-OS:doc:`projects/adc/ad9265-fmc-125ebz` + + #. :external+hdl:ref:`HDL reference design ` which you must + use in your FPGA. + +#. :ref:`Help and Support ` + +.. _eval_ad9265 block-diagram: + +Block diagram +------------------------------------------------------------------------------- + +.. image:: images/ad9265-blockdiag.png + :align: center + :width: 800 + +Help and support +------------------------------------------------------------------------------- + +Please go to :ref:`Help and Support ` page. diff --git a/docs/solutions/reference-designs/eval-ad9265/prerequisites.rst b/docs/solutions/reference-designs/eval-ad9265/prerequisites.rst new file mode 100644 index 00000000000..192bf444fa2 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/prerequisites.rst @@ -0,0 +1,41 @@ +.. _eval_ad9265 prerequisites: + +Prerequisites +=============================================================================== + +Hardware prerequisites +------------------------------------------------------------------------------- + +#. :adi:`EVAL-AD9265` FMC evaluation board (AD9265-FMC-125EBZ) +#. One of the supported FPGA carrier boards and its power supply: + + - AMD Xilinx :xilinx:`ZC706` Rev 1.1 or higher — 12 V power supply, + Mini-USB for UART (J21), Micro-USB for JTAG, LAN for Ethernet (J45) + - AMD Xilinx :xilinx:`ZedBoard` — 12 V power supply, + Micro-USB for UART (J14), LAN for Ethernet (J11) + +#. SMA cables for analog input connection to the evaluation board (J100) +#. Signal generator (low-jitter, low-phase-noise recommended for ADC + evaluation) +#. SD card with at least 16 GB of storage -- required for Linux boot + +.. note:: + + :adi:`ADI <>` does not offer FPGA carrier platforms for sale or loan; + getting one yourself is the normal part of development or evaluation. + +Software prerequisites +------------------------------------------------------------------------------- + +**For Linux (Kuiper)** + +#. SD card imaged with :external+kuiper:doc:`Kuiper Linux ` +#. :git-iio-oscilloscope:`IIO Oscilloscope ` +#. :external+scopy:doc:`Scopy ` v2.0 or later (requires the IIO plugin) +#. UART terminal application (PuTTY/Tera Term/Minicom), 115200 8N1 + +**For no-OS** (ZC706 only) + +#. AMD Xilinx Vitis 2025.1 or later (includes Vivado) +#. Python 3, CMake, and Ninja (required by the ``no_os_build.py`` build script) +#. UART terminal application (PuTTY/Tera Term/Minicom), 115200 8N1 diff --git a/docs/solutions/reference-designs/eval-ad9265/quickstart/index.rst b/docs/solutions/reference-designs/eval-ad9265/quickstart/index.rst new file mode 100644 index 00000000000..6d9d7c48fd8 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/quickstart/index.rst @@ -0,0 +1,81 @@ +.. _eval_ad9265 quickstart: + +Quickstart +=============================================================================== + +The Quick Start Guides provide simple step by step instructions on how to do +an initial system setup for the :adi:`EVAL-AD9265` board. + +FPGA-based evaluation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Use these guides when evaluating with an FPGA carrier board. They cover +bitstream programming, no-OS programs and Linux boot. + +.. toctree:: + + On ZC706 + On ZedBoard + +.. _eval_ad9265 carriers: + +Supported carriers +------------------------------------------------------------------------------- + +The :adi:`EVAL-AD9265` is, by definition, a "FPGA mezzanine card" (FMC); +that means it needs a carrier to plug into. + +The carriers we support are: + +.. list-table:: + :header-rows: 1 + + - - FPGA board + - EVAL-AD9265 + - - :xilinx:`ZC706` + - FMC LPC + - - :xilinx:`ZedBoard` + - FMC LPC + +Supported environments +------------------------------------------------------------------------------- + +The supported OS are: + +.. list-table:: + :header-rows: 1 + + - - Eval Board + - FPGA board + - HDL + - Linux software + - No-OS software + - - EVAL-AD9265 + - :xilinx:`ZC706` + - Yes + - Yes + - Yes + - - EVAL-AD9265 + - :xilinx:`ZedBoard` + - Yes + - Yes + - No + +Hardware setup +------------------------------------------------------------------------------- + +On all carriers, the :adi:`EVAL-AD9265` board connects to the FMC LPC +connector. The carrier setup requires power, UART (115200), Ethernet (Linux), +and/or JTAG (no-OS) connections. A few typical setups are shown below. + +ZC706 + EVAL-AD9265 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. image:: ../images/ad9265_setup_zc706.jpg + :width: 800 + +ZedBoard + EVAL-AD9265 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. image:: ../images/ad9265_zed_setup.jpg + :width: 800 diff --git a/docs/solutions/reference-designs/eval-ad9265/quickstart/zc706.rst b/docs/solutions/reference-designs/eval-ad9265/quickstart/zc706.rst new file mode 100644 index 00000000000..9b3efe52372 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/quickstart/zc706.rst @@ -0,0 +1,999 @@ +.. _eval_ad9265 quickstart zc706: + +ZC706 Quickstart +=============================================================================== + +This guide provides quick instructions on how to set up the +:adi:`EVAL-AD9265` on: + +- :xilinx:`ZC706` (rev 1.1 or higher) FMC LPC + +.. image:: ../../images/zc706.png + :width: 900 + +.. esd-warning:: + +Using Linux as software +------------------------------------------------------------------------------- + +Necessary files +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. note:: + + The SD card includes several folders in the root directory of the BOOT + partition. In order to configure the SD card to work with a specific FPGA + board and ADI hardware, several files must be copied onto the root directory. + Using the host PC, drag and drop the required files onto the BOOT partition, + and use the EJECT function when removing the SD card from the reader. + +The following files are needed for the system to boot: + +- HDL boot image: ``BOOT.BIN`` +- Linux Kernel image: ``uImage`` +- Linux device tree: ``devicetree.dtb`` + +They can either be taken from the SD card - already generated by us, or you +can build them manually: + +- Instructions on how to choose the boot files from the SD card can be found in + the **Platform-Specific Manual Steps** section from here: + :external+kuiper:ref:`hardware-configuration`. +- Instructions on how to manually build the boot files from source can be found + here: + + - :ref:`linux-kernel zynq` + - :external+hdl:ref:`ad9265_fmc` build documentation. More HDL build details + at :external+hdl:ref:`build_hdl`. + +.. important:: + + Some projects provide multiple devicetree files in the SD card's boot folders. + Make sure you select the devicetree that matches your specific use case. + +Required software +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- SD card (16 GB minimum) imaged with :external+kuiper:doc:`Kuiper ` + (see that guide for instructions, then return here) +- :git-iio-oscilloscope:`IIO Oscilloscope ` +- A UART terminal (PuTTY/Tera Term/Minicom, etc.), baud rate 115200 (8N1) + +Required hardware +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- AMD Xilinx :xilinx:`ZC706` Rev 1.1 or higher FPGA board and its 12 V power + supply +- :adi:`EVAL-AD9265` FMC evaluation board (AD9265-FMC-125EBZ) +- Mini-USB cable (UART, connects to J21) +- LAN cable (Ethernet, connects to J45) +- Signal generator (low-jitter, low-phase-noise recommended) +- SMA cables for analog input connection to J100 + +More details can be found at :ref:`eval_ad9265 prerequisites`. + +Testing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Creating the setup +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. caution:: + + This project was tested with **VADJ = 2.5 V** + +.. image:: ../images/ad9265_setup_zc706.jpg + :width: 600 + +Follow the steps in this order, to avoid damaging the components: + +#. Get the :xilinx:`ZC706 ` +#. Insert the SD card into the SD Card Interface Connector (J30) + + .. image:: ../images/ad9265_sd.jpeg + :width: 600 + +#. Plug the :adi:`EVAL-AD9265` into the FMC LPC Connector (J5) +#. Connect your signal generator to the analog input of the evaluation board + using a SMA cable connected to the J100 pin. + + .. image:: ../images/ad9265_sma.jpg + :width: 600 + +#. Plug the Mini-USB cable into the UART connector (J21) and connect it to your + host PC. +#. Plug the Ethernet cable into the Ethernet connector (J45) and connect it to + your host PC. + + .. image:: ../images/ad9265_conn.jpg + :width: 600 + +#. Plug the Power Supply into 12V Power input connector (J22) (DO NOT turn the + device on). + + .. image:: ../images/ad9265_power.jpeg + :width: 600 + +#. Set the boot mode switch (SW11). For SD card boot, set it to: + **1: Down, 2: Down, 3: Up, 4: Up, 5: Down**. + + .. image:: ../images/ad9265_switch.jpeg + :width: 600 + +#. Turn on the power switch on the FPGA board +#. Connect to the serial console to observe the boot messages + +Boot messages +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The following is what is printed in the serial console, after you have connected +to the proper ttyUSB or COM port: + +.. collapsible:: Complete boot log + + :: + + U-Boot 2018.01-21441-ga6ab387 (Aug 31 2022 - 11:41:38 +0100) Xilinx Zynq ZC706, Build: jenkins-development-build_uboot-2 + + Model: Zynq ZC706 Development Board + Board: Xilinx Zynq + Silicon: v3.1 + I2C: ready + DRAM: ECC disabled 1 GiB + MMC: sdhci@e0100000: 0 (SD) + SF: Detected s25fl128s_64k with page size 512 Bytes, erase size 128 KiB, total 32 MiB + *** Warning - bad CRC, using default environment + + In: serial@e0001000 + Out: serial@e0001000 + Err: serial@e0001000 + Net: ZYNQ GEM: e000b000, phyaddr 7, interface rgmii-id + eth0: ethernet@e000b000 + reading uEnv.txt + 407 bytes read in 18 ms (21.5 KiB/s) + Importing environment from SD ... + Hit any key to stop autoboot: 0 + Device: sdhci@e0100000 + Manufacturer ID: 1d + OEM: 4144 + Name: USDTran Speed: 50000000 + Rd Block Len: 512 + SD version 3.0 + High Capacity: Yes + Capacity: 29.1 GiB + Bus Width: 4-bit + Erase Group Size: 512 Bytes + reading uEnv.txt + 407 bytes read in 19 ms (20.5 KiB/s) + Loaded environment from uEnv.txt + Importing environment from SD ... + Running uenvcmd ... + Copying Linux from SD to RAM... + reading uImage + 7538368 bytes read in 432 ms (16.6 MiB/s) + reading devicetree.dtb + 20579 bytes read in 25 ms (803.7 KiB/s) + ** Unable to read file uramdisk.image.gz ** + ## Booting kernel from Legacy Image at 03000000 ... + Image Name: Linux-5.10.0-98744-g64e7a607b659 + Image Type: ARM Linux Kernel Image (uncompressed) + Data Size: 7538304 Bytes = 7.2 MiB + Load Address: 00008000 + Entry Point: 00008000 + Verifying Checksum ... OK + ## Flattened Device Tree blob at 02a00000 + Booting using the fdt blob at 0x2a00000 + Loading Kernel Image ... OK + Loading Device Tree to 1fff7000, end 1ffff062 ... OK + + Starting kernel ... + + Booting Linux on physical CPU 0x0 + Linux version 5.10.0-98744-g64e7a607b659 (jenkins@romlxbuild1) (arm-xilinx-linux-gnueabi-gcc.real (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.0.20200730) #1788 SMP PREEMPT Fri Mar 31 16:51:05 EEST 2023 + CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d + CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache + OF: fdt: Machine model: Xilinx Zynq ZC706 + OF: fdt: earlycon: stdout-path /amba@0/uart@E0001000 not found + Memory policy: Data cache writealloc + cma: Reserved 128 MiB at 0x38000000 + Zone ranges: + Normal [mem 0x0000000000000000-0x000000002fffffff] + HighMem [mem 0x0000000030000000-0x000000003fffffff] + Movable zone start for each node + Early memory node ranges + node 0: [mem 0x0000000000000000-0x000000003fffffff] + Initmem setup node 0 [mem 0x0000000000000000-0x000000003fffffff] + percpu: Embedded 15 pages/cpu s29900 r8192 d23348 u61440 + Built 1 zonelists, mobility grouping on. Total pages: 260608 + Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlycon rootfstype=ext4 rootwait clk_ignore_unused cpuidle.off=1 + Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear) + Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear) + mem auto-init: stack:off, heap alloc:off, heap free:off + Memory: 886020K/1048576K available (11264K kernel code, 804K rwdata, 7628K rodata, 1024K init, 492K bss, 31484K reserved, 131072K cma-reserved, 131072K highmem) + rcu: Preemptible hierarchical RCU implementation. + rcu: RCU event tracing is enabled. + rcu: RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2. + Trampoline variant of Tasks RCU enabled. + rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. + rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2 + NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 + efuse mapped to (ptrval) + slcr mapped to (ptrval) + L2C: platform modifies aux control register: 0x72360000 -> 0x72760000 + L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000 + L2C-310 erratum 769419 enabled + L2C-310 enabling early BRESP for Cortex-A9 + L2C-310 full line of zeros enabled for Cortex-A9 + L2C-310 ID prefetch enabled, offset 1 lines + L2C-310 dynamic clock gating enabled, standby mode enabled + L2C-310 cache controller enabled, 8 ways, 512 kB + L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001 + random: get_random_bytes called from start_kernel+0x33c/0x4e0 with crng_init=0 + zynq_clock_init: clkc starts at (ptrval) + Zynq clock init + sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns + clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns + Switching to timer-based delay loop, resolution 3ns + clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns + timer #0 at (ptrval), irq=25 + Console: colour dummy device 80x30 + Calibrating delay loop (skipped), value calculated using timer frequency.. 666.66 BogoMIPS (lpj=3333333) + pid_max: default: 32768 minimum: 301 + Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear) + Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear) + CPU: Testing write buffer coherency: ok + CPU0: Spectre v2: using BPIALL workaround + CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 + Setting up static identity map for 0x100000 - 0x100060 + rcu: Hierarchical SRCU implementation. + smp: Bringing up secondary CPUs ... + CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 + CPU1: Spectre v2: using BPIALL workaround + smp: Brought up 1 node, 2 CPUs + SMP: Total of 2 processors activated (1333.33 BogoMIPS). + CPU: All CPU(s) started in SVC mode. + devtmpfs: initialized + VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4 + clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns + futex hash table entries: 512 (order: 3, 32768 bytes, linear) + pinctrl core: initialized pinctrl subsystem + NET: Registered protocol family 16 + DMA: preallocated 256 KiB pool for atomic coherent allocations + thermal_sys: Registered thermal governor 'step_wise' + hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers. + hw-breakpoint: maximum watchpoint size is 4 bytes. + zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0x(ptrval) + e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 33, base_baud = 3125000) is a xuartps + printk: console [ttyPS0] enabled + SCSI subsystem initialized + usbcore: registered new interface driver usbfs + usbcore: registered new interface driver hub + usbcore: registered new device driver usb + mc: Linux media interface: v0.10 + videodev: Linux video capture interface: v2.00 + jesd204: found 0 devices and 0 topologies + FPGA manager framework + Advanced Linux Sound Architecture Driver Initialized. + clocksource: Switched to clocksource arm_global_timer + NET: Registered protocol family 2 + tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear) + TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear) + TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear) + TCP: Hash tables configured (established 8192 bind 8192) + UDP hash table entries: 512 (order: 2, 16384 bytes, linear) + UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear) + NET: Registered protocol family 1 + RPC: Registered named UNIX socket transport module. + RPC: Registered udp transport module. + RPC: Registered tcp transport module. + RPC: Registered tcp NFSv4.1 backchannel transport module. + hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing. + hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available + workingset: timestamp_bits=30 max_order=18 bucket_order=0 + NFS: Registering the id_resolver key type + Key type id_resolver registered + Key type id_legacy registered + nfs4filelayout_init: NFSv4 File Layout Driver Registering... + fuse: init (API version 7.32) + bounce: pool size: 64 pages + io scheduler mq-deadline registered + io scheduler kyber registered + zynq-pinctrl 700.pinctrl: zynq pinctrl initialized + dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330 + dma-pl330 f8003000.dmac: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16 + brd: module loaded + loop: module loaded + Registered mathworks_ip class + spi-nor spi1.0: found s25fl128s1, expected n25q128a11 + random: fast init done + random: crng init done + spi-nor spi1.0: trying to lock already unlocked area + spi-nor spi1.0: s25fl128s1 (32768 Kbytes) + 5 fixed-partitions partitions found on MTD device spi1.0 + Creating 5 MTD partitions on "spi1.0": + 0x000000000000-0x000000500000 : "boot" + 0x000000500000-0x000000520000 : "bootenv" + 0x000000520000-0x000000540000 : "config" + 0x000000540000-0x000000fc0000 : "image" + 0x000000fc0000-0x000002000000 : "spare" + MACsec IEEE 802.1AE + libphy: Fixed MDIO Bus: probed + tun: Universal TUN/TAP device driver, 1.6 + libphy: MACB_mii_bus: probed + macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 36 (00:0a:35:00:01:22) + usbcore: registered new interface driver asix + usbcore: registered new interface driver ax88179_178a + usbcore: registered new interface driver cdc_ether + usbcore: registered new interface driver net1080 + usbcore: registered new interface driver cdc_subset + usbcore: registered new interface driver zaurus + usbcore: registered new interface driver cdc_ncm + ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver + usbcore: registered new interface driver uas + usbcore: registered new interface driver usb-storage + usbcore: registered new interface driver usbserial_generic + usbserial: USB Serial support registered for generic + usbcore: registered new interface driver ftdi_sio + usbserial: USB Serial support registered for FTDI USB Serial Device + usbcore: registered new interface driver upd78f0730 + usbserial: USB Serial support registered for upd78f0730 + ULPI transceiver vendor/product ID 0x0424/0x0007 + Found SMSC USB3320 ULPI transceiver. + ULPI integrity check: passed. + ci_hdrc ci_hdrc.0: EHCI Host Controller + ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1 + ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00 + usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10 + usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 + usb usb1: Product: EHCI Host Controller + usb usb1: Manufacturer: Linux 5.10.0-98744-g64e7a607b659 ehci_hcd + usb usb1: SerialNumber: ci_hdrc.0 + hub 1-0:1.0: USB hub found + hub 1-0:1.0: 1 port detected + i2c /dev entries driver + si570 1-005d: registered, current frequency 156250000 Hz + i2c i2c-0: Added multiplexed i2c bus 1 + adv7511 2-0039: supply avdd not found, using dummy regulator + adv7511 2-0039: supply dvdd not found, using dummy regulator + adv7511 2-0039: supply pvdd not found, using dummy regulator + adv7511 2-0039: supply bgvdd not found, using dummy regulator + adv7511 2-0039: supply dvdd-3v not found, using dummy regulator + i2c i2c-0: Added multiplexed i2c bus 2 + at24 3-0054: supply vcc not found, using dummy regulator + at24 3-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write + i2c i2c-0: Added multiplexed i2c bus 3 + pca953x 4-0021: supply vcc not found, using dummy regulator + pca953x 4-0021: using no AI + i2c i2c-0: Added multiplexed i2c bus 4 + rtc-pcf8563 5-0051: low voltage detected, date/time is not reliable. + rtc-pcf8563 5-0051: registered as rtc0 + rtc-pcf8563 5-0051: low voltage detected, date/time is not reliable. + rtc-pcf8563 5-0051: hctosys: unable to read the hardware clock + i2c i2c-0: Added multiplexed i2c bus 5 + i2c i2c-0: Added multiplexed i2c bus 6 + i2c i2c-0: Added multiplexed i2c bus 7 + i2c i2c-0: Added multiplexed i2c bus 8 + pca954x 0-0074: registered 8 multiplexed busses for I2C switch pca9548 + usbcore: registered new interface driver uvcvideo + USB Video Class driver (1.1.1) + gspca_main: v2.14.0 registered + cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer with timeout 10s + Xilinx Zynq CpuIdle Driver started + failed to register cpuidle driver + sdhci: Secure Digital Host Controller Interface driver + sdhci: Copyright(c) Pierre Ossman + sdhci-pltfm: SDHCI platform and OF driver helper + ledtrig-cpu: registered to indicate activity on CPUs + hid: raw HID events driver (C) Jiri Kosina + usbcore: registered new interface driver usbhid + usbhid: USB HID core driver + mmc0: SDHCI controller on e0100000.mmc [e0100000.mmc] using ADMA + ad9517 spi0.1: AD9517 successfully initialized + axi_sysid 45000000.axi-sysid-0: AXI System ID core version (1.01.a) found + axi_sysid 45000000.axi-sysid-0: [ad9265_fmc] on [zc706] git branch git clean [2023-03-31 20:31:44] UTC + fpga_manager fpga0: Xilinx Zynq FPGA Manager registered + mmc0: new high speed SDHC card at address 0001 + usbcore: registered new interface driver snd-usb-audio + mmcblk0: mmc0:0001 USD 29.1 GiB + NET: Registered protocol family 10 + mmcblk0: p1 p2 p3 + Segment Routing with IPv6 + sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver + NET: Registered protocol family 17 + NET: Registered protocol family 36 + Key type dns_resolver registered + Registering SWP/SWPB emulation handler + of-fpga-region fpga-full: FPGA Region probed + [drm] Initialized axi_hdmi_drm 1.0.0 20120930 for 70e00000.axi_hdmi on minor 0 + axi-hdmi 70e00000.axi_hdmi: [drm] Cannot find any crtc or sizes + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + + | + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + o + INVERT DCO 0x0 CLK 0 Hz + cf_axi_adc 44a00000.axi-ad9265-core-lpc: ADI AIM (10.02.b) at 0x44A00000 mapped to 0x2108dc5a probed ADC AD9265 as MASTER + input: gpio_keys as /devices/soc0/gpio_keys/input/input0 + of_cfs_init + of_cfs_init: OK + clk: Not disabling unused clocks + ALSA device list: + #0: HDMI monitor + EXT4-fs (mmcblk0p2): recovery complete + EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) + VFS: Mounted root (ext4 filesystem) on device 179:2. + devtmpfs: mounted + Freeing unused kernel memory: 1024K + Run /sbin/init as init process + systemd[1]: System time before build time, advancing clock. + systemd[1]: systemd 247.3-7+rpi1+deb11u1 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified) + systemd[1]: Detected architecture arm. + + Welcome to Kuiper GNU/Linux 11.2 (bullseye)! + + systemd[1]: Set hostname to . + systemd[1]: /lib/systemd/system/plymouth-start.service:16: Unit configured to use KillMode=none. This is unsafe, as it disables systemd's process lifecycle management for the service. Please update your service to use a safer KillMode=, such as 'mixed' or 'control-group'. Support for KillMode=none is deprecated and will eventually be removed. + systemd[1]: Queued start job for default target Graphical Interface. + systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling. + systemd[1]: (This warning is only shown for the first unit using IP firewalling.) + systemd[1]: Created slice system-getty.slice. + [ OK ] Created slice system-getty.slice. + systemd[1]: Created slice system-modprobe.slice. + [ OK ] Created slice system-modprobe.slice. + systemd[1]: Created slice system-serial\x2dgetty.slice. + [ OK ] Created slice system-serial\x2dgetty.slice. + systemd[1]: Created slice system-systemd\x2dfsck.slice. + [ OK ] Created slice system-systemd\x2dfsck.slice. + systemd[1]: Created slice User and Session Slice. + [ OK ] Created slice User and Session Slice. + systemd[1]: Started Forward Password Requests to Wall Directory Watch. + [ OK ] Started Forward Password R…uests to Wall Directory Watch. + systemd[1]: Condition check resulted in Arbitrary Executable File Formats File System Automount Point being skipped. + systemd[1]: Reached target Slices. + [ OK ] Reached target Slices. + systemd[1]: Reached target Swap. + [ OK ] Reached target Swap. + systemd[1]: Listening on Syslog Socket. + [ OK ] Listening on Syslog Socket. + systemd[1]: Listening on fsck to fsckd communication Socket. + [ OK ] Listening on fsck to fsckd communication Socket. + systemd[1]: Listening on initctl Compatibility Named Pipe. + [ OK ] Listening on initctl Compatibility Named Pipe. + systemd[1]: Condition check resulted in Journal Audit Socket being skipped. + systemd[1]: Listening on Journal Socket (/dev/log). + [ OK ] Listening on Journal Socket (/dev/log). + systemd[1]: Listening on Journal Socket. + [ OK ] Listening on Journal Socket. + systemd[1]: Listening on udev Control Socket. + [ OK ] Listening on udev Control Socket. + systemd[1]: Listening on udev Kernel Socket. + [ OK ] Listening on udev Kernel Socket. + systemd[1]: Condition check resulted in Huge Pages File System being skipped. + systemd[1]: Condition check resulted in POSIX Message Queue File System being skipped. + systemd[1]: Mounting RPC Pipe File System... + Mounting RPC Pipe File System... + systemd[1]: Mounting Kernel Debug File System... + Mounting Kernel Debug File System... + systemd[1]: Condition check resulted in Kernel Trace File System being skipped. + systemd[1]: Condition check resulted in Kernel Module supporting RPCSEC_GSS being skipped. + systemd[1]: Starting Restore / save the current clock... + Starting Restore / save the current clock... + systemd[1]: Starting Set the console keyboard layout... + Starting Set the console keyboard layout... + systemd[1]: Condition check resulted in Create list of static device nodes for the current kernel being skipped. + systemd[1]: Starting Load Kernel Module configfs... + Starting Load Kernel Module configfs... + systemd[1]: Starting Load Kernel Module drm... + Starting Load Kernel Module drm... + systemd[1]: Starting Load Kernel Module fuse... + Starting Load Kernel Module fuse... + systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped. + systemd[1]: Condition check resulted in File System Check on Root Device being skipped. + systemd[1]: Starting Journal Service... + Starting Journal Service... + systemd[1]: Starting Load Kernel Modules... + Starting Load Kernel Modules... + systemd[1]: Starting Remount Root and Kernel File Systems... + Starting Remount Root and Kernel File Systems... + systemd[1]: Starting Coldplug All udev Devices... + Starting Coldplug All udev Devices... + systemd[1]: Mounted RPC Pipe File System. + [ OK ] Mounted RPC Pipe File System. + systemd[1]: Mounted Kernel Debug File System. + [ OK ] Mounted Kernel Debug File System. + systemd[1]: Finished Restore / save the current clock. + [ OK ] Finished Restore / save the current clock. + systemd[1]: modprobe@configfs.service: Succeeded. + systemd[1]: Finished Load Kernel Module configfs. + [ OK ] Finished Load Kernel Module configfs. + systemd[1]: modprobe@drm.service: Succeeded. + systemd[1]: Finished Load Kernel Module drm. + [ OK ] Finished Load Kernel Module drm. + systemd[1]: modprobe@fuse.service: Succeeded. + systemd[1]: Finished Load Kernel Module fuse. + [ OK ] Finished Load Kernel Module fuse. + systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE + systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'. + EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) + systemd[1]: Failed to start Load Kernel Modules. + [FAILED] Failed to start Load Kernel Modules. + See 'systemctl status systemd-modules-load.service' for details. + systemd[1]: Started Journal Service. + [ OK ] Started Journal Service. + [ OK ] Finished Set the console keyboard layout. + [ OK ] Finished Remount Root and Kernel File Systems. + Mounting FUSE Control File System... + Mounting Kernel Configuration File System... + Starting Flush Journal to Persistent Storage... + Starting Load/Save Random Seed... + systemd-journald[96]: Received client request to flush runtime journal. + Starting Apply Kernel Variables... + Starting Create System Users... + systemd-journald[96]: File /var/log/journal/d63f539d2eec4e4da82accda789ef6cd/system.journal corrupted or uncleanly shut down, renaming and replacing. + [ OK ] Mounted FUSE Control File System. + [ OK ] Mounted Kernel Configuration File System. + [ OK ] Finished Load/Save Random Seed. + [ OK ] Finished Apply Kernel Variables. + [ OK ] Finished Create System Users. + [ OK ] Finished Coldplug All udev Devices. + Starting Helper to synchronize boot up for ifupdown... + Starting Create Static Device Nodes in /dev... + Starting Wait for udev To …plete Device Initialization... + [ OK ] Finished Flush Journal to Persistent Storage. + [ OK ] Finished Helper to synchronize boot up for ifupdown. + [ OK ] Finished Create Static Device Nodes in /dev. + [ OK ] Reached target Local File Systems (Pre). + Starting Rule-based Manage…for Device Events and Files... + [ OK ] Started Rule-based Manager for Device Events and Files. + Starting Show Plymouth Boot Screen... + [ OK ] Started Show Plymouth Boot Screen. + [ OK ] Started Forward Password R…s to Plymouth Directory Watch. + [ OK ] Reached target Local Encrypted Volumes. + [ OK ] Found device /dev/ttyPS0. + [ OK ] Found device /dev/disk/by-partuuid/9785213e-01. + [ OK ] Finished Wait for udev To Complete Device Initialization. + Starting File System Check…isk/by-partuuid/9785213e-01... + Starting Load Kernel Modules... + [ OK ] Started File System Check Daemon to report status. + [FAILED] Failed to start Load Kernel Modules. + See 'systemctl status systemd-modules-load.service' for details. + [ OK ] Finished File System Check…/disk/by-partuuid/9785213e-01. + Mounting /boot... + [ OK ] Mounted /boot. + [ OK ] Reached target Local File Systems. + Starting Set console font and keymap... + Starting Raise network interfaces... + Starting Preprocess NFS configuration... + Starting Tell Plymouth To Write Out Runtime Data... + Starting Create Volatile Files and Directories... + [ OK ] Finished Set console font and keymap. + [ OK ] Finished Preprocess NFS configuration. + [ OK ] Finished Tell Plymouth To Write Out Runtime Data. + [ OK ] Reached target NFS client services. + [ OK ] Reached target Remote File Systems (Pre). + [ OK ] Reached target Remote File Systems. + [ OK ] Finished Create Volatile Files and Directories. + Starting Update UTMP about System Boot/Shutdown... + [ OK ] Finished Update UTMP about System Boot/Shutdown. + [ OK ] Reached target System Initialization. + [ OK ] Started CUPS Scheduler. + [ OK ] Started Daily apt download activities. + [ OK ] Started Daily apt upgrade and clean activities. + [ OK ] Started Periodic ext4 Onli…ata Check for All Filesystems. + [ OK ] Started Discard unused blocks once a week. + [ OK ] Started Daily rotation of log files. + [ OK ] Started Daily man-db regeneration. + [ OK ] Started Daily Cleanup of Temporary Directories. + [ OK ] Reached target Paths. + [ OK ] Reached target Timers. + [ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket. + [ OK ] Listening on CUPS Scheduler. + [ OK ] Listening on D-Bus System Message Bus Socket. + [ OK ] Listening on Erlang Port Mapper Daemon Activation Socket. + [ OK ] Listening on GPS (Global P…ioning System) Daemon Sockets. + [ OK ] Listening on triggerhappy.socket. + [ OK ] Reached target Sockets. + [ OK ] Reached target Basic System. + Starting Analog Devices power up/down sequence... + Starting Save/Restore Sound Card State... + Starting Avahi mDNS/DNS-SD Stack... + [ OK ] Started Regular background program processing daemon. + [ OK ] Started D-Bus System Message Bus. + Starting dphys-swapfile - …unt, and delete a swap file... + Starting Remove Stale Onli…t4 Metadata Check Snapshots... + Starting Creating IIOD Context Attributes...... + Starting Authorization Manager... + Starting DHCP Client Daemon... + Starting LSB: Switch to on…nless shift key is pressed)... + Starting LSB: rng-tools (Debian variant)... + Starting System Logging Service... + Starting User Login Management... + Starting triggerhappy global hotkey daemon... + Starting Disk Manager... + Starting WPA supplicant... + [ OK ] Finished Save/Restore Sound Card State. + [ OK ] Started triggerhappy global hotkey daemon. + [ OK ] Started System Logging Service. + [ OK ] Finished Remove Stale Onli…ext4 Metadata Check Snapshots. + [ OK ] Started DHCP Client Daemon. + [ OK ] Finished Raise network interfaces. + [ OK ] Finished dphys-swapfile - …mount, and delete a swap file. + [ OK ] Started LSB: rng-tools (Debian variant). + [ OK ] Started Authorization Manager. + [ OK ] Started Avahi mDNS/DNS-SD Stack. + [ OK ] Started WPA supplicant. + [ OK ] Reached target Sound Card. + Starting Modem Manager... + [ OK ] Reached target Network. + [ OK ] Reached target Network is Online. + Starting CUPS Scheduler... + [ OK ] Started Erlang Port Mapper Daemon. + Starting HTTP based time synchronization tool... + Starting Internet superserver... + Starting /etc/rc.local Compatibility... + Starting OpenBSD Secure Shell server... + Starting Permit User Sessions... + [ OK ] Started Internet superserver. + [ OK ] Started User Login Management. + [ OK ] Started Unattended Upgrades Shutdown. + [ OK ] Finished Permit User Sessions. + Starting Light Display Manager... + [ OK ] Started HTTP based time synchronization tool. + [ OK ] Started CUPS Scheduler. + [ OK ] Started /etc/rc.local Compatibility. + [ OK ] Started Make remote CUPS printers available locally. + Starting Hold until boot process finishes up... + [ OK ] Started LSB: Switch to ond…(unless shift key is pressed). + [FAILED] Failed to start VNC Server for X11. + + Raspbian GNU/Linux 11 analog ttyPS0 + + analog login: root (automatic login) + + Linux analog 5.10.0-98744-g64e7a607b659 #1788 SMP PREEMPT Fri Mar 31 16:51:05 EEST 2023 armv7l + + The programs included with the Debian GNU/Linux system are free software; + the exact distribution terms for each program are described in the + individual files in /usr/share/doc/*/copyright. + + Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent + permitted by applicable law. + Last login: Sun Apr 2 21:47:01 BST 2023 on ttyPS0 + root@analog:~# + + +Useful commands for the serial terminal +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The below commands are to be run in the serial terminal connected to the FPGA. + +**Login Information** + +user: analog +password: analog + +To find out the IP of the FPGA board, run the following command and take the +IP specified at "eth0 inet": + +.. shell:: + + $ifconfig + +To see the IIO devices detected, run: + +.. shell:: + + $iio_info | grep iio:device + iio:device0: xadc + iio:device1: ad9517-4 + iio:device2: axi-ad9265-core-lpc (buffer capable) + +To power off the system, run the following command, and wait for the final +message to be printed, then power off the FPGA board from the switch as well. + +.. shell:: + + $poweroff + +To reboot the system, run: + +.. shell:: + + $reboot + +.. important:: + + This is a persistent file system. Care should be taken not to corrupt the + file system - please shut down things, don't just turn off the power switch. + Depending on your monitor, the standard power off could be hiding. You can + do this from the terminal as well with :code:`sudo shutdown -h now` or the above-mentioned command for powering off. + +IIO Oscilloscope +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. important:: + Make sure to download/update to the latest version of + :git-iio-oscilloscope:`IIO Oscilloscope `. + +#. Once the board has booted, open IIO Oscilloscope on your host PC. Supply + the board's IP address as the URI in the format ``ip:``. To + find the IP address, run ``ifconfig`` in the serial terminal and look for + the address under ``eth0 inet``. +#. Press ``Refresh`` to display available IIO devices and press ``Connect`` + after your device has been detected. + + .. image:: ../images/ad9265_iio_conn.png + :width: 900 + +#. Select the ``axi-ad9265-core-lpc`` device and enable the ``voltage0`` + channel. Press the ``Play`` button to start sampling. The data capture + window will show the digitized waveform from the ADC in both time and + frequency domains. + + .. image:: ../images/ad9265_iio_wave.png + :width: 900 + +Using no-OS as software +------------------------------------------------------------------------------- + +Necessary files +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The following files are needed to build and run the no-OS project: + +- HDL hardware description: ``system_top.xsa`` — generated from the HDL project +- no-OS project: :git-no-os:`projects/ad9265-fmc-125ebz` + +Instructions on how to build these from source can be found here: + +- :external+no-OS:doc:`projects/adc/ad9265-fmc-125ebz`. More no-OS build details at + :external+no-OS:doc:`build_guide`. +- :external+hdl:ref:`ad9265_fmc`. More HDL build details at + :external+hdl:ref:`build_hdl`. + +Required software +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- AMD Xilinx Vitis 2025.1 or later (includes Vivado; download from + `here `_) +- Python 3, CMake, and Ninja (required by the ``no_os_build.py`` build script) +- A UART terminal (PuTTY/Tera Term/Minicom, etc.), baud rate 115200 (8N1) + +Required hardware +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- AMD Xilinx :xilinx:`ZC706` Rev 1.1 or higher FPGA board and its 12 V power + supply +- :adi:`EVAL-AD9265` FMC evaluation board (AD9265-FMC-125EBZ) +- Mini-USB cable (UART, connects to J21) +- Micro-USB cable (JTAG) +- Signal generator (low-jitter, low-phase-noise recommended) +- SMA cables for analog input connection to J100 + +More details can be found at :ref:`eval_ad9265 prerequisites`. + +Hardware setup +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. image:: ../images/ad9265_jtag_setup.jpg + :width: 600 + +.. caution:: + + This project was tested with **VADJ = 2.5 V** + +Follow the steps in this order, to avoid damaging the components: + +#. Connect the :adi:`EVAL-AD9265` FMC board to the ZC706 **LPC** FMC socket (J5) +#. Connect your signal generator to the analog input SMA connector (J100) on + the evaluation board. + + .. image:: ../images/ad9265_sma.jpg + :width: 600 + +#. Configure the :xilinx:`ZC706` for JTAG boot mode by setting SW11: + + .. list-table:: + :header-rows: 1 + + - - Switch + - Position + - - SW11-1 + - DOWN + - - SW11-2 + - DOWN + - - SW11-3 + - DOWN + - - SW11-4 + - DOWN + - - SW11-5 + - DOWN + + .. image:: ../images/ad9265_switch_jtag.jpg + :width: 600 + +#. Connect the Mini-USB cable to the UART connector (J21) and to your host PC +#. Connect the Micro-USB cable to the JTAG connector and to your host PC + + .. image:: ../images/ad9265_conn_jtag.jpg + :width: 600 + +#. Connect the power supply to the 12 V Power Input Connector (J22) + + .. image:: ../images/ad9265_power.jpeg + :width: 600 + +#. Turn on the power switch (SW1) on the FPGA board — the green LED (DS22) + will illuminate when power is on + +Supported examples +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Demo example +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The demo example initializes the AD9265 ADC via the AXI ADC core and AXI +DMAC, runs test pattern verification on the digital output lanes, and performs +a DMA capture of ADC samples into DDR memory. + +Build and flash +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +.. shell:: + + $source /opt/Xilinx/2025.1/Vitis/settings64.sh + $cd no-OS + $python tools/scripts/no_os_build.py build \ + --project ad9265-fmc-125ebz --variant demo --board zc706 \ + --hardware /path/to/system_top.xsa \ + --probe openocd --flash + +Boot messages +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +The following is what is printed in the serial console after the demo example +boots: + +.. collapsible:: Demo boot log + + :: + + ad9265_core: Successfully initialized (125001525 Hz) + ooooooo|ooooooo------------------ + DCO 0x6 + AD9265 successfully initialized. + Capture done. + Done + +IIO example +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The IIO example launches an IIOD server on the carrier board so that the user +may connect to it via an IIO client. Using the :ref:`iio-oscilloscope` +application, users can configure the AD9265 ADC and visualize captured data +from the 16-bit, 125 MSPS ADC. + +Build and flash +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +.. shell:: + + $source /opt/Xilinx/2025.1/Vitis/settings64.sh + $cd no-OS + $python tools/scripts/no_os_build.py build \ + --project ad9265-fmc-125ebz --variant iio --board zc706 \ + --hardware /path/to/system_top.xsa \ + --probe openocd --flash + +Boot messages +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +The following is what is printed in the serial console after the IIO example +boots: + +.. collapsible:: IIO boot log + + :: + + ad9265_core: Successfully initialized (125001525 Hz) + ooooooo|ooooooo----------------Running IIOD server... + If successful, you may connect an IIO client application by: + + 1. Disconnecting the serial terminal you use to view this message. + 2. Connecting the IIO client application using the serial backend + configured as shown: + + Baudrate: 115200 + Data bits: 8 + Parity: none + Stop bits: 1 + Flow control: none + +IIO Oscilloscope +------------------------------------------------------------------------------- + +.. important:: + Make sure to download/update to the latest version of + :git-iio-oscilloscope:`IIO Oscilloscope `. + +#. Once the IIO example is running and the serial terminal is closed, open + IIO Oscilloscope. Connect using the serial backend URI: + + .. code-block:: text + + serial:COM10,115200 + + replacing ``COM10`` with the appropriate port on your system + (e.g. ``/dev/ttyUSB0`` on Linux). + +#. Press ``Refresh`` to display available IIO devices and press ``Connect`` + after your device has been detected. +#. Select the ``axi-ad9265-core-lpc`` device and enable the ``voltage0`` + channel. Press the ``Play`` button to start sampling. The data capture + window will show the digitized waveform from the ADC in both time and + frequency domains. + + .. image:: ../images/ad9265_iio_wave.png + :width: 900 \ No newline at end of file diff --git a/docs/solutions/reference-designs/eval-ad9265/quickstart/zed.rst b/docs/solutions/reference-designs/eval-ad9265/quickstart/zed.rst new file mode 100644 index 00000000000..91af644552e --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/quickstart/zed.rst @@ -0,0 +1,803 @@ +.. _eval_ad9265 quickstart zed: + +ZedBoard Quickstart +=============================================================================== + +This guide provides quick instructions on how to set up the +:adi:`EVAL-AD9265` on: + +- :xilinx:`ZedBoard` FMC LPC + +.. image:: ../../images/ZedBoard.png + :width: 700 + +.. esd-warning:: + +Using Linux as software +------------------------------------------------------------------------------- + +Necessary files +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. note:: + + The SD card includes several folders in the root directory of the BOOT + partition. In order to configure the SD card to work with a specific FPGA + board and ADI hardware, several files must be copied onto the root directory. + Using the host PC, drag and drop the required files onto the BOOT partition, + and use the EJECT function when removing the SD card from the reader. + +The following files are needed for the system to boot: + +- HDL boot image: ``BOOT.BIN`` +- Linux Kernel image: ``uImage`` +- Linux device tree: ``devicetree.dtb`` + +They can either be taken from the SD card - already generated by us, or you +can build them manually: + +- Instructions on how to choose the boot files from the SD card can be found in + the **Platform-Specific Manual Steps** section from here: + :external+kuiper:ref:`hardware-configuration`. +- Instructions on how to manually build the boot files from source can be found + here: + + - :ref:`linux-kernel zynq` + - :external+hdl:ref:`ad9265_fmc` build documentation. More HDL build details + at :external+hdl:ref:`build_hdl`. + +.. important:: + + Some projects provide multiple devicetree files in the SD card's boot folders. + Make sure you select the devicetree that matches your specific use case. + +Required software +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- SD card (16 GB minimum) imaged with :external+kuiper:doc:`Kuiper ` + (see that guide for instructions, then return here) +- :git-iio-oscilloscope:`IIO Oscilloscope ` +- A UART terminal (PuTTY/Tera Term/Minicom, etc.), baud rate 115200 (8N1) + +Required hardware +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- AMD Xilinx :xilinx:`ZedBoard` FPGA board and its 12 V power supply +- :adi:`EVAL-AD9265` FMC evaluation board (AD9265-FMC-125EBZ) +- Micro-USB cable (UART, connects to J14) +- LAN cable (Ethernet, connects to J11) +- Signal generator (low-jitter, low-phase-noise recommended) +- SMA cable for analog input connection to J100 + +More details can be found at :ref:`eval_ad9265 prerequisites`. + +Testing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Creating the setup +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. caution:: + + This project was tested with **VADJ = 2.5 V** + +.. image:: ../images/ad9265_zed_setup.jpg + :width: 600 + +Follow the steps in this order, to avoid damaging the components: + +#. Get the :xilinx:`ZedBoard ` +#. Insert the SD card into the SD card slot (J12) + + .. image:: ../images/ad9265_zed_sd.jpg + :width: 600 + +#. Plug the :adi:`EVAL-AD9265` into the FMC LPC Connector (J1) +#. Connect your signal generator to the analog input of the evaluation board + using a SMA cable connected to the J100 pin. + + .. image:: ../images/ad9265_zed_sma.jpg + :width: 600 + +#. Plug the Micro-USB cable into the UART connector (J14) and connect it to your + host PC. +#. Plug the Ethernet cable into the Ethernet connector (J11) and connect it to + your host PC. +#. Plug the Power Supply into the 12V Power input connector (J20) (DO NOT turn + the device on). + + .. image:: ../images/ad9265_zed_conn.jpg + :width: 600 + +#. Set the boot mode jumpers (JP7–JP11). For SD card boot, set them to: + + .. list-table:: + :header-rows: 1 + + - - Jumper + - Position + - - JP7 + - GND + - - JP8 + - GND + - - JP9 + - 3V3 + - - JP10 + - 3V3 + - - JP11 + - GND + + .. image:: ../images/ad9265_zed_jumpers.jpg + :width: 600 + +#. Turn on the power switch (SW8) on the FPGA board +#. Connect to the serial console to observe the boot messages + +Boot messages +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The following is what is printed in the serial console, after you have connected +to the proper ttyUSB or COM port: + +.. collapsible:: Complete boot log + + :: + + U-Boot 2018.01-01677-geb93226123b (Mar 09 2026 - 12:15:19 +0200), Build: jenkins-development-build_uboot-69 + + Model: Zynq Zreading uEnv.txt + 407 bytes read in 23 ms (16.6 KiB/s) + Importing environment from SD ... + Hit any key to stop autoboot: 0 + Device: sdhci@e0100000 + Manufacturer ID: 1d + OEM: 4144 + Name: USDTran Speed: 50000000 + Rd Block Len: 512 + SD version 3.0 + High Capacity: Yes + Capacity: 29.1 GiB + Bus Width: 4-bit + Erase Group Size: 512 Bytes + reading uEnv.txt + 407 bytes read in 23 ms (16.6 KiB/s) + Loaded environment from uEnv.txt + Importing environment from SD ... + Running uenvcmd ... + Copying Linux from SD to RAM... + reading uImage + 8410448 bytes read in 487 ms (16.5 MiB/s) + reading devicetree.dtb + 20807 bytes read in 30 ms (676.8 KiB/s) + ** Unable to read file uramdisk.image.gz ** + ## Booting kernel from Legacy Image at 03000000 ... + Image Name: Linux-6.1.70-284094-g54eb23f4b5c + Image Type: ARM Linux Kernel Image (uncompressed) + Data Size: 8410384 Bytes = 8 MiB + Load Address: 00008000 + Entry Point: 00008000 + Verifying Checksum ... OK + ## Flattened Device Tree blob at 02a00000 + Booting using the fdt blob at 0x2a00000 + Loading Kernel Image ... OK + Loading Device Tree to 1eb12000, end 1eb1a146 ... OK + + Starting kernel ... + + Booting Linux on physical CPU 0x0 + Linux version 6.1.70-284094-g54eb23f4b5c6 (jenkins@romlxbuild1) (arm-xilinx-linux-gnueabi-gcc.real (GCC) 12.2.0, GNU ld (GNU Binutils) 2.39.0.20220819) #209 SMP PREEMPT Fri Nov 8 06:39:15 EET 2024 + CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d + CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache + OF: fdt: Machine model: Xilinx Zynq ZED + OF: fdt: earlycon: stdout-path /amba@0/uart@E0001000 not found + Memory policy: Data cache writealloc + cma: Reserved 128 MiB at 0x16800000 + Zone ranges: + Normal [mem 0x0000000000000000-0x000000001fffffff] + HighMem empty + Movable zone start for each node + Early memory node ranges + node 0: [mem 0x0000000000000000-0x000000001fffffff] + Initmem setup node 0 [mem 0x0000000000000000-0x000000001fffffff] + percpu: Embedded 11 pages/cpu s14420 r8192 d22444 u45056 + Built 1 zonelists, mobility grouping on. Total pages: 130048 + Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlycon rootfstype=ext4 rootwait clk_ignore_unused cpuidle.off=1 + Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear) + Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear) + mem auto-init: stack:all(zero), heap alloc:off, heap free:off + Memory: 361892K/524288K available (12288K kernel code, 818K rwdata, 10376K rodata, 1024K init, 470K bss, 31324K reserved, 131072K cma-reserved, 0K highmem) + rcu: Preemptible hierarchical RCU implementation. + rcu: RCU event tracing is enabled. + rcu: RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2. + rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. + rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2 + NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 + efuse mapped to (ptrval) + slcr mapped to (ptrval) + L2C: platform modifies aux control register: 0x72360000 -> 0x72760000 + L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000 + L2C-310 erratum 769419 enabled + L2C-310 enabling early BRESP for Cortex-A9 + L2C-310 full line of zeros enabled for Cortex-A9 + L2C-310 ID prefetch enabled, offset 1 lines + L2C-310 dynamic clock gating enabled, standby mode enabled + L2C-310 cache controller enabled, 8 ways, 512 kB + L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001 + rcu: srcu_init: Setting srcu_struct sizes based on contention. + zynq_clock_init: clkc starts at (ptrval) + Zynq clock init + sched_clock: 64 bits at 167MHz, resolution 6ns, wraps every 4398046511103ns + clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x26703d7dd8, max_idle_ns: 440795208065 ns + Switching to timer-based delay loop, resolution 6ns + clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns + timer #0 at (ptrval), irq=25 + Console: colour dummy device 80x30 + Calibrating delay loop (skipped), value calculated using timer frequency.. 333.33 BogoMIPS (lpj=1666666) + CPU: Testing write buffer coherency: ok + CPU0: Spectre v2: using BPIALL workaround + pid_max: default: 32768 minimum: 301 + Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) + Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) + CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 + Setting up static identity map for 0x100000 - 0x100060 + rcu: Hierarchical SRCU implementation. + rcu: Max phase no-delay instances is 1000. + smp: Bringing up secondary CPUs ... + CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 + CPU1: Spectre v2: using BPIALL workaround + smp: Brought up 1 node, 2 CPUs + SMP: Total of 2 processors activated (666.66 BogoMIPS). + CPU: All CPU(s) started in SVC mode. + devtmpfs: initialized + VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4 + clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns + futex hash table entries: 512 (order: 3, 32768 bytes, linear) + pinctrl core: initialized pinctrl subsystem + NET: Registered PF_NETLINK/PF_ROUTE protocol family + DMA: preallocated 256 KiB pool for atomic coherent allocations + thermal_sys: Registered thermal governor 'step_wise' + platform axi: Fixed dependency cycle(s) with /axi/interrupt-controller@f8f01000 + amba f8801000.etb: Fixed dependency cycle(s) with /replicator/out-ports/port@1/endpoint + amba f8803000.tpiu: Fixed dependency cycle(s) with /replicator/out-ports/port@0/endpoint + amba f8804000.funnel: Fixed dependency cycle(s) with /replicator/in-ports/port/endpoint + amba f889c000.ptm: Fixed dependency cycle(s) with /axi/funnel@f8804000/in-ports/port@0/endpoint + amba f889d000.ptm: Fixed dependency cycle(s) with /axi/funnel@f8804000/in-ports/port@1/endpoint + hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers. + hw-breakpoint: maximum watchpoint size is 4 bytes. + e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 27, base_baud = 3125000) is a xuartps + printk: console [ttyPS0] enabled + SCSI subsystem initialized + usbcore: registered new interface driver usbfs + usbcore: registered new interface driver hub + usbcore: registered new device driver usb + mc: Linux media interface: v0.10 + videodev: Linux video capture interface: v2.00 + pps_core: LinuxPPS API ver. 1 registered + pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti + PTP clock support registered + jesd204: found 0 devices and 0 topologies + FPGA manager framework + Advanced Linux Sound Architecture Driver Initialized. + clocksource: Switched to clocksource arm_global_timer + NET: Registered PF_INET protocol family + IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear) + tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear) + Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) + TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear) + TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear) + TCP: Hash tables configured (established 4096 bind 4096) + UDP hash table entries: 256 (order: 1, 8192 bytes, linear) + UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear) + NET: Registered PF_UNIX/PF_LOCAL protocol family + RPC: Registered named UNIX socket transport module. + RPC: Registered udp transport module. + RPC: Registered tcp transport module. + RPC: Registered tcp NFSv4.1 backchannel transport module. + armv7-pmu f8891000.pmu: hw perfevents: no interrupt-affinity property, guessing. + hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available + workingset: timestamp_bits=30 max_order=17 bucket_order=0 + NFS: Registering the id_resolver key type + Key type id_resolver registered + Key type id_legacy registered + nfs4filelayout_init: NFSv4 File Layout Driver Registering... + nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering... + fuse: init (API version 7.37) + io scheduler mq-deadline registered + io scheduler kyber registered + zynq-pinctrl 700.pinctrl: zynq pinctrl initialized + dma-pl330 f8003000.dma-controller: Loaded driver for PL330 DMAC-241330 + dma-pl330 f8003000.dma-controller: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16 + brd: module loaded + loop: module loaded + Registered mathworks_ip class + SPI driver spidev has no spi_device_id for adi,swspi + spi-nor spi1.0: found s25fl256s1, expected n25q128a11 + spi-nor spi1.0: s25fl256s1 (32768 Kbytes) + 5 fixed-partitions partitions found on MTD device spi1.0 + Creating 5 MTD partitions on "spi1.0": + 0x000000000000-0x000000500000 : "boot" + 0x000000500000-0x000000520000 : "bootenv" + 0x000000520000-0x000000540000 : "config" + 0x000000540000-0x000000fc0000 : "image" + 0x000000fc0000-0x000002000000 : "spare" + MACsec IEEE 802.1AE + tun: Universal TUN/TAP device driver, 1.6 + hwmon hwmon0: temp1_input not attached to any thermal zone + macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 44 (00:0a:35:ab:31:22) + usbcore: registered new interface driver asix + usbcore: registered new interface driver ax88179_178a + usbcore: registered new interface driver cdc_ether + usbcore: registered new interface driver net1080 + usbcore: registered new interface driver cdc_subset + usbcore: registered new interface driver zaurus + usbcore: registered new interface driver cdc_ncm + usbcore: registered new interface driver r8153_ecm + usbcore: registered new interface driver uas + usbcore: registered new interface driver usb-storage + usbcore: registered new interface driver usbserial_generic + usbserial: USB Serial support registered for generic + usbcore: registered new interface driver ftdi_sio + usbserial: USB Serial support registered for FTDI USB Serial Device + usbcore: registered new interface driver upd78f0730 + usbserial: USB Serial support registered for upd78f0730 + ULPI transceiver vendor/product ID 0x0451/0x1507 + Found TI TUSB1210 ULPI transceiver. + ULPI integrity check: passed. + ci_hdrc ci_hdrc.0: EHCI Host Controller + ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1 + ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00 + usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01 + usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 + usb usb1: Product: EHCI Host Controller + usb usb1: Manufacturer: Linux 6.1.70-284094-g54eb23f4b5c6 ehci_hcd + usb usb1: SerialNumber: ci_hdrc.0 + hub 1-0:1.0: USB hub found + hub 1-0:1.0: 1 port detected + SPI driver ads7846 has no spi_device_id for ti,tsc2046 + SPI driver ads7846 has no spi_device_id for ti,ads7843 + SPI driver ads7846 has no spi_device_id for ti,ads7845 + SPI driver ads7846 has no spi_device_id for ti,ads7873 + i2c_dev: i2c /dev entries driver + i2c 0-0039: Fixed dependency cycle(s) with /fpga-axi@0/axi_hdmi@70e00000/port/endpoint + adv7511 0-0039: supply avdd not found, using dummy regulator + adv7511 0-0039: supply dvdd not found, using dummy regulator + adv7511 0-0039: supply pvdd not found, using dummy regulator + adv7511 0-0039: supply bgvdd not found, using dummy regulator + adv7511 0-0039: supply dvdd-3v not found, using dummy regulator + at24 1-0050: supply vcc not found, using dummy regulator + at24 1-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write + gspca_main: v2.14.0 registered + usbcore: registered new interface driver uvcvideo + cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer with timeout 10s + Xilinx Zynq CpuIdle Driver started + failed to register cpuidle driver + sdhci: Secure Digital Host Controller Interface driver + sdhci: Copyright(c) Pierre Ossman + sdhci-pltfm: SDHCI platform and OF driver helper + ledtrig-cpu: registered to indicate activity on CPUs + hid: raw HID events driver (C) Jiri Kosina + usbcore: registered new interface driver usbhid + usbhid: USB HID core driver + SPI driver fb_seps525 has no spi_device_id for syncoam,seps525 + mmc0: SDHCI controller on e0100000.mmc [e0100000.mmc] using ADMA + ad9517 spi0.1: AD9517 successfully initialized + SPI driver adis16475 has no spi_device_id for adi,adis16470 + SPI driver adis16475 has no spi_device_id for adi,adis16475-1 + SPI driver adis16475 has no spi_device_id for adi,adis16475-2 + SPI driver adis16475 has no spi_device_id for adi,adis16475-3 + SPI driver adis16475 has no spi_device_id for adi,adis16477-1 + SPI driver adis16475 has no spi_device_id for adi,adis16477-2 + SPI driver adis16475 has no spi_device_id for adi,adis16477-3 + SPI driver adis16475 has no spi_device_id for adi,adis16465-1 + SPI driver adis16475 has no spi_device_id for adi,adis16465-2 + SPI driver adis16475 has no spi_device_id for adi,adis16465-3 + SPI driver adis16475 has no spi_device_id for adi,adis16467-1 + SPI driver adis16475 has no spi_device_id for adi,adis16467-2 + SPI driver adis16475 has no spi_device_id for adi,adis16467-3 + SPI driver adis16475 has no spi_device_id for adi,adis16500 + SPI driver adis16475 has no spi_device_id for adi,adis16501 + SPI driver adis16475 has no spi_device_id for adi,adis16505-1 + SPI driver adis16475 has no spi_device_id for adi,adis16505-2 + SPI driver adis16475 has no spi_device_id for adi,adis16505-3 + SPI driver adis16475 has no spi_device_id for adi,adis16507-1 + SPI driver adis16475 has no spi_device_id for adi,adis16507-2 + SPI driver adis16475 has no spi_device_id for adi,adis16507-3 + SPI driver adis16475 has no spi_device_id for adi,adis16575-2 + mmc0: new high speed SDHC card at address 0001 + SPI driver adis16475 has no spi_device_id for adi,adis16575-3 + mmcblk0: mmc0:0001 USD 29.1 GiB + SPI driver adis16475 has no spi_device_id for adi,adis16576-2 + SPI driver adis16475 has no spi_device_id for adi,adis16576-3 + SPI driver adis16475 has no spi_device_id for adi,adis16577-2 + mmcblk0: p1 p2 p3 + SPI driver adis16475 has no spi_device_id for adi,adis16577-3 + axi_sysid 45000000.axi-sysid-0: AXI System ID core version (1.01.a) found + axi_sysid 45000000.axi-sysid-0: [ad9265_fmc] on [zed] git branch git clean [2026-08-06 07:42:03] UTC + fpga_manager fpga0: Xilinx Zynq FPGA Manager registered + usbcore: registered new interface driver snd-usb-audio + axi-i2s 77600000.axi-i2s: probed, capture enabled, playback enabled + NET: Registered PF_INET6 protocol family + Segment Routing with IPv6 + In-situ OAM (IOAM) with IPv6 + sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver + NET: Registered PF_PACKET protocol family + NET: Registered PF_IEEE802154 protocol family + Key type dns_resolver registered + zynq_pm_remap_ocm: OCM pool is not available + zynq_pm_suspend_init: Unable to map OCM. + Registering SWP/SWPB emulation handler + of-fpga-region fpga-full: FPGA Region probed + [drm] Initialized axi_hdmi_drm 1.0.0 20120930 for 70e00000.axi_hdmi on minor 0 + axi-hdmi 70e00000.axi_hdmi: [drm] Cannot find any crtc or sizes + axi-hdmi 70e00000.axi_hdmi: [drm] Cannot find any crtc or sizes + axi-hdmi 70e00000.axi_hdmi: [drm] Cannot find any crtc or sizes + debugfs: File 'Capture' in directory 'dapm' already present! + o + o + o + o + o + o + o + o + o + | + o + o + o + o + o + o + o + o + o + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + DCO 0x8 CLK 0 Hz + cf_axi_adc 44a00000.axi-ad9265core-lpc: ADI AIM (10.03.) at 0x44A00000 mapped to 0x(ptrval) probed ADC AD9265 as MASTER + of_cfs_init + of_cfs_init: OK + clk: Not disabling unused clocks + ALSA device list: + #0: HDMI monitor + #1: ZED ADAU1761 + EXT4-fs (mmcblk0p2): recovery complete + EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: disabled. + VFS: Mounted root (ext4 filesystem) on device 179:2. + devtmpfs: mounted + Freeing unused kernel image (initmem) memory: 1024K + Run /sbin/init as init process + systemd[1]: System time before build time, advancing clock. + systemd[1]: systemd 247.3-7+rpi1+deb11u6 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified) + systemd[1]: Detected architecture arm. + + Welcome to Kuiper GNU/Linux 11.2 (bullseye)! + + systemd[1]: Set hostname to . + systemd[1]: /lib/systemd/system/plymouth-start.service:16: Unit configured to use KillMode=none. This is unsafe, as it disables systemd's process lifecycle management for the service. Please update your service to use a safer KillMode=, such as 'mixed' or 'control-group'. Support for KillMode=none is deprecated and will eventually be removed. + systemd[1]: /lib/systemd/system/iiod.service:14: Invalid environment assignment, ignoring: $IIOD_EXTRA_OPTS= + systemd[1]: Queued start job for default target Graphical Interface. + random: crng init done + systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling. + systemd[1]: (This warning is only shown for the first unit using IP firewalling.) + systemd[1]: Created slice system-getty.slice. + [ OK ] Created slice system-getty.slice. + systemd[1]: Created slice system-modprobe.slice. + [ OK ] Created slice system-modprobe.slice. + systemd[1]: Created slice system-serial\x2dgetty.slice. + [ OK ] Created slice system-serial\x2dgetty.slice. + systemd[1]: Created slice system-systemd\x2dfsck.slice. + [ OK ] Created slice system-systemd\x2dfsck.slice. + systemd[1]: Created slice User and Session Slice. + [ OK ] Created slice User and Session Slice. + systemd[1]: Started Forward Password Requests to Wall Directory Watch. + [ OK ] Started Forward Password R…uests to Wall Directory Watch. + systemd[1]: Condition check resulted in Arbitrary Executable File Formats File System Automount Point being skipped. + systemd[1]: Reached target Slices. + [ OK ] Reached target Slices. + systemd[1]: Reached target Swap. + [ OK ] Reached target Swap. + systemd[1]: Listening on Syslog Socket. + [ OK ] Listening on Syslog Socket. + systemd[1]: Listening on fsck to fsckd communication Socket. + [ OK ] Listening on fsck to fsckd communication Socket. + systemd[1]: Listening on initctl Compatibility Named Pipe. + [ OK ] Listening on initctl Compatibility Named Pipe. + systemd[1]: Condition check resulted in Journal Audit Socket being skipped. + systemd[1]: Listening on Journal Socket (/dev/log). + [ OK ] Listening on Journal Socket (/dev/log). + systemd[1]: Listening on Journal Socket. + [ OK ] Listening on Journal Socket. + systemd[1]: Listening on udev Control Socket. + [ OK ] Listening on udev Control Socket. + systemd[1]: Listening on udev Kernel Socket. + [ OK ] Listening on udev Kernel Socket. + systemd[1]: Condition check resulted in Huge Pages File System being skipped. + systemd[1]: Condition check resulted in POSIX Message Queue File System being skipped. + systemd[1]: Mounting RPC Pipe File System... + Mounting RPC Pipe File System... + systemd[1]: Mounting Kernel Debug File System... + Mounting Kernel Debug File System... + systemd[1]: Condition check resulted in Kernel Trace File System being skipped. + systemd[1]: Condition check resulted in Kernel Module supporting RPCSEC_GSS being skipped. + systemd[1]: Starting Restore / save the current clock... + Starting Restore / save the current clock... + systemd[1]: Starting Set the console keyboard layout... + Starting Set the console keyboard layout... + systemd[1]: Condition check resulted in Create list of static device nodes for the current kernel being skipped. + systemd[1]: Starting Load Kernel Module configfs... + Starting Load Kernel Module configfs... + systemd[1]: Starting Load Kernel Module drm... + Starting Load Kernel Module drm... + systemd[1]: Starting Load Kernel Module fuse... + Starting Load Kernel Module fuse... + systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped. + systemd[1]: Condition check resulted in File System Check on Root Device being skipped. + systemd[1]: Starting Journal Service... + Starting Journal Service... + systemd[1]: Starting Load Kernel Modules... + Starting Load Kernel Modules... + systemd[1]: Starting Remount Root and Kernel File Systems... + Starting Remount Root and Kernel File Systems... + systemd[1]: Starting Coldplug All udev Devices... + Starting Coldplug All udev Devices... + systemd[1]: Mounted RPC Pipe File System. + [ OK ] Mounted RPC Pipe File System. + systemd[1]: Mounted Kernel Debug File System. + [ OK ] Mounted Kernel Debug File System. + systemd[1]: Finished Restore / save the current clock. + [ OK ] Finished Restore / save the current clock. + systemd[1]: modprobe@configfs.service: Succeeded. + systemd[1]: Finished Load Kernel Module configfs. + [ OK ] Finished Load Kernel Module configfs. + systemd[1]: modprobe@drm.service: Succeeded. + systemd[1]: Finished Load Kernel Module drm. + [ OK ] Finished Load Kernel Module drm. + systemd[1]: modprobe@fuse.service: Succeeded. + systemd[1]: Finished Load Kernel Module fuse. + [ OK ] Finished Load Kernel Module fuse. + systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE + systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'. + systemd[1]: Failed to start Load Kernel Modules. + [FAILED] Failed to start Load Kernel Modules. + See 'systemctl status systemd-modules-load.service' for details. + systemd[1]: Started Journal Service. + [ OK ] Started Journal Service. + EXT4-fs (mmcblk0p2): re-mounted. Quota mode: disabled. + [ OK ] Finished Set the console keyboard layout. + [ OK ] Finished Remount Root and Kernel File Systems. + Mounting FUSE Control File System... + Mounting Kernel Configuration File System... + Starting Flush Journal to Persistent Storage... + Starting Load/Save Random Seed... + Starting Apply Kernel Variables... + systemd-journald[101]: Received client request to flush runtime journal. + Starting Create System Users... + systemd-journald[101]: File /var/log/journal/9df7efddf5064cb8b0ac78930c65f83f/system.journal corrupted or uncleanly shut down, renaming and replacing. + [ OK ] Mounted FUSE Control File System. + [ OK ] Mounted Kernel Configuration File System. + [ OK ] Finished Load/Save Random Seed. + [ OK ] Finished Apply Kernel Variables. + [ OK ] Finished Create System Users. + [ OK ] Finished Coldplug All udev Devices. + [ OK ] Finished Flush Journal to Persistent Storage. + Starting Helper to synchronize boot up for ifupdown... + Starting Create Static Device Nodes in /dev... + Starting Wait for udev To …plete Device Initialization... + [ OK ] Finished Helper to synchronize boot up for ifupdown. + [ OK ] Finished Create Static Device Nodes in /dev. + [ OK ] Reached target Local File Systems (Pre). + Starting Rule-based Manage…for Device Events and Files... + [ OK ] Started Rule-based Manager for Device Events and Files. + Starting Show Plymouth Boot Screen... + [ OK ] Started Show Plymouth Boot Screen. + [ OK ] Started Forward Password R…s to Plymouth Directory Watch. + [ OK ] Reached target Local Encrypted Volumes. + [ OK ] Found device /dev/ttyPS0. + [ OK ] Found device /dev/disk/by-partuuid/5c29002e-01. + [ OK ] Finished Wait for udev To Complete Device Initialization. + Starting File System Check…isk/by-partuuid/5c29002e-01... + Starting Load Kernel Modules... + [ OK ] Started File System Check Daemon to report status. + [FAILED] Failed to start Load Kernel Modules. + See 'systemctl status systemd-modules-load.service' for details. + [ OK ] Finished File System Check…/disk/by-partuuid/5c29002e-01. + Mounting /boot... + [ OK ] Mounted /boot. + [ OK ] Reached target Local File Systems. + Starting Set console font and keymap... + Starting Raise network interfaces... + Starting Preprocess NFS configuration... + Starting Tell Plymouth To Write Out Runtime Data... + Starting Create Volatile Files and Directories... + [ OK ] Finished Set console font and keymap. + [ OK ] Finished Tell Plymouth To Write Out Runtime Data. + [ OK ] Finished Preprocess NFS configuration. + [ OK ] Reached target NFS client services. + [ OK ] Reached target Remote File Systems (Pre). + [ OK ] Reached target Remote File Systems. + [ OK ] Finished Create Volatile Files and Directories. + Starting Network Time Synchronization... + Starting Update UTMP about System Boot/Shutdown... + [ OK ] Finished Update UTMP about System Boot/Shutdown. + Starting Load Kernel Modules... + [ OK ] Finished Raise network interfaces. + [ OK ] Started Network Time Synchronization. + [ OK ] Reached target System Time Set. + [ OK ] Reached target System Time Synchronized. + [FAILED] Failed to start Load Kernel Modules. + See 'systemctl status systemd-modules-load.service' for details. + [ OK ] Reached target System Initialization. + [ OK ] Started CUPS Scheduler. + [ OK ] Started Daily apt download activities. + [ OK ] Started Daily apt upgrade and clean activities. + [ OK ] Started Periodic ext4 Onli…ata Check for All Filesystems. + [ OK ] Started Discard unused blocks once a week. + [ OK ] Started Daily rotation of log files. + [ OK ] Started Daily man-db regeneration. + [ OK ] Started Daily Cleanup of Temporary Directories. + [ OK ] Reached target Paths. + [ OK ] Reached target Timers. + [ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket. + [ OK ] Listening on CUPS Scheduler. + [ OK ] Listening on D-Bus System Message Bus Socket. + [ OK ] Listening on Erlang Port Mapper Daemon Activation Socket. + [ OK ] Listening on GPS (Global P…ioning System) Daemon Sockets. + [ OK ] Listening on triggerhappy.socket. + [ OK ] Reached target Sockets. + [ OK ] Reached target Basic System. + Starting Analog Devices power up/down sequence... + Starting Save/Restore Sound Card State... + Starting Avahi mDNS/DNS-SD Stack... + [ OK ] Started Regular background program processing daemon. + [ OK ] Started D-Bus System Message Bus. + Starting dphys-swapfile - …unt, and delete a swap file... + Starting Remove Stale Onli…t4 Metadata Check Snapshots... + [ OK ] Started fan-control. + Starting Fix DP audio and X11 for Jupiter... + Starting Creating IIOD Context Attributes...... + Starting Authorization Manager... + Starting DHCP Client Daemon... + Starting LSB: Switch to on…nless shift key is pressed)... + Starting Regenerate SSH host keys... + Starting LSB: rng-tools (Debian variant)... + Starting System Logging Service... + Starting User Login Management... + Starting triggerhappy global hotkey daemon... + Starting Disk Manager... + Starting WPA supplicant... + [ OK ] Finished Save/Restore Sound Card State. + [ OK ] Started triggerhappy global hotkey daemon. + [ OK ] Started System Logging Service. + [ OK ] Finished Fix DP audio and X11 for Jupiter. + [ OK ] Started DHCP Client Daemon. + [ OK ] Finished dphys-swapfile - …mount, and delete a swap file. + [ OK ] Started LSB: rng-tools (Debian variant). + [ OK ] Started LSB: Switch to ond…(unless shift key is pressed). + [ OK ] Started Avahi mDNS/DNS-SD Stack. + [ OK ] Started Authorization Manager. + [ OK ] Started WPA supplicant. + [ OK ] Reached target Network. + [ OK ] Reached target Network is Online. + [ OK ] Reached target Sound Card. + Starting Modem Manager... + Starting CUPS Scheduler... + [ OK ] Started Erlang Port Mapper Daemon. + Starting HTTP based time synchronization tool... + Starting Internet superserver... + Starting /etc/rc.local Compatibility... + Starting Permit User Sessions... + [ OK ] Finished Permit User Sessions. + Starting Light Display Manager... + [ OK ] Started Internet superserver. + [ OK ] Started /etc/rc.local Compatibility. + Starting Hold until boot process finishes up... + [ OK ] Started CUPS Scheduler. + [ OK ] Started Make remote CUPS printers available locally. + Starting Load Kernel Module drm... + [ OK ] Finished Load Kernel Module drm. + [ OK ] Started User Login Management. + [ OK ] Started HTTP based time synchronization tool. + [ OK ] Started Unattended Upgrades Shutdown. + [ OK ] Finished Analog Devices power up/down sequence. + [FAILED] Failed to start VNC Server for X11. + + Raspbian GNU/Linux 11 analog ttyPS0 + + analog login: root (automatic login) + + Linux analog 6.1.70-284094-g54eb23f4b5c6 #209 SMP PREEMPT Fri Nov 8 06:39:15 EET 2024 armv7l + + The programs included with the Debian GNU/Linux system are free software; + the exact distribution terms for each program are described in the + individual files in /usr/share/doc/*/copyright. + + Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent + permitted by applicable law. + Last login: Fri Nov 8 15:06:16 GMT 2024 on ttyPS0 + root@analog:~# + +Useful commands for the serial terminal +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The below commands are to be run in the serial terminal connected to the FPGA. + +**Login Information** + +user: analog +password: analog + +To find out the IP of the FPGA board, run the following command and take the +IP specified at "eth0 inet": + +.. shell:: + + $ifconfig + +To see the IIO devices detected, run: + +.. shell:: + + $iio_info | grep iio:device + iio:device0: xadc + iio:device1: ad9517-4 + iio:device2: axi-ad9265-core-lpc (buffer capable) + +To power off the system, run the following command, and wait for the final +message to be printed, then power off the FPGA board from the switch as well. + +.. shell:: + + $poweroff + +To reboot the system, run: + +.. shell:: + + $reboot + +.. important:: + + This is a persistent file system. Care should be taken not to corrupt the + file system - please shut down things, don't just turn off the power switch. + Depending on your monitor, the standard power off could be hiding. You can + do this from the terminal as well with :code:`sudo shutdown -h now` or the + above-mentioned command for powering off. + +IIO Oscilloscope +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. important:: + Make sure to download/update to the latest version of + :git-iio-oscilloscope:`IIO Oscilloscope `. + +#. Once the board has booted, open IIO Oscilloscope on your host PC. Supply + the board's IP address as the URI in the format ``ip:``. To + find the IP address, run ``ifconfig`` in the serial terminal and look for + the address under ``eth0 inet``. +#. Press ``Refresh`` to display available IIO devices and press ``Connect`` + after your device has been detected. + + .. image:: ../images/ad9265_iio_conn.png + :width: 900 + +#. Select the ``axi-ad9265-core-lpc`` device and enable the ``voltage0`` + channel. Press the ``Play`` button to start sampling. The data capture + window will show the digitized waveform from the ADC in both time and + frequency domains. + + .. image:: ../images/ad9265_iio_wave.png + :width: 900 diff --git a/docs/solutions/reference-designs/eval-ad9265/sdp-h1-evaluation.rst b/docs/solutions/reference-designs/eval-ad9265/sdp-h1-evaluation.rst new file mode 100644 index 00000000000..2905f754765 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/sdp-h1-evaluation.rst @@ -0,0 +1,256 @@ +.. _eval_ad9265 sdp-h1-evaluation: + +Evaluating the AD9265 Analog-to-Digital Converter +=============================================================================== + +.. warning:: + + Support for the AD9265-FMC with the SDP-H1 board was discontinued starting + with the 2022_R2 Kuiper Linux release and will not be supported in future + releases. The last release with pre-built files is 2021_R2. See all + :external+kuiper:doc:`Kuiper releases `. + +This page describes how to evaluate the :adi:`AD9265-FMC-125EBZ ` +using the :adi:`EVAL-SDP-CH1Z` (SDP-H1) High Speed Controller Board, together +with the VisualAnalog® and SPI Controller software. The evaluation board +provides all of the support circuitry required to operate the +:adi:`AD9265` in its various modes and configurations. + +For additional information, consult the :adi:`AD9265` data sheet and the +:adi:`UG-074 User Guide `. + +Typical Measurement Setup +------------------------------------------------------------------------------- + +.. figure:: images/ad9265_fmc_125ebz_typical_setup.jpg + :width: 600 + + Figure 1. Evaluation Board Connection — AD9265-FMC-125EBZ (on Left) and + EVAL-SDP-CH1Z SDP-H1 (on Right) + +Features +------------------------------------------------------------------------------- + +- Full featured evaluation board for the :adi:`AD9265` +- SPI interface for setup and control +- External, on-board oscillator, and :adi:`AD9517 ` clocking options +- Balun/transformer or amplifier input drive option +- LDO regulator or switching power supply options +- VisualAnalog® and SPI Controller software interfaces + +Helpful Documents +------------------------------------------------------------------------------- + +- :adi:`AD9265` data sheet +- :adi:`EVAL-SDP-CH1Z`, SDP-H1 High Speed Controller Board for System + Development Platform +- :adi:`AN-905 Application Note `, *VisualAnalog Converter Evaluation + Tool Version 1.0 User Manual* +- :adi:`AN-878 Application Note `, *High Speed ADC SPI Control + Software* +- :adi:`AN-877 Application Note `, *Interfacing to High Speed ADCs + via SPI* +- :adi:`AN-835 Application Note `, *Understanding ADC Testing and + Evaluation* +- :adi:`UG-074 User Guide `, + *User Guide for FIFO5 AD9265 Evaluation Board* + +Software Needed +------------------------------------------------------------------------------- + +- :adi:`SPI Controller ` +- :adi:`VisualAnalog ` + +Equipment Needed +------------------------------------------------------------------------------- + +- Analog signal source (preferably SMA 100A Signal Generator) +- Antialiasing filter +- Sample clock source (if not using the on-board oscillator) +- 12 V power supply +- 1-meter SMA cable +- PC running Windows® +- USB-Mini-B cable +- :adi:`AD9265-FMC-125EBZ ` board +- :adi:`EVAL-SDP-CH1Z` System Development Platform Kit + +Getting Started +------------------------------------------------------------------------------- + +Configuring the Board +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Before using the software for testing, configure the evaluation board as +follows: + +#. Connect the evaluation board to the data capture board, as shown in + Figure 1. +#. Connect one 12 V switching power supply to the :adi:`EVAL-SDP-CH1Z` + SDP-H1 board. +#. Connect the :adi:`EVAL-SDP-CH1Z` SDP-H1 board to the PC with a USB cable + (connect to J1). +#. When using the on-board clock, connect Pin 1 and Pin 3 of P2. +#. On the ADC evaluation board, use a clean, low-phase-noise signal generator + to provide an input signal to the input channel (J100). Use a 1 m, + shielded, RG-58, 50 Ω coaxial cable. For best results, use a narrow-band + band-pass filter with 50 Ω terminations and an appropriate center + frequency. +#. If using an external clock signal, remove the connector from P2 and connect + a clean signal generator to J201. + +Using the Software for Testing +------------------------------------------------------------------------------- + +Setting Up the ADC Data Capture +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +After configuring the board, set up the ADC data capture using the following +steps: + +#. Start VisualAnalog. + + .. figure:: images/ad9265_va_start_button.png + :width: 100 + + Figure 2. VisualAnalog Start Button + +#. Select AD9265 and double-click **FFT**. + + .. figure:: images/ad9265_va_new_canvas.png + :width: 600 + + Figure 3. VisualAnalog New Canvas Window + +#. Click **Settings** under the **ADC Data Capture** section. + + .. figure:: images/ad9265_va_adc_data_capture_2.png + :width: 300 + + Figure 4. VisualAnalog ADC Data Capture Section + +#. Set the device to AD9265. +#. Navigate to **Capture Board** and browse to the FPGA image file + ``ad9265_sdph1.bin``. +#. Click **Program** and verify that LED0 on the SDP-H1 illuminates. Then + click **OK**. + + .. figure:: images/ad9265_va_adc_data_capture_setting_fpga.png + :width: 600 + + Figure 5. VisualAnalog ADC Data Capture Settings + +Evaluation and Test +------------------------------------------------------------------------------- + +Setting Up the SPI Controller Software +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#. Start SPI Controller. + + .. figure:: images/ad9265_spicontroller_start_button.png + :width: 100 + + Figure 6. SPIController Start Button + +#. If a "Read Test Failure" message appears, click **Ignore**. + + .. figure:: images/ad9265_spicontroller_msg_ignore.png + :width: 400 + + Figure 7. First Ignore Test Failure + +#. Click **File > Cfg Open**, find the file ``ad9265_16bit_125MSspiR03.cfg``, + and double-click it. + + .. figure:: images/ad9265_spicontroller_cfg_open.png + :width: 400 + + Figure 8. Configuration Settings + +#. If a "Read Test Failure" message appears again, click **Ignore**. + + .. figure:: images/ad9265_spicontroller_msg_ignore.png + :width: 400 + + Figure 9. Second Ignore Test Failure + +#. Click **Config > Controller Dialog**. + + .. figure:: images/ad9265_spicontroller_controller_dialog.png + :width: 400 + + Figure 10. Controller Dialog Guide + +#. Clear the **SDO Active** checkbox and click **OK**. + + .. figure:: images/ad9265_spicontroller_unselect_sdo_2.png + :width: 400 + + Figure 11. Controller Dialog Setting + +#. Click **Read Chip ID** and **Read Chip Grade**. + + .. figure:: images/ad9265_spicontroller_read_chip_id_grade.png + :width: 300 + + Figure 12. Read Chip ID and Read Chip Grade Section + +#. Return to VisualAnalog and click the **Play** button. + +Adjusting the Amplitude of the Input Signal +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#. Adjust the amplitude of the input signal so that the fundamental is at + −1.0 dBFS. Verify the **Fund Power** reading in the left panel of the + **VisualAnalog Graph - AD9265 Average FFT** window. + + .. figure:: images/ad9265_typical_window_2.png + :width: 500 + + Figure 13. Graph Window of VisualAnalog + +#. Click the disk icon in the **Graph** window to save the performance plot + data as a ``.csv`` file. + + .. figure:: images/ad9265_va_disk_icon.png + :width: 500 + + Figure 14. VisualAnalog Disk Icon + +When testing additional AD9265 boards, power down the :adi:`EVAL-SDP-CH1Z` +SDP-H1 board first before swapping evaluation boards. + +Troubleshooting +------------------------------------------------------------------------------- + +**FFT plot appears abnormal:** + +- If the noise floor looks normal when the signal generator is disconnected, + the ADC may be overdriven — reduce the input level. +- In VisualAnalog, click **Settings** in the **Input Formatter** block and + verify that **Number Format** is set to the correct encoding (offset binary + by default). + +**FFT appears normal but performance is poor:** + +- Ensure an appropriate band-pass filter is used on the analog input. +- Use low-phase-noise signal generators for both the clock and the analog + input. +- If non-coherent sampling is used, change the analog input frequency + slightly, or switch to coherent frequencies. +- Verify that the SPI configuration file matches the product being evaluated. +- Check for mechanical stress or torque on the clock and analog input + connectors. + +**FFT window remains blank after Run is clicked:** + +- Confirm the evaluation board is securely connected to the + :adi:`EVAL-SDP-CH1Z` SDP-H1 board. +- Verify the FPGA has been programmed by checking that the **FPGA_DONE** LED + is illuminated on the SDP-H1. If not, reprogram via VisualAnalog. If the + LED still does not illuminate, disconnect USB and power for 15 seconds, + reconnect, and repeat the SDP-H1 setup process. +- Confirm the correct FPGA ``.bin`` file was used. +- In the **ADC Data Capture** block in VisualAnalog, click **Settings** and + verify that **Clock Frequency** is set correctly. +- Ensure the ADC has a valid clock input. diff --git a/docs/solutions/reference-designs/eval-ad9265/user-guide.rst b/docs/solutions/reference-designs/eval-ad9265/user-guide.rst new file mode 100644 index 00000000000..9e427e1a638 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad9265/user-guide.rst @@ -0,0 +1,133 @@ +.. _eval_ad9265 user-guide: + +User guide +=============================================================================== + +Hardware guide +------------------------------------------------------------------------------- + +Hardware configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The :adi:`EVAL-AD9265` board connects to the FPGA carrier via the FMC LPC +connector. + +On the :xilinx:`ZC706`, configure the boot mode switch SW11 for SD card or +JTAG boot and ensure VADJ is set to **2.5 V**. Refer to the +:ref:`eval_ad9265 quickstart zc706` guide for more details. + +Power supply +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The :adi:`EVAL-AD9265` board is powered through the FMC LPC connector from +the FPGA carrier board. The carrier board itself (e.g., ZC706) +requires a **12 V** external power supply. + +The required VADJ for the FMC LPC interface is **2.5 V**. + +On-board connectors +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + - - Connector + - Type + - Description + - - J100 + - SMA + - Analog signal source input + - - J201 + - SMA + - External clock signal input for ADC sampling + - - J202 + - SMA + - External amplified signal input for ADC sampling + - - J300 + - Jumper + - Configuration for the optional clock path using the :adi:`AD9517 ` + (RESET, SYNC, PD and REF_SEL pins) + - - P1 + - Jumper + - :adi:`AD9265` Clock divider synchronization + - - P2 + - Jumper + - On-board oscillator enable (Pin 1–Pin 2 = on-board oscillator on; + Pin 2-Pin 3 = on-board oscillator off) + - - P300 + - Jumper + - Optional clock status pins (REFMON, LD and STATUS) + - - FMC LPC + - FMC + - FPGA carrier board interface + +Analog inputs +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Connect a low-noise, low-distortion signal source to the analog input of the +:adi:`EVAL-AD9265` board via the **J100** SMA connector. + +The full-scale differential input range is 2 V peak-to-peak (1 V peak on +each side). The common-mode input voltage (VCM) is provided by the on-board +reference and defaults to VREF/2 = 1.0 V. + +Clock input +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The :adi:`EVAL-AD9265` board provides three possible clock paths (some board +modification may be necessary): + +- **External passive clock (default)** — connect an external clock source to + the **J201** SMA connector after removing the P2 connector. +- **Optional active clock path** using the :adi:`AD9517 `. +- **Optional oscillator** — on-board oscillator selectable via P2 jumper. + +Ensure the corresponding components are removed or inserted on the board to +select the desired clock path. For optimal performance, use a low-jitter, +low-phase-noise clock source. + +Schematic, PCB Layout, Bill of Materials +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Design filesmare available on the product page: + +- :adi:`EVAL-AD9265` + +Software guide +------------------------------------------------------------------------------- + +The evaluation board is supported through the :ref:`libiio` library, which +is cross-platform (Windows, Linux, Mac) with bindings for C, C#, Python, +MATLAB, and others. Applications that interface via libiio include: + +- :ref:`iio-oscilloscope` — graphical waveform and spectrum analyzer +- :external+scopy:doc:`Scopy ` v2.0 or later (requires the IIO plugin) +- :external+pyadi-iio:doc:`index` — Python interface + +For a step-by-step walkthrough of connecting and using these tools with the +:adi:`EVAL-AD9265` on the ZC706, see the :ref:`eval_ad9265 quickstart zc706` +guide. + +IIO device +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When the system is booted and the :adi:`EVAL-AD9265` is detected, the +following IIO devices should appear: + +.. shell:: + + $iio_info | grep iio:device + iio:device0: ad7291 + iio:device1: xadc + iio:device2: ad9265 (buffer capable) + +The ``ad9265`` IIO device exposes the following channels: + +- ``voltage0``: ADC input channel (buffer capable) + +Channel attributes include: + +- ``raw`` — raw ADC sample value +- ``scale`` — conversion factor from raw to millivolts +- ``sampling_frequency`` — current sample rate in Hz +- ``hardwaregain`` — input gain setting (if applicable)