Hi,
ich habe einen Schaltplan erstellt mit einem PIC24F, MCP2515 und
MCP2551.
wäre cool, wenn einer mal drüber gucken könnte. Vor allem bei der
verbindung vom PIC zum MCP2515.
Wenn das alles richtig ist, würde ich daraus das Board erstellen.
Johannes
Warum nimmst Du nicht einen PIC mit integriertem CAN? Ich habe den
MCP2515 auch mal eingesetzt und fand es ziemlich lästig, daß die
CAN-Peripherie ziemlich schwierig zu debuggen war, weil sie extern über
den SPI angehängt und keine interne Ressource ist.
Gruß, Stefan
Johannes schrieb:> oh ja,> jetzt mit Anhang.>> Müsste ich nochmal nachgucken, welcher PIC ein CAN-Modul besitzt und> dann evtl doch einen anderen Kontroller benutzen.
dsPIC33FJ128GP802.
Ist nebenbei noch ein wenig schneller.
Als Transceiver nimmst Du dann einen MCP2562.
fchk
Warum empfiehlst Du speziell diesen Baustein ohne konkrete Kenntnisse
über das Vorhaben von Johannes zu haben?
Dies ist keine Kritik, sondern ernstes Interesse an deinen
Auswahlkriterien.
Viele PIC24F Anwender fühlen sich wohler, wenn man die PIC24H oder
PIC24E Reihe empfiehlt. Auch wenn die Typen näher am dsPic33 als am
PIC24F sind.
Der Unterschied zwischen PIC24 und dsPIC33 sind die zusätzlichen
DSP-Erweiterungen. Die kann man benutzen oder auch nicht.
Der genannte Typ ist recht gängig und universell.
fchk
Erst einmal danke.
Also eigentlich möchte ich nur eine art CAN-Sniffer erstellen, wo ich
die Daten über UART an meinen Computer geben kann. Welchen Controller
ich dafür verwende ist eigentlich relativ egal. Allerdings habe ich
gesehen, dass der dsPIC33F nur bis 3.6V kann. Habe aber gerade
nachgesehen, dass die anderen Bauteile ebenfalls mit 3.6V funktionieren.
Bis auf das Bluetooth-Modul, welches ich mit dem UART anspreche,
benötigt 5V. (Habe das HC-06). Da muss ich noch einmal überlegen, was
ich mache.
Momentan sehe ich zwei Möglichkeiten
1.) So lassen wie es ist (bis auf INT vom mcp2515) da ich aber keinen
Interrupt-pin am PIC mehr frei habe müsste ihc mir da eh was anderes
überlegen
2.) einen dspic33f... und nur einen mcp2551. Dann das ganze mit zwei
Spannungsregler, einmal für 3.6V und einmal für 5V.
Johannes
Johannes schrieb:> Also eigentlich möchte ich nur eine art CAN-Sniffer erstellen, wo ich> die Daten über UART an meinen Computer geben kann. Welchen Controller> ich dafür verwende ist eigentlich relativ egal. Allerdings habe ich> gesehen, dass der dsPIC33F nur bis 3.6V kann. Habe aber gerade> nachgesehen, dass die anderen Bauteile ebenfalls mit 3.6V funktionieren.> Bis auf das Bluetooth-Modul, welches ich mit dem UART anspreche,> benötigt 5V. (Habe das HC-06). Da muss ich noch einmal überlegen, was> ich mache.
Es ist zwar löblich sich mit bestimmten Sachen selbst zu beschäftigen,
aber manchmal sollte man seine Zeit besser nicht damit verbringen das
Rad immer neu zu erfinden. Mit dem Usbtin hat Thomas Fischl ein gut
dokumentiertes OpenSource-Projekt veröffentlicht. Da kannst du dir
genügen Insperation holen, zumal es ja auch auf einem PIC und dem
MCP2515 aufbaut. Da sind auch sicher schon viele Stunden in die
Entwicklung der Software geflossen, das muss man dann erst mal wieder
aufholen. Oder man benutzt es und beschäftigt sich gleich mit dem
Projekt wofür man den Sniffer überhaupt braucht. Hier noch der Link:
http://www.fischl.de/usbtin/
Hallo,
> Also eigentlich möchte ich nur eine art CAN-Sniffer erstellen, wo ich> die Daten über UART an meinen Computer geben kann. Welchen Controller
Der MCP2515 hat aber nur einen winzigen Empfangs-FIFO von zwei Frames.
Interrupt kommt, wenn eine RX-Mailbox voll ist, und dann hast Du nur
noch eine Frame-Laenge Zeit, das erste Frame abzuholen. Fuer einen
Sniffer ist das riskant...
> 1.) So lassen wie es ist (bis auf INT vom mcp2515) da ich aber keinen> Interrupt-pin am PIC mehr frei habe müsste ihc mir da eh was anderes> überlegen
...besonders wenn Du den mcp2515 nur gelegentlich pollst.
Ich rate sehr zu einem uC mit eingebautem CAN mit ordentlich Mailboxen,
die sich in FIFO umschalten lassen.
Johannes schrieb:> Also eigentlich möchte ich nur eine art CAN-Sniffer erstellen, wo ich> die Daten über UART an meinen Computer geben kann.
Also wenn's über BT gehen soll und dir der Controller eigentlich egal
ist dann habe ich da auch schon mal was gemacht. Ist zwar eigentlich ein
BT-CAN Interfae aber wenn man nur die eine Richtung benützt, dann ist es
eben ein Sniffer;-)
<edit> Sorry, der PIC war ein 18F2xK80 und das BT Modul ist das WT12.
Die Firmware würde ich bestimmt auch noch finden;-)
Für einen CAN-Sniffer halte ich den MCP für ungeeignet. Allein um den
Status nach einem Interrupt abzufragen, musst Du schon mehrere Bytes
über SPI senden. Bei kontinuierlichen 1Mbit-CAN-Daten verlierst Du
unweigerlich Daten. Auch der Usbtin hat bei 1Mbit Probleme bzw verliert
msgs.
Bist Du sicher, daß Dein Bluetooth-Modul 5V braucht? Die allermeisten
Module brauchen 5V nur noch, weil sie intern einen weiteren 3.3V
Spgsregler zwischengeschaltet haben.
Gruß, Stefan
Stefan K. schrieb:> Module brauchen 5V nur noch, weil sie intern einen weiteren 3.3V> Spgsregler zwischengeschaltet haben.
Ja, so ist es auch bei mir. Also das eigentliche Bluetooth-Modul ist auf
einer weiteren Platine gelötet, wo ein Spannugnsregler drauf ist,
welcher aus den 5V wieder 3.3V macht.
Später wäre es natürlich auch nicht schlecht, wenn ich den CAN-Bus nicht
nur abhören kann, sondern auch was draufschreiben kann (das habe ich
oben falsch gesagt (also mit dem CAN-Sniffer)).
Ich denke, ich mache mir jetzt noch einmal neue gedanken, wie ich es
anders machen kann. Wahrscheinlich wird es dann doch auf einen
dspic33f... hinauslaufen und ein Bluetooth-Modul, welches ich direkt mit
3.3V versorgen kann.
Auch für den Link bin ich sehr dankbar und muss ich mir heute abend erst
einmal in ruhe genauer durchgucken. Aber grob ist es ja so etwas, was
ich machen möchte.
Vielen dank schon einmal für die vielen Tips.
Johannes
Johannes schrieb:> Ja, so ist es auch bei mir. Also das eigentliche Bluetooth-Modul ist auf> einer weiteren Platine gelötet, wo ein Spannugnsregler drauf ist,> welcher aus den 5V wieder 3.3V macht.
Kannst du das BT-Modul nicht einfach mit auf deine "neue" Platine
machen?
Johannes schrieb:> Ja, so ist es auch bei mir. Also das eigentliche Bluetooth-Modul ist auf> einer weiteren Platine gelötet, wo ein Spannugnsregler drauf ist,> welcher aus den 5V wieder 3.3V macht.
Dann schmeiß den Spannungsregler runter und überbrücke die Pads. Problem
erledigt.
Und Dir ist aufgefallen, dass ich Dir einen MCP2562 als Transceiver für
den dsPIC33FJ genannt habe? Der hat nämlich zwei VDD-Pins: einmal 3.3V
für die Logikseite und einmal 5V für die Bus-Seite.
Ist auch nicht teurer.
fchk
Frank K. schrieb:> Und Dir ist aufgefallen, dass ich Dir einen MCP2562 als Transceiver für> den dsPIC33FJ genannt habe? Der hat nämlich zwei VDD-Pins: einmal 3.3V> für die Logikseite und einmal 5V für die Bus-Seite.>> Ist auch nicht teurer.
Cool, ist mir noch gar nicht aufgefallen.
(werde ich mir auf jeden Fall mal vormerken)