Re: MAX232

Feb 05, 2008 147 Replies

Ich war _sehr_ verwundert, als ich erfuhr, daß USB keine Interrupts kennt.

Pollen[0] ist trotzdem Mist. So fängt man sich u.U. ein paar Millionen sinnlose Operationen ein.

Ich glaube ja an das Gute und nehme deswegen an, daß USB-Dongles ein passend dimensioniertes FIFO haben.

Falk [0]Pollen: Du erwartest Besuch und die Klingel ist kaputt. Also schaust Du öfter mal nach, ob jemand vor der Tür steht. Interrupt: Die Klingel funktioniert. DMA: Ein Brief wird eingeworfen. DMA+Interrupt: Ein Brief wird eingeworfen und der Zusteller klingelt.

Falk Willberg schrieb:

Grundsätzliche Meinungen sind Mist. Pollen hat seine Daseinsberechtigung und ist in einigen Szenarien (speziell Embedded Systems mit Echtzeit-Constraints) sogar besser geeignet als Interruptsteuerung.

Viele Grüße, Johannes

"PS: Ein Realname wäre nett. Ich selbst nutze nur keinen, weil mich die meisten hier bereits mit Namen kennen." -- Markus Gronotte aka Makus / Kosst Amojan / maqqusz / Mr. G / Ferdinand Simpson / Quartillia Rosenberg in dse

Der USB-Controller selber meldet sich schon per IRQ bei der CPU, aber ein USB-Device kann das eben nicht sondern muss warten bis der Controller nachfragt.

Der FIFO ist schon passend, hilft dir aber nicht, wenn dein Protokoll ein engeres Timing voraussetzt. Beim erwaehnten Beispiel mit einem Byte welches mit einem Byte beantwortet werden muss schaffst du mit USB einen maximalen Durchsatz von

500 Bytes/sec pro Richtung. Bei einem echten UART und 115k2 sind es hingegen in der Gegend von 5700 Bytes/sec.

Gerrit

Johannes Bauer schrieb:

Kein Widerspruch. Ich formuliere neu: "Pollen ist grundsätzlich, im juristischen Sinne[0], Mist" ;-)

Ack. Es kann auch bei uCs sinnvoll sein. Unter Betriebssystemen und GUIs hat es IMO aber "grundsätzlich[0]" nichts zu suchen.

Falk [0]Grundsätzlich := Eigentlich, meistens, im Wortlaut der reinen Lehre...

Kann den nicht mit USB2 alle 125 usec, in einem USB Mikroframe auch ein Datenblock uebertragen werden?

Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

[Beispiel]

Vor etwas mehr als 20 Jahren habe ich eine A...-Registrierkasse[*] mit RS4xx-Wandler (selbst entworfen) an einen Kaypro (4 MHz CP/M) angeschlossen. Das Teil wollte unbedingt eine Antwort nach "7-10" milli-Sekunden. Nicht vorher und erst recht nicht später... Das war unter CP/M kein grosses Problem; wohl aber auf einem _PC_ (nicz _AT :-) auf den das Programm portiert werden sollte...

Gruss, Holger

[*] Ich weiss heute nicht mehr, ob es Anker oder ADS war...

Gerrit Heitsch schrieb:

Jaja, aber komisch nur, dass PCs 115k2 erst wirklich nutzen konnten, als die FIFOs hatten . . .

MFG Falk

Gerrit Heitsch schrieb:

Dann ist dein Protokoll entweder schlecht oder wirklich nur auf einem echten UART nutzbar.

MFG Falk

Uwe Bonnes schrieb:

Die 8 kHz Rahmenfrequenz gibt es AFAIK nur bei High Speed USB mit 480 Mbit/s. Ich glaube kaum, dass ein USB-UART IC damit arbeitet. Ich kenn keinen (was nix heissen soll).

MfG Falk

Im gegebenen Beispiel mit Single-Byte-Ping-Pong braucht man aber keinen FIFO und zumindest aktuelle PCs sollten auch ohne FIFO in der Lage sein 115k2 hinzubekommen.

Gerrit

Ist ja nur ein Beispiel welches zeigt, dass ein USB-RS232-Dongle eben kein 100% Ersatz fuer einen UART ist, auch wenn man auf Bitklimperei auf den Handshakeleitungen verzichtet.

Gerrit

Das stimmt nicht. Man mußte bloß dafür sorgen, daß so ziemlich alle anderen Interruptquellen abgeschaltet waren, dann ging es auch ohne FIFO problemlos.

Oder statt DOS/BIOS-Gespann ein Betriebsystem verwenden.

Es war nämlich durchaus möglich, die verkorkste PC-Hardware ein wenig intelligenter zu benutzen als DOS/BIOS. Dann klappte es auch mit den UARTs...

Aber macht das der HCD nicht "in Hardware" selbst und signalisiert dem OS dann per Interrupt dann, daß das Polling erfolgreich war?

Gruß Henning

Aber ich. Wir verwenden einen fest rastenden USB-Verbinder von Phoenix

- da is' nix locker, glaub mir :-) Ob nun generell USB die richtige Wahl für die Anwendung war, dazu schweige ich mal vornehm, aber Fakt ist, es funktioniert problemlos und stabil, wenn man nicht den consumer-Mist an Kabeln und Verbindern verwendet.

Ralph.

formatting link
Skispringen für Jedermann:
formatting link

CAN und Ethernet bzw. von beiden irgendwelche Abarten sind die Verfahren, die ich im Anlagenbau mehr und mehr sehe.

Ralph.

formatting link
Skispringen für Jedermann:
formatting link

Kann gut sein. Ich sehe jedenfalls, daß Interrupts ausgelöst werden, wenn ich die USB-Maus bewege.

Falk

Christian Zietz schrieb:

bei meinen letzten Bestellungen verteilt über 2 Monate kam da immer der MAX232N von Texas.

Gruß, Alexander

|> DMA: Ein Brief wird eingeworfen.

Ne... Eher "ich hab mich mit dem Besuch in einer Bar verabredet":

ohne DMA: Ich muß ihn abholen.

mit DMA: Er kommt selbst hin.

ohne DMA, ohne Interrupt: Ich muß ihn abholen, weiß aber nicht, wann genau er daheim ist und schaue daher mehrfach vorbei. Schaue ich zu spät, überlegt er sich's anders und ich gehe allein in die Bar.

ohne DMA, mit Interrupt: Ich muß ihn abholen, sobald er durchgerufen hat, daß er zuhause ist.

mit DMA, ohne Interrupt: Er kommt selbst hin und wird sich an den vereinbarten Tisch setzen, aber ich weiß nicht wann und muß daher rechtzeitig schauen, ob er schon da ist (oder riskieren, daß er wieder geht, wenn wir uns verpassen).

mit DMA+Interrupt: Er kommt selbst hin, setzt sich an den vereinbarten Tisch und ruft durch, daß er da ist.

Rainer

Rainer Buchty schrieb:

Und ich setze ganz frech: Bar == Briefkasten, Besuch == Brief ;-)

Falk

DMA: Er hat den Schlüssel.

Nick

The lowcost-DRO:

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required