Hallo alle zusammen. Ich suche einen CAN Baustein der ähnlich anzusprechen ist wie ein I2C IO Baustein (über / oder 3 Pins die Adresse und fertig. Ich möchte einen Busknoten realisieren, der in eine halbvolle UP Dose passt. Im Idealfall besteht das ganze aus einem Relais, dem IO Baustein und einer ca.3x2cm grossen Platine. Die Avr mit CAN haben alle 30+ Pins was ich nicht wirklich brauche. Jemand eine Idee?
0815joe schrieb: > grossen Platine. Die Avr mit CAN haben alle 30+ Pins was ich nicht > wirklich brauche. Jemand eine Idee? Microchip hat eine deutlich bessere Peripherieauswahl. Du könntest z.B. zum PIC 18F2580 oder dessen Low-Power-Weiterentwicklung PIC18F25K80 (greifen, der in 28 Pins schon alles drin hat, und bräuchtest dann nur noch den üblichen Transceiver wie z.B. MCP2551. Die ECAN-Einheit des genannten PICs ist eine Weiterentwicklung des MCP2515 und durch die direkte Integration in den Prozessor deutlich effizienter und einfacher anzusteuern als ein externer Controller. fchk
Ich verwende derzeit die ARM-Cortex M0 Teile von NXP, Es gibt Evalboards (LPCxpresso) mit JTAG und kostenslose Entwicklungsumgebung von CodeRed dazu LPC11C12 ohne Transceiver LQFP48 LPC11C14 ohne Transceiver LQFP48 und für die Unterputzdose, da gibt es dann nur noch die Stromversorgung dazu zu basteln LPC11C22 mit Transceiver LQFP48 LPC11C24 mit Transceiver LQFP48 Alle haben CAN-Treiber on chip und kosten ca. 2..4 Euro in kleine Stückzahlen (unschlagbar) Kleiner, kostengünstiger und einfacher geht es derzeit nicht... Wenn's ein 8 Bitter sein soll, dann ATmega16M1 ohne Transceiver ATMega32M1 ohne Transceiver ATmega64M1 ohne Transceiver
Hi. Danke für eure Antworten. Habe heute auch schon ein wenig gesucht und bin auch schon auf den MCP2515 gestossen. Nur hab ich noch keinen Dunst wie man den konfiguriert. Das Teil muss wirklich nichts können als das Relais auf Kommando zu schalten. Ja der Pic 18F2580 wäre ein paasender Kandidat nur auch schon fast zu übertrieben für den Anwendungsfall und leider ein Pic. Aber wenns nicht anders geht werd ich den nehmen. Hat wer Erfahrung mit dem mcp2515? Lg
Der Chip muß ja nichts weiter können....... Schonmal herausgefunden was ein CAN-Bus-Controller kann? Ich empfehle dringend mal diesen Link: http://www.me-systeme.de/canbus.html#1578569eb20a44615
0815joe schrieb: > Hi. > Danke für eure Antworten. Habe heute auch schon ein wenig gesucht und > bin auch schon auf den MCP2515 gestossen. Nur hab ich noch keinen Dunst > wie man den konfiguriert. > Das Teil muss wirklich nichts können als das Relais auf Kommando zu > schalten. Der MCP2515 braucht zwingend einen extra Mikrocontroller zum arbeiten. Alleine kann das Teil nichts. Der genannte Pic hingegen ist alleine funktionsfähig. Microchip liefert c-Bibliotheken beim C18 mit, mit denen man Messages senden und empfangen kann. Den Est musst Du selber programmieren. Fchk
Du kannst auch einfach einen CAN-IO Expander von Microchip nehmen. MCP2502x Familie z.B. MCP 25050: http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010402 4x 10bit AD eingang 2x PWM Out 8x IO Schaus dir mal an. Klasse Dinger.
Ok, habs mir selber mal angeschaut. Die Bausteine sind zwar an sich klasse, aber du brauchst eine Programmerschaltung die wohl über das Parallelport läuft. Damit ist das Ding für mich und vielleicht auch für den TO unbrauchbar Dann doch lieber MCP2551 + µC oder eben einen PIC18FxxK80 oder PIC18Fxx80
Matthias Keller schrieb: > Du kannst auch einfach einen CAN-IO Expander von Microchip nehmen. Hallo Matthias, kann ich im Datenblatt nicht so sehen: kann der Chip auch mit dem ICD3 programmiert werden? Hast du mal ein Beispiel für "auf PortBit xyz ist ein Flankenwechsel, dann schickt der Baustein das und das" ? Gruß Helmut
> aber du brauchst eine Programmerschaltung die wohl über das Parallelport >läuft. Warum über den Parallelport?
Hallo Hans, ich habe es auch gerade erst gelesen, steht im Datenblatt. Wenn das Evo-Board nicht soooo teuer wäre, würde ich's mal versuchen. Gruß Helmut
> Wenn das Evo-Board nicht soooo teuer wäre, würde ich's mal versuchen.
Man nehme 2 Transistoren zum Schalten der Programmier- und
Versorgungsspannung, einen µC (ATTinyxxx) o. ä. und etwas Zeit (WEP).
Ergebnis hier posten ;)
Kurze Frage von meiner Seite, der auch gerade mit CAN als Hausbus arbeitet: Wo kann man denn diesen MCP2502X bezizehen? Danke & Gruß Sascha
> Wo kann man denn diesen MCP2502X bezizehen? http://www.reichelt.de/ICs-M-MN-/MCP-25050-I-P/index.html?;ACTION=3;LA=444;GROUP=A217;GROUPID=2914;ARTICLE=89335;START=0;SORT=artnr;OFFSET=16;SID=10TgDGc38AAAIAACK3l3Aa195a0f0cfb7c6df67e142e98abd4c60
Matthias Keller schrieb: > Dann doch lieber MCP2551 + µC oder eben einen PIC18FxxK80 oder > PIC18Fxx80 Es gibt auch kleine STM32 mit CAN. Die STM32F103 + ext. Transceiver sind ganz nett. Haben auch mehr Speicher als die NXP-Teile. Bei dem MCP brauchst du immer einen Transveiver + CPU, also 3 ICs minimal. ---
Hans schrieb: >> Wenn das Evo-Board nicht soooo teuer wäre, würde ich's mal versuchen. > > Man nehme 2 Transistoren zum Schalten der Programmier- und > Versorgungsspannung, einen µC (ATTinyxxx) o. ä. und etwas Zeit (WEP). Oder ein PicKIT 2 und wenig Zeit: http://liionbms.com/php/programming_MCP250xx.php fchk
Danke Frank, die Configurations-Soft sieht ja gut aus. Hast du, oder jemand Anders ein Beispiel? zB. 8MHz, 125 kHz Boudrate Nehmen wir mal an, die Receive-ID soll 121dez und die Transmit-ID soll 160dez sein. Zyklische Übertragung wäre schön, aber im Lernprozess wohl zu viel. Schon mal vielen Dank für die Antwort.
"Get a bunch of MCP250xx chips, DIP version (they are One-Time-Programmable, so every revision means using a new chip)" Habe ich leider erst jetzt gelesen: Killerargument.
Finde ich nicht so schlimm. Das Problem ist nur, dass man um die Parameter Bescheid wissen muß. Ich habe Schwierigkeiten DAS mit der Zeit TQ zu verstehen. Gibt es da etwas im WWW ?
Hallo ! Kann dazu kurz etwas sagen: Die Bitzeit (bei 125 000 Baud = 125 kBaud ist sie 8 usec) wird aufgeteilt in einzelne "Time-Quanten". Je nach CPU Takt nimmt man eine unterschiedliche Anzahl von Time Quanten (damit es eben mit der Baudrate hinkommt), aber beispielsweise (über den Daumen) 12 oder 16. Das erste Time Quant ist für die Synchronisation. Bis der Kontroller den Zustand des Bus einliest, vergehen aber die weiteren Time Quanten. Das Propagation Segment und die Phase1 kann man auch zusammenfassen (macht z.B. der XC167). Wichtig ist nur, dass nach Phase 1 der Zustand des Busses eingelesen wird. Je nach Laufzeit (Verzögerung in der Leitung (Lichtgeschw.) aber auch in den Treiberbausteinen) stellt jetzt aber der eine oder andere Baustein fest, dass er nicht synchron zur ersten Flanke läuft (deshalb gibt es ja das Bit Stuffing, damit wenigstens alle 5 Bit eine Flanke kommt). Jeder Baustein kann sich dann nachsynchronisieren und verschiebt den "Sampling Point" innerhalb Phase 1 und 2 entweder nach vorne oder zurück. Hausnummer für 125 kBaud: Zeit tq für ein Time-Quant: 500 ns Insgesamt pro Bit: 16 Time-Quanten -> Bit-Zeit = 8 usec 1.) Ein Time Quant für Sync 2.) Propagation + Phase 1 bspw. 13 Time-Quanten 3.) Phase 2: Die restlichen also 16-13-1 = 2 Time-Quanten Ist allerdings nur grob erklärt. Viele Grüße!
Hallo TT, Audi TT ?? Danke für die "grobe" ;-) Erklärung. Gibt es Faustformeln für zB 125kHz?
Ich meine mit Faustformel: Das SYNC_SEG hat 1 Time Quantum, aber das Tq wird aus dem Takt gewonnen. Der ist aber bei 80MHz grosser als bei 8MHz, muß Das nur ins Verhältnis gesetzt werden?
So, ich habe Thema inhalliert. Wenn ich die Beispiele, vorwiegend von Microchip oder auch ein BRP-Rechner, sehe, dann nehmen Die immer 8TQ oder 16TQ. Gibt es dafür einen Grund? Oder macht Das nur Microchip?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.