Hallo erstmal :)
Lesen tu ich nun schon seit was längeren in diesen Forum und bin bislang
begeistert,
Sachliche Foren in dieser Richtung sind derweil sehr selten
nun aber ist es soweit, wo auch ich mir einige Fragen stelle
es geht um einen Mikrocontroller der über die UART mit einen PDA über
IRdA kommunizieren soll
grundlegende Erfahrungen mit dem PIC18F von Microchip sind vorhanden, so
das wir uns derweil schwer tun mit einen Umstieg auf die PIC24F Familie
wo das IRdA über einen on Board Encoder bereits implementiert ist....
nun weiss ich das der PIC18F ausserdem auch mit bis zu 2 UART's
erhältlich ist, nun ist der PIC18F aber gennerelle wohl als 8 Bit
Prozessor zu verstehen,
daher die 1. Frage,
Funktioniert eine Kommunikation prinzipielle über einen externen IRdA
Encoder wie dem MCP2140 (denn der würde schon ein ausreichendes
Protokoll liefern) mit einen 8Bit Architektur Chip wie den PIC18F? In
der Literatur fand ich nichts in der hinsicht, ausser das der externe
Encoder erstmal wohl mit PIC Chips zusammenarbeiten kann (der MCPXXX ist
ja auch von Microchip ö.Ö), welche eine IRdA Code Tabelle mit on Board
haben, bei den PIC 18 F kann ich dies aber nicht mit Sicherheit sagen!
spielt so eine Tabelle überhaupt eine Rolle, sollte der MCPXXX Chip die
nicht onBoard haben?
2. Frage
kann jeder Chip mit einer UART schnittstelle über dem MCP2140
kommunizieren?
p.s. bei digikey werben sie mit einen Produkt, bei welchen ein PIC18FXXX
in Verwendung ist, welcher wohl laut Werbung mit dem MCP2140 zusammmen
arbeitet, (ist Werbung von Leuten denen ich mal eiskalt unterstelle, das
die gerne was verkaufen wollen, und ich trau dort den Braten nicht, denn
ich suche ja nach einer schnellen Lösung für ein Problem und nicht nach
einer Herrausvorderung ....)
eine dritte Frage kam noch auf,
da microchip mit der PIC24F Familie Chips anbietet, welche wohl mit
einen onBoard IRdA Enccoder ausgestattet sind, fragten wir uns,
funktioniert die Kommunikation ausschliesslich nur über einen 16 BIT
Architektur Chip (die PIC24F sind generelle ja 16bit) oder ist dies nur
Zufall?
ich bedanke mich mal in Vorraus für jedes Informationsbringende
Engargement
mit grüssen
Axel
Axel F. schrieb:> grundlegende Erfahrungen mit dem PIC18F von Microchip sind vorhanden, so> das wir uns derweil schwer tun mit einen Umstieg auf die PIC24F Familie> wo das IRdA über einen on Board Encoder bereits implementiert ist....
An welcher Stelle tut Ihr Euch schwer? Programmiert Ihr noch in
Assembler? Ja dann ist klar. In C sollte der Umstieg relativ schmerzlos
sein.
> Funktioniert eine Kommunikation prinzipielle über einen externen IRdA> Encoder wie dem MCP2140 (denn der würde schon ein ausreichendes> Protokoll liefern) mit einen 8Bit Architektur Chip wie den PIC18F?
Prinzipiell ja. Der Haken ist: Welche Teile von IRDA braucht Ihr?
Braucht Ihr OBEX? Wenn ja, dann braucht Ihr mindestens einen 16 Bit PIC
und könnt mit IRDA-Bridges wie dem MCP2140, aber auch anderen nicht oder
nur eingeschränkt arbeiten.
Braucht Ihr FIR? Wenn ja, dann ist der MCP2140 zu langsam, dann braucht
Ihr eine gänzlich andere Lösung.
Ein wenig Grundwissen über Irda und die einzelnen Protokollbestandteile
braucht Ihr, um zu entscheiden, was Ihr nehmen könnt.
> kann jeder Chip mit einer UART schnittstelle über dem MCP2140> kommunizieren?
prinzipiell ja.
> eine dritte Frage kam noch auf,> da microchip mit der PIC24F Familie Chips anbietet, welche wohl mit> einen onBoard IRdA Enccoder ausgestattet sind, fragten wir uns,> funktioniert die Kommunikation ausschliesslich nur über einen 16 BIT> Architektur Chip (die PIC24F sind generelle ja 16bit) oder ist dies nur> Zufall?
Ein Faktor ist der Hardware-Fähigkeit eines UARTs, ein anderer die
Komplexität bestimmter Protokollbestandteile wie OBEX. Das hängt davon
ab, welche Fähigkeiten Ihr braucht.
fchk
Danke erstmal für die ausführliche und schnelle Antwort
also, Programmiert wird der chip wohl in ein Like C Derivat, hier sind
Erfahrungen vorhanden und dürfte nicht das Problem sein,
Befürchtungen waren vorhanden, beim Verwenden von vorhandenen oder nicht
vorhandenen Registern oder halt knapp ausgedrückt, die Angst vor bösen
Überraschungen
zum 2. Punkt
das es hier eine Client Server Kommunikation gibt, hmm, hier müsst ich
in Erfahrung bringen, ob der eingespannte PDA welcher über IrDA mit den
PIC kommunizieren soll, seine Informationen über OBEX bereitstelllt oder
nicht, ich denke mal das man hier das OBEX Protokol umgehen kann in dem
man im PIC entsprechende Register ausliest und entsprechend
interpretiert,
hier kommt noch hinzu, das der Auftraggeber das PDA mit eigener Software
ausstattet, bei welcher noch spezifiziert werden kann, das er dem OBEX
ausweicht
also PDA schickt Anforderung an PIC, dieser liest ankommende Daten aus,
und interpretiert diese entsprechend
hmmm, FIR stimmt, dafür ist der MCP2410 zu langsam, der ist gefixt auf
9600 Baud
gefordert in der Anwendung ist aber nur SIR in der Baudrate 9,6k, da
würde er funktionieren, als reines Übertragungsprotokol war tinyTP
vereinbart
ich glaube ich werde noch einmal mich in das OBEX hineinlesen, das kann
nicht unwichtig sein, schaden schon gar nicht ...,,
deine Antwort zumindest bekräftigt mich grad darin mich für den PIC 18 F
zu entscheiden, dann aber müsst ich das OBEX nachimplementieren oder auf
den 8 bit portieren, oder ich vereinbare ein eigene Lösung
hmmmm,
:) danke für die Hilfreiche Antwort
jetzt muss ich nur noch herrausfinden wieviel Energie die PIC18FXXX so
im Schnitt ziehen
LG
Axel
Müsst Ihr einen PIC18 verwenden?
Ansonsten schaut Euch mal die TI MSP430-Serie an.
Plus diese Appnote - die ist für Dich auch so sehr empfehlenswert, weil
Du darin sehr viele IRDA Basics findest:
http://www.ti.com/mcu/docs/litabsmultiplefilelist.tsp?sectionId=96&tabId=1502&literatureNumber=slaa202a&docCategoryId=1&familyId=342
Die in dieser Appnote vorgeschlagene Lösung hätte den Vorteil, dass Ihr
den IRDA-Protokollchip wegoptimieren könntet - weniger Platz, weniger
Strom, weniger Kosten. Obendrein ist das eine sehr energieeffiziente
Lösung - stromsparend zu programmieren ist beim MSP430 besonders
einfach, weswegen die MSP430 sehr gerne bei batteriebetriebenen Geräten
zum Einsatz kommen.
fchk
Axel F. schrieb:
PS: Was mir noch auffiel:
> deine Antwort zumindest bekräftigt mich grad darin mich für den PIC 18 F> zu entscheiden, dann aber müsst ich das OBEX nachimplementieren oder auf> den 8 bit portieren, oder ich vereinbare ein eigene Lösung
Du hast mich nicht verstanden: Wenn Du den IRDA-Protokollchip
verwendest, macht der das GESAMTE Protokoll. Du wirst dann keine
Möglichkeit haben, irgendetwas am IRDA-Protokollstack
nachzuimplementieren. Dann geht ausschließlich IrComm mit dem, was der
Chip halt kann.
> jetzt muss ich nur noch herrausfinden wieviel Energie die PIC18FXXX so> im Schnitt ziehen
Wenn es denn unbedingt ein PIC18 mit dem Irda-Protokollchip sein muss,
dann nimm einen PIC mit einem J in der Typenbezeichnung. Das sind die
modernen Typen mit dem geringsten Stromverbrauch und 2.5V Core.
fchk
Sorry, konnt erst jetzt Antworten
also ein PIC 18 muss es aus den einfachen Grund sein, weil der
Verantwortliche Schiss vor anderen Chips hat, es besteht die Befürchtung
das es kurzfristig zu Problemen kommen könnte, die dann nicht
beherrschbar sind
das schränkt die Auswahlmöglichkeit stark ein.
nun, das OBEX das weiss ich nun, arbeitet in Zusammenhang mit FIR
zusammen, im SIR wird dies nicht verwendet
hier bestand auch eines der Probleme
hätte nun der Kunde FIR verlangt, so hätten wir uns einen eigenen FIR
Treiber basteln müssen, sofern es keinen gegeben hätte, der das ohnehin
schon kann, danach gesucht hab ich aber nicht mehr, da der Kunde mit SIR
zufrieden ist
dort wird das OBEX nicht verwendet (Zumindest beim Kunde nicht)
nun OBEX wird aufgesetzt oberhalb von Schicht 5 das ist in etwa die
gleiche Kommunikationsschicht wie HTTP beim Internet (OSI-Model) also
irgendwo bei Schicht 6 oder 7
es ist eine Server Client Kommunikationsebene, schlicht gesagt, hätte
ich eine Art Browser in Chip implementieren müssen, für den Fall das
OBEX eine Rolle gespielt hätte,,,
da hatte ich aber Glück
da konnte ich andere Wege gehen
nun jetzt liegt mir erstmal der programmer und ein satz chips vor so das
ich erstmal loslegen kann :)
ich werde mir deinen linkhinweis zur TI seite einmal anschauen noch,
danke dir für deine Hilfe bis dahin :)
es grüsst
Axel F.