|
FPGA-Sids
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Allereerst nogmaals een korte samenvatting van de FpdaSid. Het geheel is gebouwd op een kleine print (48mm bij 31mm - iets groter dan de originele Sid-Chip). Omdat men twee Sids in een FPGA gaat implementeren, komen er ook twee aparte Audio-signalen uit, bijvoorbeeld voor Stereo-geluid. 1 signaal via de oorspronkelijke Sid-Chip pin, het andere signaal via een extra connector op de FPGA-Sid print. Een FpgaSid heeft onder andere de volgende extra hardware mogelijkheden:
De afmetingen van de FpgaSids-print moeten dezelfde zijn als van de Sid-print, ook de bevestigingsgaten dienen op dezelfde positie te zitten. Dit om te voorkomen dat de bodem van de ArSid een gatenkaas gaat worden. De opbouw van deze print is vergelijkbaar met de Sids-print. De koeling van de Sids wordt verwijderd. Omdat het verder ontwerpen van de ArSid abrupt onderbroken werd op het moment dat ik met de uitgangsversterker bezig was, liggen er nog geen audio-kabels in en is de lengte daarvan nog niet definitief bepaald. De kabels voor de voedingsspanningen en voor de bussen (adres, data, control), inclusief hun connectoren, liggen echter wel vast, dus die positie moet behouden worden. Wel anders is dat de connectors bij deze print enkel is uitgevoerd. Het stapelen van de prints kan geschieden met doorprik connectoren ... mits de hoogte in het apparaat het toestaat, natuurlijk.
Het schema.Het schema ziet er in grote lijnen hetzelfde uit als dat van de Sids-print. Een uitbreiding zijn de twee transistor trappen, die het ruwe audio-signaal (van Sid1) moet versterken. Deze hebben dezelfde opbouw als in de commodore 64, maar enkele verschillen vallen wel op:
Ook nieuw in dit schema zijn de Ferrit-kraaltjes FB1 t/m FB4, deze zijn er om hoog-frequente (digitale) signalen tegen te houden. Bovendien is het gebrek aan de (polystyrene) filter-condensatoren opvallend (rond de Pinnen 1..4 van de Sids), want alle filteringen worden rekenkundig (en dus digitaal) in de FpgaSid gerealiseerd. In het schema staan ook twee AND-poorten getekend. Hiermee moet het mogelijk zijn om met 2 Enable-signalen toch 1 (en dezelfde) FpgaSid te kunnen selecteren. De oorsprong voor die AND-poorten ligt bij de decoder-print. Het omsolderen van draden van de betreffende Sid-Decoder is daar zoveel werk (er liggen meer draden naar de betreffende IC-pin), dat het handiger is om dat op deze print op te lossen. De gedachte is dan een AND-poort te beschouwen is als een N-NOR-poort, of te wel een NOR-poort met ge-inverteerde ingangen. Dit werkt hier, juist omdat alle Enable en Chip Select lijnen ook ge-inverteerd zijn. De volgende tabel maakt dit duidelijk.
Voor 1 print worden de FpgaSids dan als volg geaktiveerd, de tabel is inclusief de Sid-nummer in 1 FpgaSid en inclusief de print-nummer. Hoewel het totale ontwerp nog steeds uitgaat van de mogelijkheid dat er twee printen gestapeld kunnen worden, ziet het er naar uit dat er hier maar 1 print gebruikt gaat worden.
Het selecteren tussen de twee Sids.Het selecteren tussen de twee Sids per FpgaSid wordt hier gedaan door de extra aansluiting A5 (Gele extra draad) voor te gebruiken, juist zoals in het oorspronkelijke idee voor de FpgaSid. Een idee was om deze aan te sluiten op 1 Enable-signaal (En0/4 en/ of En2/6), maar er zouden timing problemen kunnen ontstaan, juist vanwege de AND-poorten. Komt de CS (Chip Select) van de FpgaSids wel op tijd, ten opzichte van het A5-signaal? En valt de CS wel op tijd weg, of valt het Enable-signaal (op de print) eerder weg? Daarom is hier gekozen om toch de adres-lijn 5 van de Arduino door te trekken naar de FpgaSid-print (en dus om de adres-bus uit te breiden) en wel vanaf de adresbus-connector op de decoder-print.
Het bouwen van de print.Wat gebleven is, is het solderen van de vele losse draadjes op de print, hoewel het er nu wel de helft minder is geworden. Het valt nu op dat de print minder vol is. De foto's laten een print-ontwerp zien met en zonder FpgaSid. De afbeelding zonder FpgaSid toont de draden, die juist door de FpgaSid worden verstopt. Net als bij de oude Sids-print, worden ook hier enkele condensatoren (per FpgaSid) in de IC-voeten "verstopt" (en wel bij de pinnen 23..25). In het print-ontwerp staan deze buiten de FpgaSids getekend. Om de SMD-Transistoren te kunnen gebruiken, is gekozen om hiervoor adapter-printjes te maken van een stukje vera-board (met het patroon van eilandjes per 3 gaatjes). Hiervan zijn stukjes geknipt van 2 bij 4 gaatjes en zijn de zijkanten op maat geschuurd (met behulp van een schuur-trommeltje in de kolomboormachine). Zo past de transistor mooi op het isolatie kruispunt. Daarna is het een questie van de transistor goed leggen en de enkele aansluit-zijde (de collector) vast te solderen. Nu kan de transistor nog rechtgelegd worden. De andere 2 aansluitingen (basis en emiter) zijn gesoldeerd en ten slotte is er een stukje montage-draad gesoldeerd over de twee eilandjes aan de zijde van de collectors (de enkele transistor aansluiting). Zo ontstaat er een soort van hole-thru transistor, maar wel 1 die wat meer ruimte inneemt dan een standaard BC547. Je moet wat doen voor gelijk-klinkend geluid. De IC-voeten, de losse componenten, de voedingsdraden en enkele losse draden zijn gesoldeerd. De condensatoren binnen de IC-voeten zijn lichtjes omgebogen. En dan komt weer de vervelende klus om alle data-, adres- en controlbus draden te solderen. Bij deze bussen zijn de zelfde kleuren aangehouden als op de Sids-print.
Alle solderingen zijn getest met een Ohm-meter op zowel een juiste verbinding als op eventuele kortsluitingen (die er natuurlijk niet mogen zijn). En dan is het tijd om de klemmetjes van de extra aansluitingen (c.q. de losse draden van de FpgaSids) af te knippen. Deze aansluitingen zijn bedoeld om de tweede Sid te kunnen activeren en voor de extra Audio Out (van de tweede Sid) (met ingebouwde Transistor Versterker trap). Deze draden zijn (rechtstreeks) gesoldeerd aan de print.
Als laatste is de print in de ArSid geplaatst. Met alleen de voeding is aangesloten is gekeken of de spanningen daar terecht komen, waar ze gepland zijn, namelijk de pinnen 7 en 14 van de 74hct08 en de pinnen 14 , 25 en 28 van de beide FpgaSid. En dan kom je er achter dat ik het IC 74hct08 helemaal niet in huis heb !! Een noodoplossing is om draadbrugjes te leggen tussen de pinnen 2 met 3 en de pinnen 5 met 6. Dan wordt er in elk geval iets geselecteerd. De test-connector van mijn test-luidsprekertjes is in ieder geval aangepast aan de nieuwe print
De FpgaSids op de print plaatsen.De FpgaSid-modules zijn op de print geprikt. Het lijkt al aardig op het print-ontwerp. Na het aanzetten van de ArSid knipperen alle Leds op de beide FpgaSids. Of dit zo hoort, is nog niet bekend, maar er zit leven in. Er is wat gespeeld met instellingen van de bekende Sid-registers. Maar na anderhalf-jaar is er wat kennis weggezakt welke knop precies welke instelling regelt. Er is wat geluid uit gekomen en wellicht moet ik van het programma enkele delen herschrijven, zoals de delen van het aansturen van de Sids.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
De aansluitingen van FpgaSidsDiverse tests van de FpgaSids
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[Tekst] [Afbeeldingen] [Aansluitingen] [Broncodes] |