Grafikcontroller S1D13A04 von Epson

OP (Firma: student) #878848
Lesenswert?
• ▲
▼
Hallo zusammen!

Ich wollte einfach mal fragen ob jemand vll. Erfahrungen mit dem oben 
genannten Grafikcontroller hat.
Da ich schon seit einiger Zeit versuche ein 320x280 Pixel LCD mit 
TouchScreen und intrgriertem Grafikcontroller vom Typ S1D13A04 ans 
Laufen zu bekommen, käme mit jede Information sehr gelegen.

In den Datenblättern ist eine Struktur mit der folgenden 
Initialisierungssequenz gegeben:
1
static S1D_REGS init_values[] =  \
2
  { \
3
  { 0x14,       0x00000000 },   /* Power Save Configuration Register(0x00000000) */ \
4
  { 0x64,       0x28D70000 },   /* GPIO Status and Control Register */ \
5
  { 0x04,       0x00000000 },   /* Memory Clock Configuration Register */ \
6
  { 0x08,       0x00000032 },   /* Pixel Clock Configuration Register */ \
7
  { 0x0C,       0x00000041 },   /* Panel Type and MOD Rate Register 0x61*/ \
8
  { 0x10,       0x00000010 },   /* Display Settings Register */ \
9
  { 0x20,       0x00000030 },   /* Horizontal Total Register */ \
10
  { 0x24,       0x00000027 },   /* Horizontal Display Period Register */ \
11
  { 0x28,       0x0000000F },   /* Horizontal Display Period Start Position Register */ \
12
  { 0x2C,       0x00870156 },   /* FPLINE Register */ \
13
  { 0x30,       0x00000103 },   /* Vertical Total Register */ \
14
  { 0x34,       0x000000EF },  /* Vertical Display Period Register */ \
15
  { 0x38,       0x00000013 },   /* Vertical Display Period Start Position Register */ \
16
  { 0x3C,       0x00800000 },   /* FPFRAME Register */ \
17
  { 0x40,       0x00000000 },   /* Main Window Display Start Address Register */ \
18
  { 0x44,       0x000000A0 },  /* Main Window Line Address Offset Register */ \
19
  { 0x50,       0x00000000 },   /* PIP+ Window Display Start Address Register */ \
20
  { 0x54,       0x000000A0 },   /* PIP+ Window Line Address Offset Register */ \
21
  { 0x58,       0x00000000 },   /* PIP+ Window X Positions Register */ \
22
  { 0x5C,       0x00000000 },   /* PIP+ Window Y Positions Register */ \
23
  { 0x60,       0x00000000 },   /* Special Purpose Register */ \
24
  { 0x70,       0x00000000 },   /* PWM Clock Configuration Register */ \
25
  { 0x74,       0x00000000 },   /* PWMOUT Duty Cycle Register */ \
26
  { 0x80,       0x00000000 },   /* Scratch Pad A Register */ \
27
  { 0x84,       0x00000000 },   /* Scratch Pad B Register */ \
28
  { 0x88,       0x00000000 },   /* Scratch Pad C Register */ \
29
  { S1D_REGDELAYON,   0x00000032 },   /* LCD Panel Power On Delay (in ms) */ \
30
  { 0x64,       0x28D70001 },   /* GPIO Status and Control Register */ \
31
  { 0x14,       0x00000000 }   /* Power Save Configuration Register */ \
32
};

Des weiteren findet man auf der HP von Epson:
1
  for (i=0; i<sizeof(init_values)/sizeof(init_values[0]); i++ )
2
  {
3
    if ( init_values[i].Index < S1D_REGRESERVED )
4
    {
5

6
    ......
7

8
    }
9
    else
10
    {
11
      switch ( init_values[i].Index )
12
      {
13
          case S1D_REGDELAYOFF:
14
          case S1D_REGDELAYON:
15
          Delay( init_values[i].Value );
16
        break;
17

18
          default:
19
        break;
20
      }
21
    }
22
  }
23
}

Ich habe den ganzen Krempel nun so zusammengebaut das die 
Initialisierungssquenz entsprechend den Vorgaben abgearbeitet wird.(Habe 
dies auch überprüft). Leider scheint dies aber im Grafikcontroller nicht 
anzukommen. Sprich, wenn ich die Konfigurationsregister auslese kommt 
nur Muell bei rum. Das lässt vermuten das meine Schreib- und/oder 
Lesevorgänge wohl nicht funktionieren. Leider sind die Angaben im 
Datenblatt mehr als schwammig und meine Erfahrung mit Grafikcontrollern 
ist begrenzt.

Falls also jemand vll Tipps, Anregungen oder Quellen für mich hat wäre 
ich echt dankbar!

mfg, Steffen
#878870
Lesenswert?
• ▲
▼
Das wichtigste ist das Power Save Register. Ohne das stellt sich der 
Controller tot. Daher wird das in dem Code von Epson immer als erstes 
beschrieben.
Ich gehe immer so vor: Als erstes die Chip ID auslesen, dann weiß ich, 
dass der Controller sich mit mir unterhält.
Beschreibe also mal nur da Power Save register und lese dann die ID aus.
Wenns nicht passt, dann liegt der Fehler entweder in der Hardware oder 
in den elementaren Ansteuerroutinen.

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.