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.

LED/LCD 3 Digit - 7 segment Display Driver

Other Parts Discussed in Thread: MSP430G2313, TCA6507, MSP430G2452, LP2951, SN74AHC595, TLC6C598

I am looking at using an MSP430G2313 Value Line uC + LCD or LED driver (I2C or SPI).

For example, the display I am looking at is a ChromeLED P/N:  SDTA28R2W

I have tested the code using the MSP - EXP430FG4618, using LCD display.  The issue is that the low cost 4 series MSP's are 8MHz CPU (no DCO calibration) , and I'm in a hurry (like 16MHz :), desire better accuracy with the DCO, and have a target budget cost for the end product.

I found the ST-micro LED controller P/N: STED316S

I want to find a TI replacement for the above part, but designed for 3.3V use with the MSP.

I know there is more than one way to skin a cat.  This cat wants small code size, low cost, low pin-count, and all that stuff :)

Can someone suggest a TI part that can get the job done?  I prefer to use the LED display because of the working environment for the end product, but to include all options an LCD driver my be appropriate? 

  • If high clock precision is needed, (perfectly) calibrated DCO is not enough. External quartz must be used.

    With MSP430 I used MAX7221CNG 8-digit LED display driver. It is specified by datasheet that minimum working voltage is 4V, but I didn't have any problems using it at 3.3V.

    Depending on number of LED driving segments, MSP430 with higher number of I/O pins can be used, without dedicated LED driver chip.

  • Hi ZNRNO, thanks for your response.

    No need for a crystal for this application, again, budget performance.

    WIth budget stated, MAX7221CNG  $4.25/1000 units is not good compared to the ST-micro STLED316S $0.96/1000 units (then add cost of 5V regulator).

    I have noted the TI P/N: TCA6507  $0.75/1000 units (but programming overhead needed, preference is an all in one chip like the ST)

    I assume with the above TI part, one would need to use the MSP timer and 4 ports + p-channel MOSTETs to drive the DIGITx pins of the ChromeLED P/N SDTA28R2W.

    Any other suggestions out there?

  • You can always use two of the MSP430G2452 at 16MHz.  One could be dedicated to driving the LEDs.  If you are going to be programming a MCU anyway as you stated in your first sentence, this option would allow you to add features that are not available on the dedicated LED controller.

    I don't know what pricing you get for transistors and resistors, but those would be required if you need more than 6mA per LED.  I couldn't download the specs on your ChromeLED to see the current draw..  The pricing for the MCU was $0.78/2000.

    Thanks,

  • Hi greenja,

    That is a darn fine idea!  I had my mind stuck on the load of the LED and the need for higher current switching, but one can combine ports on the MSP.  I am in the heat of debugging, I attached the datasheet for the LED.  I think I will need to use a p-channel MOSFET  to control the high side (DIGITx), but I think the MSP can handle the load from pins 1-3, 5-8, and 10-11 sinking the current from the segments?

     

  • Well, I can not attache the PDF datasheet, everything is broken :)

  • COOKBOOK DISPLAY THAT WORKED FOR ME:

    I wanted anyone like my self that has not designed a display to know how I solved my display issue:

    As suggested, I used a Value Line MSP with a UART in the 8-bit SPI mode.  One can bit bang if needed.

    I am using an LP2951 regulator for both the uC and the LED display driver.

    The high side of the common anode LED is powered by p-ch. MOSFET (BSS84).

    100 ohm between the MOSFET and the anodes of display (without these resistors display will glow with following shift register)

    Each segment is wired to an SN74AHC595 shift register with a second 100 ohm resister per segment.  NOTE:  I am going to change the design to the TLC6C598 because I need to use more power than the former shift register.

    With 16MHz DCO,  CCR0 = 6720  (~2.3kHz) call of TA0 interrupt.

    USCI settings are as follows:

    UCA0CTL1 |= UCSWRST:// unlock

    UCA0CTL0 |= UCMST +  UCSYNC + UCMSB + UCPEN;//Master mode + Sync mode + MSB first + enable parity (shifts bits to read into register correct)

    UCA0CTL1 |= UCSSEL_2:// SMCLK clock

    UCA0BR0 = 26; 

    UCA0BR1 = 0; 

    IE2 |= UCA0TXIE;// enable interrupt

    IFG2 = 0;//clear flags

    UCA0CTL1 &= ~UCSWRST; release for operation

    The timer interrupt has a series of states to set each digit of the display sequentially.  Presently, I am using 4 states for the 3 digit display, the 4th state is an off state to lower current consumption. 

    To follow through with the Timer ISR, first toggle shift register QE low, write 0x00 to shift register to set line SER low (if left in high state from last write, results in error)  toggle QE high again.  Write values for the respective digit, turn on digit MOSFET, once write is complete, toggle RCLK low, high, low to transfer shift register values into storage register.  Yes, I only have SRCLK clocking the write of the shift register, then afterward the toggle of RCLK transfers all data into storage register.   SRCLR is always high. 

  • 7-SEGMENT DISPLAY EXAMPLE WITH COMPLETE CODE USING PIC18F4520 MICROCONTROLLER , MPLABIDE

    http://pic18forstudents.co.uk/

**Attention** This is a public forum