Op vrijdag 21 juni 2024 18:57:26 schreef henri62:
[...] Het is ook V1.4, wel raar voor iets wat niks doet.
Dat bedoel ik.
Op vrijdag 21 juni 2024 18:57:26 schreef henri62:
[...] Het is ook V1.4, wel raar voor iets wat niks doet.
Dat bedoel ik.
Bij deze een tekening van hoe de EP610 op de print zit.
Uiteindelijk worden er 20 relais bestuurd.
Tevens zijn er 4 dipswitches waarmee met dezelfde kaarten tot 100 relais kunnen worden bestuurd.
Er zijn maximaal vijf van dit type print mogelijk in het systeem.
Zoals ik al vermoedde zit er een werkend design in de EP610. Een design dat in de verste verte niet overeenkomt met de uitgelezen VCE-V1.4.jed file.
In de EP610 is of het Security-Bit actief (net zoals in het andere device) of de uitgelezen EP610 is defect.
Vrees een dood spoor naar een oplossing...
Wat ik heel raar vind is dat de chip blijkbaar maar half uitgelezen word. Dit gaat er bij mij niet in, die andere EPLD leest alle nullen (moet dus protected zijn) dus er is iets heel raars aan de hand. Ik heb ook meerdere keren het device uitgelezen om te kijken of er gammele bits in zitten maar dat is dus niet zo.
Aan de hand van de tekening is het dus ook onlogisch dat pin 7,8,9 output zijn. Die zouden op zijn minst tristate oid moeten kunnen worden.
Het hele ding is combinatorisch want de clk1/2 zijn niet aangesloten. Dat maakt het wel weer iets simpeler.
Ik zal de WIE chip (een andere die ik ook opgestuurd heb gekregen) eens decompilen dit weekeinde want daar staan wel fuses in die op het oog zinnig eruit zien om te kijken wat daar uit komt.
[Bericht gewijzigd door henri62 op zaterdag 22 juni 2024 01:46:20 (15%)
Op zaterdag 22 juni 2024 01:44:42 schreef henri62:
Het hele ding is combinatorisch want de clk1/2 zijn niet aangesloten. Dat maakt het wel weer iets simpeler.
Nee, daar maak je een denkfout. De clk input van de flipflop in de macrocellen kan worden gevoed vanuit het logic-array (Mode 0 en Mode 1).
Het design kan dus zowel combinatorisch als registered zijn.
Van de EP610 met VCE software heb ik ook nog een versie 1.2
Beide versies zijn gewoon uitwisselbaar.
Misschien is het nog een optie om deze chip uit te lezen.
Bestaat de firma nog die deze hardware heeft ontwikkeld?
Zijn de EPLD design files misschien bij hun of ergens anders opvraagbaar?
De firma bestaat zeker nog ja, maar die gaan die bestanden niet weggeven.
Het is een commercieel product.
Ze hebben er geen enkel belang bij dat ik hun printen probeer te repareren.
Duidelijk, het had gekund dat het product obsolete was na al die jaren en de firma bereid zou zijn om je te helpen.
Het stukje schema wat ik gezien heb... Dat ontwerp komt uit de jaren tachtig. D'r is in de tussenliggende 40 jaar(*) heus wel eens een ongelukje geweest waardoor de broncode verloren is gegaan.
(*) Ok. Bij nader inzien iets overdreven. Gezien de PLD 30 jaar.
Het schijnt nog een commercieel product te zijn, het kan zo zijn dat de design files nog bestaan maar of de firma die los wil verkopen of gratis geven is maar de vraag.
Op zaterdag 22 juni 2024 12:53:41 schreef Talisman:
De firma bestaat zeker nog ja, maar die gaan die bestanden niet weggeven.
Het is een commercieel product.
Ze hebben er geen enkel belang bij dat ik hun printen probeer te repareren.
Maar heb je dat ook gevraagd? Of neem je dat gewoon aan?
Op zaterdag 22 juni 2024 01:52:23 schreef Bobosje:
[...]Nee, daar maak je een denkfout. De clk input van de flipflop in de macrocellen kan worden gevoed vanuit het logic-array (Mode 0 en Mode 1).
Het design kan dus zowel combinatorisch als registered zijn.
Klopt, heb je gelijk in. Dat maakt het wel een stuk lastiger.
Als ik het board zie waar die VCE chip op zie zitten is dat niet echt spannend. De rest reverse engineren is niet zo moeilijk.
Ik zie 3x 74HC273 8 bit latch zitten + ULN2003 dat zijn de de uitgangs bits (20 stuks). Mij vermoeden is dat de D-in van die buffers allemaal aan de databus hangen. Flatcable pins 4 t/m 11. Dus de 3 latches van die chips moeten uit de EPLD komen na decodering.
Dan zit er alleen nog een comparator 74HC85, die output (pin 6) komt waarschijnlijk op de EPLD pin 23 uit. 4 inputs gaan geheid naar de dipswitch (+ pullup/down) op dat board, en die andere 4 pinnen komen waarschijnlijk van de EPD een van die pinnen 4 t/m 9.
Eigenlijk lijk je net 1 output tekort te komen op de EPLD?
Dus toch maximaal 16 borden zo te zien aan de dipswitch van dit type in ieder geval.
Misschien dat er na reverse engineering nog wat af te leiden is hoe die EPLD in elkaar zit.
Een vervelende factor is het DIR input signaal voor de Octal Transceiver 74F245. Dit DIR signaal wordt gegenereerd door de EP610 en welke EP610 input signalen daarbij allemaal een rol spelen (combinatorisch of registered) is een zeer lastige om uit te vinden.
Verder kan de EP610 evt. data op de 8-bit bus interpreteren en er acties op uitvoeren op interne of externe signalen.
Vrees dat (foutloos) reversen van de EP610 een lastige zaak is...
Dat DIR signaal is inderdaad een lastige en ook een rare constructie.
Normaal zou je verwachten dat de OE gebruikt wordt icm met het DIR signaal om glitches/shorts met de EPLD te voorkomen.
Er moet dus zeer waarschijnlijk iets zijn dat terug gelezen kan worden, maar wat? Er is niet iets op het board wat direct terugleesbaar is aan de componenten op de foto te zien. Daar maakt het ook bijzonder lastig omdat het een intern bit kan zijn.
Ik heb net even gechecked of ik de goede EPLD kan bewegen iets op de databus te zetten voor de input pinnen te togglen (van de CPU flatcable), maar de pins naar de 245 blijven tristate zelfs een combinatie van 2 pinnen rondom 12,13,14,15 (ik ga er vanuit dat die active low zijn).
Je zou al in een live-systeem of in een test-setup met een logic-analyzer de EP610 signalen moeten loggen om de inhoud van de EP610 enigszins te kunnen doorgronden.
De hoop is om over de originele design files te kunnen beschikken, alleen daarmee is het maken van een exacte EP610 kopie mogelijk.
Ik heb een paar weken geleden het board van Talisman ontvangen om het volledig te reverse engineeren. Op dit board zit een EP610 VCE-1.2 chip versie.
Ik heb die uitgelezen en helaas: code protected. Deze leest wel geheel '1' waardes uit van het hele array en de config bits zijn alle '0'.
Ondertussen ben ik vanavond al een heel eind met het schema, de hele bus interface is nu op papier gezet.
Het voorlopige stuk schema is in mijn reverse engineering repo te vinden:
https://github.com/rev-enge/hortimax/blob/main/ma-vce/schematic/schema…
(Wel effe downloaden want github bakt niks van die pdf).
Ik ga dit weekeinde wel verder met het uitpluizen van de laatste stukjes. Ben nu even gaar.
Ondertussen net weer wat traces uitgezocht.
Het schema van de bus interface is vrijwel compleet, 3 traces moet ik nog uitzoeken of ze nog ergens vanaf de bus connector (links in het schema) toch nog ergens naar toe lopen.
De repo is nu weer updated.
Nu is het nog de vraag wat de 4 specifieke signalen zijn naar de EPLD, pins 2, 10, 11, 14.
Ik vermoed iets van een R/!W signaal, ALE, ENABLE, en misschien een ACK of zo?
De adresbus moet wel gemultiplexed zijn anders kun je geen 16 board adressen maken.
Helaas kan ik door het stickertje op de CPU niet zien wat voor CPU het is.
Waarschijnlijk zijn de bus signalen 1 op 1 (gebufferd) op de interface gezet.
-edit- attachment deleted, vervangen door nieuwe versie.
Ik zie net dat er op dat main processor board (MPB) een MC68HC001 zit (helemaal links boven).
Die heeft geen gemultplexte data/adresbus. Terwijl de bus interface zeer waarschijnlijk wel een A/D gemultiplexte bus heeft.
Dus rara wat zijn die 2 DIL40 Intel chips dan?
De sticker suggereert dat het een PLD zou kunnen zijn?
Volgens de TS zijn die 2 DIL40 ook EPLD's. Waarschijnlijk maakt die een A/D multiplexed bus.
Verder heb ik het schema nu klaar wat betreft de hele bus logica.
Wat pullups die er nog bij moesten en ontkoppel C-tjes staan er nu ook in.
Ook zitten er nog een paar C-tjes op de clock lijnen van de 74HC273.
Hier de PDF:
Waarschijnlijk word een van de pinnen IO3 en IO4 als uitgang gebruikt om de adres match status te latchen.
De pinnen 7, 8, 9 zijn dus inderdaad statisch een output.
De pinnen 15 t/m 22 moeten bidirectioneel zijn anders krijg je sluiting bij een write naar het board toe.
Is is ook een mogelijkheid om wat van de bus te lezen want het cpu board kan het aangesloten board herkennen.
Lang geleden 5 a 6 weken helemaal geen tijd gehad, maar nu heb deze week even de tijd gehad de rest te reverse engineeren en even op te tekenen. Nu is het board compleet met alles erop en eraan.
De volgende poging was om te kijken of ik het board op een of andere manier kan aansturen met een nucleo controller bordje.
Ik heb de boel aangesloten, allerlei patronen op de 4 control lijnen + datalijnen gezet, maar de (goede) EPLD lijkt nergens op te reageren.
-edit- Wacht effe nu zie ik op het ledje D1 af en toe een klein flitsje tevoorschijn komen.
Die ben ik trouwens op het schema vergeten maar zit waarschijnlijk aan IC7-16, fix ik nog wel een keer in het schema.
[Bericht gewijzigd door henri62 op zondag 27 oktober 2024 00:16:19 (18%)
Het reversen van de EPLD is net als een gok automaat, wachten tot de hoofdprijs valt.
Als ik op de databus een waarde zet van 176 t/m 192 en voor elke waarde de IN3 van de EPLD toggle gaat pin IO2=groene led even aan. De andere 3 control pinnen (IN1, IN2, IO8) MOETEN 0 zijn anders werkt het niet.
Morgen weer verder, nu is het laat genoeg.
[Bericht gewijzigd door henri62 op zondag 27 oktober 2024 00:44:09 (18%)
Ik moet 0xBF op de AD bus zetten, dan IN3 L->H maken en dan blijft het ledje aan.
Dus op de positieve edge van IN3 wordt de AD bus compared met de dipswitch en het vaste getal 0xB in het bovenste nibble.
IN1, IN2, IO8 moeten blijkbaar toch laag zijn, elke andere combinatie werkt niet.
De 0xBF is 0xB0 + de 4 dipswitches geinverteerd. Dat klopt ook wel want er zitten pullups aan de 74HC85, dus in "uit" stand zijn ze H.
Er wordt state bewaard in de EPLD in de pin IO2 waar via de ULN buffer een groene LED aan hangt.
Als de groene led aan is, is het board geselecteerd voor verdere verwerking van een commando.
Door nu data op de AD bus te zetten en de pin IO8 hoog te maken gaat het latch signaal van IC4 naar laag (=IO7) dat is de eerste bank relais.
Dan moet IO8 weer laag gemaakt worden en gaat het IO7 latch signaal weer naar hoog. Dan wordt de data ingeclocked in de 74HC273.
Dat is de manier om de eerste bank van 7 relais aan te kunnen sturen.
Ik ben er nog niet achter hoe ik de andere 2 banken relais kan sturen. Ik heb van alles geprobeerd met de 2 overgebleven pinnen in de hoop dat ergens state in de IO3/IO4 oid bewaard wordt voor om te schakelen naar de andere 2 clock/latch signalen maar het werkt dus niet.
Ik heb nu geen idee meer over. R.I.P. voor dit project.