Forum: Mikrocontroller und Digitale Elektronik IRDA Transceiver RS232 kompatibel?


von Mampf F. (mampf) Benutzerseite


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)


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)


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)


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)


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


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)


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)


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)


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)


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)


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)


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


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)


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)


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)


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. (Gast)


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.

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
Noch kein Account? Hier anmelden.