Forum: Mikrocontroller und Digitale Elektronik IRDA Transceiver RS232 kompatibel?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Mampf F. (mampf) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Guten Mittag :)

bei Farnell bin ich über einen IRDA-Transceiver gestolpert, der mich 
rätseln lässt, ob man an den RX und TX Pins einfach RS232 eines AVRs 
anschließen kann.

Leider enthält das Datenblatt [1] nicht wirklich Informationen zum 
eigentlichen Protokoll ...

Ich vermute aber, so direkt lässt sich der Transceiver nicht für RS232 
missbrauchen?

*edit*: Ah, hier hab ich was gefunden! :)

http://www.ti.com/lit/an/slaa044/slaa044.pdf

Und einen kleinen Käfer von Microchip, der IRDA Decoder und Encoder für 
UARTs macht ...

http://www.ti.com/lit/an/slaa044/slaa044.pdf

Nice^^





Grund für meine Frage ist: Bei einem Mini-Projekt bräuchte ich noch eine 
einfache Schnittstelle, um Daten bidirektional zu übertragen. Platz hab 
ich so gut wie überhaupt keinen mehr, aber so ein IRDA-Transceiver würde 
noch Platz finden.

Das ganze ist in einem Mini-Gehäuse eingebaut und Platz für einen 
ISP-Stecker ist auch nicht mehr (zumindest kommt man dann nicht mehr 
hin, wenn es zusammengebaut ist), weshalb ich damit geliebäugelt habe, 
ob man mit einem RS232-Bootloader den AVR nicht auch über IR flashen 
könnte.

Vermutlich wäre die Kombination aus einem 38kHz Sender und einem 38kHz 
Empfänger (mit Demodulator) besser geeignet als die spezialisierten 
IRDA-Transceiver? (Ich hab gelesen, die verwenden keinen Träger sondern 
100µs-Impulse).

VG
Mampf

[1]: 
http://de.farnell.com/vishay/tfbs4650-tr1/transceiver-irda/dp/1328403RL

: Bearbeitet durch User
von Md M. (Firma: Potilatormanufaktur) (mdma)


Bewertung
0 lesenswert
nicht lesenswert
Gruselig, dass ich hier zufällig immer immer über Beiträge zu dem Thema 
stolpere, mit dem ich mich gerade beschäftige. Ich bastel auch gerade an 
einer bi-direktionalen IR-Übertragung. Ich habe jetzt zwei Tage mit der 
38kHz-Geschichte rumexperimentiert. Ich bin nicht sicher, woran es im 
Detail liegt, aber mehr als etwa 140 bytes/s (zumindest in der 
Größenordnung) bekomme ich zwischen zwei Arduinos nicht hin und wieder 
zurück geschickt. Ich habe das per SoftwareSerial gemacht und das 
funktioniert mit 1200 Baud gut und bis zu 4000 Baud ok. Ich werde da 
heute Abend nochmal etwas Zeit investieren, aber wenn ich da nicht 
weiter komme, tendiere ich auch zu IrDA. Würde mich auch interessieren, 
ob man die einfach an einen Arduino-Pin klemmen kann. Ich hab mich damit 
noch gar nicht beschäftigt. Die 38kHz-Sache habe ich bevorzugt, weil ich 
einen Conrad vor der Tür habe und ich quasi in Hausschuhen kurz 
reinspringen konnte. IrDA-mäßig hatten die leider nix da.

: Bearbeitet durch User
von Peter II (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Md M. schrieb:
> Ich bin nicht sicher, woran es im
> Detail liegt, aber mehr als etwa 140 bytes/s (zumindest in der
> Größenordnung) bekomme ich zwischen zwei Arduinos nicht hin und wieder
> zurück geschickt.

vermutlich ist der Filter für die 38kHz viel zu träge für eine 
schnellere Übertragung.
Wir wohl einen Grund haben warum es bei IrDA anders gemacht wird.

von Md M. (Firma: Potilatormanufaktur) (mdma)


Bewertung
0 lesenswert
nicht lesenswert
Peter II schrieb:
> vermutlich ist der Filter für die 38kHz viel zu träge für eine
> schnellere Übertragung.

Habs befürchtet.

von Fritz U. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mampf F. schrieb:
> Leider enthält das Datenblatt [1] nicht wirklich Informationen zum
> eigentlichen Protokoll ...

kein Problem:

https://de.wikipedia.org/wiki/Infrared_Data_Association

von Mampf F. (mampf) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Md M. schrieb:
> Ich habe jetzt zwei Tage mit der
> 38kHz-Geschichte rumexperimentiert.

Ich probier es mit der Kombi MCP2120 (IRDA Codec) + TFBS4650 (IRDA Phy) 
... Das soll - laut Microchip - wunderbar mit RS232 bis 115kBaud 
funktionieren :)

von Md M. (Firma: Potilatormanufaktur) (mdma)


Bewertung
0 lesenswert
nicht lesenswert
Mampf F. schrieb:
> Ich probier es mit der Kombi MCP2120 (IRDA Codec) + TFBS4650 (IRDA Phy)
> ... Das soll - laut Microchip - wunderbar mit RS232 bis 115kBaud
> funktionieren :)

Notiert.

von batman (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Die üblichen 38kHz-Fernbedienungs-Standards (RC5, RECS80,..) sind für 
robuste (aber nicht sichere) IR-Übertragungen über Entfernungen um 10m 
bei jedem Umgebungslicht gemacht.
Ein aktiver HI-Pegel wird in einem Burst von min. 5-15 Trägerperioden 
übertragen. D.h. ein Bit wird da meist um die 20 Perioden lang sein, da 
kommt man schon unter 2000Baud raus, bei 10Bit/Byte also max. 200Bytes 
über den Daumen.
Für hohe Datenraten bei halbwegs sicherer Übertragung muß man sich was 
anderes einfallen lassen. Vielleicht einfach mal die Trägerfrequenz 
verzehnfachen.

von Md M. (Firma: Potilatormanufaktur) (mdma)


Bewertung
0 lesenswert
nicht lesenswert
batman schrieb:
> robuste (aber nicht sichere) IR-Übertragungen

Hätte mir persönlich ja gereicht.

> kommt man schon unter 2000Baud raus, bei 10Bit/Byte also max. 200Bytes
> über den Daumen.

Das ist halt etwa das, was ich bräuchte, nur leider ohne Reserve. Für 
die paar Taler wollte ich es aber trotzdem probieren, zumal ein 
entspanntes Wochenende anstand.

> Vielleicht einfach mal die Trägerfrequenz
> verzehnfachen.

Die dafür gemachten Empfänger haben ja leider einen Filter integriert. 
Ich glaube bevor ich da zu viel selbst bastel, steige ich wahrscheinlich 
auch einfach auf was fertiges in Richtung IrDA um.

von batman (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ja wenn dir der Meter reicht, auf den IrDA ausgelegt ist. Ich glaub 
aber, es gibt entsprechende Receiver-Chips auch für einige 100kHz, genau 
wie für 38kHz.

von batman (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Es gibt bei den Receiver-Typen übrigens deutliche Unterschiede bei der 
minimalen Burst-Länge, s. Datenblatt. Wenn es nur um eine Verdopplung 
der Rate geht, reicht ein Typ mit 5 statt 10 Trägerpulsen/Burst.

von Md M. (Firma: Potilatormanufaktur) (mdma)


Bewertung
0 lesenswert
nicht lesenswert
batman schrieb:
> Ja wenn dir der Meter reicht, auf den IrDA ausgelegt ist.

Völlig. Im Moment überbrücke ich 20cm, sehr viel mehr werden es nicht 
werden.

> Ich glaub
> aber, es gibt entsprechende Receiver-Chips auch für einige 100kHz, genau
> wie für 38kHz.

Hm. Hast recht. Da werd ich nochmal suchen. Danke.

von Mampf F. (mampf) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Oh, hab gesehen, die STM32 haben einen IRDA-Modus in jedem USART ... 
Dann werd ich doch den F103er wieder verwenden :)

Der AVR hatte eh zu wenig Pins ... Kann mir jetzt den externen 
Battery-backed RTC und den IRDA Encoder/Decoder sparen ...

Mei, wieso hatte ich das Projekt nochmal mit einem AVR angefangen ;-)

Achja, wegen den 5V, die ich brauch ... Aber jetzt hab ich immerhin 
endlich das Datenblatt gefunden, in dem steht, welche I/Os 5V-tolerant 
sind.

: Bearbeitet durch User
von Ivan (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Hallo,

zur Info: Du kannst auch diese IR-Demodulatoren direkt an einen RX 
Eingang anschliessen wie ein IrDA Empfänger, siehe:

http://www.vishay.com/doc?82667
The TSDP34138 may be used
for continuous reception of data according to RS-232 at
4800 bps in noise free environments.

Auf der Sendeseite muss das UART Signal aber auf eine Trägerfrequenz 
moduliert werden, damit das funktioniert.

>vermutlich ist der Filter für die 38kHz viel zu träge für eine
>schnellere Übertragung.

Die Bauteilgrenzen sind ganz klar im Datenblatt abzulesen:

www.vishay.com/docs/82459/tsop48.pdf

Minimum burst length 10 cycles/burst

After each burst of length         10 to 70 cycles
a minimum gap time is required of  ≥ 12 cycles
Maximum number of continuous short bursts/second 800

Werden diese Grenzen ignoriert, so aktiviert sich der AGC (Automatic 
Gain Control) und deaktiviert den Ausgang, weil ein periodisches 
Störsignal vermutet wird.

von Ivan (Gast)


Bewertung
0 lesenswert
nicht lesenswert
>Aber jetzt hab ich immerhin
>endlich das Datenblatt gefunden, in dem steht, welche I/Os 5V-tolerant
>sind.

Laut Datenblatt kann man bis 8V an diese Pins anlesen (Max: VDD + 4.0)

von Md M. (Firma: Potilatormanufaktur) (mdma)


Bewertung
0 lesenswert
nicht lesenswert
Md M. schrieb:
> Mampf F. schrieb:
>> Ich probier es mit der Kombi MCP2120 (IRDA Codec) + TFBS4650 (IRDA Phy)
>> ... Das soll - laut Microchip - wunderbar mit RS232 bis 115kBaud
>> funktionieren :)
>
> Notiert.

Ach zum Teufel mit dem MCP2120, ich habe mein neues Lieblings-IC 
entdeckt:

http://www.nxp.com/documents/leaflet/75015676.pdf

I²C, SPI <-> GPIO, IrDA, UART. 3.3V, 5V-tolerant. Das erspart mir 
mindestens einen µC in meinem Projekt.

von A. S. (achs)


Bewertung
0 lesenswert
nicht lesenswert
Zum Microchip:

- die SW-Baudratenumschaltung funktioniert nicht, wenn z.B. eine 
Neonröhre draufflackert....

- entweder 8 Bit oder Parity. Beide zusammen geht wohl nicht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.