Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
03/07/07 05:23
Read: times


 
#134440 - I like the way you go into the details!
Responding to: ???'s previous message
Richard said:
What goes wrong, however, happens on the die, and not necessarily on the PCB.

I agree with you, it has to do with the micro itself. Whatever fails, it fails on the micro's die!

Richard said:
What's interesting about the Maxim/Dallas chips, however, is that they revised their silicon to address the flash-corruption issue. Did anyone else do that?

I'm absolutely sure, that ALL manufacturers have problems with their die layout and spend enormous time and efforts to get the micro working. This can easily be seen from the numerous notes in the datasheets, that you must take care that the capacitive load on this and that line must be less than this and that level. There are application notes that discuss how to fix noise on ALE signal, how to use brown-out detectors, how to decouple properly and and and, which clearly demonstrates that there ARE problems. A very nice example can be seen in the link I gave you in an earlier post discussing the flash corruption of Cygnal's F124:

http://www.cygnal.org/ubb/Forum1/HTML/000676.html

When you carefully read this discussion you can clearly see, that Cygnal has made a mistake somewhere and misused the forum comunity as cheap testers...

Richard said:
I don't anticipate that any one will change their practices, as most will not even read the statistical report that's generated.

I would immediately change the reset practise, but I also have to convince my boss! Look, Richard, the problem is, that the manufacturers tell, that a proper brown-out detector (reset chip) will solve any flash code memory corruption problem. If I follow this recommendation and some micro despite of that fails, I can always tell my boss: "Look, what's happened. But I'm not guilty, because I did what the manufacturers recommended. So, we must have a bad chip here."

The problem is, that EVERY serious designer fears this issue, and that we all want to cling to any manufacturer's recommendation which gives us the feeling to do the things properly and that we, because of that, too willingly want to believe the manufacturers.

Richard said:
It should, however get the attention of thoughtful designers, that manufacturers were, and stil are, unwilling to invest the very few hours of effort and a few weeks of automated recording time, in order to shed light on this annoying problem in a statistical and quantifiable way. The benefit would be that designers can examine the result and interpret them based on any statistically significant deviations from established "normal" or "nominal" behaviors.

It's my strong believe, that there ARE some development teams who do these tests, but that the results will never reach the publicity. No single article, application note or datasheet was ever published by the true engineers, the true developers and the true designers, but by these fucking super smart marketing assholes, who know less about electronics than a 10 year old boy.

Richard said:
What i want to do is to quantify how much better an 805x behaves with a commercial RESET/supervisor IC than without one. This has to be tested under both "friendly" and "unfriendly" circumstances, namely rapidly as well as slowly varying supply voltage, both high-frequecy and low-frequency noise on the supply, rapid and slow rise and fall times at power-up and power-down, free-running vs. gated oscillator to the MCU's, and probably a lot of conditions that I haven't yet considered.

I really appreciate your attitude! It's exactly what NASA does, when handling a problem and I like very much the way you go into the detail.

Richard said:
If nobody's concerned about this I won't bother you guys with it henceforth.

I'm heavily interested in your results, because I'm not very happy with the status quo either.

My little theory about flash memory corruption (not only the flash code memory of micros but also the naked flash memories) is, that flash corruption is more likely to happen with

- setups mounted on bread boards or using wire wrapping,
- noisy port lines
- fast spikes on Vcc
- all too fast power-ups and -downs
- improperly decoupled circuits
- improper reset signals
- ill running micros.

It's very interesting to analyze the situation of naked flash memories, like AT29C256 for instance, and to look what there leads to flash corruption:

http://www.atmel.com/dyn/resou...OC0046.PDF

This chip also has self timed automatic burning and erasing routines, which can eroneously be invoked during power failure situations. Here also a brown-out detection and power-on reset is implemented, doing the same as the MAX1232 with a flash micro, namely to block any flash erasing or burning during power failure situations. (Take note, that this reset of flash memory activities has nothing to do with the reset issue of 8052, since the flash in the flash micros was added many years later, and I trust the manufacturers that they are capable to inhibit unallowed flash activities by the help of a proper reset signal.)

What is new, is the fact, that the !CE and !WE lines appear to be a path for noise entering the micro and to cause trouble! Datasheet tells, that noise filters are internally implemented, so that noise spikes on these lines of less than 15nsec will not initiate a program cycle. That's really interesting!! So, noise on the port lines of micro, yes, even noise on ANY line of the micro also seems to be a serious problem, just what I have experienced sometimes in the past.

Interesting is the fact, that no manufacturer of flash micros mentions this, allthough it's mentioned with the naked flash memories at the same time!

Another way to invoke flash corruption of naked flash memories is an ill running micro. An ill running mirco can just accidentally jump to the routines which addresses the flash memory and by this initiate an non intended programm cycle. The best remedy against this is a brown-detection, which resets the mirco (programm counter), assuming that a brown-out condition is what led the micro to run ill, of course.

This leads to an interesting question: Are there other things that can cause the micro to run ill, beside the simple brown-out conditions?
Oh, yes, there are! Again, noise, spikes and glitches on the port lines, yes, on any lines of the micro can make the micro to run ill. Events, which standardly are not detected by the brown-out detector!!


Conclusion:
To avoid code memory corruption of flash micros keep an eye on the following points:

1. Avoid noise, spikes and glitches of all kind on all lines of the micro! Add filters if needed, especially for Vcc, of course. Add shielding if needed. What ever happens, not even one single glitch must appear on any of the micro's lines!
It's a good idea to think of the micro as being an analog chip...

2. Use multilayer boards containing a solid ground plane to keep all line inductances low and by this ground bounce and ringing.

3. Use a good reset chip providing a proper power-on reset and brown-out detection. Not only to reset the micro, but mainly to reset the ISP section of micro and by this to stop all flash activities during power failure situations.

4. Avoid too fast power-ups and -downs.

5. Pray to God, that you haven't anything overlooked...

This is what worked properly for me in the past. I think the noise issue is a bit overlooked by many designers.


Kai


List of 147 messages in thread
TopicAuthorDate
Pierce oscillator runs down to Vcc=1.3V!            01/01/70 00:00      
   you should get a probing set...            01/01/70 00:00      
      I keep the micro always reseted, ...            01/01/70 00:00      
      we already know            01/01/70 00:00      
   Low voltage operation            01/01/70 00:00      
      What puzzles me ...            01/01/70 00:00      
         True Reset            01/01/70 00:00      
            Thanks, Lynn, for giving us this deep insight!            01/01/70 00:00      
               Scary warnings            01/01/70 00:00      
               do you not know ...            01/01/70 00:00      
         What I know about this...            01/01/70 00:00      
            I didn't hear complaints about reset back then            01/01/70 00:00      
               MAY???            01/01/70 00:00      
                  Those were different times            01/01/70 00:00      
                     which troubles?            01/01/70 00:00      
                        I don\'t understand your question, Oleg.            01/01/70 00:00      
                           If I could do that, I would be a millionaire from            01/01/70 00:00      
                           There is an overwhelming evidence!            01/01/70 00:00      
                              Conjecture, not Evidence            01/01/70 00:00      
                                 already answered            01/01/70 00:00      
                                    HORSEFEATHERS! ... Read the question            01/01/70 00:00      
                                       Do you put in question, that...            01/01/70 00:00      
                                          Comments on Vdd and Flash            01/01/70 00:00      
                                             not quite true            01/01/70 00:00      
                                                I agree...            01/01/70 00:00      
                                                   by the way            01/01/70 00:00      
                                                      state machine decoding...            01/01/70 00:00      
                                          well Richard did not read it            01/01/70 00:00      
                                             No, I did read it ... in fact, I read it long ago            01/01/70 00:00      
                                                of course you are not            01/01/70 00:00      
                                          reset etc.            01/01/70 00:00      
                                          stories-part II            01/01/70 00:00      
                                             aka experience            01/01/70 00:00      
                                                Another Low VDD Story            01/01/70 00:00      
                                                   That's how many reset chips work            01/01/70 00:00      
                                          about that I have no doubt ...            01/01/70 00:00      
                                       You, even less like to read the answers            01/01/70 00:00      
                                          As I said before ... HORSEFEATHERS!            01/01/70 00:00      
                                             a horse of a different color            01/01/70 00:00      
                                                Flogging a dead (reset?) horse            01/01/70 00:00      
                                                   would that not be the case of            01/01/70 00:00      
                                                      Not defective, just powered down            01/01/70 00:00      
                                                         then where is the difference            01/01/70 00:00      
                                                            Good chips and state machine failures            01/01/70 00:00      
                                                               Reset seems to be different with static 8052            01/01/70 00:00      
                                                                  What do you think about my lines, Lynn?            01/01/70 00:00      
                                                                     Static and Dynamic Reset, and Lines            01/01/70 00:00      
                                                                        Thanks, the hope dies last...            01/01/70 00:00      
                                                                        why?            01/01/70 00:00      
                                                                           Isn't it shocking...            01/01/70 00:00      
                                                                              I know a lot ...            01/01/70 00:00      
                                                                              ...partially...            01/01/70 00:00      
                                                                                 The names and functions            01/01/70 00:00      
                                                                                    the analogy            01/01/70 00:00      
                                                                     Flash and Lines            01/01/70 00:00      
                                                                        So, what the hell is the remedy, then??            01/01/70 00:00      
                                       So long post...            01/01/70 00:00      
                                          Kai's remarks are germane to the issue            01/01/70 00:00      
                                             Stoping the oscillator            01/01/70 00:00      
                                                Lynn, pray explain            01/01/70 00:00      
                                                   Stopped clocks and reset            01/01/70 00:00      
                                                      waitaminute....            01/01/70 00:00      
                                                         This leads to the conclusion that ...            01/01/70 00:00      
                                                            Some further reading            01/01/70 00:00      
                                                   Let's be general            01/01/70 00:00      
                                                      General Reset            01/01/70 00:00      
                                                         So ... how do we fix it?            01/01/70 00:00      
                                                            one thing you could do would be to ..            01/01/70 00:00      
                                                               Tying reset ot crystal enable            01/01/70 00:00      
                                                it's already there... well in some form...            01/01/70 00:00      
                                                   Clock stopping on power-up            01/01/70 00:00      
                                                      we have alternatives...            01/01/70 00:00      
                                             comments            01/01/70 00:00      
                                             reset (and diode)            01/01/70 00:00      
   trying to conclude            01/01/70 00:00      
      Total agree!            01/01/70 00:00      
         That's not quite been my experience            01/01/70 00:00      
      Erik ... That proves nothing!            01/01/70 00:00      
         what else do you want 'proven'            01/01/70 00:00      
            suggestion vs. proof            01/01/70 00:00      
               I need a link            01/01/70 00:00      
                  well, you do not need tp prove it            01/01/70 00:00      
                     I had not considered these ATMEL (yechh) parts            01/01/70 00:00      
                        is there no end?            01/01/70 00:00      
                           coincidence is not proof            01/01/70 00:00      
                              Why on earth would I do that?            01/01/70 00:00      
                                 I would make me do something            01/01/70 00:00      
                                    Sadly, few who are in a position to do something            01/01/70 00:00      
                                 I am not demanding proof because is isn't there.            01/01/70 00:00      
                                    Maybe you can get support from Silabs?            01/01/70 00:00      
                        All manufacturers have problems            01/01/70 00:00      
                           function, not the device            01/01/70 00:00      
                              I like the way you go into the details!            01/01/70 00:00      
                                 It puzzles me that no chip maker has done this.            01/01/70 00:00      
                                    Vdd slew rate as a factor.            01/01/70 00:00      
                                       I have looked, but since it is not one of 'my' der            01/01/70 00:00      
                                          1 ms Vdd slew rates            01/01/70 00:00      
                                             I'd be afraid...            01/01/70 00:00      
                                                nope            01/01/70 00:00      
                                                   if I specify the slew rate for powerdown...            01/01/70 00:00      
                                                No ... I see this as limiting board capcitance            01/01/70 00:00      
                                                   I know...            01/01/70 00:00      
                                                      they get what they deserve!            01/01/70 00:00      
                                                         be realistic            01/01/70 00:00      
                                                            it takes more than a supervisor            01/01/70 00:00      
                                                               shooting sparrows with RPGs            01/01/70 00:00      
                                                                  it's not a sparrow, Erik ... it's a vulture            01/01/70 00:00      
                                                                     as it does not, then why worry            01/01/70 00:00      
                                                                        Erik, I don't know where your head's wedged ...            01/01/70 00:00      
                                                                           An almost off-topic comment on Xilinx JTAG            01/01/70 00:00      
                                                                           there is no problem, so why do you state there is            01/01/70 00:00      
                                                                              ?            01/01/70 00:00      
                                                                                 calrification            01/01/70 00:00      
                                                                              If you would get your head out of your ...            01/01/70 00:00      
                                                                                 well, if you do not want to 'test' the derivatives            01/01/70 00:00      
                                                                                    If you want yours tested, YOU test 'em            01/01/70 00:00      
                                                                                       I did not            01/01/70 00:00      
                                                                                          It's like breaking off the Vcc pin            01/01/70 00:00      
                                                                                             the datasheet states..            01/01/70 00:00      
                                                                                                It's probably ATMEL (yechhh!) that said that            01/01/70 00:00      
                                                                                                rephrased to match this subject            01/01/70 00:00      
                                                               the bulletproof '51            01/01/70 00:00      
                                                                  Custom 8051!            01/01/70 00:00      
                                                                  That is not the goal.            01/01/70 00:00      
                                             very true ...            01/01/70 00:00      
                                          I don't understand, Erik ...            01/01/70 00:00      
                                             READ!!!!!!!!!!!!!!!!!!!!!            01/01/70 00:00      
                                                when SiLabs builds a DIP-40 or PLCC-44 805x            01/01/70 00:00      
                                                   what does the package have to do with slew rate            01/01/70 00:00      
                                                      Erik ... it has to do with what I'll test.            01/01/70 00:00      
                                                         well, if you restrict your test to ancients, then            01/01/70 00:00      
                                                            current parts, but in DIP40 or PLCC44            01/01/70 00:00      
                                                               well you may find that someone sinned but did            01/01/70 00:00      
                                       No manufacturer warns about slew rates!!            01/01/70 00:00      
                                          actually I recall one            01/01/70 00:00      
                           I reread the whole link and            01/01/70 00:00      
                              To Richard            01/01/70 00:00      
                              it's just "lip-service" and means nothing            01/01/70 00:00      
               Please, Richard, only facts            01/01/70 00:00      
                  Kai, you can\'t compare the two environments            01/01/70 00:00      
   re 'lip service'            01/01/70 00:00      
      there you go again ...            01/01/70 00:00      
         unless the chairman of the board confess his sin            01/01/70 00:00      
            What you\'re spewing is nonsense            01/01/70 00:00      
               show what nonsesne you are communicating            01/01/70 00:00      
   what is this still about?            01/01/70 00:00      
      Times change, and so do IC's...            01/01/70 00:00      

Back to Subject List