-
        

Ergebnis 1 bis 5 von 5

Thema: Spi

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    07.07.2011
    Beiträge
    35

    Spi

    Anzeige

    Hallo,

    Ich hätte gerne eine Frage.
    Ich verwende STM32F100RB und möchte gerne das SPI-Peripheral als Slave-MODE verwenden.

    Im RM0008 seite 655 steht folgendes:

    Slave mode frequency (fPCLK/2 max)

    kann jemand mir bitte erklären was bedeutet das genau?

    irgendiwe sagt mir das die Hälfte von Klockfrequenz.....
    keine Ahnung, bitte um Hilfe.

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Ja das ist der aktuelle Takt / 2.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    07.07.2011
    Beiträge
    35
    also wenn mein CPU mit 24 MHz läuft, dann kann der SPI Daten mit max 12 MHz senden.? ist das richtig?

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    07.07.2011
    Beiträge
    35
    Hallo,

    Ich habe die Beschreibung von Transmit sequence (RM0008,s.661) durchgelesen. Ich werde sie zusammenfassen, und ich bitte um eine Bestätigung von erfahrenden User.

    Übertragungsreihenfolge:

    1) zunächst muss die clk-Leitung vom MASTR auf logic High gesetzt werden. (kann auch sein, dass die CLK-leitung auf Low gesetzt werden muss, das kommt darauf an, wie die CPHA & CPOL konfiguriert sind)

    2)wenn das MSB am MOSI-Pin liegt, dann beginnt die Übertragung-Zyklus

    3)Den Rest von dem Datenwort wird im Shift-Register geladen.

    4) Nachdem die Datenwort komplet im Shift-Register geladen sind, wird das Flag von TXE (Transmitt buffer Enpmty) auf eins gesetzt. damit wird indicated, dass der TX buffer ist jetzt empty und bereit das näcste wort zu empfangen.

    zwei Sätze habe ich nicht verstanden, und bitte um Erklärung:

    *)The data byte is parallel-loaded into the Tx buffer during a write cycle.
    parallel zu was?was läuft parallel dazu?
    durch was wird die write cycle veranlasst? irgendwie fehlt hier eine kitte aus!!!

    *)The transmit sequence begins when the slave device receives the clock signal and the most
    significant bit of the data on its MOSI pin.


    das hiere habe ich überhaupt nicht verstanden, wie konnte es von allein das MSB an MOSI-pin sein????
    und warum an MOSI-Pin und nicht an MISO? es geht hier um Übertragung von Slave nach MASTR!!!! Demzufolge soll das MASTR-INPUT/ SLAVE-OUTPUT.

    Ich bedanke mich für jede Hilfe.

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    09.04.2008
    Beiträge
    375
    *)The data byte is parallel-loaded into the Tx buffer during a write cycle.
    Beim SPI ist es normalerweise so, das den Eingang und Ausgang von das Schieberegister parallel arbeiten : Den Master schickt Daten nach den Slave, an Ausgang von den Slave komt dan auch eine Daten Satz raus. Diese kann (aber muss nicht) zuruck nach den Master gehen. Wen das Schieberegister ein Byte gross ist, und den Master schickt ein Byte, sind die Bytes van Master und Slave ausgetauscht.
    *)The transmit sequence begins when the slave device receives the clock signal and the most
    significant bit of the data on its MOSI pin.

    Beide laufen sowieso parallel.

    Da sind verschiedene Beispiele von SPI in die Standard Lib von STM32F10* :
    '@par Example Description
    This example provides a description of how to set a communication between two
    SPIs in simplex mode and performs a data buffer transfer from SPI_MASTER to
    SPI_SLAVE using TxE interrupt for master and RxNE interrupt for slave.
    SPI_MASTER and SPI_SLAVE can be SPI1 and SPI2 or SPI3 and SPI2, depending on the
    STMicroelectronics EVAL board you are using.
    "

Berechtigungen

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