EmbeddedRelated.com
Forums

MSP430F149: FLASH programming at lower voltages

Started by mjruley July 14, 2004
We use a 6.0V battery pack to power our microcontroller and transmitter, 
with a switching voltage regulator to supply the 3.3v.  Would you 
recommend filtering to 10mV p-p?

For flashing, interrupts and the WDT are disabled.  I'm not sure what 
you mean by block writes.  I am erasing a segment, then looping through 
and writing it one byte at a time, when the flash flags tell me it is 
okay to write.  I wasn't aware that there is more than one way to write 
to the MSP430's flash, or that one of them should be avoided.  I will 
check the archives for more info.

Thanks,
Miles

onestone wrote:

> I use batteries. Li-poly, regulated, then cleaned
up to < 10mV p-p of
> noise visible on a 100MHz scope. I would look into your flash routines,
> is there any possibility that ints are still enabled, or the WDT might
> be active. Are you using block writes? I avoid these, they do have some
> reliability issues, and require more than 1 pass, effectively rendering
> it a useless mode.
>
> Al
>
> Miles Gazic wrote:
>
> > That's good to know.  It sounds like my flashing problems are not

> due to
> > the supply voltage DC value, then.
> >
> > How much voise is on your 3.3V supply, if you don't mind my
asking?  
> The
> > hardware guys working on my project didn't filter the 3.3 very
much,
> > since (in their words) it's for digital devices, and hence not
very
> > important.  I see a 50mv peak-to-peak sawtooth with a 15khz frequency,
> > as well as 20mv peak-to-peak at a much higher frequency.  Putting a
big
> > electrolytic cap on the 3.3v line knocks the sawtooth flat, but the
> > higher frequency component remains.
> >
> > Should I get the hardware guys to filter the 3.3V better, or do you
> > think my problem lies elsewhere?
> >
> > Thanks,
> > Miles
> >
> > onestone wrote:
> >
> >
> >>I've pushed my clocks out to 16MHz. My default operating
voltage is
> >>3.3V. As long as the FTG is within spec the main clock signal
doesn't
> >>seem to matter. The 16MHz is also reliable within the same
temp/voltage
> >>bands that the flash is. In fact most parts will start and
stabilise a
> >>properly loaded 16MHz crystal down to 2.2V, and then run quite
happily
> >>on it. There has been much historical trafic regarding this.
> >>
> >>Al
> >>
> >>Miles Gazic wrote:
> >>
> >>
> >>>" Clock speed is irelevant, only the FTG timing, which
I've tried at
> >>
> >>lower
> >>
> >>>and higher ends of the range."
> >>>
> >>>That's what I've read in the TI User Guide.  In
several product
> >>>datasheets however, there is a chart showing allowable clock
frequency
> >>>as a function of supply voltage, for program execution and for
flash
> >>>memory programming.  The chart indicates that the max clock
speed when
> >>>flashing at 2.7V is about 6MHz, and it increases linearly to
8MHz at
> >>
> >>3.6V.
> >>
> >>>see page 24 of this doc, for an example:
> >>>http://focus.ti.com/lit/ds/slas272f/slas272f.pdf
> >>>
> >>>I've been trying to write to flash with an 8MHz clock at
3.3V, and have
> >>>had occasional corruption.  After seeing that document,
I'm going to
> >>
> >>try
> >>
> >>>setting the clock speed to 4MHz before writing to flash, and
seeing
> >>
> >>if I
> >>
> >>>have better luck.
> >>>
> >>>- Miles
> >>>
> >>>onestone wrote:
> >>>
> >>>
> >>>
> >>>>Clock speed is irelevant, only the FTG timing, which
I've tried at 
> lower
> >>>>and higher ends of the range.
> >>>>
> >>>>aL
> >>>>
> >>>>Miles Gazic wrote:
> >>>>
> >>>>
> >>>>>"As a result of this testing I have decided NOT to
trust flash
> >>>>>programming below 3V0."
> >>>>>What clock speed is that at?  Or does it matter?
> >>>>>
> >>>>>- Miles
> >>>>>
> >>>>>onestone wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>>It appears to be quite temperature dependant from
my testing. I have
> >>>>>>done a lot of flash read write testing, basically
trying to life 
> test
> >>>>>>flash for use as a long term logger. As a result of
this testing I
> >>
> >>have
> >>
> >>>>>>decided NOT to trust flash programming below 3V0.
> >>>>>>
> >>>>>>Al
> >>>>>>
> >>>>>>mjruley wrote:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>>We would like to program the FLASH with Vcc at
2.5 volts. It's 
> spec'd
> >>>>>>>at 2.7 volts although a TI presenter at a
February seminar 
> mentioned
> >>>>>>>that lowering the spec was being considered.
The 249 which is due
> >>>>>>>early next year was projected to be
programmable down to 2.2 volts.
> >>>>>>>
> >>>>>>>I have done some preliminary tests down to 2.0
volts that appear to
> >>>>>>>work. I plan on more extensive testing. Has any
one done any 
> testing
> >>>>>>>at programming FLASH at lower voltages? What
exact FLASH 
> programming
> >>>>>>>failures should be expected at unexceptablely
low voltage?
> >>>>>>>



Beginning Microcontrollers with the MSP430

Miles Gazic wrote:

> We use a 6.0V battery pack to power our
microcontroller and transmitter, 
> with a switching voltage regulator to supply the 3.3v.  Would you 
> recommend filtering to 10mV p-p?

I do where ever practical, but it probably isn't necessary unless you 
are  trying to get the very best out of the ADC.

> 
> For flashing, interrupts and the WDT are disabled.

Then the only other reason I can think of for having trouble is the 
clock generator frequency

   I'm not sure what
> you mean by block writes. 

The MSP430 has a mass erase feature and a block write feature. Look it 
up in the flash section of the user guide. It is very quick, but 
requires many iterations to guarantee all bytes are ccleanly written. 
hence I consider it pretty useless.

  I am erasing a segment, then looping through
> and writing it one byte at a time, when the flash
flags tell me it is 
> okay to write.

I use word writes, but I don't see that word/byte should make a big 
difference. Are you sure you have used .b everywhere suitable and that 
your problem isn't memory 'skipping'

Al

>  I wasn't aware that there is more than one
way to write 
> to the MSP430's flash, or that one of them should be avoided.  I will 
> check the archives for more info.
> 
> Thanks,
> Miles
> 
> onestone wrote:
> 
> 
>>I use batteries. Li-poly, regulated, then cleaned up to < 10mV p-p of
>>noise visible on a 100MHz scope. I would look into your flash routines,
>>is there any possibility that ints are still enabled, or the WDT might
>>be active. Are you using block writes? I avoid these, they do have some
>>reliability issues, and require more than 1 pass, effectively rendering
>>it a useless mode.
>>
>>Al
>>
>>Miles Gazic wrote:
>>
>>
>>>That's good to know.  It sounds like my flashing problems are
not 
>>
>>due to
>>
>>>the supply voltage DC value, then.
>>>
>>>How much voise is on your 3.3V supply, if you don't mind my
asking?  
>>
>>The
>>
>>>hardware guys working on my project didn't filter the 3.3 very
much,
>>>since (in their words) it's for digital devices, and hence not
very
>>>important.  I see a 50mv peak-to-peak sawtooth with a 15khz
frequency,
>>>as well as 20mv peak-to-peak at a much higher frequency.  Putting a
big
>>>electrolytic cap on the 3.3v line knocks the sawtooth flat, but the
>>>higher frequency component remains.
>>>
>>>Should I get the hardware guys to filter the 3.3V better, or do you
>>>think my problem lies elsewhere?
>>>
>>>Thanks,
>>>Miles
>>>
>>>onestone wrote:
>>>
>>>
>>>
>>>>I've pushed my clocks out to 16MHz. My default operating
voltage is
>>>>3.3V. As long as the FTG is within spec the main clock signal
doesn't
>>>>seem to matter. The 16MHz is also reliable within the same
temp/voltage
>>>>bands that the flash is. In fact most parts will start and
stabilise a
>>>>properly loaded 16MHz crystal down to 2.2V, and then run quite
happily
>>>>on it. There has been much historical trafic regarding this.
>>>>
>>>>Al
>>>>
>>>>Miles Gazic wrote:
>>>>
>>>>
>>>>
>>>>>" Clock speed is irelevant, only the FTG timing, which
I've tried at
>>>>
>>>>lower
>>>>
>>>>
>>>>>and higher ends of the range."
>>>>>
>>>>>That's what I've read in the TI User Guide.  In
several product
>>>>>datasheets however, there is a chart showing allowable clock
frequency
>>>>>as a function of supply voltage, for program execution and
for flash
>>>>>memory programming.  The chart indicates that the max clock
speed when
>>>>>flashing at 2.7V is about 6MHz, and it increases linearly to
8MHz at
>>>>
>>>>3.6V.
>>>>
>>>>
>>>>>see page 24 of this doc, for an example:
>>>>>http://focus.ti.com/lit/ds/slas272f/slas272f.pdf
>>>>>
>>>>>I've been trying to write to flash with an 8MHz clock
at 3.3V, and have
>>>>>had occasional corruption.  After seeing that document,
I'm going to
>>>>
>>>>try
>>>>
>>>>
>>>>>setting the clock speed to 4MHz before writing to flash, and
seeing
>>>>
>>>>if I
>>>>
>>>>
>>>>>have better luck.
>>>>>
>>>>>- Miles
>>>>>
>>>>>onestone wrote:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>Clock speed is irelevant, only the FTG timing, which
I've tried at 
>>
>>lower
>>
>>>>>>and higher ends of the range.
>>>>>>
>>>>>>aL
>>>>>>
>>>>>>Miles Gazic wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>>"As a result of this testing I have decided NOT
to trust flash
>>>>>>>programming below 3V0."
>>>>>>>What clock speed is that at?  Or does it matter?
>>>>>>>
>>>>>>>- Miles
>>>>>>>
>>>>>>>onestone wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>It appears to be quite temperature dependant
from my testing. I have
>>>>>>>>done a lot of flash read write testing,
basically trying to life 
>>
>>test
>>
>>>>>>>>flash for use as a long term logger. As a result
of this testing I
>>>>
>>>>have
>>>>
>>>>
>>>>>>>>decided NOT to trust flash programming below
3V0.
>>>>>>>>
>>>>>>>>Al
>>>>>>>>
>>>>>>>>mjruley wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>We would like to program the FLASH with Vcc
at 2.5 volts. It's 
>>
>>spec'd
>>
>>>>>>>>>at 2.7 volts although a TI presenter at a
February seminar 
>>
>>mentioned
>>
>>>>>>>>>that lowering the spec was being considered.
The 249 which is due
>>>>>>>>>early next year was projected to be
programmable down to 2.2 volts.
>>>>>>>>>
>>>>>>>>>I have done some preliminary tests down to
2.0 volts that appear to
>>>>>>>>>work. I plan on more extensive testing. Has
any one done any 
>>
>>testing
>>
>>>>>>>>>at programming FLASH at lower voltages? What
exact FLASH 
>>
>>programming
>>
>>>>>>>>>failures should be expected at
unexceptablely low voltage?
>>>>>>>>>
> 
> 
> 
> 
> 
> 
> .
> 
>  
> Yahoo! Groups Links
> 
> 
> 
>  
> 
>