Da die neue Entwicklung dem AVR CP/M etwas entrückt ist, eröffne ich einen neuen Thread für dieses Thema. Nach einigen Diskussionen habe ich das Z180-Modul nochmals überarbeitet. Es beinhaltet jetzt tatsächlich nur noch den Z180, die Takterzeugung, 3.3 V/ 5.0V und den 512 K SRAM. Weiterhin ist der komplette Z80-Bus auf den Steckverbindern. Somit sollten nunmehr die folgenden Varianten möglich sein: Z180-Stamp + EPROM Z180-Stamp + Bootprozessor (AVR, Propeller, STM32) Z180-Stamp + Bootprozessor + ECB-Bus Im nächsten Schritt folgt der Bootprozessor (AVR, STM32) als Huckepackvariante zum Z180-Stamp. Alle Unterlagen wie immer hier: http://www.mikrocontroller.net/svnbrowser/avr-cp-m/trunk/stamp/z180_stamp/docs/
Ich hoffe darauf, dass man sowas (spaeter) auch fertig kaufen kann...sowas kann ich leider nicht zusammenloeten :-(
Joe G. schrieb: > Nach einigen Diskussionen habe ich das Z180-Modul nochmals überarbeitet. > Es beinhaltet jetzt tatsächlich nur noch den Z180, die Takterzeugung, > 3.3 V/ 5.0V und den 512 K SRAM. Eigentlich dachte ich, die Stamp-Platine sollte für sich alleine lauffähig sein. > Z180-Stamp + EPROM Dazu müßte auf auf das Stamp-Modul eine minimale Adressdekodierlogik für das RAM, oder die EPROM-Platine müßte Busmaster-fähig sein. > Z180-Stamp + Bootprozessor (AVR, Propeller, STM32) > Z180-Stamp + Bootprozessor + ECB-Bus ECB wäre dann nochmal eine Extra-Platine? Oder eine andere Bootprozessor-Variante? Was mir besser gefallen würde: Stamp-Platine mit - Z180, RAM, Bootprozessor - RTC mit Batterie - SD-Karte - Serielle vom Bootproz auf extra Stiftleiste und/oder auf Steckerverbinder zur Trägerplatine. Evtl. auch V24- oder USB-Interface direkt auf Stamp. Im 2. Schritt dann eine "Trägerplatine" - V24/USB/RS485/sonstwas Interfaces für 2 bis 3 serielle Schnittstellen. - ECB-Bus - I/O-Ports - VGA-Terminal oder Anschluß für TFT - Netzteil - Prototyping-Area - usw. Je nach Platz und Wünschen der Benutzer. Jeder bestückt nur die Teile, die er braucht. Die Trägerplatine könnte im Europakarten-Format sein. Man könnte natürlich auch eine Lochraster-Karte nehmen (100% Prototyping-Area).
Warum nicht den eZ80F91 verwenden? Der ist aktuell, läuft mit 50 MHz, hat seine Peripherie sowie 512k Flash schon eingebaut und ist binärkompatibel zum alten Z80. Man muss nur noch RAM extern anschließen. fchk
Leo schrieb: > Eigentlich dachte ich, die Stamp-Platine sollte für sich alleine > lauffähig sein. Die unterschiedlichen Wünsche [auch meine :-) ] alle unter einen Hut zu bekommen sind immer ein Problem. Die Z180-AVR Version http://www.mikrocontroller.net/svnbrowser/avr-cp-m/trunk/stamp/avr_stamp/doc/ ist ja so eine Variante mit SD, USB und RTC. Leider ist das Layout nur 4-lagig zu realisieren und bei dem Wechsel auf STM32 ist ein neues Z180 Layout notwendig. Daher auch die Idee den Z180 mit SRAM einfach abzukoppeln. Der Vorteil dieser Variante ist eine übersichtliche Zweilagenplatine. Der Bootprozessor mit SD, RTC, USB, Seriell wird einfach auf den Z180 gesteckt (oder Z180 auf Bootprozessor) und dann alles auf die Trägerplatine. Dort kann dann ECB, I/O, VGA, Terminal usw. realisiert werden. Einen weiteren Vorteil sehe ich in den unterschiedlichen Bootvarianten. Es gibt ja schon Lösungen mit Propeller und AVR. Nun würde eine STM32 Lösung dazu kommen. So wie der Z80-Bus jetzt rausgeführt ist, kann der Bootprozessor den SRAM ja per DMA zum schreiben und lesen übernehmen. Die EPROM-Variante müsste dann auch Busmaster-fähig sein bzw. das Stamp-Modul hat eine Logik um für den Bootvorgang im unteren Adressbereich zunächst den ROM einzublenden. Ich glaube, diese Variante wird jedoch nur wenige Liebhaber finden. Ohne die Kosten zu sehr zu betonen, die 2x Zweilagenvariante ist auch günstiger als die 4-lagige Variante. Frank K. schrieb: > Warum nicht den eZ80F91 verwenden? > ... und ist binärkompatibel zum alten Z80. Die Binärkompatibilität reicht für CP/M leider nicht aus. Beim EZ80 liegen die internen I/O-Baugruppen leider auf festen Adressen.
Hallo, CP/M auf dem eZ80 -> http://www.shaels.net/index.php/mic80/mic80-downloads/40-original-ez80-cpm22 gruss joerg
Joe G. schrieb: > Die Binärkompatibilität reicht für CP/M leider nicht aus. Beim EZ80 > liegen die internen I/O-Baugruppen leider auf festen Adressen. Und wieso sollte das stören?? Gruss Georg
Joe G. schrieb: > Frank K. schrieb: >> Warum nicht den eZ80F91 verwenden? >> ... und ist binärkompatibel zum alten Z80. > Die Binärkompatibilität reicht für CP/M leider nicht aus. Beim EZ80 > liegen die internen I/O-Baugruppen leider auf festen Adressen. ... im IO-Adressraum (IN, OUT) "All on-chip peripheral registers are accessed in the I/O address space." Das ist völlig normal und unkritisch. Wichtig ist, dass der Memory space frei ist. fchk
Hallo Leute Warum machen wir nicht endlich mal was gescheites: STM32F4 mit 2MB Flash und 256KRAM. nUarts ne Speicherkarte dran Z80 Emulator drauf das ganze läuft mit 180Mhz Warum soll man jetzt noch ne Platine mit nem Z180 machen, das ist doch absolu überflüssig fertig.
Ich habe nun den zugehörigen AVR-Bootprozessor im SVN eingecheckt. Er hat die folgenden Funktionen: - RTC mit Batterie - SD-Karte (Micro-SD) und auf Steckverbinder zur Trägerplatine - Serielle vom Bootproz. auf Steckerverbinder zur Trägerplatine und USB Die beiden Logikgatter detektieren einen IN/OUT Befehl des Z180 im Adressbereich 40-7F. Der Z180 SRAM wird per DMA übernommen. - /BUSRQ an Z180 - warten auf /BUSAK - Datenaustausch über /RD, /WR und /MREQ - Busfreigabe Da der AVR im Gegensatz zum späteren STM32 zu wenige Pins hat, wird der Adressbus derzeit über ein Latch vergrößert. Weiterhin kann über das Adresslatch bei /IORQ die IO-Adresse vom AVR gelesen werden. Bitte die Schaltung kritisch betrachten und Hinweise und Vorschläge rückmelden.
Joe G. schrieb: > Die beiden Logikgatter detektieren einen IN/OUT Befehl des Z180 im > Adressbereich 40-7F. Und C0-FF, wenn man die A7 nicht noch mit dazu nimmt. Und leider muß man in die Decodierung zusätzlich /M1 oder /RD bzw. /WR einbeziehen, wenn in dem System auch Vector-Interrupts möglich sein sollen. (Das habe ich in meinem STM32-Entwurf auch vergessen.) > Der Z180 SRAM wird per DMA übernommen. Der ATmega1284 hat DMA? Beim STM32 funktioniert das. Am AVR wird man so wohl nur einen Int auslösen können, und die Daten dann so tranferieren: > - /BUSRQ an Z180 > - warten auf /BUSAK > - Datenaustausch über /RD, /WR und /MREQ > - Busfreigabe > Da der AVR im Gegensatz zum späteren STM32 zu wenige Pins hat, wird der > Adressbus derzeit über ein Latch vergrößert. Warum eigentlich kein AVR mit mehr Pins? > Weiterhin kann über das Adresslatch bei /IORQ die IO-Adresse vom AVR > gelesen werden. ? > Bitte die Schaltung kritisch betrachten und Hinweise und Vorschläge > rückmelden. Die Widerstände R13..R15 würde ich von der Z- Auf die A-Platine verschieben. Schließlich werden sie nur dort gebraucht, weil der Mega1284 zu wenig Adressleitungen hat. Ich würde den Takt für den AVR nicht vom Z180 nehmen. Der z180 kann den Takt halbieren oder verdoppeln, und ich weiß nicht, ob der AVR die Frequenzsprünge vertragen würde. Außerdem kann man sich leicht in den Fuß schießen, indem man den Z180 in den IDLE Mode versetzt: The oscillator keeps operating but its output is blocked to all circuitry including the PHI pin. Interessanter wärs anders rum, wenns denn gehen würde. Vorschlag zu Z180 wg. späterer Erweiterungsmöglichkeiten: - A19 auf Steckerleiste. - Zusätzliches Deselect-Signal auf der Steckerleiste vorsehen - CE am RAM dann so:
Externe Hardware (ECB) kann dann RAM auf der oberen Hälfte des 1 Mbyte großen Adressraums einblenden, aber auch an beliebigen Adressen in der unteren Hälfte (Videospeicher, alte ROM-Karten, Memory-Mapped-I/O, ...). Auch die (E)EPROM-Only Variante wäre damit möglich, falls die wirklich jemand bauen möchte. Beim Einschalten muß der z180 in einem definierten Zustand gehalten werden: --> Pulldown am Z180-/RESET. Die sonstige Reset-Beschaltung auf der Z180-Platine (Taster, C) kann entfallen, da der Z180 ja ein definiertes Reset-Signal vom AVR bekommt. Wenn am AVR noch Ports frei wären, würde ich /HALT und eine Int.-Leitung vom Z180 dort anschließen. (In meinem STM32-System habe ich /NMI genommen, aber das läßt sich in einem CP/M-System nicht sinnvoll verwenden.) Steckerleisten nochmal überdenken? - Die Int-Leitungen sollten auf den Bus. - Extra Steckerleiste für die Z180-Peripherie? - AVR-Reset (/RESETIN) auf den Bus? - SD-Karten-Signale (nicht) auf Bus?
Frank K. schrieb: > Warum nicht den eZ80F91 verwenden? Der ist aktuell, läuft mit 50 MHz, Ja, aber der Thread hier heißt leider "Z180-Stamp Modul". hal9000 schrieb: > Warum machen wir nicht endlich mal was gescheites: > STM32F4 mit 2MB Flash und 256KRAM. > nUarts ne Speicherkarte dran > Z80 Emulator drauf Überflüssig, so etwas (änliches) gibt es und habe ich schon. z.B: http://www.schorn.ch/altair.html http://yaze-ag.de/ > das ganze läuft mit 180Mhz Bei mir aktuell mit ca. 2 x 2800Mhz. > Warum soll man jetzt noch ne Platine mit nem Z180 machen, > das ist doch absolu überflüssig So gesehen stimmt das.
Leo C. schrieb: > Und C0-FF, wenn man die A7 nicht noch mit dazu nimmt. Stimmt, vielleicht sollten wir vollständig dekodieren und A7 mit hinzuziehen. > Und leider muß man in die Decodierung zusätzlich /M1 oder /RD bzw. /WR > einbeziehen, wenn in dem System auch Vector-Interrupts möglich sein > sollen. Ja, sowas gab es. Hatte ich schon fast vergessen ;-) Wenn ich mich recht erinnere wurde durch /IORQ UND /M1 angezeigt, dass der Interrupt angenommen wurde und erst dann vom Datenbus der Vektor gelesen. Da muß ich nochmal die alten Taktdiagramme rauskramen. > Der ATmega1284 hat DMA? Nein, natürlich nicht. Mit DMA meinte ich dem DMA-Zyklus des Z80. Der AVR muß dafür natürlich per Interrupt angestoßen werden. > Warum eigentlich kein AVR mit mehr Pins? Da die Pins derzeit alle ausgelastet sind macht das schon Sinn auf eine größere Variante umzusteigen, z.B. ATmega1281. Dann könnte der AVR auch den Takt für den Z180 über CLKO liefern. Leider ist er laut Datenblatt bei 3.3V nicht besonders fix (8MHz). > Die Widerstände R13..R15 würde ich von der Z- Auf die A-Platine > verschieben. Ja, ist sinnvoll. > Vorschlag zu Z180 wg. späterer Erweiterungsmöglichkeiten: > - A19 auf Steckerleiste. Ist schon darauf, liegt versteckt über D0 ;-) > - Zusätzliches Deselect-Signal auf der Steckerleiste vorsehen > - CE am RAM dann so: Ich denk mir mal was sinvolles dazu aus. > --> Pulldown am Z180-/RESET. OK > Wenn am AVR noch Ports frei wären, würde ich /HALT und eine Int.-Leitung > vom Z180 dort anschließen. Mit einem größere AVR ist ja noch Luft dafür. > Steckerleisten nochmal überdenken? > - Die Int-Leitungen sollten auf den Bus. OK > - Extra Steckerleiste für die Z180-Peripherie? Mal schauen wie günstig sie dazu liegen. > - AVR-Reset (/RESETIN) auf den Bus? OK > - SD-Karten-Signale (nicht) auf Bus? Könnte so wie Z180-Peripherie auf einen extra Stecker.
:
Bearbeitet durch User
Leo C. schrieb: > Frank K. schrieb: >> Warum nicht den eZ80F91 verwenden? Der ist aktuell, läuft mit 50 MHz, > > Ja, aber der Thread hier heißt leider "Z180-Stamp Modul". Ja na und? Wenn Du fürs gleiche Geld viel mehr Leistung bekommst, greifst Du da nicht zu? Zumal Du die gleiche Software fahren kannst. Und einen JTAG/ZPAK-Debugger gibts dafür obendrein. Oder bist Du nicht lern- und aufnahmefähig? fchk
Frank K. schrieb: > Ich habe Eval-Board, Prozessormodule und ZDI(Zilog 2-Draht JTAG > Variante)-Debugger und die ganze Doku und Software da, ich weiss, wovon > ich rede. Das war am 13.05.2010. Läuft dein CP/M inzwischen?
Joe G. schrieb: > Frank K. schrieb: >> Ich habe Eval-Board, Prozessormodule und ZDI(Zilog 2-Draht JTAG >> Variante)-Debugger und die ganze Doku und Software da, ich weiss, wovon >> ich rede. > > Das war am 13.05.2010. Läuft dein CP/M inzwischen? Ich brauchte kein CP/M, ich habe das Zilog eigene RTOS verwendet, das im erweiterten 24 bit Modus des eZ80 läuft. Ich sehe aber keinen Grund, warum CP/M nicht laufen sollte, und in einem voherigen Posting war ja ein Link zu einem CP/M für das Zilog-Demoboard enthalten. Sollte ich mal einen Überschuss an Zeit haben, kann ich das ja mal auf mein Board laden. fchk
Leo C. schrieb: > Und leider muß man in die Decodierung zusätzlich /M1 oder /RD bzw. /WR > einbeziehen, wenn in dem System auch Vector-Interrupts möglich sein > sollen. Das ist mit wenigen Standardbauelementen echt blöd aufzulösen :-( So würde es mit 1 x 7400 und 1 x 7420 gehen. AVR_INT = /( /( M1 * /A6 ) * /( M1 * A7 ) * /( IORQ ) * /( M1 * WR ) )
In meinem System mit Z80 macht ein '138 die I/O-Adressdekodierung. Die Interruptlogik geschieht mit '148 und '541.
Joe G. schrieb: > Leo C. schrieb: >> Und leider muß man in die Decodierung zusätzlich /M1 oder /RD bzw. /WR >> einbeziehen, wenn in dem System auch Vector-Interrupts möglich sein >> sollen. > > Das ist mit wenigen Standardbauelementen echt blöd aufzulösen :-( Kannst ja ein Xilinx XC9536XL verwenden. fchk
Hier eine mögliche Lösung. Ausgangsgleichung: AVR_INT = /( (/IORQ * /WR * /A7 * A6) + (/IORQ * /RD * /A7 * A6) + (/IORQ * /M1) ) NAND-Form: AVR_INT = /( /( M1 * /A6 ) * /( M1 WR RD ) * /( IORQ ) * /( M1 * A7 ) ) Bei dieser Lösung würde am AVR ein externer Interrupt ausgelöst werden. In der ISR könnte durch Abfragen von WR, RD und ST die Interruptquelle zugeordnet werden. I/O-Read = AVR_INT * /RD I/O-Write = AVR_INT * /WR INT 0 (2) = AVR_INT * /ST Nachtrag: Die Gatter die noch übrig bleiben, können dann prima für die DESEL verwendet werden, geht gerade auf ;-)
:
Bearbeitet durch User
Joe G. schrieb: > Ausgangsgleichung: > AVR_INT = /( (/IORQ * /WR * /A7 * A6) + > (/IORQ * /RD * /A7 * A6) + > (/IORQ * /M1) ) > Bei dieser Lösung würde am AVR ein externer Interrupt ausgelöst werden. > In der ISR könnte durch Abfragen von WR, RD und ST die Interruptquelle > zugeordnet werden. Es wird nicht funktionieren, da die Impulse auf den Leitungen viel zu kurz sind, um in einer AVR-Interruptroutine gelesen zu werden, Es sei denn, die Signale werden gelatched, oder man baut noch eine Wait-State-Logik dazu. Aber wozu sollte das denn eigentlich gut sein? Vor allem mit dem Int-Ack kann der AVR eigentlich nichts sinnvolles anfangen. Nützlich wäre allerdings ein Kanal, über den der Z180 einen Datentransfer anstoßen könnte. Der eigentliche Datentransfer wird dann durch den AVR per DMA erledigt. Das hast Du ja weiter oben schon vorgeschlagen. Dazu reicht ein IN oder OUT auf einen passenden Adressbereich. Oder: Wenn der Z180 nichts zu tun hat, weil er auf Daten wartet, läuft er auf einen HALT- oder SLEEP-Befehl. Das HALT-Signal kann dann am AVR einen Interrupt auslösen...
Leo C. schrieb: > Aber wozu sollte das denn eigentlich gut sein? Bei INT0, Mode 2 könnte der AVR den Interruptvektor bereitstellen. Für DMA reicht /IORQ, /RD und /WR aus. /M1 bräuchte dann ja nicht decodiert werden. @Nachtrag: Das war natürlich Unsinn. Die Gatter werden ja auf der Z180-Stamp Platine benötigt und nicht beim AVR (siehe Update im SVN)
> Bei INT0, Mode 2 könnte der AVR den Interruptvektor bereitstellen. Wie schon geschrieben, bräuchte man dazu mindestens noch einen Waitstate-Generator. Damit wäre man dann schnell bei einem CPLD, wie der Forentroll hier ja schon vorgeschlagen hat. Die aktuelle Schaltung im SVN funktioniert. Statt der beiden Gatter-ICs könnte man aber auch einen 74LVC138 (oder so) nehmen. Damit könnte man auch den belegten Adressbereich noch weiter einschränken. > @Nachtrag: Das war natürlich Unsinn. Die Gatter werden ja auf der > Z180-Stamp Platine benötigt und nicht beim AVR (siehe Update im SVN) Oder anders rum, also die Dekodierung auf die Z180-Karte setzen. Zwischendurch dachte ich mal, man könnte dadurch ICs einsparen, und das I/O-Select könnte auf einer "Trägerplatine" für die Busbuffer-Steuerung nützlich sein. Beides kommt aber nicht ganz hin und man bräuchte einen weiteren Pin auf den Steckerleisten. Hast Du Dir schon Gedanken darüber gemacht, wie man die "Stamps" auf einer Grundplatte anordnen könnte? Insbesondere auf einer ECB-Europakarte, und wie gut (oder evtl. schlecht) die Anschlüsse dann zugänglich sind? Die Micro-SD-Karte könnte man ja als - im Betrieb nicht wechselbare Harddisk - betrachten. Im Anhang ist mal ein Versuch von mir. Wenn die Karten etwas schmaler wären, könnte man sie um 90° drehen, und die Anschlüsse der AVR-Karte wären in einem 19" Rack von der Frontplatte aus zugänglich. K.A., ob das routingtechnisch geht. /DREQ0 sollte in dem System (dauerhaft) aktiviert werden können. Entweder durch Jumper, Pulldown oder GPIO des Steuerprozessors. Grund: DMA-Transfers 'memory maped i/o <--> mememory' und 'i/o <--> mememory' funktionieren nur mit /DREQ. Mit ersterem löscht meine Kaltstart-Init z.Zt. das RAM (feste mem-src auf incr. mem-dst). Das würde aber ohne /DREQ gehen, wenn man es umprogrammiert auf: incr. mem-src --> inc. mem-dst, wobei dst = src+1. Beim geplanten STM32-Controller könnte man 'i/o <--> mememory' zum Transfer größerer Datenblöcke vom Z180 zum STM verwenden. Pullup an /TEND1 kann entfallen (output). Pullup an CKA1//TEND0 kann evtl. auch entfallen. Allerdings ist die Leitung nach Reset ein Input. Also besser lassen. Verwendungsvorschläge für die noch freien I/Os neuen AVRs (AVR_Stamp): A16-A18 statt der Pulldowns. SD-Card: Card-Detect, Power-On, Write-Protected Für eine im Gerät versenkte Mico-SD wohl weniger wichtig. Beim AVR-CP/M vermisse ich aber vor allem das Card-Detect-Signal.
Vielen Dank für die Hinweise und Vorschläge! In meinem Testaufbau bootet das System bereits mit CP/M 2.2 und ZSDOS. Der Z180 CPU Takt wird dabei vom AVR bereitgestellt. Das läuft mit 18.432 MHz bisher stabil. Bei der Micro-SD wird zwar eine SD > 1 GB erkannt, jedoch noch fehlerhaft gelesen. Hier ist nochmal ein intensives Elm Chan Studium notwendig ;-) > Statt der beiden Gatter-ICs könnte man aber auch einen 74LVC138 (oder > so) nehmen. Damit könnte man auch den belegten Adressbereich noch weiter > einschränken. Die Dekodierung würde ich erst mal so lassen und abwarten welche Anwendungen damit alle entstehen. > Hast Du Dir schon Gedanken darüber gemacht, wie man die "Stamps" auf > einer Grundplatte anordnen könnte? Ja, eigentlich sollte die AVR Platine als "EPROM" direkt auf die Z180 Platine gesteckt werden und dieses Packet dann auf eine ECB Trägerplatte. Genau dafür sind auch die Pinbelegungen der Steckerleisten ausgelegt. Leider kann dann auf der Trägerplatine keine weitere SD-Karte bestückt werden. Ich überlege deshalb auch den SPI-Bus mit auf die Steckerleiste zu legen. > /DREQ0 sollte in dem System (dauerhaft) aktiviert werden können. > Entweder durch Jumper, Pulldown oder GPIO des Steuerprozessors. OK, nehme ich auf, auch die Änderung an /TEND1. > Verwendungsvorschläge für die noch freien I/Os neuen AVRs (AVR_Stamp): > A16-A18 statt der Pulldowns. Sollte auch gehen. Damit könnte der AVR den kompletten RAM beschreiben. > Beim AVR-CP/M vermisse ich aber vor allem das Card-Detect-Signal. Ja, ist bei mehreren SD-Karten sinnvoll. GPIO-Pins sind ja auch noch vorhanden.
:
Bearbeitet durch User
> In meinem Testaufbau bootet das System bereits mit CP/M 2.2 und ZSDOS. Gratuliere. Ich komme leider (bei diesem Projekt) überhaupt nicht von der Stelle. > Der Z180 CPU Takt wird dabei vom AVR bereitgestellt. Das läuft mit > 18.432 MHz bisher stabil. Also anders rum als schon mal geplant. So herum gehts natürlich. > Ja, eigentlich sollte die AVR Platine als "EPROM" direkt auf die Z180 > Platine gesteckt werden und dieses Packet dann auf eine ECB > Trägerplatte. Genau dafür sind auch die Pinbelegungen der Steckerleisten > ausgelegt. Ja, aber der Turm wird etwas hoch. Vor allem für einen 19" Einschub. Vorhin vergessen: Die Stiftleisten der beiden Stamp-Karten passen derzeit nicht ins (Loch-) Raster. > Leider kann dann auf der Trägerplatine keine weitere SD-Karte > bestückt werden. Ich überlege deshalb auch den SPI-Bus mit auf die > Steckerleiste zu legen. Daran hatte ich auch schon mal gedacht. Nicht unbedingt als 2. SD-Karte, sondern um eine SD-Karte in Normalgröße alternativ zu verwenden. >> /DREQ0 sollte in dem System (dauerhaft) aktiviert werden können. >> Entweder durch Jumper, Pulldown oder GPIO des Steuerprozessors. > OK, nehme ich auf, auch die Änderung an /TEND1. Da ich mir kaum vorstellen kann, daß beide DMA-Controller je für externe Peripherie verwendet werden, würde es reichen, einen Jumper, Lötbrücke oder ähnliches vorzusehen. Volle Flexibilität gäbe es mit Anschluß an einen GPIO. >> A16-A18 statt der Pulldowns. > Sollte auch gehen. Damit könnte der AVR den kompletten RAM beschreiben. Unter CP/M 3 kann man dann z.B. ganze SD-Karten-Sektoren direkt in/aus den gebankten Disk-Puffern kopieren. >> Beim AVR-CP/M vermisse ich aber vor allem das Card-Detect-Signal. > Ja, ist bei mehreren SD-Karten sinnvoll. GPIO-Pins sind ja auch noch > vorhanden. Das ist vor allem sinnvoll, um das Ziehen einer Karte zu erkennen. Und um eine neu eingesteckte Karte dann vernünftig initialisieren zu können.
> Gratuliere. Danke > Ja, aber der Turm wird etwas hoch. Vor allem für einen 19" Einschub. > Vorhin vergessen: Die Stiftleisten der beiden Stamp-Karten passen > derzeit nicht ins (Loch-) Raster. Die Stiftleisten sind nun im Loch(2.54)Raster. Der "Turm" hat mir ja auch noch nicht richtig gefallen. Gestern Nacht kam mir eine recht nette Idee dazu. 1. Wer einen Turm bauen möchte kann es tun. Auf der Steckerleiste sind dann nur die Pins A2 (12-16) und A2 (18-24) frei zu lassen. A2 (17) ist /DREQ0 an PB4 wenn man es mag. Somit ist der Turm ohne Grundplatte vollständig lauffähig (5V Versorgung über USB). 2. Wer kein Turm bauen möchte, setzt beide Stamps nebeneinander. Auf den doppelt belegten Pins A2 (12-28) liegen nun noch 8 freie GPIOs der SPI-Bus für eine zweite SD und die notwendigen /CS Signale dafür. Folgende Änderungen wurden weiterhin realisiert. - Adressdekoder doch auf 74138 umgestellt (nur noch ein IC nötig) - Adressbereich 0x40h-0x5Fh auf INT2 - Adressbereich 0x60h-0x7Fh auf INT3 - A16-A18 auf GPIO - /DREQ0 an GPIO - /TEND1 ohne Pullup - Card Detect für SD2 Card Detect für SD1 konnte leider nicht realisiert werden, da der Miro-SD Slot kein Pin dafür hat. Ich denke das ist jedoch nicht so problematisch, da SD1 als interne HD genutzt werden kann.
Hi Joe, bin noch nicht ganz durch, weil ich erst später Zeit habe. Klingt aber alles ganz gut, bis auf eine Kleinigkeit am 138. Entweder /M1 auf G1 legen, oder /WR auf /G2B. Außerdem spricht nichts dagegen, noch eine Adressleitung auf den Decoder zu legen, und damit den belegten Adressbereich noch weiter einzuschränken (imho).
> Klingt aber alles ganz gut, bis auf eine Kleinigkeit am 138.
/M1 auf G2B war natürlich Mist :-(
/M1 ist nun auf G1 und A4 zusätzlich auf G2B.
Damit wird INT2 im Bereich 0x40-0x4F und INT3 im Bereich 0x60-0x6F
ausgelöst.
Hier die Pinbelegung beider Module ohne jedesmal die Schaltung bemühen zu müssen.
Schaut euch mal bitte die finale Version des Z180-Stamp und des AVR-Stamp an. Wenn es keine gravierenden Änderungswünsche gibt, würde ich die Platinen demnächst bei Elecrow in Auftrag geben. 10 Stück würden dort derzeit mit E-Test, Lötstopplack und Bestückungsaufdruck 15.90$ kosten.
Joe G. schrieb: > Card Detect für SD1 konnte leider nicht realisiert werden, da der > Miro-SD Slot kein Pin dafür hat. Meine schon. :) Aber die werden nicht auf Dein Layout passen. Joe G. schrieb: > Hier die Pinbelegung beider Module ohne jedesmal die Schaltung bemühen > zu müssen. Danke, kam gerade recht. Ich hatte angefangen, ein weiteres Stockwerk für den Turm zu konstruieren: Ein Adapter, zwischen VL-Discovery und Z180_Stamp. Joe G. schrieb: > Schaut euch mal bitte die finale Version des Z180-Stamp und des > AVR-Stamp an. Wenn es keine gravierenden Änderungswünsche gibt, würde Ich finde, das es sehr gut geworden ist. Meinen Vorstellungen von "Minimal" ist das System jetzt ziemlich nahe gekommen. (Es sind jetzt mehrere Platinen, aber die Gründe haben wir ja diskutiert.) Aber irgendwas fällt einem ja immer noch ein. Sorry, daß die folgenden Anmerkungen so spät kommen, aber es sind ja auch nur ein paar Kleinigkeiten aus der Wünsch-Dir-Was Kategorie. Gibts einen Grund, warum am 74138 A4 auf einem Enable liegt? Logischer wäre A7. Falls der AVR noch freie Ports hat, könnte man, analog zu DREQ0, weitere Z180-Signale für den AVR zugänglich machen. Mir fallen ein Interrupt (Int1?), HALT und WAIT ein. Über letzteres ließe sich ein Single-Step-Betrieb realisieren (wer's braucht). Ich weiß nicht, nach welchen Kriterien Du die AVR-Ports zugeordnet hast. Sinnvoll wäre, die Signale zur RAM-Steuerung (RD, WR, MREQ, und evtl. BUSREQ, BUSACK) auf (bitadressierbaren) Ports im I/O-Bereich zu haben. Kein Punkt fürs Layout, und vielleicht liegts ja an der Auswahl in Eagle, aber 74ALS und 74HCT sind für 3.3V nicht geeignet. Und dann würde mich noch interessieren, warum der Z180 jetzt doch im PLCC-Gehäuse ist, da QFP ja auch mal im Gespräch war.
Nachtrag: Ist die stehende Knopfzelle nicht etwas hoch? Kein Platz zum hinlegen?
Vielen Dank Leo, > Gibts einen Grund, warum am 74138 A4 auf einem Enable liegt? Logischer > wäre A7. Nein, geht natürlich auch (sogar besser) dann liegt 10-1F bis 70-7F schön in einer Reihe wenn man es mal braucht. > Falls der AVR noch freie Ports hat, könnte man, analog zu DREQ0, weitere > Z180-Signale für den AVR zugänglich machen. Mir fallen ein Interrupt > (Int1?), HALT und WAIT ein. Über letzteres ließe sich ein > Single-Step-Betrieb realisieren (wer's braucht). Mal sehen was das Layout noch so hergibt. Single-Step mit einem Flip-Flop ist natürlich ein "Muss" für jeden Z80 Einsteiger ;-) > Ich weiß nicht, nach welchen Kriterien Du die AVR-Ports zugeordnet hast. Das war dem Z180 Layout geschuldet, beim AVR mußte dann die Steckerleiste auch so belegt sein. Mal sehen ob ich die betroffenen Pins in den Bereich bis 0x1F verlegt bekomme. Ich habe mir auch noch nicht angeschaut was der Compiler aus PORTG &= ~(1<<PG1) eigentlich macht. > Kein Punkt fürs Layout, Der Punktabzug ist berechtigt. Ich war zu faul "LV" in Eagle einzutragen. > warum der Z180 jetzt doch im PLCC-Gehäuse ist Weil er so bei mir rumliegt, QFP geht aber auch. Ich habe nicht nach der Verfügbarkeit dazu geschaut. > Kein Platz zum hinlegen? In den ersten Versionen war kein Platz, doch nun sieht es ja ziemlich aufgeräumt aus und es wird sich warscheinlich der Platz finden.
:
Bearbeitet durch User
Die Signale zur RAM-Steuerung sind auf PORT D umgezogen. PORT G liegt nun frei auf der Steckerleiste A. Hier könnte auch extern HALT und WAIT verdrahtet werden. A7 liegt nun auf dem Enable eines "LV" IC's ;-) Die Pinbelegung auf der Beschreibung ist angepaßt (STM-Turm). Die liegende CR2032 Variante ist ein Monster! Sie paßt jedoch aufs Layout. Der Z180 kommt nun im QFP Gewand.
> liegende CR2032 Variante ist ein Monster! Sie paßt jedoch aufs Layout. Eben. Stehend ist sie nämlich auch ein Monster. Man könnte ja mal rechnen, obs eine kleinere auch tun würde. Allerdings ist die CR2032 überall billig zu bekommen. > Der Z180 kommt nun im QFP Gewand. Welches Kriterium hat Dich denn zum Wechsel bewogen? Heute habe ich mir auch mal das Datenblatt vom ATmega1281 gesaugt. Was hat sich Atmel denn bei der Zuordung der ISP-Pins gedacht? (Anhang)
> Welches Kriterium hat Dich denn zum Wechsel bewogen? Das spart den PLCC Sockel und entspannt etwas das Layout. Leider ist die PLCC Version bei den Distributoren sehr viel verbreiteter. Die QFP Version habe ich derzeit nur bei Mouser gefunden. > Was hat sich Atmel denn bei der Zuordung der ISP-Pins gedacht? Der Hinweis war gut! Bei meiner Testversion (DIL) ist alles ok, in der geplanten TQFP-64 Version muß der ISP Stecker ja anders beschaltet werden :-( - muß ich fix noch ändern. > Man könnte ja mal rechnen, obs eine kleinere auch tun würde. Da der Platz ja vorhanden ist, darf sie auch liegen.
Joe G. schrieb: > Das spart den PLCC Sockel und entspannt etwas das Layout. Leider ist die > PLCC Version bei den Distributoren sehr viel verbreiteter. Die QFP > Version habe ich derzeit nur bei Mouser gefunden. Und ich dachte, beide Versionen wären etwa gleich teuer und gleich verfügbar, weil Mouser der einzige Distributor war, bei dem ich geschaut hatte. In der Bucht gibt es ein paar PLCC, und aliexpress hat "interessante" Angebote für beides.
Ich hab mal die üblichen "Verdächtigen" abgegrast. Die QFP Variante ist bei keinem dieser Distributoren derzeit sofort verfügbar (sehr lange Lieferzeiten). Die PLCC Variante hingegen überall sofort. Bei Aliexpress findet man zwar die QFP Variante doch das scheint mir für potentielle Nachnutzer sehr unsicher. Lange Rede kurzer Sinn - das Layout gibt es ja nun für beide Varianten.
Ganz im Sinne von open source hardware hier nun die kompletten Schaltungsunterlagen und das Layout der Stamp Module (/sheet). Die benutze Eagle Version ist die 5.4. Im Ordner /docs findet ihr Schaltungen und Layout als PDF und im Ordner /sheet/Gerber die zugehörigen Gerber-Files. Wer Platinen habe möchte, meldet sich einfach bei mir. Ich werde sie diese Woche bei Elecrow in Auftrag geben (Special Offer For 2 Layer 10*10cm max green PCB - 5/10pcs). Alle Unterlagen hier: http://www.mikrocontroller.net/svnbrowser/avr-cp-m/trunk/stamp/ Viel Spaß damit!
Gerade sind die Leiterplatten eingetroffen. Von den 2x10 Stück sind noch 6xZ180 und 7xAVR vorhanden. Der Stückpreis liegt bei 2.37$ also 1.73€ + Porto. Wer Interesse hat, bitte einfach bei mir melden. Berücksichtigt ist bereits Leo C. mit 2xZ180 und 1xAVR
Der derzeitige Bestellstand. Bei Bedarf würde ich auch gleich eine Bestellung der IC's (Z180, AVR, SRAM, Micro-SD Holder, Quarz, RTC) machen. AVR Z180 Olaf I I Uwe I Harald I I Leo C I II Joe II II
Eine Sammelbestellung der "Spezialteile" macht sicherlich Sinn, da ja nicht alles "an der nächsten Ecke" lieferbar ist.
Hallo Joe, ich habe dir gerade bei Gaby.de geschrieben... an den Spezialteilen wären ebenfalls interessiert... Natürlich auch ein Satz Platinen Z180 und AVR. Gruß Hans-Werner
:
Bearbeitet durch User
Joe G. schrieb: > Der derzeitige Bestellstand. Bei Bedarf würde ich auch gleich eine > Bestellung der IC's (Z180, AVR, SRAM, Micro-SD Holder, Quarz, RTC) > machen. > > AVR Z180 > Olaf I I > Uwe I > Harald I I > Leo C I II > Joe II II Hi! Bei den IC's wäre ich dann auch gleich mit dabei! LG Harald
:
Bearbeitet durch User
Harald Nagy schrieb: > Bei den IC's wäre ich dann auch gleich mit dabei! ich genauso @Joe, ich übernehme das Porto für alle, wenn du eine Sammelbestellung machst. Gruss Uwe
Für die Platinen hatte ich mich ja schon "angemeldet" - bei den ICs bin auch gerne mit dabei! Gruß Marcel
Joe G. schrieb: > Gerade sind die Leiterplatten eingetroffen. Die sehen sehr gut aus. Ich kann aber nicht noch ein neues Projekt anfangen. Da werde ich ja mit den laufenden nie fertig :-/ Grüße, Jens
Hallo Joe, ich melde mich auch für einen Satz Platinen und natürlich auch die ICs dazu. Das Projekt macht einen guten Eindruck, ich hoffe, dass ich die Lötarbeiten noch hinbekomme. Gruß siggi
Es sollten alle die sich bei mir und hier im Forum gemeldet haben nun eine Mail von mir bekommen haben. Sollte das nicht der Fall sein, bitte eine kurze Info an mich. Wie er derzeit aussieht, ist der erste Satz Platinen (2 x 10) nun verteilt.
Hallo! Ich mir grad nochmal die Unterlagen zu den Modulen angesehen. Hast du auch einen kompletten Schaltplan zum AVR Modul?
Unter http://www.mikrocontroller.net/svnbrowser/avr-cp-m/trunk/stamp/Eagle/ ist nun eine *.LIB (Eagle) mit den Stamp-Modulen verfügbar. Eine ECB-Trägerplatine mit zweiter SD, 2 x echter RS-232 und einer Single-Step Logik steht kurz vor der Vorstellung.
Hier nun ein Vorschlag für eine ECB Karte. Derzeit untergebracht sind beide Stamp-Module, zwei RS232-Schnittstellen (3.3V auf +/- 12V), eine SD-Card und eine Single-Step-Logik. Die RS-232 führt auf zwei Wannenstecker, so dass 9-polige oder 25-polige SUB-D leicht gecrimpt werden können. Über die Single-Step-Logik könnte der Z180 vom AVR in den Einzelschrittbetrieb versetzt werden und der Zustand des Adress-, Daten- und Steuerbus in einem Monitorprogramm angezeigt werden. Die Verbindung Z180 Busstecker ist noch offen, das es einige unterschiedliche Varianten gibt [1]. Ich würde nun gerne eine Diskussion zum Entwurf anregen. Welche Busvariante ist sinnvoll? Was sollte noch auf die Karte? [1] http://www.cpcwiki.eu/imgs/8/83/ECB_Bus_-_Pinout_Variants.pdf
Joe G. schrieb: > Hier nun ein Vorschlag für eine ECB Karte. Derzeit untergebracht sind > beide Stamp-Module, zwei RS232-Schnittstellen (3.3V auf +/- 12V), MAX238 ist 5V only. Bei Maxim habe ich überhaupt keine 3.3V Transceiver mit je 4 Rx und 4 Tx gefunden. Bein anderen Herstellern habe ich nicht geschaut. 3Tx/5Rx gibts allerdings zahlreich, z.B. MAX3244. Damit ließe sich auch DCD0 noch versorgen. > Die RS-232 führt auf zwei Wannenstecker, so dass 9-polige oder 25-polige > SUB-D leicht gecrimpt werden können. Find ich gut. Zusätzlich würde ich gerne auch die 3.3V-Seite irgendwie verfügbar machen, z.B. für Blutooth-, sonstige Funkmodule oder RS485. Meine Seriellen haben fast alle irgendwo eine 4-polige Stiftleiste mit Versorgungsspannung und Rx/Tx. > eine SD-Card und eine Single-Step-Logik. SD-Karte ja. Single-Step könnte man ggf. auch extern anschließen. Dann mit Frontpanel. :) Aber Platz ist ja wahrscheinlich vorhanden... > Die Verbindung Z180 Busstecker ist noch offen, das es > einige unterschiedliche Varianten gibt [1]. Ich würde nun gerne eine > Diskussion zum Entwurf anregen. > Welche Busvariante ist sinnvoll? Hier sind ja vor allem die Leute gefragt, die ECB haben wollten. Die Euro-Karten, die ich noch habe, sind für dieses System uninteressant. Welche Frquenzen verträgt der ECB-Bus denn? Mit 20MHz wird er wohl nicht laufen. Und die alten Karten, die man anschließen könnte, schon gar nicht. Takthalbierungslogik? Waitstate-Generator? > Was sollte noch auf die Karte? - Reset-Taser - LED an HALT-Signal - Lochrasterfeld -
Leo C. schrieb: > MAX238 ist 5V only. Ich habe einfach den MAX3238 angenommen :-( Nach dem Studium des Datenblattes bin ich nun klüger. Eine 3 vor dem gleichen Type ist nicht unbedingt 3.3V :-( Ich werde also auf ein 3TX/5RX umstellen. > Zusätzlich würde ich gerne auch die 3.3V-Seite irgendwie > verfügbar machen. Diese Pins können ja auch auf eine Stiftleiste. Hast du einen Favoriten bzw. eine Lieblingsbelegung? > - Reset-Taser > - LED an HALT-Signal Ist schon realisiert. Ein Lochrasterfeld wird allerdings eng. Die beiden Stamp-Module + SD + RS232 füllen den Platz einer Eurokarte schon fast voll aus. Bei ECB warte ich nochmal auf Vorschläge. Ich würde es erst mal nicht benötigen. @alle Bis auf den 74LV138 sind die Teile eingetroffen. Dieses IC ist auf den 10.07. terminiert. Wer seine Bauelemente und Leiterplatten schon früher haben möchte, melde sich einfach bitte kurz bei mir. Sie gehen dann auf die Reise.
Joe G. schrieb: > Ich habe einfach den MAX3238 angenommen :-( Nach dem Studium des Und ich weiß gar nicht, wieso ich zum MAX238 abgedriftet bin. Der MAX3238 ist ja ein 3.3V-Typ und auch mit 3Tx/5Rx. Geht also doch. Nur etwas anders, als Du ursprünglich gedacht hast. > Diese Pins können ja auch auf eine Stiftleiste. Hast du einen Favoriten > bzw. eine Lieblingsbelegung? GND/RXD/TXD/VCC. Wobei GND wahrscheinlich die 1 ist. Ich schließe auch diese Module[1] an, wobei dort RXD und TXD vertauscht sind. (Die Beschriftung ist aus Sicht der USB-Seite.) Aber die Module gibts in unzähligen Varianten, inzwischen sogar billig mit FTDI-Chip. Die Leisten könnte man evtl. um die Steuerleitungen verlängern. Die RX-Leitungen sollten wohl von den Tranceiver-Rx-Ausgängen entkoppelt werden (Dioden/Widerstände/Jumper). > Ist schon realisiert. Ein Lochrasterfeld wird allerdings eng. Die beiden > Stamp-Module + SD + RS232 füllen den Platz einer Eurokarte schon fast > voll aus. Unter den Stamps ist doch auch noch reichlich Platz. Ein Feld mit Lötpunkten im 1.27 Raster wäre vielleicht auch ganz nett. Durchkontaktierte Löcher sind für SMD sowieso nicht optimal. [1] http://www.ebay.de/itm/PL2303-USB-To-RS232-TTL-Converter-Adapter-Module-cable-NEW-/170813867942?pt=LH_DefaultDomain_0&hash=item27c54cc7a6
Leo C. schrieb: >> Diese Pins können ja auch auf eine Stiftleiste. Hast du einen Favoriten >> bzw. eine Lieblingsbelegung? > > GND/RXD/TXD/VCC. Wobei GND wahrscheinlich die 1 ist. Ich finde die Belegung die bei PMODs verwendet wird ganz brauchbar: VCC/GND/RX/TX Michael
Hi, hat jemand die IBAN von Joe für mich? Im Brief war nur die Kto-Nr, da streikt mein Banking-Programm :-) Danke und Gruß Marcel
> hat jemand die IBAN von Joe für mich? Du hast Mail... > Im Brief war nur die Kto-Nr, da google wär'n Versuch wert. > streikt mein Banking-Programm :-) Bei mir hat das Onlinebanking sich nach der Buchung geweigert, eine Vorlage mit Kto-Nr. zu speichern, aber die die IBAN angezeigt. Und Umlaute können die Banken auch immer noch nicht...
Danke für die Mail mit IBAN und BIC, bei EU-Überweisungen geht nämlich nur mehr so!
Inzwischen habe ich die beiden Platinen aufgebaut. Die AVR-Platine funktioniert so weit, aber ich habe noch nicht alle Funktionen getestet. Auf der Z180-Platine ist ein Layoutfehler. Pin 8 (RESET) der CPU ist mit Pin 5 (WAIT) verbunden, statt mit R9 und der Steckerleiste. Leider ist die Verbindung unter dem PLCC68-Sockel, den ich schon eingelötet hatte. Und noch schlimmer, ich habe die beiden Platinen schon fest mit Drähten verbunden, da mir die passenden Steckverbinder noch fehlen. Da ich keine Lust hatte, wieder alles auseinander zu reißen, habe ich die Leiterbahn von der Platinenunterseite her durchbohrt. :) Weitere Fehler habe ich bisher noch nicht gefunden, aber mein Monitor (von der STM32/HD64180-Kombination) läuft leider noch nicht. Vielleicht gibts doch noch eine Inkompatibilität zwischen HD und Z180.
Hallo! Ich bin mit der Z180-Stamp quer eingestiegen, aber interessiere mich auch für das "alte" Projekt. Gibt irgendwo eine Zusammenfassung der aktuellsten Hardware und Software, sodass ich nicht den ganzen CPM-Thread durchackern muss...? Gibt's da eventuell sogar noch Platinen dafür? Danke!
:
Bearbeitet durch User
Es gibt noch den Artikel: http://www.mikrocontroller.net/articles/AVR_CP/M Leider ist der auch nicht mehr so übersichtlich und nicht auf dem neuesten Stand. Zu Platinen kann ich nichts sagen. Da das ganze System aber nur aus MCU, Quarz, 2 DRAMs, SD-Sockel und ein paar Stützkondensatoren und Pullups besteht, kann es auch leicht auf Lochraster aufgebaut werden.
Super danke! Dann werd ich mir die Infos mal aus dem Artikel ziehen und dann mit dem Thread updaten. Erleichtert ja schon mal sehr die Arbeit! Dass das ganze auf Lochraster geht kommt mir sehr entgegen!
Übrigens läuft mein Z180-Stamp inzwischen (seit Samstag). Am RAM-Chip war noch ein Lötfehler. Jetzt fehlen mir noch der Micro-SD-Sockel und anständige und bezahlbare Stift/Buchsenleisten. Den Sockel habe ich u.a. bei Völkner/Conrad gefunden. Zu den Leisten wollte ich Joe schon immer mal fragen, was er verwenden wollte. Insbesondere, wenn man die Platinen stapeln will. Aber da er gerade im Urlaub weilt, hat jemand einen Vorschlag? Bei Interesse und wenn es sich rechnet, würde ich eine Sammelbestellung für die beiden Sachen machen. Sonst noch was?
Hi! Ich hab Joe schon eine EMail geschrieben, zwecks der Bauteile und warte auf seine Rückkehr aus dem Urlaub. Wenn sich da was bzgl Sammelbestellung ergeben würde, wäre ich wieder mit dabei!
Leo C. schrieb: > Übrigens läuft mein Z180-Stamp inzwischen (seit Samstag). super! > Zu den Leisten > wollte ich Joe schon immer mal fragen, was er verwenden wollte. Am Sonntag bin ich wieder zurück. Dann werde ich mit einem Vorschlag dazu melden, es gibt einreihige Buchsen-Stiftleisten mit überlangen Kontakten. Ich glaube Fischer Elektronik ist das Stichwort. Schaut mal nach SL20 THR164 oder ähnliches. Das BIOS lade ich am Sonntag auch mit hoch. Nun gehts wieder an den Strand, Joe
Hier nun der Vorschlag für die Verbindung der beiden Leiterplatten. Die untere Platine (Z180) bekommt 2 x eine Stiftleiste Type SL 1 179 32S (Fischer). Die Stiftleiste wird von der Platinenunterseite durchgesteckt und auf der Oberseite verlötet. Auf der Unterseite sitzt dann das Plastteil mit den kurzen Stiften. Die langen Stifte gehen durch die LP und schauen noch 15mm nach oben. Die obere Platine (AVR) bekommt 2 x eine Buchsenleiste Type BL 5 025 32 (Fischer) auch auf die Unterseite gelötet. Damit gibt es nun die folgenden Steckvarianten. 1.Beide Platinen „huckepack“. Unten Z180 oben AVR 2.Beide Platinen auf einer Eurokarte. Z180 auf Buchsenleiste, AVR auf Stiftleiste. Damit können bein Stecken beide Platinen nicht verwechselt werden.
Hallo Joe,
so ist es ja einfach. :)
Ich hatte nach Stiften gesucht, die man unten stecken kann, und oben
eine Buchse haben. So was findet man in den Katalogen der Hersteller,
aber (fast) nicht bei den Händlern. Also wenn man die überhaupt bekommt,
dann unverhältnismäßig teuer.
> Damit können beim Stecken beide Platinen nicht verwechselt werden.
Das kann man als Vorteil sehen. Aber man kann die Platinen nicht mehr
beliebig aufeinander türmen. Allerdings geht das ja sowieso nicht
wirklich, weil die Steckerbelegungen ja nicht identisch sind.
Leo C. schrieb: > Ich hatte nach Stiften gesucht, die man unten stecken kann, und oben > eine Buchse haben. Gibt es auch: http://www.fischerelektronik.de/web_fischer/de_DE/Steckverbinder/G02/Buchsenleisten/VA/BL1332/index.xhtml Ich habe mal nach einem 50ziger Los angefragt.
Der von Leo C. entdeckte Fehler (Danke!) ist korigiert und die neuen Daten liegen im SVN. Außerdem gibt es eine Fehlerbeschreibung und ein Korrekturvorschlag. Wer die PLCC-Fassung schon bestückt hat, folgt am besten dem LEo C. Vorschlag der kleinen Bohrung, ansonsten kann der Leiterzug einfach aufgetrennt werden.
Harald Nagy schrieb: > Hi! > > Ich hab Joe schon eine EMail geschrieben, zwecks der Bauteile und warte > auf seine Rückkehr aus dem Urlaub. Wenn sich da was bzgl > Sammelbestellung ergeben würde, wäre ich wieder mit dabei! @Joe: hast du meine email bekommen?
Joe G. schrieb: > Gibt es auch: > http://www.fischerelektronik.de/web_fischer/de_DE/Steckverbinder/G02/Buchsenleisten/VA/BL1332/index.xhtml Dürfte wohl deutlich teurer werden. Deine ursprüngliche Lösung ist eigentlich ganz gut, da man die Platinen sowieso nicht wirklich stapeln kann, wenn man die zusätzlichen AVR-Ports auch nutzen will. Meine Karten sind z.Zt. allderdings gestapelt. Weil ich nicht auf die optimale Stecklösung warten wollte, habe ich sie kurzerhand mit Drahtstücken übereinander gelötet. War etwas ungeschickt, weil an der Z180-Platine ja noch gar nichts getestet war. Noch ein Punkt für die (ECB-) Basiskarten-Wunschliste: "Kaltstarttaste" an einem der AVR-Ports, um Defaultwerte aus dem EEPROM zu laden. Kann evt. auch mit dem Z180-Reset kombiniert werden. (Ich bastle gerade einen Boot-Monitor, bei dem man alles verkonigurieren kann. Sozusagen ein U-Boot[1]-Port ;) [1] http://www.denx.de/wiki/U-Boot/WebHome
Leo C. schrieb: > "Kaltstarttaste" an einem der AVR-Ports, um Defaultwerte aus dem EEPROM > zu laden. Kann evt. auch mit dem Z180-Reset kombiniert werden. Da haben wir beide aber die gleiche Idee gehabt :-) Du nennst es U-Boot ich hatte die Idee eines BIOS-Setup ähnlich der üblichen PC Hardware. Da es keine Tastatur im unserem Konzept gibt sollte eine "Kaltstarttaste" dafür herhalten.
@all: Joe würde eine Sammelbestellung der notwendigen Steckverbinder durchführen, wenn genügend Leute mitmachen. Wer außer mir hätte dabei noch Interesse?
Joe G. schrieb: > Da haben wir beide aber die gleiche Idee gehabt :-) Du nennst es U-Boot U-Boot würde ich es gerade nicht nennen, da das ein weit verbreiteter Bootloader für Single-Board-Computer, die mit Linux oder ähnlichem laufen, ist. Dessen Funktionsumfang würde nicht mal annähernd in unseren AVR-Speicher passen. Das Konzept kann man aber übernehmen (und Teile des Codes auch ;). Ich halte das für flexibler, als das PC-BIOS mit seinen fest vorgegebenen Menüs. Das Konzept ist ganz kurz und knackig hier beschrieben: http://www.denx.de/wiki/view/U-Bootdoc/UserInterface Wobei für uns die HUSH Shell natürlich nicht in Frage kommt, sondern nur das "simle CLI".
Bei Reichelt gibt es etwas ähnliches -aber auch sehr teuer... Von daher wäre ich eher an der ECB-Platine interessiert, das erscheint mit flexibler. @Leo: Den Micro-SD-Reader habe ich bei Mauser "als Muster" bekommen :-)
Joe G. schrieb: > Gibt es auch: > http://www.fischerelektronik.de/web_fischer/de_DE/Steckverbinder/G02/Buchsenleisten/VA/BL1332/index.xhtml Heute man das Angebot. 50 Stück 381.80 EUR + MwSt. 100 Stück 190,90 EUR + MwSt. 1,90 das Stück würde ja noch gehen, doch wer benötigt 100 Stück? Bei zwei Stamp Modulen sind es gerade 4 Leisten, müßten sich also 25 Interessenten finden.
Ich denke wir sollten warten bis die Urlaubszeit vorbei ist.... Von den leisten würde ich evtl mehr als vier nehmen.
Auch wenn es bei einem Hobby-Einzelstück nicht so auf die Kosten ankommt, finde ich 9 Euro (Mwst) für die Leisten schon unverhältnismäßig teuer. Einfache Stift- und Buchsenleisten kosten nur ein paar Cent. Einer Sammelbestellung würde ich mich anschließen, wenn es hilft, die Kosten zu senken. Eilt aber nicht, da ich ja eine vorläufige Lösung habe. Die Vorteile beim nebeneinander Stecken dürften wohl überwiegen. Im Anhang ist ein Hexfile mit Software zum Testen. Der Monitor kann zwar fast noch nix, ist aber schon 34KB groß. ;) Davon ca. 12KB Z180- Debugger. Der Sourcecode ist noch in einem Zustand, in dem ich ihn ungern veröffentlichen würde. Auf Anfrage (PM) kann ich ihn aber zuschicken. Environment-Variablen sind so eingestellt, daß der Debugger beim Einschalten/AVR-Reset in den Z180-Speicher geladen und gestartet wird. Environment kann man zwar ändern, aber noch nicht dauerhaft speichern. Es gibt zwar eine Variable für die Baudrate, aber die hat noch keinen Effekt. Es werden versehentlich noch einige Debug-Meldungen ausgegben. Beim Debugger handelt es sich um den bekannten DDTZ, den ich vor fast 30 Jahren disassemblierte, und für mein damaliges HD64180 System ROM-fähig und erweitert hatte. Spezielle Z8S180/Z8L180 Features unterstützt er noch nicht. Deshalb läuft der Prozessor auch nur mit halbem Einganstakt. Eine kleine Hilfe ('?' drücken) habe ich kürzlich eingebaut. Vorraussetzungen: Z180: - Pulldwon (10k) an DREQ0 (CKA0), Pin A17 an Stiftleiste. - Terminal (-Emulator) mit 57600 Baud an ASCI1, (RXA1/TXA1) - Clock 18,432 MHz, z.B. CLKO-Jumper AVR: - Terminal mit 115200 Baud an FTDI - Quarz 18,432 MHz - Ggf. CKOUT-Fuse brennen
:
Bearbeitet durch User
Wahrscheinlich wieder eine ziemlich blöde Frage...: Auf dem AVR-Board hängt am Uhren-Chip PCF8583 ein "32khz"-Quarz + Drekko. Ich finde aber überall nur 32,768kHz (Uhrenquarz). Gehe ich recht in der Annahme, dass das passt (laut Datenblatt PCF8583 müsste das auch so sein)? Oder muss es genau 32,000 sein? Danke und Gruß Marcel
Marcel A. schrieb: > Ich finde aber überall nur 32,768kHz (Uhrenquarz). Gehe ich recht in der > Annahme, dass das passt ? Ja, deine Annahme ist korrekt. Es wird ein Uhrenquarz eingesetzt.
Wollte mal fragen, wie es um das Thema "Basisplatine" bestellt ist? Für den Fall, dass ich mal die beiden Boards fertig bekomme... Ein kleines HowTo/Starthilfe wäre sicher auch nicht schlecht - aber ich merke schon, ich oute mich gerade wieder als Anfänger... :-)
Hallo zusammen, ich bin seit ein paar Tagen aus dem Urlaub zurück und wollte mich nun auch daran machen, die zwei Platinen zu bestücken. Hat eigentlich jemand eine Teileliste, um das Bestellen zu vereinfachen? Alles von den Unterlagen (Schaltbild und Layout) abklamüsern ist halt Aufwand. An den Steckverbindern bin ich auch interessiert. Beim Arduino wird ja mit den shields was ähnliches getrieben, insofern ich auch ein paar mehr nehmen würde ... Gruß, Wolfram
Wolfram K. schrieb: > Hat eigentlich jemand eine Teileliste, um das Bestellen zu vereinfachen? > Alles von den Unterlagen (Schaltbild und Layout) abklamüsern ist halt > Aufwand. Wieso ist das Aufwand? Kann man doch mit Eagle exportieren. Im Anhang ist das Ergebnis als csv. Kann in jede Tabellenkalkulation importiert werden.
Leo C. schrieb: > Kann man doch mit Eagle exportieren. Danke für den Tipp - nur hab ich eagle noch nicht mal installiert, da ich die Platinen ja von Joe bezogen habe. Und nochmals danke für die Tabellen - damit hast Du mir schon sehr viel weitergeholfen. Noch irgend welche Hinweise zum Bezug der Teile? Fröhliches Basteln allerseits!
Marcel A. schrieb: > Wollte mal fragen, wie es um das Thema "Basisplatine" bestellt ist? Das Schalungsdesign ist noch nicht ganz fertig. Bin aber dabei. > Ein kleines HowTo/Starthilfe wäre sicher auch nicht schlecht Ich notiere gerade die wichtigsten Schritte beim Zusammenbau um eine kleine Bauanleitung zu schreiben. > Noch irgend welche Hinweise zum Bezug der Teile? Eigentlich alles bei Reic*elt oder ähnlichen Anbietern.
Joe G. schrieb: >> Noch irgend welche Hinweise zum Bezug der Teile? > Eigentlich alles bei Reic*elt oder ähnlichen Anbietern. Kannst du evtl. einen passenden SD-Halter und vlt auch USB-Buchse bei Re*chelt angeben? Sind die Elkos Standardgrößen? Bei den Widerständen und Kerkos sind ja die Größen dabei. Kenn mich mit SMD-Standardteilen nicht so aus.
:
Bearbeitet durch User
Harald Nagy schrieb: > Kannst du evtl. einen passenden SD-Halter und vlt auch USB-Buchse bei > Re*chelt angeben? Den SD-Halter gibts bei Reichelt nicht. Ich habe ihn bei Völkner, Conrad, und einigen Distributoren gesehen. (Leicht zu finden, wenn man nach der Würth Nummer googelt.) Ich habe vor, demnächst bei einem von denen aus anderen Gründen zu bestellen, und könnte evtl. ein paar Kartenhalter mitbestellen, falls sich das rechnet. Leider weiß ich auch immer noch nicht, welche Steckerleisten ich an die Stamp-Karten machen soll. Im Moment ist mir die Variante mit übereinander stecken wieder sehr sympathisch... edit: Der Sockel: http://www.conrad.de/ce/de/product/1088844/WR-CRD-Micro-SD-Kartensockel-mit-Deckel-8-Pins-Pole-8-Wuerth-Elektronik-Inhalt-1-St
:
Bearbeitet durch User
Klingt gut. Bei den Kartenhaltern wäre ich dann dabei! Sonst müsste ich mal schauen ob ich bei Conrad sonst noch was finde, sonst rechnet sich der Versand nicht.... Sollte sich bezgl der Leisten nichts ergeben (scheint sich niemand dafür zu interessieren), werde ich auf "normale" Stecker- und Buchsenleisten ausweichen, da ich die Stamps ohnehin nicht stapeln werde.
:
Bearbeitet durch User
Leo C. schrieb: > Bei Völkner gibts gerade kostenlosen Versand ab 25€. Sicher nicht nach Österreich. Aber danke ich schau mal nach.... Ok, die liefern nicht mal nach Österreich...
:
Bearbeitet durch User
Bei der Bestückung des Kartenhalters geht es arg eng zu wenn eine 6polige ISP-Buchse mit Rand verwendet wird. Es paßt auf den 1/10mm ;-) Mit kragenloser Buchse ist endlos Platz.
Leo C. schrieb: > Den SD-Halter gibts bei Reichelt nicht. Ich habe ihn bei Völkner, > Conrad, und einigen Distributoren gesehen. (Leicht zu finden, wenn man > nach der Würth Nummer googelt.) > > edit: Der Sockel ... > product/1088844/WR-CRD-Micro-SD-Kartensockel-mit-Deckel-8-Pins ... Es gibt zumindest bei Conrad noch die push-push-Variante des Sockels, die mir persönlich sympatischer ist: http://www.conrad.de/ce/de/product/1088843/WR-CRD-Micro-SD-Kartensockel-Push-Push-8-Pins-Pole-8-Wuerth-Elektronik-Inhalt-1-St Außerdem habe ich die meisten anderen fehlenden Teile bei Reichelt zusammengesucht und für beide stamps als öffentlichen Warenkorb gespeichert: https://secure.reichelt.de/index.html?&ACTION=20&LA=5010&AWKID=951391&PROVID=2084 Wer mag, kann ihn als Grundlage für die eigene Bestellung nehmen und so Suchzeit sparen - aber ohne Garantie, denn ich hab selbst gerade erst meine Bestellung aufgegeben und konnte daher noch nicht überprüfen, ob alles so passt. Und wer schon bei Conrad bestellt, für den ist vielleicht auch diese Leiste (wirewrap) eine Option: http://www.conrad.de/ce/de/product/741634/Praezisions-Buchsenleiste-Wire-Wrap-RM-254-gerade-Pole-1-x-36-10120856-BKL-Electronic-Inhalt-1-St Ich werde sie jedenfalls ausprobieren.
Wolfram K. schrieb: > Es gibt zumindest bei Conrad noch die push-push-Variante des Sockels, > die mir persönlich sympatischer ist: Das Layout sieht aber ganz anders aus. (Das Bild im Serviervorschlag scheint aber auch nicht zum Datenblatt zu passen). > Und wer schon bei Conrad bestellt, für den ist vielleicht auch diese > Leiste (wirewrap) eine Option: Die war mir auch schon aufgefallen, ist mir aber viel zu teuer. Ich habe jetzt zufällig mal in die Bewertungen geschaut. Das Bild passt wohl auch nicht zum Datenblatt.
Ok, die push-push-Variante des SD-Kartensockels passt definitiv nicht - danke für den Hinweis. Und die wirewrap-Leisten nehmen leider nur Rundstifte auf und sind damit nicht stapelfähig ... Hat jemand denn noch was mit gescheiten Leisten in petto?
Gerade gefunden: http://www.electrodragon.com/product/arduino-special-used-break-away-pin-header-with-long-male-pins-68-pins/ Mal schauen, was ich dort sonst noch finde. Nachdem ich bei Conrad/Völkner mehrmals über falsche Produktfotos gestolpert bin, und nun auch noch diesen[1] dreisten Betrugsversuch gesehen habe, werde bei denen sicher nichts mehr kaufen. [1] Beitrag "Re: VOLTCRAFT DSO-3062C 60 MHz = baugleich mit?" Anzeige eines 800x480 Displays wurde in das Foto eines Gerätes montiert, daß ein 320x234 Display hat. Sowas passiert sicher nicht aus Versehen.
Ich habe eigentlich eine ganz gute Lösung gefunden. 4 x Buchsenleiste 2,54 mm, 1x16, gerade (MPE 094-1-016) für 0.32€ das Stück bei Reichelt und 2 x Stiftleiste 32 polig gerade und löte beide zusammen. Bei der Buchsenleiste muss an einer Seite etwas weggefeilt werden, dann wird eine wunderschöne Leiste für 32 Pins daraus. Achtung! Der Batteriehalter KZH 20-1 muß umgedreht (Plus und Minus tauschen) eingelötet werden. Ich habe in der Eagle Lib die Pole vertauscht, sorry :-(
Ich werde die 8-poligen Buchsen/Steckerleisten bei Electrodragon bestellen. Preis pro 10er Pack 0,93 Euro. Für die beiden Stamp-karten braucht man 16 Stück. Wer Interesse hat, kann mitbestellen. Dazu kämen die anteiligen Versandkosten (fast vernachlässigbar, da ich noch einige andere Teile bestellen will) und die Versandkosten von mir zum Besteller. ca 0,90€..1,50€ Übrigens hat Electrodragon auch Knopfzellenhalter[1], die so aussehen wie auf meinen Fotos oben[2]. 10 Stück für 0,77€. Dieser Halter paßt noch ganz knapp neben den Quarz. Kann ich bei Interesse auch noch mitbestellen. Es müßten aber ca. 10 zusammen kommen, da ich selber noch ausreichend eingedeckt bin. http://www.electrodragon.com/product/cr2032-cr2025-battery-holder/ Beitrag "Re: Z180-Stamp Modul"
Hallo Leo, ich wäre bei einer Bestellung dabei. Vier mal 10 Stück hätte ich gerne. Und wenn möglich, 4 Knopfzellenhalter. Falls Du die SD-Halter noch bestellst, für mich auch 4 Stück. Danke und Gruß Siggi
Ich wäre auch dabei mit 16 Leisten, 1 Knopfzellenhalter, 1 SD-Halter. LG Harald
siggi schrieb: > Falls Du die SD-Halter noch bestellst Sorry, das wäre bei Conrad gewesen. Muß ich erst mal wieder neu suchen.
Da man ja auch noch Leisten braucht, um ggf. beide Platinen nebeneinander auf eine Board zu steckken, brauche ich dann 7 x 10 Leisten. Und eine Knopfzellenhalterung nehme ich auch...
Frage: Wie herum baut man die Leisten am Besten ein? Stifte oben, Buchsen unten, oder umgekehrt? Marcel A. schrieb: > Da man ja auch noch Leisten braucht, um ggf. beide Platinen > nebeneinander auf eine Board zu steckken, Leisten oder Buchsen? Aber auch wenn man stapelt, kann eine "Bodenplatte" sinnvoll sein. Anyway, ED hat auch "normale" Buchsen- und Stiftleisten. Für mich werde ich diese mitbestellen (jeweils "männlich" und "weiblich"): http://www.electrodragon.com/product/break-away-header/ Alternative Buchsen: http://www.electrodragon.com/product/10pcs-16pin-2-54pitch-pin-header-female-for-1602-lcd/ (Die muß man nicht zuschneiden/sägen, aber teurer) Die Bestellung möchte ich gerne bis Sonntag Abend zusammen haben. Bis dahin kann man hier ja noch über die Bauteile diskutieren. Konkrete Bestellungen möchte ich aber gerne per PM oder E-Mail haben. Auch von denen, die sich hier schon gemeldet hatten (Siggi, Harald, Marcel).
Um die Dokumentation bei diesem Projekt nicht so sträflich wie beim AVR CP/M zu vernachlässigen, anbei die Startvariante der Doku. Sie wird zukünftig auch im SVN liegen. Wer etwas dazu beizutragen hat, kann gerne daran mitarbeiten. Hinweise, Fehler, Erweiterungen sind selbstverständlich gerne gesehen.
:
Bearbeitet durch User
Den Micro-SD-Slot gibts bei den großen Distributoren (Farnell, Digikey, Mouser, RS Components) und Mercateo. Die haben alle höhere Mindestbestellwerte, oder liefern nicht an Privat. Distrelec hat ihn für 3,52€ pro Stück + 8,72€ Versandkosten, jeweils incl. MwSt. ebay hat 2 zu teure Angebote aus UK und Aliexpress hat nix.
Die letzte Zeit habe ich mal etwas mit dem Takt für den Z180 experimentiert. Statt dem CLKO-Pin am AVR kann man auch einen Timer-Ausgang nehmen. Damit kann man den Takt zwischen 0,27Hz und 9,22MHz einstellen. Mit dem Z8S180 Takt-Verdoppler kommt man dann wieder auf 18,432 MHz. Mehr als 20 MHz kann der Z8S180 bei 3.3V Vcc ja sowieso nicht. Als Taktausgang am AVR bietet sich PB7 (OC0A oder OC1C) oder PB5 (OC1A) an. PE7 (CLKO) wird dann frei. Im Anhang ist der AVR Bootloader FastBoot von Peter Dannegger/Tutorial ATtiny13, passend konfiguriert für die AVR-Stamp. Die Programmierung über ISP ging mir ziemlich schnell auf die Nerven, da beim ATmega1281 die ISP-Schnittstelle auf den Pins der Seriellen liegt. Und an letzterer hat man ja für gewöhnlich ein Terminal, bzw. einen Terminalemulator.
Zwischenstand Bestellung: 226 Stück 'Arduino Special-Used Pin Header [8 Pins]'[1] 6 Stück 'CR2032 CR2025 Battery Holder'[2] Beides wird nur in 10er Packs geliefert. Da ich eigentlich noch genug Knopfzellenhalter habe, würde ich mich freuen, wenn mir jemand noch ein paar abnimmt. Es bringt mich aber auch nicht um, wenn ich darauf sitzen bleibe (7,7 Cent/Stück). [1]http://www.electrodragon.com/product/arduino-special-used-break-away-pin-header-with-long-male-pins-68-pins/ [2]http://www.electrodragon.com/product/cr2032-cr2025-battery-holder/
> Ok - 2 :-) 2 was? Da ich auf den Micro-SD-Kartenslot angesprochen wurde: Wenn 4 Stück zusammen kommen, kosten die bei oben genannter Quelle[1] 5,70 Euro. Bei z.Zt. unwahrscheinlichen 10 Stück wären es immer noch 4,40 Euro. Mir persönlich zu teuer, aber wenn gewünscht, bestelle ich die so. Dafür bitte nochmal per PM oder E-Mail B'scheid sagen (vielleicht mit Preislimit). [1]Beitrag "Re: Z180-Stamp Modul"
Vorschlag: Phase 1 (Teilebeschaffung und Aufbau) hier und Phase 2 (Inbetriebnahme und Test) in einem neuen thread Beitrag "Z180-Stamp und AVR-Stamp Inbetriebnahme und Test" diskutieren. Könnte etwas zur Übersicht beitragen ...
Stimmt. Ich meine nur, ich nehme gerne auch 2 Batteriehalter, damit 10 zusammen kommen :-)
Wolfram K. schrieb: > Vorschlag: > Phase 1 (Teilebeschaffung und Aufbau) hier und > Phase 2 (Inbetriebnahme und Test) in einem neuen thread Und jedes mal, wenn sich der Fokus leicht ändert, ein neuer Thread, oder wie? > Beitrag "Z180-Stamp und AVR-Stamp Inbetriebnahme und Test" diskutieren. Ich dachte, das Thema verläuft sich. Ich habe gerade jetzt erst gesehen, daß Du tatsächlich schon einen neuen Thread aufgemacht hast. > Könnte etwas zur Übersicht beitragen ... So unübersichtlich finde ich es hier nicht. Im Durchschnitt weniger als ein Beitrag pro Tag, schätze ich mal.
Hallo Wolfram, ich bin so dreist, und antworte hier auf Deinen Artikel. Sicher wirst Du die Antwort auch hier finden. Falls Dein anderer Thread doch noch ins Rollen kommt, kann ich ihn ja immer ncoh abonieren. Wolfram K. schrieb: > Die Stromversorgung hat Joe schon ganz gut in > http://www.mikrocontroller.net/attachment/229766/Stamp_Doku.pdf erklärt. > Ich werde wohl den 3,3 V-Regler auf dem Z180-Stamp aufbauen, da ich > gerade keine andere Stromversorgung zur Hand habe. Und dann? Da die AVR-Karte Strom über USB bekommt, und ich diese zuerst in Betrieb nehmen wollte, habe ich ihr einfach einen passenden Regler an die Kante montiert. Vielleicht kann man das auf meinen Bildern weiter oben sehen. Ich gebe aber zu, daß das nicht die Lösung für alle ist. Eigentlich wollte ich den Regler auch wieder abbauen, wenn die Z180-Karte dran kommt... > - Wie programmiere ich den AVR zum ersten Mal? Wahrscheinlich über den > 6poligen ISP-Stecker. Genau. Bei der Gelegenheit die Fuses einstellen. Wenn Du dem Z180 keinen extra Quarz verpassen willst, solltest Du (bis auf weiteres) die CLKO-Fuse brennen, damit der AVR seinen Takt auf CLKO/PE7 ausgibt. Meine Fuses stehen auf: avrdude: safemode: Fuses OK (E:F5, H:D6, L:AF) Ohne Bootloader müßte F5 D1 AF passend sein. > Programmer (elektor) ist vorhanden. Macht es Sinn, > gleich den bootloader von Leo zu verwenden? Am Anfang wäre vielleicht über ISP sinnvoller, weil dann eine Fehlerquelle weniger. Und wenn man nur gelegentlich ein neues Programm aufspielt, kann man auch dabei bleiben. Aber man bekommt halt jedesmal Zeichensalat und evtl. nervendes Piepsen über die serielle Schnittstelle in den Terminalemulator. > - Wie kann ich die einzelnen Komponenten (USB, Speicherkarte, Uhr) > testen? Indem man Testprogramme dafür schreibt? ;-) > Hat jemand dazu schon ein paar Testroutinen geschrieben? Einen Teil kannst Du auch mit meinem angehängten Programm testen. Im wesentlichen gilt das gleiche, wie oben[1] schon mal geschrieben. Plus: - Environment Variablen kann man jetzt dauerhaft speichern. - Baudrate kann man einstellen, wird aber nur beim Neustart übernommen. - Datum und Uhrzeit kann man einstellen. (Wochentag wird falsch angezeigt). - Einstellbarer Clock an PB7, Steckerleiste A20. Experimentell, bei lansamem Takt funktionieren die Commands restart, mstep, und go <addr> nicht. - Debug Commands (die mit ! beginnenden), um RAM und EEPROM vom AVR anzuschauen. - Überraschende Debugging Ausgaben. SD-Karte geht leider immer noch nicht. Edit: Bild angehängt [1]Beitrag "Re: Z180-Stamp Modul"
:
Bearbeitet durch User
Der WR-CRD mikro SD 8-Pin kostet bei RS 4,29€ + MwSt das Stück, ab 15 Stück 3,64. Bei Bedarf bestelle ich. Ich würde eigentlich hier in diesem Thread bleiben wollen. Die Beschaffung verläuft sich auch wieder. Wolfram K. schrieb > Ich habe gerade den AVR-Stamp fertig zusammengelötet und stehe vor der > Frage, wie ich nun weiter vorgehe. Leo C. hat ja schon einiges gerade dazu erkärt. Parallel versuche ich die Doku zu schreiben. Der nächste Schritt wird die Programmierung des AVR und des Bootloaders sein. Zunächst erfolgt meine Beschreibung für Windows, für Linux fehlt mir die Zeit UND die Erfahrung. Wenn hier jemand etwas dazu schreibt (einfach als TXT-File) baue ich es gerne ein.
Joe G. schrieb: > Bei Bedarf bestelle ich. Ich plane gerade ein STM32F4-Platinchen und hatte mir diese ausgesucht: http://www.pollin.de/shop/dt/Mzc0ODQ1OTk-/Computer_und_Zubehoer/Hardware/Speicherkarten/micro_SD_Speicherkarten_Sockel_ATOM_MR01_AP20324.html Sehr günstig und hat sogar einen Pin mehr! 'Second-Source' hat Segor für 2,20.
m.n. schrieb: > Sehr günstig und hat sogar einen Pin mehr! Prinzipiell gibt es unglaublich viele Varianten. Für eine einmalige Bastellösung ist das absolut ok. Wenn ein Projekt jedoch in die Breite geht, es von vielen nachgenutzt wird, stellt sich sofort die Frage nach der Verfügbarkeit. Wie sieht es damit in zwei z.B. Jahren aus? Schon beim AVR CP/M Projekt hatten wir das Problem. Die erste Variante haben wir Anfang 05-2010 aufgebaut. Irgendwann 2012 oder 2013 waren die SD-Slots nicht mehr verfügbar. Die derzeit eingesetzte Variante sollte es hoffentlich noch viele Jahre geben.
Joe G. schrieb: > Ich würde eigentlich hier in diesem Thread bleiben wollen. Die > Beschaffung verläuft sich auch wieder. Ok, ich gebe mich geschlagen. Und gleich einen Dank an Leo und Joe für die hilfreichen Ausführungen. Meine Fragen reißen noch nicht ab ... Zum Aufbau des Z180-Stamp: Der 3,3V-Regler hat eine Kühlfläche. Wie bringt man das Teil auf die Platine? Reicht Anlöten an den Anschlüssen und Anlegen der Kühlfläche (ev. mit Wärmeleitpaste) oder soll man versuchen, die Kühlfläche auch anzulöten? Wenn ja, wie?
Joe G. schrieb: > Die derzeit eingesetzte Variante sollte > es hoffentlich noch viele Jahre geben. Darum hatte ich ja auch noch Segor ins Spiel gebracht, wobei man natürlich auch noch die Datenblätter der anderen Anbieter auf Kompatibilität vergleichen könnte. Bei der Relation ca. € 5,-- zu € 0,75 bin zumindest ich schwer ins Grübeln gekommen und habe gnadenlos zugeschlagen :-)
Wolfram K. schrieb: > Der 3,3V-Regler hat eine Kühlfläche. Wie bringt man das Teil auf die > Platine? Reicht Anlöten an den Anschlüssen und Anlegen der Kühlfläche > (ev. mit Wärmeleitpaste) oder soll man versuchen, die Kühlfläche auch > anzulöten? Wenn ja, wie? Mit Wärmeleitpaste kannst Du da nicht viel ausrichten. Die obere Kante des Reglers an die Flasche anlöten reicht zur Wärmeübertragung völlig aus. Ein Bild von Joe gibts hier: Beitrag "Re: Retro Fieber: Z80 oder 68000 ?" Der Regler kann max. 100 mA. (Mit mehr brauchen wir also nicht zu rechnen ;) Wenn wir von einer maximalen Eingangsspannung von 5,5V ausgehen --> 2,2V Differenz. Also maximal abzuführende Leistung: 220mW Wenn wir eine ganz schlechte Lötstelle haben, können wir mit dem Wärmewiderstand ohne Kühlkörper (RthJ = 92 K/W) rechnen. dT = 220mW * 92K/W = 20,24K Also ca. 20° Temperaturerhöhung worst case. Bei mir messe ich gerade 46mA. Allerdings ohne SD-Karten. Und die ein oder andere Led oder Schnittstellen werden ja auch noch dazu kommen.
Leo C. schrieb: > Im Anhang ist der > AVR Bootloader FastBoot von Peter Dannegger/Tutorial ATtiny13, > passend konfiguriert für die AVR-Stamp. Danke! Läuft sauber und macht mehr Spaß als ISP an und ab stecken. Nun schreib ich gleich mal Doku.
:
Bearbeitet durch User
>> AVR Bootloader FastBoot von Peter Dannegger/Tutorial ATtiny13, >> passend konfiguriert für die AVR-Stamp. Die Anpassungen sind minimal. Wirklich notwendig ist nur die Definition der beiden Pins für RX und TX. Im angehängten Diff ist zusätzlich noch ein Makefile. > Nun schreib ich gleich mal Doku. Danke
Bestellung bei Electrogdragon Wer noch Stift- und/oder Buchsenleisten oder Batteriehalter braucht kann sich noch melden(PM). Von Siggi und Marcel habe ich noch keine E-Mail und keine Postadresse. Ohne werde ich nicht bestellen. Bis Montag warte ich noch.
Eine überarbeitete Doku steht im SVN. Es gibt speziell Infos zum Bootloader und zur Host Software. Weiterhin ist bei der Inbetriebnahme der Stapelvariante die unterschiedliche Belegung der Pins A12 bis A26 zu beachten. Bei der Stapelvariante sind diese Pins NICHT zu verbinden! Näheres auch in der Doku im Anhang. Feierabend, noch einen schönen Sonntag
Leo C. schrieb: > Frage: Wie herum baut man die Leisten am Besten ein? Stifte oben, > Buchsen unten, oder umgekehrt? Die Frage ist oben noch unbeantwortet geblieben. Ich tendiere dazu, die Buchsen unter die Platinen zu machen, und die Stifte oben heraus stehen zu lassen. Man kann die Platinen dann auch mal ohne Grundplatte auf den Tisch stellen, und oben kann man leicht Clips zum Messen anklemmen. (Auf der obersten Platine könnte man die Stifte sogar abschneiden, wenn man sicher ist, daß man nichts mehr draufstecken will.) Auf die Grundplatte kämen dann normale Stiftleisten. z.B. diese hier: http://www.electrodragon.com/product/break-away-header/ [male] Wenn man ein Steckbrett drunter heften will, sollten es diese sein: http://www.electrodragon.com/product/same-length-pin-header-2-54mm/
Leo C. schrieb: > Die Frage ist oben noch unbeantwortet geblieben. Bei meiner Variante sind die Buchsen unten und die Stifte schauen oben raus. Genau aus dem Grund, den du auch angeführt hast. Der Stapel sthet auch ohne Grundplatte auf dem Tisch, zu Messen kann oben an die Stifte ein Oszi angeklemmt werden, auch Erweiterungen am AVR können oben aufgesteckt werden. Auf die Trägerplatine kommen zukünftig einfache Stiftleisten.
Zum Bootloader (Ergänzung zu Jörgs Beschreibung in der Doku.) Ein gutes Upload-Programm für Linux und andere Posix-Systeme gibt es hier: https://github.com/Boregard/FBoot-Linux Leider blicke ich bei den Kommandozeilenversionen (CLI) für Windows nicht durch. Peter Dannegers Original läuft wohl nicht auf 64-Bit Systemen und evtl. auch nicht auf den neuesten 32-Bit Windows-Versionen. CLI-Programme sind von Vorteil, wenn man einen guten Terminalemulator benutzt (Hyperterm ist es wohl nicht). Man kann den Uploader wie (andere) Datentransfer-Programme aus dem Terminal-Emulator starten, ohne ihn zu verlassen. Bei einigen Terminalemulatoren kann man den Bootloader ins Menü integrieren und mit einem Tastendruck starten. Beispiel für die Config von Minicom im Anhang.
:
Bearbeitet durch User
Meine Kommandozeilenversionen läuft nicht unter Windows 64-Bit und 32-Bit Außerdem wird nur Com1-Com4 unterstützt. In der Doku sind die beiden Programme AVRFlash [1] und Updateloader [2] beschrieben. Beide laufen unter den obigen Windows Systemen. Die Version 8.1 probiere ich noch aus. Allerdings lassen sie sich nicht in das Terminal (Tera Tem VT) einbinden. [1] http://www.mikrocontroller.net/articles/AVR_Bootloader_FastBoot_von_Peter_Dannegger /Tutorial_ATtiny13 [2] http://www.leo-andres.de/2012/09/updateloader-benutzeroberflache-fur-avr-bootloader/
:
Bearbeitet durch User
Das scheint mir genau unsere Variante desSD Card Connectors zu sein. 20 Stück für 5$ http://www.aliexpress.com/item/20PCS-TF-Micro-SD-Card-Connector-Memory-Card-Socket-holder-flip-type/1923989325.html
Joe G. schrieb: > Das scheint mir genau unsere Variante desSD Card Connectors zu sein. > 20 Stück für 5$ > http://www.aliexpress.com/item/20PCS-TF-Micro-SD-Card-Connector-Memory-Card-Socket-holder-flip-type/1923989325.html Wenn Du das sagst, wirds sehr wahrscheinlich stimmen. Du kannt ja vergleichen. Wie hast Du die überhaupt gefunden? Price: € 3,91 / lot 20 pieces / lot , € 0,20 / piece Shipping: Free Shippingto Germany via China Post Air Mail Estimated Delivery Time: 15-34 days (ships out within 9 business days) Willt Du bestellen, oder soll ich? Meine andere Bestellung wird wahrscheinlich viel früher da sein, aber wenn jemand Geduld hat und Porto sparen will, könnte ich die Halter zusammen mit den anderen Teilen verschicken
:
Bearbeitet durch User
Hier mal das Original, Pinanzahl und Lage stimmen überein. Leo C. schrieb: > Wie hast Du die überhaupt gefunden? Zufall Ich bestell mal, Briefporto ist ja nicht sooo teuer. Ich kann dann auch gleich überprüfen ob sie wirklich 100% passen. Bei 3,91 kann ich nicht viel falsch machen.
> Ich wäre dabei... Bei dem Preis kann ja fast jeder selber bestellen. Aber was macht man dann mit die restlichen 19 Stück? Außerdem muß man evtl. extra ein Konnto bei Alibaba/Aliexpress anlegen, wenn man noch nicht hat. Nachtrag: > Ich kann dann auch gleich überprüfen ob sie wirklich 100% passen. Gute Idee
:
Bearbeitet durch User
Leo C. schrieb: > Bei dem Preis kann ja fast jeder selber bestellen. Aber was macht man > dann mit die restlichen 19 Stück? Genau das ist das Problem....
ich melde auch mal meinen Bedarf von 4 Stück SD-Card-Connectoren an. Gruß Siggi
siggim schrieb: > ich melde auch mal meinen Bedarf von 4 Stück SD-Card-Connectoren an. Ich habe gestern schon bestellt. Harald 1 Siggi 4
Wenn's ums Loswerden geht nehme ich dir auch 2-3 ab. Wirst ja sehen wer sich noch meldet!
Frage Basisplatine Die Basisplatine soll ja zwei echte RS232 Schnittstellen erhalten. Damit ergibt sich die Frage nach den Buchsen und ihrer Belegung. 1. Möglichkeit (echtes Endgerät) Das CP/M System ist ein echtes Endgerät und bekommt 2x eine 9-polige SUB-D Buchse (male). Mit Pin 3 = TxD und Pin 2 = RxD. Damit würde ein VT100 Terminal z.B. über ein normales Nullmodem Kabel angeschlossen werden. Vorteil: (echte Retro-Beschaltung) Nachteil: RS232toUSB-Wandler nicht nutzbar (selber male). 2. Möglichkeit (Modem) Das CP/M System ist wie ein Modem beschaltet und bekommt 2x eine 9-polige SUB-D Buchse (female). Mit Pin 2 = TxD und Pin 3 = RxD. Damit würde ein VT100 Terminal z.B. über ein Modem-Kabel angeschlossen werden. Vorteil: RS232toUSB-Wandler nutzbar (male). Nachteil: (nicht Retro-Konform) 3. Möglichkeit (Mischbelegung) VT100 bekommt 1x 9-polige SUB-D Buchse (male), mit TxD=3 und RxD=2 RS232 bekommt 1x 9-polige SUB-D Buchse (female), mit TxD=2 und RxD=3 DCD,DTR,DSR usw. natürlich analog Was meint ihr? Vorschläge?
Also DB9 ist weder echt Retro noch standardkonform. DB9 hat IBM mit ihrem PC durchgesetzt, und gibt es weder in RS232 noch in V24. Wenn schon, dann mußt Du D-SUB 25 nehmen. ;) Eines hat IBM aber richtig gemacht. Da der PC kein Modem ist, sondern nach RS232 ein Endgerät (DTE, Data Terminal Equipment), haben sie den Stecker mit Stiften genommen. Andere nahmen (odere tun es immer noch) Buchsen für ihre Nicht-Modem-Geräte. > Die Basisplatine soll ja zwei echte RS232 Schnittstellen erhalten. Damit > ergibt sich die Frage nach den Buchsen und ihrer Belegung. Du willst die D-Sub Stecker also direkt auf die Platine montieren. Eine Alternative wäre, 10-polige Pfosten/Wannen auf die Platine zu setzen. D-Sub dann über Flachbandkabel. War in PC's mal üblich, und von diesen Kabeln habe ich noch ein paar. 2 sind auf dem Foto. > 1. Möglichkeit (echtes Endgerät) > Das CP/M System ist ein echtes Endgerät und bekommt 2x eine 9-polige Natürlich ist es ein echtes DTE. > SUB-D Buchse (male). Mit Pin 3 = TxD und Pin 2 = RxD. Damit würde ein > VT100 Terminal z.B. über ein normales Nullmodem Kabel angeschlossen > werden. Das VT100 hat einen 25-poligen D-Sub Stecker (male). Du hast andere Nullmodemkabel als ich. ;) Unter Nullmodem verstehe ich ein Gerät/Kabel, daß an beiden Enden wie ein Modem aussieht, also Buchse mit DCE-Belegung. An beide Enden kann man direkt ein DTE, also Stecker (männlich) mit DTE-Belegung, anschließen. > Vorteil: (echte Retro-Beschaltung) > Nachteil: RS232toUSB-Wandler nicht nutzbar (selber male). Diese USB-Wandler sind ja ein Ersatz für die RS232 am PC, also DTEs. > 2. Möglichkeit (Modem) > Das CP/M System ist wie ein Modem beschaltet und bekommt 2x eine > 9-polige SUB-D Buchse (female). Mit Pin 2 = TxD und Pin 3 = RxD. Damit > würde ein VT100 Terminal z.B. über ein Modem-Kabel angeschlossen werden. > Vorteil: RS232toUSB-Wandler nutzbar (männlich). > Nachteil: (nicht Retro-Konform) > > 3. Möglichkeit (Mischbelegung) > VT100 bekommt 1x 9-polige SUB-D Buchse (male), mit TxD=3 und RxD=2 > RS232 bekommt 1x 9-polige SUB-D Buchse (female), mit TxD=2 und RxD=3 > > DCD,DTR,DSR usw. natürlich analog > Was meint ihr? Vorschläge? Meine Meinung dürfte klar geworden sein. Ich kann mich aber auch mit Kompromissen anfreunden, wenn sie das Leben einfacher machen. Und egal, wie Du Dich entscheidest, ich habe den passenden Adapter. Im Bild ist eine Auswahl zu sehen. Wie auch immer, ich würde die 2. Serielle (ASCI1) für das Terminal nehmen, und ASCI0 als "Univarsalschnittstelle" für Modem, Printer, Kommunikation zu anderen Rechnern...
Danke für die Ausführungen, > Also DB9 ist weder echt Retro noch standardkonform. Stimmt schon, ist ja erst mit IBM groß geworden. (also Pseudo-Retro);-) > Unter Nullmodem verstehe ich > ein Gerät/Kabel, daß an beiden Enden wie ein Modem aussieht, also Buchse > mit DCE-Belegung. An beide Enden kann man direkt ein DTE, also Stecker > (männlich) mit DTE-Belegung, anschließen. Genau so dachte ich. Das VT100 ist ein echtes DTE, das CP/M auch, dazwischen das Nullmodem mit Buchse-Buchse am Ende und RxD/TxD gekreuzt. So liegen die Kabel bei mir rum. Das VT100 bekommt natürlich ein DB9 (male) - also Pseudo-Retro. > Eine Alternative wäre, 10-polige Pfosten/Wannen auf die Platine zu > setzen. D-Sub dann über Flachbandkabel. So habe ich es auch vor. Die Kabel habe ich schon gecrimpt. Wer Voll-Retro möchte, kann ka ein echten DB25 anschließen. > Wie auch immer, ich würde die 2. Serielle (ASCI1) für das Terminal > nehmen, und ASCI0 als "Univarsalschnittstelle" für Modem, Printer, > Kommunikation zu anderen Rechnern... Auch so ist es geplant.
> Genau so dachte ich. Das VT100 ist ein echtes DTE, das CP/M auch, > dazwischen das Nullmodem mit Buchse-Buchse am Ende und RxD/TxD gekreuzt. Das heißt doch, wenn man die CP/M-Kiste statt ans VT100, über einen USB-Serial-Adapter an den PC anschließen will, geht das ganz genau so. Und VT100 an PC ist natürlich auch gleich. Also überhaupt kein Problem. Achso, wahrscheinlich meinst Du, im 2. Fall kann man sich das (Null-Modem-) Kabel sparen, weil an dem USB-Adapter ja schon einer dran ist. Wie man an dem Adapter in meinem Bild sieht, stimmt das aber sowieso nicht immer. > So habe ich es auch vor. Die Kabel habe ich schon gecrimpt. Wer > Voll-Retro möchte, kann ka ein echten DB25 anschließen. Erst dachte ich, dann ist das sowieso kein Problem. Man quetscht oder lötet einfach einen anderen Stecker ans Flachbandkabel. Aber man muß ja dann auch Adern tauschen. > Auch so ist es geplant. Dann bin ich ja beruhigt. :)
Leo C. schrieb: > >> Auch so ist es geplant. > > Dann bin ich ja beruhigt. :) Jetzt raucht mir der Kopf - aber bei meinen Basteleien bin ich da auch immer durcheinander gekommen und habe immer erst mal gemessen bzw. neu verdrahtet. Habe gerade aktuelle eine Apple IIe serielle Karte (SSC) an einen Raspi-USB-Wandler angeschlossen - die Karte kann man intern von Terminal auf Modem umschalten. Aber das "Nullmodemkabel" ging dann trotz passender Stecker nicht...
Zu den Schnittstellen. Ich würde auch sagen Pfostenleisten wären am besten. Da kann sich jeder mittels Flachbandkabel draufstecken was er braucht.
Harald schrieb: > Ich würde auch sagen Pfostenleisten wären am > besten. Der Trick liegt darin, das Kabel ohne aufzuspleißen oder zu drehen an den Pfostenstecker zu bringen. Ich entwerfe gerde einige Lösungen.
Man glaubt es kaum. Die 8-poligen Buchsenleisten vom Electrodragon [1] sind nicht ohne weiteres anreihbar. Der Kunststoffkörper ist etwas zu lang. :-( Man kann/muß sie mit Feile oder Schleifpapier bearbeiten, falls man nicht zufällig eine Scheifmaschine hat. [1] Die hier: Beitrag "Re: Z180-Stamp Modul"
Leo C. schrieb: > Der Kunststoffkörper ist etwas zu lang. :-( Ist nicht schlimm, war bei mir auch so: Beitrag "Re: Z180-Stamp Modul" Übrigens: Vielen Dank für das Päckchen! Es kam gerade an.
> Ist nicht schlimm, Ich war so sauer, daß ich die Enden teilweise bis aufs blanke Metall abgefeilt hatte. :) Aber jetzt gehts wieder. > war bei mir auch so: Hier ist es allerdings die doppelte Menge, und die Hälfte davon muß man auf beiden Seiten kürzen. Deinen Artikel hatte ich gelesen, aber an den Absatz kann ich mich überhaupt nicht erinnern.
Nein, noch nichts. Kommt ja aus China und dauert halt etwas.
:
Bearbeitet durch User
Hier ist mal ein kleines Update meines Testprogramms. Den Befehl 'clock' habe ich durch einen allgemeineren Befehl 'pin' ersetzt. Man kann damit die AVR-Portpins, die noch keine feste Funktion haben, als konfigurieren und den Pegel setzen. Bei Ports mit Timerausgang kann man die Frequenz einstellen. Von den 5 Timerkanälen können maximal 3 gleichzeitig aktiv sein, da pro Timer immer nur ein Kanal eine Frequenz erzeugen kann. Der Einfachheit halber sind die Pins von 0 bis 10 durchnumeriert. Man könnte sie aber auch nach der Pin-Nummer auf der Steckerleiste benennen. Außerdem könnte man den Pins über eine Environmentvariable Namen zuordnen.
1 | Pin Name Port Timer Mode max div max div min f [Hz] |
2 | ---------------------------------------------------------------------------------- |
3 | 0 PG5 OC0B PWM (2**8)*1024 262144 70.31 |
4 | 1 PG4 |
5 | 2 CLK2 PB4 OC2A Toggle (2**8)*1024*2 524288 35.16 |
6 | 3 ZCLK PB5 OC1A PWM (2**16)*1024 67108864 0.2746 |
7 | 4 PB6 OC1B PWM (2**16)*1024 67108864 0.2746 |
8 | 5 PB7 OC0A Toggle (2**8)*1024*2 524288 35.16 |
9 | 6 PG3 |
10 | 7 PG2 |
11 | 8 PG1 |
12 | 9 PG0 |
13 | 10 CLKO PE7 |
14 | ---------------------------------------------------------------------------------- |
"Screenshoot":
1 | ATMEGA1281+Z8S180 Stamp Monitor |
2 | |
3 | ### main_loop entered: bootdelay=-1 |
4 | |
5 | ### main_loop: bootcmd="pin ${pins}; reset; loadf; go ${startaddr}" |
6 | => pin |
7 | Pin Config Level Divider Frequency/Hz |
8 | ----------------------------------------- |
9 | 0 Input Low |
10 | 1 Input Low |
11 | 2 Input High |
12 | 3 Input High |
13 | 4 Input Low |
14 | 5 Input Low |
15 | 6 Input Low |
16 | 7 Input Low |
17 | 8 Input Low |
18 | 9 Input Low |
19 | 10 Input High |
20 | => pin 2 Low 3 9MHz |
21 | => pin 2,3 |
22 | Pin Config Level Divider Frequency/Hz |
23 | ----------------------------------------- |
24 | 2 Output Low |
25 | 3 Clock 2 9216000 |
26 | => |
Marcel A. schrieb: > Ich glaube, langsam werde ich mit dem Aufbau mal beginnen müssen :-) Ich hab heute losgelegt. Und gleich mal eine Frage... Also der Aufbau der Boards verlief problemlos (unerwartet). Die Pinheader und der SD-Slot fehlen noch, sonst fertig. Allerdings ist mir aufgefallen, dass ATMEL Studio die Programmierung des 1281 via STK500-kompatiblen ISP-Programmer nicht mehr unterstützt... In AVR Studio 4 gehts anscheinend; zumindest hat sich der Chips auslesen lassen... das Programmieren muss ich morgen mal probieren Edit: Wollte gerade die Fuses setzen (Studio 4.2) aber es kommt nur eine Fehlermeldung...
:
Bearbeitet durch User
Edit: wieder was gelernt. In Studio 6.2 device eingeben, 'unsupported' ignorieren, fuses setzen und programmieren. Läuft alles rund..
Könnte mal jemand sagen wie man diese Anzeigen nennt und wo es sie gibt? Datenblatt? Das suche ich auch noch.... sehr Retro :-)
Christian J. schrieb: > Könnte mal jemand sagen wie man diese Anzeigen nennt und wo es sie gibt? > Datenblatt? Das suche ich auch noch.... sehr Retro :-) Deinen "eigenen" Thread liest Du nicht? Dort steht schon lange, wie die Dinger heißen (TIL311), und ein Bild, auf dem man auch den Stromverbrauch sieht, ist da auch. Und der Stromverbrauch, über den Du bei den NMOS-Chips ja so gern jammerst, ist aber so was von Retro...: Beitrag "Re: Retro Fieber: Z80 oder 68000 ?" Bei Ebay findet man die Displays zahlreich, aber selten billig. Es gibt (oder gab) ähnliche von HP.
Hi! Ich konnte es nicht abwarten und hab den sd Halter bei distrelec besorgt. Nun eine vlt blöde Frage, aber wie löte ich die pins? Kann man die Abdeckung abnehmen ohne dass man was zerstört. Oder gibt's eine eigene Technik?
Harald Nagy schrieb: > Kann man > die Abdeckung abnehmen ohne dass man was zerstört. Ja :-) Auf der Oberseite ist ein kleiner Pfeil. Den Deckel in diese Richtung schieben, dann Deckel einfach aufklappen. Nun kann prima gelötet werden.
Harald schrieb: > Gibt's Neuigkeiten bzgl der SD-Karten-Halter? Da die Ware bei mir eintraf und der Käuferschutz in wenigen Tagen ausläuft, habe ich die Zahlung rückabgewickelt. Die Halter sind immernoch im Shop erhältlich, angeblich mit 100% Zufriedenheit. Nochmals bestellen? http://www.aliexpress.com/item/20PCS-TF-Micro-SD-Card-Connector-Memory-Card-Socket-holder-flip-type/1923989325.html
:
Bearbeitet durch User
> http://www.aliexpress.com/item/20PCS-TF-Micro-SD-Card-Connector-Memory-Card-Socket-holder-flip-type/1923989325.html Was heißt denn "No Feedback Score"? Gibts bei Nicht-Bewertung automatisch die Bestbewertung? Witzig. > Nochmals bestellen? Weiterhin "low priority" Interesse.
Hallo Joe, ich wäre für nochmals bestellen. Was wäre denn die Alternative? Gruß Siggi
> Was wäre denn die Alternative?
(Mikro-)SD-Kartensockel über die Stiftleisten anschließen (Grundplatte).
Ist ja sowieso für die Zweitkarte geplant.
Der Sockel auf meiner Lochraster-Grundplatte ist aber auch immer noch
nicht verdrahtet. Dabei habe die inzwischen von Turm auf Nebeneinander
umgestrickt.
Nur mal eine Frage - kanntet ihr das? Vermutlich schon :-) http://www.pci-card.com/euro-z80.html http://www.pci-card.com/sepia.html#SEPIA-CPU und den NDR-NKC: http://schuetz.thtec.org/ http://www.drcrazy.de/nkc/
Marcel A. schrieb: > Nur mal eine Frage - kanntet ihr das? Danke! Da werden sich aber Hans-Werner und auch Heinrich freuen, dass ihre Internetseiten hier verlinkt werden :-)
Marcel A. schrieb: > Oh - ich war so begeistert... Habe ich was falsch gemacht? Nein, alles OK! Meine Freude war ehrlich gemeint. Beide beschäftigen sich in bewundernswerter Weise mit dieser Technik.
Mein Monitor-Programm kann inzwischen SD-Karten lesen und schreiben. Die BIOS-Schnittstelle, damit der Z180 darauf zugreifen kann, fehlt allerdings immer noch. Aber da ich dieses Jahr sicher nicht mehr dazu kommen werde, stelle ich den aktuellen Stand mal hier rein. Das Programm ist jetzt für 2 Kartensockel konfiguriert. Sockel 0 ist auf der AVR-Stamp-Karte. Für Sockel 1 habe ich bis auf weiteres PG4 für CS und Kartenerkennung vorgesehen. Für CD- und WP-Switches könnten PG3 und PG5, aber natürlich auch andere freie Ports genutzt werden. Darauf, daß man den CS/DAT3-Pin der SD-Karte auch zur Kartenerkennung verwenden kann, bin ich erst vor kurzem gekommen, und habe es gleich mal in das Programm eingebaut. Damit der Pin in dieser Weise funktioniert, muß ein Pulldown-Widerstand, ca. 300K oder größer, angeschlossen sein. Da an dem Pin auf der AVR-Stamp "leider" die LED nach VCC hängt, funktioniert es dort nicht. Falls jemand den MicroSD-Sockel bestückt hat, würde es mich freuen, wenn er die Kartenfunktionen mal testen könnte. Insbesondere würde mich interressieren, ob die Kartenerkennung an dem Sockel funktioniert. Dazu müßte allerdings die LED vom CS-Pin getrennt werden. => sd status 0 Socket status: 01 Mit:
1 | /* Disk Status Bits (DSTATUS) */
|
2 | #define STA_NOINIT 0x01 /* Drive not initialized */ |
3 | #define STA_NODISK 0x02 /* No medium in the drive */ |
4 | #define STA_PROTECT 0x04 /* Write protected */ |
5 | #define STA_FAST 0x08 /* Fast SPI clock */ |
Sehr cool! Vlt komm ich heuer noch zum testen. Kannst du evtl den Quellcode auch hochladen. Schönes Fest und guten Rutsch!
Der Quellcode[1,2] ist immer noch Kraut und Rüben. Zur Zeit nehme ich Tup[3] als Build system (statt Make) Tup hat ggü. Make einige Vorteile, aber: - Läuft auf ungewöhnlichen OS' nicht so gut. - Auf 64-bit Windows läufts wohl immer noch nicht. - Der CP/M-Emulator (für M80) läuft nur mit einem Patch, den der Autor wahrscheinlich nicht aktzeptieren wird. In die Windows-Version bekomme ich den Patch garnicht rein. Inzwischen glaube ich nicht mehr, das man den Build in absehbarer Zeit mit Tup unter Windows vernünftig zum Laufen bekommt. Also müßte mal jemand Makefiles schreiben. [1] http://cloudbase.mooo.com/gitweb/?p=z180-stamp.git [2] http://cloudbase.mooo.com/cgit/z180-stamp/ [3] http://gittup.org/tup/index.html
Joe G. schrieb: > Marcel A. schrieb: >> Oh - ich war so begeistert... Habe ich was falsch gemacht? > > Nein, alles OK! Meine Freude war ehrlich gemeint. Beide beschäftigen > sich in bewundernswerter Weise mit dieser Technik. Ja, mir wird auch ganz warm ums Herz. Das waren noch Zeiten! Z80-CP/M-System mit Faedeldraht auf Lochraster von Hand zusammengebaut. Auf freie "Rechenzeit" am Eprommer im Rechenzentrum gewartet, Kilobyteweise Hexcode eingetippt ... nebenan ratterten die Lochkarten und klackerten die Magnetbaender ... boah bin ich alt. Aber damals waren wir noch jung und schoen ...
Leo C. schrieb: > Falls jemand den MicroSD-Sockel bestückt hat, würde es mich freuen, wenn > er die Kartenfunktionen mal testen könnte. Habe gerade getestet. 1. LED 1 auslöten und durch 330k (1206) ersetzt. 2. R2 auslöten 3. R2/LED1 pin auf GND gelegt (am Reset Taster) vor dem Umbau: sd status 0 Socket status: 01 nach dem Umbau (Scan Disk 1GB) sd status 0 Socket status: 03 (???) sd info 0 No disk sd init 0 No disk
Danke für die Mühe. Joe G. schrieb: > nach dem Umbau (Scan Disk 1GB) > sd status 0 > Socket status: 03 (???) Ohne Karte wäre der Status ok. Leo C. schrieb: > #define STA_NOINIT 0x01 /* Drive not initialized */ > #define STA_NODISK 0x02 /* No medium in the drive */ 2 Möglichkeiten. 1. Die Karte hat keinen Pullup an dem Pin (unwahrscheinlich). 2. Softwarefehler. Der Zweitsockel funktioniert bei mir. Der Erstsockel sollte eigentlich gleich funktionieren. Ich werde mal nachschauen. Dauert aber, da ich gerade nicht viel Zeit habe.
Leo C. schrieb: > muß ein Pulldown-Widerstand... > 1. Die Karte hat keinen Pullup an dem Pin up oder down? Ich habe gerade nochmals in der Beschaltung nachgesehen, soll wohl ein Pullup sein. Ich löte mal um...
:
Bearbeitet durch User
Sehr merkwürdig... mit und ohne eingelegter SD-Card sd status 0 Socket status: 01 sd status 1 Socket status 03 sd info 0 Not initialized sd info 1 No disk
Up. SD-Karten haben am DAT3/CS-Pin einen Pullup[1]. Damit die Leitung ohne Karte nicht in der Luft hängt, braucht man in der Schaltung einen Pulldown x-facher Größe. [1] Fußnote 3 auf Seite 3-1 in [2]: After power up, this line is input with 50Kohm(+/-20Kohm) pull-up (can be used for card detection or SPI mode selection). The pull-up may be disconnected by the user, during regular data transfer, with SET_CLR_CARD_DETECT (ACMD42) command. [2] http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Components/General/SDSpec.pdf Nachtrag: Ist meine E-Mail angekommen?
:
Bearbeitet durch User
Dank Joe funktioniert jetzt auch der Micro-SD-Sockel auf der AVR-Stamp-Karte. In der letzten Programmversion war noch ein Fehler, der nicht nur die Kartenerkennung verhinderte, es fehlte die Steuerung des CS-Signals. Mit der angehängten Version gehts jetzt. Noch ein Hinweis: Joe war so freundlich, die LED aus- und einen Pulldwown-Widerstand einzubauen, um die Kartenerkennung zu testen. Der Umbau ist aber nicht unbedingt notwendig. Mit eingebauter LED kann nur das Fehlen der SD-Karte nicht erkannt werden. Man bekommt dann andere Fehlermeldungen beim Zugriff.
Die RTC Funktion sieht auch fehlerfrei aus :-) Danke! => date Mon Dec 22 10:26:44 2014
Passend zu Leo's verbessertem Monitor eine überarbeitete Version der Doku. Mit ihr sollte RTC und SD-Card bzw. FAT-Filesystem zu testen sein.
Super Doku, Joe! Danke. Als ich die SD-Karten Statusanzeige gebaut hatte, fiel mir schon auf, das der Statuscode 08 (Fast SPI clock) für den Benutzer eher verwirrend als nützlich ist. Ich werde daß Programm ändern, damit er bei der Statusabfrage ausgefiltert wird. Dann muß er auch nicht mehr dokumentiert werden. Sonst noch: Im Unterkapitel Boot Size Configuration, erster Satz, ist ein Wort zu viel. Im Unterkapitel Host Software könnte man noch einen Link zu einem Linux und OS X Programm aufnehmen: https://github.com/Boregard/FBoot-Linux Das Dokument, daß unter [4] verlinkt ist, ist von SanDisk und heißt "SanDisk SD Card Product Manual, Version 2.2" Leider ist es auf der SanDisk Website nicht zu finden. Es wäre schön, wenn jemand dafür einen besseren Link finden würde. Falls sich jemand noch mehr für die Hardware-Details der SD-Karten-Schnittstelle interessiert: Es gibt eine tolle Application note von NXP: AN10911 - SD(HC)-memory card and MMC interface conditioning Link gerade nicht parat, sollte aber leicht zu finden sein.
Danke Leo, die Änderungen sind eingearbeitet. Eine gute Doku zur SD-Card ist auch hier zu finden. https://www.sdcard.org/downloads/pls/simplified_specs/ Der aktuelle Arbeiststand der Doku wie immer hier: http://www.mikrocontroller.net/svnbrowser/avr-cp-m/trunk/manual/ Leos letzter Arbeiststand hier: http://www.mikrocontroller.net/svnbrowser/avr-cp-m/trunk/stamp/avr_stamp/Testtools/
So, alles fertig gelötet und provisorischen Kabelsalataufbau zusammengestöpselt (werd mir wohl eine Basisplatine löten). Danke Leo, die on-board SD-Karte funktioniert einwandfrei! Wichtig nur, den Doppelpunkt nach dem 0 nicht zu vergessen..... Eine Frage: wie kann ich prüfen, ob das Z180-Board wirklich läuft?
Harald Nagy schrieb: > Eine Frage: wie kann ich prüfen, ob das Z180-Board wirklich läuft? Zunächst kannst du ja mit dem Monitor einzelne Z180 Befehle in den RAM schreiben und auch ausführen. Außerdem wird bei Start des Monitors Leo's DDT in den RAM geladen und kann über die serielle Schnittstelle des Z180 bedient werden. Dazu muß sie zusätzlich auch verdrahtet werden. Beitrag "Re: Z180-Stamp Modul"
Ah danke! Den Beitrag muss ich anscheinend überlesen haben. Ich dachte, die Z180-Outputs werden zum AVR durchgeschleift... Wenn ich jetzt darüber nachdenke wirds logisch....
Ok, soweit so gut. Leider funktioniert meine Z180-Stamp nicht... Beim Versuch den Speicher manuell zu beschreiben erhalte ich die Fehlermeldung "bus timeout". Ich vermute und befürchte mal, dass bedeutet Lötstellencheck...
Hast du beachtet, dass nicht alle Leitungen zwischen AVR-Stamp und Z180-Stamp 1:1 verbunden sein dürfen (siehe Doku Anhang A).
Ich habe alle Leitungen, die unter "all" zusammengefasst sind, zusammengeschlossen. Weiterhin habe ich mit und ohne CLKO versucht sowie den Jumper am Z180 Board in beiden Stellungen versucht. Bezüglich der Stromversorgung habe ich den Jumper für USB gesetzt, alle GND verbunden, sowie 5 und 3,3 V der beiden Boards verbunden. Entsprechend dem Manual habe ich die Jumper 2/3/4 verbunden. Beim Durchmessen lagen überall die korrekten Spannungen an. Das AVR Board funktioniert vollständig (also auch die Uhr und SD Karte), nur das Z180 Board macht keinen Pieps. Zusatz: Habe eben vorhin die Lötstellen nochmal angesehen. Schaut alles ganz ok aus soweit.
:
Bearbeitet durch User
Es gibt auf dem Z180 Board ein Layoutfehler (Brücke zwischen ZRESET und WAIT)Das Problem wurde hier im Forum schon mal besprochen. Es gibt eine Lösung VOR der Bestückung [1] und eine "Aufbohrlösung" von Leo C. nach der Bestückung. Mit diesem Fehler läuft die CPU nicht. [1] http://www.mikrocontroller.net/svnbrowser/avr-cp-m/trunk/stamp/z180_stamp/docs/?sortdir=down#dirlist
Auch das habe ich bereits vor dem Löten korrigiert und auf Korrektheit durchgemessen. Ich hab echt keine Ahnung was da nicht passt...
Hallo, als völliger Quereinsteiger hier in diesem Thread, habe ich mich mal durchgelesen und versucht das Projekt im Kopf zusammen zu setzen. Es stellt sich die Frage: Was kann man mit dieser Stamp anfangen? Ist das eine weitere CP/M Plattform zur Benutzung von CPM Programmen oder eine Art "Microcontroller" der sich zur Steueraufgaben einsetzen lässt? Ist die Stamp für sich allein verwendbar oder muss sie ergänzt werden durch Peripherie an den Bus Pins? Für den Z180 gibt es im Netz sehr wenig wie nich finde aber an einem DIP64 Baustein hätte ich schon Interesse, diesen in einem Minicomputer zu verwerkeln.
Ich wünsche allen Mitlesern ein gesundes neues Jahr! Das Z180-Stamp Projekt ist in erster Linie ein Lebensgefühl. Einige der hier Beteiligten sind mit dem Z80 und CP/M bzw. U880 und SCP :-) groß geworden. Es macht einfach immer noch Freude sich mit dieser Technik zu beschäftigen. Vielleicht vergleichbar wie das Basteln mit Röhren. Für heutige Steuerungsaufgaben gibt es sicher geeignetere Prozessoren als den Z180. Prinzipiell könnte man den Z180 ohne weiteren Prozessor (hier der AVR) betreiben. Es gibt auch hier im Forum einige Beiträge die sich damit beschäftigen. In dem hier verfolgten Aufbau übernimmt der AVR die Funktion eines EPROM’s der Kommunikation mit dem Host, der Erzeugung des Takt, der Ansteuerung der SD-Card usw. Letztlich könnte das Z180-Stamp Modul mit einer ECB-Busanpassung mit vorhandener Z80 Hardware kombiniert werden.
Joe G. schrieb: > Das Z180-Stamp Projekt ist in erster Linie ein Lebensgefühl. Einige der > hier Beteiligten sind mit dem Z80 und CP/M bzw. U880 und SCP :-) groß > geworden. Es macht einfach immer noch Freude sich mit dieser Technik zu > beschäftigen Hmm.....also "EPROM mit Fenster" cool finden, grüne Schrift auf schwarzen Monochrom Monitor, IC's, die man ohne Pinzette und Lupe löten kann, Chips die warm werden und damit zeigen dass sie "arbeiten". Einen Timer als Chip, eine UART als Chip dazu, RAM was man in die Hand nehmen kann. Eine CPU die man verstehen kann, ohne E-Technik studiert zu haben. Etwas zu bauen was man heute als 1-Chip Lösung für 2€ kaufen kann, aber ohne "Aha" Erlebnis. Ok...
Bei mir ist es eher umgekehrt. Ich bin mit PCs (Turbo Pascal) 1986 groß geworden, habe also die C64/Apple/... Zeit nicht miterlebt bzw. das waren unerreichbare Dinge, als ich klein war. Das hole ich heute nach, eben weil es darum geht, Dinge auch zu verstehen (wovon ich meilenweit entfernt bin - :-)) und nicht nur zu "usen". Das ist ja auch das große Credo der Herren vom WDR ComputerClub gewesen: Zumindest die Dinge dahinter zu verstehen. Von daher war ich baff erstaunt, als ich letztens mit meinem Kleinen die Sendung mit der Maus schaute und dort ein Taschenrechner erklärt wurde und dafür an einer großen Wand mit Lampen, Kugeln und Taster das Binärsystem inkl. Rechenoperationen erklärt wurde. Aber nun genug der Nostalgie - Hochachtung vor den Leistungen der Hauptaktiven hier - und ich warne schon mal vor bzgl. dummer fragen, denn ich fange dann doch "bald" mal an.
Noch eine Frage bzgl. meiner nicht funktionierenden Z180 Stamp: Muss ich den Pins, die nicht mit dem AVR verbunden sind (wie zb HALT, NMI, WAIT, INT0, INT1, INT2 und andere), definierte Pegel anlegen?
Harald Nagy schrieb: > Muss ich den Pins, die nicht mit dem AVR verbunden sind (wie zb HALT, > NMI, WAIT, INT0, INT1, INT2 und andere), definierte Pegel anlegen? Nein, die liegen bereits auf definiertem Pegel. Du solltest zunächst mal schauen ob am Z180 ein Takt anliegt und ob sie die CPU im Resetzustand befindet. Um den Speicher zu beschreiben muss die CPU dann in den DMA-Mode versetzt werden. Bei korrekter Funktion wechselt dann die CPU in diesen Mode und schaltet die Adress- Daten und Steuerleitungen hochohmig. Leider kann ich das genaue Taktdiagramm dazu derzeit nicht raussuchen, da ich gerade im Urlaub bin. Nächste Woche bin ich wieder verfügbar.
So, ich hab's heute nochmal versucht und mit meinen eher rudimentären Mitteln die Signale gecheckt. An der seriellen Schnittstelle sehe ich trotzdem nichts... Zusammenfassung: - die AVR Stamp läuft - zur Z180 Stamp: * an PHI liegt ein ca 9 MHz Takt - passt * an M1 und MREQ huschen Signale - passt * ZRESET ist high - passt * an den Adress- und Datenleitungen ist Verkehr - passt * an RXA und TXA passiert nix - passt nicht * zu obigen Ergebnissen komme ich sowohl mit Quarz als auch mit CLKO Das bedeutet für mich, dass die CPU läuft nur an der seriellen Schnittstelle kommt tatsächlich nix raus... Leider muss ich die Sachen dieses Wochenende liegen lassen. Vlt ergibt sich ja bis Montag eine Lösung.....
Vielleicht interessiert es ja jemanden (Source-Code von CP/M) u.a. DDT.ASM http://www.computerhistory.org/atchm/early-digital-research-cpm-source-code/
Ja, es gibt einen Entwurf mit einer ECB-Bus Variante, einer RS232 und einer externen SD-Card. Alles im Euro-Format.
Joe G. schrieb: > Vielleicht interessiert es ja jemanden (Source-Code von CP/M) u.a. > DDT.ASM > > http://www.computerhistory.org/atchm/early-digital-research-cpm-source-code/ Grad mal den CPM Source quer gelesen, auch den von Apple Dos, was ich ja aus der Schule noch kenne. Ich wundere mich nur wie schlecht der dokumeniert ist, dass die sowas als Arbeitsergebnis abliefern konnten. Das Aopple Zeug kann man teilweise nur als Geschmiere bezeichnen, was "Woz" da ablieferte.
Joe G. schrieb: > Harald Nagy schrieb: >> Eine Frage: wie kann ich prüfen, ob das Z180-Board wirklich läuft? > > Zunächst kannst du ja mit dem Monitor einzelne Z180 Befehle in den RAM > schreiben und auch ausführen. Außerdem wird bei Start des Monitors Leo's > DDT in den RAM geladen und kann über die serielle Schnittstelle des Z180 > bedient werden. Dazu muß sie zusätzlich auch verdrahtet werden. > Beitrag "Re: Z180-Stamp Modul" Leider hatte ich vergessen einige Änderungen zu erwähnen: Für den Z180 gibt es nun CP/M 3 kompatible Character I/O Routinen [1]. Der erste I/O-Kanal geht auf den AVR, der zweite auf ASCI1 (2. serielle Schnittstelle am Z180). Weitere Kanäle sind noch nicht realisiert. Die DDTZ-Console wird derzeit auf den ersten Kanal geschaltet, also auf den AVR. Der AVR-Monitor hat ein neues Kommando "connect" bekommen, das diesen Kanal auf die Serielle vom AVR verbindet. Will man die DDTZ-Console (zusätzlich) auf ASCI1 haben, geht das z. Zt. nur, in dem man den Console-IN- und den Console-Out-Vector im Z180-RAM ändert, zB. mit dem Befehl mm. Später soll das mal über Environment-Variablen einstellbar sein. Harald Nagy schrieb: > Ich dachte, > die Z180-Outputs werden zum AVR durchgeschleift... Wenn ich jetzt > darüber nachdenke wirds logisch.... Werden sie auch. Jetzt. > Beim Versuch den Speicher manuell zu beschreiben erhalte ich die > Fehlermeldung "bus timeout". Wahrscheinlich fehlte der Takt. > Zusammenfassung: > - die AVR Stamp läuft > - zur Z180 Stamp: > * an PHI liegt ein ca 9 MHz Takt - passt > * an M1 und MREQ huschen Signale - passt > * ZRESET ist high - passt > * an den Adress- und Datenleitungen ist Verkehr - passt > * an RXA und TXA passiert nix - passt nicht Doch, passt. Siehe oben. > * zu obigen Ergebnissen komme ich sowohl mit Quarz als auch mit CLKO Geht denn "Speicher manuell zu beschreiben" jetzt? Funktionieren die anderen Monitor-Befehle (md, mw, mm, cp, cmp)? Damit DDTZ läuft, muß Z180-Stamp Pin A17 (DREQ0) auf Low liegen. Falls er 1:1 mit der AVR-Stamp verbunden ist, geht das mit dem Befehl "pin 2 low". [1] https://archive.org/stream/CPM3-System_Guide#page/n61/mode/2up
Danke für die Hinweise! md hatte ich mal versucht und hat auch funktioniert. Wie gesagt der Takt liegt auch an, sonst würde doch PHI keinen Output geben (ich hoffe ich liege da richtig). Connect habe ich auch mal eingegeben. In der Hoffnung, das ist der Befehl zum verbinden. Anscheinend liege ich da auch richtig. Allerdings hat sich der Monitor dann aufgehängt und reagierte nicht mehr auf eingaben. Jedenfalls werde ich es morgen nochmals versuchen! Im Fall dass alles funktionert steht als nächstes eine Schaltung für ein Basisboard für beide Stamps an....
Harald Nagy schrieb: > Connect habe ich auch mal eingegeben. In der Hoffnung, das ist der > Befehl zum verbinden. Anscheinend liege ich da auch richtig. Allerdings > hat sich der Monitor dann aufgehängt und reagierte nicht mehr auf > eingaben. Raus kommt man wieder mit "Control-^ X". Mit "Control-^ ?" bekommt man ein kleines Hilfe-Menu. Allerdings bleibt der Connect-Befehl hängen, wenn DDTZ nicht läuft. (Hier inzwischen korrigiert)
@all: hat noch keiner ausser Joe und Leo mit den Stamps gespielt? @Leo: Ich fasse zusammen: alles unverändert. Anscheinend steht im RAM nach dem Hochfahren irgendein Schrott?! Die CPU läuft, der AVR kann den RAM lesen und beschreiben. Wenn ich connect eingebe hängt sich der AVR-Monitor >>tatsächlich<< auf. Komme mit keiner Tastenkombination wieder auf die Kommandozeile. BTW das Kommando zum Abbrechen ist doch Ctrl-c? Die beiden anderen, die du angegeben hast, führen zu keiner Reaktion.... @Joe: Falls du noch Platinen über hast bzw. vor hast nochmal welche anfertigen zu lassen, könntest du mich für jeweils eine vormerken?
:
Bearbeitet durch User
Doch. Worauf willst du hinaus? Dass der Debugger nicht läuft? Ja, das denke ich auch - aber was dagegen tun? Das Image im Flash ist doch ok nehme ich an...
:
Bearbeitet durch User
Harald Nagy schrieb: > BTW das > Kommando zum Abbrechen ist doch Ctrl-c? Die beiden anderen, die du > angegeben hast, führen zu keiner Reaktion.... Sorry, ich hatte den zweiten Satz von Dir nicht gelesen. ;-( Ctrl-C kann natürlich nicht zum Beenden verwendet werden, da es an den Z180 geschickt werden muß. (CP/M Reboot, Wordstar Page Down, ...) Jedes "Terminalprogramm" verwendet für den Übergang in einen Befehlsmodus andere "ESCAPE Character". Ich habe mich für Ctrl-^ entschieden, weil Ctrl-A (screen, minicom) genauso unpraktisch wie Ctrl-C ist, und andere übliche "Fluchtzeichen" auf einer deutschen Tastatur zu umständlich sind (Telnet: Ctrl-[ Kermit: Ctrl-\). Also '^' (caret, das Dach) bei gedrückter Control-Taste drücken, und danach z.B. '?' für das Menu. Geht in der aktuellen Programmversion aber nur, wenn der DDTZ richtig läuft, oder als Allererstes nach dem 'connect' eingegeben wird.
Danke für die Aufklärung. Aber leider funktionierts nicht. Nach wie vor hängt sich der AVR-Monitor nach dem Eingeben von "connect" auf und reagiert auf keine Eingaben mehr.
Harald Nagy schrieb: > @Leo: Ich fasse zusammen: alles unverändert. Anscheinend steht im RAM > nach dem Hochfahren irgendein Schrott?! Das ist bei RAMs so üblich. Durch den AVR wird das RAM erst auf ausdrücklichen Wunsch des Benutzers initialisiert. > Die CPU läuft, der AVR kann den RAM lesen und beschreiben. Mach das mal systematisch. ZB.: => mw 0 76 80000 Ganzes RAM mit 0x76 (HALT) füllen. => md 0 Überprüfen, ob am Anfang des RAMs 0x76 steht. => cmp 0 1 80000 Jeweils 2 aufeinanderfolgende Bytes vergleichen. Da das ganze RAM mit 0x76 gefüllt ist, sollt kein Fehler kommen. => go 0 Z180 sollte einen Halt-Befehl ausführen und stehen bleiben. Halt-Ausgang sollte Low sein. Wenn Du hier eine LED angeschlossen hast, sollte sie leuchten. => reset Halt-Ausgang geht wieder auf High (LED aus). Wenn das so funktioniert, kannst Du z.B. den Speicher kommplett mit 0 (NOP) füllen (überprüfen). Nach einem 'go 0' führt der z180 nur NOPs aus, im Adressbereich von 0x000 bis 0xffff. Auf den Adressleitungen A0 bis A15 sollte ein regelmäßiges Muster mit jeweils halbierter Frequenz zu sehen sein. Auf A0 bis A6 allerdings gestört durch den Refresh. A16 bis A19 sollten dauerhaft auf low liegen. > Wenn ich connect eingebe hängt sich der AVR-Monitor >>tatsächlich<< auf. Wurde denn vorher der DDTZ ins RAM geladen und gestartet? Und ist dabei DREQ0 auf low?
Werde die Überprüfung durchführen. Zu meiner Vorgehensweise: Beim booten wird ja das ram automatisch beladen. Das meinte ich mit hochfahren. ich hab den autoboot unterbrochen. Dann pin 2 low loadf go 0x000 connect allerdings habe ich auch schon verschiedene abfolgen versucht. Zb auch a17 extern auf low
> ich hab den autoboot unterbrochen. Dann > pin 2 low > loadf > go 0x000 > connect Gut, daß Du das mal so deutlich hingeschrieben hast. Wenn das nicht tut, muß noch irgendwo ein Hardware- oder Verdrahtungs-Fehler sein. Bei mir war z.B. ein Pin vom RAM nicht angelötet. Das war nicht mal mit Lupe zu erkennen. > allerdings habe ich auch schon verschiedene abfolgen versucht. Zb auch > a17 extern auf low Kann man ja nachmessen. > go 0x000 Das funktioniert nur zufällig richtig. Die Parameter bei diesen Befehlen sind grundsätzlich Hex. 0x muß nicht und darf nicht angegeben werden. Die Inputroutine ist allerdings schlampig programmiert und liest nur bis zum ersten ungültigen Zeichen, hier 'x'. Alles davor wird als Zahl gnommen, hier 0.
Bevor ich anfange nachzulöten, habe ich alle Verbindungen durchgemessen. Alles soweit ok (Beinchen zu Beinchen nicht Lötstelle zu Lötstelle). Langsam bekomme ich den Verdacht, dass es an der Verkabelung mit Jumperkabeln liegt.... Der RAM wird beim vollständigen beschreiben mit zb 76 vollgeschrieben. Allerdings treten systematisch Fehler auf. Wenn ich die Kabel etwas bewege gibts zwar ein anderes aber doch ein System beim falsch beschriebenen RAM. Muss ich mir nun doch erst ein Baseboard basteln... Stapeln will ich nicht unbedingt (ich will die Pins nicht kappen....)
Das VT-100 Terminal Projekt ist wieder ein Schritt weiter. Ich habe dazu einen extra Beitrag aufgemacht. Beitrag "VT100-Terminal (VGA+PS2)"
Moin, ich bin gerade dabei, meine AVR-Stamp zu testen. Das board habe ich separat mit 3,3 V versorgt, Z180-Stamp ist nicht angeschlossen. Bootloader über ISP geflasht, ...-4.1.hex mit AVRFLASH2.1 übertragen (aus dem SVN). (was ist denn der Unterschied zur ...-4.2.hex?) Monitor meldet sich und lässt sich bedienen. RTC kann ich einstellen und auslesen, aber die SD geht nicht: sd status 0 socket status: 01 (03 ohne Karte) sd info 0 not initialized command failed, result=1 sd init 0 rc=01 command failed, result=1 SD ist eine 2 GB Transend, aber auch mit 32 GB samsung getestet, FAT und FAT32. Ich habe den Eingang auch schon mit 330kOhm auf GND gelegt, aber dann bekomme ich als socket status immer 03. Die Leitungen ATMEGA zur SD habe ich durchgemessen, ok. Jemand ne Idee? Gruss Peter
> (was ist denn der Unterschied zur ...-4.2.hex?) Kosmetik. Details gibts hier: http://cloudbase.mooo.com/cgit/z180-stamp/ > SD geht nicht: > > sd status 0 > socket status: 01 (03 ohne Karte) Hast Du die LED1 am Kartensockel bestückt? (Eigentlich sollte dann gar kein Unterschied zwischen Karte gesteckt/nicht gesteckt erkennbar sein.) > sd info 0 > not initialized > command failed, result=1 Der Befehl funktioniert erst nach erfolgreichem 'init'. > sd init 0 > rc=01 > command failed, result=1 Warum init hier nicht geht, weiß ich auch nicht. Ich probier mal was...
Eine Frage: Denkt ihr dass bei der verwendeten Frequenz eine Basisplatine mit Fädeldraht verdrahtet noch funktioniert. Nachdem ich kein Elektrotechniker bin und meine Erfahrungen noch etwas beschränkt sind würde ich gerne eure Meinungen hören bevor ich loslege...
Harald Nagy schrieb: > Eine Frage: Denkt ihr dass bei der verwendeten Frequenz eine > Basisplatine mit Fädeldraht verdrahtet noch funktioniert. Bei mir funktionierts. Den Bus und weitere Versorgungsleitungen habe ich mit 0,3mm Lackdraht gelötet, und den Rest (SD-Kartenhalter, serielle Schnittstellen, HALT-Led) mit dem ganz dünnen Fädeldraht. Für VCC der SD-Karte mußte ich allerdings ein LC-Filter spendieren. Sonst gabs beim Einstecken einer Karte Brownout-Resets. C alleine hat nicht gereicht.
Aus meiner Sicht (Version ohne LED) läuft die Version *stamp-monitor-hexrel-4.2-test-sd-cd.hex* wie sie soll (siehe unten). Einzig mit der Meldung z80_memfifo_init: 0, 7c320 z80_memfifo_init: 1, 7c21d z80_memfifo_init: 2, 7c423 z80_memfifo_init: 3, 7c526 kann ich nichts anfangen. => sd status 0 Socket status: 01 => sd init 0 rc=00 => sd info 0 Drive size: 1984000 sectors Erase block: 8192 sectors Card type: 4 CSD: 00000: 00 26 00 32 5f 59 83 c8 be fb cf ff 92 40 40 d7 .&.2_Y.......@@. CID: 00000: 03 53 44 53 55 30 31 47 80 50 48 8b cb 00 96 97 .SDSU01G.PH..... OCR: 00000: 80 ff 80 00 .... SD Status: 00000: 00 00 00 00 00 00 00 28 01 01 90 00 0a 05 00 00 .......(........ 00010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ => fatstat 0: FAT type: 2 Bytes/Cluster: 16384 Number of FATs: 2 Root DIR entries: 512 Sectors/FAT: 242 Number of clusters: 61935 FAT start (lba): 1 DIR start (lba,cluster): 485 Data start (lba): 517 Volume name: Volume S/N: 1234-5678 66 files, 924663 bytes. 6 folders. 990960 KB total disk space. 989120 KB available.
Joe G. schrieb: > Aus meiner Sicht (Version ohne LED) läuft die Version > *stamp-monitor-hexrel-4.2-test-sd-cd.hex* > wie sie soll (siehe unten). Danke. Bei Harald gehts auch. Von Peter kam gerade eine Mail, daß es bei ihm noch nicht geht. >Einzig mit der Meldung > > z80_memfifo_init: 0, 7c320 > z80_memfifo_init: 1, 7c21d > z80_memfifo_init: 2, 7c423 > z80_memfifo_init: 3, 7c526 > > kann ich nichts anfangen. Macht nichts. ;-) Das sind Debug-Meldungen, die besagen, daß im Z180-RAM FIFOs für den Datenaustausch angelegt wurden. 2 davon sind für die DDTZ-Console, zu der Du Dich mit 'connect' verbinden kannst.
Leo C. schrieb: > Das sind Debug-Meldungen, die besagen, daß im Z180-RAM FIFOs für den > Datenaustausch angelegt wurden. Ok, danke. Aber connect geht nicht mehr :-( Das System bleibt irgendwo hängen.
@Leo: Deine Mail ist erst jetzt angekommen!? Hier mein Ergebnis zum Test der Firmware *stamp-monitor-hexrel-4.2-test-sd-cd.hex*: > Hi! > > Da es bei mir gerade zeitmässig eher eng zugeht, hab ich nur mal schnell > die neue Firmware geflasht und die SD/FAT-Befehle durchprobiert: > funktioniert alles > Ich habe die Bestückung mit LED (wie auch im GIT angegeben). > Die LED funktioniert jetzt auch. > Ich bin mir nicht sicher, aber wenn ich > mich recht erinnere, hat die LED bei der vorigen Version 4.2 nicht > funktioniert. Kommentar von Leo: Eigentlich müßte sie trotzdem brennen, und vielleicht garnicht richtig ausgehen. Der Pin wird bei der Version zwischen den Zugriffen auf Input geschaltet, um eine eingesteckte Karte zu erkennen. Allerdings kann das mit Led nicht richtig funktionieren. Ist aber im Moment nicht wichtig. Anmerkung: Ich habe nochmal versuchsweise die 4.2 Firmware geflasht um die LED-Sache zu überprüfen. Mit dieser Version leuchtet die LED nie.
:
Bearbeitet durch User
Zum Thema Basisplatine: Habt ihr diese in der Art gebaut, wie hier im Thread einmal gepostet? Gibt es da evtl ein Schaltplan-Update? Sollte ich demnächst mal Zeit haben will ich mir nämlich eine solche zusammenbasteln um auch endlich die Z180-Stamp zum Laufen zu bringen...
Joe G. schrieb: > Ok, danke. Aber connect geht nicht mehr :-( Das System bleibt irgendwo > hängen. Ging das denn schonmal bei Dir? Hier funktionierts. Egal welche Programmversion. Harald Nagy schrieb: > Anmerkung: Ich habe nochmal versuchsweise die 4.2 Firmware geflasht um > die LED-Sache zu überprüfen. Mit dieser Version leuchtet die LED nie. Auch nicht bei erfolgreichen Zugriffen auf die SD-Karte? Das kann eigentlich garnicht sein. Wenn die LED richtig angeschlossen ist, muß sie leuchten, wenn CS low geht. Und ohne CS auf low ist kein Datentransfer zu oder von der Karte möglich. Ich habe es jetzt auch nochmal mit beiden Versionen ausprobiert. Ohne SD-Karte blitzt die LED bei 'sd init 0' kurz auf. > Zum Thema Basisplatine: Habt ihr diese in der Art gebaut, wie hier im > Thread einmal gepostet? Gibt es da evtl ein Schaltplan-Update? Im Anhang ist mein Schaltplan. Nicht unbedingt zur Nachahmung empfohlen. Ich habe nur das drauf gebaut, was ich gerade zum Testen brauche. Die Jumper für die Taktumschaltung braucht außer mir wahrscheinlich kein Mensch.
Leo C. schrieb: > Harald Nagy schrieb: >> Anmerkung: Ich habe nochmal versuchsweise die 4.2 Firmware geflasht um >> die LED-Sache zu überprüfen. Mit dieser Version leuchtet die LED nie. > > Auch nicht bei erfolgreichen Zugriffen auf die SD-Karte? Nein definitiv nicht. Keine Ahnung warum aber es ist so. Im Grund aber egal, Hauptsache die SD-Karte funktioniert. Ist ja nicht die einzige unbeantwortete Frage im moment für mich....
Frustration macht sich breit... Die Probleme mit dem RAM hab ich immer noch. Ich habe mir jetzt ein Baseboard gelötet (nach dem Schaltplan von Leo, ohne SD und Clock-Umschaltung). Funktioniert soweit. Aber der RAM macht Probleme. Der Test mit mw/md/cmp ist nie erfolgreich. cmp bricht aber immer an unterschiedlichen Stellen ab. Manchmal kommt auch bei cmp ein Fehler und wenn ich mir die Speicherstelle mit md ansehe, passt egtl alles??? Weiterhin ist mir aufgefallen, dass md mal schneller mal langsamer (eine Zeile pro Sekunde ca) ist??? Ich habe bereits in meiner Verzweiflung alle Pins am AVR und RAM nachgelötet und alle Verbindungen Pin-zu-Pin durchgemessen aber unverändertes Verhalten. Die Fehler sind dieselben egal ob CLKO oder Quarz, ob USB-Stromversorgung oder Einspeisung von 5V-extern.... Mir sind die Ideen ausgegangen und langsam verlässt mich leider auch die Lust... Jemand noch Ideen was ich überprüfen und ausprobieren kann?
Harald Nagy schrieb: > Jemand noch Ideen was ich überprüfen und ausprobieren kann? Beide Platinen in Huckepackbauweise testen.
Joe G. schrieb: > Harald Nagy schrieb: >> Jemand noch Ideen was ich überprüfen und ausprobieren kann? > > Beide Platinen in Huckepackbauweise testen. Dann muss ich die Stiftleisten stutzen was ich egtl vermeiden wollte....
Hallo zusammen, ist ja ziemlich ruhig hier geworden ("an die eigene Nase fass") - wie ist denn der Stand? Gibt es etwas neues zum Thema Basis-Board? Beste Grüße Marcel
Hallo zusammen, ich habe am Wochenende nun beide Stamps zusammengelötet, jetzt bin ich also "startklar". Am nächsten WE würde ich mir nun gerne das Thema Software vornehmen. Beim Review des Threads und der Anleitung habe ich noch so ein paar Fragen: - Wie sieht es denn mit einem Base-Board aus? Bisher habe ich nur den Schaltplan von Leo und den „Lochraster-Entwurf/Schaltplan“ von Leo gesehen. Ich kann da in Eagle (free) nichts machen, müsste dann auf KiCad umsteigen... - Apropos Baseboard: Ich hadere mit den aus meiner Sicht Widersprüchen: In Leos Verdrahtung werden beide seriellen Schnittstellen des Z180 auf externe Anschlüsse geführt. In der Beschreibung heißt es aber, dass SER1 auf den AVR verbunden ist und darüber auch die DDT-Kommunikation funktioniert….? - Welche fuses muss ich einstellen, wenn die den hexmon 4.2 für einen ersten ohne bootloader direkt in avr flashen möchte? - Da ich noch keinerlei Erfahrnung mit Bootloadern gemacht habe: Weiter oben ist ein bootloader.hex drin, kann ich den nehmen? Und wie brenne ich den an die richtige Stelle? Aber hier muss ich vermutlich noch mal genauer die Anleitung von Peter Dannegger lesen (mikrocontroller.net war gestern Abend down). Vielen Dank! Gruß Marcel
Marcel A. schrieb: > - Apropos Baseboard: Ich hadere mit den aus meiner Sicht Widersprüchen: > In Leos Verdrahtung werden beide seriellen Schnittstellen des Z180 auf > externe Anschlüsse geführt. In der Beschreibung heißt es aber, dass SER1 > auf den AVR verbunden ist Wo steht das? > und darüber auch die DDT-Kommunikation funktioniert….? Z180 und AVR können über Bereiche im SRAM kommunizieren. Darüber läuft z.Zt. auch die DDTZ-Console. Prinzipiell kann diese auf eine der seriellen Schnittstellen des Z180 umgelegt werden. Die Software für die Umschaltung ist aber noch nicht fertig. > - Welche fuses muss ich einstellen, wenn die den hexmon 4.2 für einen > ersten ohne bootloader direkt in avr flashen möchte? Du kannst Die von hier nehmen (Beitrag "Re: Z180-Stamp Modul") Low High Extended ---------------------------------- Mit Bootloader AF D6 F5 Ohne Bootloader AF D1 F5 Der Unterschied ist hier die BOOTRST-Fuse. (Und die BOOTSZ-Fuses, aber die sind bei nicht gebrannter BOOTRST-Fuse relativ egal.) Hier kann man mit den Fuses experimentieren: http://www.engbedded.com/fusecalc/ (Bin mir nicht sicher, ob für die Extended Fuses in der PDF-Doku ein Tippfehler ist, oder ob Joe die Brown-Out-Detection disabled lassen möchte. Letzteres ist nicht empfehlenswert, da dann der EEPROM-Inhalt zerstört werden kann.) > - Da ich noch keinerlei Erfahrnung mit Bootloadern gemacht habe: Weiter > oben ist ein bootloader.hex drin, kann ich den nehmen? Ja. > Und wie brenne > ich den an die richtige Stelle? Wie jede andere Datei auch: einfach flashen. Der Programmer kümmert sich schon um die richtige Stelle, da die Intel-Hex-Datei ja Lade-Adressen enthält.
Leo C. schrieb: > (Bin mir nicht sicher, ob für die Extended Fuses in der PDF-Doku ein > Tippfehler ist, oder ob Joe die Brown-Out-Detection disabled lassen > möchte. War tatsächlich ein Tippfehler 5F macht keinen Sinn, ist in der Doku geändert. Nachtrag: Das Basisboard gibt es in EAGLE, es gab bisher nur noch keinen Bedarf hier. Die Fertigung 100x160 wird auch etwas mehr kosten als die Billigteile aus Fernost.
:
Bearbeitet durch User
Danke Leo, hab's kapiert mit der Console. Basisboard ist tatsächlich ein Problem in China, aber es gibt bei iteastudio usw. bis 10x15 (fehlt 1cm...). Da war auch noch ein anderer recht günstiger dabei. Könnte ich raussuchnm, elecrow war es nicht :-) Ich wäre daher auch mit einem Board dabei.
So, der AVR Stamp läuft! Sogar auf Anhieb. Ich hatte nur gedacht, ich hätte den SD-Reader verkehrt herum eingebaut, da ich nicht verstanden habe, wie man die SD-Karte hineinbekommt und hatte ihn wieder ausgelötet. Dabei ist mir aufgefallen, dass man sie (entgegen denen, die ich sonst verwende) "einlegen" muss... Als RC beim sd init erhalte ich allerdings "00" und nicht "08" wie in der Doku - ansonsten sieht der SD-Zugriff aber ok aus. RTC geht auch.
1 | ### Reset reason(s): External. |
2 | ### Setting I2C clock Frequency to 100000 Hz. |
3 | |
4 | ATMEGA1281+Z8S180 Stamp Monitor |
5 | |
6 | ### main_loop entered: bootdelay=3 |
7 | |
8 | ### main_loop: bootcmd="reset; loadf; go ${startaddr}" |
9 | Hit any key to stop autoboot: 0 |
10 | ## CPU now in reset state. |
11 | Loading Z180 memory... |
12 | From: 0x00000 to: 0x001B9 ( 442 bytes) |
13 | From: 0x001C2 to: 0x02D9E (11229 bytes) |
14 | From: 0x02DAE to: 0x03194 ( 999 bytes) |
15 | ## Starting application at 0x0000 ... |
16 | => sd init 0 |
17 | rc=00 |
18 | => sd info 0 |
19 | Drive size: 7716864 sectors |
20 | Erase block: 8192 sectors |
21 | Card type: 12 |
22 | CSD: |
23 | 00000: 40 0e 00 32 5b 59 00 00 1d 6f 7f 80 0a 40 00 a1 @..2[Y...o...@.. |
24 | CID: |
25 | 00000: 02 54 4d 53 41 30 34 47 13 38 ad fb 58 00 e1 31 .TMSA04G.8..X..1 |
26 | OCR: |
27 | 00000: c0 ff 80 00 .... |
28 | SD Status: |
29 | 00000: 00 00 00 00 02 00 00 00 02 02 90 01 00 aa 00 00 ................ |
30 | 00010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
31 | 00020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
32 | 00030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
33 | => fatstat 0: |
34 | FAT type: 3 |
35 | Bytes/Cluster: 32768 |
36 | Number of FATs: 2 |
37 | Root DIR entries: 0 |
38 | Sectors/FAT: 941 |
39 | Number of clusters: 120320 |
40 | FAT start (lba): 14502 |
41 | DIR start (lba,cluster): 2 |
42 | Data start (lba): 16384 |
43 | Volume name: INTENSO |
44 | Volume S/N: 4BB6-F93A |
45 | |
46 | 0 files, 0 bytes. |
47 | 0 folders. |
48 | 3850240 KB total disk space. |
49 | 3850208 KB available. |
50 | => fatls 0: |
51 | 0 File(s), 0 bytes total |
52 | 0 Dir(s), 3850208K bytes free |
53 | => date 032416492015.00 |
54 | Tue Mar 24 16:49:00 2015 |
55 | => date |
56 | Tue Mar 24 16:49:05 2015 |
57 | => |
Jetzt muss ich mal schauen, wie ich den Z180 angebunden bekomme... Auf so eine wilde Lochraster-Party habe ich eigentlich keine Lust. Mal sehen... Noch eine andere Frage: Warum haben eigentlich all diese Projekte 18,432MHz? Gruß Marcel
Marcel A. schrieb: > So, der AVR Stamp läuft! Glückwunsch! > Als RC beim sd init erhalte ich allerdings "00" und nicht "08" wie in > der Doku - ansonsten sieht der SD-Zugriff aber ok aus. Anmerkung dazu hier, erster Absatz: Beitrag "Re: Z180-Stamp Modul" > Jetzt muss ich mal schauen, wie ich den Z180 angebunden bekomme... Auf > so eine wilde Lochraster-Party habe ich eigentlich keine Lust. Mal > sehen... Das ist wohl Geschmacksache. Ich kann an Lochraster nichts wildes finden. Stapeln wäre noch eine Möglichkeit. Wenn Du die Stapelbuchsen eingelötest hättest... > Noch eine andere Frage: Warum haben eigentlich all diese Projekte > 18,432MHz? Was sind denn "alle diese Projekte"? 18,432MHz ist die höchste Baudratenfrequenz unter 20MHz. Der Z8SZ180 ist bei 3,3V bis maximal 20MHz spezifiziert. Der AVR ist dann schon deutlich übertaktet, läuft aber erfahrungsgemäß noch einwandfrei.
Marcel A. schrieb: > So, der AVR Stamp läuft! Gratulation! Marcel A. schrieb: > Noch eine andere Frage: Warum haben eigentlich all diese Projekte > 18,432MHz? Es gibt hier im Forum einen schönen Artikel zur Historie: http://www.mikrocontroller.net/articles/Baudratenquarz Marcel A. schrieb: > Jetzt muss ich mal schauen, wie ich den Z180 angebunden bekomme... So: Beitrag "Re: Z180-Stamp Modul"
Ich hadere gerade mit der von Leo gezeigten Einbindung des Linux bootloaders in minicom. Zunächst erzeugt mir das make-file die Datei "bootloader" - im screen ist aber "fboot" zu lesen - vermutlich wurde das umbenannt? Dann kann ich im screenshot (wahrscheinlich) nicht alle Parameter-Aufrufe sehen... Leo, kannst du mal den ganzen Aufruf posten, falls da noch was kommt? Ich verstehe das mit den Parametern so nämlich nicht. Laut MiniCom-Doku gibt es hier
1 | '%l' is expanded to the complete filename of the dial out-device, |
2 | '%f' is expanded to the serial port file descriptor and |
3 | '%b' is expanded to the current serial port speed. |
In der Bootloader-Doku steht:
1 | bootloader [-d /dev/ttyS0] [-b 9600] -[v|p] file.hex |
2 | -d /dev/ttynn serial device, (use e.g. /dev/serial/by-id/usb-FTDI* for FT232) |
3 | -b nn Baudrate |
Im Screenshop steht aber:
1 | fboot -d %l -b %... |
Müsste dann da nicht
1 | fboot -d %f -b %b -p %l |
stehen?
Bin unterwegs und kann gerade nicht nachschauen, was bei mir wirklich konfiguriert ist. Ich glaube aber schon, daß ich eine funktionierende Konfig gepostet hatte.
Hallo Marcel, hatte Dein Problem ganz vergessen. Falls es noch nicht erledigt ist: > Zunächst erzeugt mir das make-file die Datei "bootloader" - im screen > ist aber "fboot" zu lesen - vermutlich wurde das umbenannt? ja > Im Screenshop steht aber:fboot -d %l -b %... > Müsste dann da nichtfboot -d %f -b %b -p %l > stehen? Der volle Eintrag (~/.minirc.dfl) lautet bei mir:
1 | pu pprog10 /usr/local/bin/fboot -d %l -b %b -p |
Falls es jemand interessiert. ;-) Ich habe mir jetzt ein Z80-Stamp gebaut. Den Entwurf hatte ich schon vor einem halben Jahr gemacht und auch mit dem Bau angefangen. Leider fehlten mir ein paar Widerstände, und so war das Ding erst mal wieder in der Versenkung verschwunden. Die Platine habe ich mit CPU, RAM (max 128K), SIO und CTC bestückt, um der Z180-Stamp möglichst nahe zu kommen. ;) Takt kommt von einem der freien AVR-Ports, da man CLKO für die 4MHz CPU natürlich nicht nehmen kann. 2 CTC Kanäle erzeugen den Takt für die seriellen Schnittstellen. Der Input für diese Kanäle kann auch von AVR-Port geliefert werden. Das RAM ist z.Zt nur mit 8K bestückt, da ich keinen größeren Baustein im DIL-Gehäuse da habe. Das muß natürlich bald geändert werden, da in 8K noch nicht einmal mein schöner DDTZ paßt.
Wo haste den den Schicken CTC ausgeraben.. sehe ich das erste mal in Keramik.. Gruß, HOlm
> Wo haste den den Schicken CTC ausgeraben.. sehe ich das erste mal in > Keramik.. Das hättest Du mich mal vor gut 30 Jahren fragen müssen. Da habe ich das sicher noch gewußt... Aktuell stammt sie aus meinem Schatzkästchen, in dem jetzt aber nur noch die TR1402 in Keramik sind. Eine weitere Keramik-CTC habe ich noch auf meiner alten I/O-Karte. In dem leeren Steckplatz war die SIO, die ich jetzt für die Stamp-Karte geklaut habe. An dem Keramik-8255 war übrigens meine 8-Zoll-Floppystation angeschlossen (je ein Port für Daten-IN, -Out, und Steuerung).
Ich bin nun auch auf den bootloader umgeschwenkt. Obwohl das HEX des bootloaders nur 2K groß ist, hat er 128k geflashed. N denne, muss wohl. Mit UpdateBootloader unter Windoof war ich dann nicht erfolgreich, da sich das Programm über eine falsche Prüfsumme von Leos Test-hex (4.2) beschwert und ich daher kein Flash starten konnte. AVRFlash klappte dagegen problemlos. Unter Linux habe ich bootloader eingerichtet, auch mit minicom-Verbindung. Hier muss ich aber gefühlte 10x den Reset-Knopf an der AVR-Stamp drücken, bis der bootloader das merkt und den upload startet. Scheint wohl ein timing-Problem zu sein - manchmal finden sie sich auch gar nicht. Die SW von Leo sieht ja wirklich sehr professionell aus, wenn mal mal schaut, was help so auswirft. Leider sagt mir das meiste noch nichts. Was macht man z.B. mit den fat-Befehlen? Den Z180-Speicher in eine Datei schreiben usw.? Ich habe mir jetzt erst mal Fädeldraht und Stift bestellt, damit ich eine Basis-Platine "stricken" kann. Gibts denn auch irgendwo den aktuellen Stand der ECB-Platine? Gruß Marcel
Marcel A. schrieb: > Unter Linux habe ich bootloader eingerichtet, auch mit > minicom-Verbindung. Hier muss ich aber gefühlte 10x den Reset-Knopf an > der AVR-Stamp drücken, bis der bootloader das merkt und den upload > startet. Scheint wohl ein timing-Problem zu sein - manchmal finden sie > sich auch gar nicht. Das Problem hatte ich auch, ist seit neuestem komischer Weise weg. Keine Ahnung was sich geändert hat. Es geht aber gut, wenn man Reset gedrückt hält, wenn man den bootloader startet. Aber wg. des Problems hatte ich mal eine Testversion des Monitors mit Bootloader-Support gemacht. Die sollte inzwischen in Deinem Posteingang sein. > schaut, was help so auswirft. Leider sagt mir das meiste noch nichts. Die meisten Befehle haben eine eigene Hilfe, wenn man "help 'befehl'" eingibt. Oft kommen nur die Parameter, aber manchmal auch mehr. > Was macht man z.B. mit den fat-Befehlen? Den Z180-Speicher in eine Datei > schreiben usw.? Genau. Gerade die fat-Befehle haben ausführliche Hilfe.
Hier mal ein kleines Update des Monitors. Neue Befehle: mdc - memory display cyclic mwc - memory write cyclic mloop - infinite loop on address range mloopw - infinite write loop on address range mtest - simple RAM read/write test loadi - load intel hex file Mtest ist nicht ganz so 'simple'. Es versucht immerhin heraus zu bekommen, ob Schlüsse oder Unterbrechungen auf Datenbus und/oder Adressbus vorhanden sind. Loadi lädt Intel-Hex über die Consolenschnittstelle. Das habe ich eingebaut, weil bei meiner Z80-CPU-Karte das ganze System mit 5V läuft, und ich deshalb die SD-Karten nicht nehmen kann.
Leo C. schrieb: > Hier mal ein kleines Update des Monitors. Neue Befehle: Danke, läuft bei mir! Ich habe die Doku gleich um mdc und mtest erweitert. Marcel A. schrieb: > Gibts denn auch irgendwo den aktuellen Stand der ECB-Platine? Ich würde sie gerne nochmals "anfassen". Mit Leos "LoadI" könnte man beide Stamp's komplett mit 5V (SD auf Z180 Stamp darf nicht gesteckt sein!) laufen lassen. Damit hätte man einen 5V ECB-Bus. Vielleicht ist ein Levelshifter auf der ECB-Platine für die externe SD-Card ganz nützlich.
Bei mir gehts auch - wobei er nach dem FBOOT-Upload in einer Endlos-Bootschleife hing (zählte nur noch bis 2 runter) - ein Reset half. Zur Platine: Klingt vielversprechend! Schönen Abend noch
Marcel A. schrieb: > Bei mir gehts auch - Damit ist Dein Auto-Bootloader-Feature wieder weg... > wobei er nach dem FBOOT-Upload in einer > Endlos-Bootschleife hing (zählte nur noch bis 2 runter) - ein Reset > half. Das hatte ich vor kurzem auch. Liegt, bzw. lag, sicher an besagtem Feature. Der Watchdog wird wahrscheinlich nicht abgeschaltet.
Joe G. schrieb: > beide Stamp's komplett mit 5V (SD auf Z180 Stamp darf nicht gesteckt > sein!) laufen lassen. Damit hätte man einen 5V ECB-Bus. Vielleicht ist > ein Levelshifter auf der ECB-Platine für die externe SD-Card ganz > nützlich. Levelshifter nur für den SD-Slot, statt für den ganzen ECB-Bus, ist natürlich weniger Aufwand. Wenn man für den Bus Treiber braucht, relativiert sich die Einsparung aber wieder. Allerdings muß auf der AVR-Stamp ein Pin des FTDI-Chips umverdrahtet werden.
Ich habe noch verschiedenen eZ80Acclaim Module herum liegen und mich schon gefragt, was ich damit noch anfangen soll. Kann man mit diesen Modulen auch noch mitspielen? http://www.zilog.com/index.php?option=com_product&task=dev_tool_detail&DevToolKit=eZ80F920200ZCOG
So, ich fang jetzt mal mit Lötfädeltechnik an :-) BTW - habt ihr auch vor, für das System ein CPM-Bios zu entwickeln?
Marcel A. schrieb: > BTW - habt ihr auch vor, für das System ein CPM-Bios zu entwickeln? Wer braucht schon CP/M? Wie wärs denn mit BASIC? ;-)
Sorry, der im letzten Beitrag gepostete Anhang enthält ein übeflüssiges PDF, das das Archiv völlig unnötig aufbläht. Wenn ein Moderator den Anhang löscht, stelle ich den Rest nochmal neu ein (ca 97K). Edit: hängt schon dran. ;-(
:
Bearbeitet durch User
Leo C. schrieb: > Marcel A. schrieb: >> Unter Linux habe ich bootloader eingerichtet, auch mit >> minicom-Verbindung. Hier muss ich aber gefühlte 10x den Reset-Knopf an >> der AVR-Stamp drücken, bis der bootloader das merkt und den upload >> startet. Scheint wohl ein timing-Problem zu sein - manchmal finden sie >> sich auch gar nicht. > > Das Problem hatte ich auch, ist seit neuestem komischer Weise weg. Keine > Ahnung was sich geändert hat. Inzwischen ist die Ahnung wieder gekommen. Ich hatte vor gar nicht langer Zeit den Linux bootloader gepatched:
1 | diff Linux/bootloader.c
|
2 | diff --git a/Linux/bootloader.c b/Linux/bootloader.c
|
3 | index 3f2225e..3e4af52 100644
|
4 | --- a/Linux/bootloader.c
|
5 | +++ b/Linux/bootloader.c
|
6 | @@ -742,7 +742,8 @@ int connect_device ( int fd,
|
7 | |
8 | // first 0x0d for autobaud, then password, then 0xff |
9 | // for answer in one-line mode |
10 | - sprintf (passtring, "%c%s%c", 0x0d, password, 0xff);
|
11 | +// sprintf (passtring, "%c%s%c", 0x0d, password, 0xff);
|
12 | + sprintf (passtring, "%s%c", password, 0xff);
|
13 | |
14 | printf("Waiting for device... "); |
Damit funktionierts einwandfrei.
Bei der Nutzung von AVRFlash unter Win muß man auch den Resetknopf seeeehr lange drücken :-(
zu Bootloader patchen: Da ich mit git/diff noch nie etwas gemacht habe: Wenn ich das richtig sehe, muss ich im Quellcode (habe die Stelle gefunden) nur %c%s%c" gegen "%s%c" im sprintf-Aufruf ändern und neu übersetzten?
Fast. Der zugehörige Parameter muß natürlich auch weg.
1 | - sprintf (passtring, "%c%s%c", 0x0d, password, 0xff); |
2 | + sprintf (passtring, "%s%c", password, 0xff); |
Das 0x0d soll nicht ausgegeben werden.
Leo C. schrieb: > Wer's braucht ;) hier ist der Basicinterpreter schon drin. Da ich mit der Verdrahtung noch nicht fertig bin: Wie funktioniert das denn mit dem Basic? Wird das automatisch ins RAM kopiert und gestartet? Wie bekommt man eine Konsole?