Hallo Leute Weis von euch jemand, wie ein IEC-Bus Expander aufgebaut ist? Ich habe das Problem, das ich an einen IEC-Bus mittlerweile 21 Geräte anschließen will. Der IEC-Bus kann zwar 30 Geräte adressieren, aber von der Treiberleistung ist der IEC-Bus nur für maximal 16 Geräte ausgelegt. Ich würde gerne nach der Strecke , mit 15 Geräten am Bus einen Expander zum treiben weitere Geräte einsetzen, welcher natürlich Daten in beiden Richtungen übertragen können muss. Es nützt auch nichts, wenn ich den Controller im PC mit stärkeren Treibern versehen würde, es müssten alle angeschlossene Geräte verstärkte Treiber haben, das der IEC Bus ein Parallelbus mit 8 Datenleitungen 3 Handshakeleitungen und 5 Statusleitungen ist, welche in beiden Richtungen betrieben wird. Ich würde mir gerne einen hardwaremäßig realisierten Expander bauen. Kann mir jemand sagen, wie ich auf dem Hardwarebus rauscodieren kann, in welcher Richtung der Datenfluss gerade läuft? Ich muss ja den Bustreiber die Richtung umschalten. Hat jemand sowas schon mal gebaut? Oder kann mir jemand sagen, wo man solch ein Busexpander preisgünstig erstehen kann. Ralph Berres
http://www.ni.com/white-paper/3338/en/ Für den GPIB-100A: http://download.ni.com/support/gpib/manuals/320063.pdf Schaltung auf Seite 34. Wäre sicher ein schönes Projekt für die alten und verschmäten CPLD/FPGA. An sonsten in der Bucht. Scheint aber gerade ein Preishoch für funktionierende Expander zu sein. Wie wäre eine zweite Karte im PC?
Sorry, von dem brauchst Du 2. Wegen serieller Übertragung. Richtig ist der GPIB-120A. Mal den Schaltplan suchen...
hp-freund schrieb: > Wie wäre eine zweite Karte im PC? eine zweite Karte wäre zwar möglich aber nicht ganz so gut, da ich dann die ganzen Programme umschreiben müsste. Die zweite Karte hat ja dann eine andere Kartenadresse, welche im Basicprogramm ja auch angegeben werden muss. Ralph
Vielleicht kannst Du auch aus einem antiken PC mit 2 ISA Karten einen Expander basteln ...
hp-freund schrieb: > Vielleicht kannst Du auch aus einem antiken PC mit 2 ISA Karten einen > Expander basteln ... Fertige Expander kann man übrigens kaufen, für schlappe 1200 Euro und mehr. Aber das ist mir zu teuer. Ich wollte eigentlich eine hardwaremäßige Lösung bauen, ganz einfach ohne PC oder Microcontroller. Einfach ein Gerät was die Information 1:1 in beiden Richtungen durch gibt. Also so eine Art bidirektionalen Treiber ala 74245. Was mich halt interessiert, woran kann ich an Hand der Handshake oder Statussignale erkennen in welche Richtung jetzt Daten geschickt werden? ATN IFC und REN gehen ja offensichtlich immer vom Controller ( also PC ) aus. Aber wie erkenne ich ob der Controller als Hörer oder als Sprecher fungiert? Wie erkenne ich ob ein Gerät als Hörer oder Sprecher fungiert. Zu gut Deutsch wie erkenne ich ob ich den Expander in Richtung angeschlossenes Gerät Daten übertrage oder vom angeschlossenen Gerät in Richtung PC? Vielleicht meldet sich ja hier jemand mal zur Wort, der mir dazu was schreiben kann. Ralph Berres
Wir benutzen für jedes uralte GPIB-Gerät einen eigenen USB-GPIB Wandler. Dann hat man auch nicht mehr den Ärger mit den starren Kabeln. Und da die Kabel sehr teuer sind, ist das auch preislich kein großer Unterschied. Die PC-Software muß natürlich angepaßt werden.
Peter Dannegger schrieb: > Und da die Kabel sehr teuer sind, ist das auch preislich kein großer > Unterschied. Das mit den Kabeln ist für mich kein Problem. Ich habe selten mehr als 10 Euro / Kabel bezahlt Ebay halt. Und IEC-Bus Kabel habe ich wirklich reichlich. Daran mangelt es nicht. Das umschreiben der Software ist dann schon eher das Problem, was ich tunlichst vermeiden will, sonst hätte ich einfach eine zweite IEC-Bus Karte in den Rechner stöpseln können. Die ist nämlich vorhanden. Aber gibt es denn wirklich niemand hier, der sich mit dem Protokoll des IEC-Bus wirklich auskennt, und mir Fragen beantworten könnte? Ralph Berres
Ralph Berres schrieb: > Aber gibt es denn wirklich niemand hier, der sich mit dem Protokoll des > IEC-Bus wirklich auskennt, und mir Fragen beantworten könnte? Entschuldige mal, sich an so alte Sachen zu erinnern ist auch Arbeit und ohne was nachzusehen geht es meistens auch nicht. Wenn du dein Geld damit verdienst, dann ist das deine Sache, aber deswegen kannst du hier nicht die Arbeit andrer einfach so anfordern. Nur ganz kurz: es gibt auf diesem Bus kein Signal, das dir sagt, woher und wohin die Daten übertragen werden. Das hängt davon ab, welches Gerät VORHER vom Controller als Talker und welches als Listener bestimmt wurde, da müsste ein Expander also mithören und es sich merken. Deine Vorstellung eines ICs wie 74245 liegt Lichtjahre neben der Sache. Georg
Georg schrieb: > Entschuldige mal, sich an so alte Sachen zu erinnern ist auch Arbeit und > ohne was nachzusehen geht es meistens auch nicht. Es sollte ja auch kein antreiben in dem Sinne " ich brauche die Antwort schon gestern " sein. Georg schrieb: > Wenn du dein Geld > damit verdienst, dann ist das deine Sache, aber deswegen kannst du hier > nicht die Arbeit andrer einfach so anfordern. Geld verdiene ich damit keines. Es ist eben Hobby. Georg schrieb: > Nur ganz kurz: es gibt auf diesem Bus kein Signal, das dir sagt, woher > und wohin die Daten übertragen werden. Das hängt davon ab, welches Gerät > VORHER vom Controller als Talker und welches als Listener bestimmt > wurde, Wie ist das? kann man mit dem DAV irgendwie ableiten in welche Richtung es geht? Wenn ich das richtig verstanden habe sendet doch immer der Sprecher das DAV Signal? Könnte man nicht dann mit dem DAV Signal ein Flip-Flop setzen, welches die Richtung speichert? Auch wenn das DAV erst kommt, wenn NDAC und RFD nicht aktiv sind ?. Oder bin ich auch hier auf dem Holzweg? Das ATN REN und IFC wird man doch nicht dafür verwenden können, da es ausschließlich vom Controller gesetzt wird. Sehe ich das richtig so? Ralph Berres
Sieh dir den link oben vom GPIB-100A an. Schaltplan und Theory of Operation zeigen dir fast alles. Eigentlich brauchst Du den Schaltplan vom GPIB-120A/B. Konnte ich aber nicht finden :( Wenn Du dessen Manual ansiehst wirst Du vieles aus der Schaltung vom 100A finden. Das Ganze zwei mal aufgebaut und Du musst die Signale "nur noch" sinnvoll verknüpfen. Georg schrieb: > Deine > Vorstellung eines ICs wie 74245 liegt Lichtjahre neben der Sache. Sehe ich auch so.
Ralph Berres schrieb: > Kann mir jemand sagen, wie ich auf dem Hardwarebus rauscodieren kann, in > welcher Richtung der Datenfluss gerade läuft? Irgendwie habe ich dunkel in Erinnerung, das eine der Statusleitungen die Richtung angibt. Du müsstest Dir mal die Spezifikationen in der "IEC-Bus-Norm" genauer ansehen. Gruss Harald
Zur Zeit sind etliche ISA Karten bei Ebay im Angebot, da sitzen die richtigen Treiber ICS drauf. Wenn die angeschlossenen Geräte nur als Slaves arbeiten wäre folgendes vielleicht denkbar: Einen 2. Satz Treiber mit eigenem Busstecker Huckepack auf deine Platine setzen und dazu noch ein CPLD das die GPIB Adressen dekodiert und die beiden Treibersätze entsprechen umschaltet.
Harald Wilhelms schrieb: > Irgendwie habe ich dunkel in Erinnerung, das eine der Statusleitungen > die Richtung angibt. Welche Leitung soll denn das sein? Hans-Georg Lehnard schrieb: > Wenn die angeschlossenen Geräte nur als Slaves arbeiten wäre folgendes > vielleicht denkbar: Controller wird definitiv nur der PC sein. Aber alle angeschlossene Geräte sind sowohl Hörer als auch Sprecher. Hans-Georg Lehnard schrieb: > Einen 2. Satz Treiber mit eigenem Busstecker Huckepack auf deine Platine > setzen und dazu noch ein CPLD das die GPIB Adressen dekodiert und die > beiden Treibersätze entsprechen umschaltet. Außer der PC-Karte müssten die ganzen Geräte dann auch mit stärkeren Treiber versehen werden. Genügend Adressen kann ich ja verwalten. Das ist nicht das Problem. Ich glaube ich muss mit dem Logikanalyzer mal Bit-Wuselei betreiben. Vielleicht komme ich ja noch selbst dahinter. Ralph Berres
Ralph Berres schrieb: >> Irgendwie habe ich dunkel in Erinnerung, das eine der Statusleitungen >> die Richtung angibt. > > Welche Leitung soll denn das sein? Das letzte Mal, das ich mit IEC gearbeitet habe, ist über 25 Jahre her. Ich müsste mich erst wieder neu in die Spezifikationen einarbeiten. Gruss Harald
Ralph Berres schrieb: > Hans-Georg Lehnard schrieb: >> Wenn die angeschlossenen Geräte nur als Slaves arbeiten wäre folgendes >> vielleicht denkbar: > > Controller wird definitiv nur der PC sein. Aber alle angeschlossene > Geräte sind sowohl Hörer als auch Sprecher. > Dann wird das CPLD vielleicht zu einem Virtex ;) > Hans-Georg Lehnard schrieb: >> Einen 2. Satz Treiber mit eigenem Busstecker Huckepack auf deine Platine >> setzen und dazu noch ein CPLD das die GPIB Adressen dekodiert und die >> beiden Treibersätze entsprechen umschaltet. > > Außer der PC-Karte müssten die ganzen Geräte dann auch mit stärkeren > Treiber versehen werden. > Nein, denn du hättest ja dann 2 Busabschnitte mit jeweils 15 Geräten und dafür reichen ja die Treiber. Nochmal zum Verständnis .. Hardware: Bus1 -> Treiber1 -> CPLD -> GPIB Controller Chip auf der Karte. Bus2 -> Treiber2 -> CPLD -> GPIB Controller Chip auf der Karte. A.) PC <-> Gerät CPLD dekodiert irgenwie die GPIB Adresse und aktiviert Bus 1 oder 2 B.) Gerät Bus1 <-> Gerät Bus1 oder Gerät Bus2 <-> Gerät Bus2 CPLD ist inaktiv C.) Gerät Bus 1 <-> Gerät Bus2 CPLD schaltet Treiber 1 und 2 zu einem gemeinsamen (virtuellen) Bus zusammen. Muss man sich halt mal genau durchdenken .. Aber morgen ist ja auch noch ein Tag ;)
>Kann mir jemand sagen, wie ich auf dem Hardwarebus rauscodieren kann, in >welcher Richtung der Datenfluss gerade läuft? Ich muss ja den Bustreiber >die Richtung umschalten. Was nützt das? Dann kommen weitere 100 Fragen. Ohne die genaue Spezif. anzusehen, kannst du's vergessen. >> Irgendwie habe ich dunkel in Erinnerung, das eine der Statusleitungen >> die Richtung angibt. > Welche Leitung soll denn das sein? Die Leitung ATN zeigt Befehle/Daten an, aber nicht die Richtung der Daten. >Deine Vorstellung eines ICs wie 74245 liegt Lichtjahre neben der Sache. Mit Ausnahme der Tatsache, dass er einen '245 schon (irgentwie) dabei verwenden kann
MCUA schrieb: > Was nützt das? Dann kommen weitere 100 Fragen. > Ohne die genaue Spezif. anzusehen, kannst du's vergessen. Gut dann frage ich anders Wird das NDAV Signal ausschließlich vom Sprecher gesetzt? Wenn dem so wäre, käme ich schon ein deutliches Stück weiter. Da ja immer nur ein Sprecher am Bus sein kann, und auch muss, müsste man damit doch feststellen können, ob ich links oder rechts vom Expander ein Sprecher aktiv ist, und damit einen R-S Flipflop als Richtungsspeicher setzen können, mit denen man die Richtung umschaltet? Dann könnte das doch ein Entscheidungsmerkmal sein, wenn ich links und rechts vom ( noch zu bauenden ) Expander jeweils einen IEC-Bus habe? Ich habe mich tagelang mit dem Buch von dem Piotrowski auseinander gesetzt. Darin glaube ich auch herausgelesen zu haben, das ATN, IFC und REN ausschließlich vom Controller gesetzt werden darf. Somit wären diese schon mal außen vor. Man könnte das allerdings eventuell als Richtungsentscheidung für genau diese 3 Signale nehmen, dann könnte sogar an beiden Seiten der Controller angeschlossen sein. Ich frage ja deswegen, weil ich hoffe, das jemand hier im Forum den Bus sehr gut kennt, und besser kennt als ich. Ich verlange ja nicht, das mir jemand so ein Teil baut. Ich weis der Bus ist uralt, und von den Hobbyisten verwendet den kaum jemanden, weil sowohl Buskarte als auch Kabel sehr teuer sind. Aber ich verwende ihn eigentlich sehr gerne, und habe auch gute Erfahrungen gemacht, weil unkomplizierter zu handhaben, als RS232. Außerdem haben die meisten alten Geräte nur den IEC-Bus. Ralph Berres
Ich denke nicht das Du das wirklich verstehen willst. Mehrfach habe ich auf die Manuals und die "Theory of operation" hingewiesen. Darin ist erklärt welch FF zu welchen Bedingungen gesetzt werden und was dann in welche Richtung passiert. Viel Spass beim weitersuchen. Bin weg.
hp-freund schrieb: > Ich denke nicht das Du das wirklich verstehen willst. > Mehrfach habe ich auf die Manuals und die "Theory of operation" > hingewiesen. Wann? wo? Die einzige Literatur die ich besitze und wochenlang studiert habe ist das Buch IEC-Bus von Petrokowski. Und das ist schon fast 300 Seiten dick. Da ist unter anderem sehr genau beschrieben wie das Handshake funktioniert, jedoch für mich mitunter schwer zu durchschauen. Wenn ich die Antwort zuverlässig aus dem Buch ableiten könnte, würde ich nicht fragen. Ich finde es aber schade, das man mir unterstellt, ich hätte nicht schon selbst recherchiert und mir einfach als Antwort gibt, " Kaufe dir ein Buch und lese es nach." Ich habe ja eine Vermutung geäußert ( DAV ? ) und zum Schluss lediglich gefragt, ob ich hier auf dem Holzweg bin ( am besten mit Begründung und Erklärung warum ich dann falsch liege ). Ralph Berres
Hallo Ralph, es ist ein Bi-Directonal Multi-Master Bus. Und wie willst du da mit einer Hardware Leitung festegen, das Device 17 der Talker und die Devices 8,2,5 usw. die Listener sind ? Der Chef (=Master oder Controller) schickt Nachrichten über den Bus, wer Talker und wer Listener ist. Damit wissen alle Teilnehmer, ob sie passiv, Sender oder Empfänger sind. Mit DAV signalisiert der Talker, das die Daten auf dem Bus valide sind. Vielleicht auch mal in die Datenblätter von GPIB Controller schauen ...
Hans-Georg Lehnard schrieb: > es ist ein Bi-Directonal Multi-Master Bus. Ist mir bekannt. Hans-Georg Lehnard schrieb: > Und wie willst du da mit einer Hardware Leitung festegen, das Device 17 > der Talker und die Devices 8,2,5 usw. die Listener sind ? Das will ich nicht festlegen, das legt der Controller ( also in normalen Falle der PC ) fest. Ich will einfach nur wissen, ob sich links oder rechts von meinem Expander ( also Bus 1 oder Bus 2 ) ein Talker befindet. Der Controller könnte seine Funktion zwar einem anderen Gerät übergeben ( z.B. an den Oszi, der direkt an den Drucker senden soll ), aber das müsste man mit dem ATN rausbekommen. Dieser Fall kommt aber bei mir ohnehin nicht vor. Hans-Georg Lehnard schrieb: > Mit DAV signalisiert der Talker, das die Daten auf dem Bus valide sind. Aha dachte ich mir es . Also kann nur der Talker und auch nur 1 Talker das DAV setzen, und muss es sogar, sonst wäre der Bus inaktiv ? Wenn dem so ist dann muss ich doch nur schauen, auf welcher Seite es gesetzt wurde? Hans-Georg Lehnard schrieb: > Vielleicht auch mal in die Datenblätter von GPIB Controller schauen ... Auch das habe ich getan , hilft mir aber nicht mit vollständiger Sicherheit weiter. Im übrigen scheint es so zu sein, das zumindest die 3 Handshakeleitungen DAV NDAC und RFD ein Open Kollektor Treiber notwendig ist, da verdrahtetes Und Gatter. Somit sind für diese 3 Leitungen der 74245 schon mal außen vor. Da ich in Software nicht sonderlich fit bin ( sondern eher ein Dau ) frage ich hier in dem Forum ob meine Annahme richtig ist. Oder gehört das schon zum schlechten Ton. Ralph Berres
Ralph Berres schrieb: > Da ich in Software nicht sonderlich fit bin Du wirst imho nicht umhin kommen, dass dein Expander das Protokoll analysiert, um zu entscheiden, wer in welche Richtung sendet. Das kannst du natürlich mit einem großen Haufen TTL Schaltkreise machen. Aber sinnvoller dürfte der Einsatz eines kleinen Prozessors sein. Und dazu brauchst du Software. Die wirst du selbst machen müssen, weil wohl niemand sonst deine Hardware hat und deine genauen Anforderungen kennt.
DAV signalisiert den Listerner das die Daten valide auf dem Bus liegen und übernommen werden können. Da müssen die Treiber schon längst umgeschaltet haben. Du musst die Nachricht vom Controller, mit der er die Adresse des Talkers bekannt gibt benutzen. Das wirst du ohne CPLD nicht auf die Reihe bekommen. Teile einfach deine Geräte in 2 Gruppen wo nichts von einer Gruppe zur anderen gesendet werden muss und kauf dir einen GPIB Umschalter. Die sind ähnlich wie die Druckerumschalter aufgebaut.
Georg G. schrieb: > Ralph Berres schrieb: >> Da ich in Software nicht sonderlich fit bin > > Du wirst imho nicht umhin kommen, dass dein Expander das Protokoll > analysiert, um zu entscheiden, wer in welche Richtung sendet. Das kannst > du natürlich mit einem großen Haufen TTL Schaltkreise machen. Aber > sinnvoller dürfte der Einsatz eines kleinen Prozessors sein. Und dazu > brauchst du Software. Die wirst du selbst machen müssen, weil wohl > niemand sonst deine Hardware hat und deine genauen Anforderungen kennt. Kleine Prozessoren mit Software sind zu langsam für das Timing vom Bus und TTL Gräber will auch keiner mehr. Ein CPLD oder FPGA wäre da sinnvoller. Aber dann müsste Ralph auch noch VHDL lernen ;)
Ralph Berres schrieb: > Die einzige Literatur die ich besitze und wochenlang studiert habe ist > das Buch IEC-Bus von Petrokowski. Und das ist schon fast 300 Seiten > dick. > > Da ist unter anderem sehr genau beschrieben wie das Handshake > funktioniert, jedoch für mich mitunter schwer zu durchschauen. > > Wenn ich die Antwort zuverlässig aus dem Buch ableiten könnte, würde ich > nicht fragen. Also wenn du solche Sachen nicht aus deiner umfangreichen Literatur ableiten kannst, dann würde ich die 1200 Ocken für ein Fertiggerät dankbar zahlen. > Ich finde es aber schade, das man mir unterstellt, ich hätte nicht schon > selbst recherchiert und mir einfach als Antwort gibt, " Kaufe dir ein > Buch und lese es nach." Nunja, deine Fragen liesen sich dadurch beantworten. Und die Leute die antworten müssen auch erst nachschlagen und fragen sich dann natürlich, warum sie das für dich machen müssen.
Hans-Georg Lehnard schrieb: > DAV signalisiert den Listerner das die Daten valide auf dem Bus liegen > und übernommen werden können. Da müssen die Treiber schon längst > umgeschaltet haben. Warum? Die Daten stehen doch solange an, bis alle Listner mit RFD und NDAC bestätigen das sie die Daten angenommen haben. Erst dann nimmt der Talker das DAV wieder weg. Im worst Case Falle würde das DAV Signal gesetzt, der Expander steht noch in der falschen Richtung und sendet dem Talker , das er die Daten noch nicht empfangen hat. Der DAV setzt jetzt das RS Flipflop, welches den Expander in die richtige Richtung schaltet. Jetzt empfangen die Listner das Signal und melden mit das sie die Daten haben. Oder übersehe ich da etwas? Vermutlich muss ich es doch einfach ausprobieren. Ralph Berres
probiers aus ... Die Treiber sind wahrscheinlich robust genug um Kollisionen kurzfristig zu vertragen. Ich bin halt der Meinung wenn schon, dann richtig ;)
Vielleicht geht es auch einfach zwei TNT4882 (GPIB Asics) von NI zu verbinden (die können Talker und Listener sein). Such mal über Octopart, die Dinger kosten 25$ das Stück.
>Vermutlich muss ich es doch einfach ausprobieren.
Nochmal, ohne Buch (oder entspr Artikel) kommst du nicht weiter
(es sei denn die willst ewig lange probieren).
(die 3 Handshake-Leitungen (auch Timings usw) sind bereits in jeder
Kurzbeschreibung enthalten, nat. kann das nicht mit m '245 gehn (wie
kommt man überhaupt darauf?)
(weiss auch nicht, warum man in so einen alten Schinken noch Aufwand
stekt)
MCUA schrieb: > (die 3 Handshake-Leitungen (auch Timings usw) sind bereits in jeder > Kurzbeschreibung enthalten, Das Handshake habe ich glaube ich verstanden. Danach müsste es gehen. MCUA schrieb: > kann das nicht mit m '245 gehn (wie > kommt man überhaupt darauf?) War eine erste Idee , ich habe aber sehr schnell eingesehen, das es der falsche Baustein ist. Der Treiber muss Open Collektor sein und 48mA treiben können. Da sind die 75160 und 75162 vermutlich die bessere Wahl. MCUA schrieb: > weiss auch nicht, warum man in so einen alten Schinken noch Aufwand > stekt) Naja wenn man einen ganzen Tisch voller Messgeräte hat, welche alle ein IEC-Bus besitzen, aber nur die allerwenigsten einen anderen Bus (RS232 )besitzen, dann ist das der gangbarste und finanziell günstigste Weg. Dieser alte Schinken, wie du es nennst, ist auch heute noch in vielen Messgeräten verbreitet, obwohl es mittlerweile Alternativen wie Lan und USB gibt. Von den beiden Alternativen wäre für mich nur das Lan ein vollwertiger Ersatz, welche aber unter Basic nur umständlich ansprechbar wäre. Es hat halt alles seine Vor und Nachteile. Ralph
Ralph Berres schrieb: > Oder übersehe ich da etwas? schon - erstens muss DAV ja auf beiden Seiten anliegen, und zweitens müsste DAV verzögert werden, da ja die Daten auf der "falschen" Seite sonst nicht bei Setzen von DAV gültig sind. Georg
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.