Difference between revisions of "Hantek DSO-220"

From sigrok
Jump to navigation Jump to search
m (Fix more hantek.com URLs)
 
(10 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] is a USB-based, 2-channel oscilloscope with an analog bandwidth of 20MHz and 60MS/s sampling rate.
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."


This is a rebadged [http://www.hantek.com.cn/english/down_list.asp?unid=10 Hantek DSO-220].
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 [[Voltcraft DSO-220/Info]] for more details (such as '''lsusb -vvv''' output) about the device.
* 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://media.digikey.com/pdf/Data%20Sheets/Cypress%20PDFs/AN2131SC,QC,AN2135SC,36SC.pdf datasheet])
* '''USB''': Cypress EZ-USB AN2131QC ([https://www.cypress.com/file/101046/download datasheet])
* '''I2C EEPROM''': Unknown (die marking masked on all photos I've seen)
* '''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 ([https://www.digchip.com/datasheets/download_datasheet.php?id=446931&part-number=IS62LV256L datasheet])
* '''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])
* '''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])
* '''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])
* '''Dual 4-channel analog multiplexer/demultiplexer''': 74HC4052 ([https://assets.nexperia.com/documents/data-sheet/74HC_HCT4052.pdf 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:
Line 25: 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 ==


TODO.
<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 35: 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]
* [http://www.hantek.com.cn/english/down_list.asp?unid=10 Hantek DSO-220 downloads]
** [http://www.hantek.com.cn/download/dso-220usb_v3.4.0.0.rar dso-220usb_v3.4.0.0.rar], [http://www.hantek.com/download/DSO220.5.0.0.1.rar DSO220.5.0.0.1.rar]
** [http://www.hantek.com.cn/download/SecondDesignDSO-220USB_Ver5.0.0.1_English.rar SecondDesignDSO-220USB_Ver5.0.0.1_English.rar], [http://www.hantek.com.cn/download/SecondDesignDSO-220USB_Ver5.0.0.1_China.rar SecondDesignDSO-220USB_Ver5.0.0.1_China.rar]
* [http://www.hantek.com/english/lishi.asp Hantek history (DSO-220 seems to have been their first scope)]
* [http://www.hantek.org/asken/iaskdetail.aspx?id=2011041915123971 hantek.org: two different DSO-220 versions seem to exist]
* [https://www.mikrocontroller.net/topic/55637 Another teardown]


[[Category:Device]]
[[Category:Device]]
[[Category:Oscilloscope]]
[[Category:Oscilloscope]]
[[Category:Planned]]
[[Category:Planned]]

Latest revision as of 07:17, 14 January 2021

Hantek-branded DSO-220 (firmware 5.x)
Voltcraft-branded DSO-220 (firmware 3.x?)

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:

  1. +3.3V (pin 1 has a square pad)
  2. TCK
  3. TDI
  4. TDO
  5. TMS
  6. 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

Resources (no longer available)