This is only a preview of the February 2022 issue of Silicon Chip. You can view 35 of the 112 pages in the full issue, including the advertisments. For full access, purchase the issue for $10.00 or subscribe for access to the latest issues. Articles in this series:
Items relevant to "Dual Hybrid Power Supply – Pt1":
Articles in this series:
Items relevant to "Fan Controller & Loudspeaker Protector":
Items relevant to "Solid-State Tesla Coil":
Items relevant to "Remote Gate Controller":
Purchase a printed copy of this issue for $11.50. |
Review by Tim Blythman
XGECU TL866II
Universal
Programmer
We like the Microchip PICkit 4 for programming PICs and many Atmel
parts (eg, AVRs). But there are times when you might need to program
something else, and you don’t want to end up having to buy a different
programmer for every type of chip you might come across. A low-cost
universal programmer like the TL866 is the answer.
T
he PICkit range of programmers is
indispensable when working with
Microchip (and now Atmel) parts. The
PICkit 4 is fast and versatile, while the
Snap programmer is inexpensive and
can program many chips that don’t
need a high programming voltage.
But if your interests span a broader
range of chips, including EEPROMs as
well as micros, there is an alternative.
It is an excellent choice if you want to
tinker with older components.
You might have heard of the
so-called “MiniPro” programmers; this
is a common nickname for a range of
programmers produced by a Chinese
company called XGecu. We sourced
our unit from what appears to be the
official eBay XGecu store (user xgecupro; www.ebay.com.au/usr/xgecupro).
The unit we are reviewing is the
TL866II model. There are also the older
TL866A and TL866CS models, plus
the higher-performance T56 model.
The one we ordered cost around $75
and took about three weeks to arrive.
At the time of writing, the T56 costs
around $220, while the TL866A and
TL866CS are no longer available from
XGecu. Other companies have cloned
these older models, so any that are
available are likely clones. Since the
clones depend on XGecu’s control program (XGPro) to operate, XGecu’s fix
appears simply to be ending support
for these older programmers.
Indeed, the control program can
apparently detect and disable some
of these clones. Thus, we can’t recommend the TL866A or TL866CS.
70
Silicon Chip
The TL866II
The TL866II consists of a grey box
around 10cm long with a 40-pin ZIF
(zero insertion force) socket at the top.
Two LEDs indicate power (POW, red)
and operation (RUN, yellow). The top
of the case is notched for the ZIF socket
handle, and a USB socket is opposite.
A six-way header is available on
one edge. This is for attaching an
ICSP (in-circuit serial programming)
header lead, to connect to a matching
header on a PCB. Thus, the TL866II
can be used to program DIP chips
out-of-circuit, or just about any chip
in-circuit, as long as an appropriate
onboard header is present.
The case is also marked with a
notched IC outline to show the orientation of parts going into the ZIF socket.
The unit feels weighty, and you can
see two stacked PCBs through the hole
for the header. All in all, it appears
to be a well-made and compact piece
of equipment, no larger than it needs
to be.
Just four screws hold the case
together, so we whipped them off to
take a peek inside.
The two boards are sparsely but
neatly laid out with surface-mounted
components. Each pin on the ZIF
socket is accompanied by a diode and
transistor. This is necessary to cater
for the variety of pin layouts that can
be accepted. Different logic voltage
settings are available, so presumably,
these parts also handle level conversion.
The two PCBs are joined by several
socketed pin headers, and secured
together by two soldered wire pins.
The ZIF socket’s ability to work with such various chips with different pinouts
depends on being able to drive any pin with the correct signal. This array of
diodes and transistors help to do that.
Australia's electronics magazine
siliconchip.com.au
Many components need a higher voltage (typically 9V-15V) to perform their
programming sequences. These large inductors are part of the circuitry to
generate these voltages.
Two small TSSOP parts on the top PCB
appear to be 16-channel LED drivers.
The rear PCB has a large 100-pin
QFP chip with its markings sanded
off. Presumably, this is the microcontroller, the identity of which is being
hidden to avoid being cloned. The rear
PCB also sports an array of circuitry
that also appears to be tied to each ZIF
socket pin.
There is also an AMS1117 3.3V regulator and a pair of MC34063 switchmode regulators. They are backed by
several solid-looking inductors and
surface-mounted electrolytic capacitors. This is evidently the boost circuitry used to generate the higher Vpp
programming voltage used to program
some PICs and EEPROMs.
The microcontroller appears to have
enough pins to drive any of the ZIF
socket pins, giving the unit its flexibility and ease of use.
Our unit arrived in a small cardboard box and included a 1m-long USB
cable. Various kits are available; ours
came with a six-way cable to suit the
ICSP header, a PLCC IC extraction tool
and a pair of IC adaptors for PLCC32
and SOIC16/SOP8 parts.
Other packages are available with
a variety of IC adaptors. These vary
from the simple PCB-based DIP/SOIC
and DIP/SOP adaptors (similar to what
we stock in the Silicon Chip Online
Shop, at siliconchip.com.au/Shop/18),
through to those with PLCC sockets and even ZIF sockets that accept
surface-mounting parts directly.
What chips can it program?
You can find the complete list of
supported parts at www.xgecu.com/
MiniPro/TL866II_List.txt and over
16,000 parts are listed. Many of these
include different package variants
of the same chip, so the number is
slightly inflated. But this list does
include chips from over 150 manufacturers.
In contrast, the device support list
for MPLAB X 5.40 has around 3000
parts, including some devices which
are not supported by any of the listed
Microchip programmers.
The TL866II (and other MiniPro
devices) appears to focus on reading
and writing various flash memories,
EEPROMs, and similar parts. So it is a
handy tool for backing up and restoring such devices.
Almost 1000 Microchip microcontrollers are listed as supported, but
most are quite old. For example, the
list includes the PIC16C56, which
dates back to the early 1990s. It doesn’t
include many of the newer, enhanced
core 8-bit Microchip parts, or even any
PIC24s or PIC32s.
So the TL866II is not the best way
to program the latest microcontrollers.
Over 1000 Atmel parts are listed,
although this includes a majority of memory and EEPROM chips.
The list includes favourites like the
ATmega328, as used in the Arduino Uno, but not the slightly newer
ATmega32u4, as used on the Leonardo
board. Again, the list cannot be said to
be up-to-date with recent parts.
The Atmel list also includes several ATF-series PLDs (programmable
logic devices), which are functionally equivalent to similar (GAL series)
devices earlier produced by Lattice
Semiconductor Corporation. Some of
the Lattice GALs are also listed.
PLDs can be considered to be
smaller, simpler versions of FPGAs
(field-programmable gate arrays). We
reviewed Lattice’s iCEstick FPGA
development board in April 2019 (see
siliconchip.com.au/Article/11521).
While FPGAs can be quite complex
devices, PLDs are typically used for
‘glue logic’ functions, where one PLD
can replace a handful of logic gate
chips to save space.
Such PLDs were used in early microcomputer designs, so this programmer
may appeal to those interested in recreating and restoring such devices.
We published an article by Dr Hugo
Holden about restoring the graphics
cards used with these early computers
(see siliconchip.com.au/Series/352).
The TL866II can also test many 74and 4000-series logic chips; a total of
226 parts are listed. There is even an
auto-detect utility, which can identify
logic chips based on their response to
stimuli.
It had no trouble identifying a
74HC86 XOR gate in our testing, but
listed several options for a 74HC14
hex schmitt trigger inverter. This list
included some hex inverter gates,
including open-collector variants;
enough to nail down the basic functionality.
XGPro software
More components on the bottom, corresponding to the pins in the ZIF socket.
The many pins of the onboard microcontroller are routed to these components.
siliconchip.com.au
Australia's electronics magazine
The control program for the TL866II
and T56 is called XGPro, and it is regularly updated. We started by using
version 10.61, but at the time of writing, version 10.75 was current. This
February 2022 71
can be downloaded from www.xgecu.
com/MiniPro/xgproV1075_setup.rar
Only Windows operating systems
are supported, and the manual notes
that this includes versions from Windows XP through to Windows 10.
There are some reports of operation
under Linux using WINE, a framework
for launching Windows executables.
However, there is a free, open
source version of the software which
is actively maintained and is primarily for Linux and macOS. It can be
downloaded from https://gitlab.com/
DavidGriffith/minipro/ but do note
that it’s a command-line program.
Screen 1 shows the overall layout.
It’s not dissimilar to interfaces like
the MPLAB X IPE or even the older
PICkit 3 control program, with most
of the window filled with a memory
layout display.
An array of functions are accessible
just below the main menu bar, including all the most common actions such
as blank check, verify, read, erase and
program. The small AND gate symbol
at the top right opens the window for
identifying logic chips.
Screen 2 shows the Logic Test window. Here we’ve selected a 4017
decade counter; the test vectors are
shown at the bottom of the window,
with the key above. The NEW/EDIT/
DELETE/COPY buttons indicate that
it is possible to define further tests by
creating a different set of test vectors.
The 4017’s sequential nature means
that its state depends on both current
and previous inputs; the test can handle
these sort of chips, plus simple combinational logic. The TEST button runs
the test vector for that specific chip,
which completes almost instantly.
The Auto Find feature runs through
the full list of test vectors and takes a
few seconds to complete. It lists any
matches in the lower panel, and as we
noted, it can find multiple matches.
Screen 1: most of the XGPro application window is taken up by a tabbed
memory view, with assorted function buttons along the top and options along
the bottom.
The search can be refined by chip
type and manufacturer. Various packages are identified separately, even
though they could have the same
pinout.
Even SRAM chips are listed; these
cannot be programmed (as their contents would be lost when power is
removed), but can be subjected to a
quick test sequence. We picked the
PIC16F84A in a DIL package to run
the program through its paces.
The main panel shows tabs for the
flash memory (arranged as the 14-bit
words that this part uses), EEPROM
and configuration bits. A fourth tab
shows some part and wiring information (see Screen 4).
This includes the connections for
using the ICSP header, which matches
the standard PICkit layout. So if you
have an existing header made up for a
Chip selection
The Select IC button (upper left of
Screen 1) allows the chip type to be
selected, while the arrow at right gives
a recent history of 10 items. Screen 3
shows a blank search window.
The search entry does not do exact
matching, but appears to match the
sequence of characters entered regardless of any intervening characters. This
may be a blessing or a curse, depending on how well you know the part
number you are searching for!
72
Silicon Chip
Screen 2: the Logic Test window shows the test vectors for a good number of
parts. Support for new devices can be added by editing these vectors, while the
AUTO FIND function helps identify unknown parts.
Australia's electronics magazine
siliconchip.com.au
the experience is not too different
(for PICs) from the older PICkit 2 and
PICkit 3 programmers.
Other devices
Screen 3: the Device selection window gives a few options for narrowing down
to a specific part, including type, manufacturer and even package. This is handy
due to the vast number of devices that are supported.
PICkit, it should work with the TL866II
as well. This pinout is also shown if
the ICSP option is chosen (see grey
inset in Screen 4).
Most of the options are similar to
other programming applications, but
there is a pin detect checkbox. This
will alert you if no device is detected
in the ZIF socket, although it doesn’t
appear to work when connecting via
the ICSP header.
The read process is shown in Screen
5. The chip ID was detected and the
process finished in around half a second. We fitted a PIC16F88 to test that
the chip ID was being checked, and
it reported an error, so the process is
quite robust.
Device erasure took a similar
amount of time, while a program
sequence took around five seconds,
including rereading/verification. So
We tried a few other compatible
devices that we had around the Silicon Chip office.
A 32Mbit (4-megabyte) W25Q32JV
serial flash memory chip took around
seven seconds to read. Assuming the
chip is read with a single sequential
read command, the serial clock runs
just under 5MHz. Writing took about
30 seconds, consisting of eight seconds to erase, 15 seconds to program
and seven seconds to verify.
This device’s data sheet shows typical erase times of ten seconds while
writing the entire memory is expected
to take 6.5 seconds. That the erase
time is lower than typical is probably
due to the chip exceeding its specifications. The specified write time does
not account for the data transmission
overhead, which we expect would
take about at least as long as reading
the chip.
A 1Mbit (128-kilobyte) SST39SF040
parallel flash memory chip took about
four seconds to read, half a second to
erase and around 25 seconds to program (so approximately 30 seconds for
an erase/program/verify cycle).
This is a bit slower than the typical
Screen 4: the parts we tested all included a Device Info panel, which shows memory and pinout information. A guide
to hooking up the programmer using the ICSP header is available (if it is supported for that part), but not shown in this
image.
siliconchip.com.au
Australia's electronics magazine
February 2022 73
The bundle we purchased includes
a TL866II programmer, USB cable,
an ICSP cable and the adaptors
and PLCC chip extractor seen here.
Various combinations are available
with an assortment of different
adaptors.
Screen 5: the TL866II works very fast with parts like the PIC16F84A, and
appears to complete a read almost instantaneously. Other parts with larger
memories can take longer.
times shown in the data sheet, but that
does not include overheads such as
entering programming mode (which
on this device needs to be done for
each byte written, and requires four
bytes to be transmitted).
A 256kbit (32-kilobyte) 24LC256 I2C
EEPROM took just over four seconds
to read and 15 seconds to program,
including verification.
That isn’t far off the expected reading time, assuming a 100kHz I2C clock
and sequential reading, or a 400kHz
clock and random reading. The writing appears to have some extra overhead, with around 2.5 seconds of
write time expected (512 page writes
at 5ms each).
So the TL866II appears to be nearly
as fast as possible with serial (SPI)
devices, but perhaps slower with parallel and I2C devices, depending on
protocol overhead.
Programming PLDs
We got hold of some ATF16V8 PLD
parts (specifically the ATF16V8B15PU, from Digi-Key for around $1.70
each) to see how easy it would be to
use these parts with the TL866II.
We found a binary to 7-segment hexadecimal project online at http://39k.ca/
hex-to-7-segment-decoder-pld/ for this
part. Helpfully, it also has a precompiled JED file that we could use to program the chip.
JED files are the PLD equivalent
of HEX files, but they hold a list of
74
Silicon Chip
bits rather than hexadecimal nybbles
(also known as nibbles). XGPro will
load and save JED files when a PLD is
selected as the active part.
Reading and verifying the chip took
less than a second, while writing this
image took around five seconds. There
is also an encryption option; we found
we had to clear this to allow correct
verification. Presumably, the chip
cannot be read when encryption is
enabled.
When rigged up on a breadboard,
the ATF16V8 produced the correct signals to drive a 7-segment LED display.
While we haven’t worked with PLDs
much before, it appears to be quite
simple with the TL866II programmer.
Program features
Each device has separate tabs for its
individual memory spaces. For example, a PIC16F84A has tabs for program
memory, EEPROM and configuration
bits. Any of these can be modified,
so it can be used as a basic chip flash
memory editor.
The file menu offers the option to
save and load to either binary or Intel
HEX files, so it should be compatible
with the output from most compilers. Interestingly, we found that on
hand-editing some HEX files, XGPro
did not complain if there were checksum mismatches.
This could be to your advantage if
you don’t like manually calculating
checksum data, and wish to edit your
Australia's electronics magazine
files manually. However, it is concerning that the programmer will apparently happily program corrupted data
into a chip without warning you.
It also has the ability to load and
save the system state as a project,
including part numbers and settings,
and projects can be password protected. This would be a good way to
manage flashing various firmwares to
a variety of devices.
There is also the facility to control
up to four programmers by using the
Multi Programming interface. This is
accessed by pressing the icon of the
chip with four red arrows, shown in
Screen 6.
This uses the current settings to start
a programming sequence with a single keystroke. It is intended to be used
in a production environment where
multiple identical chips are being
processed. Since we only have one
programmer, we couldn’t test this out.
Conclusion
The TL866II is a versatile piece of
equipment and, after pulling out the
drawers looking for old parts, we were
pleasantly surprised by the number it
could program. It seems solid, and the
interface is simple to use.
That it can program a multitude of
parts in a ZIF socket without worrying about pinouts and programming
adaptors is a feature that we almost
immediately took for granted; it’s just
that easy to use.
siliconchip.com.au
If you have stock of older devices or
want to dabble with building a microcomputer (or experiment with some of
the chips that this entails), it will be a
handy tool, and it is one that we will
continue to use at Silicon Chip.
►
But it cannot work with many newer
parts, although there is the option
to add definitions to supplement its
range. If you’re working with modern
parts, then it is probably not going to
be very useful.
Screen 6: you can use the XGPro
control program to program up to
four chips in four programmers, all
connected to one computer. A single
SC
keystroke triggers each one.
Radio TV & Hobbies
The Complete Collection on USB
Every issue from April 1939 to March 1965
If you're into anything vintage it doesn't get any better than this scanned collection of
every single issue of Radio & Hobbies, and Radio TV & Hobbies magazines before they
became Electronics Australia. It provides an extraordinary insight into the innovations in
radio and electronics from the start of WW2 to the early transistor era!
PDF Download
$50
SC2950: siliconchip.com.au/Shop/3/2950
USB + Download $70
SC6142: siliconchip.com.au/Shop/3/6142
Postage is $10 within Australia for the USB. See our website for overseas & express post rates.
siliconchip.com.au
Australia's electronics magazine
February 2022 75
|