Hi, ich möchte mir einen GPIB Controller designen. Als Treiber mit kleiner Verarbeitung dachte ich an drei Stück XC9536XL oder 9572XL von Xilinx. Mit drei Pins für eine Leitung kann man die abschaltbaren Pullups realisieren und hat auch genügend Strom für den Bus. Den Datenpfad habe ich 7bittig designt. Das achte Bit braucht man nur, wenn man Binärdaten überetragen will. Das kommt ggf in den Buscontroller. Da ich das Teil für mehre Zweckke brauche und skalibare Designs mag möchte ich für Daten eine Option mit Parallelem Bus und eine mit SPI Schnittstelle. Der Bus-Controller soll optional Device, Controller und Controller in Charge sein. Die Schnittstelle an sich ist sehr simple und mutet irgendwie wie ein Vorgänger von SCSI an. Und, by the way, ist heute immer noch sehr verbreitet. Man findet sie in praktisch jedem Messlabor. Die Geräte sind sehr robust und überdauern Jahrzehnte. Man kann sich öfter auch Geräte aus der Bucht ziehen, die länger gehalten haben als die Firma für die sie gearbeitetet haben. Was mir nicht richtig klar ist, wie die Übergänge von z.B. der Selektionsphase in die Datenphase aussehen. Wer treibt welche Leitung? Auch über Timings schweigt sich praktisch jede Dokumentation aus. Ich stelle hier mal das MC68488 Manual ein, das ich gekauft und gescannt habe. Vielleicht bekommt das jemand noch kleiner bevor man mich dafür haßt. Die original Scans kann ich zusenden falls die jemand braucht. Das sind zwei PDFs. Eins mit den Vorder- und eins mit den Rückseiten. Ich kann auch die original IEEE488.1 einstellen. Muß sie nur vorher von meinem Namen befreien, da ich die gekauft habe. Die IEEE488.2 SCPI Spec findet man überall im Web und den jeweils relevanten Teil in den Manuals der betreffenden Geräte. PS: Bitte keine "GPIB ist nicht mehr zeitgemäß" Kommentare, es sei Denn Ihr wollt mir NXI Equipment schenken.
Im Datenblatt des 9914 ist das Timing und der Ablauf der Kommunikation gut beschrieben: http://www.datasheetarchive.com/dlmain/Datasheets-115/DSAP001905.pdf
> Auch über Timings schweigt sich praktisch jede Dokumentation aus.
Ich bin auch grad an so einem Teil (iteration 3). Ein Mega645 mit ALS160
& ALS162 als Businterface. Die insgesammt erhaeltliche Dokumentation
erscheint vollstaendig. Es gibt da noch ein Buch, Piotrowski, IEC Bus,
von Franzis, das oder aehnlich sollte man auch haben. Dort sind die
Zustaende des Busses beschrieben. Den Datenbus mit nur 7 Bits zu nehmen
ist fahrlaessig. Damit spart man gar nichts und erwartet Aerger.
PS, das 9914 Datenblatt ist wie immer bei den Trittbrettfahrern nicht
vollsatendig.
:
Bearbeitet durch User
Ein Timing ist nahezu unnoetig, denn der Bus ist quasistatisch. Alles ge-handshaked. Es gibt nur einen Stolperstain, wo man einen Zustand verpassen kann... irgendwas mit ATN ... muesst ich aber nachschauen.
Die 7Bit passen genau in einen XC9536XL inkl. Adressvergleicher für TALK/UNTALK bzw. LISTEN/UNLISTEN. Den Teil habe ich fertig. Das achte bit kann man sonstwo hinpacken, da es nicht verarbeitet werden muß. Wichtig ist, daß es die gleiche Impedanz wie die anderen sieben hat. Sonst geht das wirklich in die Hose. Kritisch ist ein ATN nach einer Übertragung, da der Talker die Daten bis nach dem Handshake halten muß, aber der Bus rechtzeitig für den Controller in Charge frei sein muß. Hier habe ich irgendwo etwas von 200ns gelesen IIRC. Sollte aber mit Deinem AVR in Software gehen. Ansonsten kann man da ein Flip-Flop (z.B. 74LVC74) in die Enable frickeln, daß die Treiber automatisch abschaltet sobald das letzte Byte übertragen wurde. Muß ich mir aber noch im Detail ansehen. Als ersten Test wollte ich die zwei CPLDs an ein FTDI Modul hängen und ein bischen Sniffen. Den Logicanalyzer oder das Logicscope anzuschließen war mir bisher zu stressig. Somal man da dann auch Gefahr läuft fremde Fehler zu kopieren. Die eierlegende Wollmilchsau, die am Ende rauskommen soll ist mit SAM3X mit USB, Ethernet und POE geplant. Das Teil einfach hinten dran hängen und über den Switch versorgen. Oder über die USB Buchse. Die Device Variante soll in ein Netzteil. Von Meanwell gibt es ein 300W Teil, das mit dem Schuhlöffel in ein Schroff Interscale Gehäuse paßt. Da habe ich gerade den PIC als LCD Controller fertig und Platinen für einen TI Microcontroller mit High Res PWM schon da liegen. Ich habe vor, das straight forward zu machen. Für jeden Zweck den am besten geeigneten µC einbauen. Die kosten heute nichts mehr. Und aus dem Alter, in dem hunderte Stunden reinsteckt um zehn Euro zu sparen bin ich raus.
Das 68488 Datenblatt scheint das Noetige zu enthalten. Ich habe nur den Anspruch einen Controller zu bauen. Kein Device. Den Controller steckt man hinten auf das Mess- oder Steuergeraet und hat es von den IEEE Fesseln befreit. Und benoetigt keine laestigen IEEE Treiber mehr.
Jetzt Nicht schrieb: > Ich habe nur den > Anspruch einen Controller zu bauen. Kein Device. Den Controller steckt > man hinten auf das Mess- oder Steuergeraet und hat es von den IEEE > Fesseln befreit. Und benoetigt keine laestigen IEEE Treiber mehr. Da kannst Du Dir auch die Bustreiber sparen und direkt mit den Ports das Protokoll ablaufen lassen. 'Füher' reichte ein 6522/6532 dafür - inkl. timeout-Erkennung ;-)
Thomas Rudloff schrieb: > Das achte > bit kann man sonstwo hinpacken, da es nicht verarbeitet werden muß. Parallel Poll-Response 8 verwendet z.B. das 8te Bit. Und dann gibt es außer ASCII Daten ja auch noch Binärdaten welche übertragen werden. Da ist auch 8 Bit angesagt. z.B. Bildschirminhalte. m.n. schrieb: > Da kannst Du Dir auch die Bustreiber sparen und direkt mit den Ports das > Protokoll ablaufen lassen. Das mag gehen, wenn man via IEC-Bus nur ein Gerät anschließen will. Aber der Bus ist für 16 Geräte zu treiben gedacht. Und da muss der Treiber locker 48mA treiben. Die Abschlusswiderstände in den einzelnen Geräten ist auch standarisiert. Ralph Berres
Das ging mir auch schon durch den Kopf. Einen SAM3X mit USB und Ethernet und fertig ist der Lack. Als ersten Proto reicht ein Due und etwas Heißkleber :-) Hier dann noch die 488.1-1987.
Ralph Berres schrieb: > m.n. schrieb: >> Da kannst Du Dir auch die Bustreiber sparen und direkt mit den Ports das >> Protokoll ablaufen lassen. > > Das mag gehen, wenn man via IEC-Bus nur ein Gerät anschließen will. Davon war ja die Rede.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.