フォーラムへの返信
-
投稿者投稿
-
kkk様
本件、ご返信頂きましてありがとうございます。
お手数でございますが以下の点について確認させてください。3.オシレータ障害が発生し、エラーフラグをクリア後に再度クロック周りのレジスタの初期化処理を実行した場合、電流値に違いは見られますでしょうか。
⇒オシレータ障害フラグをクリアし、基板の消費電流が0.5μA程度増加した状態でDCOモジュレータをディスエーブル後に再度イネーブルする(DISMODを 1→0→1 の順にセットする)と、消費電流が最初の状態に戻る(0.5μAの増分が無くなる)ことを基板2台で確認しました。DISMODビットは、1をセットするとDisable、0をセットするとEnableとなりますが、最終的にはDCOモジュールをDisableにするということでしょうか。
それとも、オシレータ障害発生前のDCOモジュールはEnable(DISMOD=0)であり、オシレータ障害から復帰後に
一度DCOモジュールをDisable(DISMOD=1)にしてから、再度Enable(DISMOD=0)にした場合、消費電流がオシレータ障害発生前の数値に戻るということでしょうか。以上、ご確認のほど宜しくお願い致します。
H.Ukkk様
ご返信ありがとうございます。
頂いた情報を元に、メーカへ確認させて頂きましたが、オシレータ障害が取り除かれて、
UCSのエラーフラグがクリアされると、オシレータ障害発生前の電流量に戻るとの見解でございます。大変お手数でございますが調査を継続するに当たり、以下の点についてご確認頂くことはできますでしょうか。
1.マイコン単体での複数台の消費電力をご計測頂けますでしょうか。
※前段でご提供頂いた測定結果では、マイコン単体ではサンプル数1台で、増加した電流値は0.5μAとの認識です。2.オシレータ障害発生前後で実行されるソフト処理が変わりますでしょうか。
3.オシレータ障害が発生し、エラーフラグをクリア後に再度クロック周りのレジスタの初期化処理を実行した場合、電流値に違いは見られますでしょうか。
以上、宜しくお願い致します。
H.Ukkk様
お手数でございますが、以下の点についてご教示ください。
1.ご計測された消費電流値は、MSP430チップ単体の消費電流量でしょうか。
また、オシレータ障害が発生する前の消費電流量は平均でどの程度でしょうか。2.複数のボードでも1μAの上昇する現象が同様に見られますでしょうか。
3.UCSモジュールのレジスタ(UCSCTL0~UCSCTL9)は、オシレータ障害の発生前/復帰後で差分はありますでしょうか。
以上、宜しくお願い致します。
H.Ukkk様
ご返信ありがとうございます。ご質問の意図について承知いたしました。
また、追加質問頂いた件につきましては、以下に回答させて頂きます。3.ACLKがLFモードで動作し、かつリファレンスクロックとして、XT1を選択されていた場合、
オシレータ障害が発生した際には、DCOではなくREFOに切り替わります。
また、SFRIE1.OFIEレジスタビットをセットしておけば、オシレータ障害発生時にCPUに割り込みをかけることができますので、こちらを用いてクロックソースの切り替えを検知すること可能です。4.オシレータ障害が発生すると、UCSCTL7レジスタのフラグビットがセットされますが、
これらのフラグをソフトウェアによってクリアした際に、オシレータ障害が解消されていない場合は、
このフラグはセットされたままになりますので、UCSCTL7レジスタをリードバックすることで
オシレータ障害は解消されたかどうかをご判断頂けるかと思います。また、上記について詳しくは、下記ドキュメントに記載されておりますので、ご確認頂けますでしょうか。
・SP430x5xx and MSP430x6xx Family User’s Guide(SLAU208Q)
[NOTE: Fault conditions](p172)
[NOTE: Fault logic](p172)
http://www.tij.co.jp/jp/lit/ug/slau208q/slau208q.pdf以上、宜しくお願いします。
H.Ukkk様
メーカに確認が取れましたので以下に回答致します。
1.オシレータが正常復帰した後は、自動的に異常前の状態に戻ります。
2.UCSのFail-safe機能を無効にすることはできません。
このFail-safe機能は、オシレータ障害発生時におけるデバイスの異常動作を防止するためにありますが、この機能を無効にする意図は何でしょうか。以上、宜しくお願いします。
H.Ukkk様
お問い合わせありがとうございます。
ご質問頂いた内容につきましては、現在メーカに問い合わせておりますので、
少々お時間頂けますようお願い申し上げます。以上、宜しくお願い致します。
H.UTKS18様
状況承知致しました。
ご返信ありがとうございました。以上、宜しくお願いします。
H.UTKS18様
お問い合わせありがとうございます。
MSP430の受信ポートでLowレベルになっているとのことですが、受信ポートをLow(あるいは、High)にドライブしているのは、MSP430の対向デバイス(下位側)ですので、下位側のデバイスにてLow信号を送っている可能性はございませんでしょうか。
MSP430側で、意図的にRXピンをLowにする設定や、エラッタなどの情報は見つかっておりません。
以上、宜しくお願い致します。
H.Ucloudwork様
お問い合わせありがとうございます。
LPM1の消費電流値についてメーカに確認致しましたが、LPM1の条件が複数ある(DCO発生回路がONまたはOFF)ため明示的に記載されていないようでございます。
・MSP430x4xx Family ユーザーズ・ガイド(JAJU006A)
[図 2-9. FLL+ クロック・システムの MSP430x4xx 動作モード](p52)
http://www.tij.co.jp/jp/lit/ug/jaju006a/jaju006a.pdfLPM1とLPM0の違いは、DCO発生回路のON/OFFになりますので、LPM1においてDCOがMCLKまたはSMCLKに使用されない(DCO発生回路はOFF)のであれば、条件はLPM0と同等ですので消費電流値としてもLPM0と同じになります。
また、LPM1において、DC発生回路をONとした場合は、LPM2の消費電流値に近似するものとお考えください。
以上、宜しくお願い致します。
H.Ukkk様
お問い合わせありがとうございます。
カレンダーモードの場合、プリスケーラカウンタ(RT0PS/RT1PS)は、1秒をカウントするように自動的に設定され、このタイミングでRTC時刻が更新されます。
一方、62.5msのプリスケーラタイマー1割り込み(RT1PSIFG)による1回目の割り込みは、31.25msで発生しますため、RTC時刻レジスタの更新よりも、RT1PSIFGによる1秒周期の割り込みは、31.25ms早く発生することになります。なお、RTC時刻レジスタの更新はKeepoutロジックにより、レジスタのリードタイミングに制限がありますのでご注意ください。詳細につきましては、下記ドキュメントをご参照ください。
・MSP430x5xx and MSP430x6xx Family User’s Guide
[22.2.2.3 Reading or Writing Real-Time Clock Registers in Calendar Mode](p569)
http://www.tij.co.jp/jp/lit/ug/slau208q/slau208q.pdf以上、宜しくお願い致します。
H.UTKS18様
お問い合わせありがとうございます。
Unusedピンの処置につきましてはデータシートの下記ページに記載されております。
・SP430FR597x(1)、MSP430FR592x(1)、MSP430FR587x(1) データシート
[4.6 Connection of Unused Pins](p23)
http://www.tij.co.jp/jp/lit/ds/symlink/msp430fr5922.pdfAVCCはDVCCに、AVSSはDVSSにそれぞれ直結してください。
以上、宜しくお願い致します。
H.UOsugi様
お問い合わせありがとうございます。
今回、お問い合わせいただいた内容(デバイス)については、本サイトでのサポートが困難であり、
大変不本意なことではございますが対応が出来かねます。
当方の事情によりご迷惑をおかけいたしまして申し訳ございません。以上、宜しくお願い申し上げます。
H.Ukkk様
ご連絡ありがとうございます。
頂戴したソースコードをベースに弊社環境でも動作確認しましたところ、御社と同様の現状が再現されました。
本件結論から申し上げますと、プリスケーラによる割り込み(RT1PSIFG)を用いる場合、はじめの割り込みが半分の周期となる現象は本RTCモジュールの仕様となります。
例えば、プリスケーラのカウンタレジスタ(RT1PS)は、128Hzでカウントアップされますが、RT1IP=0x010とした場合、RT1PSの3bit目(Q2)がセットされたタイミングで割り込みを発生させます。
RT1PSを”0″からスタートさせた場合、最初にQ2ビットがセットされるタイミングは31.25ms後になります。
RT1PSのカウンタがインクリメントされていき、次にQ2ビットがセットされるタイミングは、Q2ビットが最初にセットされたタイミングから、62.5ms後となります。
つまり、RT1IPレジスタの設定値は、Q2ビットがセットされてから再びセットされるまでのタイミング間を規定しているとお考えください。従いまして、もし最初の割り込みを62.5ms周期で発生させたい場合は、「RTCPS=0x0400」としてカウンタレジスタを初期化してください。或いは、周期割り込みをご使用される場合は、Timerモジュールをご検討頂けますでしょうか。
以上、宜しくお願い致します。
H.Ukkk様
ご返信頂きありがとうございます。
最初の割り込みのみ62.5msで発生し、以降の割り込みは32.5ms間隔となっているとの理解であっておりますでしょうか。
データシート等には割り込み周期が半分になるといった動作についての記載がありませため、原因について不明な状況でございます。大変お手数でございますが、現象が再現されるCCSプロジェクト(或いは、ソースコード)をご提示頂くことは可能でしょうか。
以上、宜しくお願い致します。
H.Ukkk様
お問い合わせありがとうございます。
カウンタ・モードから、カレンダー・モードに切り替えることによって割り込みタイミングが変わるとのことですが、カウンタ・モードを使用せずに、はじめからカレンダー・モードで初期化しても同様に31.25msの割り込みとなりますでしょうか?
モード切り替えによる問題なのか、それとも初期設定の問題なのかの切り分けをさせて頂ければと思います。
以上、どうぞ宜しくお願い申し上げます。
H.U -
投稿者投稿