EmbeddedRelated.com
Forums

sharing timer A in MSP430F2012

Started by Vinod Khadilkar February 2, 2008
Hi,

We plan to use 2012 device which has 2kb flash for basic metering
application. It has 4 digits of multiplexed 7 segmenet display and 4
channel A/D interface. Due to shortage of the I/O lines. we are forced
to use an I2C I/O expander for connecting the display segments( Common).
The anodes are swicthed directly by I/O Lines.

Our TimerA ISR has to trigger the ADC conversion every 200us and also
refresh the mutiplexed display - say every 2000 us. Though this can be
acheived by skipping required INTs, can we transfer each segment
pattern over I2C on any ISR ? We may not have enough time for complete
one byte transfer.

Can we hold I2C bus active and keep tranmitting a char every 2ms ?

Expert comments solicited

VK

Beginning Microcontrollers with the MSP430

If the LCD you are using is just a "glass" with no controller on its
back, then you should use F4xx instead of F2xx.

--- In m..., "Vinod Khadilkar" wrote:
>
> Hi,
>
> We plan to use 2012 device which has 2kb flash for basic metering
> application. It has 4 digits of multiplexed 7 segmenet display and 4
> channel A/D interface. Due to shortage of the I/O lines. we are forced
> to use an I2C I/O expander for connecting the display segments( Common).
> The anodes are swicthed directly by I/O Lines.
>
> Our TimerA ISR has to trigger the ADC conversion every 200us and also
> refresh the mutiplexed display - say every 2000 us. Though this can be
> acheived by skipping required INTs, can we transfer each segment
> pattern over I2C on any ISR ? We may not have enough time for complete
> one byte transfer.
>
> Can we hold I2C bus active and keep tranmitting a char every 2ms ?
>
> Expert comments solicited
>
> VK
>
Old cow, I think you misreaded. He didn't mention anything about using
LCD displays, rather mentioned driving the "anodes" directly, hence,
he is using LED displays.

VK, if I understand correctly (I'm not quite sure, because you wrote
"...display segments(common)"), you're using the I2C expander only to
drive the commons of your 4 digits. Why not use the two I2C lines as
digital I/O to do that directly? It's as simple as using an 1-to-4
demultiplexer or 2-to-4 decoder.

In any case, I'd rather switch to an MSP with more I/O lines than be
forced to use an external I2C chip to provide them.

Michael K.
--- In m..., "old_cow_yellow"
wrote:
>
> If the LCD you are using is just a "glass" with no controller on its
> back, then you should use F4xx instead of F2xx.
>
> --- In m..., "Vinod Khadilkar" wrote:
> >
> > Hi,
> >
> > We plan to use 2012 device which has 2kb flash for basic metering
> > application. It has 4 digits of multiplexed 7 segmenet display and 4
> > channel A/D interface. Due to shortage of the I/O lines. we are forced
> > to use an I2C I/O expander for connecting the display segments(
Common).
> > The anodes are swicthed directly by I/O Lines.
> >
> > Our TimerA ISR has to trigger the ADC conversion every 200us and also
> > refresh the mutiplexed display - say every 2000 us. Though this can be
> > acheived by skipping required INTs, can we transfer each segment
> > pattern over I2C on any ISR ? We may not have enough time for complete
> > one byte transfer.
> >
> > Can we hold I2C bus active and keep tranmitting a char every 2ms ?
> >
> > Expert comments solicited
> >
> > VK
>