Forum: Mikrocontroller und Digitale Elektronik SPI @ SAMD21 XPlained Pro mit Atmel Start 7


von Frederik (Gast)


Lesenswert?

Hallo,

versuche seit einiger Zeit ein LCD-Grafikmodul zu beschreiben. Beim 
Beschreiben ist der Redraw des Displays nur sehr langsam (AtmelStudio 7 
- SAMD21XPlainedPro). Verwende ich einen PIC32 mit Harmony läuft SPI 
ohne große Probleme und das Display beschreibt sich super!

Erste Erkenntnis: MOSI geht nach Byte-Übertragung nicht direkt wieder 
auf Ausgangsposition. Wir sprechen hier von 60 - 80 µs! Aktuell liege 
ich bei 45 µS @ Baud rate von 12000000 (Vllt. liegt hier schon der 
Fehler?)


Zu den Clocks:
Hier stellte ich mir zunächst über Atmel Start unter Clk Configurator 
die CPU auf 48 MHz (Generic Clk 4 --> DFLL48M --> Generic Clk 0 -> CPU 
(NVM Wait States = 2).

Unter Pinmux ist auch alles entsprechend konfiguriert und selbst CS habe 
ich sicherheitshalber mit reingepackt und angeschlossen (Nutze 
ausschließlich SPI bei den Peripherals).

Zum SPI-Modul:
Core Clk = Generic clock Generator 2 (48MHz)
Slow Clk = Generic clock generator 0 (48 MHz)
*Weiß noch nicht viel über Slow Clk, daher beide einfach gleiche 
Frequenz.

Advanced Configuration disable
Receive buffer enable: disable
Character Size = 8 bits
Baud rate = 12000000;

Nutze das SPI-Example von Atmel Start

static uint8_t example_SPI_display[12] = "Hello World!";

void SPI_display_example(void)
{
  struct io_descriptor *io;
  spi_m_sync_get_io_descriptor(&SPI_display, &io);

  spi_m_sync_enable(&SPI_display);

  ShowRatiotecLogo();

}

Vorher wird natürlich initialisiert (habe ich mir jetzt mal gespart)

Anmerkung: Selbiges mit SAMC21 Xplained Pro versucht - auch selbes 
Problem.
Ich hoffe jemand hat eine Idee und es gibt wieder etwas zu lernen ;-)

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.