PROMEL 6064 - EPROM Emulator

ELTompa
Inlägg: 526
Blev medlem: 27 februari 2017, 22:13:28
Kontakt:

Re: PROMEL 6064 - EPROM Emulator

Inlägg av ELTompa »

Med risk för att göra dig besviken MiaM :-) så handlar det här projektet om det som rubriken skvallrar om, att göra en EPROM-emulator som också ska få EPROMbrännmöjlighet.
Det är inte ett Open Source projekt, Det är inte en projekt som syftar till att ta fram en universell brännare för alla upptänkliga EPROMar och MCUer med EPROM, Det är inte ett projekt som syftar till att ta fram en komponenttestare. Jag är ledsen, alla sådana ideer är "Out Of Scope".
Förväntningar och krav på detta projekt har jag skrivit om här viewtopic.php?p=1813680#p1813680

Tror följande switch blir bra
När jag labbat med kopplingen från inatt så tycker jag den tar sig. Den går ju också att komplettera med en diod i samma riktning som i de förra switcharna och då blir ju faktiskt både låg och hög aktivt drivna.
Jag har mätt lite mer på kopplingen och tycker den funkar bra såhär långt

Bild

Den går typiskt inte att styra från TTL men det ska den inte heller.
Typisk spänningsdrop vid belasning.

Bild

Den beter sig lugnt å fint vid power on

Bild

Den här får utgöra konstruktionsreferensen.
Jag har tänkt att man kollar ström/kortslutning med korta mätpulser och mäter spänningsfall innan man slår på kontinuerlig ström.

Edit: Fel bild på rampup nu ersatt med rätt
Senast redigerad av ELTompa 21 augusti 2024, 21:55:20, redigerad totalt 1 gång.
ELTompa
Inlägg: 526
Blev medlem: 27 februari 2017, 22:13:28
Kontakt:

Re: PROMEL 6064 - EPROM Emulator

Inlägg av ELTompa »

LDD = Low Drop Diod
Det behövs ju en backdiod på Vpp när den kommer från DCDC. Den har ju lite tråkigt framspänningsfall. Tänk om man skulle prova en sån där Low Drop Diod med en FET?
Jag har sett kopplingar på detta men aldrig riktigt kommit mig för eller tittat på hur man skulle använda en sån. Men i detta bygge skulle den ju kunna passa.
Den består av en MOSFET-P omgiven av två PNP transistorer. Det brukar rekommenderas ett matchat par men jag provkopplade med några vanliga BC559 på skoj och det funkade det med.

Bild

Om jag mäter spänningsfallet på flera ställen i kedjan och tar med att DCDCn också droppar lite så summerar droppet ändå till att bli ganska mycket.

Bild

Men jag vill ju hålla koll på strömmen, i allafall vid tillslag av VPP för att leta kortslutning/trasiga eller felaktig krets i ZIFhållaren. Så om jag kan mäta Vpp, alltså efter LDDn så är det bara framspänningsfallet kvar över den sista FETen och det är i så stort. Så men aktiv kompensering via mjukvara så skulle jag nog kunna krana upp spänning lite med hjälp av POTen via I2C.
Det skulle ju göra att systemet kompenserar bort spänningsfallet nästan helt. Och om man våga så skulle man kunna överkompensera en aning och i princip kunna trimma in rätt spänning utan att behöva mäta på varje pinne.
Jag har inte provat en kompensering som detta men det borde vara görbart.
ELTompa
Inlägg: 526
Blev medlem: 27 februari 2017, 22:13:28
Kontakt:

Re: PROMEL 6064 - EPROM Emulator

Inlägg av ELTompa »

Samla ihop till en ny revision
Många justeringa, patchningar, tankar och inte minst uppslag från mina vänner här i forumet nu ihopsamlade till en ny revision med kort och schema.
Först ett ord från CCB (Change Control Board)

CCB
Förslag till justering av förväntan-13 ang kretsfamilj att kunna programmeras antagen. Nu även inkluderar NMOS varianter avtidigare listade CMOS varianter
Ny lydelse gäller:
IDFörväntningUppfyllnadValideringssmetodResultat
Förväntan-13Emulatorn förväntas kunna bränna EPROM alá 27c64/128/256/512 och motsvande NMOS-varianter.Praktiska prov
Denna förväntan får direkt minst ett nytt systemkrav att verifiera mot
Programmering
Nytt krav:
Krav-1305: Det skall gå att programmera en ST 27128 NMOS EPROM

Efter lite systemerande av interna spänningar och sedvanlig förenkling av krets har DC/DC omvandlaren från 12V->5V ersatts av ett polvändningskydd och en 5V USB "laddare"

Tillbehör
Ny lydelse:
Krav-1601: En 5V USB nätdel skall finnas
och ett nytt krav
Krav-1602: En 5V USB-A -> 2.1mm Power plug adapterkabel > 1m skall finnas

Kretslösning Ver 2434
Jag bestämde mig för att dela upp schemat på flera sidor. Det blir för pluttrigt att ha allt på ett blad när man ska skriva ut och ha som underlag när man löder/bygger. Jag kommer på mig själv att ha designen öppen i datorn bredvid så jag kan zoom:a in. Det funkar ju men det är ändå lite opraktiskt med schemor som utprintade på A4 kräver förstoringsglas :D

Bild

Bild

Bild

Bild

Bild
ELTompa
Inlägg: 526
Blev medlem: 27 februari 2017, 22:13:28
Kontakt:

Re: PROMEL 6064 - EPROM Emulator

Inlägg av ELTompa »

JLCPCB levererar
JLC levererar snabbt som attan, uppskattas! La beställningen i Söndags och korten låg och väntade på utlämningstället igår fredag.

Bild

Tänkte driva emulatorn på en USBnätdel men vill fortsatt använda en 2,1mm pwr kontakt. Gillar dom bättre än USB kontakter och det finns ju kablar färdiga med USB-A -> pwr att köpa.
Men då kan det ju vara bra med polvändskydd

Polvändskydd
Tog hem ock provade några olika MOSFETar, Lågt framspänningsfall på alla tre

Bild

Bild
ELTompa
Inlägg: 526
Blev medlem: 27 februari 2017, 22:13:28
Kontakt:

Re: PROMEL 6064 - EPROM Emulator

Inlägg av ELTompa »

Kalibrering av pot:arna
Efter att ha kört igång del för del har turen kommit till att få till kalibrering av spänningarna från Vcc och Vpp DCDC. Spänningarna styrs med en dual digitalpot som kan programmeras via I2C och denna kalibrering är tänkt att mappa potvärden mot fasta önskvärda spänningar som passar för olika Vcc/Vpp.
Swech påtalade tidigare att det kan nog vara bra med ett kortslutningsskydd för man vet ju inte vad det är för status på kretsarna man sätter i ZIFsockeln. Det är ju en bra ide håller jag med om. Jag tänkte att när man slår på spänningarna så mäter man att där är rimlig spänning och stänger av DCDC om så inte är fallet. Sen kan man mäta strömmen av framspänningsfallet över 1ohm och överstiger den 150mA så stänger man också av DCDC.
Men jag hade glömt en mätpunkt på Vpp efter 1ohmsmotståndet så jag fick patcha in ett till mätställe för det. Kopplingen ser ut såhär

Bild

Vilka spänningar ska vara med i Tabellen
Man kan vara lite fiffig när man gör konstanttabeller i de små PICarna. Som i detta fall när jag vill lagra 12bitars värden. Varje spänning representeras då av värden mellan 0.00V och 40.95V (=12bitar)
För att lagra dessa i en tabell i FLASHen med 14bits bredd kan man skriva kodinstruktionerna Call och Goto då dessa håller en 11bitars konstant som parameter. Som syns i tabellen nedan så använder man call för 0-2047 och goto för 2048-4095. Det här funkar utmärkt och assemblern sväljer detta utan att protestera :)

Bild

Själva kalibreringen
Innan man börjar koda iväg är det nog bra att ta reda på hur lång tid som det tar för DCDCna att komma upp till tänkt spänning. En digital pinne från mjukvara går hög när koden börjar fippla med att få igång spänningen (röd linje på skåpet) och när den går låg är mjukvaran red att börja mäta spänning.
Här syns att mjukvara behöver vänta iallafall 2,5ms innan man kan förvänta sig stabilt resultat på mätningen.
Gul kurva visa Vpp-DCDC och Violet kurva visar Vcc-DCDC

Bild

Skaffade ett nytt Oscilloskåp. Just detta bygge med flera spänningar och digitala signaler blev lite meckigt med mitt tidigare 2kanals skåp. Så det fick bli ett Siglent 4kanals med digitaloption 16bitar. Och med stor display så man ser bra på. Just den här mätningen kanske inte krävde allt detta men det är ju bra att träna på hur det nya skåpet funkar.

Jag gör ett kommando som heter "cal" och som först kollar att det inte är kortslutningen eller överström och sedan stegar igenom tabellen med önskade spänningar och söker reda på vilket potvärde som varje tabellrad motsvarar och lagra dessa potvärden i RAM tillsvidare. Allt skrivet i assembler. Precis sånt jag gillar!

Bild

Mjukvara frågar först om man är ok med att släppa ut spänning på ZIF.28. Man gör ju klokt i att inte har en krets där som inte tål 7V men det är ju lätt att glömma så en Yes/No fråga är på sin plats.
När allt är kalibrerat går mjukvara igenom tabeller och använder de nya potvärden för att skapa spänningarna och då kan man se hur bra/dåligt jobb "cal" kommando.
Även här får man en Y/N fråga om man vill spara denna kalibrering i FLASHet.

På skåpet kan man se förloppen. Här när Vpp påbörjar sin sökning. varje "klocka" på den röda linjen motsvarar en potvärdeökning och man ser då att Vpp sakta stiger

Bild

Om man fångar hela förloppet ser det ut så här. Först Vpp sökning, sen Vcc sökning och när "klockan" slutat syns hur testet av alla potvärden påverkar Vpp och Vcc

Bild

På terminalen ser det ut såhär

Bild

Och på bordet ser det ut såhär. Jag fixade ju till mitt hobbyrum för några år sen. Ett ställe som det efter renoveringen samlades en massa skräp på gjorde jag om genom att sätta dit en liten extra bordsskiva, den som skåpet står på. Det blev riktigt bra och ytan fick plötsligt ett bra syfte.

Bild

Kolla hur tabellen mår
Det kan ju hända att man blir lite nyfiken på hur kalibreringen står sig eller att PROMEL inte tappat sin kalibrering. Då kan man köra kommandot "info c" och den gör på samma sätt som slutet på "cal" kommando, alltså går igenom tabellen och visar vad de olika potvärden faktiskt skapar för en spänning.

Bild

Och man kan ju redan sen tidigare kolla systemets interna spänningar med kommandot "info u"

Bild
.
Användarvisningsbild
Oskar
Inlägg: 1936
Blev medlem: 6 september 2005, 15:11:36
Ort: Storsjö, Sorsele

Re: PROMEL 6064 - EPROM Emulator

Inlägg av Oskar »

Många roliga lösningar i det här projektet, snyggt! Jag har missat att läsa i tråden ett tag, men nu kom jag ikapp.
Användarvisningsbild
AndersG
EF Sponsor
Inlägg: 9045
Blev medlem: 25 februari 2008, 17:10:58
Ort: Mariehamn
Kontakt:

Re: PROMEL 6064 - EPROM Emulator

Inlägg av AndersG »

Snyggt. Här kan man få inspiration!
ELTompa
Inlägg: 526
Blev medlem: 27 februari 2017, 22:13:28
Kontakt:

Re: PROMEL 6064 - EPROM Emulator

Inlägg av ELTompa »

Tack Oskar och AndersG för era kommentarer och kul att ni läser tråden.

Läsa EPROM Id
Dags för att bygga på lite fler myror på kortet. Nu är det dags för komponenterna som utgör switcharna mellan logik och Vpp fram till ZIF sockel.

Bild

Dessa komponenter får sitta på baksidan av kortet under DCDC omvandlarna.

Bild

Jag kodar bit för bit långsamt och testar utan att ha något i ZIFsockeln
1. Först ska spänningarna slås på. Vcc går direkt till ZIF medans Vpp switchen till en början är avstängd
2. Kollar efter kortslutningen eller för hög ström och avbryter isåfall
3. Slår på 12V på ZIF.24
Ser ju bra ut så här långt.

Bild

Men när jag slår av Vpp switchen till ZIF.24 så sjunker inte spänningen... hmmm mysko. men så långsamt 1-2min sjunker spänningen tillbaka till 0.1V
Men så stiger den lite svajigt ut till 3V för att sedan abrupt gå ner till 0.04V. Jag sitter och tittar på spänningen en stund och förloppet upprepar sig...
Hmm det måste vara R152 som är knas och gaten flyter på FETen. Och mycket riktigt , där är en kallödning. Och med den åtgärdad så funkar allt som det ska.

Här ser man förloppet i sin helhet. ZIF.Vcc får först minspänning (ca 4.3V) när kortslutning undersöks och därefter jackas den upp till 5.0V innan 12V på ZIF.24 slås på.
Läsförloppet och med lite väntan på insvängning tar ca 70us Sen kopplas 12Ven bort från ZIF.24

Bild

Inzoomning på 12V pulsen

Bild

Ja, det här ser ju ut att fungera som tänkt. Då är det bara att sticka in en EPROM och prova. Jag tar en från BraÅha-skrotlådan första för att prova med och hoppas nästan att den är sönder så jag får testa om mitt överströmskydd funkar.

Bild

Men nej EPROMet är inte sönder. iallfall så fungerar ID-läsningen.
Då provar jag att läsa flera EPROMar och allihop läser ID ok och identifierar sig korrekt.
Superkul!! Det funkar!! :D :D

Bild

Bild
.
Användarvisningsbild
Oskar
Inlägg: 1936
Blev medlem: 6 september 2005, 15:11:36
Ort: Storsjö, Sorsele

Re: PROMEL 6064 - EPROM Emulator

Inlägg av Oskar »

Bara att gratulera :bravo:
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 4809
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: PROMEL 6064 - EPROM Emulator

Inlägg av Mickecarlsson »

Snyggt :tumupp:
ELTompa
Inlägg: 526
Blev medlem: 27 februari 2017, 22:13:28
Kontakt:

Re: PROMEL 6064 - EPROM Emulator

Inlägg av ELTompa »

Ett EPROMs död fångad på bild
Nu har jag provat att läsa ID från flertalet av mina EPROMar jag har i olika lådor med bra att ha saker. Kan väll direkt säga att "gamla" orginal EPROMar från 80-talet funkar finnt i avseendet att läsa ID. Lika bra som det går är det väldigt varierande resultat på EPROM köpta på AliX. Några ger ett repeterbart ID (men som inte finns listat) och andra visar lite olika IDn alla nära FFFF, typ FEFF, FFFD, FDFE osv. Vi får väll se hur det går att bränna dessa.

Så bygger jag in lite extra mjukvarukollar så att man inte försöker släppa på Vpp och Vcc till ZIFen om potarnar inte är kalibrerade.
Och fångar EPROMet död

Bild

Det här är ett gammalt EPROM som kanske inte har ID via 12V på A9 tänker jag. Som syns på bilden kroknar 12V innan det är klar och det är EPROMets död.
Men vänta nu det är ju inte 12V utan snarare 18V! För jag har kodat fel och råkat XORa värdet till poten som då krämar på för mycket Vpp spänning.
Så det som skulle funkar som ett skydd blev istället en döds-stöt i dubbel mening :doh:

Men man kanske bara ska ha en enkel strömbegränsning med ett motstånd. Det står i databladen att 100u är en vanlig ström för 12V ID via A9.
Men det visar sig att de kretsar jag har vill nog ha runt 400uA så det får bli ett 2k2 strömbegränsande motstånd

Bild

Och så ställer man Vpp DCDCn på 13V och får på så sätt 12V på A9. Det funkar fint och nu är nog risken mindre att bränna A9 om det blir fel på poten igen.

Bild

Hela läsa IDförloppet ser nu ut såhär

Bild
Användarvisningsbild
AndersG
EF Sponsor
Inlägg: 9045
Blev medlem: 25 februari 2008, 17:10:58
Ort: Mariehamn
Kontakt:

Re: PROMEL 6064 - EPROM Emulator

Inlägg av AndersG »

Har du förresten sett denna: https://github.com/wickerwaka/PicoROM
ELTompa
Inlägg: 526
Blev medlem: 27 februari 2017, 22:13:28
Kontakt:

Re: PROMEL 6064 - EPROM Emulator

Inlägg av ELTompa »

Nej, den har jag inte sett. Cool!
ELTompa
Inlägg: 526
Blev medlem: 27 februari 2017, 22:13:28
Kontakt:

Re: PROMEL 6064 - EPROM Emulator

Inlägg av ELTompa »

Programmera EPROM, det börjar komma på plats
Ibland vill man bara springa iväg och koda allt kul men det lönar sig att fundera på i vilken ordning olika funktioner färdigställs. Bättre att göra andra funktioner först som man kan ha nytta av för nästa funktion som skall kodas, så även här.

Läsa EPROM
Nu finns det ett kommando så man kan lista EPROM innehåll på terminalen

Bild

Om man tar en gammal EPROM så kan man spionera på innehållet. Det här EPROMet verkas ha suttit i en telefonväxel eller liknande. Bra att det finns text i EPROMet för få ser man ju att det kodas av på rätt sätt även om innehållet är okänt :)

Plocka fram EPROM parametrar från en lista i FLASH
Jag gör en enkel funktion som kan läsa EPROM id och sedan plocka fram parametrar som kan användas för att bränna med.

Bild

Parametrar via ID behöver man kolla. Ibland så är ju kretsarna äldre än databladen man hittar och då är det ju bra att det står vilken Vpp som passar bäst.

Bild

Kommandot för att bränna tar fler parametrar. Om man inte vill använda Auto detect så kan man själv ange med parametrar hur man vill att programmeringen ska göras och med vilka spänningar

Bild

Algoritmparameterer är lite hemligt kodad men Q betyder 100us puls, 10 betyder antal omförsök. Varianter på algoritmer kommer det tillkomma ju fler olika kretsar jag dyker på.
Bränner man utan auto får men välja parametrar själv och här finns nu också rangecheck på parametrarna så man inte matar in ogiltiga saker.
Device (1-4): 1=2764 2=27128 3=27256 4=27512
Vcc (2-8): 2=5V 3=5V25 3=5V5 4=5V75 6=6V 7=6V25 8=6V5
Vpp (4-8): 4=12V 5=12V25 6=12V5 7=12V75 8=13V

Bild

Jag fick patcha lite för jag hade inte tänkt på att den interna databusen inte kan göras stabil innan all signalering till EPROMet är klar men efter att det var åtgärdad så gick det att börja verifiera.

Bild

Nu kom nya skåpet väl till pass. helt underbart att kunna se både digitala och analoga signaler synkade

Bild

Jag hade ett mysko fel men som jag tillslut hittade. Allt såg bra ut när jag mätte men ibland kom där signaler från EPROMet i mitt tycke helt av sig självt. Det visade sig att det var glapp mellan där mätpunkten och själva benet på kretsen. Vcc på EPROMet hade för dålig kontakt med matningen och det gav en massa skumma fel. För det var när strömförbrukningen ökade som det blev glapp. Att läs EPROMet funkade alltid. Tog en bra stund innan jag kom på vad det var.

Bild
.
Användarvisningsbild
AndersG
EF Sponsor
Inlägg: 9045
Blev medlem: 25 februari 2008, 17:10:58
Ort: Mariehamn
Kontakt:

Re: PROMEL 6064 - EPROM Emulator

Inlägg av AndersG »

Nu kom nya skåpet väl till pass. helt underbart att kunna se både digitala och analoga signaler synkade
Visst. Jag har ett gammalt Agilent 16+2. Helt underbart.
Skriv svar