Forum: Mikrocontroller und Digitale Elektronik Pic18f4480 Can -> C#


von Hans J. (hjoachim)


Lesenswert?

Sehr geehrte Damen und Herren,

Ich bin neu hier im Forum, und hoffe daher das ich für meine Frage die 
passende Rubrik gefunden habe. Meine bisherigen Programmiererfahrungen 
basieren auf Hochsprachen, auf Microcontroller-, geschweige denn 
elektronischer-Ebene, sind leider begrenzt. Nichts desto trotz möchte 
ich mich da reinbeisen.
So, genug blabla, mein anstehendes Projekt sieht wie folgt aus:

Von einem PIC18F4480 sollen verschiedene Analysewerte an einen PC, wenn 
möglich über CAN, gesendet werden. Der Ablauf sollte ungefähr wie folgt 
ablaufen:

1.C#-Programm auf dem PC fordert einen Wert vom PIC an
2.PIC nimmt die Anfrage entgegen und leitet alles in die Wege zur 
Auswertung
3.PIC sendet das Ergebnis an den PC(z.B.: im 10 Sekundentakt), solange 
bis seitens des C#-Programmes die Verbindung beendet wird.

Meine Fragen dies bezüglich lautet wie folgt:

Der PIC besitzt bereits ein CAN/ECAN-Modul. Nun habe ich in mehreren 
Foren erfahren, dass trotz des Modules noch ein zusätzlicher 
CAN-Transceiver(z.B.: MCP 2551 
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010405) 
benötigt wird.
Im Datenblatt meines PICs habe ich jedoch keine Informationen zu einem 
CAN Transceiver gefunden. Wird dieser wirklich benötigt, oder besteht 
die Möglichkeit durch passende Firmware zu ersetzen?


Die Entscheidung fiel auf CAN, da bereits ein PIC18F4480 vorhanden ist. 
Sollte es eurer meinung nach eine "bessere" Lösung geben, so teilt mir 
diese Alternative gerne mit.

Vielen Dank!

Mit freundlichen Grüßen
Hans-Joachim

: Verschoben durch Moderator
von Frank K. (fchk)


Lesenswert?

1. Der PIC18F4480 und der PIC18F4580 sind alte PICs, die nicht mehr für 
Neuentwicklungen verwendet werden sollten. Die aktuellen Serien haben 
alle ein K oder ein J in der Typenbezeichnung. Hier ist es der 
PIC18F45K80, der günstiger ist und zugleich mehr Features hat.

2. Das CAN-Interface besteht auf einem digitalen Teil, der im PIC 
integriert ist, und einer analogen Busankopplung, die (fast) immer ein 
extra Chip ist. Diese externe Busankopplung ist der Transceiver, und den 
brauchst Du immer, und weil das Analogelektronik ist, kannst Du den 
nicht durch Software ersetzen.
Transceiver gibts verschiedene, für schnelles Zweidraht-CAN (250-1000 
kBit/s) optimiert, für langsames Zweidraht-CAN (bis 125 kBit/s) 
optimiert und für Single Wire CAN (läuft meist mit 33.33kBit/s). Je nach 
Busgeschwindigkeit und Bustyp und erforderlicher Spannungsfestigkeit etc 
wählst Du einen passenden Transceiver aus.
Der MCP2551 ist ein älterer Typ, aktuell ist der MCP2561, der bessere 
technische Daten bei gleichem Preis hat.

fchk

von Easylife (Gast)


Lesenswert?

Habe noch nie einen PC mit CAN Buchse gesehen.
Wäre USB nicht auch eine Lösung?

von Frank K. (fchk)


Lesenswert?

Easylife schrieb:
> Habe noch nie einen PC mit CAN Buchse gesehen.

Ich schon. Es gibt Interfacekarten und USB-CAN-Adapter.

> Wäre USB nicht auch eine Lösung?

Prinzipiell ja, aber wir kennen den Versuchsaufbau nicht.

fchk

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.