TSC2046 und xMega SPI Problem

OP #3899951
Lesenswert?
• ▲
▼
Hallo

Ich bin jetzt schon seit Stunden an diesem Problem und finde keine 
Lösung. Vielleicht weiss ja jemand von euch weiter. :D

Ich verwende ein Touchscreen mit dem Controller TSC2046. Der Contorller 
wird per SPI angesteuert. Der CS, MOSI und CLK funktionieren. Es kommen 
jedoch keine Daten zurück. Siehe KO-Bild.

Mein Port ist wie folgt initialisiert:
1
  PORTD.DIR=0xBB;  // D_In & T_ISQ = Input
2

3
  void init_spi(void)
4
  {
5
  SPID.CTRL = SPI_ENABLE_bm |SPI_MASTER_bm | SPI_MODE_gm| SPI_PRESCALER_gm;      // Master, Setup Falling sample Rising, Prescaler = 128
6
  SPID.STATUS = 0;
7
//  SPID.INTCTRL = SPI_INTLVL_MED_gc;
8
}

Der Chip select wird anfänglich auf high gesetzt.

LG
Jérôme
Angehängte Dateien:
Gast #3899970
Lesenswert?
• ▲
▼
Hallo

MISO sieht so aus als würde er gar nicht angesteuert werden, also 
floaten.
Trick: Beim Messen auch den Finger an die Oszi-Spitze halten und sehen 
ob signifikant Störungen eingekoppelt werden.

Ist das der Fall ist entweder MISO nicht richtig angeschlossen, das 
ChipSelect erreicht den TouchController-Chip nie oder die CS Polarirät 
ist falsch.

da1l6
#3900105
Lesenswert?
• ▲
▼
Hallo,

wenn du die Reihenfolg beachtest, sollte
es funktionieren: Bei mir SPIE!



#define TS_SPI_DDR  PORTE_DIR
#define TS_SPI_PORT PORTE_OUT
#define TS_SPI_PIN  PORTE_IN


#define TS_MOSI_BIT  5
#define TS_MISO_BIT  6
#define TS_SCK_BIT  7

#define TS_CS_DDR  PORTE_DIR
#define TS_CS_PORT PORTE_OUT
#define TS_CS_PIN  PORTE_IN
#define TS_CS_BIT 4


TS_CS_PORT |= (1<<TS_CS_BIT);  // Disable CS
TS_CS_DDR |= (1<<TS_CS_BIT);  // CS pin as Output



TS_SPI_DDR |= (1<<TS_SCK_BIT)|(1<<TS_MOSI_BIT) | (1<<TS_CS_BIT); 
//output
TS_SPI_DDR &= ~ (1<<TS_MISO_BIT); //  SS is input



//SPIE.CTRL =  SPI_MODE_0_gc | SPI_PRESCALER_DIV16_gc | (1<< 
SPI_CLK2X_bp) | (1<< SPI_ENABLE_bp) | (1<< SPI_MASTER_bp); // 4Mhz




Gruß G.G.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.