Difference between revisions of "Hantek DSO-220"

From sigrok
Jump to navigation Jump to search
m (Tchebb moved page Voltcraft DSO-220 to Hantek DSO-220: This is a Hantek design, and the Voltcraft version is an ODM rebrand)
m (Fix more hantek.com URLs)
 
(7 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 (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])
* '''Per-channel mux''': 74HC4052 Dual 4-channel analog multiplexer/demultiplexer ([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 ==
Line 38: Line 53:
File:Hantek DSO-220 PCB Bottom.jpg|<small>PCB, bottom</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 PCB Rework.jpg|<small>PCB, example of reworks</small>
File:Hantek_DSO-220_Inner_Case.jpg|<small>Inner case</small>
File:Hantek DSO-220 Inner Case.jpg|<small>Inner case</small>
</gallery>
</gallery>


Line 47: Line 62:
== Resources ==
== Resources ==


* [http://hantek.com.cn/About Hantek history (DSO-220 seems to have been their first scope)]
* [http://hantek.com/About Hantek history (DSO-220 seems to have been their first scope)]
* [https://web.archive.org/web/20160304173102/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 Teardown from mikrocontroller.net]
* [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) ==
== Resources (no longer available) ==
Line 56: Line 73:
* [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]


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

Latest revision as of 08: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)