- Labornetzteil AliExpress         
Ergebnis 1 bis 3 von 3

Thema: Atmega128 gegen 2561 getauscht. Nun Fehler beim SPI

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.02.2008
    Ort
    Pohlheim
    Alter
    33
    Beiträge
    240

    Atmega128 gegen 2561 getauscht. Nun Fehler beim SPI

    Anzeige

    Praxistest und DIY Projekte
    Hi,

    ich habe in einer Steuerung ein Atmega128 mit ENC28J60 Webserver laufen. Da mir der Speicherplatz ein bisschen zu klein war, bin ich auf einen Atmega2561 umgestiegen. Leider funktioniert nun die Kommunikation mit dem ENC28J60 über den SPI nicht mehr richtig.

    Die initialisierung von dem ENC28J60 funktioniert noch einwandfrei. Sprich IP Adresse rüberschicken, ect. Frage ich allerdings im Programmablauf den Status vom ENC28J60 ab, hängt sich das Programm auf. Totalabsturz vom gesamten µC!

    Ich habe am Programm nichts geändert zwischen Atmega128 und Atmega2561.

    Code:
    $regfile = "m2561def.dat"
    $crystal = 8000000
    $baud = 19200
    $hwstack = 200
    $swstack = 200
    $framesize = 200
    
    $lib "glcd.lbx"
    $include "enc28j60.inc"
    $lib "tcpip.lbx"
    
    Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 3 , Cd = 0 , Rd = 1 , Wr = 5 , Reset = 2 , Fs = 6 , Mode = 8
    
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    
    Config 1wire = Portc.7
    Enc28j60_cs Alias Portb.0
    
    Config Enc28j60_cs = Output
    
    $include "variablenenc.inc"
    $include "ipconfig.inc"
    
    Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4 , Noss = 0
    
    
    
    Spiinit
    
    Waitms 500
    Gruß
    Felix

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.02.2008
    Ort
    Pohlheim
    Alter
    33
    Beiträge
    240
    Hi,

    hab jetz an jeden SPI Pin direkt am ENC28J60 einen 22p Kondensator sowie einen 1K Widerstand nach GND gelötet. Die 3,3V sowie 5V Versorgung zusätzlich nochmal mit je 2200µF gepuffert. Nun funktioniert das ganze wieder wie gewohnt =).

    Hätte nicht gedacht, dass der SPI bei einer Leiterbahnlänge von 3,5 cm so Störanfällig ist.

    MfG

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    vorallem die 2200µF und ggf. noch n paar hundert nF an der Versorgung des ENC
    bringen was, der Baustein schluckt mächtig Saft und knallt richtig Störungen auf die
    Versorgungsspannung.
    Die Störanfälligkeit des SPI hängt auch stark vom Bustakt ab.
    Hast Du Dir schonmal die Flanken des SPI-Signals nach Deiner Kur angeschaut?
    Vor den Erfolg haben die Götter den Schweiß gesetzt

Berechtigungen

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

Solar Speicher und Akkus Tests