- Labornetzteil AliExpress         
Seite 3 von 7 ErsteErste 12345 ... LetzteLetzte
Ergebnis 21 bis 30 von 68

Thema: CAN - Controller Area Network

  1. #21
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.01.2005
    Ort
    Bayern
    Alter
    37
    Beiträge
    795
    Anzeige

    Powerstation Test
    Hallo Sprinter,

    Ist richtig. Ich glaube aber da liegt ein kleines Mißverständnis vor. Oder ich hab mich falsch ausgedrückt.

    1. CS nach LOW
    2. Man gibt den Slave die entsprechenden Anweisungen.
    spi_putc(SPI_READ);
    spi_putc(adress);

    3. Jetzt kopiert der Slave das ausgewählte Register in SEIN SPI-Data-Register.

    Um nun DIESE Daten vom SLAVE zum MASTER zu Transportieren, muss der MASTER nochmal eine Transmission machen:
    data = spi_putc(0xff);

    An dieser Stelle ist jetzt die Frage, ob es unbedingt 0xFF sein muss, oder ob es auch 0xAB oder 0x00 was auch immer sein kann... Normalerweise ist es ja egal oder? was mann dann hier sendet? Hauptsache man sendet irgendwas.

    CS nach HIGH...
    Gruß,
    Franz

  2. #22
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569

    Re: CAN - Controller Area Network

    Zitat Zitat von Kaiser-F
    Um dies zu realisieren habe ich mir kleine CAN-Module gebaut:
    Besteht die Möglichkeit ein Schaltbild dieser Module zu veröffentlichen ?

  3. #23
    Benutzer Stammmitglied
    Registriert seit
    15.03.2004
    Beiträge
    94
    Alles klar, jetzt hab ich das geschnallt, (würde dann aber nicht LSB und MSB vertauscht werden) ich war immer der Meinung es müste auch so gehen:
    Code:
    //def.  V
    short int data;
    
    while ( SPSR &= ~(SPIF));
    
    data = SPDR
    
    ...
    Aber trotzdem, viele Dank.
    Übrigens versuch ich mich grade an einem AT90CAN128 und im Rahmen
    einer Werkstudententätigkeit an der Renesas M16C Serie (hat auch CAN an Bord) wenn sich hier etwas Wissenswertes entwickelt werd ich das hier posten. Hat auch schonmal jemand was mit Flexray gemacht ?

  4. #24
    Benutzer Stammmitglied
    Registriert seit
    15.03.2004
    Beiträge
    94
    Vielen Dank, jetzt is mir das auch klar. Ich hatt´s immer meiner Logik nach so versucht:

    short int data;

    while( SPSR &= ~(1<<SPIF));

    data = SPDR;

    Also Danke nochmal. Übrigens Arbeite ich auch grade privat an eienm AT90CAN128 und als Werkstudent an einem µC aus der Renesas M16C Serie.
    Wenn sich da etwas wissenswertes ergibt, lass ich´s wissen.
    Hat auch schonmal jemand etwas mit Flexray gemacht ?

  5. #25
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.01.2005
    Ort
    Bayern
    Alter
    37
    Beiträge
    795
    Hier für die, die das Teil auch bauen möchten:

    http://www.sir-kaiser.de/download/00..._CAN-MODUL.pdf
    Gruß,
    Franz

  6. #26
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Dankeschön

    [fünfzehnzeichen]

  7. #27
    Benutzer Stammmitglied
    Registriert seit
    14.12.2005
    Ort
    Bayern
    Alter
    40
    Beiträge
    86
    Hallo,
    ich bin gerade dabei das Projekt mal zum testen nachzubauen.

    Ich Suche aber in erster line eine möglichkeit so eine Art CANGateway zu bauen. Das heisst ich habe zwei CAN Netzte die ich miteinander verbinden will(und paar Sachen Filtern und ändern, verschiedene bauds usw.). Gibt es einen preisgünstigen IC der mit zwei CANschnittstellen umgehen kann oder hat jemand einen guten Lösungsvorschlag?

    Gruss
    Markus

  8. #28
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.01.2005
    Ort
    Bayern
    Alter
    37
    Beiträge
    795
    Hallo rathma,

    Du kannst auch zwei meiner Platinen mit einem Atmel verbinden.

    Ansonsten glaube ich dass der "SJA1000" zwei Can-schnittstellen hat.
    Gruß,
    Franz

  9. #29
    Benutzer Stammmitglied
    Registriert seit
    14.12.2005
    Ort
    Bayern
    Alter
    40
    Beiträge
    86
    Bräuchte ich nicht dann aus zwei SPI Schnittstellen? An das hatte ich auch schon gedacht, das ich zwei mcp2515er verbaue

  10. #30
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.01.2005
    Ort
    Bayern
    Alter
    37
    Beiträge
    795
    Nein brauchst du nicht. Dazu ist die CS/SS Leitung. Du kannst beliebig viele "SPI-Chips" miteinander verbinden, wie einen Bus.
    Nur die CS oder auch SS Leitung bekommt jeder Chip seperat.
    CS bedeutet CHIP-SELECT. Der jenige Chip, bei dem CS LOW ist,
    wird angesprochen....


    Sagen wir du hast im extremfall 2 CAN-Controller und eine SD-Karte.

    Willst du nun mit CAN1 plaudern, viehst du CS von CAN1 auf LOW,
    alle anderen MÜSSEN HIGH sein! Dann kannst du bequem mit CAN1 plaudern.

    Willst du nun mit CAN2 Plaudern, so setzt du NUR CS von CAN2 auf low,
    alle anderen MÜSSEN WIEDER HIGH SEIN!
    Jetzt kann man bequem mit CAN2 plaudern.
    Die anderen interessieren sich nicht dafür, was am SPI passiert.

    Hierbei ist immer vorauszusetztn, dass dein ATMEL der SPI-Master ist!

    Jetzt fragst du dich bestimmt, wozu dann die INT-Leitung ist.
    Naja, versetzt dich mal in den CAN-Chip (machen wir es mal personifiziert).
    Der empfängt jetzt was, und der atmel fragt einfach nicht nach über das SPI.
    Dann meldet sich der CAN-Chip durch verändern des pegels an der
    INT-Leitung, so ungefär: "hey, schau moi her"...
    Daraufhin kann man dann was unternehmen...



    Ich habe selbst schon ein System aufgebaut, welches genau das
    erfüllen soll, was du machen willst. Benutze dabei auch zwei
    MCP2515 und es funktioniert perfekt damit!
    Gruß,
    Franz

Seite 3 von 7 ErsteErste 12345 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen