Hallo zusammen,
ich bin seit längerem auf der Suche nach einer Lösung um mit einem uC
(muss in meinem Fall ein atmega16L sein) über die Irda mit einem PC zu
kommunizieren. D.H. ich will eine Datenübertragung für den Bootloader
herstellen. Ich habe bereits einige Einträge gelesen und bin als Lösung
für die Decodierung und Encodierung auf Bausteine wie den MCP2150, Max
3130 oder HSDL7000 gestossen, doch sind diese Preislich doch recht
teuer (5-15 je nach Bauform) und ich benötige zusätzlich noch eine
Sende und Empfangsdiode.
Nun meine Fragen:
Wer hat mit einem der Bausteine schon positive Erfahrung?
Gibt es andere, kostengünstigere möglichkeiten meine Anforderungen
umzusetzen?
Würde es funktionieren wenn ich den uC über MCP2150 an IR-
sende/empfansdiode verwende oder habe ich etwas grundliegendes
vergessen?
Da ich sehr kompartiebel bleiben will (komunikation mit PC, Handy, PDA
usw.) ist Irda wohl die beste Lösung. Das diese Lösung nicht die
einfachste ist hab ich leider auch schon feststellen müssen :-(
Wenn die Performance vom Gesamtsystem ausreicht realisiere die
Signalaufbereitung und -Generierung mit Software. Dann brauchst du nur
den IR-Sender und -Empfänger.
Der Unterschied zwischen IrDa und RS232 liegt ja "nur" in der
Impulslänge, sprich das Bit wird nicht in der Mitte sondern am Anfang
abgetastet. Ansonsten kann man den Code einer SW-UART fast 1:1
verwenden.
grüsse leo9
ich kann mich ja täuschen, aber die Implementierung des Protokolls
nehmen dir die Bauteile doch auch nicht ab. Soweit ich die kenn'
verändern sie nur die Signalform.
grüsse leo9
@Anton:
Was willst Du denn konkret damit machen? Du schreibst oben, Du willst
Verbindung mit dem Bootloader haben, aber Du willst wohl kaum ein
Firmwareupdate per Handy machen?
Hier gibt es einen kleinen IrDA-Stack:
http://blaulogic.com/pico_irda.shtml
Markus
Salut,
@leo9:
Doch, ICs wie der MCP2150 sprechen alle Schichten bis hin zu IrCOMM.
D.h., Du kannst den wirklich an einen Standard-UART anschließen und
Dich z.B. mit einem simplen Terminal-Programm unterhalten.
Über die Flowcontrol-Leitungen werden dann Signale wie "IrDA-Gerät in
Reichweite" weitergegeben. RING und CD werden je nach Modell
(MCP2150/MCP2155) entweder empfangen oder gesendet. Je nach Anwendung
halt.
@Markus:
Hm, wieso eigentlich nicht? In-Field-Updates mal locker vom Handy aus?
:) Mal eben per IrOBEX vom Palm hin"beamen"?
Als Schnittstelle für PalmAVR hatte ich IrCOMM bereits eingeplant. Zum
Testen fehlt mir im Moment nur der richtige Quarz für den MCP215x. ;(
Kann ja bescheidgeben wenn's funktioniert.
Gruß,
Mark
Salut,
@Markus:
Haste natürlich recht... das mit dem IrOBEX hatte ich vorhin nur so als
Idee, weil die Palms das zum Beamen nehmen. Mit dem MCP215x würde das
aber nicht klappen.
Das schöne an denen ist, daß Du scheinbar bestehende Anwendungen mit
IrCOMM ausstatten kannst. Z.B. ein STK500, ohne Dich mit der Firmware
rumärgern zu müssen. Wenn die Firmware aus dem eigenen Haus stammt,
sieht's natürlich schon anders aus. Dann ist u.U. ein Software-Stack
viel praktischer.
Gruß,
Mark
@Mark:
IrOBEX war schon ein gutes Beispiel, schließlich werden z.B. Handys von
sich aus auch nichts anderes sprechen.
Woher bekommt denn eigentlich als Privatkunde den MCP2150 günstig her?
Reichelt und segor führen ihn nicht, Conrad will 16 Euro dafür. Naja,
ich wollte eh' mal versuchen, IrDA in Software zu quetschen.
Markus
Salut,
@Markus:
Naja, kommt drauf an, was Du machen willst. Wenn Du Visitenkarten und
Kalenderdaten austauschen willst, ist IrOBEX das richtige. Wenn Du
drahtlos online gehen willst über's Hayes-Interface, dann mußt Du
IrCOMM sprechen.
@Alexander:
Danke für den Tip. Dachte eigentlich, bei Farnell bereits erfolglos
gesucht zu haben. Der Preis ist zwar recht hoch, aber immerhin nur die
Hälfte von dem beim großen C. :)
Gruß,
Mark
Habe ich das richtig verstanden, dass es nicht möglich ist, mit dem
MCP2150 oder MCP2140 Daten ZWISCHEN ZWEI MICROCONTROLLERN auszutauschen
über die Infrarot Schnittstellt?
Wenn der uC also wahlweise mit PC oder Palm oder einem weiteren
(identischen) uC Device kommunizieren soll, wie müsste man so etwas
umsetzen? (Kommunikation jeweils nur peer-to-peer)
Gibt es eine andere Schnittstelle / Protokoll, welche(s) diesen
Datenaustausch vereinfachen könnte? Konkret möchte ich einen String mit
15 bytes austauschen und am anderen Ende anzeigen.
Ich bin inzwischen mit der Suchfunktion hier im Forum noch fleissig am
suchen gewesen. Leider bisher ohne erfolg. Entweder taugen die Lösungen
nur für direkte kommunikation zwischen zwei uC's (z.B. über ein
Protokoll einer TV Fernsteuerung), oder die Kommunikation mit einem PC
ist möglich, dafür muss aber auf die Kommunikation zwischen den
Mikrokontrollern verzichtet werden...
Gibt es auch IrDA Protokoll IC's, welche auch die Kommunikation zwischen
zwei uC's unterstützen? (Ein Protokoll IC, der auch als Primary device
fungieren könnte)
Hat sich jemand damit schon beschäftigt?
Gute Frage. Danke für die rasche Antwort.
Mein Laptop hat eine normale Ir Schnittstelle eingebaut. Darüber würde
ich die Infos gerne senden. Würde das denn gehen ohne IrDA?? Oder
unterstützt der Laptop nur IrDa? (War meine Vermutung...)
Ausserdem soll es mit meinem Palm und dem Handy funktionnieren. Und
natürlich sollen sich die uC auch untereinander verständigen können.
Wie bringe ich den Laptop denn dazu (ohne zusatzhardware) rs232 infrarot
zu kommunizieren? Braucht es dafür nur einen Treiber? Eine Rs232
Schnittstelle hat der übrigens auch nicht.