-
        

Ergebnis 1 bis 5 von 5

Thema: LPCxx SSP/SPI TX-Interrupt

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2007
    Ort
    Berlin
    Beiträge
    526

    LPCxx SSP/SPI TX-Interrupt

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,
    ich beschäftige mich seit längerem mit den Controllern der LPC Serie.
    Für das letzte Projekt benutzte ich den LPC1768

    Leider fehlt in dem SSP/SPI Modul ein Interrupt-Bit, welches aktiv wird wenn "ALLE" Bits fertig "ausgeschoben" sind.

    Nun hab ich ein neues Projekt mit dem LPC1347 und muss zum Bedauern feststellen, auch hier gibt es
    keinen Interrupt wenn alle Bits ausgeschoben sind.

    Ich habe mehrere 595 Schieberegister an den SPI Port angeschlossen.
    und zudem 2 serielle Display vom Typ LTM8522

    Mein Problem:
    Ich muss warten bis ALLE Bits komplett ausgeschoben sind um dann meine Chip Select Leitung zu bedienen. Das Latch Enable Signal für den 595 bzw. mein Latch Impuls für die Displays.....

    Als "Notbehelf" hab ich über einen zusätzlichen Timer benutzt. Da ich weis wieviele Bytes ich aussende, stelle ich den Timer auf die Zeit, die die Hardware benötigt und bekomme dann meinen Interrupt.
    Das nenne ich mal Resourcenverschwendung und umständlich hoch 3, wegen einem fehlenden Bit.

    Ich benötige also einen Interrupt wenn auch das "LETZTE" Bit vom SPI Interface den Controller Pin verlassen hat.

    Vielleicht habe ich auch etwas im Datenblatt übersehen....
    Wenn ich das richtig verstehe kann ich NUR einen Interrupt auslösen, wenn der Sende FIFO halb leer ist.
    beim LPC1347

    Register: IMSC Bit: TXIM

    Für Ideen bzw. Info wäre ich dankbar.

    Siro

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.03.2011
    Beiträge
    1.401
    Zitat Zitat von Siro Beitrag anzeigen
    Leider fehlt in dem SSP/SPI Modul ein Interrupt-Bit, welches aktiv wird wenn "ALLE" Bits fertig "ausgeschoben" sind.
    Möglicherweise suchst du nach dem falschen Bit. SPI empfängt ja synchron zum Senden, selbst wenn nichts angeschlossen ist. Gibt es einen "empfangen" Interrupt, der ja immer dann kommen würde, wenn ein Wort fertig gesendet ist. Oder es gibt soetwas wie eine "underrun" Situation, weil der Sender leer ist?

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2007
    Ort
    Berlin
    Beiträge
    526
    Das ist ein sehr guter Hinweis,
    ich bin so auf das Senden fixiert, weil ich das Empfangen ja nicht brauche, das ich daran garnicht gedacht habe.
    Hab zwar noch nicht das Richtige Bit im Datenblatt gefunden, aber hier gibts noch einiges zu testen.
    Es gibt nämlich ein TimeOutBit, wenn ich das Empfangene nicht innerhalb einer bestimmten Zeit lese.
    Ich danke Dir.

  4. #4
    The SPI Status Register (S0SPSR) contains read-only bits that are used to monitor the status of the SPI interface, including normal functions, and exception conditions. The primary purpose of this register is to detect completion of a data transfer. This is indicated by the SPI Interrupt Flag (SPIF) in the S0SPINT register. The remaining bits in the register are exception condition indicators. These exceptions will be described later in this section.
    Ich würde mal sagen, dass das die Lösung deines Problems ist.
    Quelle:http://www.nxp.com/documents/user_manual/UM10360.pdf
    Seite 413.
    Gruß Jannis

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2007
    Ort
    Berlin
    Beiträge
    526
    Herzlichen Dank Jannis,
    sollte ich das übersehen haben. (schäm)
    Ich denke auch, das es zumindest für den LPC17xx die Lösung sein müste.

    Beim LPC1347 schau ich dann auch gleich nochmal.

    Vielen Dank
    Siro

Ähnliche Themen

  1. Interrupt
    Von amal im Forum C - Programmierung (GCC u.a.)
    Antworten: 13
    Letzter Beitrag: 22.07.2011, 23:38
  2. PVD-Interrupt
    Von kmrish im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 3
    Letzter Beitrag: 19.07.2011, 12:32
  3. interrupt
    Von gowea im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 22.05.2007, 15:22
  4. Interrupt waehrend Interrupt
    Von thomas05 im Forum PIC Controller
    Antworten: 7
    Letzter Beitrag: 08.11.2005, 07:13
  5. Was ist ein Interrupt??
    Von MischaMV im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 22.06.2005, 09:41

Berechtigungen

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