Forum: Mikrocontroller und Digitale Elektronik STM32F302, SPI und ILI9341


von auron2008 (Gast)


Lesenswert?

Hi,

hab folgendes Problem mit einem STM32F302, der Standardlibrary und einem 
Display mit ILI9341 Controller.

Beim Start stell ich den Multiplikator auf 9, bei einem Quarz mit 8MHz 
-> 72Mhz.

Die SPI Schnittstelle stelle ich mit folgenden Werten ein.
1
    display_spi.SPI_FirstBit = SPI_FirstBit_MSB;
2
    display_spi.SPI_CPHA = SPI_CPHA_1Edge;
3
    display_spi.SPI_CPOL = SPI_CPOL_Low;
4
    display_spi.SPI_CRCPolynomial = 7;
5
    display_spi.SPI_Mode = SPI_Mode_Master;
6
    display_spi.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
7
    display_spi.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2;
8
    display_spi.SPI_NSS = SPI_NSS_Soft;

Soweit so gut, das ganze läuft also mit 36MHz SPI Takt. Jetzt hab ich im 
Laufe der Validation meiner Software gesehen, dass im Datenblatt auf 
Seite 238 fiolgendes steht.
(http://www.displayfuture.com/Display/datasheet/controller/ILI9341.pdf)

Serial clock cycle (Write) 100 - ns

Also ist laut Datenblatt die maximale Frequenz auf 10MHz festgesetzt.

Ich habe also den SPI Vorteiler auf 8 gesetzt -> 9MHz. Und jetzt kommt 
ein Phänomen mit dem ich nicht gerechnet hätte. Erstens geht es nicht 
und zweitens scheint der Displaycontroller plötzlich Daten auf der SDO 
Leitung rauszugeben (mit Oszi gerpüft). Hatte heute keine Zeit mehr 
diese auszuwerten.
Gut dachte ich mir, versuchste mal die Controller-Frequenz herunter zu 
setzen. Hab den Multi auf 3 gesetzt (24MHz) und den SPI Vorteiler zurück 
auf 2 und plötzlich geht es.

Jetzt ist es zwar schön das es geht, aber ich verstehe nicht warum. 
Könnte mir jemend dabei helfen dieses Phänomen zu verstehen bzw. einen 
Hinweis geben wo ich eine Erklärung dazu finden kann? Wäre über jede 
Hilfe dankbar.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.