-
Thread
CAN Kommuikation ATmega328P
habe ich die CPU Frequenz auf 8MHz gesetzt und in der Config MCP2515_CS auf B,1 und MCP2515_INT auf B,0 gesetzt. Leider kann ich bis auf einen 5V Pegel auf meinem INT Ausgang an Pin B0 des ATmegas nichts weiteres mit meinem Oszilloskop messen. Auch ein CLK Signal
Und den Interruptausgang des MCP2515 solltest du auf INT0 oder 1 des ATMega legen.
-
Thread
CAN: Timing Probleme
\n"); #endif return res; } switch( num ) { case 0: mcp2515_write_id(MCP_RXF0SIDH, ext, ulData); break; case 1: mcp2515_write_id(MCP_RXF1SIDH, ext, ulData); break; case 2: mcp2515_write_id(MCP_RXF2SIDH, ext, ulData); break; case 3: mcp2515_write_id(MCP_RXF3SIDH, ext, ulData); break; case 4: mcp2515_write_id(MCP_RXF4SIDH, ext, ulData); break; case 5: mcp2515_write_id(MCP_RXF5SIDH
-
Thread
Include in Assemblerdatei (.S) - wie funktionierts?
Interrupt-Header einfügen #include <spi.h> // SPI-Busroutinen einfügen /* Funktionsprototypen */ void MCP2515_Reset(void); // Resettet den MCP2515 uint8_t MCP2515_Read(uint8_t); // Liest ein Byte aus dem MCP2515 void MCP2515_Write(uint8_t, uint8_t); // Schreibt ein Byte im MCP2515 void MCP2515_RTS(uint8_t Buffer); // Sendet ein "RTS" an den MCP2515 uint8_t MCP2515_Status(void); // Liest den Status des MCP2515 void MCP2515_Modify(uint8_t Address, uint8_t Mask, \ uint8_t Data); // Modifiziert ein Byte im MCP2515 /* Makros */
-
Thread
prog_uint8_t
Probleme ein? [c] typedef uint8_t prog_uint8_t; prog_uint8_t can_filter[] = { // Group 0 MCP2515_FILTER(0), // Filter 0 MCP2515_FILTER(0), // Filter 1 // Group 1 MCP2515_FILTER_EXTENDED(0), // Filter 2 MCP2515_FILTER_EXTENDED(0), // Filter 3 MCP2515_FILTER_EXTENDED(0), // Filter 4 MCP2515_FILTER_EXTENDED(0), // Filter 5 MCP2515_FILTER(0), // Mask 0 (for group 0) MCP2515_FILTER_EXTENDED(0), // Mask 1 (for group 1) }; [/c]
-
Thread
Bus für >50m
Achso...ganz vergessen. z.B. so: Tiny <--> MCP2515
wo das Ding braucht? Jo Ka schrieb im Beitrag #2205268: > Mein Plan ist jetzt: > Controller -> MCP2515 -> MCP2551 -> CAT5-Kabel Als kleiner Tipp: Schau mal bei Kreatives Chaos vorbei, da gibts ne fertige Library für den MCP2515 & Atmel: http://www.kreatives-chaos.com/artikel/universelle-can-bibliothek
-
Thread
OpenHAB mit Raspberry PI / CAN
Mit einem MCP2551 (5V) brauchst Du einen Spannungsteiler zum MCP2515. > > Ich werde mal Tests machen mit einem MAX3050 / MCP2551 und MCP2562 > > Gerd B. schrieb im Beitrag #4171485: >> Das Zusammenspiel
Leider läuft der das Interface im Banana Pi aktuell nur mit CAN4Linux statt mit SocketCAN (wie der MCP2515), sodass ich erst noch einen neuen Treiber-Adapter schreiben muss. In meinem https://github.com/jgeisler0303/AGCON Projekt habe ich auch eine Platine, die den RPi mit MCP2515 + MCP2551 ausstattet
-
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
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
-
Thread
Mehrere verschiedene Can Nachrichten mit Arduino versenden
message.data[4] = 0x00; message.data[5] = 0x40; message.data[6] = 0x00; message.data[7] = 0x00; mcp2515_bit_modify(CANCTRL, (1<<REQOP2)|(1<<REQOP1)|(1<<REQOP0), 0); mcp2515_send_message(&message); delay(1000); mcp2515_send_message(&message2); delay(1000); mcp2515_send_message(&message3)
[4] = 0x00; message5.data[5] = 0x40; message5.data[6] = 0x00; message5.data[7] = 0x00; mcp2515_bit_modify(CANCTRL, (1<<REQOP2)|(1<<REQOP1)|(1<<REQOP0), 0); mcp2515_send_message(&message); delay(1000); mcp2515_send_message(&message2); delay(1000); mcp2515_send_message(&message3)
-
Thread
AVR "ret" springt zu 0x00
3 MCP2515_FILTER(CAN_WHO_IS_ONLINE), // Filter 4 MCP2515_FILTER(CAN_WHO_IS_ONLINE), // Filter 5 MCP2515_FILTER(0x0FF), // Mask 0 (for group 0) MCP2515_FILTER(0x7FF), // Mask
3 MCP2515_FILTER(CAN_WHO_IS_ONLINE), // Filter 4 MCP2515_FILTER(CAN_WHO_IS_ONLINE), // Filter 5 MCP2515_FILTER(0x0FF), // Mask 0 (for group 0) MCP2515_FILTER(0x7FF), // Mask
-
Thread
Serienwiderstand in den AVR-ISP-Leitungen
MCP2515 kommunizieren. Ich dachte mir also, ich füge "einfach" in jede SPI-Leitung, sowie in Reset, und SlaveSelect (für Kommunikationen mit dem MCP2515 ebenfalls herausgeführt) einen 1k-Serienwiederstand
A. K.: >"dann sind die zwischen Controller und MCP2515 angebracht ohnehin >nicht zielführend." Der kleine Niels meinte doch: >"Zwischen AVR und MCP2515 habe ich keine Widerstände."
-
Thread
Alternative zu CAN-Bus?
Timer Opfern? Oder die Interrupt-Pins? http://www.kreatives-chaos.com/artikel/ansteuerung-eines-mcp2515
wrote: > CAN ist 'ne feine Sache, allerdings was die Kosten angeht auch nicht > gerade günstig. MCP2515: <3€ PCA82C251: <1€. Yep, das ist teurer als I2C. Aber lustigerweise ist Mega8+MCP2515 günstiger als PIC18F258 oder AT90CAN128 mit internem CAN. > integriertem CAN oder den externen MPC2515
-
Thread
Probleme CAN bekomme nur Error
ist dass der spi bus richtig funktioniert. Den MCP2515 initiere ich folgendermaßen: [c]void mcp2515_init(void) { PORTB &= ~(1<<PB4); spi_put_char( SPI_RESET ); _delay_ms(1); PORTB |= (1<<PB4); _delay_ms(10); mcp2515_bit_modify(CANINTE,0b10100011,0xff); //Filter Buffer0 aus mcp2515_write_register( RXB0CTRL, (1<<RXM1)|(1<<RXM0) ); //Filter Buffer0 aus mcp2515_write_register( RXB1CTRL, (1<<RXM1)|(1<<RXM0) );; //LED als Interruptsignal mcp2515
-
Thread
CAN BUS Raspberry
. Also: Sofort alles außer Betrieb nehmen. MCP2515 mit 3.3V versorgen. Als Transceiver nimmst Du einen MCP2562. Der braucht einmal 5V für den CAN-Bus und einmal 3.3V für RX/TX zum MCP2515. Am MISO machst Du ab Besten noch einen Pullup (irgendwas
Habe den MCP2561 durch einen MCP2562 ersetzt, den MCP2515 mit 3.3V versorgt, wie im Diagramm oben angezeigt. Ich benutze einen 8Mhz Quarz und habe 2x 27pF Kondensator. Ansonsten entspricht alles dem Diagramm.
-
Thread
Can Bus galvanische Trennung
trennen möchte, reicht es, wenn ich den MCP2551 mit einer eigenen Spannungsversorung (5V) versorge, welche ich über die CAN-Leitungen mitziehe? Oder benötige ich zwischen den Datenleitungen von MCP2515 zu MCP2551 auch einen Optokoppler? lG
schauen könntet & Feedback geben. Was am Schaltplan noch fehlt, ist die Verbindung vom Arduino zum MCP2515 (welcher die gleiche Stromversorgung wie vom MCP2515 nutzen wird). Bis zur linken Seite des ADuM1200BRZ ist ein Stromkreis, ab der rechten Seite des ADuM1200BRZ ist ein zweiter Stromkreis.
-
Thread
CAN mir das einer mal erklären?
sogar günstiger wie der MCP2551. Von anderen Herstellern gibt es da vermutlich auch was, aber da kenne ich mich nicht aus. Mit dem MCP2515 bräuchtest du ja drei Chips. - einen Controller mit Hard- oder Software SPI - den
bin wieder zu Hause. > Danke für die vielen Tipps. Werde nächste Woche von oben abarbeiten. > Der MCP2515 ist mir auch schon ins Auge gestochen und dass du gute Ja wer auf Oldtimer steht nimmt den MCP2515. Teslafahrer nehmen den MCP2517FD (2,2€) ;-)
-
Thread
CAN übertragung brich ca. nach 10 sek ab
Benutze AVR und mcp2515, mcp2551 Warum bleibt die Kommunikation nach etwa 10 sek stehen?
auch nicht genau welchen SPI-Modus du Benutzt. Ich gehe jetzt einfach mal von Mode 0,0 aus. Der MCP2515 fordert es so: Daten die via SPI zum MCP gesendet werden übernimmt der MCP mit der Rising Edge von SCK. Doch jetzt Achtung: Der MCP stellt Daten auf seinem SlaveOutput pin zur falling edge von
-
Thread
CAN Grundlagenfrage
Danke für die SUPER schnelle Antwort. Dann habe ich soeben mein erstes CAN Telegramm mit einem MCP2515 versendet. :-) Vielen Dank ronald
Grundstruktur an geht an die Anleitung von http://www.kreatives-chaos.com/artikel/ansteuerung-eines-mcp2515 gehalten. Ronald
-
Thread
CAN Datentransfer auf Basis von kreatives-chaos.com
3 MCP2515_FILTER(CAN_WHO_IS_ONLINE), // Filter 4 MCP2515_FILTER(CAN_WHO_IS_ONLINE), // Filter 5 MCP2515_FILTER(0x0FF), // Mask 0 (for group 0) MCP2515_FILTER(0x7FF), // Mask
), // Filter 3 MCP2515_FILTER(CAN_UPDATE_SLAVE_RESPONSE), // Filter 4 MCP2515_FILTER(CAN_UPDATE_SLAVE_RESPONSE), // Filter 5 MCP2515_FILTER(0), // Mask 0 (for group 0) MCP2515_FILTER(0),
-
Thread
Einsteiger bei AVR und Can
hardware gesendet :) Ok, zur erläuterung des folgenden textes: spi on = shipselectleitung meines mcp2515 auf low (=aktiv) spi off= na was wohl :-) spi = xxxxx = schiebt das dort stehende Byte per hardware spi aus initialisierung des mcp2515 (laufendes hardware spi vorausgesetzt) ## SoftwareReset
(SPI)--> MCP2515 --> Can-Leitung Schon mal danke im Vorraus.
-
Thread
-
Thread
Schaltplan für CAN
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
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
-
Thread
Erfahrung bei der Adressierung eines CAN Bus
nun mit dem folgenden Filter vom Controller in die Buffer geladen werden Mcp2515_write_register Rxm0sidh , &B00000001 Mcp2515_write_register Rxm0sidl , &B00100000 Mcp2515_write_register Rxm0eid8 , 0 Mcp2515_write_register Rxm0eid0 , 0 Mcp2515_write_register Rxm1sidh , &B00000001 Mcp2515_write_register Rxm1sidl , &B00100000 Mcp2515_write_register Rxm1eid8 , 0 Mcp2515_write_register Rxm1eid0 , 0 Leider tut sie das aber nicht! Erst wenn ich den Filter ausschalte, kommt die
-
Thread
Verständnisfrage CAN-Bus
.). Der MCP kümmert sich um Fehler auf dem Bus und was da noch so alles passieren kann (natürlich auch Sachen die passieren sollen, wie Datenübermittlung). Um zwei CAN-Knoten aufzubauen brauchst du 2 MCP2515 und
mit dem SJA1000 und dem PCA82C250 gemacht. Ging einwandfrei. Als nächstes will ich das mit dem MCP2515 machen. Habe aber im Moment noch keine Zeit dazu. Grüße Andreas
-
Thread
DIY Can Interface! Brauche dringend Hilfe
#4616309: > Das gesuchte Signal ist PID01 (MIL Status) > wäre sowas möglich mit zum Beispiel einem MCP2515 Can Bus Module? Außer dem MCP2515 wirst du noch einen CAN Bustreiber und einen Mikrocontroller brauchen, der den CAN-Controller steuert. Die Kodierung der CAN Botschaft für die Abfrage vom
Habe ich mal gebaut, es müssten sogar noch Platinen da sein. CAN-Transceiver, MCP2515, ATMega8, serielle Schnittstelle, 2 masseschaltende Ausgänge mit FET
-
Thread
Can auf 8 Bit AVR ohne entsprechende Schnittstelle
CAN-Controller (z.B. MCP2515) über SPI angebunden und ein CAN-Transceiver daran, das wäre der Klasiker.
hängen geblieben? Fünf Custom-Platinen in professioneller Technik kosten heutzutage weniger als ein MCP2515.
-
Thread
CAN-Sender im Mini-Format
ist relativ groß und braucht einiges an Beschaltung drumherum. Da ist so ein Attiny25/45 selbst mit MCP2515 nicht viel größer, aber viel billiger...
Schau mal hier. https://www.ebay.de/itm/Can-Bus-SPI-MCP2515-CAN-Transceiver-TJA1050-fur-Arduino-Prototyping-DIY/263779810424?hash=item3d6a807c78%3Ag%3A60UAAOSw3VpbMZrM&_sacat=0&_nkw=mcp2515&_from=R40&rt=nc&_trksid=m570.l1313
-
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
DLC > 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
I2C als "Hausbus"
Hallo Stefan, in einer Appl. von Microchip ist nach dem MCP2515 noch ein Treiber MCP2551 geschaltet, ich gehe mal davon aus der ist nötig? Mike
SPI programmieren willst, mußt Du an CE des MCP2515 einen Pull-Up gegen VCC schalten (z.B. 10k). Peter
-
Thread
CAN-Knoten... funktioniert das so?
@A.K., mthomas: Den mega vom MCP2515 mit Takt versorgen zu lassen funktioniert. Allerdings sollte man sich im Klaren darüber sein, dass die Watchdog des mega nicht mehr zu 100% funktioniert: wird der Takt des MCP2515 durch einen Befehl
Hardware-Handshake-Leitungen nicht (einfach T2In, R2Out mit Portpins vebinden). Den Reset des MCP2515 ev. auf einen Portpin legen, damit der mega den MCP2515 komplett kontrollieren kann. Alle unbenutzten Pins auf eine Steckerleiste (wenn dafür Platz ist), damit man das Modul auch später für andere
-
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 lesen und mit ATMEGAx weiterverarbeiten
mehreren Herstellern. Ich habe den: http://www.peak-system.com/index_de.html Alles, was du für den MCP2515 an Software brauchst, findest die hier super behandelt - nochmal ein Lob von mir an diese Seite! http://www.kreatives-chaos.com/artikel/ansteuerung-eines-mcp2515#empfangen
Hallo, ich habe heute die Seite ordentlich durchgelesen und viele Leute schreiben ja positiv von der MCP2515 Variante. Erst dachte ich eher in die Richtung AT90CAN aber zu dem MCP2515 sind natürlich viele nützliche Infos zu finden. Da werde ich wohl zu der Kombination greifen: MCP2551 / MCP2515 /ATMega8
-
Thread
Probleme mit INT0 und Mega644
Ich verstehe die Situation noch nicht ganz. *MCP2515 CAN Controller* http://ww1.microchip.com/downloads/en/DeviceDoc/21801e.pdf *Atmega644* http://www.atmel.com/dyn/resources/prod_documents/doc2593.pdf 1/ Der MCP2515 ist mit seinem /INT Ausgang
gelöscht werden "INT pin is driven low by the MCP2515 and >>will remain low until the interrupt is cleared by the MCU" >>(Beitrag "CAN mit ATMega128 und MCP2515") Der '644 (= MCU) muss dann herausfinden, wieso der MCP einen /INT ausgelöst hat
-
Thread
Suche einfache Lösung für SPI zu CAN
http://www.kreatives-chaos.com/artikel/ansteuerung-eines-mcp2515 Funktioniert gut.
kann, da hast ein Atmega 32 mit MCP2515.
-
Thread
Atmega mit oder ohne integriertem CAN?
Entwicklunggsumgebung habe. Ich finde hierzu entweder die Kombi ATmega328 mit per SPI angeschlossenem MCP2515 und MCP2551, oder abef AT90CAN mit MCP oder TJA Transceiver. Wo genau liegen denn hier die Unterschiede, Vor-/Nachteile?
Platzgründen will man einfach keine externen CAN-Controller haben. Bevor jemand im echten Leben einen MCP2515 verbaut, nimmt er für wenig Geld mehr einen PIC18, der eine deutlich verbesserte Version des MCP2515 gleich eingebaut hat, und das ohne SPI-Flaschenhals und ohne zweiten Quarz. Deswegen gibts vom
-
Thread
CAN Kommunikation
#define SUPPORT_EXTENDED_CANID 1 #define SUPPORT_TIMESTAMPS 0 #define SUPPORT_MCP2515 1 #define MCP2515_CS B,2 #define MCP2515_INT D,2 Nur um Missverständnisse auszuräumen, da ich bei "Setting for MCP2515" nicht ganz sicher war. Hier gebe ich doch die Ports an, mit denen CS und INT vom MCP 2515 mit meinem Mikrocontroller verbunden sind???
-
Thread
Linker error - undefined reference to `main'
funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=build/mcp2515.o -I../ -std=gnu99 -Wundef -MMD -MP -MF .dep/can.elf.d build/mcp2515.o build/mcp2515_buffer.o build/mcp2515_get_message.o build/mcp2515_send_message.o build/mcp2515_set_dyn_filter.o build/mcp2515_get_dyn_filter.o build/mcp2515_static_filter.o build/mcp2515_write_id.o build/mcp2515_read_id.o build/mcp2515_error_register.o build/mcp2515_regdump.o build/mcp2515_set_mode.o build/mcp2515_sleep.o build/spi.o build/at90can.o
-
Thread
enum Konstanten
Remo H. schrieb im Beitrag #5266547: > MCP2515_FILTER_EXTENDED(SWC_RH_SWButtons.CAN_ID) Einfach nur: MCP2515_FILTER_EXTENDED(CAN_ID) Ein enum definiert einfach nur eine Reihe "globalen" Konstanten. In C++ kannst du "enum class" statt "enum" schreiben und dann: MCP2515_FILTER_EXTENDED(SWC_RH_SWButtons::CAN_ID),
-
Thread
Kommunikation mit CAN zwischen MCP2512 und 80c592
Kommunikation CAN verwendet(sourcecode habe ich). Nun möchte ich mit meinem ATMega128 uber einen MCP2515 mit dem 80c592 komunizieren. Dei kommunikation mit dem MCP2515 funktioniert, doch die beiden CAN-Controller scheinen sich nicht zu verstehen ;-). Ich nehme an, dass es an der Baudrate liegt, schaffe es aber nicht die richtigen Registerwerte für meinen MCP2515 zu berechnen(ich verstehe es einfach nicht ;-) ) Baudrate ist 19200 Bps Taktfrequenz MCP2515: 11,0592 MHz Taktfrequenz 80c592 11,0592 MHz BTR0=0x51 BTR1=0x76 Da durch BTR0 und BTR1
-
Thread
Wie encodiert ihr Can Bus aus?
Seeed_Arduino_CAN-master und CAN_BUS_Shield-1-master von Mebus geht. Wenn "init failed" zeigt, sind die MCP2515-Chips unterschiedlich?
Robotiker schrieb im Beitrag #6726290: > Wenn "init failed" zeigt, sind die MCP2515-Chips unterschiedlich? MCP2515 bleibt MCP2515. Was soll sich da unterscheiden? Ich kenne mich mit dem ganzen Arduino-Gedöns nicht so aus, aber das von Dir verlinkte Board hat ja offensichtlich
-
Thread
Welche Schnittstelle für Bus-System ?
Danke Falk, Ich hab das jetzt so verstanden, das an Das RPI (Oder den ATMega etc) via SPI der MCP2515 kommt, dahinter kommt dann der MCP2551. Aus dem MCP2551 kommt dann CAN, Richtig? Dann habe ich das jetzt nähmlich verstanden.
#3217980: > Ich hab das jetzt so verstanden, das an Das RPI (Oder den ATMega etc) > via SPI der MCP2515 kommt, dahinter kommt dann der MCP2551. Aus dem > MCP2551 kommt dann CAN, Richtig? Eine CAN Peripherie besteht ähnlich wie bei Ethernet immer aus zwei Teilen: einem MAC (dem Digitalteil, zB
-
Thread
CAN Gateway auf ein neues
100kBps. Das Gateway selber besteht aus einem AT90CAN128 (kleiner ginge auch leicht) und einem MCP2515. Der AT90CAN spielt die Rolle des Knotens am zentralen Bus, der gartenseitige Partner ist ein MCP2515, die beiden sind mit SPI gekoppelt (alle anderen Knoten am Gartenbus sind AT90CANs. Die Software
C3%BCr_AT90CAN_Prozessoren. Am Ende in den Referenzen gibt es auch den Verweis auf die entsprechende MCP2515 Loesung. Wenn Du willst, kann ich aber mein MCP2515 Modul hier ins Forum legen, ich habe doch einiges daran (meiner Meinung nach) verbessert und freundlicher fuer den Einsatz in solch einem Gateway
-
Thread
Arduino CAN-Bus Problem
gemeldeten Arbitrierungsfehler umgeht. > Was passiert, wenn ich empfangene Meldungen nicht vom MCP2515 lade? Was sagt das Datenblatt zum MCP2515 zu diesem Fall?
MCP2515 an https://www.sparkfun.com/datasheets/DevTools/Arduino/MCP2515.pdf dann ist auf Seite 17 ein Flowchart, in dem der Fall im Prinzip behandelt wird. Dort wird von diesem Control Register das Bit
-
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
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
mh... in der Art? oder genau so eine? :-) also wäre es so richtig: // Abfrage CANINTF von MCP2515 void MCP_Interrupt(uint8_t FlagRegister ) { MCP_akt(); SPI (SPI_READ); // LeseBefehl SPI (CANINTF); // InterruptFlagRegister vom MCP2515 lesen Flagregister = SPI (0x00);
-
Thread
USBtin - Maximale Geschwindigkeit? - Alternativen mit AVR
muss nicht nur die reinen CAN-Daten über den SPI einlesen. Für jede Status- und IRQ-Abfrage an den MCp2515 muss eine SPI-Übertragung gestartet werden. Dadurch steigt der Overhead extrem. Ich habe selbst den MCP2515 in einem Projekt verbaut und fand das damals extrem nervig. Hast Du schon einmal darüber
muss nicht nur die reinen CAN-Daten über den SPI > einlesen. Für jede Status- und IRQ-Abfrage an den MCp2515 muss eine > SPI-Übertragung gestartet werden. Dadurch steigt der Overhead extrem. > Ich habe selbst den MCP2515 in einem Projekt verbaut und fand das damals > extrem nervig. Ahh, alles klar
-
Thread
SPI CAN Controller mit tieferer Pufferung
Wir benutzen momentan den mcp2515 an einer Linux CPU. Problematisch ist, dass der Baustein nur 2 Empfangspuffer hat, was bei hoher Baudrate zu Überläufen führt. Gibt es eine SPI CAN Alternative mit tieferer Pufferung? Ich habe
sind unterschiedlich wahrscheinlich auch das generelle Verhalten. Trotzdem könnte man auf Basis des mcp2515 starten.
-
Thread
Probleme mit 8 MHz SPI Takt ausschliessen
Ich hab bei einem Layout mit dem MCP2515 ca. 20 cm lange Leitungen. Der MCP ich ca. 5 cm weg vom xMega , dann kommen 2 cm Leiterbahn , ca. 10 cm Flachbandkabel, dann ca. 3 cm Leiterbahn und dann ein 1,8" Display. Die Taktleitung hab ich
auch noch in die LA-Ansicht bringen um zu sehen ich ich was verliere. Am besten zwischen TJA1050 und MCP2515 abgreifen mit TTL-Pegel.