Robotrontechnik-Forum

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

Robotrontechnik-Forum » Technische Diskussionen » GIDE, was macht der da? » Themenansicht

Autor Thread - Seiten: -1-
000
17.06.2008, 11:29 Uhr
holm

Avatar von holm

Ich habe mir nun auf Empfehlung dieses GIDE Projekt angesehen und wollte auch per Mail so ein Board bestellen, Fehlanzeige, der Host in der Mailadresse ist nicht mehr bekannt, egal..

Ich habe mir ein Stück Universalleiterplatte gegriffen, die olle GAL Promer Software
auf eine DOS Bootdiskette gepielt und Jede Menge Kupferlackdraht verlötet. 2 74F646 fanden sich auch noch, bin fast fertig. ABER:

Was macht Tillmann Reh da mit dem CPU /READ Signal? Wenn es nach Ihm gänge, sollte ich die CPU von der K2526 löten und das Board dort Huckepack drauf basteln...-> ausgeschlossen. Erstens gibts da noch die DMA CPU und zweitens habe ich nicht wirklich Lust mich in die Umschaltmimik der beiden CPUs einzumischen.
Ich muß mir also einen Kopf machen was Tilmann damit eigentlich erreichen wollte und warum...

Die zugehöhrige logische Gleichung aus den GAL Files ist wie folgt:

RDQ = RD * /SELQ

D.h. solange /SELQ (das Selekt Signal der Karte) nicht aktiv ist, entspricht der READ
Ausgang dem Eingangssignal.

/SELQ sieht so aus:

sel = (a4*ja4+/a4*/ja4)*(a5*ja5+/a5*/ja5)
*(a6*ja6+/a6*/ja6)*(a7*ja7+/a7*/ja7) ; address comparator

.. soweit ok, sel wird aktiv wenn die Kartenadresse ausgewählt ist..

selq = sel * iorq * (a3+a2) ; interface access x4..xF

... und da das ein Ein- Ausgabe Gerät ist wird es mit IORQ verknüpft, A3 und A2 müssen zusätzlich 1 sein.

Es scheint, das Tillmann verhindern möchte, das sich ein Gerät aus dem restlichen Rechner auf dem BUS meldet und seine Treiber niederohmig schaltet, bzw. das er verhindern möchte das im Gerät installierte Bustreiber aktiv werden wenn von der GIDE gelesen wird, er hängt ja mit dem Teil direkt an der CPU.

Genau das sollte aber eigentlich in einem K1520 System nicht notwendig sein, weil ja die Adressen ausdekodiert sind und ich möchte das Teil ja auch nicht auf die CPU Platine kleben sondern hinten an den Systembus.

Gehe ich also Recht in der Annahme, daß ich dieses maskierte RDQ signal einfach ignorieren kann?

Hier nochmal die Links auf die entsprechenden Webseiten:

http://www.gaby.de/gide/
und
http://www.iee.et.tu-dresden.de/~kc-club/gide/gide.html

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 17.06.2008 um 11:31 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
17.06.2008, 11:59 Uhr
AlexHuck




Zitat:
In http://www.gaby.de/gide/GIDE.txt steht geschrieben:

2.4 If the host computer uses a DMA chip...

... then this might cause a signal collision when the DMA chip becomes
active. The masked read signal output /RDQ is not disabled during DMA
cycles, so the DMA will "fight" against the GAL output (and normally
will be the weaker one). In most cases, the problem can be solved by
changing the position of solder jumper J3 as described above. If the
interface board is plugged in directly, the trace which leads to pin
21 of the host socket must be cut and that pin connected to the CPU
signal /RD directly.

Wenn ich das richtig verstehe, brauchst Du wegen der DMA-CPU kein RDQ, sondern kannst es ignorieren.
--
Jeder blamiert sich, so gut er kann.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
17.06.2008, 21:19 Uhr
Enrico
Default Group and Edit


Also das wundert mich aber, dass es meine Mail-Adresse nicht mehr geben sollte.

Ich habe aber keine mehr, frag mal Frank, er hat noch.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
17.06.2008, 22:58 Uhr
holm

Avatar von holm

nasowas... haste Recht, .ei. statt .et. ...

Naja, Wurscht.

Ergebnisse sind bisher durchwachsen, im Prinzip funktioniert das, ich habe aber mit allen möglichen Platten sporadische Fehler bei test 8 und 9. Möglicherweise liegt das an meinen 74F646 und ich muß 33 Ohm Serienterminatoren einbauen..(Schei**e).

Den GEDE09 Test bekomme ich weder compiliert noch gestartet, augenscheinlich zu wenig TPA... (jedenfalls mit Turbopascal 3.01, gabs da nicht auch eine 3.02A unter CP/M?)


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
004
18.06.2008, 08:42 Uhr
Ralph



@holm... das GIDE sollte doch auf die K2526 passen wenn Du den Sockel für die CPU auf dem GIDE nutzt... bei mir funzt das prima.. zwar mit ner K2521 aber da ist auch nicht viel mehr Platz.. auch die Bauhöhe geht prima.. selbst mit ner angesteckten SSD Disk 312MB !
Alternativ kannst Du ja auch über ein Hosenträgerkabel (aber so kurz wie möglich) das Ding dranschliessen. Geht auch bei mir...

Gruß Ralph
--
Es geht alles erst richtig los !
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
18.06.2008, 09:41 Uhr
holm

Avatar von holm

Ralph das Problem ist die Kommunikation der beiden CPUs bzw. die Umschaltmimik.
Wenn ich eine CPU ersetze (durch verpflanzen auf die GIDE) ist die andere nach wie vor mit ihrem /RD Signal auf der Platine unterwegs ohne das GIDE was davon ahnt.
Da währe also zusätzliches Gefitze notwendig, will ich nicht.
Das Ding muß auch als blanke Interface Karte funktionieren ohne eine darauf sitzende CPU. Die GIDE ist wohl gemacht worden wie sie ist um sie auf möglichst vielen, auch Einplatinenrechnern einsetzen zu können..
Das Problem das ich jetzt habe ist nichts Prinzipielles, ich denke ich habe störungen auf dem IDE Bus weil die Kabeltreiber (74F646) viel zu schnell sind. die haben eine Propagation Delay um die 8ns, und kräftige Treiber was wohl zu Refelxionen führt.
Ich werde mal ein paar 22 Ohm Widerstandsarrays dazwischenfrickeln.

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
006
18.06.2008, 11:34 Uhr
Ralph



@holm.. ja Widerstände könnten was ausmachen.. ich hab ähnliche Probleme 3x mit SRAM Speicher (12ns) gehabt und mit den Widerständen stets gelöst...

Wegen dem /RD kann ich nicht so recht verstehen... wenn ichs richtig verstanden hab, müssten ja beide CPU dann ihre RD Signale aufeinanderloslassen... wird aber ganz sicher nicht so sein, sondern über BUSRQ gelöst...
Das GIDE verhält sich doch komplett wie eine eigene CPU....(nur paar IO Adressen werden belegt).. und damit sollte es auch gehen...

Gruß Ralph
--
Es geht alles erst richtig los !
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
18.06.2008, 17:55 Uhr
holm

Avatar von holm

Naja? Sollte doch meine Flickarbeit so ähnlich auch machen, nur das sie sich nicht wie eine CPU sondern wie eine GIDE Minus CPU verhält...?

Wo siehst Du jetzt das Problem?

Ich habe ein Problem mit der "Schweinerei" der Maskierung des RD Signals um Treiberkonflikten aus dem Wege zu gehen, wenn man das maskierte Signal einfach ignoriert verhält sich der Rest wie eine Baugruppe mit Adreßdekoder und ein paar E/A Ports...

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
008
18.06.2008, 18:03 Uhr
Ralph



@holm.. Ich seh eigentlich kein Problem :-) und denke Du hast recht !

Gruß Ralph
--
Es geht alles erst richtig los !
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
18.06.2008, 21:14 Uhr
holm

Avatar von holm

Hmm, die Operation mit den Widerständen hätte ich mir sparen können, der Effekt ist der Selbe.
Mal sehen wo ich nun noch herumdocktorn kann, mal andere GALs nehmen..

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 18.06.2008 um 21:14 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
18.06.2008, 22:09 Uhr
holm

Avatar von holm

Update...

Die Gals haben auch Nichts gebracht aber warscheinlich sind einfach meine an den Systembus gewickelten Strippen zu lang!

Ich habe ca. 8cm Wickeldraht zwischen der Busrückverdrahtung und meiner "Controller"
Platine. Ich habe jetzt an das Gehäuse 3 Blätter Papier angelegt, die Platine mit den Kabel senkgerecht da drangestellt und die zu testende Platte dagegen damit der Quark stehen bleibt. Und??

Es fungeniert :-)

Nach der endgültigen Montage an der Seite des Einschubgehäuses werden die Strippen nochmal kürzer.
BTW: wo gibts Wickeldraht? Meine Bestände sind fast völlig aufgebraucht...

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
011
18.06.2008, 22:22 Uhr
ggrohmann



Hallo Holm!

Hast ne Mail von mir.

Guido
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
18.06.2008, 22:25 Uhr
holm

Avatar von holm

Hast ne Antwort von mir :-))
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
013
18.06.2008, 22:43 Uhr
holm

Avatar von holm

...Plattentest läuft immernoch ohne Fehler.
Die Pladde hat 903 Zylinder, 8 Heads und 46 Sektoren, wir sind jetzt schon bei Zylinder Nr. 9, Hd 5, sec 16.....


Gruß,

Holm

... pure Performance...
--
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
014
18.06.2008, 22:57 Uhr
Enrico
Default Group and Edit


Wickeldraht, bzw. Fädeldraht gibts beim Reichelt. auch gleich die passenden Fädelstifte bzw. Kämme. Ansonsten nimms Du ganz normalen Draht für Trafos.
CuL mit Polyurethanlack hast Du doch bestimmt
--
MFG
Enrico

Dieser Beitrag wurde am 18.06.2008 um 23:01 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
18.06.2008, 23:02 Uhr
holm

Avatar von holm

Nein Enrico. Ich meine plastikisolierten Draht für die Wickelbrücken, sowas was danach in die Wickelnadel paßt :-)
Das was ich da zusammengelötet habe ist Kupferlackdraht auf einer Universalplatine,
so habe ich schon zu DDR Zeiten 64K Dram für K1520 aus 32 U256 zusammengelötet
und es hat funktioniert :-) Speicherkarten für den Heimbedarf gabs nicht an jeder Straßenecke...

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
016
18.06.2008, 23:08 Uhr
Enrico
Default Group and Edit


Klar, richtig. Weis ich dann aber nicht. Bei Ebay gibt es ab und zu Teflon isolierten Draht für teuer Geld. Oder ganz normalen?
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
18.06.2008, 23:22 Uhr
holm

Avatar von holm

...normalen. Nur der CU Durchmesser ist relevant, ich werde mal messen und bei Angelika gucken..

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
018
19.06.2008, 00:05 Uhr
paulotto



bei Farnell gibt es eine Unmenge unterschiedlichsten Draht und da sollte auch Wickeldraht mit entsprechendem Durchmesser dabei sein.

Gruß

Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
19.06.2008, 12:12 Uhr
Enrico
Default Group and Edit


@Holm,


mir ist gerade eingefallen, warum Tilmann das RD (warscheinlich) maskiert hatte. Viele Z80 Rechner habe direkt hinter der CPU Treiber zu sitzen. Richtugnsumschaltung per /RD. Da das GIDE nun zwischen Bus und CPU sitzt, würde /RD an die Treiber gehen, welche bei Zugriff aufs GIDE auch durchschalten. Macht also Datensalat.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
19.06.2008, 15:56 Uhr
holm

Avatar von holm

Guten Morgen Enrico....

Das ist doch meine Rede seit 1870 :-)

ich zitiere mich mal selbst:

Zitat:
Es scheint, das Tillmann verhindern möchte, das sich ein Gerät aus dem restlichen Rechner auf dem BUS meldet und seine Treiber niederohmig schaltet, bzw. das er verhindern möchte das im Gerät installierte Bustreiber aktiv werden wenn von der GIDE gelesen wird, er hängt ja mit dem Teil direkt an der CPU.

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
021
19.06.2008, 16:07 Uhr
holm

Avatar von holm

Update:

Tillmann hat mir geantwortet ujnd meinen Verdacht bestätigt.
Außerdem hat er sich gefreut das er mal wieder was von mit hört :-)

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
022
19.06.2008, 19:12 Uhr
Enrico
Default Group and Edit


Ja, stimmt. Per Modem (bin nicht zu Hause) hatte ich das nicht gelesen.

Tatsächlich? Macht er auch schon was mit Röhren?
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
21.06.2008, 12:26 Uhr
holm

Avatar von holm

... hat er mir nicht erzählt, nur das er auch noch solch ein Zeuch herumliegen hat aber aus Zeitgründen nicht dazu kommt..
Insofern ist er absolut kein Sonderfall...

Wieso spielst Du auf die Röhren an?

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
024
21.06.2008, 17:55 Uhr
Enrico
Default Group and Edit


Nur so. Ich dachte das wäre auch so ein Thema gewesen.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
025
04.12.2008, 21:40 Uhr
Heiko_P




Zitat:
holm schrieb
Update...

Die Gals haben auch Nichts gebracht aber warscheinlich sind einfach meine an den Systembus gewickelten Strippen zu lang!

Ich habe ca. 8cm Wickeldraht zwischen der Busrückverdrahtung und meiner "Controller"
Platine. Ich habe jetzt an das Gehäuse 3 Blätter Papier angelegt, die Platine mit den Kabel senkgerecht da drangestellt und die zu testende Platte dagegen damit der Quark stehen bleibt. Und??

Es fungeniert :-)

Nach der endgültigen Montage an der Seite des Einschubgehäuses werden die Strippen nochmal kürzer.

...


Wie lang dürfen die "Strippen" denn sein zwischen Rückverdrahtung und GIDE-Modul? Ich hab meins auch an den Systembus gehängt und habe offenbar ähnliche Probleme... Oder helfen hier evtl. Widerstände in den Adress- bzw. Datenleitungen?

mfg

Heiko
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