-
Thread
CAN-BusTiming-Probleme
habe 2 identische Schaltungen, die den AT90CAN128 benutzen und weitere Schlatungen, die jeweils den MCP2515 nutzen. Die AT90CAN-Schaltungen arbeiten prima zusammen und kommunizieren. Anders mit den MCPs. Der AT90CAN bringt STuff-errors, bei den MCPs ist die Firmware nicht so raffiniert, die zeigen
125Kbit betreiben @ 16 MHz. Sind beide Baudrate Prescaler identisch ? Wenn ich die Datasheets von MCP2515 und AT90CANxxx betrachte, dann habe ich den EIndruck, als ob der MCP ein TimeQUanta als 2x Tosc ansieht, der AT90 aber nicht. MCP2515-Datasheet S. 38 Liege ich da falsch ? Denn dann müsste ich
-
Thread
-
Thread
MCP2515 schon wieder. Fehlererkennung abschalten o.Ä
scheint, du hast ein grundlegendes Verständnisproblem. Prinzipiell hast du die Möglichkeit, den MCP2515 über die SPI deutlich schneller zu bedienen, als eine CAN-Botschaft dauert (ok, bei 1MBit und 2 MCP2515 kann es je nach MC-Takt eng werden). Das gilt sowohl fürs Lesen einer Botschaft als auch das
Alex S. schrieb im Beitrag #2389310: > Ich benutze 2 Can-Controller vom Typ MCP2515 Das heißt also, Du mußt 2 CAN-Busse bedienen. Jeder MCP2515 kriegt seine eigene Interruptleitung und seine eigenen 2 FIFOs. Ein Empfangsinterrupt liest ein Paket in den FIFO ein und das wars
-
Thread
MCP2515 Mitten im Bertieb Filter einstellen
vorsichtshalber den Interrupt If V1 = 0 And V2 = 0 And V3 = 0 Then Höhe = byte4 Länge = byte5 V1 = 1 Mcp2515_bitmodify2 Canctrl , &B11100000 , &B10000000 Mcp2515_write_register2 Rxf0sidh , &B11100110 Mcp2515_write_register2 Rxf0sidl , &B01000000 Mcp2515_bitmodify2 Canctrl
, &B10000000 Mcp2515_write_register2 Rxf0sidh , &B00110101 Mcp2515_write_register2 Rxf0sidl , &B10100000 Mcp2515_bitmodify2 Canctrl , &B11100000 , &B01100000 Mcp2515_read_register2 Goto
-
Thread
SPI - RS-485 - CAN
MCP2515 eng verwandt ist. Die AT90CAN AVRs mit CAN drin sind demgegenüber deutlich komplexer gebaut.
Maik Geßner schrieb im Beitrag #2393573: > Werd wohl daher auf einen Pic18F6680 und einem MCP2515 steigen. somit > hab ich D/A I/O, RS485 und Can angedeckt... Der PIC hat CAN doch schon intern. Weshalb dann noch den MCP?
-
Thread
CAN-Bootloader - RESET ?
Hallo, ich habe mehrere Geräte (ATMEGA32 + MCP2515) an einen CAN-Bus, welche mittels Bootloader http://www.kreatives-chaos.com/artikel/can-bootloader programmiert werden sollen. Wie kann ich die Geräte reseten, um den Bootloader zu starten
-
Thread
Gemeinsamer Hausbus
Nach langem Experimentieren mit AVR, PIC, MCP2515 bin ich beim LPC11C24 gelandet. Inzwischen laufen bei mir ca. 120 Unterputzknoten hinter normalen Schaltern/Steckdosen (JUNG) (Tipschalter, Aktoren mit bistabilen Relais, Temperatur- und Feuchtesensoren
-
Thread
MCP2515 an MSP430
mit dem Gedanken, mir einen CAN-Bus aufzubauen (für diverse Sensoren). Hat jemand schonmal einen MCP2515 mit einem MSP430 verheiratet? Dann müßte ich nicht bei 0 anfangen. Außerdem wären noch ein einfacher PC Anschluß für den CAN-Bus gut zu haben (per USB oder RS232). Wenn da jemand einen Schaltplan
-
Thread
Probleme mit MCP2515
Ich beschäftige mich gerade mit dem CAN-Bus und habe mir hierzu ein paar Platinen mit Mega16/MCP2515/MCP2551 hergestellt. Um das Rad nicht neu erfinden zu müssen, habe ich die Lib von Creatives-Chaos verwendet. Allerdings bekomme ich sie nicht zum Laufen. Init etc. läuft, aber bei mcp2515_static_filter
nachzuvollziehen, was da in Deinem Code abgeht. Da sind mir einige Aufrufe nciht plausibel. Von woher wird mcp2515_static_filter aufgerufen. Was macht canstat() usw...
-
Thread
MCP2515 Befehl
Nun, Du sendest an den MCP2515 0x90, 0x92, 0x94, 0x96 und dann bei den Befehlen 0x92 und 0x94 dann 8 mal eine Null, weil der Controller sonst nichts sendet. Dann gibt er die Daten der Messageboxen aus. Und setzt das Interruptflag
schickst du 0x90 und dann taktest du mittels Clock so lange bis du alle gewünschten Byte hast, der MCP2515 beginnt mit dem Inhalt der Adresse 0x61 und schickt dir Byte für Byte. Wenn du den gesamten Buffer gelesen hast, dann wird der Interrupt gelöscht. Christian
-
Thread
Braucht der MCP2515 Pausen?
Hallo. Ich arbeite gerade mit einem Atmega32 (16Mhz) und dem MCP2515 (16Mhz), der per SPI angeschlossen ist. Meine Frage ist, ob der Can-Controller irgendwo beim Operieren Pausen braucht? Vielleicht weiss das Jemand, bzw. schon ausprobiert hat. Die Pause beim
Ich habe den MCP2515 verwendet und mir ist nichts dergleichen bekannt. Gibt es einen konkreten Anlass für diese Frage, wie etwa "Es tut nicht und mir fällt sonst nichts mehr ein"?
-
Thread
MCP2515 richtig initialisiert?
'Senden 1 Byte**************************************** Sub Senden1(byval D0 As Byte ) Mcp2515_bitmodify2 Txb0ctrl , &B00000011 , &B00000011 Mcp2515_write_register2 Txb0sidh , Idh Mcp2515_write_register2 Txb0sidl , Idl Mcp2515_write_register2 Txb0dlc , &H01
dann auch. Wie soll es anders sein hab ich jetzt aber das nächste Problem: Ich betreibe den MCP2515 im interrupt betriebe. Also vom MCP2515 eine Leitung zum int2 beim Atmega. Diese zeigt mir an wann der Nachrichten Buffer voll ist und lese in dann über die ISR Sequenz aus. Klappt auch alles wunderbar
-
Thread
Frage zum Datenblatt MCP2515
Hallo. Habe eine Frage. Datenblatt ab Seite 25 geht es los. http://ww1.microchip.com/downloads/en/DeviceDoc/21801d.pdf Und zwar, sehe ich das richtig, dass, wenn ich Filter2,3,4,5 verwenden will, dann kommen die Daten im RXB1 an? Eigentlich wollte ich nur mit RXB0 arbeiten, da es für mich einfacher ist, nur einen Empfangsbuffer zu nutzen. Geht das nicht, dass ich für RXB0 3 oder 4 Filter einstelle? Danke Gruss Alex
-
Thread
STM32 ST-Library Pro oder Kontra
ein Treiber für UART, mit sehr ähnlichem Interface bei LPC2000, STR9, STM32. Ebenso CAN für AVR/MCP2515, LPC2000, PIC16, STM32. Das lohnt sich aber nur, wenn sich ein einheitliches Interface nach oben anbietet und die Varianz der Funktionalität der Hardware sich verbergen lässt. Bei SPI scheint mit
-
Thread
Bug in Bascom?
Abfrage: Do Waitms 1 Loop Int_mcp: Gosub Lesen Return Lesen: Disable Interrupts Mcp2515_read_register Rxb0d0 Wert1 = Canin Mcp2515_read_register Rxb0d1 Wert2 = Canin Mcp2515_read_register Rxb0d2 Wert3 = Canin If Wert1 = &H10 And Wert2 = &H00 And Wert3 = &H01 Then Gosub Bestaetigen
Du bist schon in einer INterrupt Service Routine. Interrupts sind da sowieso gesperrt. > > > Mcp2515_read_register Rxb0d0 > Wert1 = Canin > Mcp2515_read_register Rxb0d1 > Wert2 = Canin > Mcp2515_read_register Rxb0d2 > Wert3 = Canin > > > If Wert1 = &H10 And Wert2 = &H00 And Wert3 = &H01
-
Thread
Interrupt-Problem mit MCP2515
können. Über die CAN-Schnittstelle möchte ich dem FPGA Informationen zuschicken. Diese werden vom MCP2515 verarbeitet und über SPI dem Microblaze zugeführt. Die CAN-Schnittstelle betreibe ich mit 1Mbit/s. Die SPI-Schnittstelle liest den MCP2515 mit 3,75MHz aus. Es tritt nun folgender Fehler auf. Sende ich dem MCP2515 kontinuierlich CAN-Nachrichten, ohne Pause, werden diese vernünftig empfangen und der MCP2515 reagier wie er soll. Dabei werden ca. 10 Nachrichten jeder 15,9ms gesendet. Schalte ich diesen Test
-
Thread
Einfache Frage zu Bascom Syntax
bei meinem Aktuellen Beispiel: Int_mcp: Gosub Lesen Return Lesen: Disable Interrupts Mcp2515_read_register Rxb0dlc Wert1 = Canin Mcp2515_read_register Rxb0d0 Wert2 = Canin Mcp2515_read_register Rxb0d1 Wert3 = Canin Mcp2515_read_register Rxb0d2 Wert4 = Canin If Wert1 = 3 And Wert2
-
Thread
AT90CAN128 - Umstellung der Fuse - Fehler?
. Beim 16MHz Quarz habe ich die gleichen 22pF Kondensatoren eingesetzt wie schon zuvor am dem MCP2515 und dem ATMega328P - beide gehen mit der Bestückung, nicht aber der AT90CAN. In einem Anderen Beitrag habe ich jetzt gelesen das die Kondensatoren schon von dem Quarz und nicht vom MC abhängen. Aber
-
Thread
Probleme bei CAN Bus
ueber den CAN Bus empfangen oder senden kann. Ich verwende einen ATMega32 der ueber SPI mit einem MCP2515 verbunden ist. Als Bustreiber verwende ich einen MCP2551. Schaltplan befindet sich im Anhang. Hab hier kein Eagle deswegen mal schnell einen mit Powerpoint gemacht. Ich benutze die Bibliothek
-
Thread
CAN Gateway mit AVR möglich?
aussendet ein Gateway zu bauen. Ist das noch mit einem 8-Bit AVR, also AT90CANxxx oder mit einem MCP2515 möglich? Schönen Abend. Herbert
da alle Nachrichten durch das Gateway müssen, und nur eine verändert wird. Im Datenblatt des MCP2515 steht, wie du eben gesagt hast, dass er den RXB1 füllt, wenn der RXB0 voll ist. Im Danteblatt des AT90CAN finde ich eine ähnliche Funktion nicht. Eventuell verwende ich einfach 2x MCP2515.
-
Thread
Kommunikationsproblem zwischen ATMega32 und MCP2515 ueber ISP
einem AT90CAN128 und einen ATMega32 aufbauen. Dazu habe ich den ATMega32 mit einem CAN Controller MCP2515 und diesen Controller mit einem MCP2551 verbunden. Den Bus an sich habe ich noch nicht aufgebaut, da ich erstmal den MCP2515 initialisieren will. Dieser ist ueber ISP mit meinem ATMega32 verbunden
stimmt irgendetwas mit dem SPI-Interface nicht. Ich habe aus diesem Grund auch mal einen Pin des MCP2515 als Ausgang konfiguriert und mal ne LED drangehaengt um zu ueberpruefen, ob der MCP2515 initialisiert wurde. Leider ebenfalls ohne erfolg. Hat jemand eine Idee was ich falsch mache? Den Quellcode
-
Thread
Quartz an MCP2515
Hallo zusammen Das Bild im Anhang zeigt den am Ausgang ( CLKOUT/SOF am MCP2515) gemessenen Signalverlauf an. Ich frage weil dir Kommunikation (möchte nur CAN- Empfangen) nicht funktioniert. Denn Rest habe ich getestet und denke das es stimmt. Hatte anfangs 22pF am Quartz bis
-
Thread
MCP2515 Initialisierung
0 Mcp2515_write_register Rxm0eid8 , 0 Mcp2515_write_register Rxm0eid0 , 0 Mcp2515_write_register Rxm1sidh , 0 Mcp2515_write_register Rxm1sidl , 0 Mcp2515_write_register Rxm1eid8 , 0 Mcp2515_write_register
&B00000000 Print "ende MCP2515_init " Return
-
Thread
Reset des MCP2515
Hallo! Habe immer mit den MCP2515 im DIL Gehäuse gearbeitet. Dabei wurde der Reset Pin immer an VDD direkt angeschlossen. Hat immer alles funktioniert. Jetzt habe ich auf SMD umgestiegen, und nun fangen die Probleme an. Der
-
Thread
Takt aus MCP2515 für µC und zweiten MCP
Hallo Forum, ich habe CAN-Interface mit µC (ATmega168) und MCP2515 gebaut. Beide habe ihren eignen Quarz. Nicht weiter schwierig. Die nächste Version soll - zwei CAN-Controller haben (wieder mit MCP2515) - Der Takt könnte über einen Quarz am ersten CAN-Controller
-
Thread
AT90CAN128 CANBUS mit 50kbit
UART sache Ändern, Stichwort: keine "busy-wait" Warteschleifen "Ich habe deshalb mit dem MCP2515 weiter gemacht. Für anspruchsvollere Aufgaben ist der AT90CANxxx zu umständlich in der Handhabung." das hört sich sehr interessant an. außerdem kenn ich mich in SPI besser aus. da gibts auch
can-testboard ein kleines Testboard habe ich hier mit einem ATMeg644 @ 20Mhz. da könnte ich einen MCP2515 dranhängen, oder was meinst du? so wie ich das sehe ist das die einfachere / erfolgsversprechendere lösung...
-
Thread
AVR + SJA1000 oder MCP2515
oder dergleichen recht gut an. Nun habe ich hier im Forum einiges zum SJA1000 sowie auch zum MCP2515 gefunden. Was würdet ihr empfehlen? Der MCP2515 wird ja per SPI angesprochen, und der SJA1000 parallel. Die Baudrate Canseitig beträgt 500kBit/s, ist leider nicht ganz wenig. Wäre dankbar
Ansonsten gibt es von Fabian Greif (kreatives-chaos.com) ein CAN-Testboard mit einem ATMega und einem MCP2515 drauf, dazu auch eine CAN-Bibliothek für AVR-GCC. Funktioniert prima, habe ich in einem Testaufbau mit 1 MBit laufen.
-
Thread
Welches CAN-Bus Tool?
Verwendungszweck. Die Software ergibt sich häufig aus der Hardware. Sehr günstig ist das Microchip MCP2515 Bus-Monitor-Set. 2 Identische Module mit USB, bei denen eines einen Busteilnehmer simulieren kann für ca. 50Eur. Die Software taugt aber nur, um sich die Rohwerte darstellen zu lassen. Wenn es Teuer
-
Thread
ATMEGA644PA an 3,3V mit 20MHz
nichtmal 6MHz. Hatte anfänglich auch Bedenken, dass die SPI zum Flaschenhals wird. SD-Card und MCP2515 dran. Jede Sekunde gibts einen Block zum Schreiben an die SD-card, ziemlich viel traffic auf dem CAN-Bus (500kBit). Stresstest bestanden :-), Software allerdings etwas tricky. Pegelwandler sind auf
-
Thread
Welches Bussystem für Beleuchtungssystem mit RGB-Leds
Hardware-Controller nimmt (es gibt für AVR mehere fertige Bibliotheken). Kosten sind auch eher niedrig (MCP2515 + TJA 1050 zusammen 1,75 € @ 100 Stück), ist robust, nicht ganz schnell genug (also mehrere parallele, auch logisch getrennte Busse) wenn man auf Robustheit Wert legt. Bei mir versorgt allerdings
-
Thread
MCP2515 und SD-card an SPI
das schon mal jemand gemacht? Hab mich mit SD-cards noch nie beschäftigt.... SPI-Init für den MCP2515: // ATMega32A // SPI initialization // SPI Type: Master // SPI Clock Rate: 2*4000,000 kHz // SPI Clock Phase: Cycle Half // SPI Clock Polarity: Low // SPI Data Order: MSB First Klappt das
-
Thread
EAGLE : Viele Fehler bei DRC
Eagle Libs. sind eine einzige Katastrophe, was hat der B.Druck auf den Pads zu suchen ?? Siehe "MCP2515", "IC1" etc.. (ist zwar hier nicht wirklich ein Problem, da der B-Druck auf BS ist und die LBs auf LS, aber es ist schlampig) Kein Vorwurf an "Flins", das ist seit jeher typisch Eagle. Eins
-
Thread
MCP2515 Probleme wenn an Bus angeschlossen
Ich versuche mit einem MCP2515 CAN Controller und einem SN65HVD230 CAN Tranceiver Nachrichten auf einem HighspeedBus zu lesen. Zuerst zum Problem: Ich kann im Loopback Modus Nachrichten verschicken und auch versenden. Sobald
ist mir noch was aufgefallen. Siehe unten. int main() { . . . //set Loopback Mode mcp2515_bit_modify(CANCTRL, (1<<REQOP2)|(1<<REQOP1)|(1<<REQOP0), ^ ^ ^ | | | WAS SOLL
-
Thread
Simpler CAN Baustein
MCP2515 - allerdings SPI
und leider ein Pic. Aber wenns nicht anders geht werd ich den nehmen. Hat wer Erfahrung mit dem mcp2515? Lg
-
Thread
CAN-Interface mit galvanischer Trennung für Pandaboard (OMAP4)
CAN-Controller erfolgreich mit Linux auf dem Pandaboard anbinden können? Ich habe sowohl SPI und MCP2515-Support im Kernel aktiviert und die board-Datei um die SPI und MCP2515-Routinen erweitert. Jedoch schlägt das Kompilieren des Kernels fehl, weil Attribute wie ".model" im SPI struct nicht bekannt
index.php/Linux_Kernel_2.6.35.y Vielleicht lässt sich da herausfinden, was zu tun ist, um den MCP2515 ans Laufen zu bekommen.
-
Thread
Bascom Atmega32 2 SPI gleichzeitig
Hallo. Ich möchte 2 MCP2515 an einen Atmega32 anschliessen. Bis jetzt habe ich nur mit einem gearbeitet, was auch funktioniert hat. Was muss ich machen, damit ich 2 MCP2515, die über SPI funktionieren anschliesen kann?
-
Thread
Bus für >50m
Achso...ganz vergessen. z.B. so: Tiny <--> MCP2515
schrieb im Beitrag #2203930: > Wow so viele Antworten an einem sonnigen Sonntag :) > Coole idee den MCP2515 zu nutzen. Ich werde mich mal in CAN bus > einlesen. Und wenn Du dann den MCP2515 durch einen PIC18F25K80 ersetzt, bekomst Du auch noch gleich einen integrierten Prozessor mitgeliefert. Vorteil
-
Thread
CAN Bus Log Verständnisfrage
trotzdem welche ausgelesen. Wie kann das sein? Das CAN-Modul habe ich selbst gebaut mit den ICs MCP2515 und MCP2551, wie oben im Schaltplan zu sehen. Für die Kommunikation verwende ich eine fertige CAN-Bus-Library, die ich im Netz gefunden habe (MCP2515.zip). Als Controller verwende ich ein Arduino
> 8 nur die ersten 8 Daten-Bytes auslesen und den Rest ignorieren - Zeitstempel mit ausgeben - MCP2515 austauschen? Hab ich da noch was wichtiges vergessen?
-
Thread
CAN-Bibliothek fans laufen bringen
Beide Seiten sind auf250 kBaud eingestellt. In der config.h habe ich nur #define SUPPORT_MCP2515 0 #define SUPPORT_AT90CAN 1 #define SUPPORT_SJA1000 0 gesetzt. Außerdem in der can_private.h #ifndef CAN_RX_BUFFER_SIZE #define CAN_RX_BUFFER_SIZE 200 #endif
sollte etwas machen. Die ist aber auch für einen ATMEGA32 mit F_CPU = 14745600 und einem externen MCP2515 !!!
-
Thread
Grundlegende Fragen eines Newbie - irq - tasten und schalten
kann man schon einiges machen. Wobei es den ATMEGA128 für um die 9 Euro gibt. Da dann noch nen MCP2515 dran für 1,50 Euro und man kann einen CAN-Bus aufbauen. Oder gleich nen AT90CAN für 8 Euro und nen CAN-Tranciever alla MCP2551 oder PCA82C250 für nen Euro. Wie gesagt, I2C ist für mich immernoch
-
Thread
AVR + CAN - Probleme mit ATMega8-16PU + MCP2515 + MCP2551
verbunden (wie gesagt, mit einem CAN-Bus). Auf beiden Platinen befinden sich ein ATMega8-16PU, ein MCP2515 und ein MCP2551. Auf beiden Megas läuft der gleiche Code. Jetzt zum Problem: Wenn ich von Platine1 Daten zu Platine2 schicke, kommen diese perfekt an. Anders herum (P2 -> P1) funktioniert nicht
und danke für die Antwort, Ich kann die AVR's miteinander, die MCP2551 miteinander und/oder die MCP2515 miteinander vertauschen und jedes Mal kann ich nur von P1 nach P2 senden. Und ja das ist die gleiche ID, aber erstens ist das egal, weil ich sowieso immer vorher komplet resette und 2. die Filter