Na de eerste positieve testen door Prof. Dr. Ir. B. P. Verhoeven en Ir. Dr. Prof. T. Hartong heb ik de gecorrigeerde printontwerpen naar JLCPCB gestuurd. Enkele weken later, helaas net op de middag dat ik bij een regiobijeenkomst in Elst was, werden de nieuwe printen bezorgd. Waren ze één dag eerder gekomen dan had ik er nog EENTje kunnen bouwen. Maar die activiteit werd dus uitgesteld tot de zondag erna.

De bouw neemt iets meer dan een uurtje tijd in beslag. Na dat uurtje plaatste ik vol hoge verwachtingen de print in mijn Plus1 en zette ik de Electron aan. De Econet banner verscheen in beeld maar de Electron hing zich op zodra een *-commando gegeven werd. Helaas deed mijn BBC B, die als fileserver functioneert, ook moeilijk. Ook die had startproblemen en ook daar werkte Econet ook niet. Waar zit dan de fout?

Ik besloot om de standaard audio-kabels maar te vervangen door nieuwe kabels die gemaakt zijn met CAT6 UTP kabels. Ondertussen waren twee bouwpakketten naar Made gestuurd zodat ook Bas aan de slag kon. Met de nieuwe kabels werkte Econet op de BBC wel weer maar de EENT deed nog steeds niets. Ik begon met het uitwisselen van wat IC’s, met name de 75159 driver, de 68B54 ADLC en de GAL22V10. Op een gegeven moment had ik dan toch een van de nieuwe printen aan de praat. Vreemd genoeg werkte daarna het prototype niet meer. Ook Bas meldde een dag later dat zijn EENT niet werkte.

Tijd om met meetapparatuur aan de slag te gaan. Aanvankelijk mat ik met mijn oscilloscoop op zowel de datalijnen als de kloklijnen. Vreemd genoeg stond er op de datalijnen eveneens een 125 kHz blokgolf, identiek aan het kloksignaal. Daar waar ik in eerste instantie de bekabeling en de print verdacht bleek later dat euvel te zitten in de meetmethode. Beide lijnen zijn namelijk differentieel, je meet ze ten opzichte van elkaar en niet ten opzichte van een 0V lijn. De meetprobes hebben echter een gemeenschappelijke massaverbinding via de scoop. En laat dat er nou net voor zorgen dat het kloksignaal op die manier op de datalijnen terecht komt.

Dan maar op een andere manier meten. Met de logic analyser dan maar. En het liefst direct op de 68B54 want daar werken we uitsluitend met TTL signalen die minder storingsgevoelig zijn. Dit leverde twee verschillende plaatjes op:

In deze diagrammen valt vooral op dat bij de niet-werkende variant er al een NMI optreedt voordat het eerste bit verzonden is. Daarna stuurt de ADLC alleen maar pulsjes uit op regelmatige basis. De fileserver begrijpt daar overigens niets van.

Ik ga u niet vermoeien met de lange zoektocht naar de oorzaak van dit probleem, maar het sleutelwoord die naar de oplossing leidde kwam eveneens uit Made en luidt: timing. Ik besloot om de gebruikte GALs eens te bekijken en de werkende GAL was een 25ns exemplaar en de niet werkende was een 15ns, ook nog eens van een ander merk. Ik wisselde de GALs van de printen om en jawel, de werkende print stopte er mee en de andere werkte nu wel. Het bewijs was geleverd: het probleem zit in de GAL. Dat zette me aan het denken en daarbij schoot me een fragment uit de vorige blog te binnen:

Bij het controleren van de NMI interrupts ontdekte ik ook twee fouten. De NMI wordt (om een IC uit te sparen) gerealiseerd met een NPN transistor. De NMI enable/disable wordt in de GAL geregeld en zorgt in combinatie met de interrupt uitgang van de 68B54 voor de aansturing van deze transistor. Maar dan moet het uitgangssignaal om die transistor aan te sturen uiteraard wel positief zijn, anders wordt het juist geïnverteerd. Dat moest dus even in de GAL omgezet worden.

Ik zal toch niet … jawel, dat moet het zijn … ik heb de oude JEDEC file in de GAL geprogrammeerd. Hierbij is de aansturing van de NMI transistor verkeerd. Dat verklaart namelijk ook gelijk waarom er een NMI optreedt voordat er ook maar één bit verzonden is: de software reset namelijk het NMI signaal maar doordat dit fout gaat wordt er juist een NMI gegenereerd. Die wordt overigens niet gewist omdat de NMI routine niet correct uitgevoerd wordt. NMI’s zijn flank getriggerd dus als het signaal laag blijft zal de 6502 daar geen last van hebben. Nadat ik de GAL voorzien had van de juiste JEDEC file was dit probleem opgelost.

Dat betekent dat nu alle obstakels weggenomen zijn en dat ik kan beginnen met het uitleveren van de eerste serie bestelde printen. Mocht u inmiddels warmgelopen zijn voor dit project dan kunt u mij gerust benaderen voor een print. Zie voor meer informatie de pagina “Te koop”