EEVblog Electronics Community Forum

EEVblog => EEVblog Specific => Topic started by: EEVblog on February 26, 2018, 10:11:05 pm

Title: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: EEVblog on February 26, 2018, 10:11:05 pm
Marty! This is the big one, the one I've been waiting for all my life!
Teardown of the classic Data IO Unisite Universal Programmer from the 1980's.

http://www.dataio.com/Company/About-Data-I-O/40th-Anniversary/1980s (http://www.dataio.com/Company/About-Data-I-O/40th-Anniversary/1980s)
http://dataioinfo.dataio.com/support/manuals.asp (http://dataioinfo.dataio.com/support/manuals.asp)
http://www.paulswan.me/arcade/DataIOUnisite.htm (http://www.paulswan.me/arcade/DataIOUnisite.htm)
http://matthieu.benoit.free.fr/dataio_unisite_programmer.htm (http://matthieu.benoit.free.fr/dataio_unisite_programmer.htm)


https://www.youtube.com/watch?v=9MIzbTpdt80 (https://www.youtube.com/watch?v=9MIzbTpdt80)
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: trophosphere on February 26, 2018, 10:59:02 pm
The conductive pad reminds me of a conductive adhesive transfer tape (https://www.digikey.com/catalog/en/partgroup/9703-series/9987) that I use at work which allows for discrete segments of electrical conduction through the z-axis but not across the plane.
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: mikeselectricstuff on February 26, 2018, 11:25:47 pm
I think the waveform gen was mostly to support bipolar parts like PROMs and PALs, which melted physical fuses during programming.
ISTR  PAL  programming specs were very hard to find, and changed as manufacturers introduced faster devices but Bipolar PROM datasheets showed quite complex programming waveforms with current-limits and controlled risetimes.

Looks like the relays were just about switching pins to DUT Vcc and GND - presumably they just disabled the pin drivers for these pins.   
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: helius on February 26, 2018, 11:47:14 pm
The Toshiba gate arrays in the Pinsite are mask-programmed, not OTP, so no they did not use previous generation programmers on them.

Motorola MC34081P are JFETs.

You didn't have to yank out the conductive pad like that; the procedure for replacing them requires the top plastic section of the PLCC adapter to be levered off with a screwdriver, and the conductive pad is stuck underneath it with double sided tape. See the instructions (http://bitsavers.trailing-edge.com/test_equipment/dataIO/unisite/985-0151-001_ConductivePadRepl_Apr91.pdf).
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: Halcyon on February 27, 2018, 12:15:15 am
Did you happen to catch the QC sticker on the inside with the name "Dave L" ? Has young Dave been in there? ;-)
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: splin on February 27, 2018, 01:33:45 am
The first Intel EEPROM, the i2816 required a 21V programming/erase voltage pulse with a specified 600us rise time constant; it had to be exponential - you couldn't just switch it to 21V - see the attached from the datasheet.

This was pretty unique as far as I can remember though and was fairly quickly replaced by the 2816A and 2817 which only required 5V. It would be interesting to know how much of the huge cost of making the Dataio programmer truely universal was down to a very few odd corner cases like this.

I bet there wasn't an adapter for bubble memories either - but there wouldn't have been much point! Which reminds me that I've still got some Intel bubble memory iSBCs somewhere. Wonder how hard it would be to get them running?
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: helius on February 27, 2018, 01:38:29 am
I bet there wasn't an adapter for bubble memories either - but there wouldn't have been much point! Which reminds me that I've still got some Intel bubble memory iSBCs somewhere. Wonder how hard it would be to get them running?
By the time the Unisite came out, the writing had long been on the wall for bubble memories. It would be really interesting if they supported "seeding" bubble memories, though; that was a remarkably difficult process that would be truly amazing in a universal programmer.

A few years later, Data I/O had a programmer specifically for Flash memory cards: it was called the CardPro and there were a couple generations.
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: Hawke on February 27, 2018, 04:25:12 am
Dave where did you find the software for the programmer. I have a Data I/O Chiplab 32 with only DOS software so haven't really used it much. I did buy the windows software but the company selling it went bust so I've had this state of the art programmer sitting on the shelf for years. I have tried to find the windows based software many times but to no avail. And they are good programmers at the time I bought mine it was the only device that could read fuse protected proms that would burn out on other programmers and it did it in style. There were no devices it couldn't read without bricking them. Very handy when reading the second gen highly protected Holden special vehicle proms to decode what lines they were using etc. Purely for research and only with my vehicles I never cloned them although it could certainly do it.
Cheers thoroughly enjoyed the teardown and it was great to see so much early SMD stuff from the mid 80's.
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: orion242 on February 27, 2018, 04:51:20 am
 :-+

Wow, great video, impressive gear.  Thanks!
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: MarginallyStable on February 27, 2018, 05:57:44 am
We still have and use one of these at my work. Mainly for old Altera UV erasable CPLDs and EEPROMs supporting ancient test equipment.
I have always had an aspiration to design a "universal" programmer with the put any voltage/current on any pin in any waveform concept. After seeing that 4pin driver module, I'm kind of glad I never committed to the project. Glad things are so much easier to program now days.
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: GeorgeOfTheJungle on February 27, 2018, 09:02:33 am
That programmer would cost an arm and a leg?
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: helius on February 27, 2018, 03:12:09 pm
I have a Data I/O Chiplab 32 with only DOS software so haven't really used it much....so I've had this state of the art programmer sitting on the shelf for years. I have tried to find the windows based software many times but to no avail.
You want Winchip 6.2 for ChipLab, it is available on the web at the usual places. You need something called "Porttalk" to use the software with w2k or XP (I don't think it's been tested under later versions).
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: orin on February 27, 2018, 11:48:59 pm
I wouldn't trust the caps in a Computer Products/Boschert power supply this old, even if they aren't bulging.

The ones in the HP 545XX scopes like to spray electrolyte out the bottom _without_ looking distressed.  The electrolyte affects the voltage regulation and the output voltage goes high until the overvoltage crowbar cuts in.  You get a ticking sound as the supply starts up then almost immediately shuts down again.  The fix is to remove all the caps, clean the board thoroughly, then install new caps.

Even if the power supply is OK and it's a shorted tantalum causing the problem, I'd still be looking at replacing all the secondary side capacitors in the power supply.  In the supply that I fixed, the large primary side caps measured better than the replacements I'd bought, so I put them back in.
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: Campber on February 28, 2018, 03:01:40 am
The conductive pad reminds me of a conductive adhesive transfer tape (https://www.digikey.com/catalog/en/partgroup/9703-series/9987) that I use at work which allows for discrete segments of electrical conduction through the z-axis but not across the plane.

It is a tricked out version of that.  The pads were custom made by a Japanese company ( Shin-Etsu http://www.shinetsu.co.jp (http://www.shinetsu.co.jp) ) for Data I/O.  Different modules used slightly different pad specifications but the basic features are all the same. The gold color comes from the fact that it used very fine gold wires. These wires were aligned vertically through the pad during the manufacturing process. The wires do not merely travel strait from top to bottom but use a uniform radius curve.  All the wires also have this curve orientated the same direction. The curves allow the pad to be compressed without kinking the wires as kinks would shorten the wires length and cause them to pull back into the material from the face of the pad during compression/relaxation cycles.  Aligning these curves reduces internal stress on the elastic material and prevents unwanted shorting between adjacent wires.

Just a trivia foot note: The two to three letters you see written in Sharpie on many of the boards are the initials of the person who did the hand soldering of components on that board.  Many of the boards manufactured into the late 90's still needed manual soldering of some components. The ferrite beads on the bottom side of the chip carrier board are an example of this.  Manual soldering was needed here because solder paste application was done by silk screening. Silk screening was not a completely clean process with paste often ending up in places not intended. Solder contamination of the gold contact pads on the PWA was considered unacceptable.
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: Halcyon on February 28, 2018, 06:27:33 am
Awesome post Campber.  :-+

Also, welcome to the forum.
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: texaspyro on February 28, 2018, 06:30:58 am
I have about a dozen Unisites... if you need a specific adapter,  you can't ever find them.  Or, if you do they bring big bucks.  But, you can find Unisites with that adapter in it for cheap (I don't think I ever paid more than $100 for one).  I also have the newer 2900 and 3980 programmers... much smaller and almost as capable.  There once was a guy selling pin driver cards for $900 each! But you could buy a Unisite with 4 to 17 cards in them for less than $100

You can get a Mass Storage Module for the Unisite.  It adds an 80 MB PCMCIA hard drive and replaces the memory card (?)... it has memory on it.  If your hard drive dies, note that very few models of PCMCIA hard drives will work in Data I/O machines.   Max RAM for a Unisite is 8 MB.   The floppies are horribly slow on these machines.  It takes several minutes to boot.

The RAM cards have a locked PAL chip for address decoding.  You can't just add RAM.  You had to buy an upgrade kit with the memory and the proper PAL... or build a PAL decoder and reverse engineer the decode PAL  from an 8 MB board >:D

Early versions of the software (up to v5 ?) were also locked to the programmer.  The software pakcage shipped with floppies and a PAL.   You activated the software by intstalling the PAL in the programmer.  The PAL was a registered PAL with a state machine in it.  After installing, the software destroyed the PAL by programming all the fuses in it and wrote a serial number to the boot floppy.

A common failure on these machines is the floppy controller chip. It's a WD17??... the source for replacements these days is from Atari disk drives.  A bad floppy controller will lock up the machine.

I was told that  fully loaded Unisite with a decent selection of adapters could easily set you back $80,000+.

Unisites can't program all chips... they can't do the original 1701 EEPROM.  Also they don't do SDA2006 EEPROMs or the MC28xx (?) eeprom.   I had to design and build my own programmers for those (used in Mettler and Sartorious analytical balances).
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: amspire on February 28, 2018, 06:34:15 am
The gold color comes from the fact that it used very fine gold wires. These wires were aligned vertically through the pad during the manufacturing process. The wires do not merely travel strait from top to bottom but use a uniform radius curve. 
Thanks - I was wondering how the wires in the pad handled compression.
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: EEVblog on March 01, 2018, 04:50:03 am
Info from on of the original design team who emailed me  :-+

Quote
The UniSite project goal was to create a programmer that would last 10 years and program every part that ever existed.

As you pointed out it lasted far more than the 10-year goal and here is why:

 

The UniSite actually has two processors and the 2nd CPU is likely the reason the UniSite was so unique and powerful.

The mother board includes the 68000 CPU and a portion of the 2nd processor which is a distributed “Pin Processor”.

 

The 10MHz 68000 you noticed runs the GUI and operating system and was considered a high-end “Work Station” processor at the time.
The H&R EPROMs you noticed are the boot for the Hunter & Ready Real Time Operating System.
The main DRAM grouped near the CPU was designed to be twice as big as the software developers requested.
Before we shipped the first unit the software outgrew the RAM and I had to scramble and build a RAM expansion board.
Fortunately we did plan for a CPU bus expansion connector and daughter board which the RAM board utilized.
The RAM board design and layout was completed in about a week of late nights between me and the layout designer and it fortunately worked on the first go.
The RAM design uses a custom PLD state machine I created to refresh and provide timing between the Dynamic RAM and 68000.
The brand new (at the time) 720K floppies were controlled by a new floppy controller with the first digital data separator (no external parts).
The serial ports included a feature you noticed which I named “Smart Port” to switch between DTE and DCE along with an LED to indicate a valid connection.
Customers often wired the serial interface wrong so this allowed the ports to work with the most common wiring combinations.

The PCBs were the first in the company to be designed using Signal Integrity design methods (series and parallel termination of fast logic) which I was just learning.
The UniSite passed radiated emissions testing on the first try and the testing manager credited the signal integrity design work for reduced emissions.
Because of the SI concepts gained while working on this product I later went on to start a software company called “HyperLynx” now part of Mentor Graphics.

The ferrite bead you noticed attached to the 68000 was required to correct a flaw in the 68000 processor’s DIP package power structure.
Instead of putting the power pins in the middle of the chip near the die the 68000 designers put the power pins out near the corners.
The corner power pins added so much package inductance the die bounced causing glitches on the address strobe. 
I added a ferrite bead and series resistor to filter out the majority of the glitch and this resulted in stable operation.
This became a well-known issue with the DIP version of the 68000 but it wasn’t mentioned in the design documents at the time.
I spent hours with a scope and analyzer trying to figure out where this glitch was coming from.
Fortunately Data I/O was interviewing an engineering manager candidate who had worked directly with the 68000 development team.
As luck would have it he walked by when I was working on the problem and we talked about the issue.
He explained that Motorola had acknowledge the ground bounce issue and I would need to filter the strobe.
The bead and resistor filter worked perfectly and saved a major redesign.

The core of the Pin Processor is the Toshiba mask programmed “Gate Array” you notice.
For a number of years the UniSite was the fastest programmer in the market and the Pin Processor is likely the reason.

Data I/O’s best programming guru brainstormed with us for weeks to create the concepts that evolved into the pin processor.
We did not have FPGAs available to us when the UniSite was designed so the only other choice was a mask programmed “Gate Array”.
The Gate Array had to work on the first try due to the high cost of a mask spin and our release schedule requirements.
My team worked on the pin processor and gate array design and we simulated for almost two months of 16 hour days, 7 days a  week.
Every logic transition of every gate was exhaustively simulated.
The pin processor also includes a number of PLD and RAM chips on the main board.
The Pin Processor is one of the few variable word width processors I am aware of and may be unique in the world.
Each Pin Driver board drives 4 pins as you guessed.  A Gate Array chip on each pin driver board provides four pins worth of processor expansion.
A processor word may be hundreds of bits wide and for a long time the pin processor speed and accuracy blew away all other programmers in the market.
The Pin Processor includes a Ram based sequencer made of 74F logic, PLDs and dual ported static ram attached to the 68000 (see schematic).
The Pin processor forms an associative CPU where each pin has a slice of the processor logic and responds to events in parallel with all other pins.
The Gate Array has a mode select pin “4 pin universal” and “16 pin logic only”.
The instruction word for the Pin Processor also contains a high-accuracy timer setting the time between each word executed (nanoseconds to milliseconds).
The pin processor allowed a single byte write or read operation to route to any 8 pins on the device under test or any set of 8 pins on any number of devices.

I was given permission to disclose the above to a number of sales teams responsible for selling the UniSite so they could discuss the UniSite with their customers.
This placed the limited information above into the public domain.

At the request of Data I/O management I filed for a patent on the processor but due to the limited amount Data I/O wished disclosed we failed to get a patent.
It was too complex to explain the processor concept in a patent without disclosing the instruction and design details.
The examiner said I can tell you have something unique but we cannot grant a patent on it unless more of the concept is disclosed.

The “Programming Guide to the Galaxy” manual with all the pin processor details and instructions was about an inch thick and was never made public that I am aware of.
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: amspire on March 01, 2018, 06:26:05 am
That has got to be one of the most amazing posts in this forum. Fantastic!

It does make me a little angry about the stupidity of companies that are prepared to lock away some brilliant technology just for what the managers see as a temporary advantage.

I loved the approach of HP with the HP Journal where very often the company was busting to tell the world how brilliant the technology is in their latest product. Genrad did it too.

It sounds like that pin processor has some really interesting ideas, and with FPGAs, it might be very useful today. Given the era of the design, it probably had some super-smart optimisations probably worked out by hand to do the apparently impossible.

Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: amspire on March 01, 2018, 06:31:09 am
Just found this site full of Unisite documents including the service manual, software, mods. etc.

http://www.pestingers.net/pages-images/electronics-other/data-io/unisite/data-io-unisite.htm (http://www.pestingers.net/pages-images/electronics-other/data-io/unisite/data-io-unisite.htm)
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: GeorgeOfTheJungle on March 01, 2018, 08:00:49 am
Quote
The ferrite bead you noticed attached to the 68000 was required to correct a flaw in the 68000 processor’s DIP package power structure. Instead of putting the power pins in the middle of the chip near the die the 68000 designers put the power pins out near the corners. The corner power pins added so much package inductance the die bounced causing glitches on the address strobe. I added a ferrite bead and series resistor to filter out the majority of the glitch and this resulted in stable operation.
This became a well-known issue with the DIP version of the 68000 but it wasn’t mentioned in the design documents at the time.

I love this story ^^^^. I wonder if in the first Macs, those of '84, they also had to do something like that?
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: senso on March 01, 2018, 01:48:33 pm
Quote
The PCBs were the first in the company to be designed using Signal Integrity design methods (series and parallel termination of fast logic) which I was just learning.
The UniSite passed radiated emissions testing on the first try and the testing manager credited the signal integrity design work for reduced emissions.

Is that worth a small extra video? I'm sure some will find it of interest. Apart from me.

If no video, Amphour with them!
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: Red Squirrel on March 01, 2018, 06:34:38 pm
Wow that's cool that they emailed you and gave you info and actually know the product.  :-+  It's not often a company does that now days.    Usually you'd just get some generic response that it's no longer supported.
 
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: Bud on March 01, 2018, 07:07:01 pm
That story needs to be etched on a gold plated PCB panel and placed on a display next to the machine itself.
 :-+
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: Halcyon on March 02, 2018, 01:16:01 am
Info from on of the original design team who emailed me  :-+

Awesome!

Is it possible to do a recorded Skype interview with this guy?
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: Wollvieh on March 02, 2018, 05:10:50 pm
Saved from one of the Youtube comments on this video:
The Data I/O Corp. price list of 1988, provided by the computer museum of the department of computer science of the University of Stuttgart.

http://bitsavers.informatik.uni-stuttgart.de/test_equipment/dataIO/brochures/Data_IO_Price_List_1988.pdf (http://bitsavers.informatik.uni-stuttgart.de/test_equipment/dataIO/brochures/Data_IO_Price_List_1988.pdf)

Looks like the empty case started around $18000.  :D

The real cost ist hidden in the details: "Programming packs" for certain chip series starting from $1500 and socket adapters from $300 each.
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: helius on March 02, 2018, 06:25:17 pm
The real cost ist hidden in the details: "Programming packs" for certain chip series starting from $1500 and socket adapters from $300 each.
Programming Paks were only used on the 19A & B, and 29A & B programmers. When the Unisite40 was released in 1986, its only accessories were the pin driver boards, the Site40 DIP module, the SetSite gang module, and the ChipSite module that supported a range of PLCCs using separate sockets. The PinSite module came later, with the updated UniSite that supported the internal hard disk. Using the PinSite, you could use a range of carriers including the PLCC, QFP, LCC bases with the conductive film, or the PPI base that took socket modules. None of those were in a 1988 price list.
Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: kc7gr-15 on March 03, 2018, 07:12:38 am
Hawke, I may be able to help with that (I've archived a whole bunch of Data I/O stuff). Here's a link to some self-extracting (to floppies) files which should create the last/latest version of Chiplab software, 6.2.

https://ln.sync.com/dl/68135dc30/6begc6tx-qvfw63vj-viirb6e5-jhnwvvef

I hope this works out for you. The Chiplab's a nice unit.

Title: Re: EEVblog #1060 - DataIO Unisite Universal Programmer Teardown
Post by: kc7gr-15 on March 03, 2018, 07:18:52 am
I would add: The MSM will only work with late-production Unisite main boards. These boards are very obvious: They have a pair of 30-pin SIMM sockets in the lower left quadrant.

As for the decode PAL for the 8MB upgrade option (also found only on the later production mainboards), it was apparently cracked some time ago. Here's a link for the pertinent file.

https://ln.sync.com/dl/d5673af90/5p94f2r7-n33vqmk8-ijpa28gv-9xw9m8a8

Happy tweaking.