-
Thread
6 Kanal PWM, unabhaengig Frequenz und Duty cycle variierbar
muss implementiert werden, auch Treiber Chips - CAN Bus (overkill, aber die CAN Controller, z.B. MCP2515 scheinen einem die Arbeit abzunehmen). Problem mit ATXMega 5/3.3V Habt Ihr speziell fuer die PWM Generierung Ideen wie dies "einfach" zu realisieren ist? Herzlicher Gruss, Thom
-
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
AT90CAN mit sechs externen CAN-Controllern
Hallo, ich habe vor mit einem AT90CAN (AVR-CAN von Olimex) sechs externe CAN-Controller (MCP2515)über SPI zu steuern. Meine Frage ist ob das geht, und welche zusätzlichen Bauteile ich hierfür speziell noch dazu kaufen müsste.
jedenfalls auch nicht. Bei zwei Controllern würde ich allerdings eventuell doch wieder eher die MCP2515 nehmen, da diese 2 (mit einer 2-Message-Fifo) und zusätzliche 4 (ohne Fifo) Acceptance-Filter haben, während der SJA1000 nur eines hat (bei Extended ID). Damit würden nicht beide Controller alle
-
Thread
Atmelstudio6 lib einbinden
Im gleichen Verzeichnis ist die config.h Dort den Prozessor auswählen: [c] #define SUPPORT_MCP2515 0 #define SUPPORT_AT90CAN 1 #define SUPPORT_SJA1000 0 [/c] Dann mit "make lib" die Library erstellen. Dabei darf keine Fehlermeldung kommen. Wenn das passiert ist, die gerade
-
Thread
MSP430 Falscher Pin reagiert auf Interrupt
Die Kommentare sind für mich gedacht, das sind die beiden Pins, auf denen der MCP2515 anzeigt, wenn der entsprechende Empfangspuffer voll ist. Die Pegeländerung sehe ich im Debugger, seltsamerweise funktioniert es zB. mit P2.2. P2SEL ist für die Pins natürlich jeweils deaktiviert
()); P2IFG &= ~BIT3; mcp2515_bit_modify_register(0x2c,0x02,0x00); } } [/c] Wie ihr seht, nichts besonderes, Interrupthandler für den Port und dann wird überprüft, welche Pins nun genau den Interrupt ausgelöst haben.
-
Thread
I2C Reichweite
, und das wars. Meine Empfehlung: PIC18F26K80 (8 Bit) oder dsPIC33FJ128GP802 (16 Bit, 40 MHz) plus MCP2551 Transceiver. Bei den AVRs brauchst Du immer noch einen extra Chip für den Controller, wenn Du nicht gerade die dicken 90CAN32/64/128 im 64-pin TQFP verwenden willst. Der extra Controllerchip (entweder ein SJA1000 oder ein Microchip MCP2515) kostet fast so viel wie der PIC18F26K80 oben, der aber noch einen kompletten Prozessor mit eingebaut hat. Ist also teurer, braucht mehr Bauteile und auch mehr Platz. Also warum eine schlechtere
-
Thread
MSP430 SPI sendet in falscher Reihenfolge -> LSB zuerst
Was ist ein MCP? Was würdest du erwarten und was kommt? Warum muss man jedesmal nachfragen? Scheixx Salamitaktik...
Oh Mist. Ich hätte schwören können, dass ich erwähnt habe, dass ich versuche, mit einem MCP2515 zu kommunizieren. Daher auch der Befehl 0xa0, um das Statusregister auszulesen. Während ich diesen Befehl sende, sollte (laut Datenblatt) der Ausgang auf high-impedance sein (ist er auch) und
-
Thread
CAN id wechselt den Wert
Denn ich habe jetzt die Widerstände ausgetauscht und der Fehler ist geblieben. Ich benutze einen MCP2515 um den CAN-BUS auszulesen. Dann gehe ich so vor, dass ich erst den Staus des MCP2515 abfrage ob eine neue Nachricht im empfangsregister geladen wurden ist. Falls ja, dann lese icg die ID und die Daten aus. Zum schluss sage ich dem MCP2515, dass er neue Nachricht empfangen soll.
-
Thread
MSP430 Passende CAN-Controller und Transceiver als DIL
der Suche nach einem passenden CAN-Transceiver und -Controller-Pärchen. Gestoßen bin ich dabei auf MCP2515 und MCP2551. Der Controller kann ja auch mit 3,3V betrieben werden, der Transceiver nicht. Nun ist meine Frage: Kann ich diese Konstellation (ohne zusätzliche Pegelwandler etc.) so laufen lassen
3V3 MCP2515 + 5V MCP2551 geht: http://lnxpps.de/can2udp/openwrt/ Der Spannungsteiler R1/R2 sollte aber besser 1K/1,8K sein ...
-
Thread
Ansteuerung MCP 2515
verhältnismäßig teuer ist, überlege ich auf einen kleineren AVR (z.B. ATmega8) in Verbindung mit dem MCP2515 umzusteigen. Ein bisschen Bedenken habe ich aber noch vor der Programmierung und der Ansteuerung von diesem Teil. Ist die Integration des MCP2515 sehr viel aufwendiger als die direkte Ansteuerung
Es gibt natürlich auch von Atmel kleinere AT90CAN Geräte. Der MCP2515 lässt sich recht einfach ansteuern.
-
Thread
CAN-Bus mit uC
Wenn es drum geht, dass das Kerlchen klein wird: MCP2515 statt SJA1000, oder irgendwas mit integriertem CAN (AT90CANxxx, PIC18F2680, ...). Aber ein Tiny85 wird das wohl nicht, das wär zu knapp. Wenn du dir vielleicht vorgestellt hast, mit einem Tiny85
Als blutiger Anfänger solltest einen Arduino nehmen und auf dem steckbrett den Mcp2515 plus den Mcp2551 beschalten. Wenn du dann erfahrener geworden bist, gehst du über ins nächste Level. Dann nimmst du einen atmega168 plus einen Mcp25625 oder gleich einen atmega16m1
-
Thread
AT90CAN128 und MCP2515-Controller
Hallo Leute, ich versuche gerade einen MCP2515-CAN-Controller in Betrieb zu nehmen. Die Idee dahinter ist, später einen Atmega16 oder etwas kleineres zu nehmen. Habe ein Versuchsboard da, wo diese beiden Controller schon verbaut sind. Also
ich die SPI.h abgeändert das sie auf den Atmega16 passt und der Atmega16 steckt im STK600 und der MCP2515 auf dem Steckbrett.... Der CAN-Ausgang ist dann wieder zurückgeführt auf den CAN-Wandler des STK600 und das funktioniert zum Beispiel nun nicht mehr.... :-(
-
Thread
Seriell <> CAN Gateway
CAN-Gateway > aber ist das als Standard zu sehen? Wohl kaum, wenn schon hardware-spezifische Register (MCP2515) enthalten sind.
-
Thread
PIC Einsteiger/Umsteiger
einer Lupe nicht > finden. Sag das nicht. Wenn ich nur die ganzen Bastelprojekte vom Typ Mega8+MCP2515 sehe, dann weiß ich, dass in praktisch jedem Fall ein PIC18F25K80 die billigere, kleinere, einfachere und wohl auch stromsparendere Lösung gewesen wäre. Plus: mehr RAM und mehr Flash. Und was
der einzelnen Bits im PDP11 MikroCode. Nicht daß ich nicht gelegtenlich mit so einem integrierten MCP2515 liebäugle. Aber AVR ist da wie Mainframe Assembler gegen Microcode. Denke das spart mächtig Chipfläche und Strom, aber direkt programmieren will man sowas nicht.
-
Thread
Hilfe bei CAN-Bus Projekt
ein Problem mit meinem CAN-Bus Projekt. Beschäftige mich schon seit langen mit dem Atmega und den MCP2515. Leider ist jetzt das Projekt schon ziemlich groß geworden für einen Atmega und der Quellcode schon ziemlich lang. Es handelt sich bei meinem Projekt um eine universale CAN-Bus Schnittstelle zwischen PC und Auto. Atmega644, MCP2515 über SPI, MCP2551 High Speed Transceiver und ein TFT Screen. Das Empfangen funktioniert einwandfrei. Das Problem: Ich Sende die Canbus Nachrichten über einen FTDI USB Chip mit 921600 bit/s zum
-
Thread
MCP2515 sendet kein SO Signal an MISO (SPI)
keiner mehr eine Idee? Ich habe mich gestern abend nochmal hingesetzt und die Kommunikation mit MCP2515 neu geschrieben. Hab alle Dateien des Programms angehängt. wie gesagt, der AVR sendet über die SPI. Ich kann nur vermuten, dass der Fehler in der mcp2515.c liegt, wobei ich die Initalisierung diesmal
oder??? wie dem auch sei, ich habs grade getestet und es hat noch immer keine Wirkung [c] data = mcp2515_read(0x28); uint8_t mcp2515_read(uint8_t address) { cs_enable(CAN0); spi_transceive(SPI_READ); spi_transceive(address); uint8_t data = spi_transceive(0xaa); //Dummy Byte
-
Thread
CAN- Ethernet Gateway mit Radig Ethernet ATmega32 Board
weshalb ich das Gateay bauen will. Hardware: Die Hardware von Ulrich Radig habe ich mit einem MCP2515 CAN Controller und MCP2551 CAN Treiber erweitert. Der Ethernet und der CAN Controller werden beide über SPI angesteuert. Software: Als CAN-Lib verwende ich die Lib von kreatives-chaos.com (
-
Thread
Atmega88 und MCP2515 > SPI Kommunikation
Genutzt und angepasst wurde folgende Bibl.: http://www.kreatives-chaos.com/artikel/ansteuerung-eines-mcp2515 Soweit so gut, nun tritt folgendes Problem auf: Master sendet, Nachricht kommt am Slave am TX Pin des MCP2515 an, aber dieser reagiert nicht drauf. D.h. kein Int an den Atmega und keine
12345 schrieb im Beitrag #3012522: > Nachricht kommt am Slave am TX Pin des MCP2515 an Wie nochmal? Da kommt was am Sendepin an?
-
Thread
Open Source CAN-Bus Analyse Tool
(Ich verwende eine selbst gebaute Hardware auf Basis eines Arduino nano > China-Clons mit einem MCP2515. Firmware habe ich selber geschrieben.) Warum spinnen nur alle so auf den MCP2515 ? Es gibt so tolle Cortex-M3/M4 Controller mit CAN (ST, Cypress, ...) > > Folgendes ist mir aufgefallen:
Hola es posible usar Arduino con una shield can bus seestudio? CAN-BUS Shield adopts MCP2515 CAN Bus controller with SPI interface and MCP2551 CAN transceiver http://www.seeedstudio.com/wiki/CAN-BUS_Shield SAludos
-
Thread
Welchen Mikrocontroller CAN-Bus
du bei Reichelt. Ansonsten geht es auch irgend ein MC und dann einen Cancontroller dazu wie den mcp2515 Dazu noch einen can transeiver wie mcp2551 schau mal hier http://www.mikrocontroller.net/articles/CAN
Controller, daher fällt der Atmel raus. Ich denke ich hole mir den LPC1769 LPCXpresso und noch einen MCP2551 und dann bin ich ja mit der Hardware auf der sicheren Seite. Und dann gehts mit der Software los. Ich würde ja auch bei einem Atmel Controller bleiben aber ich hab kein günstiges Kit mit einem
-
Thread
Stromversorgung für Hausbussystem
Stromversorung des einzelnen Knotens mit RECOM R-785.0-0.5 für 24V -> 5V, dahinter einen LDO Microchip MCP1700 3.3V. Vielleicht kann man sich zusammenfinden. Die Platinen für die Knoten könnte man fertigen lassen (inkl. Bestückung für den LPC, wo das Löten keinen Spaß mehr macht). Habe einen Fertiger
Derzeit exprimentiere ich noch mit dem LPCxpresso und selbgelöteten Knoten mit dem LPC11C24. Von Atmel+MCP2515 bin ich abgekommen, das ist zuviel Lötarbeit. Also, vielleicht kann man Erfahrungen tauschen?
-
Thread
MCP2515 und modifizierter SocketCan treiber
Hab jetzt seit einer Woche nach dem kommenden Problem recherchiert. Das Setup: Ich betreibe den MCP2515 an einem modifizierten Pandaboard, genauer einem OMAP 4430 Prozessor (http://en.wikipedia.org/wiki/OMAP#OMAP_4). Das Board läuft mit Ubuntu 11.04. Die kommunikation zum MCP2515 erfolgt über SPI
zu beschreiben. Wenn keine keine Daten am Bus anliegen bin ich in der Lage die Harwarefilter des MCP2515 zu setzen. Das Problem: Leider ist es ja im Realfall so, dass ein Pandaboard mit Ubuntu drauf nicht so schnell bootet (hier etwa 20 Sekunden). In der Zeit sind aber schon lange Daten auf dem
-
Thread
Datenaustausch zwischen PHP und C
Webfrontend für meinen Hausbus verwenden. Wie hast Du die Verbindung zum CAN hergestellt? Ich wollte einen MCP2515 per SPI adaptieren. Kannst Du mich noch mit ein paar Infos zum Aufsetzen eines Webservers auf dem Pi versorgen? Kennst Du gute Links hierzu? Welche Funktionen hast Du bereits umgesetzt? Ich bin
bislang nicht testen. Da aber bereits die CAN Umsetzung auf dem Webserver von Ulrich Radig mit dem MCP 2515 (der auch auf dem Modul verbaut ist) funktioniert, kann ich die Routinen vom Webserver verwenden. Ich gehe davon aus, dass das innerhalb kürzester Zeit funktioniert. Falls du weitere Infos möchtest
-
Thread
CAN-Bus: MCP2515 und MCP2551 mit Linux Treiber
oben und das Datenblatt geben aber mir recht. TX ist mit TX, RX mit RX verbunden. Datenblatt: MCP2515 RX: Receive input pin from CAN bus MCP2551 RX: is usually connected to the receiver data input of the CAN controller device
ist "activ low" - ich vermisse den PullUp Widerstan am > INT. Das ist ein Push/Pull Ausgang vom MCP2515 (Siehe Datenblatt bei High level Output Voltage), braucht daher keinen Pullup. Grüße MiWi
-
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
Meinung über Heizungsprojekt
Rs485 mit Modbus oder auch Can vorschlagen. can ist etwas teuerer da du zusätzliche Controler wie Mcp2515 benötigst, aber dann einfacher zu programmieren, da das Protokoll im Mcp2515 schon vorhanden ist. Da du aber eigentlich kein Multimasterbetrieb benötigst würde auch Rs485 ausreichen, da gibt es
-
Thread
Suche Controller um Analoges Signal in das audi Can einzuspeisen.
schauen. Grundsätzlich würde ich für die Übergabe eines Analogwertes zum CanBus einen Attiny + Mcp2515 + 82c250 nehmen. In so ähnlicher Konfiguration fahren schon einige Fahrzeuge der Marke DB herum. Warum ich das wohl weiss? >Was an den Can weiter geleitet werden muss ist. >- tankanzeige/ Füllstand
-
Thread
(Daten-) Bus Programmieren in C
(z.B. AT90CAN128), oder Controller, die mit CAN-Controllern über SPI kommunizieren (z.B. ATmega8 + MCP2515) Wenn nicht CAN, gibt es die Möglichkeit zur seriellen Schnittstelle. Man könnte sich aber auch ein eigenes Bussystem mit eigenem, selbst ausgedachten Protokoll aufbauen.
-
Thread
MCP2515 Buffer Overflow?
µC initialisieren nicht beschaltete Pins aus Ausgang setzen Interrupts konfigirieren. INT0 1. MCP2515 1. MCP2515 initialisieren (nur zum Lesen) 2. MCP2515 initialisieren (nur zum Senden) DO IF A = 1 then (Leitung INT0 ist mit dem INT Pin vom MCP2515 verbunden) Empfangsbuffer erkennen
Hast du dir auch schon die errata-pdf auf der microchip-seite für den MCP2515 angesehen? Könnte hilfreich sein!
-
Thread
SPI mit 2 Mastern und 2 Slaves entkoppeln
* 2 mal ATMegaXXX, an denen jeweils nur der UART-SPI frei ist. (SPI hängt auf einem MEGA an einem MCP2515 und auf dem anderen Maga hängt eine SD Karte) Die ATMegas sollen die FRAMS parallel ansprechen können (quasi als FIFO). Der eine schreibt in FRAM1 während der andere _gleichzeitig_ von FRAM2
2 mal ATMegaXXX, an denen jeweils nur der UART-SPI frei ist. (SPI >hängt auf einem MEGA an einem MCP2515 und auf dem anderen Maga hängt >eine SD Karte) Hmmm. >Die ATMegas sollen die FRAMS parallel ansprechen können (quasi als >FIFO). >Der eine schreibt in FRAM1 während der andere gleichzeitig
-
Thread
Frage zum Messagefilter des MCP2515 CAN Controllers
Hallo an alle, ich arbeite gerade daran die Messagefilter des MCP2515 so zu setzen, dass nur bestimmte Nachrichten ankommen. Das ganze ist mir durch das Datenblatt und die Suche hier im Forum auch schon gelungen, indem ich die einzelnen Maskbits bzw. die Filterbits
wollte ich auf dem PC durchführen und die dort fertig ausgerechneten Masken und Filterbits an den MCP2515 schicken.
-
Thread
LPC11C24 CAN bootloader
Ich möchte von einem anderen CAN Gerät aus booten. Die CAN Nachricht schicke ich von einem MCP2515 über MCP2551 zum LPC11C24 LPCXpresso Board. Somit ist das mit dem FlashMagic leider nicht möglich, aber danke für die Antwort.
http://journal.embedded-projects.net/downloads/EPJ_18_web.pdf war der Anhang mal verlinkt (PC->FTDI->mcp2515->LPC11C24, BSD 2-Clause) sha256: 464b84859d1431d0e03f84fe2cfb182c617be26ab250a52f99cda756d9afc11b Hat wer das Teil schon auf SocketCAN umgestrickt?
-
Thread
AVR+SD-Card: SD-Card legt manches mal 0.13s "pausen" ein
geplanter Hauptprozessor für die Orchestrierung der module dess Uboots - ein Raspberry Pi - mit einem mcp2515 unter Linux verschluckt sich and der hier beschriebenen Daten-rate nach einiger Zeit... Der ATMega verkraftet das einwandfrei - halt bis auf das SD-Karten-problem und dem damit verbundenen Datenverlust
-
Thread
MCP2515 Register auslesen im "Normal Mode"
Hallo Forumgemeinde, ich weiß nicht genau ob ich einen Fehler mache. Ich schreibe in der Init- Phase (Configuration Mode) die Werte für Masken und Filter in die Register. Das ganze lese ich dann wieder aus um die Werte zu prüfen. Diese stimmen alle auch. Dann stelle ich den MC2515 auf "Normal Mode" um. Wenn ich jetzt wieder die Register auslese, dann steht überall die "0" drin. Liegt das daran, dass man die Register des MC2515 im "Normal Mode" vielleicht nicht auslesen kann, oder hat sich der MC2515 bei mir ungewollt "resettet"? Hat einer von Euch eine Idee? Grüße, Marcel(",)
-
Thread
AVR-M168A: USART im SPI modus parallell zu SPI zieht CS zu früh hoch
P.s: hier etwas mehr code von dem interleaved lesen/schreiben: [c] RESET(MCP2515_CS); spi_putc_async(0x90); /* then prepare the SDCard block in the meantime */ mmc_prepareBlock();
byte 13 is special again */ b=spi_getc_async(); /* waiting for the MCP-byte to return*/ SET(MCP2515_CS); /* pulling byte high as early as possible */ uspi_getc_async(); /* waiting for the MCP-byte to return*/
-
Thread
Seltsame Probleme mit Arduino Sketch - Out of Memory?
Posting relevant ist einer, der Stresstests für die Library durchführt. Die Library steuert einen MCP 2515 CAN Controller an. Für den Stresstest setze ich den in den Loopback-Modus. Ich stoße immer wieder auf seltsame Probleme, die sich (für mich) nicht einfach erklären lassen. Manchmal hängt der
-
Thread
Startschwierigkeiten mit AT90CAN128
jedoch vom creativen chaos so eine fertige Implementierung. Die hat den Charme, dass man über SPI den MCP2515 anschließen könnte und dann am AT90CAN128 dann zwei CAN-Knoten zur Verfügung hätte. Also, präzisiere doch ein wenig, was Dein Ziel ist. ...
-
Thread
CAN vs. CAN mit ATMEGA
Controller. Eine allgemeine Frage: Welcher Variante sollte ich den Vorzug geben: CAN über Controller wie MCP2515 per SPI angesteuert ODER CAN direkt mit Controller, der das unterstützt - also AT90CAN64 oder ATMEGA64M1 Hier sind für mich Vor- und Nachteile bzw. Eure Erfahrungswerte wichtig. Danke
Ich mache recht viel mit CAN. früher mit PIC und AVR und separatem SJA, später dann auch mit MCP2515. irgendwann mal bin ich dann beim STM32 mit integriertem CAN-Controller gelandet. Unabhängig davon ob Du nun einen STM32 oder einen AVR nimmst, bei der integrierten Lösung hast Du weniger zu
-
Thread
Verständnisfrage MCP2515
Ich hab eine Frage (bitte nicht gleich fressen falls die Antwort bereits irgendwo vermerkt ist)zum MCP2515. Wird der Received Interrupt immer ausgelöst oder nur wenn eine Nachricht mit dem richtigen Identifier empfangen wurde? fG Tom
-
Thread
Arduino & CAN-Bus
Hi, ich würde mal behaupten, dass du für CAN einen CAN-Transceiver brauchst (zB. MCP 2551). Ich glaube ohne den kommst du nicht weit! Lies dir doch erstmal durch was CAN überhaupt ist und wie es funktioniert. MfG Waldemar
insbesonders wenn du nicht die volle Funktionalität brauchst und nur mithören willst). Pack einen MCP2515 an die SPI und alles wird gut.
-
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