-
Thread
SPI-Problem mit MCP2515 und ATmega16
Hallo, ich versuche gerade einen MCP2515 zum laufen zu bringen. Dazu hab ich mir den CAN-SPI Adapter von www.avrcard.com besorgt, den ich an einen ATmega16 angeschlossen habe (10 cm Leitung). Zum testen der Kommunikation vom MCP2515
hat schon mal jemand den mcp2515/2510 unter einem msp430 angesteuert? würde mich brennend für den code interessieren :-) mfg tüdel
-
Thread
Sammelbestellung CAN Testboards
Das hängt eigentlich nur vom Quarz des MCP2515 ab. Mit 16 MHz sind 1 MBit problemlos erreichbar. Chris
vllt. noch jemand ein bestücktes Board, dass er abgeben möchte? :) Gibt es die Möglichkeit 2x MCP2515 einzubinden? Sorry für die Anfänger Frage :) Besten Gruß
-
Thread
USB schneller als mit den FTDIs
Mag sein, aber dessen Bugs sind ärger als die vom MCP2515. Was mich besonders stört, ist ein Bug, der scheinbar in allen integrierten Versionen drin steckt und bislang nur im MCP2515 behoben wurde: Wenn aus irgend einem Grund an passender Stelle in der
vor allem für deftig gewürzte Buglisten gesorgt > (PIC18Fx58,2580,PIC30,PIC24-ECAN). Während der MCP2515 in der aktuellen > Version vergleicherweise sauber ist. Das ECAN Modul in den neuen dsPICs ist wesentlich überarbeitet im Vergleich zum "alten" MCP2515. Die haben zB DMA. Ich hab die ECAN Module
-
Thread
MCP2515 senden wird nicht ausgeführt
Hi Leute, ich bin darüber mit zwei Atmegas32 sowie MCP2515 und MCP2551 eine Verbindung aufzubauen. Jedoch bekomme ich es nicht hin. Die SPI Verbindung zu den MCP2515 funktioniert. Ich kann Register beschreiben und im nachhinein auch wieder auslesen.
schon den MCP2515 mit einem neuen getauscht. Keine Änderung.
-
Thread
SPI mit mehreren Slaves intelligent selektieren
SPI slaves die mit der variablen "mcp" ausgewählt werden. [c] .. #include utils.h #define MCP2515_CA_A B,2 #define MCP2515_CA_A D,5 uint8_t can_read_status(uint8_t type, uint8_t mcp) { uint8_t data; if(mcp) RESET(MCP2515_CS_A); else RESET(MCP2515_CS_B); spi_putc(type); data = spi_putc(0xff); if(mcp) SET(MCP2515_CS_A); else SET(MCP2515_CS_B); return data; } [/c] Meine Idee ist es nun anstatt der code intensiven if/else blöcke ein Array über einen index ( wie z.B. die variable mcp ) anzusprechen
-
Thread
Wireless CAN mit Arduino Nano und HC-05
Umsetzung des Projektes mittels folgender Bauteile zu versuchen: 2x Arduino Nano 328P, 2x HC-05, 2x MCP2515_CAN Board Bilder der verwendeten HC-05 Module und der MCP2515_CAN Boards findet ihr im Anhang. Außerdem habe ich einen Prinzipschaltplan für das MCP2515 Board angehängt. Rx und Tx des HC-05
operation mode to normal so the MCP2515 sends acks to received data. pinMode(CAN0_INT, INPUT); // Configuring pin for /INT input counter = 0; } void loop() { if(!digitalRead(CAN0_INT))
-
Thread
CAN-Interface
CAN-Buskabel (CANH, CANL, Masse) noch einen CAN-Transceiver. Ziemlich üblich im Arduino-Bereich ist die MCP2515/TJA1050-Kombo, entweder als Modul oder als "Shield". Der Arduino kommuniziert mit dem MCP2515 über SPI(MOSI/MISO/SCK/CS)/INT/Masse und evtl. RST, der MCP2515 mit dem TJA1050 über TXCAN/RXCAN/Masse
den Due: "DAC and CAN channel not supported." Dann hat er den Due und braucht dennoch noch einen MCP2515 ... LG, Sebastian
-
Thread
Probleme mit SW SPI (aus Atmel appnote 320)
der Assembler Routine einmal zu viel geschiftet? Hier der Aufruf in der Funktion: [c]void mcp2515_write_register(const uint8_t address, uint8_t data ) { spi_enable_mcp2515(); spi_putc(SPI_WRITE); spi_putc(address); spi_putc(data); spi_disable_mcp2515(); } uint8_t mcp2515_read_register(const uint8_t address) { uint8_t ret; spi_enable_mcp2515(); spi_putc(SPI_READ); spi_putc(address); ret = spi_putc(0x00); spi_disable_mcp2515();
-
Thread
CAn-Controller und AVR ???
Habe MCP2515 CAN-Controller abzugeben (war eine Bestellung vom Großhändler). Bei Bedarf >> Mail MfG Uwe
MCP2515 CAN-Controller gibt es als Samples bei Microchip, und das für lau. Bis zu drei Stück pro Bestellung. Natürlich auch die anderen interessanten CAN-Steinchen...
-
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
Can Bus Daten auslesen
_500KBPS); // init can bus : baudrate = 500K Serial.println("CAN Init ok"); attachInterrupt(0, MCP2515_ISR, FALLING); // start interrupt Serial.begin(115200); } void MCP2515_ISR() { Flag_Recv = 1; } void loop() { if(Flag_Recv) // check if data was recieved { Flag_Recv = 0; // clear
Fehlerfeld unten taucht nun folgender Fehler auf: > C:\Program Files (x86)\Arduino\libraries\can\mcp2515.c: In function 'mcp2515_init': > C:\Program Files (x86)\Arduino\libraries\can\mcp2515.c:201: error: 'for' loop initial declaration used outside C99 mode kannst du mir da weiterhelfen? mfg
-
Thread
Seltsames SPI-Verhalten Atmega328P
PS: PB2 (!SS) ist nach bestem Wissen und Gewissen als Output konfiguriert, da er als !CS für das MCP2515-Modul benutzt wird.
Holger L. schrieb im Beitrag #7207754: > War bei dem "Arbeitstischaufbau" das MCP2515-Modul nicht angeschlossen? Nein, auch nicht. Das Problem war, dass ich SPI.begin() vor der MCP2515-Initialisierung aufgerufen habe, aber nicht auch vor der ST7735-Initialisierung, und dass die
-
Thread
Impuls über CAN auswerten
CAN_LOW ausgewertet werden. Wie kann man das am besten machen ? Muss der Impuls vorher noch über den MCP2515 laufen ?
Controller suchen, der einen CAN Controller hat. Oder du benutzt einen externen CAN Controller (zB: MCP2515).
-
Thread
CAN- als Haus-Bus
Knoten eigentlich nichts tut. Dummerweise kann man den Stromsparmodus beim von mir eingesetzten MCP2515 nicht nutzen, weil man dann laut Datenblatt das Frame verliert, das ankommt während der MCP2515 schläft. Daher ist eine Idee, eventuell "dumme" Knoten einzuführen, die kein CAN benutzen und schon
beherrscht? Also außer AT90CAN*, der braucht schon im IDLE-Modus mehr Strom als mein ATmeta644 (IDLE) + MCP2515 (aktiv) zusammen.
-
Thread
typedef struct führt zu unknown type name
CANMessage *p_message) { uint8_t length = p_message->length; // ID einstellen mcp2515_write_register(TXB0SIDH, (uint8_t) (p_message->id>>3)); mcp2515_write_register(TXB0SIDL, (uint8_t) (p_message->id<<5)); // Ist die Nachricht ein "Remote Transmit Request" if (p_message
aber keine Daten */ // Nachrichten Laenge + RTR einstellen mcp2515_write_register(TXB0DLC, (1<<RTR) | length); } else { // Nachrichten Laenge einstellen mcp2515_write_register(TXB0DLC, length); // Daten
-
Thread
ATmega328p (Uno) mit MCP2515 CAN-Shield
stellenden Drehzahl soll vorläufig auf meinen herumliegenden Atmega328p erfolgen, welche mittels eines MCP2515 CAN-Shields mit dem Motor-Controler agieren soll. Beide Komponenten stammen von AZ-delivery (https://www.az-delivery.de/en/products/mikrocontroller-board, https://www.az-delivery.de/en/products/mcp2515
MCP2515_CS B,10 #define MCP2515_INT D,2 [/code] [code] #elif defined(__AVR_ATmega8__) || defined(__AVR_ATmega48__) || \ defined(__AVR_ATmega88__) || defined(__AVR_ATmega168__)
-
Thread
AtMega32 Takt ausgeben
Da haben wir es doch schon... Der MCP2515 hat CLKOUT. Nach Reset gibt der allerdings clk/16 aus - aber es kommt schon mal ein Takt. Während der Init-Phase setzt du den Teiler auf clk/1. Also: ein MCP2515 bekommt einen Quarz, dessen CLKOUT
ATMega164/324/644 verwenden, die haben einen CLKOUT. XTAL2 verwenden geht, die Variante mit clk vom MCP2515 funktioniert auch (ist jetzt seit vielen Jahren ohne Probleme im Einsatz - heute würde ich es aber auch anders machen)
-
Thread
Hilfe mein MCP2515 spinnt
Moin, ich kämpfe schon seit geraumer Zeit mit meinem CAN-BUS Controller MCP2515. Mein System besteht aus einem FPGA von Xilinx, an dem ich den MCP2515 angeschlossen habe. In meinem FPGA habe ich ein System mit einem MicroBlaze und etlichen IP-Cores implementiert. Die Kommunikation zum MCP2515 erfolgt über einen eigenen SPI-IP-Core (Übertragungsrate 3,75MHz, der Interrupt vom MCP2515 wird vom I/O-Core (xps_gpio) erfasst. Die Kommunikation auf dem CAN-Bus erfolgt mit 1MHz, wobei der
-
Thread
MCP2515 Stolpersteine
Viele benutzen für ihren Hausbus den MCP2515 CAN-Controller von Microchip. Das Ding funktioniert gut. Trotzdem gibt es einige Punkte, die man beachten sollte. Meine Erfahrungen beziehen sich auf mein Buskoppler-Modul mit 2 Stück MCP2515 und
Der MCP2515 liefert einen Clockoutput, der als Quarzersatz für den ATmega verwendet werden kann. Die Clockrate ist einstellbar. Meine ersten Bedenken, dass der ATmega beim Umstellen der Clockrate Probleme hat
-
Thread
HILFE MCP2515 antwortet nicht mit TTL-Pegeln
Ist MCP2515 ein Schreibfehler? Wo an welchen Pin hast du die Signale aufgenommen?
Hast du den MCP2515 wirklich an die Spannungsversorgung angeschlossen (bitte nachmessen!!!) ?
-
Thread
CAN Bus mehrere Teilnehmer
Masseverbindung zwischen A+B und C ist bei CAN nicht zwingend notwendig. Versuchs mal ohne. Meine China-MCP2515-Module haben eine 8MHz Quarz statt die üblichen 16MHz. Das muss man bei der Initialisierung des MCP2515 berücksichtigen.
sind korrekt angeschlossen und gemessen. Thomas F. schrieb im Beitrag #5361373: > Meine China-MCP2515-Module haben eine 8MHz Quarz statt die üblichen > 16MHz. Das muss man bei der Initialisierung des MCP2515 berücksichtigen. Der Raspberry (A) hat ein 16Mhz Quarz verbaut, die Microcontroller (B
-
Thread
AT90CAN128 wieder einmal.
ausgezeichneten Artikel von Fabian Greif: http://www.kreatives-chaos.com/artikel/ansteuerung-eines-mcp2515 Auch wenn er fuer andere Hardware geschrieben ist, er ist eine ausgezeichnete Einfuehrung. Ich halte die Dokumentation des AT90CANxxx im Bereich CAN fuer aeusserst duerftig, die des mcp2515 ist viel besser. Viele Eigenschaften des AT90CAN habe ich erst aus Extrapolieren vom mcp2515 verstanden, ganz abgesehen von den Erklaerungen im Dokument von Fabian Greif. Noch ein paar Bemerkungen: ich bin vom mcp2515 auf den AT90CAN umgestiegen weil der SPI Zirkus zum internen Verschieben
-
Thread
CAN - BUS - IC ( welchen IC würdet Ihr empfehlen ? )
Problematik der CAN-BUS-Technologie befassen. Welchen IC würdet Ihr mir empfehlen? Wäre der MCP2515 empfehlenswert? Danke Bernhard
Eine IMHO tolle Seite zum MCP2515 im Zusammenhang mit dem GCC für einen AVR: http://www.kreatives-chaos.com/artikel/ansteuerung-eines-mcp2515 Gruß Philipp
-
Thread
Anfägerfrage Variablenübergabe
while( !( SPSR & (1<<SPIF) ) ); return SPDR; } // Abfrage CANINTF von MCP2515 void MCP_Interrupt(uint8_t FlagRegister ) { MCP_akt(); SPI (SPI_READ); // LeseBefehl SPI (CANINTF); // InterruptFlagRegister vom MCP2515 lesen SPI (0x00); // DummyByte
bräuchtest du eine Zeile in der Art: FlagRegister = SPI(CANINTF); // InterruptFlagRegister vom MCP2515 lesen
-
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
2 ICs an einem Quarz ?
Hi, Habe hier einen Atiny 2313 und ein MCP2515. Könnte ich die an einen Quarz hängen ? mfg Florian
Florian K. schrieb im Beitrag #3682789: > Hi, > > Habe hier einen Atiny 2313 und ein MCP2515. Könnte ich die an einen > Quarz hängen ? > > mfg > Florian Du kannst die CKOUT-Fuse beim Tiny setzen und den MCP2515 an PD2 anschließen.
-
Thread
SPI und ISP in einer Schaltung
steckt der MCP2515 in einem Steckbrett mit äusserer Beschaltung (24MHz-Quarzoszillator). Wenn ich den ATmega jetzt programmieren will geht das nicht, wenn ich den MCP aber abklemme geht es. Kann das mit zu langen Leitungen
Alternativ den MCP2515 mit Jumper während des Programmierens abkoppeln. Ist zwar nicht sehr elegant, funktioniert aber :)
-
Thread
Fahrtcontroller mit 4 unabhängigen CAN Bussen
gewählten Master - Rechenraster, kann ein Beaglebone Black über den SPI überhaupt schnell genug die MCP2515 CAN - Controller abfragen um 10ms Botschaften auf den Bussen zu empfangen / Senden? Auf dem Cape würden 3 MCP2515 auf den SPI0 und 1 MCP2515 auf dem SPI1 hängen. Weiterhin bin ich mir nicht sicher
Wenn schon SPI, dann nehme 4x MCP2515 als CAN controller (plus Transceiver natürlich). Ob es die geforderte Timings einhält muss mann probieren. MfG PICfan
-
Thread
AtMega8 funktioniert nur bei angeschlossenem Programmer
ich im Moment keine Idee.. Kann es irgendwie mit der SPI Schnittstelle zusammenhängen auf der der MCP2515 hängt? diese Pins werden ja auch zum programmieren verwendet. gruß Matthias
meistens auch... Was ich nicht verstehe ist die Tatsache, dass dies nur bei der Initialisierung des MCP2515 passiert, während des Betriebs werden permanent Befehle über SPI an den MCP2515 gesendet (es wird die selbe SPI routine verwendet) und dort klappt es einwandfrei. Brauche ich evtl. Pull-Up oder
-
Thread
Welcher Bus für Lichtsteuerung
ich auch schon gefudnen. Kann ich den MCP2551 auch direkt an RX und TX des ATmega hängen ohne den MCP2515 der am SPI hängt?
Informationsherausgabe nur auf Nachfrage vergrault man selbst noch die hilfsbereitesten Forensiker. On topic: Der MCP2515 handled das CAN-Protokoll, während der MCP2551 ein Bustreiber ist, welcher die TTL-Pegel in etwas "Buskonformes" umwandelt. Der MCP2515 kann natürlich entfallen, wenn das CAN-Protokoll in Software
-
Thread
MCP2515 Can IC Woher ?!
währe schon super, habe jetzt schon leider mein Layout fertig darauf. Wie gesagt ich suche MCP2515 MCP2551 jeweils in PDIP. Versteh gar nicht warum die so schwer zu bekommen sind :( Gruß Dennis
Hallo Dennis, Ich habe mal nachgesehen: MCP2515-E/P 3 stück a 3,38 MCP2515-I/P 3 stück a 4,29 MCP2551-E/P 5 stück a 1,19 Plus versand. 3,20 Grüße Mark,
-
Thread
CAN mit ATMega128 und MCP2515
Hallo ich habe Probleme mit meinem ATMega128 und dem CAN-Controller MCP2515. Ich kann CAN-Nachrichten senden und empfangen. Eingehende Nachrichten werden mit einem Interrupt des MCP2515 dem ATMega signalisiert. Interrupt extern 3 auf dem Mega. Habe nun aber ds Problem,
vergessen. in der Art: // Interrupt Flag löschen if (status & 0b01000000){ //Bit 6 set? mcp2515_bit_modify(CANINTF, (1<<RX0IF), 0); } else { mcp2515_bit_modify(CANINTF, (1<<RX1IF), 0); }
-
Thread
Entscheidungshilfe CANController gesucht
günstige PIC-Controllern mit integriertem CAN. Schau mal unter PIC18Fxxxx. Der externe CAN-Baustein MCP2515 hat übrigens eine SPI und keine IIC Schnittstelle.
Hallo, der MCP2515 ist Spitze und bei mir am PC und im Auto im Einsatz nur gerade bei Reichelt nicht lieferbar, Ende der Woche soll es wahrscheinlich wieder welche geben. Aber den AT90CAN128 würde ich auch gern mal
-
Thread
include-Datei gesucht
Microchip, in der sich der Assembler-Code für den Austausch zwischen PIC und dem CAN-Controller MCP2515 befindet. Leider ist es mir bisher nicht gelungen, die include-Datei MCP2515.inc aufzutreiben. Kann mir jemand helfen? Besten Dank im voraus Dieter
Kohtz schrieb im Beitrag #6971500: > Leider ist es mir bisher nicht gelungen, die > include-Datei MCP2515.inc aufzutreiben Ich nehme an,dass du auch diese Webseite aufgesucht hast. Angegeben ist dort der MCP2515 und ein Downloadlink fuer die Datei an215bsc.zip Darin befindet sich unter anderem eine
-
Thread
Probleme mit 8 MHz SPI Takt ausschliessen
Es handelt sich um zwei MCP2515. Bislang habe ich MISO/MOSI (eher unkritisch?) und SCK (kritisch) jeweils mit eigenen, ca. 10cm langen, felxiblen Dupont-Steckverbindern an den Arduino-Ports angeschlossen. Jeder Controller verfügt
noch in die LA-Ansicht bringen um zu sehen ich ich was verliere. Am besten zwischen TJA1050 und MCP2515 abgreifen mit TTL-Pegel.
-
Thread
[V] Diverse Microchip Development Tools
Board mit PIC18F4550 http://www.microchipdirect.com/productsearch.aspx?keywords=DM163025 1x MCP2515 CAN Cont. PICtail Demo Bd [] (15€ + Versand) Erweiterungsplatine mit MCP2515 CAN Controller und MCP25020 CAN I/O Expander http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en024094&part=MCP2515DM-PCTL 1x CAN Bus Demonstration Board [] (15€ + Versamd) CAN nach USB Demo Boards (zwei Stück) mit PIC18F4550 und MCP2515 CAN Controller http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE
-
Thread
MCP2515 und falsche Baudrate
MCP2515 hängt ja per SPI dran. Ich gehe davon aus, dass der angeschlossene µC keinen eigenen CAN-Controller hat (OT: Warum nimmt man eigentlich immer µC ohne CAN, und flanscht dann den MCP2515 an?). Ich
um die 5€ kostet, und die Kombi Mega88+MCP2515 <2,50 also, es gibt schon Gründe
-
Thread
MCP2551 8MHz
ich würde gerne ein wenig mit CAN basteln, hierfür habe ich mir in china ein paar module mit MCP2515 bestellt [1]. Nun haben diese module allerdings dummerweise 8MHz Quarze drauf, die libs die ich finde sind aber alle auf 16 oder 20 MHz ausgerichtet [2]. Ich habe also ins Datenblatt geschaut
bit-timing-calculator/ http://www.intrepidcs.com/support/mbtime.htm Und das ist m.E. ein gutes Tutorial für den MCP2515 http://www.kreatives-chaos.com/artikel/ansteuerung-eines-mcp2515