This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

During operation of 4 digit display. segments are overlap with each other

Hello Sir,

During one of display product we are using MSP430FR2433IRGE MCU for operating 4 digit display.

First kindly find datasheet, schematic, and program code of MSP which we are using for display operation.

Issue description : 

We are using 7 GPIO's for 7 Segments, 1 GPIO for colon and 4 GPIO's for Digit control pin to display the current time in POD.

We tested a 7 segment display with an MSP controller. In that we are facing some problems (i.e) while 4 digit control GPIO pins are directly connected from MSP to 7-seg display it is working fine without any overlapping . if 4 digit control GPIO pins are connected from MSP to 7-seg display through LED brightness circuit, some overlapping is happening.

sequence we are following to display the time in 7-seg display:

Case 1: (without switching delay  -> while connecting directly it is working, Not working through while connecting through LED brightness circuit)

Set corresponding values in 7-seg GPIO's
Digit 1 ON
delay->3 milli second to hold the value in a digit for some time
Digit 1 OFF

similarly for...
digit 2
digit 3
digit 4

Case 2: (with from 1sec to 50 milli sec switching delay not overlapping while connecting through LED brightness circuit)

Set corresponding values in 7-seg GPIO's
Digit 1 ON
delay->3 milli second to hold the value in a digit for some time
Digit 1 OFF

delay - eg : 1 second switching delay
digit 2
delay - eg : 1 second switching delay
digit 3
delay - eg : 1 second switching delay
digit 4
delay - eg : 1 second switching delay

case 3: (If we are reduced that switching delay to less than 50 milli seconds overlapping happening when connected through LED brightness circuit)

1 second switching delay - No overlapping
500 milli sec switching delay   - No overlapping
250 milli sec switching delay   - No overlapping
100 milli sec switching delay   - No overlapping
50 milli sec switching delay    - No overlapping  (In video resolution we may found overlap but it is not visible)
40 milli sec switching delay    - overlapping happens
without switching delay directly connected - overlapping happens
without switching delay_connected_through LED brightness circuit - overlapping happens 
Note : In all video Segment B in 7-segment display is not glowing properly (i.e) 7-segment display issue. segment B voltage is measured using multimeter and found working properly
Code : 
#define SWITCH_DELAY 800000   // 50 msec 
#define SEG_HLD_TIME 50000    // 3 ms

void tlqi_POD_7SEG_Display_time(unsigned char in_ucHourDig1, unsigned char in_ucHourDig2, unsigned char in_ucMinDig1, unsigned char in_ucMinDig2)
{

    /------------------------Set Hour Digit------------------------/
        tlqi_POD_display_Digit_Val(in_ucHourDig1);
        GPIO_setOutputHighOnPin(GPIO_PORT_P2, GPIO_PIN7); //digit 1
        __delay_cycles(SEG_HLD_TIME);
        GPIO_setOutputLowOnPin(GPIO_PORT_P2, GPIO_PIN7); //digit 1
        __delay_cycles(SWITCH_DELAY); 

        tlqi_POD_display_Digit_Val(in_ucHourDig2);
        GPIO_setOutputHighOnPin(GPIO_PORT_P3, GPIO_PIN0); //digit 2
        __delay_cycles(SEG_HLD_TIME);
        GPIO_setOutputLowOnPin(GPIO_PORT_P3, GPIO_PIN0); //digit 2
        __delay_cycles(SWITCH_DELAY);

     /------------------------Set Minutes Digit------------------------/

        tlqi_POD_display_Digit_Val(in_ucMinDig1);
        GPIO_setOutputHighOnPin(GPIO_PORT_P3, GPIO_PIN1); //digit 3
        __delay_cycles(SEG_HLD_TIME);
        GPIO_setOutputLowOnPin(GPIO_PORT_P3, GPIO_PIN1); //digit 3
        __delay_cycles(SWITCH_DELAY);

        tlqi_POD_display_Digit_Val(in_ucMinDig2);
        GPIO_setOutputHighOnPin(GPIO_PORT_P2, GPIO_PIN0); //digit 4
        __delay_cycles(SEG_HLD_TIME);
        GPIO_setOutputLowOnPin(GPIO_PORT_P2, GPIO_PIN0); //digit 4
        __delay_cycles(SWITCH_DELAY);
Kindly review schematic and code of MCU and give suggestion how we can over come with this issue
Waiting for your prompt response 
Thanks,
Denish
  • Hello Denish,

    Were you able to get this working?  

    I took a quick look at the display and your schematic, and I didn't notice anything to report although I'm not that familiar with the circuit to control the brightness.  If I understand correctly, you have 4 digit connections that you are controlling the current through, and then the MSP430 is controlling the 7-8 anodes to sync this current. 

    Do you think that the analog brightness circuit is working or do you think your issues is coming down to software/timing?

    The software flow also looks fine. We can maybe speed it up slightly by using direct register writes vs the DriverLib APIs, if we think this is the issue.  

    Let me know.

    JD

**Attention** This is a public forum