-
Thread
CAN Bus I/O Interface
kleinste. Leistungsmäßig reicht der völlig aus. Dann brauchst Du einen CAN-Transceiver. Vorschlag: MCP2551 http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010405 Der Transceiver macht die analoge Ankopplung des digitalen Controllers an die Spannungspegel auf dem CAN-Bus. Der Transceiver
-
Thread
UART an CAN-Treiber
Ja, ich meine den MCP2551. Habe mich nur vertippt.
Würdet ihr den MCP2551 oder den PCA82C251 bevorzugen?
-
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
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
Senden mit MCP2515 Fehler
dann müsste zumindest etwas auf dem oszi zu sehen sein? Aufbau: Atmega644 mit 14,7456 MHZ Quarz MCP2515 mit 16 MHZ Quarz MCP2551 als Transiver [c] void can_send_message(CANMessage *p_message) { uint8_t length = p_message->length; SPI_PORT &= ~(1<<SPI_SS); // CS Low
sprintf(bufferString, "DLC: %x \n", spidata); lcd_puts(bufferString); spidata = mcp2515_read_register(CANCTRL); itoa(spidata, i, 2); sprintf(bufferString, "CANCTRL: %s \n", i); lcd_puts(bufferString); spidata = mcp2515_read_register(TEC); itoa
-
Thread
Welchen CAN treiber?
Ich denke ich werde MCP2551 nehmen..
Kann man eigentlich auch zwischen MCP2515 und MCP2551 TX weglassen? damit sicher nichts gesendet wird..
-
Thread
CAN Bus mit Microcontroller
zu > hängen sind und dann läuft das. Aber wie? # Es gibt spezielle CAN-Controller wie z.B. den MCP2515 oder Nachfolger, die hängt man über SPI an den µC. Oder man nimmt direkt CAN-Fähige µC. # LIN kann eigentlich jeder µC, wenn er eine Anständige UART drin hat. # RS485/422 ist nix anderes als Serielle
Doppelader. Geht halt nur Halbduplex. Kann jeder µC mit Uart. Dann braucht man noch Bustreiber. # MCP2551 für CAN, der kommt an den 2515 dran. # RS485 gibt es z.B. SNsn75176, MAX485... direkt n den µC # Lin-Bus Treiber ATA6620N, aber schwer zu bekommen(selber friemeln??). auch direkt an den µC.
-
Thread
Konzept-Entscheidungshilfe
oder ist das schon eine gute Wahl? 2. Für das CAN-Interface würde ich nach einiger Recherche zum MCP2515 als Controller (auch 3V3-fähig) und ursprünglich zum MCP2551 als CAN-Treiber greifen. Allerdings benötigt der wohl 5V, d.h. ich müsste einzig für diesen Baustein die Spannung wieder hochregeln.
SN65HVD230, der auch 3V3-fähig ist. Gibt es mit > dem denn (ähnlich positive) Erfahrungen wie mit dem MCP2551? Der Alterativ-Transceiver sollte gehen.
-
Thread
Auswahl eines µController mit 8 PWM und CAN-Controller
der ATmega64M1 (10x Hardware-PWM). Kann ich diese beide einfach mit einem Philips PCA82C250 oder MCP 2551 verbinden und die CAN Kommunikation steht (mit ein paar Zeilen Code natürlich)? Für Hinweise/Lösungsansätze bin ich dankbar. Mit dem richtigen Controller kann ich mit dem Platinenentwurf beginnen
10x Hardware-PWM). Geht auch. >Kann ich diese beide einfach mit einem Philips PCA82C250 oder MCP 2551 >verbinden und die CAN Kommunikation steht (mit ein paar Zeilen Code >natürlich)? Sicher, aber wozu dann der AT90CAN128? Dann reicht ein kleiner ATmega88 oder sogar ATtiny2313. MFG Falk
-
Thread
CAN HighSpeed gegen LOW Speed Transveiver
ich nichts vernünftiges gefunden... ich habe ein modul, da ist ein Highspeed Controller drauf (mcp2551) den würde ich gerne gegen einen LowSpeed austauschen (TJA1054) Leider sind sie nicht Pinkompatibel. was haltet ihr davon? Sollte das klappen??? hat so was schon mal jemand gemacht und
-
Thread
Großes SJA1000 Problem. Weiß nicht mehr weiter
Brauchte alles kein Erfolg. Ich poste die Ausschnitt gleich mal. Als CAN Tranceiver nutze ich den MCP2551. Der SJA1000 bekommt seine nachricht auch über den RX Pin zurück. Das is auf dem 3. Bild gut zu sehen. Channel 2 ist TX und Channel 4 is RX. Müsste ich nicht trotzdem eine vernünftige Nachricht
Entschuldigung ich hab den MCP auf dem SChaltplan total vergessen. Also hier der Code. Initialisierung: [c] void sja1000_write(uint8_t address, uint8_t data) { // set address SET(SJA1000_ALE); PORT(SJA1000_DATA)
-
Thread
CAN-Controller Chip?
MCP2515
Und dann noch einen Tranceiver dazu wie z.B. den MCP2551 (man beachte den Zahlendreher). Eine fertige Lib gibt es z.B. bei Kreatives Chaos: http://www.kreatives-chaos.com/artikel/universelle-can-bibliothek
-
Thread
Terminierung von CAN-Bus
anzuschliessen. Der Bus besteht im Wesentlichen nur aus einem USB-CAN Wandler und einem CAN Tranceiver MCP2551. Meine Frage ist nun zur Terminierung: Ich habe gelesen dass der Bus auf beiden Seiten mit 120Ohm abgeschlossen werden muss. Ist das ein Widerstand als Bauteil gemeint oder ist das ein Wellenwiderstand
-
Thread
Probleme mit MCP2515
zusammen! 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
Hast Du den Reset-PIN am MCP angeschlossen? Denn nach dem Reset soll sich der MCP ohnehin im Konfigurationsmodus befinden. Das entspräche dem geforderten Bit OPMOD2. Wenn sich der Controler nicht im Konfigurationsmodus befindet
-
Thread
MCP2515 richtig initialisiert?
@ 16 MHZ ext. Takt USART Initalisiert... MCP CANCTRL nach Reset: 10000111 (0x87) MCP CANCTRL Arbeitsmod.: 111 (0x7) -------- MCP 2515 Register ------ MCP CANCTRL: 111 MCP CANSTAT: 0 MCP CNF1: 111 MCP CNF2: 10010000 MCP CNF3: 10 -
einem Skoda Octavia besorgt. Ein kleinen Bus mit 120 Ohm widerständen an den enden und daran meinen mcp2551 der die signale von CANH und CANL umwandelt in eine 0-5V Spannung. Das Signal liegt dann am RXD Pin beim MCP2515 an. Was mir jetzt aufgefallen ist: das Register "REC" = 10000001 und Das Register
-
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
Hallo, > Verwende ich den LOOPBACK Mode des MCP2551 funktioniert alles einwandfrei. Logisch; der MCP2551 ist falsch angeschlossen (siehe Datenblatt!). TxD an TXCAN und RxD an RXCAN anschliessen, nicht anders rum. > rs solltest du offen lassen
-
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
wenn es zu Problemen kommt, wobei ich es erstmal nicht vermute :) Weißt du zufällig wie stark der MCP2551 eingreift? Also der CAN Transceiver, undzwar, wenn der MCP2515 oder AT90CAN128 fälschlicherweise mit dem Senden beginnt, obwohl gerade eine Nachricht läuft, ob der MCP2551 das unterdrückt, oder
-
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
AT90CANxx sendet solange bis ACK kommt
bitte mal den Anhang an. Das ausgesandte, ist nie auf dem BUS zu sehen. Obere Kurve = Tx vom AVR / MCP2551 untere Kurve = Rx vom AVR / MCP2551 Eigentlich sollte ja, wenn alles passt die beiden Kurven gleich sein, wenn der AVR etwas aussendet, ist aber absolut nicht, obwohl hierfür eigentlich kein
-
Thread
MCP2515 Initialisierung
Hallo zusammen, für das mitlesen am CAN BUS (100Kb/s) habe ich mir eine Schaltung mit AtMega328P und MCP2515 und MCP2551 aufgebaut. Sowohl der ATMega wie auch der MCP haben einen eigenen 16MHz Quarz. Den Basiscode (ursprünglich für ATMega8) habe ich hier aus dem Forum den ich nochmal anhand des Datenblattes
empfangen Mcp2515_write_register Rxm0sidh , 0 Mcp2515_write_register Rxm0sidl , 0 Mcp2515_write_register Rxm0eid8 , 0 Mcp2515_write_register Rxm0eid0 , 0 Mcp2515_write_register Rxm1sidh , 0 Mcp2515_write_register
-
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
den zweiten CAN-Controller weglasse, bekommt der µC keinen Takt mehr... Frage: Ist der ClkOut des MCP stark genug, um den zweiten CAN-Controller und den µC zu betreiben? Ich habe im Datenblatt des MCP nichts über die Belastbarkeit des ClkOut des MCP gefunden (oder habe ich da etwas überlesen?)
-
Thread
Simpler CAN Baustein
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 im Beitrag #2234165: > 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
-
Thread
CAN-Interface mit galvanischer Trennung für Pandaboard (OMAP4)
Schnittstellen zu entwerfen. Aufgrund der Verfügbarkeit eines Linux-Treibers habe ich als Controller den MCP2515 ausgewählt. Dieser wird per SPI an den OMAP4 angebunden. Als Transceiver wollte ich den MCP2551 einsetzen. Um den OMAP4 zu schützen soll außerdem eine galvanische Trennung integriert werden.
kann. Dadurch bin ich hier gelandet. Meine Frage ist, ob es einen technischen Grund gibt warum der MCP2551 und der ADUM1402 durch den ISO1050 ersetzt wurde oder ob Bauteile gespart werden sollten. Hier geht es mir vor allem um die Beschaffungsmöglichkeit via Reichelt. Zweite Frage: Für was ist der
-
Thread
Display3000 CAN-Bus
Ob PCA82c250 oder MCP2551 Transceiver ist von dem Code unabhängig oder??
-
Thread
CAN-Bus Strombegrenzung
Stromwert überschreitet wird. Machen die meisten CAN-Tranciever wahrscheinlich sowieso von alleine. Beim MCP2551 steht z.B. im Datenblatt: • Protection against damage due to short-circuit conditions (positive or negative battery voltage) • Protection against high-voltage transients • Automatic thermal
-
Thread
Bus für >50m
MCP2551. fchk
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
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
nicht, dass der MCP einen Defekt hat. Den würde ich nicht tauschen.
-
Thread
CAN-CRC berechnen
in dem ich über einen vorhandenen CAN-Bus Daten schicken möchte. Als Hardware verwende ich einen MCP2551 und einen PIC uC. Einen extra CAN-Controller wollte ich nicht verwenden. Also möchte ich einen CAN-Controller selbst mit Assembler schreiben. @Balu: Danke für die einzelnen Reduktionsschritte
>Als Hardware verwende ich einen MCP2551 und einen PIC uC. Einen extra >CAN-Controller wollte ich nicht verwenden. Es gibt doch haufenweise PICs mit eingebautem CAN Controller;)
-
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
Hallo pcb 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
-
Thread
Entwicklung eines Bussystems
und hab folgende Idee: - einen kleinen AVR(hab mich noch nicht entschieden) - CAN Bus-Controller: MCP 2515-I/P(Reichelt: 1,60 EUR) - High Speed CAN Transceiver: MCP 2551-I/P(Reichelt: 1,- EUR) Was haltet ihr davon? Und sollte ich dazu ein CAT-Kabel nehmen? Oder ist dies ein wenig überdimensioniert
können und mein Englisch ist so bescheiden, dass ich kaum einen Absatz aus z.B. dem Datenblatt vom MCP2515 verstehe. Viele Grüße Ps.: Bin noch Neuling auf dem ganze Gebiet.
-
Thread
16 Bit Variable in 2x 8 Bit Variable aufteilen und Bits verschieben
der Titel sagt es schon, was ich machen möchte. Ich habe eine Platine mit einem ATMega8, einem MCP2515 und einem MCP2551. Programmiert wird über AVR Studio und AVR-GCC in "C". Ich würd gerne eine 16-Bit Variable in zwei 8-Bit Register klopfen, so wie auf der Grafik... Und dann müssen noch beim
-
Thread
[V] 5x MCP2551 SOIC-8
Hallo, ich habe 5x MCP2551 SOIC-8 abzugeben. Versand per Brief. Für die Unkosten berechne ich 2€. Grüße.
-
Thread
Problem mit CAN Interface MCP2515/2551
Hallo zusammen! Ich habe mir ein CAN Bus Interface mit den Chips MCP2515 und MCP2551 gebaut. Dieses Interface spreche ich mit einem Arduino Mega 2560 Board über SPI an, dazu ist es mit den Anschlüssen CS, SCK, MOSI und MISO verbunden. Der Anschluß "Mode" geht auch zu
zu Hause :-) Noch ne Sache: Während meinen letzten Tests war an den CANH und CANL Leitungen vom MCP2551 nichts angeschlossen. Ich dachte mir, das brauch ich nicht unbedingt, um den MCP2515 zum laufen zu bringen. Ist das richtig?
-
Thread
uC funktioniert erst nach reset
irgendjemand kann mir weiterhelfen. Ich habe 2 uC´s über CAN miteinander verbunden. D.h. mega32 -> mcp2515 -> mcp2551 und umgekehrt. Wenn ich nun die Stromversorgung einschalte passiert erstmal gar nichts. Nachdem ich nun an beiden Controllern den Reset betätige, klappt die Kommunikation einwandfrei
-CAN- MCP2515 (Slave) -SPI- µC (Master)
-
Thread
Welchen Bus?
würde dir angesichts der Störfaktoren auch dringendst zu einem CAN-Bus raten. Der CAN Controller MCP2515 http://www.mikrocontroller.net/articles/CAN#CAN_Controller ist weltweit bekannt und extrem verbreitet. Es gibt abertausende Projekte mit diesem. Als CAN Treiber nimmt man dann meist den MCP2551
-
Thread
CAN Bus schützen
CAN Bus mit einer Länge von ca 200m und 30 Teilnehmern. Als Hardware habe ich einen AVR Atmega - MCP2515 - MCP2551 eingesetzt. Leider hatte ich nun schon zwei mal das Problem dass wegen Überspannung (Blitzschlag) bis zu 20 CAN Treiber zerstört wurden. Ich habe nun eine Lösung gefunden. Offensichtlich
-
Thread
CAN-BUS Problem
bekomme ich aber dieses Bild siehe Bild2 von MCP2551. Schaltplan ist auch Im Anhang. Hier mein Quellcode für den Sender. #include <stdlib.h> #include <avr/io.h> #include "lcd.h" #include "lcd.c" #include <util/delay.h> #include <math.h>
@Oli. Hast du Pin 8 vom MCP2551 (DIL) mit 10 Ohm an Masse/GND? Anbei ein Schaltungsbeispiel mit mega16 und externem CAN-Trasceiver. Poste mal deinen Schaltplan.
-
Thread
Buderus EMS-"Gateway" mit PIC18F / Sammelbestellung
--|______|--- ______ _____ CL---| |---| |--- | CMR | | ESD | => MCP CH---|______|---|_____|--- [/code]
so: Ich glaub ich habe das immer noch nicht so ganz verstanden... Denke der ACM sollte auf der MCP2551-Seite vom DC/DC-Wandler sein... Die Schaltung am Ausgang mit L, C und C habe ich aus einer anderen Schaltung "geklaut" Denke jetzt dass der Schaltplan sonst soweit fertig ist. Muss nur noch mal
-
Thread
Geschindigkeitssignal Kfz auslesen und interpretien
Der hat kein CAN. Es gibt genug CAN-Controller ICs http://www.mikrocontroller.net/articles/CAN#MCP2515 Die Treiber dazu nicht immer vergessen =) http://www.mikrocontroller.net/articles/CAN#MCP2551 Billiger: AVR + externe CAN Controller + CAN Treiber Teurer AVR mit CAN + CAN Treiber (den braucht
-
Thread
Hausbusprojekte mit CAN
hab) Btw. meines Wissens ist bei Verwendung eines normalen HS-CAN-Transceivers (á la PCA82C251/MCP2551) keine separate Wakeup Leitung zum Aufwecken des PIC notwendig, korrigiert mich bitte, wenn ich da falsch liege. Interessanter wäre (da die Interrupteingänge des PIC ja recht beschränkt sind)
> Btw. meines Wissens ist bei Verwendung eines normalen > HS-CAN-Transceivers (á la PCA82C251/MCP2551) keine separate Wakeup > Leitung zum Aufwecken des PIC notwendig, korrigiert mich bitte, wenn ich > da falsch liege. Kannst Du mir da eine Quelle geben? > Interessanter wäre (da die Interrupteingänge