Difference between revisions of "Hantek DSO-220"
m (Fix more hantek.com URLs) |
|||
(11 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[File:Voltcraft dso-220 usb.png|thumb|right|Voltcraft DSO-220]] | [[File:Hantek DSO-220 Back.jpg|thumb|right|Hantek-branded DSO-220 (firmware 5.x)]] | ||
[[File:Voltcraft dso-220 usb.png|thumb|right|Voltcraft-branded DSO-220 (firmware 3.x?)]] | |||
The [http://www.conrad.de/ce/de/product/121807/VOLTCRAFT-DSO-220-USB-USB-Oszilloskop-2-Kanal-Oszilloskop-Vorsatz-USB-Scope-Bandbreite-20-MHz-30-MHz Voltcraft DSO-220 | The Hantek DSO-220 is a USB-based, 2-channel oscilloscope with an analog bandwidth of 20MHz and 60MS/s sampling rate. It was sold under the [http://hantek.com/products/detail/133 Hantek] and [http://www.conrad.de/ce/de/product/121807/VOLTCRAFT-DSO-220-USB-USB-Oszilloskop-2-Kanal-Oszilloskop-Vorsatz-USB-Scope-Bandbreite-20-MHz-30-MHz Voltcraft] brands and possibly others: Hantek says on their [http://hantek.com/About website] that "DSO-220 USB ... is mainly exported to America, Europe and many other developed countries through ODM pattern." | ||
There were [https://web.archive.org/web/20160304173102/http://www.hantek.org/asken/iaskdetail.aspx?id=2011041915123971 two versions] of the hardware produced, requiring different firmware versions but re-enumerating to the same USB PID. I suspect, but cannot confirm, that a unit's hardware revision is indicated by the style of its case: | |||
See [[ | * Units with a boxy case, as with the Voltcraft unit shown on this page and the "HUITONG" branded unit pictured on [http://hantek.com/products/detail/133 Hantek's product page], seem to initially enumerate as 0547:1004 and require firmware in the v3.x series. | ||
* Units with a contoured case, as with the one shown in the photographs below and in the mikrocontroller.net teardown, seem to initially enumerate as 0547:1005 and require firmware in the v5.x series. This is the same style of case used by [[Hantek DSO-2xxx/52xx]]. | |||
Nearly all information on this page is taken from the unit photographed below, which takes 5.x firmware. (I have tried loading 3.x firmware onto it, and it re-enumerates properly, but I have not tested anything beyond that.) The 3.x and 5.x firmwares have significant code differences, judging by a cursory disassembly of them, so it's possible that the innards of 3.x units are quite different as well. Firmware can be extracted from drivers in the same way as for other Hantek scopes (see [[Hantek DSO-2xxx/52xx]]). | |||
The DSO-220 may be closely related to the [[Hantek DSO-2100]]. Hantek's website has a single product page for both, and the DSO-2100's firmware is quite similar to the 5.x firmware for the DSO-220, with only a few differing pieces of control flow. | |||
See [[Hantek DSO-220/Info]] for more details (such as '''lsusb -vvv''' output) about both hardware revisions. Notably, after firmware load and re-enumeration, the PIDs and USB descriptors are identical, indicating that both firmwares speak the same protocol. | |||
== Hardware == | == Hardware == | ||
Line 11: | Line 19: | ||
* '''Main chip''': Xilinx XC95144XL CPLD (JTAG IDCODE 0x59608093) ([https://www.xilinx.com/support/documentation/data_sheets/ds056.pdf datasheet]) | * '''Main chip''': Xilinx XC95144XL CPLD (JTAG IDCODE 0x59608093) ([https://www.xilinx.com/support/documentation/data_sheets/ds056.pdf datasheet]) | ||
* '''USB''': Cypress EZ-USB AN2131QC ([https:// | * '''USB''': Cypress EZ-USB AN2131QC ([https://www.cypress.com/file/101046/download datasheet]) | ||
* '''I2C EEPROM''': Unknown ( | * '''I2C EEPROM''': Unknown (marking masked on all photos I've seen) | ||
* '''SRAM (64KB)''': 2x ISSI | * '''SRAM (64KB)''': 2x ISSI IS62LV256L-15T 32K x 8 Low Voltage CMOS Static RAM ([https://www.digchip.com/datasheets/download_datasheet.php?id=446931&part-number=IS62LV256L datasheet]) | ||
* '''Dual 4-channel analog multiplexer/demultiplexer | * '''ADC''': Texas Instruments ADC1175-50 8-Bit, 50 MSPS, 125mW A/D Converter ([https://www.ti.com/lit/ds/symlink/adc1175-50.pdf?ts=1592690570571&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FADC1175-50 datasheet]) | ||
* '''Analog mux''': 74HC4052 Dual 4-channel analog multiplexer/demultiplexer ([https://assets.nexperia.com/documents/data-sheet/74HC_HCT4052.pdf datasheet]) | |||
* '''Crystal''': 60MHz | * '''Crystal''': 60MHz | ||
* '''Relay''': 4x Forward Relays PS-5 (two per input stage) ([https://www.wagneronline.com.au/attachments/Datasheets/RL-PS.pdf datasheet]) | |||
There is an unpopulated JTAG header for the CPLD labeled J8. Its pinout is as follows: | There is an unpopulated JTAG header for the CPLD labeled J8. Its pinout is as follows: | ||
# +3. | # +3.3V (pin 1 has a square pad) | ||
# TCK | # TCK | ||
# TDI | # TDI | ||
Line 24: | Line 34: | ||
# TMS | # TMS | ||
# GND | # GND | ||
From continuity testing of the board, I have determined the following: | |||
* The blue LED (active high) is connected to PC2 of the AN21. | |||
* The two outputs (1Z and 2Z) of the 74HC4052 are, unsurprisingly, connected to the inputs (Vin) of each ADC. | |||
* Six of the address lines, A[0:4] and A[15], and all of the data lines of the AN21 are connected to the CPLD. A[15] is almost certainly connected to some sort of chip enable on the CPLD, which means that it exposes 32 bytes of registers to the AN21, mapped from 0x8000-0x801f. Disassembly of the Hantek 5.0.0.1 firmware seems to confirm this: the function starting at 0x46 is the interesting one. | |||
== Photos == | == Photos == | ||
<gallery> | |||
File:Hantek DSO-220 Back.jpg|<small>Top w/ USB + CAL</small> | |||
File:Hantek DSO-220 Bottom.jpg|<small>Bottom</small> | |||
File:Hantek DSO-220 Front.jpg|<small>Top w/ probe connectors</small> | |||
File:Hantek DSO-220 Open Case.jpg|<small>Top case removed</small> | |||
File:Hantek DSO-220 PCB Top.jpg|<small>PCB, top</small> | |||
File:Hantek DSO-220 PCB Digital Logic.jpg|<small>PCB, chip markings</small> | |||
File:Hantek DSO-220 PCB Markings.jpg|<small>PCB, markings</small> | |||
File:Hantek DSO-220 PCB Bottom.jpg|<small>PCB, bottom</small> | |||
File:Hantek DSO-220 PCB Rework.jpg|<small>PCB, example of reworks</small> | |||
File:Hantek DSO-220 Inner Case.jpg|<small>Inner case</small> | |||
</gallery> | |||
== Protocol == | == Protocol == | ||
Line 34: | Line 61: | ||
== Resources == | == Resources == | ||
* [http://hantek.com/About Hantek history (DSO-220 seems to have been their first scope)] | |||
* [https://www.mikrocontroller.net/topic/55637 Teardown from mikrocontroller.net] | |||
* Drivers (containing firmware) | |||
** v3: [http://www.hantek.com/download/dso-220usb_v3.4.0.0.rar dso-220usb_v3.4.0.0.rar] | |||
** v5: [http://www.hantek.com/download/DSO220.5.0.0.1.rar DSO220.5.0.0.1.rar] | |||
== Resources (no longer available) == | |||
* [http://www.produktinfo.conrad.com/datenblaetter/100000-124999/121807-an-01-en-Abgleichanweisung_DSO_220USB.pdf Calibration instructions] | * [http://www.produktinfo.conrad.com/datenblaetter/100000-124999/121807-an-01-en-Abgleichanweisung_DSO_220USB.pdf Calibration instructions] | ||
* [http://www.produktinfo.conrad.com/datenblaetter/100000-124999/121807-an-01-ml-OSZILLOSKOP_VORSATZ_DSO_220USB_de_en_fr.pdf Manual] | * [http://www.produktinfo.conrad.com/datenblaetter/100000-124999/121807-an-01-ml-OSZILLOSKOP_VORSATZ_DSO_220USB_de_en_fr.pdf Manual] | ||
* [http://www.produktinfo.conrad.com/datenblaetter/100000-124999/121807-up-01-en-Windows7_dso_220_usb_5_1_0_0_1_20MHz.zip Vendor software] | * [http://www.produktinfo.conrad.com/datenblaetter/100000-124999/121807-up-01-en-Windows7_dso_220_usb_5_1_0_0_1_20MHz.zip Vendor software] | ||
[[Category:Device]] | [[Category:Device]] | ||
[[Category:Oscilloscope]] | [[Category:Oscilloscope]] | ||
[[Category:Planned]] | [[Category:Planned]] |
Latest revision as of 07:17, 14 January 2021
The Hantek DSO-220 is a USB-based, 2-channel oscilloscope with an analog bandwidth of 20MHz and 60MS/s sampling rate. It was sold under the Hantek and Voltcraft brands and possibly others: Hantek says on their website that "DSO-220 USB ... is mainly exported to America, Europe and many other developed countries through ODM pattern."
There were two versions of the hardware produced, requiring different firmware versions but re-enumerating to the same USB PID. I suspect, but cannot confirm, that a unit's hardware revision is indicated by the style of its case:
- Units with a boxy case, as with the Voltcraft unit shown on this page and the "HUITONG" branded unit pictured on Hantek's product page, seem to initially enumerate as 0547:1004 and require firmware in the v3.x series.
- Units with a contoured case, as with the one shown in the photographs below and in the mikrocontroller.net teardown, seem to initially enumerate as 0547:1005 and require firmware in the v5.x series. This is the same style of case used by Hantek DSO-2xxx/52xx.
Nearly all information on this page is taken from the unit photographed below, which takes 5.x firmware. (I have tried loading 3.x firmware onto it, and it re-enumerates properly, but I have not tested anything beyond that.) The 3.x and 5.x firmwares have significant code differences, judging by a cursory disassembly of them, so it's possible that the innards of 3.x units are quite different as well. Firmware can be extracted from drivers in the same way as for other Hantek scopes (see Hantek DSO-2xxx/52xx).
The DSO-220 may be closely related to the Hantek DSO-2100. Hantek's website has a single product page for both, and the DSO-2100's firmware is quite similar to the 5.x firmware for the DSO-220, with only a few differing pieces of control flow.
See Hantek DSO-220/Info for more details (such as lsusb -vvv output) about both hardware revisions. Notably, after firmware load and re-enumeration, the PIDs and USB descriptors are identical, indicating that both firmwares speak the same protocol.
Hardware
The PCB does not look professionally assembled; both my unit and the unit in the mikrocontroller.net teardown linked below appear to have most components, including SMD ones, hand-soldered. There are clear reworks present, with SMD resistors bridging between through-hole pads on the underside of the board.
- Main chip: Xilinx XC95144XL CPLD (JTAG IDCODE 0x59608093) (datasheet)
- USB: Cypress EZ-USB AN2131QC (datasheet)
- I2C EEPROM: Unknown (marking masked on all photos I've seen)
- SRAM (64KB): 2x ISSI IS62LV256L-15T 32K x 8 Low Voltage CMOS Static RAM (datasheet)
- ADC: Texas Instruments ADC1175-50 8-Bit, 50 MSPS, 125mW A/D Converter (datasheet)
- Analog mux: 74HC4052 Dual 4-channel analog multiplexer/demultiplexer (datasheet)
- Crystal: 60MHz
- Relay: 4x Forward Relays PS-5 (two per input stage) (datasheet)
There is an unpopulated JTAG header for the CPLD labeled J8. Its pinout is as follows:
- +3.3V (pin 1 has a square pad)
- TCK
- TDI
- TDO
- TMS
- GND
From continuity testing of the board, I have determined the following:
- The blue LED (active high) is connected to PC2 of the AN21.
- The two outputs (1Z and 2Z) of the 74HC4052 are, unsurprisingly, connected to the inputs (Vin) of each ADC.
- Six of the address lines, A[0:4] and A[15], and all of the data lines of the AN21 are connected to the CPLD. A[15] is almost certainly connected to some sort of chip enable on the CPLD, which means that it exposes 32 bytes of registers to the AN21, mapped from 0x8000-0x801f. Disassembly of the Hantek 5.0.0.1 firmware seems to confirm this: the function starting at 0x46 is the interesting one.
Photos
Protocol
TODO.
Resources
- Hantek history (DSO-220 seems to have been their first scope)
- Teardown from mikrocontroller.net
- Drivers (containing firmware)