-
Thread
Can Bus Kommunikation
das vielleicht konsolidieren und in weniger Nachrichten packen? Dann die Empfangsseite: Ja, der MCP2515 hat nur 2 Puffer. Aber er kann einen Hardwareinterrupt auslösen. Und wenn ich mich recht erinnere, ist es sogar möglich, über die IO-Pins des MCP auszugeben, welcher der 2 Puffer belegt ist. Wenn
zusammenfassen., gute Idee Tilo R. schrieb im Beitrag #5825779: > Dann die Empfangsseite: Ja, der MCP2515 hat nur 2 Puffer. Aber er kann > einen Hardwareinterrupt auslösen. Und wenn ich mich recht erinnere, ist > es sogar möglich, über die IO-Pins des MCP auszugeben, welcher der 2 > Puffer belegt
-
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
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-
500kb/s and the masks and filters disabled. CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_8MHZ) == CAN_OK; CAN0.setMode(MCP_NORMAL); // Set operation mode to normal so the MCP2515 sends acks to received data. pinMode(CAN0_INT, INPUT);
-
Thread
Suche uC zum Pegel einlesen und auf CAN ausgeben
://www.das-labor.org/wiki/Laborboard Unter Layouts findest du auch eine Version mit CAN. Der MCP2510 lässt sich durch den MCP2515 ersetzen. Grüße, Jens
bei 1Mbps. Der muss die Bits ja nicht einzeln auf die Reise schicken, das macht der CAN Controller MCP2515 ganz gut selbst, auch bei 1Mbps. Und im Unterschied zum STM32 kann man dem vorhandenen MCP2515 noch einen zweiten nebendran hinzuschnallen, wenn 2 Kanäle nötig sind. Mit dem AVR + MCP2515 bist
-
Thread
Umsetzung "kleines" Bussystem für AVR im Haus
Also wegen der Verbindung der AVRs untereinander nochmal: Ich schwanke nun immer mehr auf CAN (mit MCP2515 per SPI). (Muster vom MCP2515 und MCP2551 habe cih mir aber trotzdem schon einmal angeschafft.) Jedoch was ich davon noch nicht (zu 100%) weiß: 1. Wie "langsam" kann man den BUS fahren? Der
Speed von 125kBit/s. Langsamer als 20kBit ist meiner Meinung nicht notwendig. Zum Thema Qualität MCP2515: Der funktioniert wunderbar, und es gibt auch genug Infomationen im Netz dazu wie man den programmiert etc. und DAS war für MICH der Grund den zu verwenden. Ich verwende den MCP 2515 zusammen
-
Thread
AVR, Atmega644 SPI im Bootloader kein output
; _delay_us(250); // MCP2515 per Software Reset zuruecksetzten, // danach ist er automatisch im Konfigurations Modus RESET(MCP2515_CS); spi_putc_c(SPI_RESET); _delay_us(10); SET(MCP2515_CS); ....... [/c]
nur im Bootloader gibt es mit dem 644 problme mit dem 328 geht es einwandfrei. [c] SET_OUTPUT(MCP2515_CS); SET(MCP2515_CS); PORT_SPI &= ~((1 << PIN_NUM(P_SCK)) | (1 << PIN_NUM(P_MOSI))); DDR_SPI |= (1 << PIN_NUM(P_SCK)) | (1 << PIN_NUM(P_MOSI)); SET(MCP2515_CS);
-
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
uC funktioniert erst nach reset
Sorry, ich habe nicht in den Programmcode oder das Datenblatt des MCP2515 geschaut. Ich war der Meinung dass du zwischen den µCs eine Master-Slave Situation aufbaust. Mit dem CAN Controller MCP2515 hast du aber folgende Situation: µC (Master) -SPI- MCP2515 (Slave) -CAN- MCP2515 (Slave) -SPI- µC (Master)
-
Thread
SPI mit mehreren Slaves intelligent selektieren
oder if-else if blöcke mit sich. Siehe hier ein Beispiel für zwei 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
-
Thread
SPI CS direkt auf Masse legen?
Hallo, ich habe eine Frage bezüglich dem SPI Bus. Ich habe einen MCP2515 und würde den gerne mit einem Attiny85 verbinden, da ich mir wegen Pin Mangel einen Pin für CS sparen möchte und der MCP2515 der einzigste Slave auf dem Bus ist. Ist es möglich das ich einfach den
Chips immer Low. Aber ich verstehe nicht ganz was das beim SPI Input Timing bedeutet. Braucht der MCP2515 also vor jedem "Schreiben" einen Interrupt auf CS?
-
Thread
PROGMEM Fehler im AvrStudio 6.2 (const)
Hallo, ich bekomme bei folgendem Code: [c] const uint8_t *config_str[] PROGMEM = { &mcp2515_bef_configmode[0], &mcp2515_bef_conf25k[0], &mcp2515_bef_conf_tpins[0], &mcp2515_bef_conf_rbuf0[0], &mcp2515_bef_conf_rbuf1[0], &mcp2515_bef_conf_mask0[0], &mcp2515_bef_conf_mask1[0], &mcp2515_bef_conf_int[0], &mcp2515_bef_conf_rpins[0], &mcp2515_bef_normalmode[0], &mcp2515_bef_set_int[0], 0 }; [/c] im AvrStudio 6.2 die Fehlermeldung: Error 2 variable 'config_str' must
-
Thread
Bug in Bascom?
Codeschnipsel: [c] X= &HB0 Senden3 &HA0 , &H09 , &H00 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
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
"expected ')' before '*' token" -- Was ist da los?
/avr/include/avr/version.h" 1 3 # 371 "c:/winavr-20070525/bin/../avr/include/avr/io.h" 2 3 # 24 "mcp2515.h" 2 # 1 "spi.h" 1 # 28 "spi.h" void spiMasterInit(unsigned char pre); unsigned char spiWrite(unsigned char data); unsigned char spiRead(void); # 25 "mcp2515.h" 2 # 33 "mcp2515.h" unsigned char mcp2515_readRegister(unsigned char adress); void mcp2515_modifyRegister(unsigned char adress, unsigned char bitmask, unsign ed char data); void mcp2515Init(void); # 24 "can.h" 2 # 1 "parser.h
-
Thread
WinAvr Makefile Frage
Compiling C: ../can/mcp2515.c avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -DF_CPU=4000000UL -Os -funsigned-char -f unsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=obj/../can/mcp2515.lst -I../avr -I../can -std=gnu99 -Wundef -MD -MP -MF .dep/mcp2515.o.d ../can/mcp2515.c -o obj/../can/mcp2515.o Assembler messages: FATAL: can't create obj/../can/mcp2515.o: No such file or directory make: *** [obj/../can/mcp2515.o] Error 1 Da müsste es doch
-
Thread
CAn-Controller und AVR ???
Hallo Heinz, hast Du den MCP mit dem 8535 am laufen? Ich möchte einfach CAN-Nachrichten senden, wollte dafür auch dem MCP2515 benutzen. Kannst Du mir dem Source posten?? Danke!! Gruß, Sascha
Habe MCP2515 CAN-Controller abzugeben (war eine Bestellung vom Großhändler). Bei Bedarf >> Mail MfG Uwe
-
Thread
MCP2551 8MHz
die berechnung erklären? Gruß, Marc [1] http://www.aliexpress.com/item/Free-shipping-1pcs-MCP2515-CAN-Bus-module-TJA1050-receiver-51-MCU-SPI-protocol-routines/32235683419.html [2] [code] #define MCP_16MHz_1000kBPS_CFG1 (0x00) #define MCP_16MHz_1000kBPS_CFG2 (0xD0) #define MCP_16MHz_1000kBPS_CFG3
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
-
Thread
Welcher Bus für Lichtsteuerung
Diese Seite habe 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
*CAN Baudrate Berechnung*
schade, ich hab mich nur mit MCP2515 beschäftigt...
Hi für den MCP2515 gibt auch einen extra Calculator: http://www.intrepidcs.com/mcp2510/ mfg
-
Thread
Probleme mit SW SPI (aus Atmel appnote 320)
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(); return ret; } uint8_t i; mcp2515_write_register( MCP_CANCTRL, 15); i = mcp2515_read_register( MCP_CANCTRL); usart_write ("i: %i\r\n",i);[/c] i enthält nach dem aufruf den Wert 30 Hat jemand irgendwelche Ideen? Vielen
-
Thread
at90can128 und externer can controller
die Kommunikation den größten gemeinsamen Teiler zwischen beiden Quarzen finden? Oder muss das beim MCP2515 nicht sein, da über SPI auch ein SCK übertragen wird? Und überhaupt: MCP2515 oder SJA1000? Gruß jamest
mal ausprobieren und berichten! Das ist kein problem. ich hab nen mega8 (14,7456MHz) und nem mcp 2515 (16MHZ) miteinander verheiratet.
-
Thread
UART mit mehreren Teilnehmern
ich mal nach einem Can Controller gesucht. Habt ihr an soetwas gedacht ? http://www.reichelt.de/MCP-2515-I-SO/3/index.html?&ACTION=3&LA=446&ARTICLE=54515&artnr=MCP+2515-I%2FSO&SEARCH=MCP2515 Weiterhin habe ich noch keine Erfahrung und müsste mich erst noch einarbeiten. Also verzeiht bitte folgende
nach einem Can Controller > gesucht. > Habt ihr an soetwas gedacht ? > http://www.reichelt.de/MCP-2515-I-SO/3/index.html?&ACTION=3&LA=446&ARTICLE=54515&artnr=MCP+2515-I%2FSO&SEARCH=MCP2515 Ich denke an das hier: http://www.reichelt.de/PIC-18-Controller/PIC-18F24K50-ISO/3/index.html?ACTION=3&
-
Thread
Umsetzer von CAN auf RS232 bauen
mit. Dafür finde ich die Preise ganz ok. Du kannst dir das ganze natürlich auch mit einem ATMega + MCP2515 (über SPI) + MCP2551 aufbauen und das Protokoll + die Host-Software selbst implementieren.
http://www.kreatives-chaos.com/artikel/ansteuerung-eines-mcp2515
-
Thread
ISR wird nicht ausgeführt
Hallo, ich richte im Moment ein CAN-Bus-System (MCP2515) in Kombination mit einem ATMega128 ein. Senden funktioniert einwandfrei und der Empfang via pollen funktioniert auch. Ich würde gerne Rx-Interrupts benutzen und hab den INT-Pin des MCP2515
#include "spi.h" #include "mcp2515.h" tCAN message; ISR (INT7_vect) { /*DDRA|=_BV(PA1);*/ if (mcp2515_check_message()) { uart1_puts("Lese Nachricht aus dem RxPuffer!\n\r"); // read the message from the
-
Thread
CAN- als Haus-Bus
der 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
Can Bus Daten auslesen
CAN_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
Sammelbestellung CAN Testboards
Das hängt eigentlich nur vom Quarz des MCP2515 ab. Mit 16 MHz sind 1 MBit problemlos erreichbar. Chris
Hat 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
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
LED über CAN-BUS schalten
running at 16MHz with a baudrate of 500kb/s and the masks and filters disabled. if(CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_16MHZ) == CAN_OK) Serial.println("MCP2515 Initialized Successfully!"); else Serial.println("Error Initializing MCP2515..."); CAN0.setMode(MCP_NORMAL); // Change to normal
masks and filters disabled. if(CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_16MHZ) == CAN_OK) Serial.println("MCP2515 Initialized Successfully!"); else Serial.println("Error Initializing MCP2515..."); CAN0.setMode(MCP_NORMAL);
-
Thread
Single-Wire-CAN
Übertragung. Ich habe mir jetzt mal probeweise den MC33897 besorgt und werde versuchen mit dem MCP 2515 und MCP 25050 einen CAN-Bus aufzusetzen. Ich habe im Netz eine Seite gefunden, auf der Single-Wire-CAN mit einem MCP2515 und einem TH8055 gemacht wird (alternativ mit MCP2551 für differentielles
bitte, dass ich diesen Thread ausgrabe, aber gibt es hier vielleicht Neuigkeiten zur Benutzung des MCP2515 zusammen mit dem MC33897? Oder generell wie man den MCP2515 im Single-Wire-CAN-Bus benutzen kann?
-
Thread
Suche µC mit CAN-Schnittstelle und ADC
Eventuell findest du ein günstiges Derivat mit SPI und ADC. CAN ist dann auch z.B. mit einem MCP2515 möglich. Gruss, Edson
später mit A. Siehe oben. Ist aber etwas schwer zu kriegen. Einfacher sind ATmega8/ATtiny861 + MCP2515, und preislich schwer zu schlagen.
-
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
für den Due: "DAC and CAN channel not supported." Dann hat er den Due und braucht dennoch noch einen MCP2515 ... LG, Sebastian