- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 3 von 3

Thema: OSD Chip MAX7456 SPI über Mega8

  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    53
    Beiträge
    502

    OSD Chip MAX7456 SPI über Mega8

    Anzeige

    Powerstation Test
    Versuche mich gerade an einer OSD Ansteuerung mit dem MAX7456. Hab da aber irgendwie ein Verständnisproblem mit dem SPI.

    Um eine Adresse zu lesen sende ich ein Byte über die SPI MOSI an den Max. Nun sollte dieser mir aber doch laut Datenblatt den Inhalt der Adresse ausgeben über MISO. Macht er aber nicht. Enable ist auf Low auch noch nach der Adressangabe und laut DB sollte die Antwort bereits mit der letzten fallenden Flanke des Clocksignals beim Adressauslesen beginnen. Da passiert nichts.

    Nun meine Fragen wer gibt denn eigentlich beim Hardware SPI den Takt an? Ist das immer der Master? und Wie bekomme ich den dazu, dass er weiter taktet?

    Hänge mal ein Stück mitgeloggte Kommunikation an.

    sast
    (in der Hoffnung das es nur an meiner Unfähigkeit und nicht am bereits dahingeschiedenen Mäxchen liegt)
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken max7456_spi.jpg  

    雅思特史特芬
    开发及研究

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    einfach ein dummybyte in das SPI-register dann taktet er weiter, der schieb bei jeder steigenden flanke 1 bit zum slave und bei der fallenden ein bit zum master

    du bekommst während du die addressbytes schreibst bereits werte zurückgeliefert, was da drin steht kann ich dir nicht sagen, meist wird einfach eine zahl inkrementiert, sozusagen als empfangsbestätigung!

    also h-addressbyte rein, 0 raus, l-addressbyte rein, 1 raus, dummybyte rein, wert raus ... das ist nur zur veranschaulichung, hab mir das datenblatt jetzt nicht angesehn


    EDIT: hab das bild grad gesehn, lass mal SPI enabled an während du das 3te byte reinjagst!

    PS: versuch mal aus dem datenblatt fig.20 auf seite 22 vielleicht kannst du das rekonstruieren



    ist dein MISO auf input gestellt ?!! hab ausversehen miso und mosi mal vertauscht beim input und output einstellen und so die hardware gegrillt ^^

  3. #3
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    53
    Beiträge
    502
    Das mit dem dummy scheint zu funktionieren.
    0x00 und 0x40 war Schreiben des Registers 0x00 und 0x80 ist Lesen von 0x00.
    Hab nur ans Lesen von 0x00 ein dummybyte angehängt, da er sonst die 0x00 bestimmt als Adresse verstanden hätte.

    Scheint also noch alles im Lot zu sein, hatte nämlich beim SMD Löten etwas viel gekleckst.

    Hier mal das Logikbild wie es jetzt läuft.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken max7456_spi_4.jpg  

    雅思特史特芬
    开发及研究

Berechtigungen

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

12V Akku bauen