Hi,
ich hab mir neulich bei Reichelt so ein DOG- Display gekauft, habs
leider noch nicht zum laufen bekommen.
Leider kann ich auch nicht genau ausschließen, was nun das Problem ist,
deswegen mal kurz eine Liste was ich gemacht habe.
* single supply
* 1uF/65V Elkos, dabei den Minus an CAPxN
* 3.3V durch Festspannungsregler
* 5V Pegel bei der SPI, mit 5kOhm Widerstand davor
* 3.9ms Periode für SCL
* SI schaltet immer 2ms nach SCL
Die ganze Ansteuerung mach ich über ein USB- Interface, welches im
Bit-Banging Modus läuft, hier ein Ausschnitt aus meinem Code (Python):
Die zweite Zeile sollte eigentlich irgendwelche Pixel anschalten -
leider tut sich gar nix.
Über Hinweise wäre ich sehr dankbar.
Übrigens ist die Ansteuerung über Python/USB recht portabel (läuft unter
Linux und Windows one code-änderungen). Das USB- Interface ist lediglich
ein FT232 (ftdi-chip.com).
Schonmal vielen Dank.
Hallo Alex,
der Reset-Pin, ist der vor der Initialisierung auch auf HIGH, mit einer
Pause dazwischen ?
Ist SPI so initialisiert, dass mit steigender Flanke die Daten
übernommen werden können?
Konntest Du das Initialisierungsbeispiel, welches in der
LCD-Beschreibung mitgeliefert wird mal testen?
Gruß
Bernhard
der Reset-Pin, ist der vor der Initialisierung auch auf HIGH, mit einer
2
Pause dazwischen ?
Ja, habe ich auch nachgemessen... er ist mind. 10ms auf HIGH und dann
mind. 50ms auf LOW.
Siehe Anhang.
1
Ist SPI so initialisiert, dass mit steigender Flanke die Daten
2
übernommen werden können?
Zwischen Flankenwechsel des SI und des CLK sind mind. 1ms Platz.
1
Konntest Du das Initialisierungsbeispiel, welches in der
2
LCD-Beschreibung mitgeliefert wird mal testen?
Die Abfolge der SPI- Daten wäre laut Handbuch:
[0x40,0xA1,0xC0,0xA6,0xA2,0x2F,0xF8,0x00,0x27,0x81,0x16,0xAC,0x00,0xAF]
Was genau soll dann passieren? Blinkt dort ein Cursor?
Bei mir ist dann leider nix weiter passiert.
Im Assemblerprogramm habe ich's wie folgt umgesetzt:
RESET auf LOW
PAUSE ca. 100ms
RESET auf HIGH
PAUSE ca. 100ms
A0 auf LOW ; Auf Command umschalten
Dann werden folgende Bytes gesendet:
0x40 ; Start Line 0
0xA1 ; ADC reverse
0xC0 ; Normal COM0-COM63
0xA6 ; Display normal
0xA2 ; SET BIAS
0x2F ; BOOSTER
0xF8 ; Set Booster internal to 4x
0x00 ;
0x27 ; CONTRAST
0x81 ; CONTRAST
0x16 ; CONTRAST
0xAC ; No indicator
0x00 ;
0xAF ; Display on
Bevor das Byte durch SPI gesendet wird, wird CS auf LOW gezogen, und
nach der Übertragung wieder auf HIGH gesetzt.
>Was genau soll dann passieren? Blinkt dort ein Cursor?
Im ungünstigsten Fall sieht man nix, mit etwas Glück sieht man nur ein
paar wirre Pixel , anfangs dachte ich, es wäre etwas Staub und begann
schon wild daran herumzuwischen ;)
Display-Daten werden ganz einfach dargestellt, A0 auf HIGH CS auf LOW
und SPI sendet xFF, anschließend CS auf HIGH.
Bernhard
Der CS- Wechsel ist aber nicht wirklich notwendig? Ich mein, im
Datenblatt ist CS ständig auf LOW.
Mit dem Reset hast du natürlich auch Recht, da der ja LOW- aktiv ist.
D.h. also:
> Der CS- Wechsel ist aber nicht wirklich notwendig?
CS sollte, vor der SPI Übertragung auf LOW gezogen werden, damit wird
das Taktsignal und Datensignal beim Slave synchronisiert.
> Ich mein, im Datenblatt ist CS ständig auf LOW.
Bei mir nicht
In diesem Beispiel habe ich einen ATmega8 verwendet:
Beitrag "DOG LCD 128x64 Initialisierung ATmega8 (Assembler)"
Vielleicht würde es helfen, wenn Du einen ATmega8 mit diesem hex-File
programmierst, damit Du wenigstens die Hardware mal überprüfen kannst?
Bernhard
hallo leute,
ich hab jetzt schon jede menge zeit in ein dog-display gesteckt und hab
grad nach tagelanger tüftelarbeit ein erfolgserlebnis gehabt.
und alles durch diesen spruch:
"Mit dem Reset hast du natürlich auch Recht, da der ja LOW- aktiv ist."
low-aktiv ... ich habe echt alles probiert und daran lags.
als "dank" häng ich meine c-Testdatei an, geht mit meinem EA DOGM163W-A
und kann nichts, außer das display initialisieren. aber eben durch
solche dateien (hab glaub 6 verschiedene ansätze durhgelesen/probiert)
hab ichs letztendlich geschafft.
Reset ist an einen Controllerpin gelötet. (vorher mit gnd gings nicht!)
An der Stelle schonmal "Danke" an das Forum hier, was mich überhaupt
erst auf den Trip sowat zu basteln gebracht hat. Mein Projekt wird
vorgestellt, wenns fertig ist.
Gruß
Flo