EA DOGM-162 Display
FriedV
Posts: 77
Hi,
has someone here experience with this Display?
I try in vain to init it correctly, following strictly the manual and the example C program shown by EA on their site, but it simply will not work. It is connected to a C3 propeller board using a 74HCT541 bus buffer,
the hardware works correctly all the 4 signals (MOSI, MCLK, CBS and RS show all right on LA and PicoScope.
Here is the init routine, in fact very simple:
Thx, Friedrich
has someone here experience with this Display?
I try in vain to init it correctly, following strictly the manual and the example C program shown by EA on their site, but it simply will not work. It is connected to a C3 propeller board using a 74HCT541 bus buffer,
the hardware works correctly all the 4 signals (MOSI, MCLK, CBS and RS show all right on LA and PicoScope.
Here is the init routine, in fact very simple:
' ---------------------------------------------------------------------- ' File...... C3_SPI.pbas ' Author.... fgvissel 30.09.2011 ' for C3 Board with 6,26 MHz X-tal ' ====================================================================== ' ----- Device Settings ------------------------------------------------ DEVICE P8X32A, XTAL1, PLL16X XIN 6_250_000 ' ----- Conditional Compilation Symbols -------------------------------- ' ----- Constants ------------------------------------------------------ ' ----- IO Pins -------------------------------------------------------- PSI_CLR Pin 25 High PSI_CLK Pin 8 High RS Pin 10 Output MOSI Pin 9 Low MCLK Pin 11 High 'Shiftout toogles the clock from High to Low to High 'so MCLK is active Low ' ----- Shared (HUB) Variables (Byte, Word, Long) ---------------------- ' ----- User Data (DATA, WDATA, LDATA, FILE) --------------------------- ' ----- TASK Definitions ----------------------------------------------- ' ----- Local Variables (LONG only) ------------------------------------ channel var long ' ----- SUB and FUNC Definitions --------------------------------------- DelayMS SUB 1 DelayUS SUB 1 SPI_Out SUB 1 ' ====================================================================== PROGRAM Start Start: low PSI_CLR 'reset CS Counter in C3 high PSI_CLR channel = 0 'select S6 device do low PSI_CLK high PSI_CLK inc channel loop until channel = 6 low RS High rs low rs 'Init DOGM-162 LCD for 5V, 8bit SPI operation DelayMS 40 SPI_Out $38 'function set 8 bit SPI_Out $39 'function set 8 bit, Inst. Table 1 SPI_Out $1C 'bias set (1/4 bias) SPI_Out $52 '3V Booster off, Contrast internal follower mode SPI_Out $69 'follower control DelayMS 200 'wait to stabilize SPI_Out $74 'contrast set SPI_Out $38 'back to Inst. Table 1 SPI_Out $0F 'Display on SPI_Out $01 'Clear Display DelayMS 2 SPI_Out $06 'cursor auto inc high RS 'end of command sequence SPI_Out $41 ' write "A" to display DelayMS 10 ' and loop forever Main: ' program code GOTO Main END ' ----- SUB and FUNC Code ---------------------------------------------- SUB DelayMS pause __param1 ENDSUB SUB DelayUS pauseus __param1 ENDSUB SUB SPI_Out shiftout MOSI, MCLK, MSBFIRST, __param1 DelayUS 50 ENDSUB ' ----- TASK Code ------------------------------------------------------ ' ----------------------------------------------------------------------Has someone running this beast?
Thx, Friedrich
Comments
So I prefer the Sparkfun solution with the AVR controller & serial interface to the propeller & parallel to the LCD.
Maybe I develop an parallel 8-bit Prop or AVR subsystem fpr the dogm's.
Cheers, Fried
The display can be hardware reset (on startup) by tying the reset line to Vdd.
Cheers
Maybe this may help you.
http://forums.parallax.com/showthread.php?109792-Another-driver-for-the-EA-DOGM-126-6-(controller-ST7656R)&highlight=Greim
Regards
Markus
I tied the ^CSB pin permanently low. This disturbes the LCD, because at the Start of the propeller the
pins float wildly. So the LCD cannot sync itself, only by chance. It is for a good reason that the data sheet of the DogM does not show this pin tied to ground. So you must really drive all 4 interface pins
SI, CLK, RS and ^CSB.
Here is the working code for initializing the LCD in SPI mode: The resulting Pin changes is shown on the 2 attached LogicPort Analyzer screenshots.
Hope this helps someone!
Cheers, Fried
Friedrich