TeilC: LokaleBussysteme USB Schnittstelle IEC-Bus IEC 625/IEEE488 05.002.07 Anforderungen: Universal SerialBus(USB) einfacheranschlussvonperipheriegeräten ancomputer; preisgünstig; Datenratenbis12 Megabit/Sekunde; echtzeitfähig; Möglichkeitisochroner(zeitpunktgenauer) Übertragung; ÜbertragunggroßerDatenmengen ohnezeitanforderungen (Drucker,Scanner); Hot-Plugging. 05.016.01 Busstruktur EntwicklerfirmenUSB 1.1: Microsoft: Betriebssystem (Win98,Windows 2000) Intel: Apple: Chips,Hauptplatinen Komplettsysteme (imac,power-mac,..) Seitca.1998istjederPC mitzweiusb-schnittstellen ausgestattet. USB-Ports 05.016.02 DieGeräte bilden eine Baumstruktur: Host Hub freieanschlüsse getrennteadernpaare für Bitrate: nutzbar: Strom: Gerät1 Gerät2 Hub max.127 Geräte Multifunktionsgerät 05.016.03 05/TeilC/Seite 01
Kabel Verbindungsleitungen +5 V Masse D+ D- Preis cadm15,--prometer, ca.10 %Preises füriec-625-kabel Versorgungsspannung Datenleitungen Host oder Hub D+ D- Signal=Spannung zwischend+und D- SignalfolgtNRZI-Codierung Datenleitungen,als Zweipunktverbindung ausgeführt Gerät 05.016.12 05.016.04 Übertragung vonadressinformationen NRZI-Kodierung 111 000000011 0000111 011 01110 10010011 Idle Adressierungder Funktion2desGerätesNr.110: SYNC Kennung "Adresse folgt" Adr.110 DieKodierungderBits erfolgtgemäßnrzi. (Non Return to Zero, Insert). Übertragungszeitfür32 Bit: 2.67µs Gerätefunkt. 2 Zeit CRC 5 05.016.05 Einfache Kodierung: Bit0: Bit1: niedrige Spannung hohe Spannung Problem:konstante Pegel Bit0: Bit1: niedrige Spannung hohe Spannung Beispiel: 101011001 00011110 Beispiel: 111111111 11111111 Zeit Zeit 05.016.13 05/TeilC/Seite 02
NRZI-Kodierung NRZI=NonReturnto Zero,Insert Bit0: Bit1: Insert: Spngspegelwechselt Spngspegelbleibt 111111 wirdzu 1111110 Konstante Pegeltreten nichtmehrauf 11111111111111111 wirdzu 1111110111111011111 Beispiel: 1010110 0100011110 Beispiel: 1111110 111111011... Zeit Zeit 05.016.14 Protokoll Eine Transaktion(Datenaustausch)umfasstbis zu dreipakete(frames). 1. HostadressierteinGerät, nennttypund Richtung desnächsten Transfers. 2. 3. GerätsendetPaketmit Daten,max.1,5kByte. Empfängersendetein Quittierungspaket. Host Host Host Hub Hub Hub Gerät2 Gerät2 Gerät2 05.016.10 Datenraten imvergleich Anwendungin dermessdatenerfassung USB 1.1 COM-PortPC ISDN,2 B-Kanäle Musik-CD 12,0Mbps 0,1 Mbps 0,1 Mbps 1,2 Mbps Vorteile: ohne teuere Schnittstellenkarten einsetzbar; z.t.ohne weiteres Netzteil einsetzbar; IEC-625-Bus Ultra SCSI-3 USB 2 Firewire 8,0 Mbps 160,0Mbps 240,0Mbps 400,0Mbps Verbindungskabelist dünnerund flexibler als z.b.das GPIB-Kabel; mitusb 2sehrhohe Datenraten. Quelle:IOTech 05.016.11 05.016.08 05/TeilC/Seite 03
Übergangerlaubt denanschlussvon IEC-625-Geräten an den USB. Übergang zum IEC-625-Bus IEC-625/IEEE-488Bus VerbindungzwischenComputern,Peripherie-und Messgeräten. 1965durchdieFa.Hewlett-Packardentwickelt. 1975in denusaalsieee-488genormt. 1977weltweitals IEC-625genormt. Weitere gebräuchliche Namen: HP-IB,GPIB. Aktuelle,aufwärtskompatibleWeiterentwicklung: HS488. Quelle: NationalInstruments 05.016.09 05.004.06 Geräteklasssen Buscontroller Klasse Fähigkeit Beispiel Standard-PC mitiec-bus-karte steuertund koordiniertden Busverkehr; kann Daten über den Bussenden und vombus empfangen Talker kanndatenüberden Bus senden kanndatenvombus empfangen Talker/ kanndatenüberden Bus senden und vombus empfangen 05.004.07 05.004.42 05/TeilC/Seite 04
Commodore cbm 8032 Ab1980: PreiswerterComputer, volliec-625 tauglich. 6502/1MHz/32kB Preis ca.dm 4.000,-- Noch heute inlaboren anzutreffen. HochgenauesVoltmeter Talker/ 05.004.02 05.004.10 Talker/ Kombination von Geräten Zähler/Frequenzmeßgerät 05.004.11 05.004.12 05/TeilC/Seite 05
Kombination von Geräten Kombination von Geräten Talker / Talker/ 05.004.43 05.004.13 Kombination von Geräten Buskabelnach IEC-625 Regeln: -genau einen; -maximal15geräte; -Kabellängezw.und 1.Gerät<4m; -Kabellängezwischen zweigeräten<2m; -ÜberbrückunggrößererStreckenmitExtendern; -T-oderSternverkabelung istnichterlaubt. 05.004.14 05.004.15 05/TeilC/Seite 06
Buskabel nach IEEE-488 Pinbelegung undadapter 05.004.16 IEC-625 IEEE-488 05.004.17 Talker/ Messdatenerfassungs-SystemHP34970A Schnittstellenanschlüsse (IEEE-488 und RS 232 C) austauschbare Einschubkarten HP34970A: Geräteaufbau Ein-und Ausgänge dersignale Datenleitungen Steuerleitungen Masseleitungen Alphanummerische Anzeige Tastenfür manuelle Bedienung 05.004.19 05.004.20 05/TeilC/Seite 07
HP34970A: Rückseite HP34970A: Zusammenspiel RS232C Eingänge ext.trigger Computer Schnittstellenkabel Messgerät Messeinschubkarten mitsignalkabeln Ein-undAusgänge dersignale IEEE-488 Schnittstelle 05.004.21 05.004.22 Gleichspannung : 100mV bis 300 V Wechselspannung : 100 mv bis 300 V HP34970A: Messbereiche Auflösung 10nV Auflösung1mV (Auflösung signal-und filterabhängig) Frequenz : 3Hz bis 300 khz Temperatur: -210 C bis 1820 C Speicher: HP34970A: Systemmerkmale NichtflüchtigerSpeicherfür50.000Messwerte einschlzeitmarken Schnittstellen : GPIB,RS-232 bis 115.200Baud EingebauteEchtzeituhr Netzanschluss,keinAkkubetrieb 05.004.23 05.004.24 05/TeilC/Seite 08
Talker/ FunktionsgeneratorHP33120A manuelle Frequenzvorgabe Signalausgang Signalformen: HP33120A: Frequenzbereiche Sinus,Rechteck,Dreieck,Sägezahn Sin(x)/x,Rauschen,EKG,Gleichspannung exponentielleranstieg undabfall beliebige Signalverläufe durchvorgabe derwerte: -Signallänge8bis 16.000 Punkte -Auflösung12bit -Verhältnis max.ampl./min.ampl.72db -Abtastrate 40MSa/s (Mega-Samplespro Sekunde) Bedienfeld,AuswahlderSignalform 05.004.25 05.004.26 HP33120A: Frequenzbereiche Signalformen undbandbreiten Sinus U t 0.1 mhz-15 MHz Buskabel Kombination von Geräten Dreieck Rechteck Sägezahn U U U t t t 0.1 mhz-100 khz 0.1 mhz-15 MHz 0.1 mhz-100 khz Talker / Talker/ 05.004.27 05.004.13 05/TeilC/Seite 09
KlassifizierungderLeitungen Systemstart steuert, Datenbus 8Leitungen DIO1 -DIO8 Übergabesteuerbus 3Leitungen DAV,NRFD,NDAC Schnittstellensteuerbus 5Leitungen ATN, EOI,IFC,REN,SRQ steuert, 1. Selbsttestund EigeninitialisierungallerGeräte. 2. setztifc (InterfaceClear) auftrueund übernimmtdamitdie Bussteuerung. 05.004.28 05.004.29 Systemstart Grundzüge Datenaustausch steuert, 3. Der führt diesysteminitialisierung durch. Einzelschrittesind system-und geräteabhängig. steuert, 1. unterbrichtlaufenden Busverkehr. ErsetztdazuATN auftrue. 05.004.30 05.004.31 05/TeilC/Seite 10
Grundzüge Datenaustausch Grundzüge Datenaustausch steuert, 2. legt Adressedes Hörers aufden Datenbus. ATN bleibtauf TRUE. Adressaufbau: 00101001 Gerät9 steuert, 3. legtadr. dessprechers auf dendatenbus. ATN bleibtauf TRUE. Adressaufbau: Talker 0110 0000 05.004.32 05.004.33 Grundzüge Datenaustausch Grundzüge Datenaustausch steuert, 4. 5. setzt ATN auffalse. Der Talker() beginntmitderdatenübertragung an den(gerät 9). steuert, 6. Geschwindigkeitsabgleichüber Steuerleitungen DAV,NRFD,NDAC für jedes Datenbyte. Datenfließenüber DIO1-DIO8. DIO1-DIO8 05.004.34 05.004.35 05/TeilC/Seite 11
Systemstart-Programmierersicht Systemstart-Programmierersicht Aktion Programmieraufgabe Aktion Programmieraufgabe 1. Selbsttestund Eigeninitialisierung allergeräte. 2. setztifc (Interface Clear) auftrue undübernimmtdamitdie Bussteuerung. Initialisierung der karte mit IEEE488 gbus; gbus.init(); Istingbus.init() enthalten. 3. Der führt diesysteminitialisierung durch. Einzelschrittesind system-und geräteabhängig. ErstesAnsprechen derbusgeräte,deren Identifikation abfragen undprüfen. IEEE488_Device datalogger(gbus,9); datalogger.identify(); 05.004.36 05.004.37 Datenaustausch -Programmierersicht Datenaustausch-Programmierersicht Aktion Programmieraufgabe Aktion Programmieraufgabe 1. unterbrichtlaufenden Daten sendenmittels datalogger.write("..."); Busverkehr. Daten empfangen mit ErsetztdazuATN datalogger.read(); auftrue. Unterbrechungdes laufenden Verkehrs erfolgtautomatisch. 2. 3. legt Adressedes Hörers aufden Datenbus. ATN bleibtauf TRUE. legtadr. dessprechers auf dendatenbus. ATN bleibtauf TRUE. Erfolgtautomatisch. Adresse der angesprochenengeräte datalogger (=9)und PC (=0)sinddem Treiberprogramm bekannt. 05.004.38 05.004.39 05/TeilC/Seite 12
4. 5. Datenaustausch -Programmierersicht Aktion setzt ATN auffalse. DerTalker beginnt mitderdatenübertragung anden. Programmieraufgabe Erfolgtautomatisch. Erfolgtautomatisch. MitAbschluss derdatenübertragunggehen beidegeräte in der Ruhezustand. 05.004.40 Beispielprogramm #include "IEEE488.h" #include <iostream.h> int main(void) {IEEE488 gbus; gbus.init(); IEEE488_Device datalogger(gbus,9); datalogger.identify(); datalogger.write("..."); // Gerätebefehle datalogger.write("..."); //... cout << datalogger.read()<< endl; return 0; } #include "IEEE488.c" 05.004.41 Zusammenfassung Byte-weiseDatenübertragung; Bussystemmitbis zu15 Geräten; zulässigekabellängenstarkbeschränkt; Übertragungsratenbiszu1MByte/s; interruptfähig; internationalgenormt,weltweitverbreitet. 05.004.18 05/TeilC/Seite 13