diff --git a/docs/images/block-diagram-r9.png b/docs/images/block-diagram-r9.png new file mode 100644 index 00000000..7f77f278 Binary files /dev/null and b/docs/images/block-diagram-r9.png differ diff --git a/docs/images/block-diagram-r9.svg b/docs/images/block-diagram-r9.svg new file mode 100644 index 00000000..6ae628b2 --- /dev/null +++ b/docs/images/block-diagram-r9.svg @@ -0,0 +1,4059 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + Si5351A + + + + + + PLL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + U19 + U22 + U16 + + + XC2C64A + + U24 + + LPC4320 + + USB + + SGPIO + + CortexM4CPU + + CortexM0CPU + + SRAM Buffer + + + + + + + + + + + + + + + + + + U23 + + MAX5864 + + + DAC + + + + DAC + + + + + ADC + + + + ADC + + + 2–20 Msps + + U18 + + + LPF + + + + + + + MAX2839 + + + LPF + + + + + + + + + + + + + + + + + + + + + + + + + + + + LPF + + + + LPF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PLL + + + 90° + 2170–2740 MHz + U17 + + + + PLL + + + + + + + RFFC5072 + + + U4 + + + + + + + + + USB + SGPIO[0-7,9-15]BANK2F3M[1-12,14-16] + + + + + + + + + + + + + + + DD[0-9] + DA[0-7] + + + + + + + TXBBI + + + + + + + TXBBQ + + + + + + + + + + + + + RXBBI + RXBBQ + + + + + + + + + + + + + + HackRF One: Block Diagram + + + + + 25 MHz + + CLKIN + 10 MHz0–3.3 V, Hi-Z + 480 Mbps + + + + + + + + CLK0 + CLK1 + CLK2 + GCK2 + + SGPIO_CLK + AD_CLK + + CLKOUT + 10 MHz0–3.3 V, Lo-Z + XCVR_CLK + + + + + + + + TX_IF + RX_IF + U1 + U11 + + + + + + + + 84.375–5400 MHz + + + + + + + + + + U7 + U10 + + + + + + + + + + ANTENNA + 1 MHz–6 GHz, 50ΩInput max: -5dBmOutput max:1–2170 MHz: 5–15 dBm2170–2740 MHz: 13–15 dBm2740–4000 MHz: 0–5 dBm4000–6000 MHz: -10–0 dBm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HPF + + + + LPF + + + + + + + + + + U14 + U12 + U9 + U5 + U6 + + + + + U2 + U25 + + U13 + 0–47 dB + 0–62 dB + 0–40 dB + + 0–62 dB + + + + + + + + + + + + + + + + + U8 + U3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Microcontroller (MCU) + Analog Frontend + Transceiver + CPLD + Synthesizer & Mixer + Clock Generator + > 2740 MHz + < 2170 MHz + + + + + MIX_CLK + 40 MHz + 40 MHz + 4–40 MHz + GCK1 + 2–20 MHz + 800MHz + ~11 dB + MIX_BYPASS + RX + + + + LP + TX_AMP + + + + + + + + + + + + + + + + + + + 3.3V 50mA + + + + + + + + + + !ANT_BIAS + RX_AMP + AMP_BYPASS + HP + + TX_MIX_BP + !MIX_BYPASS + RX_MIX_BP + + + + + + + + + + + + + + + + + + Baseband filtercutoff selection + 1.75–28 MHz + + + ~11 dB + + + + + + + + + + GREATSCOTTGADGETS + + + + + + + Diagram Revision: A + Hardware Revision: r9 + © Great Scott Gadgets 2022-2023 + + This design may be copied & usedunder the terms of CERN-OHL-P v2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + diff --git a/docs/images/block-diagram.png b/docs/images/block-diagram.png index fcce0b01..c0e1b680 100644 Binary files a/docs/images/block-diagram.png and b/docs/images/block-diagram.png differ diff --git a/docs/images/block-diagram.svg b/docs/images/block-diagram.svg index 614df982..536e75cb 100644 --- a/docs/images/block-diagram.svg +++ b/docs/images/block-diagram.svg @@ -1,22 +1,22 @@ + inkscape:export-ydpi="96" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + inkscape:snap-others="true" + inkscape:pagecheckerboard="0"> - @@ -1456,29 +1452,6 @@ x="206.37503" y="28.575012" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.82083px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:start;text-anchor:start;stroke-width:0.264583">MAX2837 - - - LPF - @@ -1569,54 +1542,6 @@ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 259.29169,42.333333 257.17502,41.275 v 2.116667 z" id="path2697" /> - - - LPF - - - - LPF - @@ -2586,22 +2511,22 @@ TX_IF RX_IF @@ -3275,7 +3200,7 @@ id="path4820" /> MIX_BYPASS RX LP TX_AMP 3.3V 50mA + d="m 39.952084,158.75002 h 21.431253 v -2.11667" + id="path2634" + sodipodi:nodetypes="ccc" /> !ANT_BIAS RX_AMP AMP_BYPASS HP TX_MIX_BP !MIX_BYPASS RX_MIX_BP @@ -4175,6 +4101,11 @@ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 225.42502,88.900005 -2.11667,-1.05834 v 2.11667 z" id="path2876" /> + GADGETS + + + id="g3853" + transform="translate(-0.23745481,-0.10144164)"> Diagram Revision: BDiagram Revision: C + Hardware Revision: r1-r8 © Great Scott Gadgets 2022© Great Scott Gadgets 2022-2023 + width="71.947708" + height="24.481998" + x="127.00948" + y="125.59979" /> This design may be copied & usedunder the terms of CERN-OHL-P v2 + id="g3819" + transform="translate(0,2.1166668)"> - - + + + LPF + + + + LPF + + + + LPF + diff --git a/docs/source/hardware_components.rst b/docs/source/hardware_components.rst index 8c408d97..30ea303e 100644 --- a/docs/source/hardware_components.rst +++ b/docs/source/hardware_components.rst @@ -4,14 +4,16 @@ Hardware Components Major parts used in HackRF One: -* `MAX2837 2.3 to 2.7 GHz transceiver `__ - * `Datasheet `__ - * There's also a register map document that Mike received directly from Maxim. Send an email to Mike or submit a support request to Maxim if you want a copy. -* `MAX5864 ADC/DAC `__ - * `Datasheet `__ +* `MAX2837 2.3 to 2.7 GHz transceiver `__ + * `Datasheet `__ +* `MAX2839 2.3 to 2.7 GHz transceiver `__ + * `Datasheet `__ + * substitution for MAX2837. +* `MAX5864 ADC/DAC `__ + * `Datasheet `__ * `Si5351 clock generator `__ * `AN619: Manually Generating an Si5351 Register Map `__ - * `Datasheet `__ - this document is a mess of typos, and best used in conjunction with AN619, which has its own typos. Usually, you can reconcile what's true by comparison and a bit of thought. + * `Datasheet `__ - see AN619 for the complete register map. * `Other Documentation `__ - includes application notes, user guides, and white papers. * CoolRunner-II CPLD * `LPC43xx ARM Cortex-M4 microcontroller `__ @@ -26,10 +28,13 @@ Major parts used in HackRF One: * `W25Q80BV 8M-bit Flash `__ - - -Block Diagram -~~~~~~~~~~~~~ +Block Diagrams +~~~~~~~~~~~~~~ .. image:: ../images/block-diagram.png - :align: center + :align: center + +| + +.. image:: ../images/block-diagram-r9.png + :align: center diff --git a/docs/source/list_of_hardware_revisions.rst b/docs/source/list_of_hardware_revisions.rst index 97e4e203..fb1aa296 100644 --- a/docs/source/list_of_hardware_revisions.rst +++ b/docs/source/list_of_hardware_revisions.rst @@ -15,19 +15,26 @@ This experimental revision has not been manufactured. HackRF One r6 ~~~~~~~~~~~~~ -SKY13350 RF switches were replaced by SKY13453 due to component availability. Although the SKY13453 uses simplified control logic, it did not require a firmware modification. Manufacturing year: 2020 +SKY13350 RF switches were replaced by SKY13453. Although the SKY13453 uses simplified control logic, it did not require a firmware modification. Hardware revision detection pin straps were added. Manufacturing year: 2020 HackRF One r7 ~~~~~~~~~~~~~ -SKY13453 RF switches were reverted to SKY13350 due to component availability. USB VBUS detection resistor values were changed to better protect the LPC4320. Manufacturing year: 2021 +SKY13453 RF switches were reverted to SKY13350. USB VBUS detection resistor values were updated. Manufacturing year: 2021 HackRF One r8 ~~~~~~~~~~~~~ -SKY13350 RF switches were replaced by SKY13453 due to component availability. Manufacturing years: 2021–2022 +SKY13350 RF switches were replaced by SKY13453. Manufacturing years: 2021–2022 + +HackRF One r9 +~~~~~~~~~~~~~ + +MAX2837 was replaced by MAX2839. Si5351C was replaced by Si5351A with additional clock distribution. A series diode was added to the antenna port power supply. Manufacturing year: 2023 Hardware Revision Identification ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HackRF Ones manufactured by Great Scott Gadgets have the revision number printed on the PCB top silkscreen layer near the MAX5864 (U18). + +Starting with HackRF One r6, hardware revisions are detected by firmware and reported by ``hackrf_info``. diff --git a/docs/source/software_support.rst b/docs/source/software_support.rst index 64b53c41..c21ba9bc 100644 --- a/docs/source/software_support.rst +++ b/docs/source/software_support.rst @@ -52,22 +52,19 @@ HackRF Tools In addition to third party tools that support HackRF, we provide some commandline tools for interacting with HackRF. For information on how to use each tool look at the help information provided (e.g. ``hackrf_transfer -h``) or the `manual pages `__. -The first two tools (``hackrf_info`` and ``hackrf_transfer``) should cover most usage. The remaining tools are provided for debugging and general interest; beware, they have the potential to damage HackRF if used incorrectly. - * **hackrf_info** Read device information from HackRF such as serial number and firmware version. - * **hackrf_transfer** Send and receive signals using HackRF. Input/output can be 8bit signed quadrature files or wav files. + * **hackrf_transfer** Send and receive signals using HackRF. Input/output files are 8-bit signed quadrature samples. - * **hackrf_max2837** Read and write registers in the Maxim 2837 transceiver chip. For most tx/rx purposes hackrf_transfer or other tools will take care of this for you. + * **hackrf_sweep**, a command-line spectrum analyzer. - * **hackrf_rffc5071** Read and write registers in the RFFC5071 mixer chip. As above, this is for curiosity or debugging only, most tools will take care of these settings automatically. + * **hackrf_clock** Read and write clock input and output configuration. - * **hackrf_si5351c** Read and write registers in the Silicon Labs Si5351C clock generator chip. This should also be unnecessary for most operation. + * **hackrf_operacake** Configure Opera Cake antenna switch connected to HackRF. - * **hackrf_spiflash** A tool to write new firmware to HackRF. This is mostly used for :ref:`Updating Firmware `. - - * **hackrf_cpldjtag** A tool to update the CPLD on HackRF. This is needed only when :ref:`Updating Firmware ` to a version prior to 2021.03.1. + * **hackrf_spiflash** A tool to write new firmware to HackRF. See: :ref:`Updating Firmware `. + * **hackrf_debug** Read and write registers and other low-level configuration for debugging. Handling HackRF data