Forum: Mikrocontroller und Digitale Elektronik PIC Atml / USB Kommunikation / Betriebssystemkompatibilität


von Christian R. (oschy123)


Lesenswert?

Hallo Zusammen,

ich arbeite derzeit mit einem PIC 18F2550 auf dem die CDC Firmware 
aufgespielt ist. Der PIC hat nur die Aufgabe über 16 I/O TTL Signale zu 
verarbeiten und zu generieren. Die Kommunikation läuft über USB und es 
wird durch die CDC Firmware ein COM Port emuliert.
Die Schaltung hat bis lang nur mit einem Windows PC kommunizieren 
müssen, was auch wunderbar funktioniert hat.
Jetzt ist mein Problem, dass die Kommunikation auch mit Mac OS X 
funktionieren soll, was ich mit dem PIC leider nicht hinbekommen habe.

Jetzt meine Frage:
Gibt es von Microship oder Atmel einen Mikrocontroller, der mir einen 
COM-Port emuliert und die Treiber für Windows, Linux und Mac mitbringt 
oder muss ich auf Lösungen wie z.B. Arduino zurück greifen?

Ich bedanke mich schon jetzt für eure Hilfe.

Mit besten Grüßen
Christian

von Oliver J. (skriptkiddy)


Lesenswert?

OSX sollte auch CDC-ACM können.

http://www.sparetimelabs.com/usbcdcacm/index.html

Gruß Oliver

von Frank K. (fchk)


Lesenswert?

Christian R. schrieb:

> Jetzt ist mein Problem, dass die Kommunikation auch mit Mac OS X
> funktionieren soll, was ich mit dem PIC leider nicht hinbekommen habe.

Das muss auch mit OSX funktionieren. Tut es jedenfalls bei mir. Wenn Du 
ein Problem hast dann befindet es sich wahrscheinlich auf der Mac-Seite.

fchk

von Christian R. (oschy123)


Lesenswert?

Oliver, besten Dank für den Link. Wenn es bei dir, fchk, funktioniert 
werde ich noch mal dran setzten.

Danke für die schnelle Rückmeldung

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Christian R. schrieb:
> Jetzt ist mein Problem, dass die Kommunikation auch mit Mac OS X
> funktionieren soll, was ich mit dem PIC leider nicht hinbekommen habe.

Hast Du denn unter OS X überhaupt schon mal mit einer seriellen 
Schnittstelle und mit einer per USB CDC virtualisierten seriellen 
Schnittstelle Daten ausgetauscht?

von Frank K. (fchk)


Lesenswert?

Probiere es mal mit einem MCP2200. Das ist ein USB-Seriell-Wandler von 
Microchip, der ein USB-CDC Device bereitstellt. Der Chip selber ist ein 
herstellerprogrammierter PIC18F13K50 oder 14K50. Das sollte bei Dir 
funktionieren.

fchk

von Oliver J. (skriptkiddy)


Lesenswert?

Frank K. schrieb:
> Probiere es mal mit einem MCP2200.
Das Teil ist mal richtig Mist. Wenn man es unter Windows in Betrieb 
nehmen will, muss man mindestens Windows XP SP3 haben, sonst bekommt man 
es nicht zum Laufen. Habe es selbst probiert. Schuld ist das zusätzlich 
implementierte HID zum parametrieren.
Der MCP2200 ist ja nichts anderes als ein CDC mit zusätzlichem HID und 
einen CDC hat er ja bereits erfolgreich unter Windows in Betrieb 
genommen. Warum sollte er sich jetzt noch extra einen MCP2200 kaufen, 
wenn die bereits geflashte CDC-Firmware unter Windows funktioniert? Ich 
sehe keinen Grund, warum sein PIC18F2550 mit CDC-Firmware nicht auch 
unter OSX funktionieren sollte.

Gruß Oliver

von Frank K. (fchk)


Lesenswert?

Oliver J. schrieb:
>> Probiere es mal mit einem MCP2200.

> Das Teil ist mal richtig Mist. Wenn man es unter Windows in Betrieb
> nehmen will, muss man mindestens Windows XP SP3 haben, sonst bekommt man
> es nicht zum Laufen. Habe es selbst probiert. Schuld ist das zusätzlich
> implementierte HID zum parametrieren.

Wer nimmt denn noch irgendwas älteres als SP3 bei XP? Es gibt doch 
keinen Grund dafür.

Unter OSX läuft es in Übrigen einwandfrei.

> Der MCP2200 ist ja nichts anderes als ein CDC mit zusätzlichem HID und
> einen CDC hat er ja bereits erfolgreich unter Windows in Betrieb
> genommen. Warum sollte er sich jetzt noch extra einen MCP2200 kaufen,
> wenn die bereits geflashte CDC-Firmware unter Windows funktioniert? Ich
> sehe keinen Grund, warum sein PIC18F2550 mit CDC-Firmware nicht auch
> unter OSX funktionieren sollte.

Ich sehe eigentlich auch keinen Grund, weiß aber nicht, was er da jetzt 
in seinem PIC genau drin hat. Der MCP2200 wäre da sozusagen eine 
"known-good" Referenz.

fchk

von Christian R. (oschy123)


Lesenswert?

Hallo Zusammen,

danke für die weiteren Vorschläge. Habe die Kommunikation mit dem PIC 
und der CDC Firmware unter MAC OS hinbekommen dank dem Link von Oliver 
(http://www.sparetimelabs.com/usbcdcacm/index.html)

Besten Dank nochmal.

Frank, wenn du schon mit der Kommunikation gearbeitet hast, kannst du 
vielleicht Aussagen darüber machen, mit was für einer Frequenz du Daten 
vom PIC abfragen kannst? Die Datemenge ist für meine Anwendung 3 Byte.

Ist es eurer Meinung nach Notwendig die Daten, die zwischen dem 
Mikrocontroller und dem PC geschickt werden, mit Hilfe einer Checksumme 
zu überprüfen?

Mit besten Grüßen
Christian

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.