Forum: Mikrocontroller und Digitale Elektronik IrDa Protokoll - Palm ansteuern


von Jens (Gast)


Lesenswert?

Hallo,
also ich möchte zum einen meinen Palm mittels IrDa "fernbedienen".
Weiß jemand was man dem Palm senden muß, damit die Player-Anwendung
gestartet wird und man diese dann bedienen kann (Start, Stop und
soweiter)???
Das war der eher unmögliche Teil ... nun der etwas humanere. Was muß
man anstellen, also protokollmäßig damit man via IrDa schreiben kann???
Hintergrund ist der, wenn man einen Konverter zwischen PS2 und Irda
bauen würde, könnte man relativ einfach aus einer flexiblen Tastatur
selber eine IrDa-Tastatur stricken.
Also vorab schonmal besten Dank.
Gruß Jens

von Rufus T. Firefly (Gast)


Lesenswert?

www.irda.org könnte ein Anlaufpunkt sein.

Ansonsten die Entwicklerseiten von Palm(source).

von Jens (Gast)


Lesenswert?

da fällt mir ein, es gibt doch diese fertigen Sende/Empfangs-Bausteine
die man nur mit Masse +5V TX und RX an sein Motherboard anschließen muß
(TDFS4500)
Jetzt ist die Frage ob dieser Anschluß am Motherboard schon
IrDA-Signale ausgibt oder ob da RS232 TTl-Pegel herauskommt, weil wenn
ja und man damit mit dem Hyperterm einfach Zeichen senden kann, hätte
ich ja immerhin schonmal etwas zum probieren!!!???

von Mark Hämmerling (Gast)


Lesenswert?

Salve,

kommt alles drauf an, auf welcher Protokollebene von IrDA Du Dich
bewegen willst. Wenn Du eine Legacy-Variante von RS232 mit ohne Schnur
machen willst: IrCOMM. Der IC dafür heißt MCP2150 bzw. MCP2155
(Microchip). Ist ein sehr hübsches Teil, das Du direkt an einen
TTL-UART hängen kannst, und der auf der anderen Seite (TFDS4500) dann
direkt IrCOMM (inkl. Negotiation und aller notwendigen Protokollebenen)
spricht. D.h. Du startest auf dem Palm ein Terminal-Programm (z.B.
ptelnet), stellst "Infrared" als Interface ein und kannst Dich sofort
mit Deinem AVR über IrDA unterhalten.

von Mark Hämmerling (Gast)


Lesenswert?

... Mist beim E-Mail-Adresse-Eingeben versehentlich zu früh auf Enter
gekommen...

Mit dem MCP2120 (o.ä.) kannst Du Dich auf - ich glaube - IrPHY-Ebene
unterhalten. Ich nehme an, daß sich der Controller da nur um Sachen wie
Modulation/Demodulation der IR-Signale kümmert. Das ist also noch nicht
ansatzweise so komplex wie das was der MCP2150 kann. D.h. Du müßtest
Dich auch selbst um den Protokoll-Stack kümmern.

Diese von Dir angesprochenen Pinheader auf dem Mainboard geben meines
Wissens schon IrDA-konforme Signale aus. Da reicht ein Transceiver wie
der TFDS4500 (und etwas Kleinkram).

Viel Erfolg!
Mark

von rolf-harry (Gast)


Lesenswert?

Hallo, hab ein ähnliches Vorhaben: Ich will vom AVR zum Palm (Zire31)
Daten senden, nur senden.

Dazu hab ich das TX-Signal vom UART (9600b/s) des AVR abgegriffen, und
auf ein Monoflop geführt, dass mit der fallenden Flanke einen Impuls
von 20us erzeugt, welcher die IR-LED steuert. Damit sollte, glaube ich,
der IrDA Physical Layer erledigt sein.

Auf der Palm-Seite hab ich ptelnet auf terminal, infrarot, 9600 8 N 1
eingestellt.

Leider kommt auf dem Palm nix an.

Weiss jemand, ob dem Palm bzw. ptelnet der Physical Layer genügt, oder
braucht man doch etwas mehr (wurde bereits angesprochen, IRCOMM mit
MCP2150 o.ä.), um Daten zu empfangen ?

Mit freundlichen Grüssen
rolf-harry

von Markus K. (markus-)


Lesenswert?

Ich bin zwar gerade erst dabei mich einzuarbeiten, aber ich hatte das so
verstanden, dass bei IrDA immer eine bidirektionale Kommunikation
stattfindet. Der Master schaut wer da ist, die Slaves antworten und
dann kann die eigentliche Kommunikation aufgebaut werden.

Markus

von rolf-harry (Gast)


Lesenswert?

Danke, genau das scheint der Punkt zu sein. Habe eben das Datenblatt des
MCP2150 angeschaut, dort ist der Verbindungsaufbau beschrieben.
Es wird wohl kein Weg an einer solchen Lösung vorbeiführen.

Mit freundlichen Grüssen
rolf-harry

von Mark H. (haemi)


Lesenswert?

Salve,

IrPHY auf dem Palm zu empfangen ist genauso einfach wie RS232. Gibst
beim SrmOpen() nur eben den "raw" IrDA-Port (serPortIrPort) an und
mußt dann noch den Empfänger (RX) aktivieren. Codebeispiel findest Du
im Code meines Fahrradcomputers: http://veloace.sf.net (in der Funktion
LinkOpen()). API Doku dazu:
http://www.palmos.com/dev/support/docs/palmos/PalmOSReference/SerialManager.html#1020613

Um IrPHY vom µC aus zu senden, brauchst Du im Prinzip wirklich nur den
Monoflop (denk ich mir mal, denn ich hab damit sogar einem Reedsensor
IrPHY beigebracht).

Für IrCOMM braucht's dann auf µC-Seite wirklich schon den MCP2150
(oder halt den ganzen Stack in SW) und entsprechend auch RX und TX (für
die Negotiation und die anderen Schichten). Ist halt die Frage, wie
schnell und sicher die Verbindung sein soll.

ptelnet kann nur IrCOMM (also keine Panik, weil die IrPHY-Daten nicht
ankommen!), aber ich glaube, es gab auch ein Terminal für den Palm, das
IrPHY konnte.

Viel Erfolg beim Basteln!
Mark

von rolf-harry (Gast)


Lesenswert?

Super,
dann gibts also doch noch Hoffnung für die Einfachst-Lösung mit dem
Monoflop.

ptelnet kann also nur IrCOMM, und da ich nicht vorhabe, auf der
Palm-Seite zu programmieren, wäre für mich ein fertiges
Terminalprogram, das IrPHY kann, die Lösung.

Leider hab ich mir schon die Finger wund gegoogelt, aber nix gefunden,
um ehrlich zu sein, nicht mal irgendein anders Terminalprogram ausser
ptelnet.

Vielen Dank nochmal!
rolf-harry

von Mark H. (haemi)


Lesenswert?

Sowas... ich hab auch noch mal eine ganze Weile gegoogelt. Sollte es
wirklich kein anderes Terminal für den Palm geben, das entweder "Raw
IR" (IrPHY) kann oder Open Source ist?
Meinem "PalmAVR" hatte ich damals RS232, IrPHY und IrCOMM
beigebracht... und auf dem Psion hatte ich so ein IrPHY-Terminal. Das
hatte ich wohl im Hinterkopf und durcheinander gebracht.
Hatte schon die Idee, in ptelnet mit einem Hex-Editor den Wert 'ircm'
zu suchen und durch  0x00008001 zu ersetzen (das sind die Portkonstanten
für IrCOMM bzw. "Raw IR"). Aber da war nix. Linkt dieses Ding eine
Serial Lib, in der man das vielleicht ändern könnte? Ideen?

von rolf-harry (Gast)


Lesenswert?

Nochmal ich,
habe inzwischen einige Palm Terminal-Programme gefunden, aber auch
keines das open-source ist, oder IrPHY unterstützt.

Meine Idee ist nun, bei Herrn ebay so einen alten RS232-IR-Adapter zu
besorgen, und den AVR damit mit dem Palm zu verbinden.

Hab übrigens beim googeln das schöne Program "irping" für
IR-COMM-Freunde gefunden.
http://www.harbaum.org/till/palm/ir_ping/index.html.

rolf-harry

von Mark H. (haemi)


Lesenswert?

Da mußt Du aber genau aufpassen, ob der auch das macht, was Du willst.
Die wandeln nicht einfach RS232 auf IrCOMM! Da braucht's ggf. noch
einen Treiber, der sich mit dem µC da drin unterhält. In meinem Tekram
Irmate 210-B (oder so ähnlich) fand ich einen PIC.
Diese Adapter können ja auch IrDA auf den untersten Schichten sprechen,
also IrLAP, und auch andere Protokolle wie IrOBEX.
Das nur als Hinweis, weil die Vermutung natürlich naheliegt, dass diese
Dinger RS232 auf IrCOMM wandeln. Das trifft aber zumindest nicht auf
alle zu (und ich würde vermuten, eher auf die wenigsten, denn man will
ja flexibel bleiben und das OS die Schichten verwalten lassen,
schließlich bringt ohnehin jedes moderne OS einen IrDA-Stack mit). Mußt
Dich also vorher genau über das Innenleben bzw. die Notwendigkeit von
Treibern informieren.

Mark

von rolf-harry (Gast)


Lesenswert?

Vielen Dank für den Hinweis!
Habe inzwischen so ein Ding ersteigert. Auch wenn's mit dem AVR nicht
klappt, kann ich das noch zum "normalen" Sync mit dem PC nehmen.

Auf jeden Fall werde ich hier berichten, wie das mit dem AVR
weitergeht...

rolf-harry

von rolf-harry (Gast)


Lesenswert?

Mark, natürlich hattest Du recht, schliesslich muss ja irgendwer dem
RS232-IR-Ding sagen, wie es arbeiten soll. Schade.

Wie dem auch sei, ich hab noch was gefunden, was auch für andere
hilfreich sein könnte, mit den neueren Palm (hab nen zire31) gehts
jedenfalls nicht! Das Folgende hab ich hier gefunden:

http://www.alanjmcf.me.uk/comms/infrared/IrDA%20FAQ.html#_Toc128227613
----------------------
On the more recent Palm devices, e.g. the Tungsten T, Zire 21 etc,
which run OS5 the OMAP processor they use contains the IrDA framing
functionality and only will accept complete IrLAP frames.  It is thus
not possible to send arbitrary octets.  From the FAQ[36] at pa1mOne’s
developer site (PluggedIn Program),

Raw IR mode cannot be used on OMAP-based (Tungsten|T, Tungsten|T2,
Tungsten|E, Zire21, Treo600, and Zire71) products due to an OMAP
processor limitation. The OMAP's UART3 automatically frames all data
according to the IrDA specification. There is no way to change this
setting in the processor and use raw IR in the OMAP UART.
-----------------------

rolf-harry

von Steffen (Gast)


Lesenswert?


von rolf-harry (Gast)


Lesenswert?

Hab da ein "Terminal" für den Palm gefunden, das auch raw ir kann...

http://www.turbogizmos.com/irterm.htm

rolf-harry

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.