• Welcome to Andy's Workshop Forums. Please login or sign up.
 

[SOLVED]SSD1963 on an STM32F103ZET6 board is not working

Started by datronics, May 01, 2015, 02:20:09 pm

Previous topic - Next topic

datronics

Hi Andy,

I am trying to run ssd1963 example on a f103zet6 board but it is not working(no light), I assumed no pin configuration change in code is needed  for f103zet6, am I right?

Regards

Andy Brown

The ZET6 should be fine - it's just like the VET6 but with more features due to the 144 pin package. If your screen remains black then there's something wrong with the backlight. Please check that your board supports the backlight being driven by the PWM signal on PD13 and if it doesn't then don't use it.
It's worse than that, it's physics Jim!

datronics

May 10, 2015, 12:56:05 am #2 Last Edit: May 10, 2015, 01:51:39 am by Andy Brown
Hi Andy,


Regarding to my ssd1963 problem with f103zet6 how can I modify the code to use all 16 fsmc_d lines instead of using 12-bit packed mode?

also let me double check these pin configuration with you:


PD11 (FSMC_A16) <-----> RS
PD7   (FSMC_NE)   <-----> CS
PD4   (FSMC_NOE) <-----> RD
PD5   (FSMC_NWE) <-----> WR
PD13 (FSMC_A18) <------> PWM


Warmest Regards

Andy Brown

I'm afraid I don't understand the question. All 16 lines are always used because it's a 16-bit bus between the MCU and the panel. What is 12-bit packed mode? If the panel is in 16-bit colour mode then the 5-6-5 pixel is transferred in one transaction. Higher colour depths require multiple transactions per pixel.

Pinout link.

If you still have no backlight then there's every possibility that the panel is working and you can't see it. Without the backlight the panel data is completely invisible even if it is actually there - you will see nothing at all. You must get the backlight working according to the schematic in your panel's datasheet.

Do you have a link to the panel's datasheet (not the SSD1963 controller)?
It's worse than that, it's physics Jim!

datronics

May 10, 2015, 02:08:18 am #4 Last Edit: May 10, 2015, 02:44:57 am by datronics
I mean 16-bit data/control transfer mode, according to your comment in code DB0...DB11 from ssd1963 are connected to FSMC pins and you said "Do not connect FSMC pins D12..D15",

and in file ssd1963.h:

// enable packed 12-bit mode (2 16-bit FSMC transfers per pixel). This requires
// that DB0..DB11 are connected. Any other pins exposed by the interface
// (i.e. DB12..23) are unused.

_accessMode.writeCommand(ssd1963::SET_PIXEL_DATA_INTERFACE);
_accessMode.writeData(1);
MillisecondTimer::delay(5);



The panel+ssd1963 module is working with utft example code with "arduino due" without any back light control connection,
back light control is done by ssd1963 module itself.

back light control is done by ssd-pwm as mentioned on the driver module pcb.

datronics

May 10, 2015, 03:18:03 am #5 Last Edit: May 10, 2015, 11:06:00 am by datronics
by adding this:


        _accessMode.writeCommand(ssd1963::DISPLAY_ON);
       /***-------------------------------ADDED CODE----------------------------------------------***/
        _accessMode.writeCommand(0xBE); //set PWM for B/L
_accessMode.writeData(0x06);
_accessMode.writeData(0xf0);
_accessMode.writeData(0x01);
_accessMode.writeData(0xf0);
_accessMode.writeData(0x00);
_accessMode.writeData(0x00);

_accessMode.writeCommand(0xd0);
_accessMode.writeData(0x0d);
/***------------------------------------------------------------------------------------------***/


to ssd1963.h now the B/L is working  :)  but nothing more  :( just a with screen.

datronics

Solved!

By proper PLL setting for this panel now it is working, just a little color problem for jpg test(the cow is not brown!)  ;) the rest is working fine.

datronics

by proper address mode setup for this panel the cow is brown now!

Andy Brown

Great news and sorry I couldn't offer any useful help. The SSD1963 is the most flexible panel driver I've seen and the settings for one are unlikely to work for another without modification.
It's worse than that, it's physics Jim!

ThorstenS

Like the original poster, I do not understand why you have only connected d0 - d11 to the SSD1963 controller. This requires two transfers for a single 16-bit pixel.

Is it possible to use a 16-bit wiring with stm32plus?

Kamswomy

that code looks to be using 0x3f as the address. Have you tried the code you found with MICROSOFTWAY defined to use the NETMF libraries or are you just using the software I2C? Regards,Mark