Voordat je begint
Ik ben erg blij dat je geïnteresseerd bent in mijn board. U kunt contact met mij opnemen voor het bestellen van een baord, of gebruik de gerber-bestanden in de downloadsectie om er een te bestellen bij jouw favoriete pcb-fabrikant. Voordat je begint, moet je je echter realiseren dat:
- je moet goede soldeervaardigheden en gereedschappen hebben
- er zijn verschillende componenten die moeten worden geprogrammeerd, zoals een eprom, Microchip PIC18F4525 en sommige Xilinx CPLD- en FPGA-apparaten
algemene kennis van de Acorn Atom of 8-bit microcomputers in het algemeen is een must - het oplossen van problemen kan moeilijk en moeilijk zijn
Maar er zijn altijd mensen die je willen helpen, kijk maar eens in de support sectie. En als het je lukt om deze nieuwe Atom werkend te krijgen, heb je de beste Atom sinds 1979!
Ontwerp overwegingen
Mijn eerste bedoeling was om een Atom-moederbord te bouwen dat het originele Atom-moederbord zou vervangen. Na veel onderzoek en discussies heb ik een andere beslissing genomen. Het bord is slechts half zo groot als het origineel. Het toetsenbord maakt geen deel uit van het nieuwe moederbord. Deze keuze is gemaakt om drie redenen:
- Niet iedereen heeft misschien een reserve Atom-toetsenbord en het is moeilijk om het toetsenbord van een oud moederbord te krijgen.
- Door het moederbord en het toetsenbord te scheiden, kunt u ook een ander toetsenbord aansluiten
- Door een toetsenbord te integreren is de print twee keer zo groot en zouden ook de kosten van de print verdubbelen
Dus ik heb een connector toegevoegd en je kunt elk toetsenbord aansluiten met een normale 26-aderige platte kabel. Dit maakt het nieuwe moederbord goedkoper, flexibeler en kan nog steeds in de originele Atom behuizing worden geplaatst.
De memory map is gebaseerd op de defacto standaard die we in de jaren 80 gebruikten in de Dutch Atom User Group. Deze geheugenmap biedt 32 kB ram voor uw basis- of machinecodeprogramma’s, tot acht banken van 4 kB ram voor utility-roms op #Axxx en het is mogelijk om de eprom (#C000-#FFFF) te vervangen door ram voor het laden van een andere besturingssysteem zoals je eigen creatie of BBC Basic. Het geheugengebied bij #4000-#7FFF is geïmplementeerd als vier banken van elk 16 kB, wat 64 kB ram oplevert (dit wordt gepositioneerd binnen de 32 kB programmageheugenruimte).
De I/O-ruimte wordt veel beter benut. Hierdoor is er meer ruimte voor extra I/O. Alle adressering wordt afgehandeld door twee CPLD’s, zodat je je eigen geheugenkaart kunt maken zonder koperbanen door te hoeven krassen.
Hardware aanpassingen
Bij alle printen is de polariteit van condensator C37 verkeerd om. De + kabel moet naar massa en de – kabel naar pin 6 van de MAX232! Het symbool op de printplaats is verkeerd.
Helaas heb ik een paar fouten gemaakt bij het ontwerpen van dit nieuwe moederbord. Deze fouten zullen worden gecorrigeerd voordat ik de volgende batch pcb’s bestel. Maar als je een board hebt met de datum “2014-10-04”, dan moet je op de volgende punten letten:
- Alle elektrolytische condensatoren gemarkeerd met capapol zijn 100 µF
- U kunt de weerstanden R35, R36 en R37 overslaan. Ze waren bedoeld om te voorkomen dat de Atom gaat hangen als er geen 6522 VIA is geïnstalleerd. Deze weerstanden zouden echter D1, D2 en D3 met massa moeten verbinden maar dat ging in dit ontwerp mis. Je kunt de Atom nog steeds gebruiken zonder een 6522, maar dan moet je deze drie weerstanden via een aparte ic-socket in de socket van de 6522 monteren.
- De binnenste pinnen 32 van PL6/7 (hier X1001 en X1002) zijn niet aangesloten. Om compatibel te zijn met de originele Atom, kun je een grote druppel tin op deze pinnen doen.
- De 18F4525 wordt gevoed op 3,3V. Allereerst heb je voor die spanning een 18FL4525 nodig, maar dat kan ook gevolgen hebben voor de prestaties van de PIC. Het is beter om hem aan te sluiten op 5V. Dit kan eenvoudig door een groter gat in de via te boren (niet de 6522!) en dan pin 32 van de PIC aan te sluiten op een 5V lijn. Dit zie je op onderstaande afbeeldingen.
- Een andere fout is dat bij de PIC de pinnen 23 en 24 verwisseld zijn. Dit zou kunnen worden opgelost in de PIC-software, maar dat zou het incompatibel maken met alle andere bestaande AtoMMC2-interfaces. De handigste manier om dit op te lossen is door pin 7 van de SD-kaarthouder uit te buigen. Wees voorzichtig, want pin 7 is de 8e pin van rechts als je de gleuf naar jezelf toe wijst. Kijk naar deze foto voor details.) Soldeer er een kort stukje draad aan en isoleer het. Sluit dit stuk draad aan op het gat van R29 dat het dichtst bij R34 ligt. Doe dit aan de componentzijde. Nu heb je pin 24 van de PIC aangesloten op de rechter connector van de SD-kaarthouder. Soldeer vervolgens R29 (1,8 kΩ) aan een stuk draad. Soldeer de andere kant van de weerstand aan het andere (nog vrije) gaatje van R29 op de print (dat is het gaatje het dichtst bij de SD-kaarthouder). Het andere uiteinde van de draad gaat naar pin 23 van de PIC.
- Ik adviseer om een 1×8 header connector te gebruiken als P1. Dit is de connector waar je de GODIL video- en audiosignalen op het moederbord aansluit. Je kunt deze draden rechtstreeks op het moederbord aansluiten, maar als ze breken, heb je een uitdaging om ze te herstellen.
- Als je van plan bent de interne speaker te gebruiken dan moet je pin 2 en pin 4 van de LM386 met elkaar verbinden. Deze oplossing zorgt ervoor dat de aardklem (pin 4) wordt aangesloten op het aardingssignaal. De LM386 werkt op deze manier veel beter.
Componenten solderen
Voor het beste resultaat moet u de componenten van de laagste naar de hoogste footprint toevoegen. Dus begin met de weerstanden en voeg dan de sockets voor de ic’s toe. Ga verder met de kleine condensatoren en voeg als laatste de elektrolytische condensatoren toe. De onderdelenlijst en het elektrisch schema worden weergegeven op de documentatiepagina.
Let op: R35, R36, R37 en R29 niet monteren! Kijk bij ‘Hardware aanpassingen’ voor uitleg.
Het bord is van goede kwaliteit. Het solderen van de componenten is gemakkelijk en leuk. Maar zorg ervoor dat u elk onderdeel maar één keer hoeft te solderen. Het verwijderen van een onderdeel is moeilijk en het gat is mogelijk te klein om het onderdeel te vervangen. Dit geldt vooral voor de VGA-connectoren.
Let op: pas de ic’s nog niet in hun sockets. Eerst gaan we de CPLD’s en FPGA programmeren.
Nadat je de CPLD’s en FPGA hebt geprogrammeerd, kun je alle ic’s in hun sockets plaatsen. Alle ic’s hebben dezelfde oriëntatie behalve de twee CPLD’s. Als je naar het bord kijkt met de tekst “Dutch Acorn Atom” in de rechter benedenhoek, dan hebben alle ic’s pin 1 aan de bovenzijde van het bord.
De componenten programmeren
Voor het programmeren van de CPLD’s kunt u een eenvoudig programmeerapparaat bouwen dat wordt aangesloten op de parallelle printerpoort van uw pc. De software hiervoor kunt u downloaden op de website van Xilinx. Zoek naar ISE 10.3 want dat is de laatste versie die de parallelle poortprogrammeurs ondersteunt. Dit is het schematische diagram van de programmer:
De CPLD’s kunnen in-circuit worden geprogrammeerd. Eigenlijk raad ik je ten zeerste aan om ze in hun stopcontact te plaatsen en ze nooit te verwijderen, tenzij ze defect zijn. De sockets zijn erg kwetsbaar en breken gemakkelijk als je iets te veel kracht gebruikt bij het verwijderen van de ic’s. De geheugendecoder (XC9572XL) gaat in socket U5 (linksonder). De io-decoder (XL9536XL) gaat in de bovenste middelste aansluiting (U6). Zorg voor hun oriëntatie. U5 heeft pin 1 aan de rechterkant; U6 heeft pin 1 aan de linkerkant. Als je ook maar de minste twijfel hebt, controleer en vergelijk dan met het geweldige voorbeeld. U kunt de knikken zien die pin 1 aangeven.
Voor het programmeren van de CPLD’s downloadt u de bestanden van onze downloadpagina. Je hebt alleen de .jed-bestanden uit de archieven nodig. Het programmeren van de CPLD’s is vrij eenvoudig: start iMPACT, maak een nieuw project, configureer de kabel automatisch, selecteer een apparaat (d.w.z. het jedec-bestand dat je wilt programmeren en begin met programmeren.
Het programmeren van de FPGA op de Godil is iets ingewikkelder. Begin met het downloaden van het .bit-bestand van onze downloadpagina. Ga dan verder met de instructies op Github. Ik heb de CPLD-programmeur nooit getest met de Godil omdat de toonhoogte van de connector anders is.
Zodra u uw Xilinx-logica hebt geprogrammeerd, kunt u alle andere ic’s plaatsen. Als u ooit een van hen opnieuw moet programmeren, kunt u dit in een circuit doen zonder een onderdeel te verwijderen. Natuurlijk stopt de Atom met werken en kan het scherm zwart worden tijdens het programmeren. Dit is normaal gedrag. Sla alle gegevens op en verwijder de SD-kaart (better safe than sorry). Na herprogrammering wordt een power cycle aanbevolen.
De volgende die moet worden geprogrammeerd, is uw 27256 eprom. Dit bestand staat ook op onze downloadpagina. Gebruik je favoriete eprom-programmeur voor deze taak. Er is geen eenvoudig ontwerp dat u in 10-15 minuten kunt bouwen; als je geen eprom-programmeur hebt, zal dit een moeilijke stap zijn.
Hetzelfde geldt voor het programmeren van de PIC. Ook daar heb je een speciale programmer voor nodig. Het .hex-bestand staat op onze downloadpagina. Op internet zijn verschillende eenvoudige programmeurs te vinden die het werk voor u kunnen doen. Ik gebruik degene die bij Voti wordt vermeld. Het is eenvoudig en goedkoop, maar het doet zijn werk goed. Toekomstige firmware-updates kunnen worden gedaan door het nieuwe firmwarebestand (atommc25.bin) in de hoofdmap van een nieuw geformatteerde kaart te plaatsen. Voer die kaart in de SD-sleuf in en druk op <BREAK>. De rode led knippert tijdens het updaten van de firmware en het Atom-scherm toont alleen “ACORN ATOM” zonder een prompt. Nadat de firmware is bijgewerkt, verschijnt de normale Atom-prompt.
Ik kan me voorstellen dat je de programmeerhardware niet voor eenmalig gebruik wilt aanschaffen. Als je hulp nodig hebt, vraag dan op het StarDot-forum of er iemand in je buurt is om je te helpen.
Het toetsenbord aansluiten
Ik gebruikte mijn oude versleten Atom-toetsenbord voor mijn nieuwe Atom. Daartoe naaide ik mijn Atom in twee stukken (Splitting the Atom 😉 en verbond het toetsenbord met mijn nieuwe Atom. Ik heb een 26 aderige flatcable gebruikt om hem op de toetsenbordconnector aan te sluiten. Dit is het verbindingsschema:
In de toekomst zouden wij (forumleden) een alternatieve toetsenbordinterface kunnen ontwikkelen, zoals een adapter voor een PS/2-toetsenbord. Er is een +5V-aansluiting op de connector die de interface kan voeden.
Je nieuw Atom testen
Als je goed hebt gesoldeerd, doe dan een zichtbare controle op kortsluitingen of slechte contacten. Controleer ook of er geen componenten op de verkeerde positie zijn geïnstalleerd. Als u klaar bent, sluit u een VGA-monitor aan op het moederbord en zet u het systeem aan. Als alles goed is gegaan, zie je de tekst ACORN ATOM op je scherm. Als alles beter dan goed is, zie je ook + ATOMMC2 en een prompt.
Nu zijn er meerdere mensen die deze nieuwe Atom hebben gebouwd. En alles werkte de eerste keer niet helemaal goed. Maar we leren van fouten, nietwaar? In de volgende lijst kunt u enkele problemen zien die we hebben gevonden en opgelost. Gelukkig zijn de meeste “gebruikersfouten” 🙂
Toetsenbord werkt niet
Dit bleek een documentatiefout te zijn. Een van de draden was niet correct gedocumenteerd op de nummering van het toetsenbord. Ik heb deze fout gecorrigeerd, dus nu is het correct. Als je toetsenbord niet werkt, zijn er twee dingen om te testen:
Als er een teken op het scherm verschijnt wanneer u op de REPT-toets drukt, heeft u waarschijnlijk een bedradingsfout. De Atom ziet een ingedrukte toets en wacht totdat deze wordt losgelaten.
Koppel de connector op het moederbord los en sluit de bovenste rij (aan de weerstandszijde) aan op GND. Dit zou tekens op het scherm moeten geven. Zo niet, controleer dan uw 7445 en 8255.
Lezen van de SD-kaart geeft “Not ready” fouten.
Controleer of de weerstanden R26, R32, R30, R29, R31 en R38 (in de buurt van de SD-kaartaansluiting) correct zijn geplaatst en de juiste waarde hebben. Een van de bouwers gebruikte weerstanden van 18kΩ in plaats van 1.8kΩ. Deze weerstanden zijn level shifters die de 5V-uitgangen van de PIC omzetten naar 3,3V-ingangsniveaus voor uw SD-kaart.
Geheugenproblemen
Een van de bouwers had een “raid-1” geheugen. Elke inhoud op #2xxx verscheen ook op #3xxx, #4xxx ook op #5xxx enz. In dit geval was de koperbaan RA12 tussen de CPLD en het ramgeheugen kapot. Goede geheugentests zijn het gebruik van optie ‘F’ van het Atom Archive-menu en het spel Chucky Egg. Ze crashen waarschijnlijk als je geheugen niet in orde is.
Als je een probleem tegenkomt dat niet in deze lijst staat, raad ik je aan om je aan te melden bij StarDot en om hulp te vragen als het je niet lukt om dingen werkend te krijgen. We helpen je graag!
De print in de kast inbouwen
Zoals je kunt zien in de video waar ik de Atom heb gesplitst, laat ik een strook van ongeveer 1 inch (2,5 cm) van de rand van het toetsenbord. Dit geeft een perfecte plaatshouder om het nieuwe moederbord te monteren. Door hem eenvoudig te verbinden met twee bouten en moeren maak je een stevige verbinding. Ik heb de twee gaten vergroot waar de twee hulsschroeven doorheen gaan, zodat ze over de schacht van de onderste helft passen. Dit compenseert de toegenomen dikte van de overlappende printplaten.
De onderste helft van de behuizing heeft ook wat snijwerk nodig. Vooral waar de VGA-connector zit, maar ook tussen de oude printerpoort en de uitbreidingsconnector. Met een beetje schuren en schrapen, duwen en trekken past hij eindelijk in de originele behuizing.
Multiwizard gebruikte een andere manier om het samen te stellen die ook alle moeite en werk waard is. In onderstaande video zie je hoe hij dat deed. Het is veel meer werk dan mijn methode, maar zijn Atom ziet er echt uit alsof het het Acorn Atom V2.0-prototype was.
Jouw beste Atom ooit….