Hallo NG, nachdem ich jetzt doch noch nen alten C128D gefunden habe, würde ich den SID doch mal gerne am Controller anschließen, zumal die Emulation ja jetzt schon passt... Habe ich das richtig verstanden, dass der SID mit 5V TTL arbeitet? Der AT91SAM7 hat ja nur 3.3V Ausgang, oder habe ich da was falsch verstanden? Was muss ich denn dann beachten, wenn ich den anschließen möchte? Die Pegel muss man wahrscheinlich wandeln, oder? Wie? Wie sieht das dann eigenlich aus mit dem Verwenden? Den Takt 1MHz kann ich doch mit dem MC erzeugen? Da muss ich doch nur eine Leitung ohne was dazwischen anschließen? Ich habe gesehen, dass es wohl einen Pin gibt, an dem man festlegen kann lesen oder schreiben. Und wenn ich dann ein Register beschreiben möchte, reicht es dann, zu sagen "schreiben"-ja / Adressleitungen und Datenleitungen setzten? Fehlt da dann nicht noch eine Information "Jetzt bitte Daten übernehmen?". Sorry für die leihenhaftige Fragestellung, aber wie gesagt, alles was über die Software hinaus geht ist für mich nicht so einfach... Vielen Dank für alle Hinweise, Peter
Über den AT91SAM7 habe ich folgendes gefunden: ...I/Os are supplied at 1.8V or 3.3V and are 5V tolerant. An integrated Voltage Regulator permits single supply at 3.3V. und das Datenblatt vom SID wäre hier: http://archive.6502.org/datasheets/mos_6582_sid.pdf Bedeutet das dann, dass ich den SID ohne Pegelwandler ansteuren kann?
hallo, im prinzip ist der at91sam7s 5v-tolerant. es müssen dazu nur die ausgänge auf open-collector, ohne internen pull-up geschalten sein und mit ext. pull-ups die ports auf 5v "aufgehäängt" werden. problem dabei: die rise-time ist sehr bescheiden da die pull-ups nicht unendlich klein sein können und das umladen der div. kapazitäten seine zeit braucht. ob der sid damit ein problem hat weiss ich nicht, da im datenblatt keine angaben zu min. rise-time stehen. problem könnte auch der takteingang werden (pin 6 des sid). den takt am at91sam7s zu erteugen ist kein problem, allerdings müssen die read/write zugriffe synchron zu dem takt sein. keine ahnung wie mann das am besten löst. gruss gerhard btw: der prozessor hat die type at91sam7s256!
Hallo Gerhard, habs heute auch auf dem Chip gelesen: AT91SAM7S256 :-) In älteren Beiträgen habe ich den auch schon so genannt. Ich weiß auch nicht, wie ich auf "P" komme... So, jetzt zu Deiner Antwort. Leider muss ich sagen, dass ich fast nur Bahnhof verstehe. Ich habe mal mit dem Controller ein HD44780 Display angesteuert. Vom Prinzip her ist es doch ähnlich, einen SID anzusteuern. Ich kann mir fast nicht vorstellen, dass das Timig so "wahnsinnig" genau sein muss (in Richtung + natürlch.) Ich bin einfach auf der Suche, dass ich mal jemanden finde, der mir das Zeug so erklären kann, dass bei mir der Groschen fällt. Hab mich schon mir vielen Elektrikern und Elektronikern unterhalten, aber irgendwie peil ich es nicht :-( Was würde denn passieren, wenn ich die Datenleitungen mal 1:1 an die I/O Pins des MC anschließe? Kann da was kaputt gehen? Das sind halt meine größten Befürchtungen, dass ich entweder den PC, den MC oder den SID schrotte... Viele Grüße, Peter
Hallo NG, habe jetzt mal den "Poormans DAC" (R2R mit LM358) gebaut und angeschlossen. Allerdings hört der sich extrem ätzend an! Bin mir sicher, das zuviel Spannung am Ausgang ankommt (max. 2,5V). Und dass die 44KHz vom Programm her nicht schaffbar sind. Und darunter brauche ich erst gar nicht anfangen... Naja, wie dem auch sei: von der Geschwindigkeit bekomme ich auch schon mächtig Probleme im AT91SAM7S256 (Wo jetzt momentan die gesammte Emulation abläuft...). Naja, die Daten 1:1 über RS232 haben sich super angehört, leider habe ich da noch nicht erkannt, dass der ARM nicht ganz hinteher kommt... Deswegen mal wieder ein kleiner Schwank zurück zur Version mit original SID. Kann mir bitte jemand antworten, was denn passieren würde, wenn ich den SID 1:1 ohne Pegelwandler an den AT91SAM7S256 anschließe? Ich würde halt gerne alles so anschließen, dass ich mit den I/O-Leitungen testen kann, den SID anzusprechen... Den ganzen anderen Kram bis zum Line-Out müsste ich hinbekommen, da ich den Schaltplan von 128D gefunden habe. Und so viel Zeug kommt da nicht mehr... Vielen Dank für jede Hilfe! Peter
Hallo, Freunde der Elektronik :-) jetzt wirds dann ernst. Habe eben die Hauptplatine aus meinem C128D "extrahiert". Musste feststellen, dass da ja ein 8580 SID verbaut ist. Den MUSS ich UNBEDINGT zum Leben erwecken! Hab schon einen tollen Anschlussplan gefunden: http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/c128/manual/46.gif Auf der Seite geistern auch noch die Pinbeschreibungen rum: http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/c128/manual/42.gif http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/c128/manual/43.gif http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/c128/manual/44.gif http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/c128/manual/45.gif Es wäre soooooooo toll, wenn sich irgend jemand erbarmen könnte, mir nur den Anschluss der Adress- und Datenleitungen an den AT91SAM7 ausführlich zu erklären. Speziell, TTL <=> 3,3V was ich zu beachten habe (evtl. irgend welche aktiven Bauteile oder/und Widerstände dazwischen etc...) Was ich für meinen Teil schon mal gesehen habe: VCC = 9V und nicht 12V wie bei den anderen SID-Modellen. Ich bin mir ganz ganz sicher, dass ich die Ansteuerung softwaremäßig schaffen würde. Nur mit der Harware habe ich Angst, dass was passiert... Was bringt´s mir? Mir bringts wahnsinnig viel. Ich finde die SID-Musik einfach toll! Was bringt´s euch? Ich werde - falls das mal funktioniert - ein ausführliches Tutorial schreiben, so dass auch andere in den Genuss kommen können. Also bitte gebt euch einen kleinen Ruck und bringt zu diesem letzten wichtigen Teil des Projekts Licht ins Dunkle. Vielen vielen Dank für jeden konstruktiven Beitrag! Peter
Hallöle! Wenn ich mir http://www.oxyron.de/html/registers_sid.html so ansehe, dann sehe ich, dass eigentlich alle Soundrelevanten Register bis auf $D41C Read-Only sind. Ich würde mal aus dem Bauch raus behaupten, dass 90% aller SID-Files dieses Register gar nicht lesen. Deshalb würde ich hergehen und die Leitung R/W einfach grundsätzlich auf R legen... 90% von 40.000 SID-Files gibt ja immer noch ne lange Playlist, hehe. Was haltet ihr davon? PS: wegen der Pegel-Thematik würde ich jetzt am Wochenende dazu übergehen, den ganzen Kram direkt am AT91SAM7 anzuschließen. Gerade vor diesem Hintergrund hier: http://www.mikekohn.net/micro/schematics/sid_player.png Sollte das dem AT91SAM7S oder dem 8580 schaden, dann wirds wohl sehr ruhig hier im Forum (zumindest von meiner Seite aus :-) Also, wenn es noch jemanden geben sollte, der meine Monologe um ein paar konstruktive Beträge erweitert, dann bitte immer her damit... Grüße aus dem Süden! Peter
Peter Pippinger schrieb: > Es wäre soooooooo toll, wenn sich irgend jemand erbarmen könnte, mir nur > den Anschluss der Adress- und Datenleitungen an den AT91SAM7 ausführlich > zu erklären. Speziell, TTL <=> 3,3V was ich zu beachten habe (evtl. > irgend welche aktiven Bauteile oder/und Widerstände dazwischen etc...) Die einfachste Möglichkeit ist die Verwendung von Level-Shifter-ICs. 74*245 kennst Du? Gut. Dann nimm den 74LVCC3245. Funktioniert ähnlich. Das Ding hast zwei 8 Bit Ports, A und B. Jede Seite hat ihre eigene Spannungsversorgung VccA und VccB, wobei VccB immer die höhere ist. VccA geht nur bis 3.3V. Zu Port A gibts noch zwei Pins Dir und OE, auch diese Signale sind auf VccA bezogen! DIR=1 heißt von A nach B, DIR=0 von B nach A. OE=0 heißt Ausgänge aktiv, OE=1 heißt Ausgänge abgeschaltet. Falls Du den 74LVCC4245 findest: ist wie der 3245, nur ist hier Port A die 5V Seite und Port B die 3V Seite, und damit sind DIR und OE auch 5V-Signale und keine 3.3V Signale wie beim 3245. Den 4245 nimmst Du, wenn Du mit einem 5V-Controller 3V-Peripherie steuern willst, den 3245 wenn Du mit einem 3V Controller 5V-Peripherie steuern willst. So. Von den Dingern nimmst Du drei Stück: einen für die Daten, einen für die Adressen und einen für die Steuerleitungen (RW,CS,02,RESET). Wenn Du Reset immer auf 5v legst, brauchst Du nur zwei. Bei dem/denen für Adressen und Steuerleitungen setzt Du OE=0 und Dir=1 fest. Die müssen ja immer aktiv sein. Unbenutzte Eingänge auf 0 setzen! Bei dem für die Daten hängst Du auf der 3.3V Seite DIR an RW und OE an CS, dann passt das mit der Richtungsumschaltung und der Freigabe der Ausgänge. Solltest Du diesen Chip nicht beschaffen können, kannst Du für 3.3->5V z.B. einen 74HCT541 nehmen (mit 5V betreiben!) und für die Gegenrichtung einen 74LVC541 (mit 3.3V betreiben). Das heißt dann aber, dass Du für die Datenleitungen zwei Chips brauchst (für hin HCT, für zurück LVC) (plus einen Inverter). Das kannst Du Dir merken: Die 74HCT sind 5V Chips mit 3.3V kompatiblen Eingängen, die 74LVC sind 3.3V Chips mit 5V-kompatiblem Eingängen, und zwar die ganze Serie. Ansonsten immer HC nehmen, LS ist out. Vorteil: man bekommt diese Dinger auch bei Reichelt. Damit hast Du eine saubere Wandlung der Logikpegel. Nimmst Du auch, wenn Du mit Deinem 3.3V ARM ein LCD ansteuern willst, denn die üblichen Textmodusdisplays gehen alle nur mit 5V. fchk
Für die digitalen Leitungen brauchst Du keine Pegelwandler. Du kannst die Leitungen direkt ranknüppern. Der SAM7 ist 5V-tolerant, damit ist die eine Richtung schonmal sicher. Die High-Pegel aus dem SAM7 dürften nah an 3,3 V liegen. Damit werden sie vom SID dicke als high erkannt. Dessen Schwellwert dürfte unter 2 V liegen. Viel Glück!
Nachtrag: Hab sicherheitshalber nochmal nachgesehen: NMOS-ICs haben ein V_IH min bei 2,0 V. Ab der Spannung erkennen sie also High. Der Atmel hat bei 3,3 V I/O-Spannung eine V_OH min von 2,9 V bei 8 mA (so viel fließt da gar nicht) bzw. 3,2 V bei 0,2 mA. Das ist die Spannung, die er bei einem logischen High mindestens "ausgibt". Passt also alles von den Pegeln.
Hallo skoe, weißt Du zufällig (oder auch jemand anders), ob denn alle I/O Pins vom Atmel 5V tollerant sind? Ich meine etwas gelesen zu haben, dass es nicht alle sind. Bin mir aber nicht sicher, da es immer recht spät war :-) mfg Peter
Peter Pippinger schrieb: > Wenn ich mir > http://www.oxyron.de/html/registers_sid.html > so ansehe, dann sehe ich, dass eigentlich alle Soundrelevanten Register > bis auf $D41C Read-Only sind. Ich würde mal aus dem Bauch raus > behaupten, dass 90% aller SID-Files dieses Register gar nicht lesen. > Deshalb würde ich hergehen und die Leitung R/W einfach grundsätzlich auf > R legen... > 90% von 40.000 SID-Files gibt ja immer noch ne lange Playlist, hehe. > > Was haltet ihr davon? Gar nichts! Erstmal sind die meisten Register des SID Write-Only und nur die letzten vier sind lesbar. Schau dir die Registerbelegung nochmal genau und gründlich an! Die R/W-Leitung könnte auf GND gelegt werden, wenn man den SID nur beschreiben will, also nur Register $00 bis Register $18. Dies wäre aber absolut schlechter Stil! Denn sobald ein Programm was aus dem Chip lesen will, wäre nur Müll auf dem Datenbus... Um eine ordentliche Pegelanpassung zwischen SID und CPU kommst du nicht rum: Schau dir mal den MAX3378 und seine Kollegen an. Gruß, Thomas
gerhard schrieb: > im prinzip ist der at91sam7s 5v-tolerant. nein, denn... > es müssen dazu nur die ausgänge auf open-collector, ohne internen > pull-up geschalten sein und mit ext. pull-ups die ports auf 5v > "aufgehäängt" werden. ...das funktioniert nicht. Die internen Schutzdioden ziehen auf Vcc des SAM oder gehen kaputt.
Hallo Thomas, >> so ansehe, dann sehe ich, dass eigentlich alle Soundrelevanten Register >> bis auf $D41C Read-Only sind. Ich würde mal aus dem Bauch raus >> behaupten, dass 90% aller SID-Files dieses Register gar nicht lesen. >> Deshalb würde ich hergehen und die Leitung R/W einfach grundsätzlich auf >> R legen... >> 90% von 40.000 SID-Files gibt ja immer noch ne lange Playlist, hehe. >> >> Was haltet ihr davon? >Gar nichts! Du hast natürlich recht. Es handelt sich um einen Schreibfehler meinerseits (wie bereits geschrieben war es immer recht spät die letzten Tage). Ich meinte natürlich write only. Die die beiden anderen Register neben $D41C kann ich mir nicht vorstellen, dass die jemals in einem Soundfile verwendet werden, da die eigentlich für die Paddles vorgesehen waren. Also würde ich meine Aussage durchaus nochmal unterstreichen. Kann man im Übrigen auch hier sehen (R/W auf GND): www.mikekohn.net/micro/sid_player.php BTW: Wie ich das sehe, hat er den SID auch direkt an einen AVR angeschlossen... >Um eine ordentliche Pegelanpassung zwischen SID und CPU kommst du nicht >rum: Schau dir mal den MAX3378 und seine Kollegen an. Sauberen Stil mal bei Seite: passt dann die Aussage von skoe nicht? Geht der AT91SAM7 nur dann kaputt, wenn ich die internen Pullups deaktiviere oder grundsätzlich, wenn ich den direkt anschließe? Also ich weiß nicht. Ich hab ja wie gesagt nicht sehr viel Ahnung von der ganzen Thematiik, aber ich denke alleine in diesem Thread sind schon so viele verschiedene Ansichten, dass ich nicht recht weiß, was ich machen soll... Mag sich vielleicht nochmal jemand dazu äußern. Momentaner Stand bei mir: ich werde morgen - falls ich keine verständlichen Meinungen hier höre - den SID direkt an den AT91SAM7 anschließen. Wenn dann beide im A**** sind, dann habe ich immer noch die Möglichkeit einen Player über eine Emulation zu erzeugen. Das funktionierte bereits mit dem AT91SAM7S. Leider zu langsam. Aber dann hätte ich ja wieder die Möglichkeit, mich für ein anderes Board mit anderem MC zu entscheiden. Also nochmal zusammengefasst: a) kann ich den SID direkt anschließen? b) geht was kaputt dabei? c) was muss ich beachten? d) warum sollte ggf. die Aussage von skoe falsch sein (die Antwort gefiel mir eigentlich bis jetzt am Besten...) MfG Peter
Schonmal hier vorbeigeschaut? http://www.ucapps.de/ Beim AT91SAM sind doch die Pegeleingänge 5V resistent oder irre ich mich? Dann braucht man also auch keinen Pegelwandler. gruss min
>Schonmal hier vorbeigeschaut? ja, ich denke ich hab schon nahezu alle Seiten gefunden, wo ansatzweise was mit dem SID gemacht wird. >Beim AT91SAM sind doch die Pegeleingänge 5V resistent oder irre ich >mich? >Dann braucht man also auch keinen Pegelwandler. Mein Reden. Schau Dir den Verlauf des Threads hier an. Die einen sagen ja, die anderen sagen nein. Und ich weiß es nicht. Hab zwar im Datenblatt gelesen, dass die Pins 5V tollerant sind, aber irgendwie verunsichern mich dann manche andere Aussagen wieder. Wie gesagt, ich glaube ich schließe den ganzen Kram morgen direkt an und schau mal was passiert... BTW: weißt Du, wie ich mit einem PIN des AT91SAM7S 1MHz Takt für den SID erzeugen kann? MfG Peter
@michael, >erhard schrieb: > im prinzip ist der at91sam7s 5v-tolerant. >nein, denn... >> es müssen dazu nur die ausgänge auf open-collector, ohne internen >> pull-up geschalten sein und mit ext. pull-ups die ports auf 5v >> "aufgehäängt" werden. >...das funktioniert nicht. >Die internen Schutzdioden ziehen auf Vcc des SAM oder gehen kaputt. woher hast du diese "tolle" info? das wusste nämlich nicht einmal der atmel support! bitte keinen quatsch verbreiten! mfg gerhard
@peter, skoe hat recht, der high-pegel des at91sam7 reicht aus damit der sid das high erkennt. umgekehrt schaden die 5v high-pegel des sid dem at91 nicht (daher 5v-tolerant). mfg gerhard
Peter Pippinger schrieb: > Mein Reden. Schau Dir den Verlauf des Threads hier an. Die einen sagen > ja, die anderen sagen nein. Und ich weiß es nicht. Hab zwar im > Datenblatt gelesen, dass die Pins 5V tollerant sind, aber irgendwie > verunsichern mich dann manche andere Aussagen wieder. Wenn ich mal davon ausgehen darf, dass es um die SAM7S Reihe geht und nicht um SAM7P, dann ist das Datasheet in der Hinsicht eindeutig. Abgesehen von den 16KB Typen sind sämtliche Port-I/O-Leitungen 5V-tolerant. Aber zugegeben, Atmel stiftet etwas Verwirrung. Einerseits steht zu den Portpins ausdrücklich drin, dass sie 5V tolerant sind. Ebenso steht in den DC Characteristics drin, dass alle Inputs bis 5,5V verkraften. Andererseits steht auch irgendwo im Text, dass der TDI-Pin nicht 5V-tolerant ist (1), ohne dass Ausnahmen wie diese und die der 16KB Typen in den DC Char. aufgeführt werden. Das ist unsauber. 1: Und das auch noch mit Schreibfehler, damit man es nicht so leicht findet.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.