Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » P8000 - WDC Ersatz » Themenansicht

Autor Thread - Seiten: -1-
000
20.12.2011, 20:00 Uhr
Olli

Avatar von Olli

Hallo,

ich spiele mit dem Gedanken mal wieder etwas aktiver zu werden mit meiner P8000.
Ich fand die Idee mit der SD-Card anstatt des WDCs ganz interessant.

Ich habe die letzten 2 Tage mal ein bischen google gefragt. Es gibt ja schon einige Projekte welche eine SD-Card an einen AVR angeschlossen haben.

Das waere doch sicherlich ein interessantes Projekt fuer 2012. Kann natuerlich nicht verschweigen, das ich mit nem AVR noch nie etwas gemacht habe, und meine größten "Hardwareprojekte" bisher das Design der neuen Echtzeituhr und mein AC1 sind.... also denke mal wird einiges zu lernen sein.

Ich bin mir noch nicht so ganz sicher, ob ich das zeitlich hinbekomme bzw. denke dass das einfach zu viel wird fuer mich, aber ich wuerde einfach mal mit einem Brainstorming hier anfangen bzgl. des Projektes um mal eine Idee zu bekommen.

Ich denke mal, grundsaetzlich sollte man das Projekt irgendwie aufteilen.


Schritt 1

Zuerst wuerde ich erstmal ein Gerät bauen welches quasi die WDC-Schnittstelle auf Seite P8000 nachahmt. Ihr denkt sicherlich "Häh? Wiso das denn?" Ich denke, der konstruktielle Aufbau dieses Gerätes ist einfacher als das des WDC-Emulators. Ein AVR der mehr oder weniger die möglichen WDC-Kommandocodes der P8000-Firmware absenden kann, und die Ergebnisse auswerten kann. Mehr nicht.

Vorteil des ganzen:
a) Einarbeitung in die AVR Technologie
b) Einarbeitung in die Funktionsweise des WDC
c) Testdevice für den späteren WDC-Emulator
d) Fehler die man hier macht, macht man beim WDC-Emulator nicht auch nochmal.

a) und b) sind fuer mich persoenlich sehr wichtig.

Nachteil des ganzen:
a) es dauert evtl. laenger bis man zum Ziel kommt


Schritt 2

Entwurf und Bau eines AVR mit SD-Card Interface und Realisierung eines Lese/Schreib-Interfaces im AVR im RAW-Modus. Dafuer gibt es ja schon einige Anwendungsbeispiele im Netz. Der RAW-Modus denke ich ist am sinnvollsten da man sich den FAT16/32-Overhead spart und ich keine wirklichen Vorteile sehe. Ein Backup der SD-Card ist möglich durch einfache Bytekopie am PC (dd). Selbst mit FAT muesste man Dateien anlegen welche das eigentliche Filesystem enthalten.

Vorteil:
a) Danach weiss man erstmal, das lesen/schreiben funktioniert
b) RAW ist schneller gegenüber FAT16/32

Nachteil:
a) Zugriff auf die SD-Kart unter DOS/Windows-Systemen mit Boardmitteln evtl. nicht moeglich (gibt aber auch dd Implementationen zum abziehen)

Der Nachteil ist mir quasi total egal.


Schritt 3

Entwickeln der Schnittstellenseite hin zum P8000 auf der unter Schritt-2 entwickelten Komponente. Stelle mir im Grunde das ganze so vor, das man das Modul aus Schritt 2 nimmt, und dort dann noch die notwendige Interfacelogik des P8000 "ranfriemelt". Wie hab ich noch 0 Ahnung. Zu Testzwecken des ganzen, kann dann das Modul aus Schritt 1 dienen bevor ich es an meine P8000 loslasse.

Vorteil:
a) man ist danach fertig!


grundsaetzliches

Die große Frage ist: Womit? Da ich von AVR&Co aktuell 0 Ahnung habe, stellt sich mir primär aber nicht die Frage "was ist am einfachsten" sondern "welche Technologie ist am zukunftssichersten". Wenn ich mich neu in eine Materie einarbeite, will ich das auch mit Blick auf die Zukunft machen. Amtel klingt ganz gut - was ist von den 2006 vorgestellten Amtel32 zu halten? Oversized oder nicht spielt erstmal keine Rolle für mich hier. Neben dem Nutzen, gehts fuer mich auch um Wissenserweiterung


So - das ist das was mir erstmal so dazu einfaellt. Ich bitte um reichliche Kommentare dazu - haltet Ihr das fuer machbar? Wer hat schon Erfahrungen mit sowas? (hab gesehn, es gibt schon sowas in der Art fuer den KC).

Je nachdem was sich hier so ergibt wage ich mich dann da mal drann oder lass es lieber
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 21.12.2011 um 06:58 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
20.12.2011, 20:20 Uhr
Micha

Avatar von Micha

also ich find das Projekt total faszinierend!
Bin ja derzeit auch mittendrin, die SD-Card Anbindung an Atmels (der 8 Bit Generation) zwecks Weiterentwicklung des K1000 Emu hinzubekommen.

Müsste man eigentlich bei der P8000 das Protokoll durch Debuggen oder "Abhören" der WDC Schnitstelle herausbekommen, oder gibt es irgendwo Doku wie diese Schnittstelle tickt?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
20.12.2011, 20:26 Uhr
Olli

Avatar von Olli

Es gibt die Firmware des P8000 und WDC im mehr oder weniger gut kommentierten originalen Assemblerlisting Ich koennte auch mal schauen, das ich wieder Kontakt zum Entwickler des P8000 Emulators bekomme, dann kann ich darueber auch an Infos kommen - der hat sich ja schonmal ausfuehrlich damit beschaeftigt.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
20.12.2011, 21:23 Uhr
holm

Avatar von holm

Olli, Alles schön und gut, mir geht nur der Sinn des "P8000 Emulators" ganz und gar nicht auf.

Warum? Da gibts einen Computer mit der bewußten Schnittstelle, der Möglichkeit Programme hoch und runterzuladen über eine serielle Schnittstelle, Programme zu starten, Register zu kontrollieren und Speicherinhalte zu modifizieren... den könnte man ja quasi nehmen. Weißt Du wo der ist, oder soll ich Dir das verraten?
Es gibt sogar einen Emulator für diesen Rechner unter Windows, auf dem man die Originalen Interfacetreiber angucken, modifizieren und assemblieren kann....

Ich kenne sogar einen hier aus dem Forum, der kennt sich Bestens mit der Assemblersprache dieses Rechners und der Entwicklungsumgebung aus, den würde sogar ich fragen wenn ich was nicht weiß...

:-|

Dem Rest Deiner Ausführungen kann ich allerdings folgen.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 20.12.2011 um 21:24 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
20.12.2011, 21:31 Uhr
Olli

Avatar von Olli

Nun... ich hielt/halte Schritt 1 halt als einfacher als die Schritte 2 und 3 - und irgendwie muss ich in die Materie reinkommen... Gleich mit 2 und 3 anfangen mag fuer jemanden der AVR programmieren kann und die Hardware entwickeln kann logisch zu sein - ich kann es aber nicht - muss es also erstmal lernen... und da fand ich den Gegenpart zur WDC Schnittstelle zu entwickeln einfacher. Stichwort Erfolgserlebniss - was kann man erreichen in einer Zeit ohne das man vorher die Lust verliert

Und klar - man kann auch den 16 Bit Teil der P8000 Softwareseitig ummodifizieren um das testen des Gerätes hinzubekommen usw. Wäre total einfach... man nehme sich die paar sa.irgendwas Programme (sa.mkfs, sa.shipdisk, sa.format) und kann anhand derer ein wunderschoenes Testprogramm schreiben - Aber - das Testen ist ja eben nicht das Hauptaugenmerk - sondern AVR "lernen". Und mit Assembler wollte ich mich jetzt erstmal nicht tiefer befassen. Den AVR wollte ich in C programmieren.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 20.12.2011 um 21:33 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
20.12.2011, 22:33 Uhr
holm

Avatar von holm

Ja, aber zu dem Zweck ist das wirklich Unsinn.

Du Bist jetzt $innlo$ - -User, besorge Dir AVR Studio 4 (!) mit Winavr.
Der Atmega8 auf Deinem SD Card Link ist evtl. ein Bisschen knapp,
ein Amtega16 ist ein 40 poliger Dip, genauso wie Atmega32 oder noch besser Atmega64p.
Besorge Dir so ein Ding, ein Steckbrett dazu und dann brauchst Du einen ISP Programmer.
Schade, ich habe vor einem viertel Jahr 2 AVR Dragon mit leichten Macken billigst verscheuert, hätte ich gewußt das es Dich mal rafft... Guck mal ob Du einen Dragon billig bekommst, der hat wohl das beste Preis/Leistungsverhältnis für das was du von Ihm willst. Den Rest erkläre ich Dir später..
Da Du gut C programmieren kannst, bist Du schon fast fertig. Das was du noch nicht kennst, ist wie man die Peripherie eines AVR anfaßt, aber mit einer PIO oder einem CTC kommst Du ja auch klar..
Ich empfehle Dir auf http://www.mikrocontroller.net/ oben links auf die beiden Tutorials zu klicken.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 20.12.2011 um 23:35 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
20.12.2011, 23:50 Uhr
ambrosius



Hallo Olli,

schau mal hier: http://www.rowalt.de/ das Buch ist eine gute Einführung in die AVR-Technik. Die Webseite behandelt Atmel und PIC

Beste Grüße
Holger
--
viele Grüße
Holger
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
21.12.2011, 06:14 Uhr
Georg

Avatar von Georg

Seht euch das mal an >UltraSatan project for ATARI ST<
http://joo.kie.sk/
Ich meine nur so als Anregung...
Georg
--
DL5GSM ex DO5GSM DOK:X01 LOC:jo51pm
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
21.12.2011, 06:43 Uhr
Olli

Avatar von Olli

Ich hab nochmal drueber geschlafen. Ich denke "Teil 1" lasse ich sein. "Teil 2" ist zur Einfuehrung noch besser geeignet, da wesentlich einfacher als Teil 1 oder 3. Von daher starte ich einfach mit Teil 2.

Das schwierige wird fuer mich echt Teil 3 mit der Anbindung an den P8000. Naja - da kann man sich ja sicherlich n bissel was vom echten WDC abgucken.

Hatte halt bzgl. der Hardware ueberlegt mit nem AVR32 anzufangen und nicht mit nem AVR. Ich denke, von der 32 Bit Architektur habe ich einfach "mehr" als mich jetzt noch in die 8 Bit Architektur einzuarbeiten?

Sowas waere doch fuer n Breadboard ganz gut, oder?

http://www.stackfoundry.com/hardware/copper-avr32/

Die AVR32 gibts ja nur fuer 3.3V - kann das mit der 5V-TTL-Logik von der P8000 zusammen arbeiten oder muss dann jede Signalleitung erst irgendwie konvertiert werden? (Mal von der Betriebsspannung abgesehen die ja als 5V zur Verfuegung steht - die kann man ja simpel auf 3.3V regeln).
Laut Wikipedia haben TTL und LVTTL die gleichen High und Low Pegel.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 21.12.2011 um 06:52 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
21.12.2011, 07:33 Uhr
holm

Avatar von holm

Nein, würde ich nicht machen. AVR32 ist etwas speziell und aus irgend einem Grunde baut Atmel immer weniger RAM ein als Andere. ARMs sind Industriestandard. Der 8 Bitter reicht aber für den Zweck dicke aus.
Des Weiteren geht es mit gegen den Strich für eine Peripherie am P8K einen Computer einzusetzen, der locker den Gesamtrechner emulieren könnte.

Ich muß mich demnächst damit befassen (habe ich mir ausgesucht) http://www.shop.propox.com/index.php?d=produkt&id=2836 Das bekommt man für den Preis eigentlich nicht geklaut.
Ich brauche einen Rechner der auch Statistik und sowas machen kann, Schrittmotoren steuert und über mehrere Serielle mit Meßwertaufnehmern kommuniziert, Grafikdisplay ansteuert usw.
Das wird aber eine Industrieapplikation.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
21.12.2011, 07:54 Uhr
Olli

Avatar von Olli

ARM habe ich auch schon ueberlegt... gibt ja auch noch MIPS

Ging mir halt unter anderem darum, was zu lernen mit dem man spaeter auch noch andere Dinge realisieren koennte. Das heisst halt nicht, jetzt mit nem mikroC zu bauen der fuer das Projekt ausreicht, sondern mit einem, der auch noch mehr kann und mit dem ich dann spaeter auch noch andere Dinge realisieren koennte. Nur so ne Idee. Oder anders - warum jetzt noch in die 8Bit-AVRs einarbeiten, wenn es am Markt bereits 32Bit-AVRs gibt? Ich wuerde wenn ich mich mit FreeBSD beschaeftigen wuerde ja auch nicht n 2.2er aus irgend ner Walnut-Creek-CD lutschen sondern das neuste installieren... so seh ichs n bischen - korrigier mich wenn ichs falsch sehe.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
21.12.2011, 08:07 Uhr
ingotron



Hallo Olli,

unabhängig davon, dass Du ein speziell angepasstest Projekt vorhast - das Teil hier kann es nicht???
http://www.homecon.net/index.php/artikel/42-bp/275-sdcard-hxc-floppy-emulator-rev-b.html

http://hxc2001.free.fr/floppy_drive_emulator/


Gibts auch hier: http://www.sintech-shop.de/sinclair/spectrum/hardware/

Viele Grüße

Ingo.
--
funktionsfähig: ZX Spectrum 48, ZX Spectrum+2 / 128k, ZX Spectrum Next, Harlequin48/128, N-GO (ZX Spectrum clone), Gigatron TTL, ZX UNO, Chessmaster Diamond, Chessmaster, RFT-PONG, THAT (The Analog Thing)
Man darf die Menschen nicht mit ihren Engsten alleinlassen. (Zitat: Peter Glaser)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
21.12.2011, 08:15 Uhr
Olli

Avatar von Olli

Ich weiss nicht? Der P8000-WDC hat mit einem Floppy-Drive nicht viel gemein.... es ist eine 8Bit-PIO-Schnittstelle mit definierten Kommandocodes zur Arbeit mit der dahinter haengenden Festplatte. Den Teil Mikroprozessor <-> SD-Card kann man sicherlich zum Teil von irgendwo "klauen" und anpassen. Den teil P8000 <-> Mikroprozessor wird man aber selber entwerfen und programmieren muessen.

Ich ueberlege halt auf welchen Mikroprozessor man am besten setzt um es als Invest in meine Zukunft zu sehen
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 21.12.2011 um 08:22 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
21.12.2011, 09:39 Uhr
Olli

Avatar von Olli

Ok, gehen wir mal davon aus, das ich ATMega einsetze - ist ggf. auch "einfacher" als direkt mit nem AVR32 loszulegen. Wo ist der Unterschied zwischen:

ATMEGA 644-20 PU
ATMEGA 644-20P PU
ATMEGA 644-10V PU

alle 3 werden von Reichelt angeboten

Edit: 10 und 20 scheinen die maximale Taktfrequenz zu sein - fragt sich nur das P
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 21.12.2011 um 09:42 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
21.12.2011, 10:12 Uhr
felge1966
Default Group and Edit


Der Mega 644P hat eine 2. UART.
--
http://felgentreu.spdns.org/bilder/jacob120.gif
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
21.12.2011, 10:21 Uhr
Micha

Avatar von Micha

*Eigentlich* sind diese Atmel-Käferchen an sich genial einfach in der Anwendung. Der einzige Pferdefuß besteht darin, dass es bei fast jedem Modell Ausnahmen gibt, z.B Pins die alternativ als spezielle Schnittstellen oder I/O konfigurierbar sind, oder dass ein bestimmtes einzelnes Ausgabe-Pin keine Leistung treiben kann u.s.w.
Man muss immer ganz genau in die Datenblätter schauen, ansonsten bekommt man schnell graue Haare...

Edit:
ich sehe eines auch so wie Olli: die Herausforderung ist hier das Interface zur P8000.
Für die SD-Karten-Anbindung an den Atmel gibts fertige Lösungen. Die beiden bekanntesten sind wohl die Lösungen von Ulrich Radig und von Roland Riegel, wobei letztere auf mich einen deutlich seriöseren und ausgereifteren Eindruck macht. Im Falle meines Bastelprojekts bin ich ebenfalls konkret daran, die Lösung von Roland Riegel (Schaltung, veröffentlichter C Code für blockweises Schreiben/Lesen) an mein Projekt dranzustricken...

Dieser Beitrag wurde am 21.12.2011 um 10:34 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
21.12.2011, 10:40 Uhr
holm

Avatar von holm

Nicht alles was hinkt ist ein Vergleich Olli, in so fern ist das mit dem FreeBSD völliger Unsinn, weil das nicht wie beim BSD eine ältere und eine neuere Version der selben Sache ist, sondern 2 völlig unterschiedliche Dinge.

Atmel AVR sind Einchiprechner für embedded Applikationen, wie z.B. die Steuerung von Peripheriegeräten oder kleinen Geräten. Die 32Bitter eher für Rechner bei denen es auf höhere Verarbeitungsleistungen ankommt.
(Du betonierst auch keinen neuen Träger in deine Wohnung ein, nur um daran ein Bild zu befestigen.) Meiner Meinung nach ist der AVR32 ein Nischenprodukt, dass sich nicht sehr weit verbreiten wird, eben weil die durch viele Hersteller lizensierte ARM Architektur ein Industriestandard geschaffen wurde, der sich auch auf die Preise auswirkt.
Von einer Mips Maschine würde ich tunlichst die Finger ganz lassen, es ist bei diesem Prozessor nicht egal, welche Maschinenbefehle nacheinander angeordnet werden. Da wurde ein ganzes Stück Prozessorlogik in den Compiler verlagert um die Funktion zu gewährleisten. Das Ganze dann im Wesentlichen ohne Ansprechpartner bei Problemen? No thanks.
Davon abgesehen erhöht sich bei den 32ern im Verhältnis zu den 8ern ganz erheblich der Verwaltungs- und Konfigurationsaufwand der Ressourcen innerhalb des Prozessors, Du kommst bei kleinen Projekten ganz leicht in ein 1:1 Verhältnis zwischen dem eigentlichen Code und der Konfiguration von IO usw.

Du bist also hier "havy on the woodway" wenn Du denkst das die 8 Bitter veraltet sind und 32Bit das Nonplusultra ist. Das ist völliger Unfug.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 21.12.2011 um 10:53 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
21.12.2011, 11:13 Uhr
Olli

Avatar von Olli

OK OK - deswegen frage ich ja hier You don't need to become fox devils wild
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
21.12.2011, 11:33 Uhr
holm

Avatar von holm

My dear Mister Singingclub!

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
21.12.2011, 11:40 Uhr
Olli

Avatar von Olli

There goes the dog in the pan crazy!

http://atmel.com/dyn/products/product_card.asp?part_id=3694

Waere dann die Wahl?

http://www.roland-riegel.de/sd-reader/index.html könnte man doch sicherlich als Basis nehmen. Wenn das dann mit dem ATMega 644 laeuft, koennte man die ganze FAT-Geschichte rauswerfen und das alles auf Raw-Write/Read runterstrippen.... und dann wenn das mal lüppt mit der P8000 Seite anfangen, oder?
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 21.12.2011 um 11:41 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
21.12.2011, 12:14 Uhr
holm

Avatar von holm

Der Atmega644P

http://darisusgmbh.de/shop/product_info.php/info/p21487_ATMEGA644P-20PU-----ISP-MC-2-7-5-5V-64K-Flash-20MHz-DIP40.html

..hat 2 serielle Schnitten, achte auf das "P" und den gibts in DIP40.
Du brauchst noch ein paar Stützkondensen, einen 10nF und 4,7K fürs Reset,
einen Grundwellen-Baudraten-Quarz Deiner Wahl..

http://darisusgmbh.de/shop/product_info.php/info/p3680_QM018-432-----Quarz-18-432-000Hz-HC-49-U.html


.. mit 2 22-27p Kondensen, einen 6 poligen (oder 10 poligen)
Stiftleistenstecker (sowas für Jumper) für ISP oder sehr empfehlenswert für JTAG Interface.
Mit letzterem läßt sich "in circuit" debuggen, Du kannst Variablen angucken, single Step usw.
wenn Du einen JTAG Programmer hast...

...ebay 310361878622,320811438120

Der Dragon hat den Vorteil, das er verhältnismäßig preiswert ist, DebugWire, Jtag,ISP und HV Programming unterstürtzt und den Nachteil das er ohne Gehäuse kommt und das seine Elektronik relativ empfindlich ist, u.A. gegen Berührung eines beschissenen TI Schaltreglers im Betrieb. Die Frimware war früher mal begrenzt auf Typen mit 32K Flash, so viel ich weiß ist das mittlerweile Geschichte. Das professionelle Tool ist das JTAG ICE MKII, kostet aber ca. das Dreifache und kann kein Debugwire und kein HV Programming. Ich habe Beides.
Du kannst Dir auch einen billigen ISP Programmer kaufen, die Debugging Features entfallen aber damit.

Guckstdu: www.aplomb.nl/TechStuff/Dragon/Dragon.html

Meiner lebt aber auch so noch, ohne das ich irgendwas unternommen hätte.
Sieh zu, dass Du einen Dragon mit Befestigungslöchern im Board bekommst, das ist eine neuere Version, die wohl nicht mehr so empfindlich ist. Ich habe eine alte.
Ich habe je einen Dragon mit einem kaputten Regler und mit einem kaputten Treiber für rd. 9 Euro in der Bucht verhökert. Ich hätte es halt eher wissen müssen. Der Regler läßt sich brücken,
war bei dem Ding schon gemacht. Lies Dir Durch was die Jungs bezüglich der Stromlieferfähigkeit von USB Ports zu sagen haben, ich hatte noch keine Probleme. Die kaputten D. hatte ich geschenkt bekommen.

Dann müßte man mal in der Schaltung vom WDC nachgucken, IMHO ist dort das Gegenstück ein oder 2 8212, irgend welche Register mit Freigabe wirst Du wohl IMHO noch brauchen, 8212 tuts natürlich auch :-)

Zum SD Card Interface guckst Du mal bei http://www.mikrocontroller.net/ nach, auch in der Codesammlung. IMHO gibts da nicht nur eine Implementierung der Routinen...
Kannst Dich gerne da anmelden, laß Dich nicht von alten Vätern ärgern..

Gruß,

Holm

Edit: den Dragon gibts auch bei darisus für 57.120 Reichelt hat den auch, Preis ähnlich.
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 21.12.2011 um 13:40 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
21.12.2011, 13:41 Uhr
Olli

Avatar von Olli

Würdest du die Schaltung durchgängig mit 3.3V betreiben, oder mit 5V und nur fuer die SD-Karte aus den 5V die benoetigten 3.3V machen?
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
21.12.2011, 13:54 Uhr
holm

Avatar von holm

Ich würde den Wandler ins SD Card Interface setzten und den Rest mir 5V betreiben, rein aus dem Bauch heraus...

:-)
Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
21.12.2011, 14:46 Uhr
Olli

Avatar von Olli

Jo aufm WDC sind 2 8212 welche sich um die Datenleitungen kümmern. Kann man die nicht direkt an den MickroC hängen und dann im MikroC die Ports auf Input oder Output sozusagen "online" programmieren abhaengig von den Bedingungen die aktuell beim P8000-WDC durch Hardwarelogik dazu fuehren?

So ganz schnall ich noch nicht diese doppelt belegten Ports beim AVR. Ich habe im Grunde 32 I/O Lines welche ich aber auch "speziellen" AVR-Funktionen zuweisen kann? Macht man das mit der Fuse-Programmierung? Also ob ich jetzt z.B. eine schnöde I/O haben moechte?

Wenn ich mir das so anschaue, scheint man den Port-A fuer Input (Analog-Digital-Converter) benutzen zu koennen. Z.B. wenn der SD-Kartenslot ueber eine "SD-Karte-steckt" Logik verfügt, könnte man die dort anschliessen und diese abfragen.

Die Ports B - D haben aber neben ihrer jeweiligen "Spezialbedeutung" die Bedeutung "Pin Change Interrupt ..." - was soll man dadrunter verstehen? Das ich dort ein Interrupt reinbekommen kann, auf dem ich mit meinem Programm reagieren kann? Mh... ich brauch doch irgend ne Schnittstelle fuer 8Bit raus und 8Bit rein an Daten?! Mal neben den Steuerleitungen betrachtet.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
024
21.12.2011, 14:59 Uhr
Olli

Avatar von Olli

Oder macht man das so?

http://www.mikrocontroller.net/attachment/1483/SPI_74HC595.pdf


Da steht was dazu

http://atmel.com/dyn/resources/prod_documents/doc2593.pdf

Seite 66 / 12.2 Ports as General Digital I/O

Müsste man doch dann einfach durch das schreiben in die richtigen Register den Port "on the fly" auf lesen oder schreiben umkonfigurieren. Die Logik dazu muesste man dann implementieren. Hab zwar noch 0 Schimmer wie... aber mal schauen
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 21.12.2011 um 15:04 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
025
21.12.2011, 15:13 Uhr
holm

Avatar von holm

:-)

Langsam, langsam.

Generell sind das erst mal Stino Ein/Ausgabe Ports. Bei Aktivierung von Sonderfunktionen übernehmen die entsprechenden Port Pins eben diese Sonderfunktion und stehen als GPIO Port nicht mehr zur Verfügung. Die Programmierung was ein Ein - und was ein Ausgang ist, wird je Port in einem Data Direction Register (z.B. DDRA) festgelegt, da schreibt man einfach 0 oder 1 auf das entsprechende Bit. Das hat mit den Fuses erst einmal wenig zu tun, bis auf die Ausnahme der JTAG Pins, also derer die für den Programmer benutzt werden müssen.
Der Port A führt bei diesem Atmel in seiner Spezialfunktion auf einen Analogmultiplexer der dann irgendwo auf den ADU führt.. vergiß es, brauchst Du hier nicht. Wichtig ist, das der Betriebsspannungsanschluss dieses Ports extra herausgeführt ist und mit 5V verbunden werden will (AVCC).
Pin Change Interrupt ist Nichts weiter als ein Feature, d.h. man kann diesen Port als Interrupt Source programmieren und der kann an jedem Pin wenn sich der Pegel ändert (eine Flanke oder Beide) einen Int auslösen..

Was es nicht gibt, ist der Byte Ein/Ausgabemodus eines PIO mit den Handshakesignalen und das ist auch der Punkt warum ich auf Register hingewiesen habe. Wenn die P8000 lesen will, mußt Du innerhalb kurzer Zeit die Daten zur Verfügung haben, dann entweder sehr schnell per Interrupt auf einen Pin reagieren (ok Du hast 20 Mips!) oder besser ein Register das einfach den schon vorhandenen Inhalt durch schaltet. Ein ähnliches Problem gibts beim Nachahmen einer parallelen Bürocomputertastatur. Da hat man 600ns Zeit die Daten auf den Port zu legen...

Edit: wieder da, war kurz weg...

So richtige Einchipper mit Bus fähigem Port gibts offensichtlich nicht mehr, ich denke da an Sowas wie die UPI 8042 von Intel, bekannt als Tastaturcontroller. Da war ein Port so ausgelegt, dass er als Businterface in einem Rechner dienen konnte. Ich weiß zwar jetzt nicht aus dem Kopf ob dieser Port damals mit Registern hinterlegt war, aber ich denke schon.
Man konnte also vom Bus her zu einem beliebigen Zeitpunkt dort etwas einschreiben und der Einchipper hat es aus dem Latch geholt wenn er Zeit hatte und das Ganze natürlich auch umgekehrt. Das kann die PIO mit Ihrem Byte Modus auch, wurde z.B. auch bei der WPU AS86/1 benutzt.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 21.12.2011 um 16:41 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
026
21.12.2011, 18:04 Uhr
Olli

Avatar von Olli

Nun, dann koennte man auch diese Serial <-> Parallel Latches an den SPI-Bus haengen. Aber... ich denke, wenn man das irgendwie über die I/O Ports des µC macht, kommt man vielleicht performanter daher als wenn neben der SD-Karte auch noch Input und Output Latches am SPI-Bus haengen.

Aber - vielleicht auch - jedes Problem zu seiner Zeit

Ich wuerde jetzt folgendes Vorschlagen:
Ich schau mal das ich n Schaltplan hinbekomme welches erstmal folgende Kriterien erfüllt:

VCC = 5V
ATMega644P
SD-Card Halter
Regelschaltung 5V -> 3.3V (gibts ja zuhauf, gibt auch so schöne SD-Card-Halter die bringen die direkt mit)
MAX3232 (fuer TTL -> RS232 - habe ich schon selbst verbaut -> Meine)
JTAG-Connector

Wenn ich die Schaltung habe, und alles richtig "gerafft" habe, besorge ich mir die AVR-IDE von Amtel für mein Windoze, und dann z.B. den Dragon von Amtel. Aber... wie programmiere ich damit den ATMega? Muss ich mir eine Fassung drauflöten und jedesmal den ATMega da reinstecken, oder kann ich mein entwickeltes Board über das JTAG Interface mit dem Dragon "verbinden"? "Erkennt" die Windows Software dann autom. den a, JTAG-Port des Dragon angeschlossenen ATMega? Ich suche da jetzt eine moeglich einfache und simple Loesung - ich will nicht schon bei der Entwicklungsumgebung mit dem Gefrickel und rumgebastel anfangen "Einstecken und Arbeiten" will ich
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 21.12.2011 um 18:06 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
027
21.12.2011, 18:34 Uhr
felge1966
Default Group and Edit


Die Fassung würde ich dir auf dem Dragon schon wegen der HV-Prog Geschichte empfehlen. ISP kannst du direkt vom Dragon nutzen. Aber denke bei allen Handlungen an die statische Epfindlichkeit des TI-Spannungsreglers.
--
http://felgentreu.spdns.org/bilder/jacob120.gif
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
028
21.12.2011, 18:56 Uhr
Micha

Avatar von Micha

das frappierende in Sachen Atmel AVR ist, dass man typischerweise die Schaltung fast in Null komma Nix beisammen hat, die das Projekt erfordert. Dann hat man ein totes Stück Hardware, das zwar das Potential hat, alles zu können, aber praktisch noch nix macht. Und dann geht der wirklich aufwendige Teil los, ne passende Software zu friemeln, die der Maschine Leben einhaucht... Insofern bin ich extremlitsch optimistitsch dass Towarischtsch Ollitsch als Diplomirowitsch Programmierowitsch das gut hinkritscht

Auf jeden Fall isses trotzdem 'ne gute Idee, zumindest die fragwürdigen bzw. nicht 100pro sicheren Teile der Schaltung zunächst als Breadboard aufzubauen.

'ne Nebenfrage: holm hat weiter oben in 005 "AVR Studio 4 (!)" geschrieben. Wär dankbar für nen Kommentar warum 4 und nicht 5 - ich kann mir's zwar denken (Studio 5 is ne sinnlos funktionsüberfrachtete Soft), würde es aber gern mal vom Profi hören was wirklich der Punkt ist.

Ich hab mir im September, als ich mit dem AVR-Kram anfing, das aktuelle AVR-Studio 5 runtergeladen und arbeite seitdem damit. Ich komm irgendwie klar damit, empfinde das Ding allerdings schon als verfettete, über"featur"te Software. Wenn ich das Ding starte, zeigt es mir jedesmal gefühlte 5 Minuten lang sein Startbild. Ich geh dann immer erst mal nen Kaffee trinken. Und dann hat das AVR Studio 5 ne Unmenge an Features und unklar interpretierbaren Icons. Die meisten ignorier ich, nutze halt nur die winzige Teilmenge die ich wirklich brauche.
Ausserdem hab ich schon öfters die Erfahrung gemacht, dass meine in C geschriebenen Atmel Programme nur dann korrekt arbeiten, wenn ich jegliche Optimierung des C-Compilers deaktiviere (ja: ich weiss was volatile bedeutet und macht...). Solange der Flash Memory nicht zur Neige geht hab ich keine Probleme damit, un-optimierte Programme zu verwenden

Dieser Beitrag wurde am 21.12.2011 um 19:17 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
029
21.12.2011, 19:27 Uhr
holm

Avatar von holm

Nunja, sagen wir mal es hätte mich Jeamand gewarnt der in die Herstellerfirma arbeitet :-)
Auch der Debugger funktioniert bie 4 performanter als bei 5, Es werden bei 5 nicht mehr alle Versionen der Hardware (Dragon oder Ice) genutzt sondern in Software gemacht und dort fällt einem dann der Protokolloverhead mit XML auf die Füße..
Es wurde vermutet das die nächste folgende Version 6 heißen könnte..

Ich ätte mir das ja ganz vergniffen und geschrieben das er /usr/ports/devel/avr* installieren soll ... .aber ....

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 21.12.2011 um 19:32 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
030
21.12.2011, 19:41 Uhr
Olli

Avatar von Olli

Auch auf die Gefahr hin, das der Thread abdriftet.... ich muss nicht von FreeBSD ueberzeugt werden - bin ja seit 12 Jahren Nutzer und seit k.A. 9 Jahren oder so auch Committer.... aber ich bins einfach leid aufm Desktop. Kein Major Xorg Update ohne das man wieder ohne Xorg da stand (Xinerama -> Xrandr, Input Devices -> HAL usw usw).... will nich nach Hause kommen, Ports updaten und dann erstmal wieder 4h rumfummeln damit mein System wieder laeuft nur weil sich wieder irgendwo irgendwas geaendert hat und es keine autom. Migration laeuft.... ne danke. Aufm Server OK - aber aufm Desktop bin ich wieder Back to Windows - und ehrlich - ich find 7 nicht mehr sooo schlecht.

PS: letztens mal Ubuntu ausprobiert fuer das Netbook meiner Freundin... da liegen echt WELTEN zw. FreeBSD und Ubuntu was den Desktop anbelangt... Ubuntu hat mich echt mega überrascht (obwohl ich von Linux nix halte)

Auf so ein gefrickel habe ich einfach keine Lust mehr. Wenn ich schon wieder sehe was es da fuer ne Latte an AVR-Ports gibt... eh das alles wieder laeuft.... und dann faehrst du updates und es laeuft wieder nix... was ich da schon fuer Stunden an Zeit investiert habe.... inzw. bekomm ich da immer einen Mega-Hals wenn ich wegen Software-Problemen Zeit investieren muss. Da habe ich 0 Toleranz mehr. Und das klappt bei Win7 fuer den Endanwender einfach besser. Auch fuer einen wie mich :p

Back to the topic....

Kann ich meinen ATMega denn nun einfach mit dem Dragon programmieren ohne ihn jedesmal aus der Fassung zu wuchten und auf den Dragon zu stecken? Also ihn irgendwie mit dem JTAG-Header an den Dragon anschliessen?
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 21.12.2011 um 19:45 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
031
21.12.2011, 19:41 Uhr
Micha

Avatar von Micha

Naja neben vielen Nachteilen und dass alles ätzend langsaaaaaam ist hat das AVR-Studio nach meiner Meinung gegenüber den Linux Umgebungen (normalerweise nutze ich auch Linux, bei der Atmel-Bastelei hab ichs mir vorerst verkniffen) folgende Vorteile:
* Das Zusammenspiel der gesamten Toolchain ist für den Normalverbraucher ordentlich vorkonfiguriert.
* AVR-Studio bietet im Quelltext-Editor recht intelligent kontext-sensitive Eingabe-Ergänzungen an (z.B. passende Variablennamen etc.). Diesen Teil vom AVR-Studio hab ich im Laufe der Zeit schätzen gelernt.
Unter Linux sind die Atmel AVR Umgebungen meist ziemlich verkrüppelt oder mangelhaft konfiguriert. Ich arbeite normalerweise mit Ubuntu, hab es ziemlich schnell aufgegeben damit eine passende Entwicklungsumgebung hinzubekommen. Vielleicht im nächsten Leben...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
032
21.12.2011, 19:46 Uhr
Micha

Avatar von Micha


Zitat:
Kann ich meinen ATMega denn nun einfach mit dem Dragon programmieren ohne ihn jedesmal aus der Fassung zu wuchten und auf den Dragon zu stecken? Also ihn irgendwie mit dem JTAG-Header an den Dragon anschliessen?

Gottes Willen NEIN!

zum Programmieren is normalerweise das ISP Interface gut. Für die fertige Leiterplatte muss man so ne 10-polige Stiftfarm mit vorsehen. Beim Probieren (Breadboard) kann man die wirklich erforderlichen Drähte auch jedesmal in das Board neben dem Chip stecken... ich hab jedesmal Freude an den lustigen Namen der Pins: MISO/MOSI... war das nich der schräge Typ mit dem komischen Kläffer der mit ner Verlängerungschnur... erdingst worden war ähm... und so?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
033
21.12.2011, 19:56 Uhr
Olli

Avatar von Olli

OK - SPI Interface kenn ich schon, da man das fuer die SD-Karte braucht. Da haengt ja normalerweise der JTAG Port dran.

Wodrauf ich hinaus will. Ich werde ja ewig viele Iterationen brauchen bis das ganze laeuft. Also programmieren, testen, programmieren, testen usw... ich bin da eher vom Typ kleine Schritte bei neuen Dingen.
Wenn ich da jedesmal den AVR ausm Sockel hebeln muss und wieder zurueck werd ich irre. Ich brauch was zum draufstecken auf mein Board oder so.

Edit: nennt sich wohl ISP was ich meine.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 21.12.2011 um 20:04 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
034
21.12.2011, 20:07 Uhr
Micha

Avatar von Micha

Sorry, hab mich missverständlich ausgedrückt.
Nein, du musst den AVR nicht bei jedem Programmiervorgang raushebeln.
Bei nem "Production Board" ist normalerweise ne Stiftleiste drauf um den Chip zu programmieren.

Ich hab persönlich nur Erfahrung mit der einfachen Version ISP, also nix Debug-Möglichkeit. Bin aber eh nich so der extensive Debug-Typ, ich schreib Software die möglichst mit wenigen Iterationen gleich so läuft. Klappt auch fast immer...
Aber sowohl bei ISP als auch JTAG kann man entweder auf ner Leiterplatte entsprechende Stiftleisten vorsehen oder beim Breadboard Drähte aufstöpseln. Mein ISP Programmer hat ein Flachkabel mit ner 2x5 Stiftbuchse am Ende. Zwischen dieser und dem Breadboard steck ich dann halt Drähte für MISO/MOSI/SCLK/RESET/GND/VCC. Ist wirklich kein grosses Ding während der Entwicklerei...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
035
21.12.2011, 20:11 Uhr
Olli

Avatar von Olli

Jo - und das kann ich mit dem Dragon machen?
Also - ISP Header auf den Dragon raufloeten, ISP Header auf meinem eigenen Board vorsehen, Kabel dazwischen. AVR Studio starten und dann "durch den Dragon" hindurch via ISP mein ATMega programmieren?
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
036
21.12.2011, 20:14 Uhr
holm

Avatar von holm

Du mußt nix aus der Fassung hebeln :-)
Einfach anstecken, aber wenn Du mit JTAG debuggen willst sind die Ports für die Applikation nicht da (SPI). Entweder Du machst dann Software SPI oder Du verzichtest auf den In Circuit Debugger (den Du wahrscheinlich erst mal eher brauchst).


Zu X11 Desktop: Ok Dieses Linux geht mir langsam auf den Sack. Xorg funktioniert mittlerweile genauso wie Linux, es wird drauf llos programmiert koste es was es wolle, ohne Rücksicht auf Migrierbarkeit und Verluste oder Standards.
Man kann ja neu installieren, .... das kenne ich aber schon von irgendwo her.

Olli Dein Fehler war, das Du der bleeding Edge Entwicklung hinterher gerannt bist, ich habe es mir in -stable bequem gemacht und drehe die Orgie maximal 1x pro Jahr durch.
Ich hatte jetzt wieder Zirkus mit ARM und Eclipse ...ich hätte Eclipse nicht wirklich gebraucht, ich arbeite ja sonst auch mit der blanken toolchain/gdb. Wollte es halt probieren. Selber schuld. Habe 2 Wochen compiliert.

Nichts gegen die *BSDs, dort funktioniert das alles relativ problemlos, aber wenn es an den Desktop und Java geht (also die Fremdimporte, Linuxismen) ist die Sache wirklich zum kotzen, ich weiß das. Die Sourcen sind aber einfach Scheiße, Alles hängt an einem Faden, Depencies drehen sich im Kreis usw...
Die Manpower der BSDler reicht halt für das solide System an sich, für mehr nicht.

Die AVR Geschichte geht aber auf FreeBSD ganz gut, da hat der die Finger im Spiel von dem der Tip kam....

Nochwas: ISP und JTAG sind 2 verschiedene Sachen, rein vom Funktionsumfang her. ISP bietet keine Debuggingmöglichkeiten, nur programmieren,lesen und Fuses setzten, dafür sind die PINs dann im laufenden Betrieb frei. JTAG kann eine Chain mit anderen JTAG Programmierbaren Bausteinen bilden, wie z.B. FPGAs. Damit kann man auch programmieren, aber eben auch Register und Variablen lesen, Halte- und Watchpunkte setzen, Schrittbetrieb/Trace im Sourcecode. Für ISP gibt es 2 Steckerstandards, 6polig und 10polig, für JTAG braucht man 10.
Der JTAG Port ist defaultmäßig enabled, d.h. der entsprechende Port funktioniert nicht als Standard IO Port. Dafür gibts eine Fuse.


Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 21.12.2011 um 20:36 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
037
21.12.2011, 20:16 Uhr
Olli

Avatar von Olli

Jörg Wunsch?

Bzgl. Debugging... hab bisher mein ganzes Leben lang mit "zu Fuss Debugging" gearbeitet... also Ausgaben der Dinge die ich wissen muss direkt im Programm. Ausnahme - kernel debugging mit gdb (als ich mich mal an nem Ethernet Driver fuer FreeBSD versucht habe 2003 ) Aber im Grunde ist fuer mich printf-debugging einfacher...

Muss ja von mir aus auch nicht ISP sein... ist mir ja im Grunde gehuppt wie gesprungen - ich brauch nur eine "Kabel ran" + "programmieren" Lösung...

@bzgl. Xorg&Co. Ich brauch halt ne GUI aufm Desktop - bin exzessiver User von Youtube&Co. und das geht unter FreeBSD nur mit extremen Umstaenden... da musste ich dann halt nach 12 Jahren einfach irgendwann mal einsehen - fuer meinen Anwendungsfall ist das einfach nicht geeignet. Als Server top da man dort in seiner BSD Welt bleiben kann - aber sobald man mit der Linux-rulez Software ran muss nervts einfach (wie du ja auch schon erkannt hast ) - ach und nebenbei zocke ich auch noch mal hier und da n Game
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 21.12.2011 um 20:27 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
038
21.12.2011, 20:31 Uhr
Micha

Avatar von Micha

@Olli

Falls du dich wirklich erst mal von der sicheren Seite her an das Thema AVR annähern willst kann ich dieses Buch empfehlen:
http://www.amazon.de/AVR-Mikrocontroller-programmieren-Selbstbauprojekte-ATtiny13-ATmega32/dp/3645650199/ref=sr_1_1?ie=UTF8&qid=1324495532&sr=8-1
Dr. Günter Spanner: AVR Microcontroller in C programmieren

Ist ein rel preisgünstiges, rel knapp gefasstes Buch, das nicht alles bis ins letzte erklärt sondern einigen Raum für Schlussfolgerungen und eigene Erfahrungen lässt, aber als Wissens-"Initialzündung" ist es allemal gut.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
039
21.12.2011, 20:34 Uhr
Olli

Avatar von Olli

Mh... zum Buch lesen komme ich nicht - bin dann doch eher der trial&error Typ bzw. lese dann was bei Bedarf im Netz wenn moeglich. Ein großer Nachteil beim Buch - keine Volltextsuche (ziehe daher jedes Textdokument einem Buch vor - ich lebe quasi das papierfreie Büro - mit 500 Blatt komme ich ungelogen 2-3 Jahre aus)
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
040
21.12.2011, 20:39 Uhr
holm

Avatar von holm

Das Buch braucht Olli nicht. Ich habe ihm schon geschrieben gehabt das es Tutorials gibt, nach dem der die erste LED mit PWM heller und dunkler gemacht hat, kommt der alleine zurecht, spätestens dann begreift nämlich jeder vernünftige Mensch von alleine wo es lang geht :-)

Olii lies noch mal oben, ich hatte noch was draneditiert wärend mich Günter angerufen hat..

BTW: mit Youtube habe ich keine Sorgen, aber Du meinst Flash..?

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 21.12.2011 um 20:40 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
041
21.12.2011, 20:44 Uhr
Ralph



Na zum in der Schaltung programmieren ist der ISP schon genau die richtige Sache ! Der AtMega bleibt in der Schaltung und dort kannst ihn beliebig programmieren.
Du musst nur drauf achten, dass der AtMega über Dioden auf der Betriebsspannung vom ISP versorgt wird, ohne das die ISP noch die ganze Schaltung mit Strom versorgt, denn dass kann die nicht verkraften !

Ob nun Dein Dragon Board ISP kann, weiß ich aber auch nicht.

Gruß Ralph
--
Es geht alles erst richtig los !

Dieser Beitrag wurde am 21.12.2011 um 20:45 Uhr von Ralph editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
042
21.12.2011, 20:45 Uhr
Olli

Avatar von Olli

Ah OK holm - habs "nach"gelesen (JTAG, ISP) - ok, wenn beides möglich ist, scheint mir JTAG das sinnvollere zu sein. Naja - ich probiers dann einfach aus was besser "passt". Kann man ja beides mal testen.

Aus so nem Tutorial werde ich mir dann mal was basteln... vorher zeichne ich aber den Plan meines "Teil 2" Gerätes und kasper das dann nochmal mit euch durch - damit ich nur eine Bestellung brauche

@BSD - Jo Flash....
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 21.12.2011 um 20:50 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
043
21.12.2011, 20:50 Uhr
holm

Avatar von holm

Ralph ich nehme an das Du Dich mit JTAG nicht auskennst?

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
044
21.12.2011, 20:52 Uhr
Ralph



Komisch, jetzt hat der Server meinen Beitrag von 20:15 auf 20:45 verschoben.. grins den hätte ich mir ja sparen können hihi
--
Es geht alles erst richtig los !
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
045
21.12.2011, 20:54 Uhr
Micha

Avatar von Micha

ich find die Projekt-Idee sowas von faszinierend, ganz ehrlich.

Auf der anderen Seite weiss ich eines: das faszinierende Klicker-Geräusch des Step-Motors und die Sägewerks-Geräusche der Festplatte, speziell beim Hochfahren, werden uns allen schmerzhaft fehlen.

Eines der erfolgreichsten C64 Projekte jüngerer Zeit - die 1541 Ultimate - hat dort sogar die Laufwerksgeräusche emuliert - kann man per 3,5mm Klinke auf einen Lautsprecher ausgeben
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
046
21.12.2011, 21:00 Uhr
Olli

Avatar von Olli

Naja - erstmal gucken wie weit ich komme
Noch faszinierender fände ich TCP/IP unter WEGA mit ner richtigen Netzwerkkarte. Aber das is einfach ne Nummer zu groß. Im Grunde müßte man entweder den TCP/IP Stack von BSD auf nen SysIII Kernel portieren (was noch ganz viele andere BSD Features mitbringen wuerde die auch alle portiert werden muessten wie z.B. Interprozesskommunikation, Semaphoren usw usw), oder aber man prömpelt so eine All-In-One-Lösung an die P8000, muss dann aber alle Tools neu erfinden, da das Device das quasi alles handlet. Oder man ueberlegt sich n Mittelweg sofern es einen gibt (TCP/IP Checksum Berechnung auf nem externen Gerät und nich in Software auf der P8000 waere sicherlich ein enormer Performance-Boost). Aber.... noch viel viel mehr Arbeit als das hier - man vergesse auch nicht diesesn total asbach uralten C Compiler der quasi nix kann - so schaetze ich es ein.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
047
21.12.2011, 21:40 Uhr
holm

Avatar von holm

Jo, der Compiler ist ein Problem, schade dass der Typ mit dem LCC kein Interesse mehr zu haben scheint. Ich habe aber wirklich auch keine Ahnung von Compilerbau.

Auf den Netzwerkkarten von PDP11 und VAX befinden sich Prozessoren, auf der DELQA z.B. ein MC68000. der dürfte der PDP11 an Compute Power sicherlich überlegen sein.. im Treiber von 2.11BSD findet man auch sicher raus, wer da was macht. Z8000/PDP11 sind im Prinzip ziemlich ähnlich, nur die PDP hat Wahnsinnsmaschinenbefehle, da schreibt man in 109 Zeilen ganze Bootloader für Platten..

Es ist aber der Reihenfolge nach schon richtig, erst das Massenspeicherproblem (inkl. Backup(!), notfalls gleich raw auf eine 2. SD Card?), dann die Compiler Guys kicken und dran bleiben, danach vielleicht was am Kernel und TCP/IP, wenn ich dann nicht schon ins Gras gebissen habe :-)
IPC und evtl. Job control wären schon mal nicht schlecht..

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 21.12.2011 um 21:40 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
048
21.12.2011, 21:58 Uhr
Olli

Avatar von Olli

Der Typ mit LCC - den gibts nicht
Du meinst sicherlich der, der den P8000 Emulator entwickelt hat, der hatte aber nix mit dem Compiler am Hut.
Problem ist beim LCC - der kann nur segmented Mode. Hilft teilweise nicht fuer einzelne Bereiche wo non-segmented notwendig ist so wie ichs verstanden habe - und LCC anpassen... da fehlt mir auch wieder der Skill. Ein paar Bugs habe ich ja schon rausgebaut. Aber non-segmented Assembler code erzeugen... und auch noch den Optimizer darueber in Kentniss setzen... ne, das wird nie was
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 21.12.2011 um 21:59 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
049
21.12.2011, 22:42 Uhr
holm

Avatar von holm

Nee, ich verdrehe blos was.Es war wohl pcc den ich meinte, den ollen LCC haben wir ja.
Wer stammte denn nun von was ab, ich habs schon wieder vergessen.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
050
21.12.2011, 23:20 Uhr
otto11



So, nachdem ich hier wohl etwas losgetreten hab, muß ich auch mal meinen Senf dazu geben:

Falls ich bis dahin kommen werde, einen P8000-WDC-Ersatz bauen zu müssen, kommt bei mir auf jeden Fall ein anderer Controller zum Einsatz: Ein 16-Bitter Freescale S12. Der hat mehr als genug Power (bis 24MHz),je nach Typ genug RAM(!), genug Flash und eine sehr comfortable BDM-Debug-Schnittstelle. Diese wird zum Beispiel mit einem Pin + Reset-Pin abgehandelt und bietet alle Möglichkeiten, ohne auf mehrere andere Pins deshalb verzichten zu müssen.

Ich werde eine IDE-Schnittstelle auf der Massenspeicherseite vorziehen, da dann 2,5"-Harddisk, aber auch Flashcard, SSD oder so genauso passt. Kleine und mittlere 2,5"-HD gibt es bei e**y genug!
Da gab es ausserdem, wenn ich mich recht erinnere, mal einen gewissen Holm, der ein Swappen auf eine SD-Card/FlashCard nicht so recht befürwortete :-)

Meine Wahl des Controllers hängt einfach mit dem vorhandenen Material und der Kenntnis zusammen. Wenn wir das Ding in C programmieren, sollte einer Anpassung auf andere Controller nichts im Wege stehen. Eine "Großserie" des Teiles wird es wohl sowieso nie geben? Deshalb kann es jeder auf Universalplatine aufbauen. Wenn für die unterste SW-Ebene saubere Hardware Treiber vorgesehen werden, sollte eine Portierung auf den speziellen Controller der persönlichen Wahl nicht zu schwer fallen.

Ich habe eine P8000compact und da liesse sich ein solcher Adapter inclusive der Harddisk auch konstruktiv günstig im Raum neben dem WDC-Eingangsstecker unterbringen. Ich weiß jetzt nicht, ob auf dem Steckverbinder auch 5V zur Verfügung stehen. Da gibt es aber sicher eine Lösung. Ebenso müsste ich erst nachsehen, was für den Steckverbinder bei der P8000 gilt.

Aber das alles ist für mich der Schritt 2!

Gruß Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
051
22.12.2011, 07:01 Uhr
Olli

Avatar von Olli

Nujo, aber mit PATA setzt du ja auch wieder auf eine bereits abgekuendigte Technologie. Klar, swappen auf SD-Card ist nicht so der Brueller, aber ich habe auch gelesen, das diese Panik bei SSD und SD-Card bzgl. schreiben oft viel zu stark uebertrieben ist. Irgendwer hatte es mal ausgerechnet fuer ne SSD - die haellt bei angenommenem taeglichem 3h Gebrauch (er hatte es mal fuer n Lapptop ausgerechnet) immer noch Jahrzehnte.... und so oft wird wohl keiner mehr die P8000 gebrauchen. Des weiteren halte ich ein Backup von der SD-Card fuer wesentlich benutzerfreundlicher. SD-Card abziehen, in den Cardreader stecken und Karte im Raw-Modus 1:1 abziehen - fertig. Bei PATA hast du generell erstmal keine Anschlußmöglichkeit die Standardmaessig extern an einem PC zur Verfuegung steht.

Aber jeder wie er mag

@Holm - stimmt - du hast Recht. Ich hatte mal Kontakt zum PCC Entwickler (der heute noch entwickelt wird). Der wollte den ja mal auf nen Z8000 umsetzen mit meinen LCC Quellen als Hilfe - aber - er hat irgendwann (verstaendlicherweise), das Interesse verloren. Er meinte aber damals, das waere total easy

Edit: hier ist der Artikel - ist fuer SSD, k.A. welche Zellen in ner SD-Card zum Einsatz kommen.
http://www.storagesearch.com/ssdmyths-endurance.html
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 22.12.2011 um 07:04 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
052
22.12.2011, 07:35 Uhr
felge1966
Default Group and Edit


Auf IDE/PATA würde ich bei einer n euen Entwicklung auch nicht mehr setzen, da die Festplatten alle schon ein paar Jahre auf dem Buckel haben. Vermutlich werden aktuell keine mehr gefertigt.
Entweder man geht bei einer Neuentwicklung auf SD-Card oder SATA.
--
http://felgentreu.spdns.org/bilder/jacob120.gif
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
053
22.12.2011, 07:55 Uhr
holm

Avatar von holm

@otto11: Du hast schon Recht mit dem was ich gesagt habe, aber viele kleine embedded Unix Systeme machen es vor. Ich hatte ja auch am Anfang von GIDE gesprochen und möglicherweise einer SD Card, ich bin mir des Hakens der Sache durchaus bewusst.

Was den Controller betrifft habe ich auch Nichts gegen Freescale einzuwenden, wenn man die Entwicklungsumgebung dafür hat, warum nicht. Meine Erfahrungen mit BDM sind etwas älter, ich habe hier noch 2 KatCE mit 68010 und eine Mit 68332 herumliegen, wunderschöne Prozessoren :-)

Genauso ist es möglich an dieser Stelle wieder einen Z80 einzusetzen, der ganze Scheiberigisterverhau der originalen WDC entfällt durch IDE oder SD Cards und dreiviertel der Software sind schon fertig :-)

5V gibts auf den Steckern IMHO nicht, die Compact hat einen 26poligen Stecker innen und einen nicht bestückten Stecker für WDC an der Rückseite der Platine, dort wo bei der alten P8000 auch der Anschluß war.

@Olli: Mit wem hast Du damals gemailt? War das Anders Magnussen?
Ich hatte mit dem mal Anfang/Mitte der 90er Kontakt, der schuldet mir noch einen Emulex SCSI Controller für PDP11/VAX :-)

@felge: Ja, das ist das Argument gegen diese Platten, allerdings bin ich mir sicher, das für die restlichen Leben einer P8K noch genügend Platten existieren. Es gibt übrigens auch fertige SD-IDE Adapter.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
054
22.12.2011, 08:12 Uhr
Olli

Avatar von Olli

Jo holm, Anders Magnusson. Ein neuer Compiler ist dann aber auch nur zwei drittel der Wahrheit - eigentlich brauchst du dann auch noch ne aktuelle libc was wiederum Änderungen am Kernel mit sich bringen würde für einige Systemcalls die sicherlich damit hinzukämen.

Seine letzte Mail aus 2009 war....

Quellcode:
I have got lots of bug reports on pcc lately, so I have spent my time solving those
bugs instead.  Therefore no progress on z8k...

Paar Tage vorher war er noch begeistert


Quellcode:
Oliver Lehmann wrote:
> Anders Magnusson wrote:
>
>> Can you send me a tarfile of the compiler?  Simpler than trying to fetch it out of the cvs tree :-)
>
> Yeah, of course! Here you go :)
> http://pofo.de/P8000/misc/sources/WEGA/cmd/lcc.tar.gz
>
Thanks, I compiled it without problem.  I noticed that they have added weighting of instructions
to pcc in this implementation, something that I haven't but eventually have planned to do.
Do you know if there are any technical reports on this compiler hack? It would be interesting
to read, there seems to be some bright ideas in it :-)

I'll see when I get time to hack on this, it do not seem to be too much work.

-- Ragge


--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 22.12.2011 um 08:13 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
055
22.12.2011, 08:27 Uhr
holm

Avatar von holm

:-)

Na kicke Ihn einfach nochmal, evtl. Anfang Januar. der PCC dürfte ein Stück erwachsener geworden sein so dass er evtl. wieder Luft für derartiges hat...
Eventuell interessiert er sich ja nun für das "weighting of instructions".

Ich habe damals NetBSD auf eine Applicon Workstation, welche im Wesentlichen eine µVAX mit QBUS und UNIBUS war installiert und bin dabei über Probleme gestolpert. er war da in der NetBSD-VAX Ecke unterwegs.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
056
22.12.2011, 09:31 Uhr
otto11



@Olli
Danke, sehr interessanter Artikel.

@Holm
Der S12-BDM hat mit dem älteren 68xxx-BDM nicht mehr viel zu tun. Von Freescale gibt es eine komplette Entwicklungsumgebung mit C-Compiler und Debugger. Ich glaube zur Zeit 32k Code for free. Es gibt ebenfalls einen GCC. Der ICC-Compiler ist auch recht solide, kostet aber. Als BDM-"Kabel" gibt das TBDM, was auch mit der Freescale IDE verwendbar ist. Schließlich hab ich meinen eigenen Debugger mit zugehöriger Hardware.
Da sitze ich an der Quelle :-)

Die paar Pins für den SD-Card Anschluß sind dann auch nicht das Problem. Da gibt es auch schon fertige Software für S12 zur Ansteuerung.

Gruß Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
057
22.12.2011, 09:50 Uhr
Rüdiger
Administrator
Avatar von Rüdiger

Wie wäre es, einen Adapter von ST506 auf ein anderes Medium zu bauen statt den ganzen WDC zu ersetzen?
Hätte den Vorteil, dass die Baugruppe dann auch an allen anderen DDR-Computern (z.B. A7150) einsetzbar wäre.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
058
22.12.2011, 10:20 Uhr
Olli

Avatar von Olli

Jo - wurde ja auch schon überlegt - kam irgendwie bei raus, das man enorme Rechenpower braeuchte. Da gibts auch irgendwo schon ein Versuch sowas zu machen.... hatte ich glaube ich mal auf der classiccmp.org Liste gelesen - aber finde ich eh nicht mehr wieder. Ist wohl jedenfall n ganzen Arsch voll aufwändiger.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
059
22.12.2011, 12:12 Uhr
otto11



Hier gibt es so ein Teil:

http://www.datex-dsm.com/7wgo-sau48kshhzm-rhxlb.html#/mfm-hdd-emulator-dtx300

Das Problem ist, das die MFM-Bruttodaten live gelesen und generiert werden müssen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
060
22.12.2011, 12:57 Uhr
holm

Avatar von holm

@otto11: klar doch, wenn Du das Zeug ohnehin verwendest ist es ja ok.
Für mich hätte das aber nicht allzuviel Sinn, da ich das was ich kenne liegenlassen müßte und mich von vorne in das nächste einarbeiten, wobei die Endprodukte so ziemlich identisch leistungsfähig sein würden. Paulotto steht mit beiden Beinen "in Z8" das wäre genauso möglich, wo bie einem da die IDE nicht für lau um die Ohren gehauen wird.


@Rüdiger: ST506? Nö, ohne mich.

Vor allem geht danach der WDC noch genauso beschissen wie jetzt, seine Firmwarebugs bleiben vollumfänglich erhalten.
Das Interface ist zeitkritisch und störanfällig, das würde im Prinzip darauf hinaus laufen den Datenstrom zu samplen und wieder auszuspucken, dann machen die Controller auf "inneren Spuren" noch anderes Timing, da sich die Prekompensation verschiebt und Derartiges.
Muß ich nicht wirklich haben. Ist sicherlich machbar, aber das landet in der Signalprozessorgegend und ist ein Fulltimejob.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 22.12.2011 um 13:01 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
061
22.12.2011, 13:09 Uhr
Olli

Avatar von Olli

Nicht bezahlbar otto11 wenn ich mich richtig erinnere.....
Und ob es dann laeuft ist die andere Frage... siehe Holms Beitrag - die P8000 WDC Firmware ist recht wählerisch bzgl. der Festplatten.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 22.12.2011 um 13:09 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
062
22.12.2011, 20:45 Uhr
Olli

Avatar von Olli

Hallo,

ich habe mir jetzt einfach mal aus verschiedenen Plaenen im Netz n bissel was zusammengeklaut, und habe noch ein wenig was selber dazu gedichtet.

Könnt Ihr euch den Plan bitte mal anschauen?

http://pofo.de/tmp/P8000_WDC_SDCard.pdf

JTAG richtig angeschlossen?
Kommen sich lokale /RESET Logik nicht mit JTAG-Reset-Logik in die Quere?
5V->3.3V Regulator so richtig (habe ich eigentlich aus dessen Datenblatt abgepinselt).
Die SD-Card-Beschaltung (rechts im Plan) habe ich von http://www.roland-riegel.de/sd-reader/index.html genommen - aber - die Anschluesse, Karte-steckt, lese/schreibschutz schenke ich mir erstmal.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
063
22.12.2011, 21:27 Uhr
Micha

Avatar von Micha

Sieht auf jeden Fall schön bunt aus

Kondensatoren in 1 Farad Bereich gehen schon ma garnicht - jaja das war ne Sch*****, sorry.
Bei dem externen Taktgeber ist es ganz sicher Geschmackssache wie man es macht, ich glaub die einfachste Lösung ist ein 20 MHz Quarz mit zwei 20 Käp'n Picard Kondensmilch-Kondensatoren an jeder Seite.
Beim Atmel würde ich mir eventuell einen Knoten ins Taschentuch machen - falls du nicht auf Fuzzel-SMD-Technologie gehen willst (den Kram beim China-Versand anfertigen lassen), ist der Atmega 1284P meines Wissens ne Sache die du im Hinterkopf behalten solltest. Der 1284P ist pinkompatibel zum 644P, der DIL Typ mit den größtmöglichen Ressourcen, kostet ca 1 bis 2 Euro mehr als der 644P, hat die doppelten Ressourcen was Flash, SRAM und EEProm angeht. Bei nem Protottyp oder ner Einzelanfertigung kommts eh nicht auf paar Euro mehr an... und eh man nachher mitten im Projekt an fehlenden Bytes scheitert...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
064
22.12.2011, 21:37 Uhr
Olli

Avatar von Olli

Wiso is n Quarz einfacher als n Oszillator? Ich fand Oszillator immer einfacher. Spannung, GND ran, und gut is... keine Kondis, nix...
1Farad? Hab ich mich irgendwo verschrieben?
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 22.12.2011 um 21:38 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
065
22.12.2011, 21:43 Uhr
Micha

Avatar von Micha

Neee, das mit Quarz oder Oszi is soweit ich es verstehe Geschmackssache. Bin halt mit Tutorials aufgewachsen die alle auf nen Quarz setzen.

Und ja, soweit ich es überblicke ist bei den Kondensatoren der Rekordhalter bei deiner Schaltung 50F
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
066
22.12.2011, 21:44 Uhr
Olli

Avatar von Olli

Ne, ich glaube, du übersiehst das µ davor - ok - es ist beim scalen des Dokuments etwas in das F hineingerutscht....
Jo - habe am Anfang auch immer n Quarz verwendet, aber bei meinem AC1 habe ich n Oszilator genommen und fands irgendwie schneller zum Ziel.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 22.12.2011 um 21:46 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
067
22.12.2011, 21:49 Uhr
Micha

Avatar von Micha

kann sein. Ich guck hier unter Linux mit dem PDF Betrachter rein, da ist es perfekt verschwunden. Muss ma eben einen Windows-Computer mit Acrobat anwerfen - kann schon sein dass es dann anders aussieht. Wundern würde es mich nicht.

Womit hast du eigentlich die Schaltung entworfen? Sieht für nen ersten "Quick Draw Mc Graw" verdammt gut aus...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
068
22.12.2011, 21:53 Uhr
Olli

Avatar von Olli

gEDA Schem
http://www.gpleda.org/
Hab ich alle meine Schaltungen mit entworfen.... http://pofo.de/P8000/notes/plaene/eigene/
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
069
22.12.2011, 22:27 Uhr
Micha

Avatar von Micha

unter Windows mit Acrobat-Reader seh ich das Mü auch. Bissl eng am F aber es ist eindeutig da. Der PDF Betrachter unter Linux (normalerweise rel. brauchbar) stellt dieses Zeichen einfach nicht dar

Ist doof und meine Schuld. Aber zumindest versteh ich jetzt warum manche in ihren Plänen z.B. den Buchstaben u anstelle von mü verwenden. uF ist halbwegs verständlich und minimalkompatibel. Eine Seiten-Erkenntnis am Wegesrand dieses Threads

Dieser Beitrag wurde am 22.12.2011 um 22:56 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
070
22.12.2011, 23:12 Uhr
holm

Avatar von holm

C6 hat mit xpdf auch 33Farad.

Was haste denn gegen die von mir vorgeschlagene Taktfrequenz von18,432 Mhz?

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
071
22.12.2011, 23:25 Uhr
paulotto



kenne den Atmel nicht so aber xtal-Eingänge bei 3,3V-µP sind normalerweise nicht 5V-tolerant. Deshalb sollte da kein 5V-xtal-Oszillator dran, nimm einfach einen Quarz und 2 C. Dafür ist der µP doch gemacht.

Gruß,

Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
072
23.12.2011, 06:46 Uhr
Olli

Avatar von Olli

Mh.. also bei mir siehts so aus - offensichtlich ist nicht so ganz definiert, was ein PDF-Reader machen soll bei ueberlagerten Zeichen. Ich rechne dann wohl besser mal auf nF um alles

http://pofo.de/tmp/lala.png

@paulotto Der µP kann 3.3V wie auch 5V - er wird mit 5V betrieben da laut Datenblatt nur so die Max-Freq von 20 MHz erreicht werden kann. Das Datenblatt beschreibt die Beschaltung mit Quarz wie auch mit Osc.

@holm - öh nix - habe ich dann wohl ueberlesen? Was spricht gegen 20 MHz?
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 23.12.2011 um 06:46 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
073
23.12.2011, 07:40 Uhr
holm

Avatar von holm

Das ist eine Baudratenfrequenz....

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
074
23.12.2011, 08:15 Uhr
Olli

Avatar von Olli

OK, habe die Frequenz und die µF geaendert, kann nur gerade nicht neu drucken, da ich gerade kein X11 im Zugriff habe was ich fuer n ordentlichen Printout brauche.... kommt dann heute Abend.

Sonst noch was? JTAG richtig angeschlossen? /RESET Leitung kommt sich nicht in die Quere mit JTAG und meiner eigenen Generierung?


Wenn ich mir P8000 und WDC Firmware + Schaltplaene anschaue (fuer den Teil-3) sehe ich noch viele Fragezeichen... aber ich hoffe das wird irgendwann noch...
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 23.12.2011 um 09:03 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
075
23.12.2011, 09:05 Uhr
holm

Avatar von holm

..nein der Widerstand stört nicht, normalerweise wird der zu 10K gewählt.
Die Anschlußbelegung für JTAG muß ich selbst erst nachschlagen, das habe ich nicht im Kopf.
Melde mich nochmal..

Edit: Guck mal: http://www.mikrocontroller.net/articles/JTAG#AVR_JTAG
Die beiden NCs unbeschaltet lassen, VRef an +VCC.
Der Rest müßte so stimmen.


http://www.rn-wissen.de/index.php/JTAG

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 23.12.2011 um 09:44 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
076
23.12.2011, 14:44 Uhr
Olli

Avatar von Olli

So - hier eine aktualisierte Version.

http://pofo.de/tmp/P8000_WDC_SDCard.pdf

- JTAG korrigiert (hab wohl irgendwo was falsch verstanden als ich las man muss aufpassen mit 5V AVR und 3.3V Programmiergerät usw....)
- µF wo sinnvoll in nF umgerechnet und die verbleibenden µF verbessert (ich hoffs!)
- 20 MHz durch 18.schlagmichtot ersetzt

sieht nun gut aus so?

Eine Frage noch da ich da bei meinen Wireless-AccessPoints schon gescheitert bin und dann einfach alle Permutationen durchprobiert habe... bis es klappte - kommt an meinen RS232-Port nun ein Nullmodemkabel bei der aktuellen Beschaltung oder ein 1:1 durchgepoltes?

Edit: mal mit epdfview probiert unter FreeBSD - µ is n bissel verrutscht aber mit Wille kann man es erkennen.
Was ist die Standardangabe in Schaltplänen? Dann rechne ich das um und lass die Einheiten ganz weg.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 23.12.2011 um 14:52 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
077
23.12.2011, 16:29 Uhr
Micha

Avatar von Micha

Am PC ist bei der DB9 Variante der seriellen Schnittstelle

RxD auf Pin 2
TxD auf Pin 3

So wie du deine Schaltung jetzt gezeichnet hast, müsstest du gerade durchverbinden. EIn Ästhet würde wahrscheinlich die Pins auf dem Atmelboard andersherum belegen, und dann ein über-Kreuz-Kabel nehmen. Schliesslich ist der Atmel auch so eine Art kleiner Computer
Aber eigentlich isses Rille wie, solange es geht.

EDIT: bei mir kommen die Mückro-Farad immer noch nich, is jetzt ne Lücke zwischen der Zahl und dem F. Is bestimmt so 'ne gemeine Kleinigkeit beim PDF-Generiern ob man Fonts einbettet oder nicht. Muss allerdings auch zugeben: kriegsentscheidend ist das längst nicht! Jeder der nicht völlig plemm ist sollte sich da nen Reim drauf machen können. Für mich is der "Workaround" uF zu schreiben eine sehr clevere Lösung. Versteht jeder und klappt immer.

Dieser Beitrag wurde am 23.12.2011 um 18:16 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
078
23.12.2011, 19:12 Uhr
Olli

Avatar von Olli

ok - dann verdrahte ich um - ich habe naemlich ausschliesslich Nullmodemkabel rumfliegen

Edit: so... http://pofo.de/tmp/P8000_WDC_SDCard.pdf
habe nun auch uF
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 23.12.2011 um 19:24 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
079
23.12.2011, 20:22 Uhr
Micha

Avatar von Micha

eine Sache die ich jetzt auch noch garnicht verstehe (Frage an holm), warum man die 20 MHz Taktung vermeiden sollte. Der knappe Kommentar "Das ist eine Baudratenfrequenz..." erschliesst sich mir noch nicht. Gibts bei 20 MHz unerwünschte Wechselwirkungen im System, oder wo liegt das Problem?

War eigentlich auch grade drauf und dran mir eine 20 MHz Atmega-Sache zusammenzuschustern und wär dankbar für Aufklärung.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
080
23.12.2011, 20:34 Uhr
otto11



@Olli

Wo passt den dort die Hostschnittstelle noch dran? Lt. Plan 16 Leitungen als 8 Bit bidirektional + 8 Bit Steuerleitungen ( 5x out 3 x in ). Kann der ATmega 8 Bit bidirektional auf Port A?
ATmega ist nicht meine Wiese :-) Bloß, damit Du dann nicht nochmal die Sache umstricken muss..

Gruß Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
081
23.12.2011, 20:50 Uhr
Olli

Avatar von Olli

er kann E/A durch umprogrammieren im laufenden Betrieb.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 23.12.2011 um 20:50 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
082
23.12.2011, 20:50 Uhr
Micha

Avatar von Micha

Hihi ich verfolg das Ganze mit großem Interesse. Will jetzt Olli nicht vorweg greifen aber ich denke die aktuelle Schaltung ist lediglich dazu gedacht, das Teilproblem "Kommunikation mit SD-Card" zunächst auszuloten. Ich denk auch später könnten bestimmte Komponenten (JTAG, USART) eventuell dem Rotstift zum Opfer fallen. Dann müssten die Beinchen ausreichen. Debuggen ist was für Weicheier

Aber sehr guter Punkt
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
083
23.12.2011, 20:58 Uhr
Olli

Avatar von Olli

logo - ist jetzt die "Luxusschaltung" mit RS232 und JTAg - braucht im Betrieb keiner mehr....

aber erstmal reichen die 8 Bit PortA fuer E/A und die Steuerbits muss ich mal sehen.. Muessen auch nicht alle an den Mikrocontroller.... Wenn SD-Card laeuft fliegt wohl erstmal der JTAG raus... dann reicht das. RS232 werde ich brauchen zum debuggen.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 23.12.2011 um 21:19 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
084
23.12.2011, 21:23 Uhr
paulotto




Zitat:
Micha schrieb
eine Sache die ich jetzt auch noch garnicht verstehe (Frage an holm), warum man die 20 MHz Taktung vermeiden sollte. Der knappe Kommentar "Das ist eine Baudratenfrequenz..." erschliesst sich mir noch nicht. Gibts bei 20 MHz unerwünschte Wechselwirkungen im System, oder wo liegt das Problem?/quote]
mit 20MHz kriegst Du keine übliche Baudrate für die RS232 zustande. Das geht nur mit den 18,432MHz. Und das weicht ja nun nicht soviel von der höchsten Grenzfrequenz 20MHz ab. Man verliert also kaum was an Geschwindigkeit, hat aber Norm-Baudraten zur Verfügung...

Gruß,

Klaus

Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
085
23.12.2011, 21:27 Uhr
Olli

Avatar von Olli

ich habe - wenn ich mich richtig erinnere - gelesen, das der ATMega am anfang schon mit ner Programmierung ausgeliefert wird - kann ich an seriell was sehen wenn ich meinen Rechner dranhaenge um zu ueberpruefen ob die richtig verschaltet ist? Ergibt sich die Baudrate alleine aus dem Quarz? Die kann man doch sicherlich einstellen? Welche ist beim ATMega dann die Default-Rate?
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
086
23.12.2011, 21:28 Uhr
Micha

Avatar von Micha

Danke Klaus für die Erklärung!

Macht also Sinn, wenn man ne serielle Schnittstelle anknüpfen möchte. Bzw nicht wenn nicht.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
087
23.12.2011, 21:34 Uhr
Micha

Avatar von Micha

@Olli:

der Atmega ist vorkonfiguriert, typischerweise auf 1 MHz Taktfrequenz unter Nutzung des internen Taktgenerators und eben bestimmter I/O Konfiguration.

Am besten du guckst dir das alles hier mal an:

http://www.engbedded.com/fusecalc/

Die Fuses sind ohnehin ne kritische Sache. Man kann sich im schlimmsten Fall aus seinem Käfer "aussperren" wenn man gedankenlos an den Fuses was ändert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
088
23.12.2011, 21:34 Uhr
Olli

Avatar von Olli

Jo steht auch im Amtel Datenblatt - bei 20MHz koennen zu einer hoeheren Prozentzahl Fehler bei der Uebertragung auftreten... aber so im 0.2% Bereich oder so
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
089
23.12.2011, 21:50 Uhr
holm

Avatar von holm

Ja, der AVR ist da recht flexibel da er ausreichend präzise Vorteiler hat, aber da es diese Frequenz als Standardfrequenz gibt, warum sollte man einen Fehler erzeugen wollen?

Ich habe noch nicht einen einzigen Atmel verfused. Das passiert nur a) den Kaputten die unbedingt einen Ponyprog für die Programmierung verwenden wollen und b) denjenigen die nicht in Ihre Birne bekommen das eine Fuse die auf "1" steht unprogrammiert ist, also false. Dabei ist es so einfach, heute übliche Eproms stehen auf 0xff wenn sie leer sind.

Da Olli zu faul ist einen Quarz mit 2 Kondensatoren einzulöten und dafür lieber einen teureren Generator mit zusätzlich notwendigem Stützkondensator und unpassenderem Layout vorzieht, kann Ihm eh nicht viel passieren. Man legt einen AVR gerne damit tot, dass man blöder Weise den internen Oszillator abschaltet, der standardmäßig mit 1Mhz läuft. Da aber hier der Generator hardwaremäßig den Clock einspeist, entfällt diese Fehlerquelle. Man weckt i.A. einen solchen Chip indem man genau das macht, externen Clock einspeisen damit man wieder programmieren kann.

Von Einem Programm das sich an der seriellen meldet weiß ich Nichts. Die Programmierung bedeutet nur, dass der Oszillator wegen ISP Programmierung auf intern RC eingestellt ist und die CPU mit Clock versorgt wird, das ist Alles. Es wäre auch reichlicher Quatsch da Ports auf Ausgabe zu schalten (TxD) wenn Jemand das Ding in Circuit programmieren möchte und ausgerechnet da kritische Hardware dran designed hat, man muß ja nicht zwangsweise eine serielle verwenden wollen.

@Olli wenn Du JTAG hast, brauchst Du keine Serielle :-) Du kannst Watchpoints setzen und Speicherinhalte direkt angucken ohne die erst auf diesem Umweg in den PC zu fusseln...

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 23.12.2011 um 21:52 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
090
23.12.2011, 21:52 Uhr
Olli

Avatar von Olli

okay, also muss ich dann erstmal was draufschmeissen.... um zu sehen ob die serielle schaltung geht....
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
091
23.12.2011, 21:54 Uhr
holm

Avatar von holm

Jo, ist aber kompliziert:

printf("Hello World!\n");

:-)

Gruß,

Holm

PS: Natürlich nur dann, wenn man richtig initialisiert hat und stdout mit der uart vergnaddelt hat :-)
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 23.12.2011 um 21:55 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
092
23.12.2011, 21:56 Uhr
Olli

Avatar von Olli

uh... hello world mal sehn ob ich das schaffe
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
093
23.12.2011, 22:02 Uhr
Micha

Avatar von Micha

das "Hello World" in der Atmel World isses, ne Leucht-Idiote zum blinken zu bringen.
Hab ich mal irgendwo gelesen...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
094
23.12.2011, 22:08 Uhr
holm

Avatar von holm

Pöh.

Nicht blinken, langsam heller und dunkler dimmen und das ohne programmierte Zeitschleifen!
Auch ohne _delay_ms() oder _delay_loop16() und solchem Spielkram..

Noch besser ist natürlich ein Poti zur Lautstärkereglung der LED.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 23.12.2011 um 22:09 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
095
23.12.2011, 22:12 Uhr
Olli

Avatar von Olli

jojo mal sehn was alles nicht gehen wird wenn die Schaltung steht
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
096
23.12.2011, 22:14 Uhr
Micha

Avatar von Micha

Lautstärkeregelung der LEDs. So ein Quark!

Wenn hier LEDs zu laut werden knips ich die mit der Knippex Zange ab, die ich zur Konfirmation ausm Westen bekommen habe.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
097
23.12.2011, 22:21 Uhr
holm

Avatar von holm

@Olli: brauchst Du das Büchlein "Murphys Computergesetze"?

@Micha: So gehen also die JTAG Verächter mit den armen LEDs um? Du schlägst wohl auch Nixies?

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
098
23.12.2011, 22:43 Uhr
Micha

Avatar von Micha

ich wees garnich was Nixies sind. Hat das was mit Watergate zu tun???
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
099
23.12.2011, 22:54 Uhr
Olli

Avatar von Olli

tzzz.... nachem Fest mach ich mal be Bestellliste... aber ich seh mich dann eh schon mit nem ATMega der wunderhuebsch auf die SD-Card schreiben wird und dann am P8000 Interface verzweifeln

Morgen frueh schau ich nochmal kurz rein... dann bin ich bis 27. wech.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
100
24.12.2011, 00:03 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
Micha schrieb
ich wees garnich was Nixies sind.

Robotrontechnik.de -> Suche -> Nixie
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
101
24.12.2011, 00:56 Uhr
Enrico
Default Group and Edit



Zitat:
Micha schrieb
ich wees garnich was Nixies sind. Hat das was mit Watergate zu tun???


--
MFG
Enrico

Dieser Beitrag wurde am 26.12.2011 um 19:48 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
102
25.12.2011, 12:39 Uhr
Micha

Avatar von Micha


Zitat:
Olli schrieb
tzzz.... nachem Fest mach ich mal be Bestellliste... aber ich seh mich dann eh schon mit nem ATMega der wunderhuebsch auf die SD-Card schreiben wird und dann am P8000 Interface verzweifeln

Morgen frueh schau ich nochmal kurz rein... dann bin ich bis 27. wech.

Sieht doch gut aus bis hierher - und bei der P8000 Anbindung bin ich eigentlich sehr optimistisch dass Matt Knoth helfen kann. Der muss ja den Klimbim ziemlich gut verstanden haben, ansonsten hätt er den Emu des 16-Bit-Systems sicher nicht zum laufen gebracht...

Und ja, in den Atmels gibts die DDR noch, daher geht auch bidirektional
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
103
26.12.2011, 18:53 Uhr
Micha

Avatar von Micha

@Olli: mit der Reset-Beschaltung stimmt was nicht in deiner Schaltung. Du brauchst keinen Pulldown sondern einen Pullup!

In der Praxis funktionieren neuere Atmels auch ganz ohne externe Reset-Schaltung (wegen intern vorhandenem Pullup), is aber "sauberer" das ordentlich zu beschalten. Du müsstest in dem Fall den Widerstand (ca. 10K) auf VCC legen, ev. zusätzlich einen Kondensator (irgendwas zwischen 10 und 100 nF) vom Reset-Pin auf Masse, um Störungen rauszufiltern.

Das Thema wie man Reset richtig beschaltet führt allerdings selbst im Forum von microcontroller.net zu Glaubenskriegen

Dieser Beitrag wurde am 26.12.2011 um 19:43 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
104
28.12.2011, 00:07 Uhr
Olli

Avatar von Olli

Nun aber?
http://pofo.de/tmp/P8000_WDC_SDCard.pdf
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
105
28.12.2011, 09:37 Uhr
Olli

Avatar von Olli

Hier mal die Quelle der WDC-Implementierung des P8K Emulators.... Matt selber hat leider keine Zeit mehr wegen neuem Job bei Apple (CPU design für Hand Helds)

http://pofo.de/tmp/p8000_16_wdc.c
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
106
28.12.2011, 10:43 Uhr
Micha

Avatar von Micha

*freu*

das sieht ja regelrecht überschaubar aus! Und im P8000 Hardwarehandbuch, Kap. 6.4.5, ist ja auch die Pinbelegung der Winchesterschnittstelle dokumentiert. Für mich als Bastel-Anfänger wär absolut unklar bzw zu klären, ob man dort gleich die 5V abgreifen kann oder für das Atmel Board besser eigene Stromversorgung...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
107
28.12.2011, 10:54 Uhr
Olli

Avatar von Olli

Werde dort auf jedenfall die 5V abgreifen.
Die Software wird fuer mich auch nicht das Problem sein... eher die Hardware.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
108
28.12.2011, 12:18 Uhr
holm

Avatar von holm

Du mußt mal untersuchen was an der Schnittstelle da wirklich abläuft (habe derzeit nicht wirklich den Nerv dazu).
Wenn z.B. die Z8000 den Status lesen will, was macht die dann genau? Wieviel Zeit bleibt Dir
diesen Status auf dem Atmel Ausgabeport abzulegen?

DL hatte schon mal diesen Tastaturadapter für die K7634 erfunden, dort war das Zeitkritisch, der 8051 hatte das nicht schaffen können.
Original funktionierte das so, das der Tastaturrechner Informationen in ein 8212 Register schrieb,
das dann bei Bedarf durch die Host CPU mittles eines CS Signals aktiviert wurde und seinen aktuellen Status auf den Bus legte. Wenn das hier auch so ist, hast du ein Zeitproblem, Du müßtest vom Atmel her den Request identifizieren und sofort darauf reagieren, den Ausgabeport auf Ausgabe drehen und die richtigen Datan darauf ausgeben und das Alles während der Zeit in der die Host CPU den Eingabebefehl macht. Alternativ brauchst Du halt extern zum Atmel auch solch ein Register das diese Aufgabe ähnlich wie der 8212 löst. Das ist das, was ich mit den Zeitproblemen meinte. Ich habe mir aber jetzt die WDC Schnittstelle nicht nochmal angesehen, ich habe das irgendwie nur noch verschwommen im Kopf und weiß nicht mehr, ob da Status und Daten getrennte Wege gehen...

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
109
28.12.2011, 12:59 Uhr
Olli

Avatar von Olli

Sehe ich das da richtig, dass die 16Bit-Firmware wartet bis der WDC Status-0 ausgibt und erst dann die Daten abholt?

http://cvs.laladev.org/index.html/P8000/firmware/MON16/p.disk.s?rev=1.1&content-type=text/x-cvsweb-markup
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
110
28.12.2011, 13:02 Uhr
Micha

Avatar von Micha

asyncrone Daten-Verdingsbumsung ?)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
111
28.12.2011, 14:10 Uhr
holm

Avatar von holm

Das wird sicher so sein, ist ja auch sinnvoll, hat aber mit dem was ich shrieb nix zu tun.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
112
28.12.2011, 14:22 Uhr
Olli

Avatar von Olli

Wenns nur darum geht ob ich draussen noch 8282 brauche oder nicht.... ich hab genau 0 Plan da ich die WDC Schaltung und das Zusammenspiel nich schnalle.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 28.12.2011 um 14:25 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
113
28.12.2011, 14:32 Uhr
holm

Avatar von holm

Gehe mal davon aus, das das, was in dem originalen WDC passiert, Dich gar nicht interessiert.
Es ist nur interessant die Schnittstelle abzubilden und deren Funktion zu gewährleisten.
Wir haben also eine bidirektionale 8 Bit Schnittstelle für die Daten, ok, das kann der Atmel problemlos. Was wir heir aber wirklich noch brächten wäre ein Register für den Status, denn der Status wird ohne Vorankündigung durch die CPU gelesen und geschrieben.
Gruß,

Holm, der auch nur ungefähre Vorstellungen davon hat was dieser vergriesgnaddelte Original WDC so treibt.
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
114
28.12.2011, 14:38 Uhr
Olli

Avatar von Olli

Jo... ich hab mir das blauaeugig so vorgestellt, das ich das vielleicht durch Trial&Error spaeter mal rausbekomme - vielleicht zu blauaeugig
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
115
30.12.2011, 15:20 Uhr
Micha

Avatar von Micha

zu der "kleineren Hälfte" des Projekts SD-Card Anbindung hier noch mal ne Anmerkung:

Hab die Tage ein sehr interessantes Bausteinchen entdeckt:
http://www.shop.display3000.com/elektronikmodule/sd-speicherkartenplatine.html
Dieses rel. preiswerte Teil hat auch sofort alle meine eigenen Bemühungen mit nem SD-Card Interface gestoppt. Auf der Seite weiter unten gibt es Oszi-Bilder, wie die Signalpegel mit Widerstandsnetzwerk ausschauen. Wenn das so stimmt wundert mich garnicht mehr dass ich da seit Wochen mehr oder weniger erfolglos rumwurschtle...
Die in jenem Projekt verwendeten Pegelwandler des Herstellers MAXIM gibts allerdings soweit ich das bisher recherchieren konnte bei keinem der hierzulande üblichen Elektronik-Versande. Eventuell bei farnell, hab ich selber keine Erfahrung mit.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
116
02.01.2012, 22:30 Uhr
otto11



Habe mich denn doch hinreißen lassen meinen Schritt2 vor dem Schritt 1(Debugger für WDC)zu starten. :-)
Hatte noch ein Evaluationboard mit einem Controller da, welches schon einen SD-Slot sowie der S12 Controller sogar PATA unde einen SD-Controller in Hardware hat.

Die gute Nachricht: Die Schnittstelle zur P8000C läuft. Zumindest laufen die "T" - Monitor Routinen fehlerfrei durch. Ist allerdings ein flottes Timing: Der P8000 kann aller 2,7us ein neues Byte lesen oder schreiben. Die Schnittstelle ist aber sonst ordentlich designed. In C programmiert kommt man mit einem bidirektionalen Register im Controller und einem 8 Bit IO-Portim Controller aus. Leider gibt es doch keine 5V auf dem P8000C-Steckverbinder!

Wollte heute "schnell" noch die SD-Seite anhängen.Der SD-Hostcontroller in der Hardware des Chips verlangt gewisse Initialisierung... :-( Sonst rührt sich nichts! Dieser SDHost kann alles Mögliche. Vielleicht ist aber eine SPI-Anbindung einfacher? Na mal sehen...

Gruß Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
117
03.01.2012, 06:54 Uhr
runni



Hi,

was für ein Evalboard hast Du denn?

Gruß,
RN
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
118
03.01.2012, 08:57 Uhr
Olli

Avatar von Olli

Hast du die Schaltung der Anbindung an den Port der P8000 in elektronischer Form?
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 03.01.2012 um 08:57 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
119
03.01.2012, 09:12 Uhr
holm

Avatar von holm

Na das sind ja gute Nachrichten. Ich bin gespannt auf die Fortsetzung...

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
120
03.01.2012, 09:22 Uhr
otto11




Zitat:
Olli schrieb
Hast du die Schaltung der Anbindung an den Port der P8000 in elektronischer Form?

Nein, hab ich leider nur als Liste. Ist aber ganz einfach: Einen 8-Bit Port bidirektional an D0 - D7 und einen 8-Bit Port als Bit-Ein/Ausgabe für die Steuersignale ST0-ST3,/STB,/TE,/RDY,/TR und RESET. Eingabesignale sind dabei /TE,/RDY und RESET. Alles direkt an einen passenden Steckverbinder für das kurze weisse Kabel zum 16-Bit P8000compact verdrahtet.

@runni
Das ist ein altes M68EVB912UF32. Aber wie oben angedeutet war der schon vorhandene und verdrahtete SD-Slot entscheidend :-)

Gruß Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
121
03.01.2012, 10:05 Uhr
holm

Avatar von holm

Naja, kurzes googeln hat ergeben das das Ding ein Unobtaniumboard ist.... :-(
Die einzige aufzufindende Preisangabe lag bei $168.
Dafür bekomme ich bei Propox drei Boards mit STM32F107, Ethernet, RTC, USB und SD Card Slot....

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 03.01.2012 um 10:05 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
122
03.01.2012, 12:47 Uhr
Olli

Avatar von Olli

Du kannst uns ja dann mal bei Gelegenheit an deinem C-Source teilhaben lassen wenn du magst. Ich denke ich werde so Mitte Februar nach meiner Hochzeit dazu kommen das ganze mit dem ATMega in Angriff zu nehmen.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
123
14.01.2012, 13:44 Uhr
otto11



Hallo zusammen,
hier mal ein paar Bemerkungen und eine Zwischenstand zu meinem Projekt:

@Holm
Das Board ist bei Freescale noch als Kit gelistet und da ist man schon bei $500 :-)
Solche Zahlen sind allerdings hier nicht relevant, da der S12UF32-Controller auf eine kleine Platine käme...

@Olli
An den C-Sourcen solls nicht mangeln. Allerdings möchte ich schon, das das erstmal halbwegs ordentlich läuft. Ja, wende Dich erstmal den wichtigen Dingen des Lebens zu! :-)

Habe mich zu früh über die laufenden Testroutinen gefreut.:-( Die Schnittstelle zum P8000 hat es in sich! Wie man in den P8000 Sourcen sehen/suchen kann, werden die Blockein-/ausgaben über Blockein-/ausgabebefehle vom U8001 erledigt. Die Hardwareschnittstelle könnte schon ein ordenliches Handshake machen, aber die Firmware kümmert sich einen Sche...... darum. Das gibt haufenweise Timingprobleme. Die resultieren dann in dem schon von der Anbindung der Seagate-Platten ST251-xyz bekannten Timeoutfehler "C1".

Zur Zeit ärgert mich noch der letzte Testschritt 54. Läuft immer in den C1-Error. Es ist fast jeder Zwischenschritt in der Diskansteuerung der 16-Bit Firmware mit einem Timeout über das Decrementieren eines 16bit-Registers überwacht.

Zusätzlich habe ich in der Hardware doch noch zwei Treibertransistoren nachrüsten müssen, um die Widerstanskombinationen 215/332 Ohm an den Signalen /TR und /STR auf der 16Bit treiben zu können.

Übrigens: Der UF32-Controller entpuppt sich bei näherer Betrachtung als gut geeignet, da hier ein SD-Host und ein PATA-Host integriert sind. Da könnte man sowohl als auch.... Und die 3,3V - 5V Anpassung kann man sich ebenfalls im Chip auswählen.

Gruß
Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
124
14.01.2012, 14:28 Uhr
holm

Avatar von holm

Hmm, Du meinst die schieben jeweils 512 Byte völlig asynchron über die Schnitte? Das kann ja fast nicht funktionieren...? Dann müßte man ja während der Transferzeiten Interrupts/DMA in den
beteiligten Rechnern völlig sperren damit man nicht aus dem Tritt kommt.


Quellcode:
...
        bitb    rl0, #1         !Warten, bis WDC bereit fuer Daten!
        jr      nz, wwait1
        ldctl   r1, FCW
        ldctl   FCW, r6
!$segmented!
        otirb   @r4, @r8, r3    !otirb @r4, @rr8, r3!
        ldctl   FCW, r1
!nonsegmented!

...
        ldctl   r1, FCW
        ldctl   FCW, r6
!$segmented!
        inirb   @r8, @r4, r3    !inirb rr8, @r4, r3!
        ldctl   FCW, r1
!$nonsegmented!
        ret
...


...Aua, das ist ja ätzend...

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
125
14.01.2012, 14:52 Uhr
otto11




Zitat:
holm schrieb
Hmm, Du meinst die schieben jeweils 512 Byte völlig asynchron über die Schnitte? Das kann ja fast nicht funktionieren...? Dann müßte man ja während der Transferzeiten Interrupts/DMA in den
beteiligten Rechnern völlig sperren damit man nicht aus dem Tritt kommt.

...Aua, das ist ja ätzend...

Gruß,

Holm

Genau so! Ich hab also nur die Chance auf das /RDY - Gewackel zu achten und schnell genug die Daten abzuholen bzw. auf den Datenport zu legen und rechtzeitig noch ein /STB einzuflechten, damit das RDY-Signal wieder richtig rum herauskommt.
Das der U8001 da ab und an noch was dazwischen macht, sieht man teilweise am Oszi ganz gut.
Dazwischen darf eben auch der WDC Status 0 nicht zu lange dauern.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
126
14.01.2012, 15:33 Uhr
holm

Avatar von holm

Das ist halt das, was ich mit den externen Registern meinte. Du kannst gewissermaßen in Ruhe ein Byte in das Register schaffen und die Hardware schaltet es dann bei /RDY durch..
Ich habe schon vor eine Weile gebröselt das es heute zu Tage unüblich ist, so was in die Peripherie von Controllern zu integrieren. Die olle 8242 UPI von Intel konnte das.
Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
127
16.01.2012, 20:16 Uhr
otto11




Zitat:
holm schrieb
Das ist halt das, was ich mit den externen Registern meinte. Du kannst gewissermaßen in Ruhe ein Byte in das Register schaffen und die Hardware schaltet es dann bei /RDY durch..
Ich habe schon vor eine Weile gebröselt das es heute zu Tage unüblich ist, so was in die Peripherie von Controllern zu integrieren. Die olle 8242 UPI von Intel konnte das.
Gruß,

Holm

Von dem Teil gibt es nicht mal mehr ein Datenblatt... Ist aber auch nicht das Problem. Es bleibt das Problem im Testschritt 54 mt Error C1. Und /RDY bleibt danach eben auf Low.
Blöderweise braten die bei jeder nicht erwarteten Antwort im 16-Bit-Testmonitor ein "C1" über das Ergebnis.
Ausserdem gibt mir zu denken, daß als Befehlscode bei mir im UF32 im Schritt 54 immer ein "0xF8" ankommt. Dem gegenüber steht in den Sourcen auf Olli's Seite, daß eine "0x05" als Code an den WDC übergeben wird. Sind die Sourcen nicht aktuell oder sehe ich da etwas falsch?

MfG
Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
128
16.01.2012, 21:49 Uhr
holm

Avatar von holm

...ist ja auch hornalt. Ich habe das auch nur auf totem Baum. Im Prinzip ist das ein 8048 der einen Port als Busport mit Read und Write Signalen ausgestattet bekommen hat und der sich sonst tot stellt wenn kein /CS und R oder W. Das Ding ist heute noch im Einsatz: als 8042 Tastaturcontroller in jedem AT (natürlich nur noch virtuell in Gatearrays...)

F8? Pappnase :-)

Quellcode:
!WDC-Kommando ausgeben!
wrea2:  subb    rh7,rh7
        ldb     rl7,kc+0(r7) <--- Guck mal nach ob dieser Befehl nicht eventuell den 5. (+1) Wert aus dem Array kc ausgibt :-))

        outb    @r4, rl7        !Kommando ausgeben!


[...]


kc array [* byte] := [%0,%21,%22,%08,%18,%f8]


F8 muß also so sein... ich weiß schon, Wald, Bäume ...

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 16.01.2012 um 21:50 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
129
17.01.2012, 12:43 Uhr
rm2
Default Group and Edit
Avatar von rm2

Hallo Olli,

willst Du die SD-Karte auch an einem P 8000 Compact ausprobieren?


mfg ralph
--
.
http://www.ycdt.net/mc80.3x . http://www.ycdtot.com/p8000
http://www.k1520.com/robotron http://www.audatec.net/audatec
http://www.ycdt.de/kkw-stendal
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
130
17.01.2012, 13:01 Uhr
Olli

Avatar von Olli

Hi rm2,

ich habe keine P8000-Compact, kann also selber nix austesten.
Bis Anfang Maerz muss das ganze aber eh noch ruhen.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
131
17.01.2012, 15:57 Uhr
rm2
Default Group and Edit
Avatar von rm2

Hallo Olli,

frei wäre mein dritter P8000C, ohne HDs, Netzteil läßt FI-Schutz kommen.


mfg ralph
--
.
http://www.ycdt.net/mc80.3x . http://www.ycdtot.com/p8000
http://www.k1520.com/robotron http://www.audatec.net/audatec
http://www.ycdt.de/kkw-stendal
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
132
17.01.2012, 17:53 Uhr
otto11




Zitat:
holm schrieb

kc array [* byte] := [%0,%21,%22,%08,%18,%f8]

[/code] F8 muß also so sein... ich weiß schon, Wald, Bäume ...

Gruß,

Holm

Du hast Recht und - freu - dann muss die Kiste ja nur diese 5 Befehle aus dem kommand code array beherrschen! Werde mir jetzt das Teil nochmal vorknöpfen undt schweres Geschütz auffahren (LA).

Gruß,
Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
133
18.01.2012, 16:51 Uhr
holm

Avatar von holm

Naja, das Command Array stammt aus dem Standalone Zeuch des Monitors, man sollte die restlichen Sourcen mal durchgucken, ob da evtl. nicht noch was Anderes auftritt, die Wahrscheinlichkeit ist allerdings nicht allzu hoch..

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
134
19.01.2012, 10:53 Uhr
Olli

Avatar von Olli

zum thema Kommandocode kann man sich doch einfach meinen oben verlinkten C-Source anschauen der den WDC-Teil im Emulator nachbildet - da sind alle notwendig zu implementierenden KCs drin.

Ansonsten findet man die auch alle in der WDC-Firmware hatte mir das auch schonmal angeschaut. Da gibt es jedenfalls eine ganze Latte an KCs....
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
135
19.01.2012, 17:58 Uhr
holm

Avatar von holm

KC85?

*grin*

Sorry, ich habe derzeit nicht recht Zeit für diese Forschungsaufgaben...

Gruß,
Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 19.01.2012 um 17:59 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
136
19.01.2012, 20:32 Uhr
otto11




Zitat:
Olli schrieb
zum thema Kommandocode kann man sich doch einfach meinen oben verlinkten C-Source anschauen der den WDC-Teil im Emulator nachbildet - da sind alle notwendig zu implementierenden KCs drin.

Ansonsten findet man die auch alle in der WDC-Firmware hatte mir das auch schonmal angeschaut. Da gibt es jedenfalls eine ganze Latte an KCs....

Ist mir schon klar, Olli! Ich brauchte nur etwas Aufmunterung.
Wie dem auch sei, jetzt tut es!
Es waren leider meine Augen und eine fehlende Masse am Steckverbinder. Ich komme ja nicht an den Stecker der 16Bit im eingebauten Zustand. So sah am LA und am Oszi alles fein aus, aber der U8001 hat nicht alles mitbekommen

Jetzt schaumer mal, welche Befehle noch gebraucht werden und ob die SD wirklich gelesen und beschrieben wird.

Gruß
Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
137
19.01.2012, 22:27 Uhr
holm

Avatar von holm

:-)

Ich schicke mal erste vorsichtige Glückwünsche ...


Brauchst Du solche Schneidklemm-Stecker die in die interne Buchse des P8K passen?

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
138
19.01.2012, 22:47 Uhr
otto11




Zitat:
holm schrieb
:-)
Ich schicke mal erste vorsichtige Glückwünsche ...
Brauchst Du solche Schneidklemm-Stecker die in die interne Buchse des P8K passen?
Gruß,
Holm

Danke,Holm! Das EVB liegt jetzt gerade neben dem P8C und das Kabel ist erstmal lang genug. Hab eine kleine Lochrasterplatine mit dem weissen 26-er Stecker, wo das normale Verbindungskabel zwischen 16Bit und WDC angesteckt wird. Auf dem Platinchen sind auch die zwei Treiber-SS216 angelötet für /TR und /STB. Von da geht es mit Flachband auf Buchsen für die entsprechenden Gegenstecker am EVB. OK,sind eigentlich zwei Steckverbindungen zu viel. Aber später komme ich gern darauf zurück!
Als nächsten Befehl wollte dasTeil übrigens 0x28, Lesen WDC-Parameterblock

Gruß,
Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
139
20.01.2012, 10:14 Uhr
Micha

Avatar von Micha

nur mal aus Neugierde:
musstest du die Routine für den zeitkritischen Teil in Assembler schreiben oder war da C schnell genug?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
140
20.01.2012, 17:59 Uhr
otto11




Zitat:
Micha schrieb
nur mal aus Neugierde:
musstest du die Routine für den zeitkritischen Teil in Assembler schreiben oder war da C schnell genug?

C ist da schnell genug. Hängt allerdings auch etwas vom Controller ab. Der hier ist eine 16-Bit Maschine und läuft mit 30 Mhz Takt.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
141
22.01.2012, 22:44 Uhr
otto11



Es gibt gute Fortschritte zu melden

Ich hatte heute Abend versucht, WEGA auf meine SD-Card ( aktuell 512MB MMC ) zu installieren.
Ging alles gut bis zur 7.Diskette im /usr Bereich. Dann gab es einen fatal i/o-write-error...

Ich habe die Blocknummern im RAW-Modus direkt 1:1 auf die SD-Card umgesetzt. Da das Formatieren noch recht lange dauert, hatte ich nur die ersten ca. 20 "Spuren" formatiert.

Es ergeben sich für mich folgende Fragen:
1. Ich erinnere mich dunkel, daß diese Probleme schon bei der Installation auf die 50MB Robotron-Platte auftraten. Kann das an einer defekten Diskette liegen?
2. Kann man die Disketten 7 - 9 erstmal weglassen? Sind doch wohl Manuals?
3. Muss man SD-Cards formatieren, um defekte Blöcke zu finden? Oder managed der Card-Controller selbst defekte Sektoren? Ich habe bisher in der Firmware nur die Kontrolle Schreiben Ok/Not OK vom SD-Host Controller meines uC implementiert...

Schonmal Danke für Eure Hilfe!
Jürgen

Dieser Beitrag wurde am 23.01.2012 um 13:13 Uhr von otto11 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
142
23.01.2012, 13:16 Uhr
holm

Avatar von holm

Genauer hast Du die Fehlermeldung nicht mehr? Lange her, das ich das mal gemacht habe..

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
143
23.01.2012, 13:39 Uhr
otto11




Zitat:
holm schrieb
Genauer hast Du die Fehlermeldung nicht mehr? Lange her, das ich das mal gemacht habe..

Gruß,
Holm

Doch:

md : fatal error
write error d

schnell am Terminal durchlaufend.

Gruß Jürgen

Dieser Beitrag wurde am 23.01.2012 um 15:06 Uhr von otto11 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
144
23.01.2012, 15:30 Uhr
holm

Avatar von holm

Das sieht mir wie der Fehler aus, der beim Einsatz einer ST251-1 am originalen WDC passiert,
das ist das, was diese Platten da unbenutzbar macht.
Dummerweise weiß keine Sau woran das liegt...
Meiner Meinung nach stürzt in dem Moment der WDC-Computer selbst ab bzw. antwortet simpel
ider P8000 nicht mehr.
Du wirst das wohl noch mal machen müssen und Deinen Motorroller fragen was da passiert (genauer Interface-Status, Blinkenlights oder LA).

*grin* momentan emulierst Du den WDC ganz gut ..(duck und wech..)

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 23.01.2012 um 15:30 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
145
23.01.2012, 17:11 Uhr
Enrico
Default Group and Edit


Mal nur so zur Diskusion; wäre es denn nicht einfacher erstmal beim WDC ein GIDE draufzustecken und die SW dafür anzupassen?
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
146
23.01.2012, 17:19 Uhr
Alex-70



Der Gedanke kam mir auch gleich. Aber als braves Bürgerlein wollt ich da nicht neunmalklug sein.

Das Ganze ist aber sehr interessant und wichtig; demnächst steht auch eine P8000-Reanimation an der Uni an. Mal sehen, was das wird...

Dieser Beitrag wurde am 23.01.2012 um 17:21 Uhr von Alex-70 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
147
23.01.2012, 17:27 Uhr
Micha

Avatar von Micha

ich bin wirklich schwer beeindruckt wie gut die Sache vorankommt. Zu den aktuellen Fragen kann ich leider nix sagen.


Zitat:
Ich habe die Blocknummern im RAW-Modus direkt 1:1 auf die SD-Card umgesetzt. Da das Formatieren noch recht lange dauert, hatte ich nur die ersten ca. 20 "Spuren" formatiert.

Hast du in den "WDC Parameterblock" eine konkrete Spuren/Sektoren/Heads Struktur reingefrickelt? Auf der SD-Card gibts im raw Modus keine Spuren - oder(?)

Wenn ich es richtig verstehe ist jener Motorola-Controller den du verwendest nur noch durch "Stehlen aus dem Museum" zu bekommen? Bin mal gespannt ob ein 18,432 gemegahertzter Actimel den zeitkritischen Teil auch schafft.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
148
23.01.2012, 18:09 Uhr
otto11




Zitat:
Micha schrieb
Hast du in den "WDC Parameterblock" eine konkrete Spuren/Sektoren/Heads Struktur reingefrickelt? Auf der SD-Card gibts im raw Modus keine Spuren - oder(?)

Wenn ich es richtig verstehe ist jener Motorola-Controller den du verwendest nur noch durch "Stehlen aus dem Museum" zu bekommen? Bin mal gespannt ob ein 18,432 gemegahertzter Actimel den zeitkritischen Teil auch schafft.

Ich habe erstmal den K5504.50 Parameterblock für den Anfang verwendet. Man kann dann ja im sa.format die Parameter ändern. Es gibt keine Spuren im raw Modus. Trotzdem muss die Umrechnung Spuren -> Blocknummer u.a. für's Formatieren hinein. Und zwar richtig! War bis eben noch falsch

Nein.Den Controller gibt es normal beim Distri zu kaufen, wenn gerade am Lager. Z.zt. z.B. 4,64 EUR für die 100pin TQFP Version bei ab 90 Stck . Die 64pin TQFP Version ist eben nicht am Lager. Sonst z.B. 4,33EUR ab 1 Stck.

Gruß Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
149
23.01.2012, 19:28 Uhr
holm

Avatar von holm

TQFP :-~
Nix zum basteln.

Egal, ich bin sicher der Atmel shafft das auch. Der 16Bitter kann hier seine Wortbreite nicht unbedingt ausspielen, 16Bit Pointer hat der Atmel aber auch. Ich denke schon das der Speed reichen wird. Bei AVR sind 20Mhz auch 20 Mips.

Jürgen es ist jetzt also davon auszugehen das Du nochmal probierst?
Mit der SD Card kann ich Dir nicht helfen, ich habe simpel damit noch Nichts gemacht, habs noch nicht gebraucht.

@Enrico&Alex: Um Gotteswillen Nein!

Die Hardware des WDC ist sehr speziell auf dessen Funktion zugeschnitten, das Ding macht eine Art DMA Betrieb. Nix gegen eine GIDE (das war ja auch mal mein Plan dazu) aber in dieser vergriesgnaddelten Struktur noch damit herumzustochern bringt es wirklich nicht. Ein neuer kleiner Einplatinenrechner mit IDE Interface drauf und 4Mhz hätte wahrscheinlich da besser funktioniert.
In der Hard und Software zu dem WDC hat sich scheinbar nicht mal mehr EAW ausgekannt...

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
150
23.01.2012, 19:50 Uhr
Micha

Avatar von Micha

ich hab quasi in nem Parallel-Projekt alle Teile (bis auf den 25-poligen Sub-D Stecker) mit mehrfacher Redundanz zusammengekauft.
Und ausserdem am WE die Software mit dem krassen Namen "Lochmaster" bekommen. (OT: Ähnlich schräge Sache wie an der Aral-Tankstelle das Werbeplakat "Back-Shop").

Zurück zum Topic: Ich werd mir die Tage 'ne Schaltung aus 25-poligem Sub-D, Atmega 1284P, SD-Card-Interface zusammenbasteln. Das schöne an dem Microcontroller-Kram ist ja, dass man das Versprechen auf die ultimative funktionale Firmware jederzeit auf den Sankt-Nimmerleins-Tag rausschieben kann, aber die Hardware-Verschaltung ist schon von Anfang an ziemlich klar
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
151
23.01.2012, 19:59 Uhr
otto11




Zitat:
holm schrieb
TQFP :-~
Nix zum basteln.

Egal, ich bin sicher der Atmel shafft das auch. Der 16Bitter kann hier seine Wortbreite nicht unbedingt ausspielen, 16Bit Pointer hat der Atmel aber auch. Ich denke schon das der Speed reichen wird. Bei AVR sind 20Mhz auch 20 Mips.

Jürgen es ist jetzt also davon auszugehen das Du nochmal probierst?
Mit der SD Card kann ich Dir nicht helfen, ich habe simpel damit noch Nichts gemacht, habs noch nicht gebraucht.

Gruß,

Holm

Ach,TQFP ist dafür schön klein

Natürlich mache ich weiter! Die Installation ist jetzt mal durchgelaufen. Ich hatte auch noch einen Fehler in der Umrechnung Spuren in Blocks. (Keine Ahnung, ob WEGA hier eine bestimmte Umrechnung sehen will anstatt von 0 an durchgezählt?)
Trotzdem zeigt sich nur das WEGA Startbild beim Booten und dann stürzt er weg
Da stimmt entweder in der "otir"-Übertragung zum U8000 noch etwas nicht, oder auf dem Weg zur/von der SD-Card. Vermute allerdings das Erste
Ich hatte das Signalspiel aufgenommen mit der normalen HD. Leider sieht das am Ersatz noch nicht wieder so aus. Hatte schon die PIO auf der 16-Bit bzw. den '540 Treiber in Verdacht.
Mal weiter sehen...
Gruß
Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
152
23.01.2012, 23:39 Uhr
Enrico
Default Group and Edit


Ähm, sag mal, meinst Du, dass es mit sa.format der richtige Weg ist?
Ich kann da ja auch falsch liegen.

Damit wird ja eigentlich das Lowlevel-Format bei MFM gemacht.
Es werden also die Zwischeninformationen geschrieben. GAB, ECC, CRC, Interleave, der Sekter selber ev. mit 0 gefüllt, etc. Bei IDE brauch man sich im Normalfall um sowas nicht kümmern.
Ich kann mir nicht vorstellen, dass es mit einer SD-Karte anders sein soll.

Müsste man da nicht erst bei sa.mkfs anfangen?
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
153
24.01.2012, 17:14 Uhr
otto11




Zitat:
Enrico schrieb
Ähm, sag mal, meinst Du, dass es mit sa.format der richtige Weg ist?
Ich kann da ja auch falsch liegen.

Damit wird ja eigentlich das Lowlevel-Format bei MFM gemacht.
Es werden also die Zwischeninformationen geschrieben. GAB, ECC, CRC, Interleave, der Sekter selber ev. mit 0 gefüllt, etc. Bei IDE brauch man sich im Normalfall um sowas nicht kümmern.
Ich kann mir nicht vorstellen, dass es mit einer SD-Karte anders sein soll.

Müsste man da nicht erst bei sa.mkfs anfangen?

Sicher kann ich das noch verkürzen. Vermutlich muss nur der Block 0 richtig gelöscht werden und dann die Parametertabelle und die Bad Track Table richtig geschrieben werden. Das macht sa.format nunmal am Ende. ZB ist lt.WEGA-Systemhandbuch der 1. Zylinder(!) für die BTT reserviert. Und die wird beim Start nunmal vom System eingelesen.

MfG Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
154
24.01.2012, 20:56 Uhr
Olli

Avatar von Olli

Hm? Braucht man das alles? Man ermittelt quasi "on the fly" die "Plattenparameter" auf Basis der Größe der SD-Card.
Alles andere was mit BTT und Parametertabelle zu tun hat verwirft man einfach... BTT lesen -> keine Fehler.
BTT schreiben -> "ja danke -> Ablage P -> schreiben OK zurueckmelden"
PAR lesen -> "on the Fly Köpfe, Spuren, Zylinder zurueckmelden".
PAR schreiben -> "ja danke -> Ablage P -> schreiben OK zurueckmelden"

Der eigentliche WEGA-Betrieb erfolgt doch nur über Device- und Blocknummern beginnend mit Block 0. Ein Block ist 512 Byte groß.
Die Kopf-Spur-Geschichte braucht man doch nur fuer diesen ganzen sa.* Krempel. Und da brauchts ausser sa.mkfs maximal - gar nichts von später - formatieren, verifizieren usw usw.... wozu?
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 24.01.2012 um 20:58 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
155
24.01.2012, 21:30 Uhr
otto11



Olli,

da hast Du sicher Recht! Du bist aber Unix-Profi Deshalb habe ich einfach mal so angefangen, wie ich es gesehen hatte.
Übrigens bin ich gerade auf die ganze Block-Problematik gestoßen worden
Habe gemerkt, daß auf der Harddisk eben der logische Block 0 erst beim "physischen Block"/Sektor 90 losgeht. Habe dies in der Umrechnerei korrigiert und -> die gesamte Installation lief diesmal klaglos durch. Trotzdem fehlt zur Zeit noch der Bootblockinhalt Keine Ahnung warum!
Wären dann auch die nächste Fragen: Wie hätten wir's denn gern?
Mehrere Laufwerke auf einer Card oder ein maximal großes?
Wie groß kann WEGA eigentlich? ( als Harddisk ja wohl 2999 Spuren,16 Köpfe und 18 Sektoren / DRive ) usw.
Jedenfalls scheinen die jetzigen Probleme nicht mehr von der Hardware der P8000-Anbindung oder der SD-Card Ansteuerung zu kommen! Alles andere ist auch lösbar!
Gruß
Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
156
24.01.2012, 21:35 Uhr
Olli

Avatar von Olli

wega selber kuemert sich ja nur um Blöcke... das geht so groß - so große SD Karten gibts noch nicht

Ich persoenlich koennte mir auch vorstellen, das man 200...300... MB der SD Karte erstmal fest vorgibt - gibt eh nicht so viele Daten/Programme um das zu fuellen.... kann man sich auch immer noch spaeter das ganze vornehmen und schauen was auszureizen geht.

sa.format oder die WDC Firmware ( weiss nicht mehr so genau) hatte folgende Begrenzungen:


Quellcode:
F7:    Welche Beschraenkung gibt es bei der Groesse der Festplatten

A7:    - Die WDC Firmware ueberprueft die Parameter.
        - Die Zylinderanzahl muss zw. 100 und 3000 liegen
        - Die Koepfe muessen zw. 2 und 16 liegen
        - Die Sektoren muessen zw. 17 und 18 liegen

(aus meinen Notizen)

Mehrere Platten find ich erstmal nicht so "sexy"..... aber kann man sich ja dann ueberlegen wenn man an eine Grenze stößt ob es nicht doch sinnvoll ist.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
157
24.01.2012, 22:09 Uhr
otto11



Na dann sind wir ja gar nicht soweit auseinander.
Die genannten Daten bedeuten ca 432 MB, wenn alles ausgenutzt wird. Ich werde trotzdem die gesamte Organisation so beibehalten um die Kompatibilität zu wahren. Da fällt doch die "P8000" konforme Ablage der Parameter im ersten physischen "Zylinder" immer mit ab!

Letzlich soll doch keiner merken, daß nicht wirklich eine Harddisk drin ist.
Wer zu viel Zeit hat, kann ja Format und Verify durchlaufen lassen...
Muß man aber nicht!
Die Lüfter sind übrigens laut genug im Compact mit offenem Gehäuse! Hatte die Harddisk gestern heraus genommen. Da braucht es keine Sound-Imitation!

Ich sehe mir morgen nochmal die ganze Umrechnerei an!

MfG
Jürgen

Dieser Beitrag wurde am 24.01.2012 um 22:17 Uhr von otto11 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
158
28.01.2012, 18:08 Uhr
otto11



Es ist Wochenende und Zeit zum Weitermachen

Leider bis jetzt ohne Erfolg Problem ist nach wie vor der Start des Systems nach der Installation. Stürzt nach der Anzeige des Systemgröße weg.

Ich hatte noch ein paar Ungereimtheiten bei der Umrechnerei von Sektoren/Köpfen/Zylindern in SD-Card Blocknummern und bei der Umrechnung von WEGA-Blocknummern in SD-Card Blocknummern korrigiert. Dabei ist bei Verwendung von sa.format usw. und der Nachbildung der Festplattengeometrie auf die SD-Card eigentlich nur ein Offset (z.B. 5hds x 18 sec = 90 blocks ) zur logischen Blocknummer zu addieren.
Habe es auch ohne jeden Offset ( Start mit sa.mkfs usw.. ) probiert. Keine Änderung!
Der Vergleich der rückgelesenen Blöcke im U8000-RAM zwischen HD und SD-Card zeigt teilweise keinen Unterschied. Hätte ja ev. ein Problem Hi- Lowbyte sein können. Hierbei ist natürlich die Frage, welche Blocknummern garantiert gleichen Inhalt zwischen HD und frisch installierter SD haben müssen?

Falls die Pegelanpassung zwischen PIO-Datenport und Controller ein Problem darstellt, wäre das nicht so schön. Dies würde zusätzlichen Hardwareaufwand zu den aktivierten Pullups ( lt.Datenblatt nur +- 130uA ) im Controller bedeuten

Gruß
Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
159
30.01.2012, 20:47 Uhr
otto11



Also:

Ich habe externe Pullup's nachgerüstet...
Nochmal meine Installationsdisketten geprüft ( die Prüfsummen von Ollis Website für Root-Disketten 1-3 sind offenbar falsch, da alle Quellen gleiche, aber andere Prüfsummen haben)...
Das Programm sa.diags wollte noch einen zusatzlichen Befehl in der Firmware sehen: Sektor beschreiben. Nachgerüstet.
Einige Blocks auf SD über den 16-Bit Monitor beschrieben und zurückgelesen. Alles i.O. Die Firmware für den SD-Controller läuft komplett fehlerfrei durch, auch mit sa.diags.

Trotzdem bootet das Teil nicht nach der Installation aller Disketten. Es stockt bei Block 0 bzw. 160036 ( logische Blocks ) je nach gewählter Startprozedur ( X und NMI bzw. mit Startdiskette und ud(0,0)wega.

Habe im Moment keine Idee, was da falsch läuft.
Wer noch eine Idee hat: Ist herzlich willkommen.

Gruß
Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
160
30.01.2012, 21:00 Uhr
Mobby5



Nur so ein Gedanke (kann mich auch fürchterlich irren):
Was passiert bei sa.diags, wenn wegen eines Fehlers in Deinem Programm irgendwo die selben Sektoren beschrieben werden. Zum Beispiel, jetzt mal ganz willkürlich: Angenommen Block 17 auf der SD-Karte wird auch bei Block 64324 "angefahren", würde beim Testen mit sa.diags ein Fehler auftreten? Wenn Werte nicht in die Variablen passen, könnte so ein Problem dabei rauskommen. Eventuell ist Block 0 schon wieder mit Daten, welche eigentlich in einen anderen Block geschrieben werden sollten, überschrieben worden.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
161
30.01.2012, 21:04 Uhr
holm

Avatar von holm

Das mit den Prüfsummen würde ich nicht so eng sehen, da muß Olli erst mal erzählen wie er die gerneriert hat, ob das die von CQM File oder von "ausgepackten" Disk file sind.
Imho habe ich meine Kisten mit den w31* Disketten von Olli installiert....

Beschreibe mal genauer was beim Startversuch noch auf dem Terminal zu sehen ist bevor er abkratzt, das läßt eventuell wenigstens etwas darauf schließen wie weit er beim booten kommt..
Fragt der eventuell nach einer 2. Platte und Du handelst das nicht?

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
162
30.01.2012, 21:32 Uhr
otto11




Zitat:
Mobby5 schrieb
Nur so ein Gedanke (kann mich auch fürchterlich irren):
Was passiert bei sa.diags, wenn wegen eines Fehlers in Deinem Programm irgendwo die selben Sektoren beschrieben werden. Zum Beispiel, jetzt mal ganz willkürlich: Angenommen Block 17 auf der SD-Karte wird auch bei Block 64324 "angefahren", würde beim Testen mit sa.diags ein Fehler auftreten? Wenn Werte nicht in die Variablen passen, könnte so ein Problem dabei rauskommen. Eventuell ist Block 0 schon wieder mit Daten, welche eigentlich in einen anderen Block geschrieben werden sollten, überschrieben worden.

@Mobby5

Das könnte noch eine gute Idee sein! Werde ich mal prüfen.

@holm

Für die root Disketten 4 + 5 passen die UDOS COPY.TAR - Prüfsummen. Für 1 -3 eben nicht. War eben noch ein möglicher Fehler!

Beim direkten Booten über U880 - 'X' -> U8000 - NMI passiert nix. Es wird der logische Block 0 ( /usr - System erster Block ) geladen und dann passiert nichts mehr. Ich sehe ja über das perfekte BDM-Interface im Debugger live, was passiert Block 0 ( physischer Block 90 ) wird geladen und dann Ruhe.

Wenn ich über Diskette ... ud(0,0)wega starte, werden eine Menge Blocks nacheinander geladen, es folgt die Ausschrift "Wege-Kernel Release 3.2 blabla.." mit dem unteren perfekten Querstrich auf dem Schirm und dann bleibt die Kiste mit dem letzten geladenen Block16036 = physisch 16126 hängen. Keine weitere Ausschrift.

Gruß Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
163
30.01.2012, 22:10 Uhr
otto11



OK! Danke Euch!

Das bringt mich noch auf einen Gedanken.. Ich habe die Beispielprogramme zum Evaluationboard zum SD-Lesen/SD-Schreiben mangels anderer Beispiele komplett übernommen, da sonst nichts funktionierte. Aber da gab es noch ein Fragezeichen!
Im Beispiel wird vom USB auf die SD-Card geschrieben. Dieses Flag hat hier eigentlich nichts zu suchen. Ohne ging aber nichts. Muss mal suchen, ob es etwas Entsprechendes finde. So wäre es denkbar, das manuelle Ansteuerung im Monitor genügend Zeit zum Schreiben läßt und sonst etwa am Ende des Blocks ein paar Byte fehlen, obwohl die Fertigmeldung kommt und schon der nächste Befehl ansteht.

Beste Grüße,
Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
164
04.02.2012, 20:01 Uhr
otto11



Mal wieder einen Zwischenstand, falls es wen interessiert:

Das Flag im SD-Card Schreiben/Lesen habe ich ausgetauscht. Testprogramm mit bestimmten Daten ( Byte hochzählen und im nächsten Block um 1 versetzt) wird fehlerfrei behandelt. D.h. Die Datenübertragung Controlle - SD-Card funktioniert offenbar. Jedenfalls vom beschränkten RAM aus und mit den zwischen gesetzten Befehlszeiten zum Vergleich der zurück gelesenen Daten.

@Mobby5
Da war nichts zu holen. Die Blocknummern sind uint32 und sollten nicht überlaufen.Die kommen auch direkt über das Kommando vom U8001. Die Umrechnung hatte ich schon weiter oben korrigiert.

Habe heute mal das Harddisk-File vom P8000 Simulator auf eine SD-Card kopiert und meinen Offset von 90 Sektoren in der Berechnung der physischen Blocknummer entfernt. Und siehe da, die Mühle bleibt ebenfalls nach der Ausschrift "WEGA-Kernel 3.2...... Version 3.1mawi" hängen.
Hatte jetzt doch die Datenübertragung zwischen Controller und P8000 in Verdacht. Die ist äußerst empfindlich auf das Timing. Ein NOP mehr oder weniger und es gibt Datensalat. Wahrscheinlich die "INIR"-Geschichte

Habe dann mit Oszi auf geringste Fehler optimiert und da kommt die nächste Überraschung:
Nach dieser Ausschrift werden dann auf einmal 1024 Byte Daten angefordert. Ich dachte lt. Beschreibung eigentlich grundsätzlich nur einzelne 512Byte Blöcke? Auch wenn das Interface zum P8000 ev. noch nicht 100% bei langen Datenblöcken in Schreibrichtung funktionieren sollte, nehme ich an, die 9 Byte Kommando in Leserichtung werden immernoch fehlerfrei übertragen! Und da stehen wirklich 1024 Byte!
Ist das nun eine Sonderversion "mawi"?
Wie soll man verfahren? 2 aufeinanderfolgende Blöcke übertragen?

Das entwickelt sich langsam zum Großprojekt!

Gruß
Jürgen

Dieser Beitrag wurde am 04.02.2012 um 20:17 Uhr von otto11 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
165
04.02.2012, 20:17 Uhr
Tom Nachdenk



Meines Wissens ist in einer MP ein Nachnutzungsprojekt für den P8000 beschrieben der die Datenrate erhöhen soll, mehr Informationen gabs da nicht, die Kollegen wollten wohl das ganze als Lösung verkaufen. Evtl. gabs die Übertragung mehrerer Blöcke in einem Rutsch auch in den letzten Wega-Versionen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
166
04.02.2012, 20:23 Uhr
Micha

Avatar von Micha

ich hab schon die ganze Woche auf ne Fortsetzung gewartet und freu mich, dass es Neuigkeiten gibt. Für mich derzeit das faszinierendste Thema hier im Forum.

Müsste man ein "Spionage"-Modul zwischen P8000 und einen echten Beisteller schalten um das Rätsel um den Datensalat aufzuklären?

Bei mir haperts an Messtechnik und Erfahrung um auch nur davon zu träumen an so einem Experiment aktiv teilzunehmen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
167
04.02.2012, 22:14 Uhr
otto11




Zitat:
Tom Nachdenk schrieb
Meines Wissens ist in einer MP ein Nachnutzungsprojekt für den P8000 beschrieben der die Datenrate erhöhen soll, mehr Informationen gabs da nicht, die Kollegen wollten wohl das ganze als Lösung verkaufen. Evtl. gabs die Übertragung mehrerer Blöcke in einem Rutsch auch in den letzten Wega-Versionen.

Danke für die Info. Da muss ich mal suchen... Das kann aber unangenehme Folgen für's Projekt haben! Da muß ich ev. den Contoller mangels RAM wechseln, was dann die übliche SPI-SD-Ansteuerung nötig macht
Aber dazu muß ich erstmal wissen wieviele Blöcke das wirklich maximal betrifft und wie das gemanaged wird?

@Micha
Das braucht man nicht! Besser ist hier die Zeitberechnung mit entsprechenden Toleranzen aus den Programmen auf U8001 Seite und vom WDC unter Beachtung der verbauten Hardware. Das ist aber eben recht mühselig, da es mehrere Parameter gibt.

Gruß
Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
168
04.02.2012, 22:33 Uhr
kaiOr

Avatar von kaiOr


Zitat:
otto11 schrieb
Nach dieser Ausschrift werden dann auf einmal 1024 Byte Daten angefordert. Ich dachte lt. Beschreibung eigentlich grundsätzlich nur einzelne 512Byte Blöcke

#define MXSIZE 8*0X200 /* maximale Blocklaenge */

Der überträgt bis zu 8 Blöcke in einem Rutsch.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
169
04.02.2012, 22:59 Uhr
otto11




Zitat:
kaiOr schrieb

Zitat:
otto11 schrieb
Nach dieser Ausschrift werden dann auf einmal 1024 Byte Daten angefordert. Ich dachte lt. Beschreibung eigentlich grundsätzlich nur einzelne 512Byte Blöcke

#define MXSIZE 8*0X200 /* maximale Blocklaenge */

Der überträgt bis zu 8 Blöcke in einem Rutsch.

Wäre ja nett, wenn Du noch eine Quellenangabe dazu hättest!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
170
04.02.2012, 23:46 Uhr
kaiOr

Avatar von kaiOr

http://cvs.laladev.org/index.html/P8000/WEGA/src/uts/dev/md.c?rev=1.1&content-type=text/x-cvsweb-markup
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
171
04.02.2012, 23:56 Uhr
otto11



@kaiOr

Danke!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
172
05.02.2012, 09:57 Uhr
Micha

Avatar von Micha


Zitat:
kaiOr schrieb

Zitat:
otto11 schrieb
Nach dieser Ausschrift werden dann auf einmal 1024 Byte Daten angefordert. Ich dachte lt. Beschreibung eigentlich grundsätzlich nur einzelne 512Byte Blöcke

#define MXSIZE 8*0X200 /* maximale Blocklaenge */

Der überträgt bis zu 8 Blöcke in einem Rutsch.

Das sind ja vier Kilobyte. Wow! Das würde, wenn man es auf Atmega-Basis aufbauen wollte, den 644P auch disqualifizieren, der hat ja gerade mal soviel Ram. Ein Glück dass ich noch nicht angefangen hab. Muss ich mir doch einen 1284P für den Zweck beschaffen, der hat 16K.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
173
05.02.2012, 12:41 Uhr
otto11




Zitat:
Micha schrieb
Das sind ja vier Kilobyte. Wow! Das würde, wenn man es auf Atmega-Basis aufbauen wollte, den 644P auch disqualifizieren, der hat ja gerade mal soviel Ram. Ein Glück dass ich noch nicht angefangen hab. Muss ich mir doch einen 1284P für den Zweck beschaffen, der hat 16K.

Das ist leider genau so der Fall. Habe eben probiert in aufeinanderfolgenden Blöcken (WDC-Status 03) zu schreiben: Wird nicht akzeptiert!
Da verstehe ich allerdings noch nicht, wie das mit dem Original WDC funktioniert. Da sind lt. Firmware auch keine 4k frei!

Da muss ich mal sehen, ob ich noch einige KB RAM in meinem Controller auftreiben kann Der hat 3,5k normalen RAM und 1,5k Que-RAM. Mal sehen ob der Controller so zu konfigurieren ist, daß der nicht benutzte Q-RAM fortlaufend an den 3,5k Ram zu nutzen ist.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
174
05.02.2012, 12:48 Uhr
holm

Avatar von holm


Zitat:
otto11 schrieb
Das ist leider genau so der Fall. Habe eben probiert in aufeinanderfolgenden Blöcken (WDC-Status 03) zu schreiben: Wird nicht akzeptiert!
Da verstehe ich allerdings noch nicht, wie das mit dem Original WDC funktioniert. Da sind lt. Firmware auch keine 4k frei!

Häh? Was genau hast Du wo probiert zu schreiben, ich komme nicht mit..?

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
175
05.02.2012, 14:44 Uhr
Enrico
Default Group and Edit


Der WDC hat 6 kb S-RAM.

Bau das doch wie beim WDC. S-RAM mit Kleisterlogik, der von beiden Seiten aus angesteuert werden kann.
Oder noch besser Dualport-RAM, da sind Ansteuerung und Wait-Logik schon mit drin und die beiden Rechner brauchen kaum aufeinander warten.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
176
05.02.2012, 16:35 Uhr
otto11




Zitat:
holm schrieb
Häh? Was genau hast Du wo probiert zu schreiben, ich komme nicht mit..?

Gruß,

Holm

Ich habe meine Firmware so geändert, daß für eine Anforderung vom U8000 von z.B. 1024 Byte von meiner Ersatzschaltung diese 1024Byte in zwei Blöcken, jeweils 512Byte, übergeben werden.
Die WDC-Schnittstelle hat 5 verschiedene Stati: 0=in Arbeit/besetzt, 1=Befehl vom U8000 lesen, 2=Daten lesen, 3=Daten zum U8000 schreiben, 7=Fehler.
Für 2 und 3 laufen diese Blockladebefehle im U8000. Status 0 darf zwischen den einzelnen Abläufen eingenommen werden. Ich habe also versucht zwischen mehreren Blöcken (3) den Zustand 0 einzufügen und dabei den Datenpuffer von der SD frisch zu füllen. Wie zu erwarten geht das leider nicht. Die plautzen alles in einem Blockladebefehl über die Schnitte

@Enrico
Das der WDC 6kB RAM hat ist kein Geheimnis. Der RAM liegt ab Adr. 0x2000. Allerdings fängt der sogenannte "Datenbereich" lt. Quellen ab 0x2FF5 an. Und auf 0x3080 endet/beginnt schon der Stackbereich. Darüber liegen Arbeitszellen. Falls das mit dem Datenbereich 0x2FF5 nicht so ernst gemeint ist, könnte das gerade so passen. Alles etwas wirr!

Und Kleisterlogik werde ich bestimmt nicht zusätzlich darum herum bauen, wenn es ein anderer Controller genau so gut tut!

So, werde jetzt mal schauen, wie und ob sich der RAM im UF32 noch etwas anders nutzen läßt.

Gruß
Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
177
06.02.2012, 23:12 Uhr
otto11



Na das sieht doch schonmal ganz gut aus!!
Ich hab die RAM-Belegung etwas hin- und hergeschoben und die etwas nutzlose BTT verkleinert. Und jetzt lief es mehrfach durch bis zum Multi-User mit Einloggen und wieder Abfahren.
Es ist zwar noch verdammt eng im RAM (nur noch 1 Byte auf dem Stack frei), aber man kann ja noch optimieren und ich muß vor allem weiter testen
Ja, und die 4k als Buffer werden wirklich für 8 Blöcke benutzt!

Gruß
Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
178
12.02.2012, 21:44 Uhr
otto11



Aktueller Stand:
Die Wega-Version vom P8000-Simulator hatte ich auf die SD-Card aufgespielt und die lief ja schon seit etwa 14 Tagen.
Ich habe nochmal die Routine zum Schreiben SD etwas geändert. Die Doku vom Chiphersteller ist hier wirklich bescheiden!
Damit konnte ich dann endlich mal komplett von Diskette installieren und das lief dann auch ordentlich!
Die Tests und die Suche davor war wieder sehr interessant!
Zumindest kann ich jetzt ganz einfach den Fehler "write error d" provozieren.
Der entsteht, wenn der WDC / die Harddisk zu lange braucht, um einen Befehl auszuführen. Klappt sicher bei 1 sec Verzögerung beim Schreiben zum WDC. Beim Lesen hat eine solche Verzögerung offenbar keinen Einfluß.
Also:
- 4k Buffer für 8 Blöcke im Controllerspeicher vorhanden
- etwas mehr Platz auf dem Stack jetzt vorhanden
- Installation von Diskette funktioniert
- Schnittstelle zum 16-Bit P8000 funktioniert
- weitere Tests natürlich noch nötig

Gruß Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
179
12.02.2012, 22:12 Uhr
holm

Avatar von holm

Oha, das ist Interessant.
Olii, da Du ja jetzt wieder endlos Zeit hast, könntest Du mal im Treiber forschen ob Du die Quelle für das 1sek. Timeout findest. Wenn man daran schraubt, sollten ja eventuell auch ST251 Platten laufen...?

Ich kämpfe gerade mit solchem Scheiß hier:


Quellcode:
Boot
: ra(1,1)vmunix
326312+104440+130352 start 0x23b8
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004
    root@luthien.Harhan.ORG:/nbsd/usr/src/sys/GENERIC
real mem  = 13627392
SYSPTSIZE limits number of buffers to 118
avail mem = 11982848
using 118 buffers containing 785408 bytes of memory
MicroVAX-II
tmscp0 at uba0 csr 174500 vec 774, ipl 15
tms0 at tmscp0 slave 0
uda0 at uba0 csr 172150 vec 770, ipl 15
uda0: version 5 model 13
uda0: DMA burst size set to 4
ra0 at uda0 slave 0: no disk label: no partition table for DU RA 81, size 2082137;
using (s,t,c)=(166,49,256)
ra1 at uda0 slave 1: mydisk, size = 2065869 sectors
qe0 at uba0 csr 174440 vec 764, ipl 14
....

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
180
13.02.2012, 01:29 Uhr
Olli

Avatar von Olli

Ach und ich dachte wir bauen uns jetzt alle einen WDC-Ersatz
Ich will auch ne VAX.. aber ne Russen-VAX - DEC kann ja jeder
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 13.02.2012 um 01:29 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
181
13.02.2012, 13:57 Uhr
Enrico
Default Group and Edit



Zitat:
Olli schrieb
Ich will auch ne VAX.. aber ne Russen-VAX - DEC kann ja jeder

Nu ja, aber nicht jeder kommt da ran.
Entweder das ist schlecht bis ganz schlecht zu bekommen, oder fürchterlich teuer (Ebay Amiland)
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
182
13.02.2012, 17:21 Uhr
holm

Avatar von holm

...verlasse Dich mal nicht drauf das das jeder kann. Das Ding hat genug Tücken und das 4.3BSD Quasijarus läuft immer noch nicht.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 13.02.2012 um 17:21 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
183
18.02.2012, 17:18 Uhr
Micha

Avatar von Micha

ganz bescheidene Frage an otto11:

ist schon abzusehen, ab wann du andere eventuell mal in deine C Quelltexte hineinschauen lassen kannst?

Ist ein heikles Thema, ich weiss. Solange etwas nicht fertig ist isses doof, andere reingucken zu lassen. Bin einfach bei diesem speziellen Projekt total gespannt drauf, ob ich das eventuell mit meinen Mitteln nachbauen könnte ;-)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
184
26.02.2012, 14:13 Uhr
otto11




Zitat:
Micha schrieb
ganz bescheidene Frage an otto11:

ist schon abzusehen, ab wann du andere eventuell mal in deine C Quelltexte hineinschauen lassen kannst?

Ist ein heikles Thema, ich weiss. Solange etwas nicht fertig ist isses doof, andere reingucken zu lassen. Bin einfach bei diesem speziellen Projekt total gespannt drauf, ob ich das eventuell mit meinen Mitteln nachbauen könnte ;-)

Ich habe mal ein paar Infos zusammen gestellt:

Auf meiner Projektseite

Dieser Beitrag wurde am 26.02.2012 um 14:14 Uhr von otto11 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
185
26.02.2012, 14:58 Uhr
Micha

Avatar von Micha

Danke!

und au weia - ich habs geahnt - ich schau da erst mal rein wie's Schwein ins Uhrwerk
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
186
18.03.2012, 13:10 Uhr
otto11



Hallo zusammen,

leider kann ich doch nicht mit nach Garitz kommen :-(
Sonst hätte ich meinen WDC-Ersatz mit dem Evaluation-Board gern mal vorgestellt.

Jedenfalls läuft das jetzt alles recht gut. Allerdings werden die Wartezeiten beim Start einer z.B. 400MB eingerichteten SD-Card schon arg lang!
Es ergibt sich die Frage, ob es ernsthafte Interessenten für ein solches Teil gibt? Für mich allein lohnt sich nicht die Entwicklung und Anfertigung eine Leiterplatte, da ich das Board habe. Wenn es doch mehrere Interessenten gibt, würde ich auf jeden Fall auch noch versuchen die Ankopplung einer 2,5"-IDE Harddisk mit auf die Platine zu bringen. Dann würde SD-Card und HD eventuell wahlweise zur Verfügung stehen.
Auf jeden Fall formatiere ich schon jetzt gern eine SD-Card bzw. MMC-Card mit WEGA System für Interessenten.

Gruß
Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
187
18.03.2012, 13:38 Uhr
Enrico
Default Group and Edit


Interesse schon, aber nur wenn es nicht langsamer als Original ist.
Wenn das mit irgendwelchen speziellen Controllern bzw. Controller-Entwicklungsboards läuft, würde mir das auch nichts bringen. Das sollte
schon nachbaubar sein, bzw. die Software später nachvollziehbar und anpassbar.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
188
18.03.2012, 14:19 Uhr
Olli

Avatar von Olli

Jo... bin auch interessiert - aber wenn ichs richtig verstanden habe, ist der ATMega dafuer zu schwachbrüstig? Was wäre die Alternative?
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
189
18.03.2012, 14:55 Uhr
otto11




Zitat:
Enrico schrieb
Interesse schon, aber nur wenn es nicht langsamer als Original ist.
Wenn das mit irgendwelchen speziellen Controllern bzw. Controller-Entwicklungsboards läuft, würde mir das auch nichts bringen. Das sollte
schon nachbaubar sein, bzw. die Software später nachvollziehbar und anpassbar.

OK,ich habe mich bisher noch nicht wirklich um Geschwindigkeit gekümmert. Da ergibt sich gleich die Frage wie man das am besten testet? Wie Du sehen kannst, habe ich in der Software in der main() die zwei Makros LED3on und LED3off. Dazwischen passiert alles auf dem "WDCR" inclusive der Datenübertragungen zum P8000. D.h. wenn LED aus ist der P8000 dran. Habe eben mal etwas gemessen.Bei der 400MB-Card entsteht die erwähnte Wartezeit, wenn das System das große Filesystem /z mit "Check Free List" beim Start durchackert. Ich hab noch keine Ahnung was da passiert :-( Jedenfalls gibt es dort 2,4ms Zugriff aller 34,9ms. Also etwa 32ms P8000 Aktivität und 2,4ms WDCR Aktivität.
Vielleicht sollte ich mal mit der K5504.50 und der SD-Card bis zum WEGA login stoppen?
Die Software ist in C geschrieben und somit wohl nachvollziehbar und es ist ein ganz normaler Mikrocontroller. Oder was ist ein spezieller Controller?
@ Olli
Das kann ich nicht so sagen. Vermutlich ist der MC9S12UF32 schneller wegen dem integrierten SD-Controller. Kritisch war wohl die RAM-Größe beim Atmel.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
190
18.03.2012, 15:36 Uhr
holm

Avatar von holm

Es gibt Atmels mit allen möglichen RAM Größen und es gibt auch welche mit externem Speicherinterface. Die Geschwindigkeit halten ich auch für ausreichend. Was SDCard Controller in HW betrifft habe ich allerdings keine Ahnung ob da was existiert, ich habe so Etwas noch nie benötigt/programmiert. Ich denke die Wortbreite des Prozessors wirkt sich hier eher nicht aus.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
191
18.03.2012, 16:06 Uhr
Enrico
Default Group and Edit



Zitat:
otto11 schrieb
OK,ich habe mich bisher noch nicht wirklich um Geschwindigkeit gekümmert. Da ergibt sich gleich die Frage wie man das am besten testet?

Olli schrieb mir mal vor längerer Zeit, wie man die Anzahl Blöcke lesen kann, z.B. 1MB.
Und dann einfach die Zeit stoppen.
Ich finden den Zetel aber nicht mehr.


Zitat:
...
Bei der 400MB-Card entsteht die erwähnte Wartezeit, wenn das System das große Filesystem /z mit "Check Free List" beim Start durchackert. Ich hab noch keine Ahnung was da passiert :-( Jedenfalls gibt es dort 2,4ms Zugriff aller 34,9ms. Also etwa 32ms P8000 Aktivität und 2,4ms WDCR Aktivität.

OK, dann dürfte dann wohl die Urssachen sein.
Bei 400 MB dauert das schon eine Weile.

Zitat:
Die Software ist in C geschrieben und somit wohl nachvollziehbar und es ist ein ganz normaler Mikrocontroller. Oder was ist ein spezieller Controller?

Nö, nicht wirklich.

Mit speziell meinte ich ja auch Dein Entwicklungsboard, bzw. der Controller in TQFP darauf. Dürfte ein Problem sein.
--
MFG
Enrico

Dieser Beitrag wurde am 18.03.2012 um 16:07 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
192
18.03.2012, 17:06 Uhr
otto11



Ich habe mal gestoppt vom "NMI" bis zum WEGA-Login:
Mein "WDCR" ist ca. 25% schneller als die Robotron Harddisk. Die HD braucht 3:11min und die SD-Card 2:27min.
Von daher gibt es sicher keine Probleme.

@Holm
Der SD-Card Controller taktet die SD-Card mit 20MHz. Man muss die Daten dort nur anliefern als 512Byte Block und das Ergebnis abfragen. Den Rest macht der Controller. Insofern dürfte es schwierig sein diesen Durchsatz "zu Fuß" zu erreichen. Leider kann ich wegen der Blockbefehl-Schnittstelle zum P8000 hier nichts parallel per Interrupt machen. Das würde sicher noch etwas mehr Performance bringen.


Zitat:
Enrico schrieb
Mit speziell meinte ich ja auch Dein Entwicklungsboard, bzw. der Controller in TQFP darauf. Dürfte ein Problem sein.

Das wir uns nicht mißverstehen:den Controller löte ich auch nicht mehr per Hand! Den würde ich bestücken lassen. Die benötigten Signale sind dann auf handhabbare Größen nach aussen gezogen. Die Entwicklungsschnittstelle ist sowieso im Standard ein 2x3 PIN Stecker im 2,54mm Raster. Und die Entwicklungswerkzeuge sind bis 32kB frei. Mehr Flash hat der Controller nicht.
Also keine Angst :-)

Gruß
Jürgen

Dieser Beitrag wurde am 18.03.2012 um 17:07 Uhr von otto11 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
193
18.03.2012, 17:35 Uhr
Micha

Avatar von Micha

@otto11: wirklich schade dass du nicht nach Garitz kommen kannst. Hätte mir das Kästchen sehr genr mal in Aktion angeschaut und ein wenig gefachsimpelt.

Was den Nachbau angeht werd ich mich wohl selber zu einem kompletten Versuch mit einem Atmega aufraffen, ist einfach ein schönes Projekt und ich bin neugierig ob der das schafft. Allerdings ist dieses Projekt derzeit bei mir weiter hinten in der Pipeline

Vielen Dank auch für die C-Source, auf den zweiten Blick doch verstehbar und sehr wertvolle Vorarbeit!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
194
18.03.2012, 17:39 Uhr
Alex-70



Jo, Interesse wäre da. Sowie ich das mitbekomen habe, wäre das System schneller mit kleinerer SD-Pladde. Statt 400MB, z.b. nur 200.
Original warens ja auch nur so 2x50MB.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
195
18.03.2012, 20:20 Uhr
holm

Avatar von holm

@otto1: Es ist irrelevant wie hoch der Takt ist, ein Atmega schafft auf Grund seiner 20 Mips mehr Datendurchsatz als die originale Platte oder der originale WDC mit 4Mhz, das steht erst einmal fest. Imho ist es Blödsinn an dieser Stelle an der Performance kitzeln zu wollen, der 4Mhz Z8000 reisst aus heutiger Sicht die Welt auch nicht ein.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
196
18.03.2012, 21:25 Uhr
otto11




Zitat:
holm schrieb
@otto1: Es ist irrelevant wie hoch der Takt ist, ein Atmega schafft auf Grund seiner 20 Mips mehr Datendurchsatz als die originale Platte oder der originale WDC mit 4Mhz, das steht erst einmal fest. Imho ist es Blödsinn an dieser Stelle an der Performance kitzeln zu wollen, der 4Mhz Z8000 reisst aus heutiger Sicht die Welt auch nicht ein.

Du hast es nicht verstanden! Es ging um den integrierten SD-Card Controller im Gegensatz zur Ansteuerung per SPI mit einem x-beliebigen uC. Das hat erstmal nichts mit der Schnittstelle zum P8000 zu tun. Hierbei macht sich sowohl die Wortbreite des uC als auch die Taktfrequenz bemerkbar. Es summieren sich dort die Takte für jedes Byte ganz schnell(x 512 pro Block).
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
197
19.03.2012, 07:53 Uhr
holm

Avatar von holm

Ich habe das schon verstanden, nur ist diese Änderung in der Performance mit Sicht auf die Zugriffszeiten der originalen Platte eher irrelevant.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
198
19.03.2012, 14:48 Uhr
Olli

Avatar von Olli

War da nicht was mit "wir brauchen Performance vor allem beim Zugriff auf die SD-Karte" weil aktuell keine Steuerlogik drann gepappt ist und der µC nur einen ganz kurzen Zeitbereich hat zu antworten wen die P8000 was will? Habe ich da was Miss(t)verstanden?
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 19.03.2012 um 14:49 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
199
19.03.2012, 21:33 Uhr
holm

Avatar von holm

Es ist aber kein Problem einen AVR mit 32K RAM anzuknüppern und die paar Register für die Logik.

Diese spezielle Restriktion betraf doch die aktuelle Hardware, oder?

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
200
22.03.2012, 16:25 Uhr
rm2
Default Group and Edit
Avatar von rm2

Hallo an alle,

ich melde schon mal Bedarf für meine 3 P8C an (ich habe nur noch 1 funktionstüchtige System-HD), und viele defekte HDs.
ich möchte auch die 2 Anwendungen wieder lauffähig haben (Elektronik-Recycling mit elektr. Betriebstagebuch - TÜV geprüft; kpl. Anwendung mit Abrechnungen, Vor- und Nachkalkulation Produktionsbereich Metallisierung Folien/Papiere)


mfg ralph
--
.
http://www.ycdt.net/mc80.3x . http://www.ycdtot.com/p8000
http://www.k1520.com/robotron http://www.audatec.net/audatec
http://www.ycdt.de/kkw-stendal
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
201
22.03.2012, 22:36 Uhr
paulotto



Hallo Ralph,

hattest Du die HDs schon gesichert? Bei meinen HDs war eigentlich immer nur die Ansteuerelektronik kaputt. Ich habe einfach nur die getauscht und weiter ging es mit dem alten Inhalt. Langsam sind mir aber die Elekroniken ausgegangen...

Gruß,

Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
202
23.03.2012, 09:11 Uhr
Rainer



Und ich hätte auch Bedarf für 3 Stück....

Gruß
Rainer
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
203
23.03.2012, 14:53 Uhr
Mobby5



Ich würde mir auch 2 bis 3 als Ersatz für's Original hinlegen. Es geht doch nichts über die ECHTE Geräuschkullisse.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
204
25.03.2012, 11:58 Uhr
Alex-70



Jo, dann also wie angedeutet: Bedarf bei mir auch so 2-3.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
205
30.03.2012, 19:04 Uhr
otto11



Hallo zusammen,

da gibt es ja einiges Interesse! Da muß ich mich mal an die Arbeit machen :-)

@holm,@olli
Es gibt offenbar die 1ms zusätzliche(!) Zeitgrenze beim Schreiben zur Disk. Damit wurde der Fehler "write error d" hervorgerufen, wenn diese zusatzliche Verzögerung in meinen vorhandenen Aufbau programmiert wurde...

@olli
Das wäre doch auch mal ein Ding, im WEGA Treiber dieses frühe Timeout zu beseitigen. Dann bekommen wir vielleicht endlich die ST251-MLCx Platten zum laufen.... ?? Mal so als Ostergeschenk :-)

Gruß,
Jürgen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
206
06.05.2012, 02:27 Uhr
Olli

Avatar von Olli

So... ich mal wieder - endlich mal wieder Zeit und Lust gefunden

Ich habe auf einigen Seiten gelesen, dass die Level-Anpassung 5V:3.3V mit Widerstaenden nicht so wirklich für Schaltungen im MHz-Bereich geeignet sein sollen. Ich habe dann mal etwas Forschung betrieben, und ein 74HCT125 soll sich wohl ganz gut eignen

Ich habe die Schaltung daher noch angepasst. Der 74HCT125 wird mit 3.3V betrieben. Den ATMega ersetze ich durch einen Typen mit 16K SRAM - 4K haben wir ja oben gelernt sind zu knapp - und den mit 16K gibt es ja auch noch im DIP Gehäuse.

PS: Hatte auch Überlegt einen IC aus der MAX3000 Reihe (z.B. MAX3004) zu nehmen die garantieren so Durchsatzraten von 20Mbps - aber die bekomme ich bei Reichelt leider nicht....

Will nochmal einer drüber schauen?

http://pofo.de/tmp/P8000_WDC_SDCard.pdf

Edit: irgendwie ist das doch mit dem DataOut auch Gülle..... da kommt doch dann Richtung AVR auch nur max 3.3V raus....?!

Edit2: MAX3392E wäre auch schön... aber den gibts nicht als DIP
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 06.05.2012 um 03:07 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
207
06.05.2012, 03:31 Uhr
tp




Zitat:
Olli schrieb
Edit: irgendwie ist das doch mit dem DataOut auch Gülle..... da kommt doch dann Richtung AVR auch nur max 3.3V raus....?!

Stimmt, ist aber egal solange die 5V und 3.3V passen.

Datenblatt: Input high voltage, except XTAL1 and RESET pins: Vih(Min) = 0.6VCC bei VCC = 2.4V - 5.5V
(“Min” means the lowest value where the pin is guaranteed to be read as high)

Das macht bei 5V für den Atmel eine garantierte Input-Schwelle von 3V.
--
Die Zeit ist auch nicht mehr, was sie mal war! (Albert Einstein)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
208
06.05.2012, 08:58 Uhr
Micha

Avatar von Micha

@Olli:
wenn du den MAX3232 nimmst brauchst du ringsherum alles nur mit 100nF zu beschalten. Steht so im Datenblatt, das über die Reichelt-Seite verlinkt ist, klappt bei mir auch anstandslos.

Das mit den Pegelwandlern ist wohl ne Glaubensfrage. Ursprünglich hatte ich mir ja zum Experimentieren dieses Teilchen zugelegt:
http://www.shop-en.display3000.com/important-add-ons/development-pcbs/sdcard_module.html
Der Entwickler verdammt alles andere als Pegelwandler als "Bastel-Lösung".
In Garitz hab ich die Euzebox bestaunt, mir dann eine als Lötübung bestellt und gebaut:
http://hwhardsoft.square7.ch/6138059e781174101/6138059ef212fb402/index.php
Und siehe da - Widerstandsnetzwerk für SD-Card, funktioniert anstandslos! Q.E.D.
Die Euzebox bzw. deren Schaltplan ähnelt zu grossen Teilen diesem Projekt, ist ne gute Referenz für alles ausser dem P8000 Anschluss!

Im Plan ist nicht genau ersichtlich wo du +5V hernimmst. Hab mal an meiner nicht-kompakt P8000 am Winchesteranschluss zwischen 5P und GND ne LED mit Vorwidersstand drangetan - NIX! So wie ich das sehe ist entgegen der Angaben im Handbuch der +5V Pin nicht belegt.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
209
06.05.2012, 09:24 Uhr
Olli

Avatar von Olli

Soll heissen du hast deine SD-Card dann mit 2 MAX3232 angebunden? Ist ja auch irgendwie durchs Knie ins Auge n RS232 Transeiver zu nehmen, oder? Gibt ja auch Level-Converter die 4 Ports anbieten..

Die 5V nehme ich erstmal einfach von nem AT-Netzteil. Wo die Spannung herkommt ist ja erstmal total egal

@TP müsste also erstmal mit nem 74HCT125 klappen?
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 06.05.2012 um 09:26 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
210
06.05.2012, 09:30 Uhr
Micha

Avatar von Micha


Zitat:
Soll heissen du hast deine SD-Card dann mit 2 MAX3232 angebunden?

Nee - totales Missverständnis. Das waren zwei separate Themen. Zum MAX3232 wollte ich lediglich sagen dass man den mit 100nF Kondensatoren beschalten sollte. Thema zu Ende.

Völlig separates Thema: die Euzebox ist der lebende Beweis, dass man ne SD-Card doch mit einem einfachen Widerstandsnetzwerk anknüppern kann und es zuverlässig funktioniert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
211
06.05.2012, 09:32 Uhr
Olli

Avatar von Olli

Sieht dort aber halt erschreckend aus....
http://www.shop-en.display3000.com/important-add-ons/development-pcbs/sdcard_module.html

und hier steht auch was von 10MHz als "Grenze"
http://www.mikrocontroller.net/articles/Pegelwandler
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 06.05.2012 um 09:32 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
212
06.05.2012, 09:48 Uhr
Micha

Avatar von Micha

viel tiefschürfendes hab ich jetzt leider auch nicht zu sagen. Die Euzebox ist der Praxisbeweis dass es mit 'nem einfachen Widerstandsnetzwerk stabil funktioniert. Die gekaufte Mini-Karte mit Pegelwandler die ich hier hab funktioniert allerdings ebenfalls anstandslos.

Wird wohl höchste Zeit für nen eigenen Oszi
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
213
06.05.2012, 09:53 Uhr
Olli

Avatar von Olli

http://darisusgmbh.de/shop/product_info.php/info/p44112_MAX3392EEUD-------LVL-XLTR-LV-8MBPS--TSSOP14.html

Nich gerade billig das Teil.... und dann halt noch TSSOP14...
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
214
06.05.2012, 10:14 Uhr
Olli

Avatar von Olli

man könnte auch einen 74LVX244 verwenden denke ich - den bekommt man fuer 35 Cent

http://www.reichelt.de/ICs-74LVX-74VHCT-/74LVX-244-D/index.html?;ACTION=3;LA=2;ARTICLE=40621;GROUPID=2936;artnr=74LVX+244+D;SID=12T5F5zn8AAAIAAE2X5EMe7d22f92c2374df95d8fafa67b2bff0e

Beispielschaltung (oben links)

http://robozone.su/uploads/posts/2009-01/1232455194_schematic-mp3-m32-v2.gif


Oder..... halt doch erstmal Widerstände.... isch hab keine Ahnung
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 06.05.2012 um 10:18 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
215
06.05.2012, 12:53 Uhr
Olli

Avatar von Olli

Naja - ich hab in einer Woche Urlaub... da will ich anfangen.... ich nehme jetzt das Widerstandsgeraffel und gut is...
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
216
06.05.2012, 13:24 Uhr
Olli

Avatar von Olli

Im MAX3232 Datenblatt steht übrigens das in meinem Spannungsbereich sehr wohl 330nF genommen werden muessen

http://datasheets.maxim-ic.com/en/ds/MAX3222-MAX3241.pdf
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
217
06.05.2012, 13:41 Uhr
Micha

Avatar von Micha

Hast recht, ich hatte im Datenblatt nur auf die Kapitelüberschrift und nicht in Tabelle 2 geschaut *schäm*

Praktisch tut es mein mit 100nF bestückter MAX3232 bei 5V dennoch klaglos, allerdings hab ich da anwendungsbedingt nur mit lahmen 9600 Baud zu tun.

Wegen Thema SD-Card hatte ich auch ewig nach geeigneten Pegelwandlern Ausschau gehalten, nachdem ich jetzt gesehen hab dass die Euzebox auch mit Widerständen läuft hab ich die Suche abgebrochen und auch so gebaut.

Dieser Beitrag wurde am 06.05.2012 um 13:41 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
218
06.05.2012, 20:28 Uhr
Olli

Avatar von Olli

So... neue Version - wieder mit Widerstaenden - und diesmal mit Quarz.

http://pofo.de/tmp/P8000_WDC_SDCard.pdf

Somit muesste ich dann ordern:

- Bauteile vom Schaltplan
- AVR Dragon
- ZIFF-Sockel für den Dragon

- Header + Kabel für den Dragon habe ich noch
- SD-Card-Slot baue ich mir aus nem alten Floppy-Kabel


Was vergessen?


Edit: habe einen LM317 als Spannungswandler eingesetzt... davon habe ich noch einen rumliegen, er waere in der Neubeschaffung weit billiger als ein LM3940 und vom Strom her reicht der auch...
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 06.05.2012 um 20:59 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
219
06.05.2012, 21:06 Uhr
holm

Avatar von holm

Du brauchst keinen ZIFF Sockel für den Dragon, Du mußt das Ding da nicht drauf stecken.
Du kannst den Atmel entweder mit der ISP Schnittstelle oder mit JTAG Programmieren, d.h. da geht ein Kabel vom Dragon zur Schaltung auf einen entweder 6 oder 10 poligen Pfostenstecker den Du da bitte anbringst:


Quellcode:
ISP
1 MISO
2 VCC
3 SCK
4 MOSI
5 RESET
6 GND

JTAG

1 TCK
2 GND
3 TDO
4 VTref
5 TMS
6 nSRST
7 Vsupply
8 nTRST
9 TDI
10 GND


Ich habe übrigens noch eine Halbe Kiste mit B3170, den Rest hatte ich schon verschenkt.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 06.05.2012 um 21:07 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
220
06.05.2012, 21:31 Uhr
Olli

Avatar von Olli

Ich wollte mir den JTAG sparen... ich brauch ja am Ende die 2 Ports. - den 1. für 8 Bit Daten und den 2. Port für die Steuerbits. Dann hab ich SPI am anderen Port und RS232 am 4. Port... bleiben also nur der Port wo u.a.. JTAG mit drauf haengt....
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 06.05.2012 um 21:47 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
221
06.05.2012, 22:39 Uhr
holm

Avatar von holm

Du bist aber nicht gezwungen gleichzeitig zu programmieren und das Programm laufen zu lassen, Du solltest nur darauf achten, dass Dir die ISP Programmiererei nichts auf der SD card löscht.
Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
222
09.05.2012, 20:01 Uhr
Olli

Avatar von Olli

So... alles bestellt heute - ab nexte Woche habe ich Urlaub und ab Mitte der Woche auch zu hause....
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
223
09.05.2012, 21:11 Uhr
Patrick S.

Avatar von Patrick S.

Bevor ich ein neues Thema beginne, hake ich mich lieber hier noch einmal ein.
Verstehe ich das richtig, dass es hier darum geht, einen Controller + Laufwerk nachzubilden?

Ich mache mir seit geraumer Zeit schon Gedanken darüber,
eine MFM-Festplatte durch eine SD-Karte zu ersetzen.

Vor ein paar Tagen habe ich dann jegliche Überlegungen zum Thema FAT auf der SD-Karte verworfen.

Sollte zum Gedankenaustausch ein neues Thema gewählt werden, oder passt das durchaus hier hin?
--
"Das gute an Standards ist, dass es so viele davon gibt."
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
224
09.05.2012, 22:06 Uhr
Olli

Avatar von Olli

Mach lieber ein neues... eine MFM Festplatte durch eine SD-Card abzuloesen - sprich "zu emulieren" - ist eine ganz andere Gewichtsklasse....
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 09.05.2012 um 22:06 Uhr von Olli editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
225
09.05.2012, 22:09 Uhr
Patrick S.

Avatar von Patrick S.

Aye, geht klar.
Ich werde es mir aber noch einmal überlegen, ich habe immer nur von Ansätzen gelesen und als dann von FPGAs gesprochen wurde, war das als Hobbythema durch.

Ich habe ein paar Ideen, aber vielleicht sollte ich noch einmal darüber nachdenken.
--
"Das gute an Standards ist, dass es so viele davon gibt."
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
226
09.05.2012, 22:59 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
Patrick S. schrieb
Ich mache mir seit geraumer Zeit schon Gedanken darüber,
eine MFM-Festplatte durch eine SD-Karte zu ersetzen.

Ich halte das für eine gute Idee, denn die Lösung würde sich rechnerübergreifend einsetzen lassen.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
227
10.05.2012, 07:02 Uhr
holm

Avatar von holm

Die Lösung gibt es aber nicht.
Bei Microcontroller Net habe ich mal über ein Projekt gelesen, das eine Floppy auf diese Weise emulierte, als hinter dem Controller. Man muß dort den MFM Datenstrom wegfangen decodieren und auf die SD Card umrubeln. Die Jungs haben das wohl durchgezogen..
Bei einer Platte wird es etwas schärfer, nicht 500K/s oder 1MB/s wie bei Floppies sondern gleich mehr als 5MB/sec. währen umzusetzen. Das Benötigt etwas Rechnleistung...
Die Sache bleibt so lange "easy" so lange man ein digitales Interface zu einem Controller nachbilden kann, aber der MFM Datenstrom ist als Analogsignal zu behandeln. Man kann da auch nicht einfach ein Wait einsetzen wenn man Zeit braucht.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
228
10.05.2012, 07:32 Uhr
runni



http://www.pdp11gy.com/MFM-D.html

Gruß,
Ralf N.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
229
10.05.2012, 07:51 Uhr
Olli

Avatar von Olli

Bitte nicht meinen Thread hijacken

Macht doch bitte einfach einen neuen "ich haette so gerne einen MFM Emulator" Thread auf
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
230
10.05.2012, 07:56 Uhr
Patrick S.

Avatar von Patrick S.

Genau das ist auch der Stand meiner Kenntnisse.
Ich wandere hiermit jetzt wirklich in einen neuen Thread.
Da schreibe ich dann auch was zu meinen Ideen.
--
"Das gute an Standards ist, dass es so viele davon gibt."
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek