1/1

|
LCD screen on Plasma Cpu for spartan-3e
by theshadowx on Jun 24, 2009 |
theshadowx
Posts: 7 Joined: Mar 13, 2009 Last seen: Aug 24, 2017 |
||
|
Hi all
I've implemented the Plasma CPU on my spartan-3e starter kit , the issue is that i haven't succeeded in making the LCD screen work, i ve written in c language what was asked to do in the user guide but infortunately it doesn't work. I've noticed that the clock in this cpu is 12.5 MHz is that right? my code in Joint piece. thanks
lcd_leds_modif.c (6 kb)
|
|||
|
RE: LCD screen on Plasma Cpu for spartan-3e
by theshadowx on Jun 26, 2009 |
theshadowx
Posts: 7 Joined: Mar 13, 2009 Last seen: Aug 24, 2017 |
||
|
please i need help, it s been more than 2 months trying to write in the lcd screen under plasma cpu core in spartan-3e , please help
|
|||
|
RE: LCD screen on Plasma Cpu for spartan-3e
by jguillot on Jun 26, 2009 |
jguillot
Posts: 2 Joined: Jan 7, 2009 Last seen: Mar 1, 2011 |
||
|
The global clock on this board seems to be at 50Mhz but the first process you 'll find in plasma3e.vhd downscale this frequency by two. As far as I remenber during the simulation, the clock tree is therefore at 25 Mhz.
|
|||
|
RE: LCD screen on Plasma Cpu for spartan-3e
by theshadowx on Jun 26, 2009 |
theshadowx
Posts: 7 Joined: Mar 13, 2009 Last seen: Aug 24, 2017 |
||
|
ok, thanks , but what about writing on the LCD screen
|
|||
|
RE: LCD screen on Plasma Cpu for spartan-3e
by jguillot on Jun 26, 2009 |
jguillot
Posts: 2 Joined: Jan 7, 2009 Last seen: Mar 1, 2011 |
||
|
sorry I didn't try it yet
|
|||
|
RE: LCD screen on Plasma Cpu for spartan-3e
by jvillar on Jun 26, 2009 |
jvillar
Posts: 4 Joined: Jun 9, 2008 Last seen: Nov 8, 2018 |
||
|
Hi!
I don't know if it will help you, but I recently published a new opencore for driving LCD character displays scompatible with Digilent's Spartan 3E SK LCD Display. It includes a testbench ready to use with S3E SK from Digilent, so as you can compare it with your simulation results. It can use either a memory maped interface or a wishbone compliant one. You will find it at: http://www.opencores.org/projects/wb_lcd/ Regards! Jose Ignacio Villar. |
|||
|
RE: LCD screen on Plasma Cpu for spartan-3e
by theshadowx on Jun 26, 2009 |
theshadowx
Posts: 7 Joined: Mar 13, 2009 Last seen: Aug 24, 2017 |
||
|
hi jose
thanks for yours post, i already have tried it , i have a project and in it i must use plasma cpu core so that's why i need help and also with the lcd screen and plasma cpu , i can do a lot of application so that's the goal. anyway thanks |
|||
|
RE: LCD screen on Plasma Cpu for spartan-3e
by rhoads on Jul 5, 2009 |
rhoads
Posts: 16 Joined: Sep 25, 2001 Last seen: Jan 11, 2023 |
||
|
Here are some random untested thoughts about supporting the LED pannel. In plasma_3e.vhd add the LED control signals:
LCD_E LCD_RS LCD_RW SF_D flash_active = '1' and write_enable = '1' else "ZZZZ" & gpio0_out(11 downto 8) & "ZZZZZZZZ" when gpio0_out(12) = '1' else "ZZZZZZZZZZZZZZZ"; This will permit the gpio0 register to completely control the LCD. Next add code to control the gpio0/LED signals: static void SpinWait(int clocks) { int value = *(volatile int*)COUNTER_REG + clocks; while(*(volatile int*)COUNTER_REG - value ; } void LcdWriteNibble(int rs, int value) { MemoryWrite(GPIO0_CLEAR, 0xff00); //disable LCD GPIO lines MemoryWrite(GPIO0_OUT, (rs SpinWait(2); //wait for two 25MHz ticks MemoryWrite(GPIO0_OUT, 1 SpinWait(12); MemoryWrite(GPIO0_CLEAR, 1 SpinWait(2); MemoryWrite(GPIO0_CLEAR, 0xff00); //disable LCD_E and SF_D(11 downto 8) SpinWait(25); //wait for 1 us before next nibble } void LcdWrite(int rs, int byte, int delayUs) { LcdWriteNibble(rs, value >> 4); //upper nibble LcdWriteNibble(rs, value & 0x0f); //lower nibble SpinWait(delayUs * 25); //assumes 25MHz clock } Initialization sequence: SpinWait(750000/2); LcdWriteNibble(0, 3); SpinWait(205000/2); LcdWriteNibble(0, 3); SpinWait(5000/2); LcdWriteNibble(0, 3); SpinWait(2000/2); LcdWriteNibble(0, 2); SpinWait(2000/2); LcdWrite(0, 1, 1640); --clear display LcdWrite(1, 'H', 40); --write 'H'; LCD_RS=1; wait 40us after write LcdWrite(1, 'i', 40); --write 'i' Steve |
|||
|
RE: LCD screen on Plasma Cpu for spartan-3e
by theshadowx on Jul 6, 2009 |
theshadowx
Posts: 7 Joined: Mar 13, 2009 Last seen: Aug 24, 2017 |
||
|
The problem is solved here what i ve done:
in the entity: LCD_E : out std_logic; LCD_RS : out std_logic; LCD_RW : out std_logic; in the architecture: LCD_RS LCD_RW LCD_E and i changed SF_D : SF_D (15 downto 12) flash_active = '1' and write_enable = '1' else "ZZZZ"; SF_D(11 downto 8) flash_active = '1' and write_enable = '1' else gpio0_out(14 downto 11) when flash_active = '0' else "ZZZZ"; SF_D (7 downto 1) flash_active = '1' and write_enable = '1' else "ZZZZZZZ"; and the c code : LOOK AT THE ATTACHED FILE Thanks steve you really helped me why not make this as an update to your project !! just proposition theshadowx
lcd_leds_modif.c (8 kb)
|
|||
1/1

