Hallo,
ich habe eine neue Projektidee, die mich nicht los läßt. Hier eine Kurzbeschreibung, damit man sich was vorstellen kann:
Ich habe aus alten Zeiten hier noch einen Atari 800XL stehen. Mit diesem Gerät habe ich vor 35 Jahren Programmieren gelernt.
Dieser Computer kommuniziert über einen speziellen seriellen Bus (SIO) mit seiner Peripherie (TTL Pegel).
Ein mit 20 MHz getakteter ATMega ist ein Rennpferd gegen diesen alten Rechner, so daß ich mir dachte, ich könnte den AVR sozusagen als Coprozessor einsetzen. Allerdings auf eine etwas ungewöhnliche Weise:
Der Atari sendet einen Datenblock über SIO an den AVR. Der AVR verhält sich dabei wie ein Diskettenlaufwerk mit dem Unterschied, daß der 'Dateiname' zweckentfremded wird und einen Verarbeitungsbefehl enthält, z.B. ZIP oder CRC. Der AVR verarbeitet anschließend den Datenblock je nach Name. Wird ZIP dann zurückgelesen, dann ist der Datenblock gepackt, wird CRC zurückgelesen, dann besteht der Datenblock nur noch aus der entsprechenden Prüfsumme. Ich kann mir noch eine ganze Reihe weiterer ähnlicher Aufgaben vorstellen, die allesamt sehr rechenintensiv sind, so daß sich der langsame IO einigermaßen rechtfertigen läßt (hoffe ich).
Interessant dabei wäre, daß die Fähigkeiten des AVR vom Atari beliebig modifiziert werden könnten.
Nun zu meinem aktuellen Problem: Auch ein mit Speicher gut ausgestatteter AVR z.B. Der ATmega1284P hätte nicht genügend RAM für mein Vorhaben. Ich dachte daher an einen externen RAM-Baustein wie den AT45DB321D. Der wird auch seriell angesprochen und braucht keinen komplexen Adressdecoder etc. Allerdings drückt das wieder etwas die Geschwindigkeit (egal!).
Dieser Baustein werkelt mit 3.3V. Mein AVR sollte allerdings mit 5V versorgt werden, weil ich die vollen 20 MHz benötige und außerdem die 5V Signale des Atari verarbeiten will. Ich habe jetzt diese Schaltung gefunden. Dort werden die 3,3V unten rechts produziert. Allerdings scheint es so, als seien die Signale an den AT45DB321D immer noch auf 5V. Nur dessen Versorgung liegt auf 3,3V. Übersehe ich da was?
Gruß, Wolfgang
ich habe eine neue Projektidee, die mich nicht los läßt. Hier eine Kurzbeschreibung, damit man sich was vorstellen kann:
Ich habe aus alten Zeiten hier noch einen Atari 800XL stehen. Mit diesem Gerät habe ich vor 35 Jahren Programmieren gelernt.
Dieser Computer kommuniziert über einen speziellen seriellen Bus (SIO) mit seiner Peripherie (TTL Pegel).
Ein mit 20 MHz getakteter ATMega ist ein Rennpferd gegen diesen alten Rechner, so daß ich mir dachte, ich könnte den AVR sozusagen als Coprozessor einsetzen. Allerdings auf eine etwas ungewöhnliche Weise:
Der Atari sendet einen Datenblock über SIO an den AVR. Der AVR verhält sich dabei wie ein Diskettenlaufwerk mit dem Unterschied, daß der 'Dateiname' zweckentfremded wird und einen Verarbeitungsbefehl enthält, z.B. ZIP oder CRC. Der AVR verarbeitet anschließend den Datenblock je nach Name. Wird ZIP dann zurückgelesen, dann ist der Datenblock gepackt, wird CRC zurückgelesen, dann besteht der Datenblock nur noch aus der entsprechenden Prüfsumme. Ich kann mir noch eine ganze Reihe weiterer ähnlicher Aufgaben vorstellen, die allesamt sehr rechenintensiv sind, so daß sich der langsame IO einigermaßen rechtfertigen läßt (hoffe ich).
Interessant dabei wäre, daß die Fähigkeiten des AVR vom Atari beliebig modifiziert werden könnten.
Nun zu meinem aktuellen Problem: Auch ein mit Speicher gut ausgestatteter AVR z.B. Der ATmega1284P hätte nicht genügend RAM für mein Vorhaben. Ich dachte daher an einen externen RAM-Baustein wie den AT45DB321D. Der wird auch seriell angesprochen und braucht keinen komplexen Adressdecoder etc. Allerdings drückt das wieder etwas die Geschwindigkeit (egal!).
Dieser Baustein werkelt mit 3.3V. Mein AVR sollte allerdings mit 5V versorgt werden, weil ich die vollen 20 MHz benötige und außerdem die 5V Signale des Atari verarbeiten will. Ich habe jetzt diese Schaltung gefunden. Dort werden die 3,3V unten rechts produziert. Allerdings scheint es so, als seien die Signale an den AT45DB321D immer noch auf 5V. Nur dessen Versorgung liegt auf 3,3V. Übersehe ich da was?
Gruß, Wolfgang