- LiTime Speicher und Akkus         
Ergebnis 1 bis 6 von 6

Thema: SPI ansteuerung Hilfe gesucht STV5730

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370

    SPI ansteuerung Hilfe gesucht STV5730

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,

    ich versuche einen STV5730 anzusteuern, habe mir dazu ein board bei elv besorgt welches den IC funktionierend drauf hat. Habe dann den Controller mit dem IC verbunden (vorher den controller von der elv platine entfernt) aber ich kriege dees ding ned zum laufen folgender code sollte funktionieren (den datenbereich habe ich für testzwecke von dem code von ulrich radig genommen) liegt es evtl an der einstellung für die SPI schnittstelle? mit mosi/miso war ich nicht sicher, aber keine von beiden läuft... oder lese ich den datenteil falsch aus?


    Code:
    $regfile = "m128def.dat"
    $crystal = 16000000
    $baud = 9600
    
    Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 0 , Clockrate = 128 , Noss = 0
    
    Dim A(8) As Byte
    Dim I As Byte
    Dim I2 As Byte
    
    Spiinit
    
    Wait 1
    
    I = 0
    
    Restore Da1
    '# initialisierung
    Do
    Read A(1)
    Read A(2)
    Spiout A(1) , 2
    Incr I
    Loop Until I = 24
     'eine zeile hat 8 bytes, es werden immer 2 gleichzeitig gelesen,daher 6x4
     
    
    '### Text der ausgegeben wird
    Restore Da2
    
    I = 0
    Do
    Read A(1)
    Spiout A(1) , 1
    Incr I
    Loop Until I = 16
    
    
    Do
    nop
    nop
    nop
    Loop
    
    End
    
    Da1:
    
    Data &H30 , &H00 , &H30 , &H00 , &H00 , &HDB , &H10 , &H00
    Data &H00 , &HCF , &H10 , &H4E , &H00 , &HD0 , &H15 , &H32
    Data &H00 , &HCD , &H12 , &H01 , &H00 , &HCE , &H1B , &H95
    Data &H00 , &HC0 , &H1F , &H90 , &H1F , &H90 , &H1F , &H80
    Data &H1F , &H80 , &H1F , &H80 , &H1F , &H80 , &H1F , &H80
    Data &H1F , &H80 , &H1F , &H80 , &H1F , &H80 , &H1F , &H80
    
    Da2:
    
    Data &H20 , &H35 , &H3B , &H32 , &H2C , &H31 , &H0B , &H0B
    Data &H1D , &H2A , &H2D , &H32 , &H30 , &H0B , &H0B , &H0B
    [/code]

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    23.07.2004
    Ort
    Regensburg
    Alter
    39
    Beiträge
    366
    wie hast du den controller den angeschlossen?
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken avr-schaltplan_171.gif  

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370
    Der controller läuft einfandfrei. (Testoutput Uart)

    PB0 (SS) --> CSN STV5730
    PB1 (CLK) --> CLK STV5730
    PB2/3 (DATA) --> DATA STV5730
    +5V --> BAR STV5730

    Die datenleitung habe ich immer wieder hin und hergesteckt, weil ich nicht sicher war, ob PB2 oder PB3 ausgang ist (MOSI/MISO)

    (so wie die anschlüsse des vorhandenen -funktionierenden- controllers sind - BAR habe ich gemessen)

    habe den code ein wenig verändert mit dem READ war ich nicht so sicher
    Das auslesen des datenteils funktioniert jetzt zuverlässiger (UART output getestet)
    Werde den mega128 mit auf arbeit nehmen und mal an den oszi hängen, um zu sehen ob an der spi schnittstelle überhaupt was rauskommt.


    Code:
    $regfile = "m128def.dat"
    $crystal = 4000000 'internal 4MHz RC
    $baud = 9600
    
    Config Spi = Hard , Interrupt = On , Data Order = Msb , Master = Yes , Polarity = High , Phase = 0 , Clockrate = 128 , Noss = 0
    'Config Spi = Soft , Dout = Portb.2 , Clock = Portb.1 , Ss = Portb.0
    'Hier habe ich mal probiert, lief auch nicht!!
    
    Dim A(2) As Byte
    Dim I As Byte
    
    Spiinit
    
    Wait 1
    
    I = 0
    Do ' Initialisierung und SETUP (Je 2 bytes werden gesendet)
    A(1) = Lookup(i , Da1)
    Incr I
    A(2) = Lookup(i , Da1)
    Spiout A(1) , 2
    Waitms 10
    Incr I
    Loop Until I = 48
    
    
    
    I = 0
    Do 'Textausgabe (je ein byte wird gesendet)
    A(1) = Lookup(i , Da2)
    Spiout A(1) , 1
    Waitms 10
    Incr I
    Loop Until I = 16
    
    
    Do
    nop
    nop
    nop
    Loop
    
    End
    
    Da1:
    
    Data &H30 , &H00 , &H30 , &H00 , &H00 , &HDB , &H10 , &H00
    Data &H00 , &HCF , &H10 , &H4E , &H00 , &HD0 , &H15 , &H32
    Data &H00 , &HCD , &H12 , &H01 , &H00 , &HCE , &H1B , &H95
    Data &H00 , &HC0 , &H1F , &H90 , &H1F , &H90 , &H1F , &H80
    Data &H1F , &H80 , &H1F , &H80 , &H1F , &H80 , &H1F , &H80
    Data &H1F , &H80 , &H1F , &H80 , &H1F , &H80 , &H1F , &H80
    
    Da2:
    
    Data &H20 , &H35 , &H3B , &H32 , &H2C , &H31 , &H0B , &H0B
    Data &H1D , &H2A , &H2D , &H32 , &H30 , &H0B , &H0B , &H0B
    [/code]

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370
    Also: Phase=1 als einstellung bewirkt auf jeden fall eine initialisierung, aber ansonsten gibt er nur müll, gibts denn niemand mit erfahrung was diesen Baustein angeht?

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    23.07.2004
    Ort
    Regensburg
    Alter
    39
    Beiträge
    366
    bist du dir auch sicher, dass du die fuses richtig gesetzt hast?

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370
    Die fuses sind richtig gesetzt. Phase=0 war falsch. und dann noch RTFM fehler gemacht, grins.

Berechtigungen

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

LiTime Speicher und Akkus