2年ほど前からMSP430F4270で製品を量産しているのですが、
まれに情報フラッシュメモリが全壊したり、メインフラッシュメモリが部分的に壊れて
故障返却されてくることがあります。
弊社の試験では再現しないために対策に苦慮していたのですが、
偶然、電源電圧を動作ぎりぎりくらいまで落として不安定にさせたところ、
まれにフラッシュメモリが破損することがわかりました。
特に、ゆるやかに電源電圧を落としていったときに、動作が不定になり、
レジスタ、RAMのアドレス値相当の情報が壊れた状態で、
情報メモリ書き込みサブルーチンに飛び込む暴走状態になり、
結果、予期しないフラッシュメモリの破壊に至っているようです。
現在は外部にリセットICを追加することで対策していますが、
同様の現象を対策された方などいらっしゃらないでしょうか?
shimaさんへ
tmatsu と申します。
ソフトでの対策として以下が検討できると思いますがいかがでしょうか?
1)Flash書込前にADC等で電源電圧を監視する。
2)Flashの空き領域を0x3F(RESET)で埋める。(暴走時対策)
未使用の割込ベクタも全て記述する。
3)FWKEYを計算などで導くようにする。(暴走時対策)
また、一般的な留意事項としては以下があります。
1)電源降下時に動作周波数を落とす。
2)Flash書込時のクロック(fFTG)、累積時間の管理を遵守する。
ハード的には、ESD対策、Vccのデカップリングできれいにする
などがあるかと思います。
shinichi shima さん、こんにちは
MSP430はいつでもフラッシュを書き換えることが出来る代わりに、どうも壊れることがまれにあるようです。
ちょうど昨年のダラスで行われたATC(MSP430 Advanced Technical Conference)で、フラッシュの破壊に関してそれを防ぐにはどのようにすればよいかの発表がありました。(Flash Techniques Designing for System Robustness)このような発表があるということは、ワールドワイドでこのようなトラブルが生じたことがあるということでしょう。
また、それの日本語版の発表がやはり秋葉原で行われた昨年のATCでありました。(フラッシュ・システムのための堅牢性デザイン・テクニック)
もし、どなたかが昨年のATCに参加されていれば、資料が手に入るはずです。残念ながら日本語版はウエブでは公開されていませんが、英語版の資料は下記のリンクから手に入ります。
http://focus.ti.com/en/download/mcu/Flash-Techniques-Designing-for-System-Robustness.pdf
shinichi shima さんのケースは、電圧が下がってきたときにP.9にある Vcc vs. MCLK violations が起こっている可能性があります。Vccが2.5Vをきった場合は、クロックをデフォルト値に下げて、さらにフラッシュの書き込みが行えないように何らかの対策をする必要があります。バイオレーションが起こると、クロックの発振が不安定になり、プログラムカウンタが壊れるため、暴走することがあります。
暴走時にフラッシュ書き込みルーチンでフラッシュを書き込まないために、FWKEYを必ず引数として変数で渡すことで、不用意な書き込みを防ぐ方法も有効です。
残念ながらF4270にはSVSが搭載されていませんので、リセットICによる電圧低下時の動作の制御は非常に有効な方法です。
shimaです。ありがとうございます。
遅くなりまして申し訳ございません。
1)電源電圧の監視は考慮しましたが煩わしいので、あきらめていました。
ちょっと検討してみます。
2)RESETで埋めるのは、ナイスアイデアと思います、ありがとうございます。
未使用割り込みはすべて記述してあります。
3)FWKEYは、なるほど、効果があるかもしれません、やってみます。
1)弊社製品の使用環境において、電源電圧の降下という事態では
もはや全体の電源系の異常事態でしかありえないので、
できればすっぱりと動作を止めてしまった方が都合がいいです。
2)累積時間は、ブロック書き込みを使用していないので、無関係と思われます。
ありがとうございました。
また何かありましたら、ご助言頂けると助かります。
shimaです、ありがとうございます。
遅くなりまして、申し訳ございません。
やはり、「壊れることがある」のですか、原理的に静電容量なのでそんなもんだとは覚悟していますが、それにしても工業製品に使うにはちょっと壊れすぎかな?
と思うことがしばしばあります。
リンクのご紹介、助かります、ありがとうございます。
FWKEYの引数渡しは、次のロットから対応させます。
本サイトの全てのコンテンツ及び素材は、「現状有姿のまま」提供されております。 日本テキサス・インスツルメンツ株式会社及びその親会社であるTexas Instruments Incorporated (以下、TIと総称します)、並びにTIに当該コンテンツや素材を提供した者は、当該コンテンツ若しくは素材が何らかの目的に適合しているかどうかについて、いかなる表明もいたしませんし、また、当該コンテンツ若しくは素材について、当該コンテンツ若しくは素材に商品性があることの保証、特定の目的に適合していることの保証、TI若しくは当該提供者に何らかの権原が有ることの保証及び当該コンテンツ若しくは素材が第三者の知的財産権を侵害していないことの保証その他、黙示の保証であろうと明示の保証であろうと、いかなる保証も一切いたしません。 TI は、明示のライセンスであろうと、黙示のライセンスであろうと、禁反言によるライセンスであろうと、ライセンスは一切いたしません。 本サイト上にある情報を使用する場合は、別途、第三者もしくはTI から、ライセンスを取得しなければならない場合があります。 本サイト上にあるコンテンツには、特別な使用上の注意事項もしくは制限事項が含まれているか、又はそれらの注意事項もしくは制限事項に従う限りにおいて使用できる場合があります。 本サイト上の全ての投稿及びコンテンツの使用は、本サイトの「使用条件」に従ってなされるものとし、当該コンテンツを使用する第三者は本サイトの「使用条件」の制限、注意事項に拘束され、且つそれらに従わなければならないものとします。 TI 及びコンテンツ、素材等を提供した者は、いつでも、コンテンツ、素材、製品、プログラム及びサービスを訂正、削除、修正、増加、改良その他の変更をし、かつ、いかなるコンテンツ、製品、プログラム若しくはサービスも、通告無しに移動、中止する権利を留保します。