Author Topic: [SOLVED]SSD1963 on an STM32F103ZET6 board is not working  (Read 13060 times)

datronics

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
[SOLVED]SSD1963 on an STM32F103ZET6 board is not working
« on: May 01, 2015, 02:20:09 pm »
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
« Last Edit: May 10, 2015, 08:29:50 am by datronics »

Andy Brown

  • Administrator
  • Hero Member
  • *****
  • Posts: 283
    • View Profile
    • Andy's Workshop
Re: SSD1963 on an STM32F103ZET6 board s not working
« Reply #1 on: May 03, 2015, 06:39:59 am »
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

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: SSD1963 on an STM32F103ZET6 board is not working
« Reply #2 on: May 10, 2015, 12:56:05 am »
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:

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

Warmest Regards
« Last Edit: May 10, 2015, 01:51:39 am by Andy Brown »

Andy Brown

  • Administrator
  • Hero Member
  • *****
  • Posts: 283
    • View Profile
    • Andy's Workshop
Re: SSD1963 on an STM32F103ZET6 board is not working
« Reply #3 on: May 10, 2015, 01:53:40 am »
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

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: SSD1963 on an STM32F103ZET6 board is not working
« Reply #4 on: May 10, 2015, 02:08:18 am »
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:

Code: [Select]
// 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.
« Last Edit: May 10, 2015, 02:44:57 am by datronics »

datronics

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: SSD1963 on an STM32F103ZET6 board is not working
« Reply #5 on: May 10, 2015, 03:18:03 am »
by adding this:

Code: [Select]
        _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.
« Last Edit: May 10, 2015, 11:06:00 am by datronics »

datronics

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: SSD1963 on an STM32F103ZET6 board is not working
« Reply #6 on: May 10, 2015, 08:28:31 am »
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

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: [SOLVED]SSD1963 on an STM32F103ZET6 board is not working
« Reply #7 on: May 11, 2015, 01:55:18 am »
by proper address mode setup for this panel the cow is brown now!

Andy Brown

  • Administrator
  • Hero Member
  • *****
  • Posts: 283
    • View Profile
    • Andy's Workshop
Re: [SOLVED]SSD1963 on an STM32F103ZET6 board is not working
« Reply #8 on: May 11, 2015, 02:49:41 pm »
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

  • Jr. Member
  • **
  • Posts: 1
    • View Profile
Re: [SOLVED]SSD1963 on an STM32F103ZET6 board is not working
« Reply #9 on: September 09, 2016, 03:57:43 pm »
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

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
SOLVEDSSD1963 on an STM32F103ZET6 board is not working
« Reply #10 on: August 08, 2019, 11:41:52 am »
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