diff --git a/docs/tools/m2k/devs/hardware.rst b/docs/tools/m2k/devs/hardware.rst new file mode 100644 index 00000000000..5413b9c59bc --- /dev/null +++ b/docs/tools/m2k/devs/hardware.rst @@ -0,0 +1,184 @@ +.. _m2k hardware: + +ADALM2000 Hardware +================== + +Whether you want to understand the changes between revisions, or just +understand how to probe the PCB, this is where all the information should be. + +Connectors +---------- + +The :adi:`ADALM2000`` includes a button (S1 on the PCB), and two USB +connectors. + +.. image:: ../images/button_connectors.jpg + :align: center + :width: 400px + +.. image:: ../images/zoom_conn.jpg + :align: center + :width: 400px + +The button can be defined by software, it is normally held on with a paper clip +or thumb tack during power on to put the device into a recovery mode. It can be +re-purposed to do other things. + +The first USB connector (the middle one) is the USB OTG connector (can be the +USB HOST connector (cabled to a USB peripheral), or the USB peripheral +connector (cabled to a USB Host)). + +The second USB connector (the one on the side) is for power only when running +in Host mode. + +Removing the case +----------------- + +The plastic case comes off quite easily, with the removal of two black +`Phillips screws `__ +on the bottom of the case. The production version may be different. It will for +sure be :dokuwiki:`CE and FCC certified `. +(already passed) + +Removing the screws will allow you to take the top off the case, and expose the +PCB. + +.. grid:: + :widths: 50% 50% + + .. image:: ../images/removing_the_case.jpg + :width: 400px + + .. image:: ../images/exposed_pcb.jpg + :width: 400px + +If you want to remove the PCB, and place it on the table, we recommend that you +attach `Cylindrical Bumpers `__ +(also known as feet), on the PCB to protect the components on the bottom of the +PCB. These are not included in the design, and must be purchased separately (as +we don't expect too many people wanting to do this). + +Mating connectors +----------------- + +It's likely that you might want to make a board that mates directly to the +:adi:`ADALM2000`- check out these connectors. There are listed here as a +convenience. + + +---------------------------+-------------------------+-------------------------------------------------+ + | Manufacture | Part Number | Possible providers | + +===========================+=========================+=================================================+ + | Sullins Connector | PPPC152LJBN-RC | `Digikey `__ | + +---------------------------+-------------------------+-------------------------------------------------+ + | Samtec | `SSQ-115-02-T-D-RA | `Digikey `__, | + | | products/ssq-115-02-t-d-| `Mouser `__ | Samtec/SSQ-115-02-T-D-RA?qs=rU5fayqh%252BE2UN30x| + | | | yNQdAQ%3D%3D>`__ | + +---------------------------+-------------------------+-------------------------------------------------+ + +Revision D +---------- + +.. admonition:: Downloads + :class: note + + * :dokuwiki:`Rev D Schematics ` + * :dokuwiki:`Rev D Gerbers ` + (This file is `compressed `__) + * :dokuwiki:`Rev D Bill of materials ` + * :dokuwiki:`Rev D Allegro Board File ` + (This file is `compressed `__). Get the `Allegro FREE Physical Viewer + `__ + to view. + * :dokuwiki:`Rev D Cadence project ` + * :dokuwiki:`Rev D 3D model (Case, bare PCB, connectors) ` + +Revision C +---------- + +.. admonition:: Downloads + :class: note + + * :dokuwiki:`Rev C Schematics ` + * :dokuwiki:`Rev C Gerbers ` + (This file is `compressed `__) + * :dokuwiki:`Rev C Bill of materials ` + * :dokuwiki:`Rev C Allegro BoardFile ` + (This file is `compressed `__). Get the `Allegro FREE Physical Viewer + `__ + to view. + * :dokuwiki:`Rev C Cadence project ` + +Revision B +---------- + +.. admonition:: Downloads + :class: note + + * :dokuwiki:`Rev B Schematics ` + * :dokuwiki:`Rev B Gerbers ` + (This file is `compressed `__) + * :dokuwiki:`Rev B Bill of materials ` + * :dokuwiki:`Rev B Allegro Board File ` + (This file is `compressed `__). Get the `Allegro FREE Physical Viewer + `__ + to view. + * :dokuwiki:`Rev B Cadence Project ` + +Why do a Rev C? +~~~~~~~~~~~~~~~ + +- A voltage divider should be added TX calibration path +- Two 10 uF capacitors need to be added at USB power inputs. +- The negative rail of the AD8066 should have a power down and for this is + needed a -5V LDO. +- ADP198 in the positive power supplies analog stage can be removed. +- The analog power sequence has to be improved. +- The 2.4 Ohm resistor at output of User power supply needs to be replaced with + 4.7Ohm. +- The user power supplies should have individual power down and a 6V protection + Zenner diode at the output. + +Revision A +---------- + +.. admonition:: Downloads + :class: note + + * :dokuwiki:`Rev A Schematics ` + * :dokuwiki:`Rev A Gerbers ` + (This file is `compressed `__) + * :dokuwiki:`Rev A Bill of materials ` + * :dokuwiki:`Rev A Allegro Board File ` + (This file is `compressed `__). Get the `Allegro FREE Physical Viewer + `__ + to view. + * :dokuwiki:`Rev A Cadence project ` + +Why do a Rev B? +~~~~~~~~~~~~~~~ + +- Because of heating on the board the supply for the scope input buffers is + reduced. The buffers are supplied on rev B at -3V3 and 3V8 (obtained with an + LDO from Vin). +- The digital and analog 1V8 rails are merged but the footprint of the LDO for + 1V8_A is kept in case there will be too much noise. +- For lower power consumption the ADC divers are replaced with ADA4940-2ACPZ. +- To remove the back powering of the analog section the DACs controlled by I2C + are powered from the digital supplies. +- The user power supplies could use an amplifier that provides low power, + smaller noise and larger bandwidth, such as ADA4805. +- The AWG protection and the power supplies monitor can be removed. +- The input choke needs to be replaced with a version with a higher current + rating for a lower impedance at high frequencies. + +Images +------ + +Click to get the full size image. + +.. image:: ../images/m2k.jpg + :align: center + :width: 500px diff --git a/docs/tools/m2k/devs/index.rst b/docs/tools/m2k/devs/index.rst index 4cdadc7cb29..8078ffb4809 100644 --- a/docs/tools/m2k/devs/index.rst +++ b/docs/tools/m2k/devs/index.rst @@ -3,6 +3,17 @@ For Developers ============== +.. image:: ../images/adalm2000.jpg + :align: right + :width: 400px + +.. toctree:: + :maxdepth: 1 + :hidden: + :glob: + + hardware + The people who typical read these pages are those who write custom software or HDL (for the FPGA) that run directly on the M2K device. This may put the M2K in different modes, and support different external USB devices (including USB/LAB, @@ -23,20 +34,20 @@ Content TODO Coming soon sections Make sure all things are in ./devs -#. Introduction *(Coming soon)* +#. :ref:`m2k intro` #. Hardware - #. Detailed Specifications *(Coming soon)* - #. :dokuwiki:`Schematics ` + #. Detailed Specifications + #. :ref:`m2k hardware` #. Detailed Performance *(Coming soon)* - #. Accessing the Console\ *(Coming soon)* with the + #. Accessing the Console with the :dokuwiki:`ADALM-JTAGUART ` adapter - #. Accessing FPGA JTAG\ *(Coming soon)* with the + #. Accessing FPGA JTAG with the :dokuwiki:`ADALM-JTAGUART ` adapter #. :external+hdl:doc:`index` - #. ``TODO :external+hdl:ref:`m2k``` + #. :external+hdl:ref:`m2k` #. :external+hdl:ref:`axi_ad9963` #. :external+hdl:ref:`axi_adc_decimate` #. :external+hdl:ref:`axi_dac_interpolate` @@ -47,10 +58,9 @@ Content #. Device Drivers - #. :dokuwiki:`AXI ADC HDL Linux Driver ` - #. :dokuwiki:`AXI DAC HDL Linux Driver ` - #. AXI DMAC Linux Driver - #. etc. + #. :dokuwiki:`AXI ADC HDL Linux Driver ` + #. :dokuwiki:`AXI DAC HDL Linux Driver ` + #. :dokuwiki:`AXI DMAC Linux Driver ` #. Building the Firmware image from source diff --git a/docs/tools/m2k/images/3v3_rail.png b/docs/tools/m2k/images/3v3_rail.png new file mode 100644 index 00000000000..7e5627471c2 --- /dev/null +++ b/docs/tools/m2k/images/3v3_rail.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09671fd7ee5ff9aaba70d422b9d90bb6a73e7cb1ce6f5e6f5d6c69271d197618 +size 11297 diff --git a/docs/tools/m2k/images/4v_rail.png b/docs/tools/m2k/images/4v_rail.png new file mode 100644 index 00000000000..2829b015c65 --- /dev/null +++ b/docs/tools/m2k/images/4v_rail.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59155032703adb9f550b270654f91c09f69b351d8e07a5c41c30d947a9dd7273 +size 12053 diff --git a/docs/tools/m2k/images/6v_rail.png b/docs/tools/m2k/images/6v_rail.png new file mode 100644 index 00000000000..ede7acbf107 --- /dev/null +++ b/docs/tools/m2k/images/6v_rail.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c53fb3f22b3c6552825f696e281354690c8b333001a7a9f9b368443f0a48318b +size 10401 diff --git a/docs/tools/m2k/images/ad5625.png b/docs/tools/m2k/images/ad5625.png new file mode 100644 index 00000000000..c879f0dc1de --- /dev/null +++ b/docs/tools/m2k/images/ad5625.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c93d272ab09ff9ce8b10607d3de26af186bcb1d625acaa0ef3a8be752a146f4 +size 16523 diff --git a/docs/tools/m2k/images/ad5627.png b/docs/tools/m2k/images/ad5627.png new file mode 100644 index 00000000000..dec186e10eb --- /dev/null +++ b/docs/tools/m2k/images/ad5627.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47003eb9f8e71b9482ecfd24dd21bde7cb86735ecda1b559420f82f3e639bf3c +size 13474 diff --git a/docs/tools/m2k/images/ad9963.png b/docs/tools/m2k/images/ad9963.png new file mode 100644 index 00000000000..04e3bfaade3 --- /dev/null +++ b/docs/tools/m2k/images/ad9963.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f4a0b7f069ddb06d7f3d4fd9d1b4b1cfee12d6ccadb911e869f4edcdbb7edf7 +size 86136 diff --git a/docs/tools/m2k/images/adalm2000-pin-wires.png b/docs/tools/m2k/images/adalm2000-pin-wires.png new file mode 100644 index 00000000000..f47d075517f --- /dev/null +++ b/docs/tools/m2k/images/adalm2000-pin-wires.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fc12c4108d7f2d8e918207535b9cf235ff6d10bc88567f7ffa6cce14ee014c4 +size 72677 diff --git a/docs/tools/m2k/adalm2000.jpg b/docs/tools/m2k/images/adalm2000.jpg similarity index 100% rename from docs/tools/m2k/adalm2000.jpg rename to docs/tools/m2k/images/adalm2000.jpg diff --git a/docs/tools/m2k/images/adalm2000_board1.png b/docs/tools/m2k/images/adalm2000_board1.png new file mode 100644 index 00000000000..86dbc55770f --- /dev/null +++ b/docs/tools/m2k/images/adalm2000_board1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3658155131565919a07a3443cd9e7a53aa1093980159a57efaacf6018b1e8c7 +size 216836 diff --git a/docs/tools/m2k/images/adalm2000_board2.png b/docs/tools/m2k/images/adalm2000_board2.png new file mode 100644 index 00000000000..90f7254a63c --- /dev/null +++ b/docs/tools/m2k/images/adalm2000_board2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2dfed783ee0497ad527cba7b71cd4ea58a88631f59a74a4f6003c310c86c25f2 +size 182809 diff --git a/docs/tools/m2k/images/adalm2000_pinout.png b/docs/tools/m2k/images/adalm2000_pinout.png new file mode 100644 index 00000000000..8e7d278e1bb --- /dev/null +++ b/docs/tools/m2k/images/adalm2000_pinout.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d079afbb344b7dc471784767d8539c00aa7fba46a13605314b015a381a294b28 +size 76045 diff --git a/docs/tools/m2k/images/adc_driver.png b/docs/tools/m2k/images/adc_driver.png new file mode 100644 index 00000000000..91f1cf5d768 --- /dev/null +++ b/docs/tools/m2k/images/adc_driver.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a792b596e80a8b88ea4aafa86338a659599a929ec4042bc5f3fbbc0cbe0156b +size 38046 diff --git a/docs/tools/m2k/images/awg_reference.png b/docs/tools/m2k/images/awg_reference.png new file mode 100644 index 00000000000..0f491a69c3a --- /dev/null +++ b/docs/tools/m2k/images/awg_reference.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfe54eb67d4874c2226b5a9ca86d370e660c034da176c83b2b5c8df00b3c99e7 +size 7353 diff --git a/docs/tools/m2k/images/block_diagram_m2k.png b/docs/tools/m2k/images/block_diagram_m2k.png new file mode 100644 index 00000000000..0c57d0c6acc --- /dev/null +++ b/docs/tools/m2k/images/block_diagram_m2k.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99918274065eb1cf822ef47cb8ec31d1a0afe70b10ff8cb8ea183e8d93582680 +size 110710 diff --git a/docs/tools/m2k/images/block_m2k.png b/docs/tools/m2k/images/block_m2k.png new file mode 100644 index 00000000000..44d3262485e --- /dev/null +++ b/docs/tools/m2k/images/block_m2k.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b50b1599ea92f08f7365f646ee89f53095b7f7744bcafc8bed8cc9a963bd6a27 +size 76197 diff --git a/docs/tools/m2k/images/button_connectors.jpg b/docs/tools/m2k/images/button_connectors.jpg new file mode 100644 index 00000000000..64d221ebe68 --- /dev/null +++ b/docs/tools/m2k/images/button_connectors.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fee827e1eb6cfc2cca1cb8dbd53599bea6b554cfe7572e0c3125a2d99a35296 +size 41987 diff --git a/docs/tools/m2k/images/clocking.png b/docs/tools/m2k/images/clocking.png new file mode 100644 index 00000000000..9aa6073c90c --- /dev/null +++ b/docs/tools/m2k/images/clocking.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17dca6a6c54fbed84097e3f9481bf1fc1072d114b56982a5dc785fddc38bcbf5 +size 34506 diff --git a/docs/tools/m2k/images/curent_voltage_awg.png b/docs/tools/m2k/images/curent_voltage_awg.png new file mode 100644 index 00000000000..d2e20d6b9e4 --- /dev/null +++ b/docs/tools/m2k/images/curent_voltage_awg.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15b62a719f9ae1fa4504bb648656ea9958fdd3e368780f4be6b312a5341d910d +size 8546 diff --git a/docs/tools/m2k/images/ddr3.png b/docs/tools/m2k/images/ddr3.png new file mode 100644 index 00000000000..888f98149f4 --- /dev/null +++ b/docs/tools/m2k/images/ddr3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25a30d36a998d3da43823e5ecb018355950b30ae471c0e8ee855feaf2b8575b2 +size 45668 diff --git a/docs/tools/m2k/images/digital_1v8_1v35.png b/docs/tools/m2k/images/digital_1v8_1v35.png new file mode 100644 index 00000000000..5c6528c8a98 --- /dev/null +++ b/docs/tools/m2k/images/digital_1v8_1v35.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1fa31c7b271b05a02482944809c399c04d1333487b431e7c62f9a255aab69dc +size 22077 diff --git a/docs/tools/m2k/images/digital_3v3.png b/docs/tools/m2k/images/digital_3v3.png new file mode 100644 index 00000000000..8732368bcae --- /dev/null +++ b/docs/tools/m2k/images/digital_3v3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8330417e4ec189ebbff0c8977d99e27ba5d57b1b16261178ebfea80cc610c727 +size 22320 diff --git a/docs/tools/m2k/images/digitaliopins.png b/docs/tools/m2k/images/digitaliopins.png new file mode 100644 index 00000000000..2db67cb2361 --- /dev/null +++ b/docs/tools/m2k/images/digitaliopins.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2511e5d1c14bb62fa470b7397881b7f0e86bef2f9b367cbcad6d0061f70e66a +size 13201 diff --git a/docs/tools/m2k/images/enable_supplies.png b/docs/tools/m2k/images/enable_supplies.png new file mode 100644 index 00000000000..002547d0eb1 --- /dev/null +++ b/docs/tools/m2k/images/enable_supplies.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:221a5d06718addeef896f84669a62ffbed6563c4ad097567b4dd4f1123ba48f9 +size 18797 diff --git a/docs/tools/m2k/images/exposed_pcb.jpg b/docs/tools/m2k/images/exposed_pcb.jpg new file mode 100644 index 00000000000..e6bad6af582 --- /dev/null +++ b/docs/tools/m2k/images/exposed_pcb.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:069628bcf9fc3b95bb7101593a0b59c00e64652d2b39c47b26d2d6338f13c2bf +size 1940770 diff --git a/docs/tools/m2k/images/flash.png b/docs/tools/m2k/images/flash.png new file mode 100644 index 00000000000..bac8e8aae9d --- /dev/null +++ b/docs/tools/m2k/images/flash.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ad55553d823f2f67f2a57b2b329af47a804c9bf1074fd70aa4a07e7cf1127cc +size 12159 diff --git a/docs/tools/m2k/images/gain_offset_awg.png b/docs/tools/m2k/images/gain_offset_awg.png new file mode 100644 index 00000000000..3aa1dd96d41 --- /dev/null +++ b/docs/tools/m2k/images/gain_offset_awg.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e1f8fee7e7ab9f528f74fb1c31e7c7dbab79323ac62926ffa2c84cfb0d5dbb3 +size 11344 diff --git a/docs/tools/m2k/images/inout_div_gainctrl_p.png b/docs/tools/m2k/images/inout_div_gainctrl_p.png new file mode 100644 index 00000000000..8c2be7d284a --- /dev/null +++ b/docs/tools/m2k/images/inout_div_gainctrl_p.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32206c9f5a9e99222b096db6be4145583c0333d1276916dd23e70757a8a9a756 +size 15986 diff --git a/docs/tools/m2k/install-vipackage.png b/docs/tools/m2k/images/install-vipackage.png similarity index 100% rename from docs/tools/m2k/install-vipackage.png rename to docs/tools/m2k/images/install-vipackage.png diff --git a/docs/tools/m2k/images/m2k.jpg b/docs/tools/m2k/images/m2k.jpg new file mode 100644 index 00000000000..324a0055f31 --- /dev/null +++ b/docs/tools/m2k/images/m2k.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46d956c8cf3c7ad971f883afe8c89323eedb07b2f45657df41b884d25b5093ad +size 2843981 diff --git a/docs/tools/m2k/images/m2k_sc_buffer.png b/docs/tools/m2k/images/m2k_sc_buffer.png new file mode 100644 index 00000000000..19feaed5498 --- /dev/null +++ b/docs/tools/m2k/images/m2k_sc_buffer.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2520c8ced79ac809da40a2a20e2777982cd1a8c7d7c06a29e42b979dd72cc44e +size 16184 diff --git a/docs/tools/m2k/images/m3v3_rail.png b/docs/tools/m2k/images/m3v3_rail.png new file mode 100644 index 00000000000..b8204c23f59 --- /dev/null +++ b/docs/tools/m2k/images/m3v3_rail.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6908397ad45157421536a9a0ea732ee8df2b1ddceef8679da4a2a8fbd569ebc +size 10862 diff --git a/docs/tools/m2k/images/m5v_rail.png b/docs/tools/m2k/images/m5v_rail.png new file mode 100644 index 00000000000..652f391f589 --- /dev/null +++ b/docs/tools/m2k/images/m5v_rail.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b08240ef2095ca87e14fdfc1b984d23c6b4b406e5fe5ca696e1b0ed96b0e3d21 +size 9707 diff --git a/docs/tools/m2k/images/m6v_rail.png b/docs/tools/m2k/images/m6v_rail.png new file mode 100644 index 00000000000..a8c62f9dc1d --- /dev/null +++ b/docs/tools/m2k/images/m6v_rail.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2658b4bdb7efd3d8a810bcdf250b55514db4e5edde6f224d95ae5d951c6b4cb +size 9895 diff --git a/docs/tools/m2k/pallette-preview.png b/docs/tools/m2k/images/pallette-preview.png similarity index 100% rename from docs/tools/m2k/pallette-preview.png rename to docs/tools/m2k/images/pallette-preview.png diff --git a/docs/tools/m2k/images/power_selector.png b/docs/tools/m2k/images/power_selector.png new file mode 100644 index 00000000000..53a14b7ae94 --- /dev/null +++ b/docs/tools/m2k/images/power_selector.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9da371d26c00ac74d506b3d2107ab3a020bee4bf4e4956204bad31f6cb3891c +size 98002 diff --git a/docs/tools/m2k/images/removing_the_case.jpg b/docs/tools/m2k/images/removing_the_case.jpg new file mode 100644 index 00000000000..ed55ffbfab3 --- /dev/null +++ b/docs/tools/m2k/images/removing_the_case.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afd48a690f8bae2237fb59b32cb172e3b0aa120247d1ccd79fdeef9e6866d4f1 +size 39518 diff --git a/docs/tools/m2k/images/scope_offset.png b/docs/tools/m2k/images/scope_offset.png new file mode 100644 index 00000000000..880e53cbbd1 --- /dev/null +++ b/docs/tools/m2k/images/scope_offset.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f4973b3584915865932df43ec62269bd074a8716e40a125dcea708486bfd019 +size 12616 diff --git a/docs/tools/m2k/images/scope_reference.png b/docs/tools/m2k/images/scope_reference.png new file mode 100644 index 00000000000..e8e606a7c68 --- /dev/null +++ b/docs/tools/m2k/images/scope_reference.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:339d12c74f3d26b0d75d01b819c6a2d3199719f809d2b3aca9e999ad163a3db3 +size 14478 diff --git a/docs/tools/m2k/images/supply_monitor.png b/docs/tools/m2k/images/supply_monitor.png new file mode 100644 index 00000000000..6e5bb9f1457 --- /dev/null +++ b/docs/tools/m2k/images/supply_monitor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67c9a7034ac0ece6e086bcedff9027f7f491bf9ed6bc096da1e8ca1a702b30d2 +size 24261 diff --git a/docs/tools/m2k/images/usb_conn.png b/docs/tools/m2k/images/usb_conn.png new file mode 100644 index 00000000000..55d673c992f --- /dev/null +++ b/docs/tools/m2k/images/usb_conn.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f3c18706361712ebd12a060af5b471186d76008f536b90d9022e29f8b3aa9ca +size 91593 diff --git a/docs/tools/m2k/images/usb_phy.png b/docs/tools/m2k/images/usb_phy.png new file mode 100644 index 00000000000..20292ef3929 --- /dev/null +++ b/docs/tools/m2k/images/usb_phy.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fa6c1a75a952f1be3af26b8e52a7d1f712f45ba59b9921ffee5ac751d0630f5 +size 33772 diff --git a/docs/tools/m2k/images/user_powersupplies.png b/docs/tools/m2k/images/user_powersupplies.png new file mode 100644 index 00000000000..878194cdcd1 --- /dev/null +++ b/docs/tools/m2k/images/user_powersupplies.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9299dde27e902681369197fea41a3d7fccee057213167c913ddd45a5c7ee9e45 +size 84048 diff --git a/docs/tools/m2k/images/windows-eject.png b/docs/tools/m2k/images/windows-eject.png new file mode 100644 index 00000000000..6533b8698fc --- /dev/null +++ b/docs/tools/m2k/images/windows-eject.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e8a3d9e401d4cdd448238987324adc7c804b6f80963b5786e050d7044d12738 +size 277758 diff --git a/docs/tools/m2k/images/zoom_conn.jpg b/docs/tools/m2k/images/zoom_conn.jpg new file mode 100644 index 00000000000..3923f8d71b2 --- /dev/null +++ b/docs/tools/m2k/images/zoom_conn.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4d5a0420bde44dadf3dc179f30f4c4e636e4019532a45b08744604a3cb04592 +size 29963 diff --git a/docs/tools/m2k/index.rst b/docs/tools/m2k/index.rst index fd38ab522f1..51f3dd8cead 100644 --- a/docs/tools/m2k/index.rst +++ b/docs/tools/m2k/index.rst @@ -3,12 +3,20 @@ ADALM2000 ========= +.. image:: ./images/adalm2000.jpg + :align: left + :width: 200px + .. toctree:: :hidden: :glob: - */index - * + intro + users/index + devs/index + matlab + labview + help_support The :adi:`ADALM2000` (M2K) Active Learning Module is an affordable USB-powered data acquisition module that takes the capabilities of the diff --git a/docs/tools/m2k/intro.rst b/docs/tools/m2k/intro.rst new file mode 100644 index 00000000000..7799434580e --- /dev/null +++ b/docs/tools/m2k/intro.rst @@ -0,0 +1,70 @@ +.. _m2k intro: + +Introduction to the ADALM2000 +============================= + +Basic Description +----------------- + +To use the :adi:`ADALM2000`` Active Learning Module, you have: + +* Two-channel oscilloscope with differential inputs +* Two-channel arbitrary function generator +* 16-channel digital logic analyzer (3.3V CMOS and 1.8V or 5V tolerant, + 100MS/s) +* 16-channel pattern generator (3.3V CMOS, 100MS/s) +* 16-channel virtual digital I/O +* Two input/output digital trigger signals for linking multiple instruments + (3.3V CMOS) +* Two-channel voltmeter (AC, DC, ±25V) +* Network analyzer – Bode, Nyquist, Nichols transfer diagrams of a circuit. + Range: 1Hz to 10MHz +* Spectrum Analyzer – power spectrum and spectral measurements (noise floor, + SFDR, SNR, THD, etc.) +* Digital Bus Analyzers (SPI, I²C, UART, Parallel) +* Two programmable power supplies (0…+5V , 0…-5V) +* USB which for your host connectivity (used to stream data). + + * USB 2 (480 Mbits/seconds) + * libiio USB device for communicating to the RF device + * Network device + + * `Remote Network Driver Interface Specification (RNDIS) `__ + * This will enumerate with the 192.168.2.1 IP address by default. + + * USB serial device + + * provides access to the Linux console on the M2K device via `USB Communication Device Class Abstract Control Model (USB CDC ACM) `__ specification + + * Mass Storage Device : this will appear to the host as a disk, where you can find links for software uploads, and the serial number of the device. + +* External Power + + * The equipment shall be powered by SELV with limited energy according to IEC 61010-1cl.9.4 or LPS/PS2 power source according to IEC 60950-1 / IEC 62368-1. + * An example external adapter (like `this one from Adafruit `__). + +* The device digital input/output is SELV compliant and less than 5 V and 5 A +* Environmental Conditions + + * Indoor use only + * Operating Temperature @25C Ambient + * Relative Humidity – 50% + + +Block Diagram +------------- + +.. image:: ./images/block_m2k.png + :align: center + :width: 600px + +Pinout +------ + +.. image:: ./images/adalm2000_pinout.png + :align: center + :width: 600px + +.. image:: ./images/adalm2000-pin-wires.png + :align: center + :width: 600px diff --git a/docs/tools/m2k/labview.rst b/docs/tools/m2k/labview.rst index 9e70bb11a8e..e496622355b 100644 --- a/docs/tools/m2k/labview.rst +++ b/docs/tools/m2k/labview.rst @@ -48,7 +48,7 @@ not find the exposed methods and will not work. In the VI Package Manager, you should load the .vip package and then install it. -.. image:: install-vipackage.png +.. image:: ./images/install-vipackage.png .. note:: @@ -78,7 +78,7 @@ Examples and LabVIEW palette The ADALM2000 palette can be found under the "Analog Devices" category. -.. image:: pallette-preview.png +.. image:: ./images/pallette-preview.png This contains the following subpalettes: diff --git a/docs/tools/m2k/users/index.rst b/docs/tools/m2k/users/index.rst index 8becf0c76e8..0b378c0a319 100644 --- a/docs/tools/m2k/users/index.rst +++ b/docs/tools/m2k/users/index.rst @@ -3,7 +3,15 @@ For End Users ============= -.. image:: ../adalm2000.jpg +.. toctree:: + :maxdepth: 1 + :hidden: + :glob: + + name + reference_manual + +.. image:: ../images/adalm2000.jpg :align: right :width: 400px @@ -14,10 +22,10 @@ Contents TODO pluto customizing to pluto-m2k Make sure all things are in ./users -#. :dokuwiki:`Introduction to the Hardware ` +#. :ref:`Introduction to the Hardware ` - #. :dokuwiki:`What's with the name? ` *ADALM2000?* - #. :dokuwiki:`Understanding the Internals ` + #. :ref:`What's with the name? ` *ADALM2000* + #. :ref:`Understanding the Internals ` #. :dokuwiki:`Quick Start ` #. Intro to the Software. Installing Device Drivers on: @@ -26,8 +34,8 @@ Contents #. :dokuwiki:`Linux ` #. :dokuwiki:`MAC ` -#. Upgrading the the ADALM2000 :ref:`Firmware `. -#. Common customization: +#. Upgrading the the ADALM2000 :ref:`Firmware ` +#. Common customization: #. :dokuwiki:`Multiple devices ` #. :dokuwiki:`Changing the root password on the target ` diff --git a/docs/tools/m2k/users/name.rst b/docs/tools/m2k/users/name.rst new file mode 100644 index 00000000000..843911f691b --- /dev/null +++ b/docs/tools/m2k/users/name.rst @@ -0,0 +1,14 @@ +.. _m2k name: + +Why "ADALM2000" +=============== + +The name of the device is pretty much self-explanatory considering the fact +that the first created USB powered learning tool is :adi:`ADALM1000` (M1K). + +The much more complex successor, ADALM2000 takes the capabilities of the +:adi:`ADALM1000`` (M1K) Active Learning Module to the next level, brings the +power of high performance lab equipment to the pocket of the user, enabling +electrical engineering students and hobbyists to explore signals and systems +into the tens of MHz without the cost and bulk associated with traditional lab +gear. diff --git a/docs/tools/m2k/users/reference_manual.rst b/docs/tools/m2k/users/reference_manual.rst new file mode 100644 index 00000000000..623a1c1598e --- /dev/null +++ b/docs/tools/m2k/users/reference_manual.rst @@ -0,0 +1,859 @@ +.. _m2k reference_manual: + +Reference Manual (Understanding the Internals) +============================================== + +Overview +-------- + +The easy to use :adi:`ADALM2000` active learning module (M2K) helps introduce +electrical engineering students and hobbyists to the fundamentals of signals +and systems. Designed for students at all levels and from all backgrounds, the +module can be used for both instructor-led and self-directed learning to help +students develop a foundation in exploring signals and systems into the tens +of MHz that they can build on as they pursue science, technology, or +engineering degrees, without the cost and bulk associated with traditional lab +gear. + +With 12-bit ADCs(running at 100MSPS) and DACs(at 150MSPS), the :adi:`ADALM2000` +brings the power of high performance lab equipment to the palm of your hand. +When coupled with Analog Devices' Scopy graphical application software running +on a computer, provides the user with the following high performance +instrumentation: + +* Two-channel oscilloscope with differential inputs +* Two-channel arbitrary waveform generator (AWG) +* 16-channel digital logic analyzer (3.3V CMOS and 1.8V or 5V tolerant, 100MS/s) +* 16-channel pattern generator (3.3V CMOS, 100MS/s) +* 16-channel virtual digital I/O +* Two input/output digital trigger signals for linking multiple instruments + (3.3V CMOS) +* Two-channel voltmeter (AC, DC, ±25V) +* Network analyzer – Bode, Nyquist, Nichols transfer diagrams of a circuit. + Range: 1Hz to 10MHz +* Spectrum Analyzer – power spectrum and spectral measurements (noise floor, + SFDR, SNR, THD, etc.) +* Digital Bus Analyzers (SPI, I²C, UART, Parallel) +* Two programmable power supplies (0…+5V , 0…-5V) + +Small enough to fit in a shirt pocket, the M2K is completely self-contained and +entirely USB powered with the default firmware. Because M2K is enabled by +libiio drivers, it supports OS X® , Windows®, and Linux®, which allows students +to learn and explore on a variety of host platforms. In addition, the +cross-platform :dokuwiki:`libm2k ` +interface library allows users to communicate with the M2K their own C, C#, or +Python programs. + +.. grid:: + :widths: 50% 50% + + .. figure:: ../images/adalm2000_board1.png + :width: 400px + :alt: ADALM2000 board (side 1) + + Figure 1.1 ADALM2000 (side 1) + + .. figure:: ../images/adalm2000_board2.png + :width: 400px + :alt: ADALM2000 board (side 2) + + Figure 1.2 ADALM2000 (side 2) + +.. figure:: ../images/adalm2000-pin-wires.png + :width: 700px + :alt: ADALM2000 pinout + + Figure 2. ADALM2000 Pinout + +The :adi:`ADALM2000` board is based on the :xilinx:`Zynq All Programmable SoC (AP SoC) ` +to which integrates the software programmability of an ARM-based processor with +the hardware programmability of an FPGA, enabling hardware acceleration while +integrating CPU, DSP, ASSP, and mixed signal functionality into a single device. +The device used in the M2K features a single-core ARM Cortex™-A9 processor +mated with 28nm Artix®-7 based programmable logic, outfitted with commonly used +hardened peripherals (USB, SPI, etc.) + +Architecture +------------ + +The high-level block diagram of :adi:`ADALM2000` is presented in Figure 3. The +Scopy software application will automatically detect the board and communicate +with it via USB 2.0, while the functional blocks of ADALM2000 can be controlled +via :ref:`libm2k` interface, including parameters configuration, acquiring, +storing and transferring data. + +Block diagram +~~~~~~~~~~~~~ + +.. figure:: ../images/block_diagram_m2k.png + :width: 500px + :alt: ADALM2000 block diagram + + Figure 3. ADALM2000 block diagram + + +The block diagram is divided into the following blocks: + +* **Analog Inputs** + + * Input Divider and Gain Control — high‑bandwidth input divider. High or Low + Gain can be selected by the SoC. + * Buffer — high‑impedance buffer. + * Driver — provides appropriate signal levels and protection to the ADC. + * Scope Reference and Offset — generates and buffers reference and offset + voltages for the scope stages. + * ADC — Analog‑to‑Digital Converter for each scope channel. + +* **Waveform Generator** + + * DAC — Digital‑to‑Analog Converter for each AWG channel. + * I/V — current‑to‑bipolar‑voltage converters. + * Output stages + +* **Clock and Oscillator** — high‑quality clock signal for the ADC and DAC +* **Digital I/O** — protected access to the FPGA pins assigned for the Pattern + Generator and Logic Analyzer +* **Power Supplies** — generates all internal supply voltages and user supply + voltages +* **USB Controller** — host connectivity +* **QSPI Flash** — stores calibration parameters +* **SoC** — FPGA + single‑core ARM processor, high‑speed digital logic, and + software connectivity. + +ADC/DAC AD9963 +-------------- + +The :adi:`AD9963` is a 12-bit, low power Mixed signal Front end converters +that provides two ADC channels with sample rates of 100 MSPS and two DAC +channels with sample rates to 170 MSPS. The :adi:`AD9963` offers high +performance with low power consumption, high integration and a flexible +digital interface. The :adi:`ADALM2000` operates the ADC channels at a +maximum sample rate of 100 MSPS, and the DAC channels at a maximum sample +rate of 150 MSPS. + +.. figure:: ../images/ad9963.png + :width: 400px + :alt: AD9963 ADC/DAC + + Figure 4. AD9963 ADC/DAC + +Analog Inputs +------------- + +Input Dividers and Gain Control +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The gain mode is selected in this stage by the SoC, enabling the corresponding +switch from ADG612 device. ADG612 is a monolithic CMOS device containing four +independently selectable switches with the characteristics: + +* Ultralow charge injection (1 pC typically) +* Dual ±2.7 V to ±5.5 V or single +2.7 V to +5.5 V operation +* Automotive temperature range: −40°C to +125°C +* Small, 16-lead TSSOP and SOIC packages + +The :adi:`ADALM2000` hardware design includes two gain range settings for the +analog input voltage divider: + +* High gain mode: for signals from -2.5 V to +2.5V +* Low gain mode: for signals from -25 V to 25 V + +A logic high on EN_SC1_HG turns switch 1 and switch 3 on, selecting high gain mode (gain of HG_1). +A logic high on EN_SC1_LG turns switch 2 and switch 4 on, selecting low gain mode (gain of LG_1). +Where: + +.. math:: + + HG_1 = \frac{R_{20} + R_{21}}{R_{19} + R_{20} + R_{21}} + = \frac{200\,\text{K} + 21\,\text{K}}{820\,\text{K} + 200\,\text{K} + 21\,\text{K}} + = 0.212 + +.. math:: + + LG_1 = \frac{R_{21}}{R_{19} + R_{20} + R_{21}} + = \frac{21\,\text{K}}{820\,\text{K} + 200\,\text{K} + 21\,\text{K}} + = 0.020 + +.. figure:: ../images/inout_div_gainctrl_p.png + :width: 400px + :alt: Input divider and gain control stage + + Figure 5. Input divider and gain control stage + +Buffers +~~~~~~~ + +After the input divider stage in the signal chain is the buffer stage. A dual +AD8066 FET input Op Amp is configured as a unity-gain buffer that presents a +high-impedance to the dividers' outputs and drives the following stage. R-C +compensation networks in the figure help to maximize the bandwidth and reduce +peaking (especially at unity gain). + +.. figure:: ../images/m2k_sc_buffer.png + :width: 400px + :alt: Buffer stage + + Figure 6. Buffer stage + +The useful features of the AD8066 are: + +* FET input amplifier +* 1 pA input bias current +* Low cost +* High speed: 145 MHz, −3 dB bandwidth (G = +1) +* 180 V/μs slew rate (G = +2) +* Low noise 7 nV/√Hz (f = 10 kHz), 0.6 fA/√Hz (f = 10 kHz) +* Wide supply voltage range: 5 V to 24 V +* Rail-to-rail output +* Maximum offset voltage of 1.5 mV +* Excellent distortion specifications +* SFDR −88 dBc @ 1 MHz +* Low power: 6.4 mA/amplifier typical supply current +* Small packaging: MSOP-8 + +ADC Drivers +~~~~~~~~~~~ + +The ADC driver consists of a ADA4940 for each analog input channel. This +fully differential ADC driver is a low noise, low distortion device, with very +low power consumption. Along with the passive components, this stage gives gain +factor equal to 1.3 for the differential signal that comes from the previous +buffer stage and a gain factor equal to 1 for the offset and reference signals. + +Another ADA4940 and 2 Schottky diodes are used to provide protection to the ADC +inputs of each channel against voltage levels above the absolute maximum +ratings. In the datasheet of AD9963 the full scale input range of the ADC is +1.56Vpp differential with an absolute maximum rating from -0.3V to 2.1V so the +protection circuit will clamp voltages around these values. + +.. figure:: ../images/adc_driver.png + :width: 400px + :alt: ADC driver + + Figure 7. ADC driver + +References and offset +~~~~~~~~~~~~~~~~~~~~~ + +Reference and offset voltages are implemented with an AD8567, a dual, +micropower, precision, rail-to-rail input/output amplifier optimized for high +output current capability and large capacitive loads. Other features of this +operational amplifier are: + +* low offset voltage (max 350 uV) +* low input bias current (max 20pA) +* GBW : 230 kHz at Av=100 +* Unity-gain crossover: 320 kHz +* Single-supply operation: 2.7V to 18V +* Dual-supply operation: ±1.35 V to ±9 V + +The reference stage has a 1.2V reference input signal. The reference signal is +amplified with a gain equal to 1.333 before it reaches the ADC driver. + +.. figure:: ../images/scope_reference.png + :width: 400px + :alt: Scope Amplifier + + Figure 8. Reference Amplifier + +In the offset stage, the input signal is generated by AD5625 12-bit nanoDAC. +This signal is amplified with 2.693 before it reaches ADC driver. + +.. figure:: ../images/scope_offset.png + :width: 400px + :alt: Offset Amplifier + + Figure 9. Offset Amplifier + +The reference and offset voltages are derived from an AD5625 nanoDAC, which +uses a 2-wire I2-compatible serial interface.It has single supply operation +(from 2.7V to 5.5V) and is guaranteed monotonic by design. + +.. figure:: ../images/ad5625.png + :width: 400px + :alt: AD5625 + + Figure 10. AD5625 + +Waveform Generator +------------------ + +I/V +~~~ + +The :adi:`AD9963` DACs are a current steering architecture, so it is necessary +to convert the TXIP,TXIN,TXQP,TXQN outputs to a voltage for the AWG frontend. +This operation is performed by an AD8058 dual voltage feedback amplifier. The +output currents from the TXIP and TXIN pins are complementary, meaning that the +sum of the two currents always equals the full-scale current of the DAC. The +digital input code to the DAC determines the effective differential current +delivered to the load. TXIP provides maximum output current when all bits are +high. The output currents vs. DACCODE for the DAC outputs are expressed as + +.. math:: + + I_{TXIP} = \left( \frac{\text{DACCODE}}{2^N} \right) I_{OUTFS} + +where + +.. math:: + + \text{DACCODE} = 0 \ldots (2^N - 1) + +The DAC full-scale output current is regulated by the reference control +amplifier and is determined by the product of a reference current, a +programmable reference resistor, an internal programmable resistor, and a pair +of programmable gain scaling parameters. There are a number of adjustments that +can be made to scale IOUTFS to provide programmability in the output signal +level. There are 2 available ranges for the DAC full scale current: 4 mA full +scale or 1 mA full scale. This current is converted by the AD8058 into voltage +for the last stages of the AWG front end. + +.. figure:: ../images/curent_voltage_awg.png + :width: 400px + :alt: Current to voltage converter + + Figure 11. Current to voltage converter + +The AD8058 has a very low input bias current value (typically 0.5 µA) and is +and is configured as a current to voltage converter such that: + +.. math:: + + V_+ = V_- + +.. math:: + + V_- = V_{out} + \left( I_{\text{DAC-AWG1N}} \cdot R_{95} \right) + +.. math:: + + V_+ = I_{\text{DAC-AWG1P}} \cdot R_{93} + +.. math:: + + V_{out} = I_{\text{DAC-AWG1P}} \cdot R_{93} + - I_{\text{DAC-AWG1N}} \cdot R_{95} + +The output voltage range of the AD8050 will be different, depending on the DAC +full scale output current: + +.. list-table:: + :header-rows: 1 + :widths: 30 40 + + * - **Input current (AD8058)** + - **Output Voltage (AD8058)** + * - 4 mA FS + - -0.496 V → 0.496 V + * - 1 mA FS + - -0.124 V → 0.125 V + +Output stages +~~~~~~~~~~~~~ + +The AWG reference is generated with the ADR3412 high‑accuracy voltage reference. +The 1.2 V signal is then passed through a buffer implemented with the AD8657. + +.. figure:: ../images/awg_reference.png + :width: 400px + :align: center + :alt: AWG reference + + Figure 12. AWG reference + +The offset of the signal generator channels is provided by the AD5625 nanoDAC. + +.. figure:: ../images/gain_offset_awg.png + :width: 400px + :align: center + :alt: Gain and offset stage of the AWG frontend + + Figure 13. Gain and offset stage of the AWG frontend + +Clock and Oscillator +-------------------- + +The ADF4360-9 is the clock generator used in ADALM2000, with a 20MHz reference +generated by a precision oscillator(Y1). This integrated integer-N synthesizer +and voltage controlled oscillator (VCO) allows a frequency range of between +65 MHz to 400 MHz. The ADF4360-9 is programmed through a 3-wire interface, the +power supply range is 3.0 V to 3.6 V, and a low-power shutdown mode reduces +supply current to 7μA. + +.. figure:: ../images/clocking.png + :width: 500px + :align: center + :alt: Oscillator and Clock Generator + + Figure 14. Oscillator and Clock Generator + +Digital IO +---------- + +.. figure:: ../images/digitaliopins.png + :width: 500px + :align: center + :alt: Digital IO Pins + + Figure 15. Digital I/O + +Digital IO connections to P1 are shown in the figure above. P1 is the end user +signal connector, with 30 pins corresponding to the input analog channels, the +user power supplies, the signal generator channels, 4 GND pins and digital IO +pins. The Digital IO interface includes 18 pins, 16 of which are the Digital IO +channels and the other two are trigger pins. IO pins are LVCMOS3V3 compatible +and have ESD protection for large currents provided by Schottky Diodes +(D11-D19). Short circuit protection is provided by the PRG18BB221MB1RB PTC +protection devices on the digital lines (RT10-18). These components provide +fault protection at the expense of limiting the bandwidth of the digital pins +slightly when configured as inputs. Similarly, in digital output mode, the 200Ω +resistance and the capacitance of the circuit being driven will limit +bandwidth. + +.. note:: + + input bandwidth calculation based on 200Ω and 4.4pF + Zynq Cin + +.. warning:: + + When connecting the digital pins to any external device and the + :adi:`ADALM2000` is powered off, the ESD protection diodes on the + :adi:`ADALM2000` will turn on, pulling any signals to ground. Any high logic + level of the external signal will be reduced to ~ 0.6V. + +.. note:: + + Would be good to describe a practical series resistance to safely sniff 5V + logic, considering the unpowered case where the internal 3.3V supply could + potentially be “dragged” higher than 3.3V + +Power Supplies +-------------- + +User power supplies +~~~~~~~~~~~~~~~~~~~ + +The user power supplies are implemented with two ADA4805 amplifiers, one in +noninverting configuration for the positive power supply and the other in +inverting configuration for the negative power supply. These amplifiers are +rail-to-rail output, with ultralow pupply current (500µA per amplifier) and +with a typical 0.2 µV/°C offset drift. A shutdown pin allows dynamic management +of the amplifier's supply current. The outputs are guaranteed to source and +sink 58mA, making them suitable for use as an adjustable positive or negative +power supply with a maximum specified load current of 50mA. Compensation +networks allow the amplifier to drive a 1μF output capacitance, providing a +low AC output impedance to the load. + +.. figure:: ../images/user_powersupplies.png + :width: 500px + :align: center + :alt: User power supplies + + Figure 16. User power supplies + +The ADA4805 shutdown pin is controlled by the SoC through a p-Channel MOSFET. +The device will turn of if the pin is pulled to a voltage with more than 1V +below midsupply. + +.. figure:: ../images/enable_supplies.png + :width: 500px + :align: center + :alt: Enable supplies + + Figure 17. Enable supplies + +Control signals for the supplies are generated by an AD5627 dual 12 bit +nanoDAC, with an output range of 0-1V corresponding to a range of 0 to 5.02V +for the positive supply and 0 to -5.1V for the negative supply. + +.. figure:: ../images/ad5627.png + :width: 500px + :align: center + :alt: AD5627 nanoDAC + + Figure 18. AD5627 nanoDAC + +The amplifier used for the positive user power supply has a gain of 5.02: + +.. math:: + + \text{gain\_pos} = 1 + \frac{R_{161}}{R_{158}} + = 1 + \frac{4.02\text{k}}{1\text{k}} + = 5.02 + +For the negative user supply amplifier the gain is -5.1: + +.. math:: + + \text{gain\_neg} = -\frac{R_{160}}{R_{159}} + = -\frac{5.1\text{k}}{1\text{k}} + = -5.1 + +The outputs of the ADA4805s (SUPPLY_POS and SUPPLY_NEG) correspond to the V+ +and V- pins on the user connector. Output voltages are also monitored through +scaling circuits with a gains of 1/2 and -1/2 that are then connected to the +AD9963's AUXIO pins. The monitoring function is useful for detecting supply +overcurrent and / or short circuits in the circuit being powered. + +.. figure:: ../images/supply_monitor.png + :width: 500px + :align: center + :alt: User supply signals division + + Figure 19. User supply signals division + +The positive supply monitoring signal is obtained with a resistive divider with +a gain of 1/2 and the negative supply monitor signal is obtained with an +inverting amplifier with gain -1/2: + +.. math:: + + G = -\frac{R_{136}}{R_{139}} + = -\frac{2\text{k}}{4.02\text{k}} + = -\frac{1}{2} + +Internal power supplies +----------------------- + +Analog Power supplies +~~~~~~~~~~~~~~~~~~~~~ + +There are 3 voltage rails in the positive analog section derived from the main +USB connector or auxiliary USB power connector. An ADP2370 synchronous buck +regulator provides the 3.3V voltage rail. This is a high efficiency, low +quiescent current dc-to-dc converter which uses a proprietary high speed +current mode and constant frequency PWM control scheme for excellent stability +and transient response. This rail is used to supply the clock generator, the +ADC drivers and the current-to-voltage converters of the AWG front end. + +.. figure:: ../images/3v3_rail.png + :width: 500px + :align: center + :alt: 3.3V positive voltage rail + + Figure 20. 3.3V positive voltage rail + +An ADP1614 step-up converter provides the 6V voltage rail. This is a dc-to-dc +switching converter with an integrated power switch capable of providing an +output voltage up to 20V. The device operates in a current-mode pulse-width +modulation with up to 94% efficiency. Due to this architecture is allowed +excellent transient response and easy noise filtering. This rail is used to +supply the user power supply amplifiers, the switches used in the input signal +chain, and the amplifiers of the AWG front end. + +.. figure:: ../images/6v_rail.png + :width: 500px + :align: center + :alt: 6V positive voltage rail + + Figure 21. 6V positive voltage rail + +An LT1761 LDO Micropower Regulator provides the low-noise 4V rail used to +supply the amplifiers from the buffer stage of the input signal chain. This is +a low dropout regulator with low quiescent and shutdown current and with an +input voltage range of 1.8V to 20V, output current of 100mA, and a dropout +voltage of 300mV. + +.. figure:: ../images/4v_rail.png + :width: 500px + :align: center + :alt: 4V positive voltage rail + + Figure 22. 4V positive voltage rail + +The negative analog section has 3 voltage rails, -6V, -3.3V and -5V. An ADP5074 +inverting regulator provides -6V from the 5V USB input. It has a wide input +voltage range (from 2.85V to 15V) and its integrated main switch enables the +generation of an adjustable negative output down to 39V below the input voltage. +This rail is used to supply the amplifiers of the user power supplies, the +switches used in the input signal chain, and the amplifiers of the AWG front +end. + +.. figure:: ../images/m6v_rail.png + :width: 500px + :align: center + :alt: -6V voltage rail + + Figure 23. -6 V voltage rail + +An ADP7182 regulates the -6V rail to -3.3V. This device is is a CMOS, low +dropout (LDO) linear regulator that operates from −2.7 V to −28 V and provides +up to −200 mA of output current. This rail is used to supply the ADC drivers +and the current-to-voltage converters of the AWG front end. + +.. figure:: ../images/m3v3_rail.png + :width: 500px + :align: center + :alt: -3.3V voltage rail + + Figure 24. -3.3 V voltage rail + +An LT1964ES5-5 provides the -5V rail. This device is a low-noise, Low Dropout +Negative micropower Regulator with a fixed output voltage of -5V capable of +supplying 200mA of output current. This rail is used to supply the amplifiers +from the buffer stage of the input signal chain. + +.. figure:: ../images/m5v_rail.png + :width: 500px + :align: center + :alt: -5V voltage rail + + Figure 25. -5 V voltage rail + +Digital Power supplies +~~~~~~~~~~~~~~~~~~~~~~ + +There are 4 supply rails for the digital section of the board. These rails are +provided by two ADP2114 Dual Step-Down DC-to-DC Regulators. This device is a +synchronous step-down switching regulator with two independent outputs. It +provides high efficiency(up to 95%) and operates at switching frequencies up to +2MHz. The input voltage range is 2.75V to 5.5V and the output is either fixed +or adjustable. +One of the ADP2114s is used to provide 1.8V for the ADC/DAC and 1.35V for the +DDR3 memory. + +.. figure:: ../images/digital_1v8_1v35.png + :width: 500px + :align: center + :alt: 1.8V and 1.35V digital voltage rail + + Figure 26. 1.8V and 1.35 digital voltage rail + +The other ADP2114 is used to provide the 1.0V VCCPINT rail, which supplies the +SoC, and the 3.3V rail which supplies the ADC and DACs. + +.. figure:: ../images/digital_3v3.png + :width: 500px + :align: center + :alt: 1V and 3.3V digital voltage rail + + Figure 27. 1V and 3.3V digital voltage rail + +USB Controller +-------------- + +A Microchip USB3320 Hi-Speed USB 2.0 transceiver provides a USB PHY and ULPI +connectivity to the SoC. The USB interface provides the following functions: + +* USB 2 (480 Mbits/seconds) +* libiio USB device for communicating to the device +* Network device + + * `Remote Network Driver Interface Specification (RNDIS) `__ + * This will enumerate with the 192.168.2.1 IP address by default. + +* USB serial device + + * provides access to the Linux console on the M2K device via + `USB Communication Device Class Abstract Control Model (USB CDC ACM) `__ + specification + +* Mass Storage Device : this will appear to the host as a disk, where you can + find links for software uploads, and the serial number of the device. + +.. figure:: ../images/usb_phy.png + :width: 500px + :align: center + :alt: USB PHY + + Figure 28. USB PHY + +Memory +------ + +System memory is a Micron `MT41K256M16TW-107 `__ +4Gbyte, 1066 Mbps, DDR3L low voltage SDRAM. This memory is used for temporary +storage of streaming data as well as the operating system. + +.. figure:: ../images/ddr3.png + :width: 500px + :align: center + :alt: USB PHY + + Figure 29. DDR3 memory + +Firmware is stored in a Micron `MT25QU256ABA8E12-1SIT `__ +265Mbyte, 90MBps Serial Flash. This device has an endurance of 100,000 ERASE +cycles minimum (don't update the firmware more times than this). + +.. figure:: ../images/flash.png + :width: 500px + :align: center + :alt: USB PHY + + Figure 30. Flash memory + +SoC +--- + +A Xilinx :xilinx:`Zynq` XC7Z010-1CLG225C System on Chip provides processing and +programmable logic functionality with the following specifications: + +* FPGA + + * Logic Cells: 28k + * Block RAM: 2.1Mb + * DSP Slices 80 + +* ARM Processing System + + * Single-core ARM® Cortex™-A9 MPCore™ + * 667 MHz + +* USB 2.0 (included in the Zynq) + + * streams up to 4MSPS with no dropped samples + +Additional information may be found at +`Zynq-7000 All Programmable SoC Overview `__ +and +`Datasheet `__ + +Power +----- + +The board is completely self powered from USB and has two USB connectors: One +for power and data and one for optional power. + +.. figure:: ../images/usb_conn.png + :width: 500px + :align: center + :alt: USB connectors + + Figure 31. USB connectors + +Bus power from both USB connectors are pass through an LTC4415 dual monolithic +ideal diodes with adjustable current limit, where the data USB bus current +limit is set to 1A and the power USB bus current limit is set to 2A. The two +ideal diodes are independently enabled and prioritized using inputs EN1 and +/EN2 such that the power USB connector has the higher priority. + +.. figure:: ../images/power_selector.png + :width: 500px + :align: center + :alt: Power selector + + Figure 32. Power selector + +Features +-------- + +Analog Inputs + +* 2 channels +* differential channel type +* 12-bit resolution +* 100 MS/s sample rate +* Scope scales: 1mV to 10V/div +* ±25V (±50V differential) input range +* 64k samples buffer size/channel +* Trigger: rising/falling edge, high/low, hysteresis +* Sampling modes: average, decimate, min/max +* FFTs, XY plots and histrogram +* Math channels with complex functions +* Cursors with advanced data measurements +* Captured data files can be exported in standard formats (.csv, .txt) + +Signal Generator + +2 channels +* Single ended channel type +* 12-bit resolution +* Sample rate: 150 MS/s +* AC amplitude (max): ±5 V +* DC Offset (max): ±5 V +* Slew rate (10V step): 400V/µs +* 64k samples buffer size/channel +* Sine, Square, Triangle, Trapezoidal, Rising/Falling Ramp Sawtooth waveforms +* Noise Waveforms (Uniform, Gaussian, Laplacian, Impulse) +* Custom waveforms using standard tools (e.g. Excel) + +Pattern Generator + +* 16 channels +* Sample rate: 100 MS/s +* Custom pattern buffer/channel: up to 500K samples +* Output logic standard: LVCMOS (3.3V) +* Output type/channel: Push-Pull(PP)/Open-Drain(OD) +* Import patterns using standard file formats (.csv, .txt) +* Customized visualization for signals and buses + +Logic Analyzer + +* Channels: 16 +* Sample rate (real time): 100 MS/s +* 500K samples buffer size/channel +* Input logic: LVCMOS (3.3V, up to 5V) +* Trigger options: auto/normal with multiple trigger logic options +* External trigger available +* Decoders for multiple communication protocols (SPI, I2C, UART, Parallel, + etc.) +* Export data using standard formats (.csv, .txt) + +Digital I/O + +* Channels: 16 (shared) +* Input logic: LVCMOS (3.3V, 5V tolerant) +* Output logic standard: LVCMOS (3.3V) +* Virtual I/O devices (switches & displays) +* Individual/Grouped Customized visualization of channels + +Power Supplies + +* 1 Positive output +* 1 Negative output +* Voltage range: 0.5V…5V and -0.5V…-5V +* Independent/Tracking modes for the 2 power supplies + +Network Analyzer + +* Shared with following instruments: Oscilloscope, Signal Generator +* Frequency sweep range: 1Hz to 30MHz +* Samples count: 10 → 1000 +* Settable input amplitude and offset +* Signal recorded via analog input at each frequency +* Available diagrams: Bode, Nichols, or Nyquist +* Export data using standard formats (.csv, .txt) + +Voltmeter + +* Channels (shared with scope): 2 +* Channel type: differential +* Measurements: DC and AC +* Resolution: 12-bit +* Input range: ±25V (±50V div) +* Peak Hold +* History of recorded values +* Option for Data logging + +Spectrum Analyzer + +* 2 channels shared with Oscilloscope +* Power spectrum algorithms: FFT +* Frequency range modes: center/span, start/stop +* Frequency scale: linear +* Vertical axis options: voltage-peak, VRMS, dBV, dBu, dBFS +* Window types: flat top, rectangular, triangular, hamming, hann, + blackman-harris, kaiser +* 5 customizable markers +* Data file export using standard formats (.csv, .txt) + +Other Features + +* USB power option; all needed cables included. +* External supply option: 5V, 2.5A +* Data transfer via high-speed USB 2.0 interface +* Trigger in allows multiple instruments to be linked +* Individual configuration of instruments +* Export/import instruments configuration + +Other Resources +--------------- + +* :ref:`ADALM2000 for End Users ` +* :dokuwiki:`ADALM2000 Based Lab Activity Material, Electronics I and II ` +* Software: + + * :external+scopy:doc:`Scopy ` + * :dokuwiki:`ALICE Active Learning Interface (for) Circuits (and) Electronics for M2K `