|
Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment. |
|
Thread Tools |
18th Apr 2023, 9:14 am | #101 |
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,437
|
Re: Tesla Programmer
FYI, This programmer, for the not-commonly supported TI SN74S287's:
http://randomvariations.com/2014/09/...87-programmer/ also mentions the Tesla ones (where it seems you have to program with opposite bit polarity). And so might also do MH74S571's, as TI don't seem to have ever done a 'SN74S571', with some slight mods / may provide some ideas of how to implement an alternative programmer design. - Although may find these mistaken listed in some 3rd party documents , such as this 54page pdf that might be handy for others: https://people.zeelandnet.nl/wgeerae...E_GUIDE_V5.pdf |
5th May 2023, 6:47 pm | #102 | |
Hexode
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
|
Re: Tesla Programmer
Quote:
So I've been working on the code and have now succeeded in programming a pair of TESLA MH74S571's with MK14 SCIOS3 using an Arduino Mega2560 and half of Chris Oddy's PCB. The approach I've taken is to have static constant arrays for the PROM files (similar to Coolsnz2's M5Stick-C original fast loader for the MK14) rather than downloading over a serial link, mainly because I don't foresee myself programming much more than MK14 and SOFTY1 PROMs. The code I've got could definitely be expanded upon if you wanted Hex loader or WiFi streaming interfaces. The attached photos show Photo 1: The Arduino connected to the PROM programmer PCB. Most connections are to IC1, the 8255 PIO chip position. Photo 2: Status screen showing what file is to be programmed and blank status. If the PROM is not blank it also verifies the contents against the source file as it may already have been programmed. Photo 3: Typical serial monitor output during programming - Address, data comparison and programmed bits indicated Photo 4: List of connections between the Arduino and the programmer, plus additional required components. I decided to just use the serial monitor output instead of hooking up an LCD display to the Arduino (although maybe I still will at some point). As a result programming the whole device is quite slow due to the UART speed being 9600, but again that's fine for my own use. I need to add some more comments to the code and will make it available in the near future. I'll also mark up the schematic for Chris' PCB for anyone else that want's to give it a try. One interesting thing is that I had to up the programming pulse from 10ms to 15ms. I was getting occasional failures on data bit2 programming (that is, failure to blow the fuse). I expect one of the transistors is low gain but I don't have any additional ones to try. |
|
5th May 2023, 9:21 pm | #103 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,553
|
Re: Tesla Programmer
Ah, there he goes again. Ahead of the game as usual. (Well done, Ian).
I'm in the camp that says it doesn't matter how long it takes, within reason, as long as it programmes them every time. If it works it can take ten minutes per chip for all I mind. My eventual approach was going to be a little bit different - rather than removing the 8255 I decided to keep it so that a relatively small, therefore cheap Arduino would be able to talk to it using just one 8-bit port and a few control lines. And I did always intend for the code to be downloaded into the programmer from a host and also controlled from there. Just building the code to be programmed into the sketch and having a different version of the sketch for each PROM you want to program was discussed as one possible method and it makes sense if the main or only aim is to be able to program a replacement PROM for an original old system or new replica of same - I think I was leaning more towards the spirit of the original MK14 PROM programmer which was intended to let the user write standalone instant power-on 'apps' for their MK14. I'll probably continue with mine in that vein, but I would certainly like to see the code for yours when you feel it is presentable, especially the part which programs the chip, because with these one-shot chips I don't really want to waste even a single one by getting it wrong. As a matter of interest, did your Teslas come from the Polish source, or from somewhere else? |
5th May 2023, 9:33 pm | #104 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,553
|
Re: Tesla Programmer
If anyone else wants to have a go at this, the Tesla programmer PCBs (which were originally designed to slot into an Acorn system) are available from Chris Oddy of course, and I still have spares of the Oddy-specified inductor, low ESR capacitors, rectifier diode and SMD SMPSU chip since I had to buy those in quantity, and I can probably rustle up one or two more of the 74C906 ICs as well. Unfortunately I don't have any spare BFY5x transistors nor any spare 8255s, should you decide to use one.
|
6th May 2023, 11:17 am | #105 | ||
Hexode
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
|
Re: Tesla Programmer
Quote:
Quote:
Yes, tvsat_electronic. I ordered 8 so with postage they worked out £2 per device. Postage can be a bit slow but I've always had a good experience with that supplier. |
||
6th May 2023, 11:58 am | #106 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,553
|
Re: Tesla Programmer
Mine also came from there so it is reassuring to know that the devices from that source are viable. I had a bad experience with a well known little supplier in this country who supplied bipolar PROMs which were already programmed, therefore useless.
|
6th May 2023, 4:06 pm | #107 |
Hexode
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
|
Re: Tesla Programmer
Arduino connected TESLA PROM Programmer
Here's the code and documentation, using the Arduino Mega 2560 module. The zipped sketch folder includes the data files for MK14 SCIOS1, 2, 3 and the SOFTY1 character generator PROM. The programming core is lines 292-374 (see attached .pdf listing with line numbers). I've adopted (stolen ) the approach Chris took on his 2114 RAM tester, whereby low level pin functions, such as VCC_ON, are #defined. This allows a for a more readable piece of code. In Lines 238-244 one of the statements needs to be un-commented and the project rebuilt to generate the required programming file to the Arduino. At the same time the Serial Monitor window provides a very rudimentary user interface and shows what's happening during programming. The connections page at the top of the listing shows how the Arduino ports are connected to the PROM Programmer PCB. IC1, 2, 3, 4 and PL2 are unpopulated on the PCB. The RGB LED, current limit resistors and switch could have been mounted directly on the Arduino headers instead, in which case the only signals required all appear on IC1, plus GND, which can be IC1-7, plus external 5V supply, which can be IC1-26 (I'm using a 2A USB charger as the supply). The only other connection that must be made is IC3-5 to IC3-6 so as to connect the nPROM_CE signal through to the PROM. Note that because the Arduino is connected to the PC for the serial monitor, 5v should not be connected between the Arduino and the Programmer PCB. Also attached is a TESLA MH74S571 datasheet that I put together about a year ago before learning others had already done the translation, but it may be of interest. Happy to elaborate if anyone wants more info. |
6th May 2023, 7:10 pm | #108 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,553
|
Re: Tesla Programmer
Thanks for the info - a point of interest, you mentioned not connecting Arduino 5V to programmer 5V, presumably this is because you are providing the programmer section with an independent 5V supply which you don't want trying to back-feed power into the Arduino's +5V output?
Are you following any particular sequence, like Apply power to programmer Connect Arduino to PC Do programming Disconnect Arduino from PC Remove power from programmer Or does it not seem to matter? I had considered alternative schemes, such as having a relay or other power control method to connect and disconnect independent power to/from the programmer card under the control of the Arduino - or - break open the +5V feed in the USB lead between the Arduino and the PC and run the Arduino from the same heavy +5V supply as the rest of the programmer, leaving only 0V and the USB communication wires going between the Arduino and PC. Not sure if that would work but if it did it would ensure that the Arduino and the programmer PCB were always powered up and powered down together, and also had enough total current available from the independent supply. In the original (Acorn system) application the programmer card would have been running from the main system +5V rail which probably had easily enough overhead to supply the programmer part of the card, but the maximum available current output from the Arduino and indeed from a typical computer USB port is unlikely to exceed half an amp, hence the need for an external +5V supply for either just the programmer, or for the programmer and Arduino combined. |
7th May 2023, 9:59 am | #109 | |
Hexode
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
|
Re: Tesla Programmer
Quote:
I always power the Arduino first and let it boot, then power on the programmer. That way the programmer 5V/10.5V is disabled by design. |
|
7th May 2023, 10:14 am | #110 | |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,553
|
Re: Tesla Programmer
I have been told by several sources that it is OK to back-power a genuine Arduino via its +5V terminal because the circuitry, as originally designed, allows for that. The problem is that some of the clones didn't use the correct devices, as a result of which they are NOT tolerant of being back-powered. Slothie was the one who had the exact details, because he had come across this problem himself.
Unfortunately, this creates a situation where an Arduino project intended for a wider audience and not just as a personal project can't rely on being able to safely back-power the Arduino, because anyone who tries to replicate it may well be using one of these 'bad' clones which could end up being damaged. I may still try the approach of splitting the +5V wire out from the PC to Arduino cable and taking it to the same heavy current capable +5V supply which the programmer itself is running on so that the programmer and the Arduino are always powered up and powered down together. Even if it works, this approach may require that the Programmer / Arduino need to be powered up before the USB connection to the PC is plugged in, which would mean hot-plugging two already powered devices together - a situation we normally try to avoid. Quote:
Last edited by SiriusHardware; 7th May 2023 at 10:43 am. |
|
10th May 2023, 4:12 am | #111 | |
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,437
|
Re: Tesla Programmer
Quote:
I think I do have a few BFY51 / their 2N3053 direct-equivalent around, that are probably now discontinued but were quite popular back in the early 80's (I think Chris used these, as he still had a good stock of them, and were quite period devices for the Acorn one), but IIRC were relatively low-gain and there are probably now various more-modern ones with better gain available - like popular S8050's (or maybe BC637/639 etc). I mentioned to Chris about needing to use a longer than 10ms pulse, and he said he hadn't found any issues with the Tesla PROM's he also bought many from TV-Sat + programmed-these, failing to program. Although he had one case where one fuse bit passed the verify after programming, but then appeared to intermittently 'grow-back' afterwards. (Might be dependant-upon time powered-up for / exact supply voltage). But as his code only programs bits that actually need the fuse blowing (as ELNEC-Dataman-Pro does), for speed, then it just skips over this when he tries to do a second programming pass. So he was considering modifying his code, to always attempt to program a bit, if it should have fuse-bow, irrespective of current status it reads as. Although it is possible it is just a rogue device, and trying to program that bit further won't actually help if there's nothing to 'blow' most of the time. I found the opposite problem, when trying to use the Elnec-Dataman-Pro on some NOS NS ones, where many bits were failing to program at all first-time, and so had to keep repeating the programming pass-through ten's of time. So it was rather advantages that it skipped all the ones successfully done upto that point, rather than having to wait for it to try and re-programme already programmed-successfully bits. I was surprised that Elnec's algorithm only did a single fixed-length pulse attempt per bit. When TI etc. propose using burst of shorter pulses, until fuse blows (not sure if an additional extended over-program pulse, like is used with intelligent stored-charged (E)PROM-Programming algorithms - achieves that much with fuse-link PROM's). Programming Tesla PROM's with the Elnec-Dataman did work much better / faster - but maybe as they weren't as old 'vintage' stock. |
|
6th Aug 2023, 9:11 pm | #112 |
Octode
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,115
|
Re: Tesla Programmer
The old faithful ULN2003A would cover all four data lines in a neat DIP package
or a SN75437A, MAX14919, any quad line driver with the current capacity really... |
6th Aug 2023, 10:36 pm | #113 |
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,437
|
Re: Tesla Programmer
I seem to recall Chris had originally used a ULNxxxx one, but had found that as it's a classic NPN darlington it won't pull that low to ground due to driver transistor needing to feed the base of its output transistor, via the collector of the output - resulting in around 1.2V there.
So really need a PNP fed from a positive rail, to drive an NPN / use N-Ch Power MOSFET's with lowed Rds(on), but that don't require much gate drive current to be saturated. IIRC, you needed to sink around 1A in each of these, to 'blow' the PROM's fuses. |
7th Aug 2023, 12:09 am | #114 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,553
|
Re: Tesla Programmer
Actually as I understand it the main motivation for the 'design style' was to keep it looking as 'period' as possible to match Nat Semi DM74S571 programmer which was designed to go in the replica Acorn system, hence the use of 74C906 and BFY transistors.
The Tesla programmer is basically the 'period' DM74S571 programmer turned upside down to provide for the rather different programming regime required by the Tesla MH74S571. The only real concession to modernity is the use of an SMD switching regulator (As opposed to something like a TL497) to generate the 10.5V programming voltage. from +5.0V. |
7th Aug 2023, 12:46 am | #115 |
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,437
|
Re: Tesla Programmer
Yes much of it was based on the Acorn PROM Programmer. However, Chris had originally added a ULN200x IC (still quite vintage, with TI datasheet originally released in 1976!) on his prototype, as he sent me the Schematic to 'review'.
But he'd already had the PCB made, before I'd commented about potential issues with these not saturating-fully (and are also only rated to 0.5A, although at that stage we didn't know how much current was required). He ended-up changing these to use BFY5x transistors, as he had lots of these. And they / the similar 2N3053 (But 0.7A, rather than 1A) 'equivalent' were quite popular in many projects (Adventures in Electronics book used these) back then - Even Tandy's sold them. But the BFY5x are now a bit harder to find (Although various substitutes in other packages can be used - as can now get TO-92 NPN's that will handle > 1A when fully-saturated, as well as having rather-higher hFE) BTW Surprisingly, I've just discovered Tandy (UK) are still around / been resurrected! - But online only, selling 2N3053's for < 50p and TTL/CMOS IC's for around 25p, plus also some Micrchip / Atmel IC's (Although Out of stock of many) - With £2 delivery charge. So not too bad prices / range (considering their reputation for high-prices and rather-limited selection in the UK - compared to Maplin once they started opening many shops): https://www.tandyonline.com/2n3053-npn-transistor.html Last edited by ortek_service; 7th Aug 2023 at 1:08 am. |