フォーラムへの返信
-
投稿者投稿
-
t-nishi様
投稿いただき、ありがとうございます。
ご提示頂いた例のような、DVcc>DVioでのご利用方法はTIで推奨されておりません。
データシートにて次のように記載されております。MSP430F51x1, MSP430F51x2 Mixed-Signal Microcontrollers datasheet (Rev. Q)
P.14 Recommended Operating Conditions(3) .. DVIO must be higher than or equal to DVCC.
恐れ入りますが、上記をご確認頂けますようよろしくお願いいたします。
Cruijff
kkk様
ご連絡いただき、ありがとうございます。
電源ON/OFFにより正常復帰するとのこと、承知致しました。
マイコンの裏でも今回のようにRST端子近くに回路パターンが引かれている場合は、静電気印加によるノイズがRST端子に影響及ぼす可能性は考えられます。
アプリケーションレポートをご確認いただき、ESD対策をご検討頂ければ幸いです。
よろしくお願い致します。
Cruijffkkk様
投稿いただき、ありがとうございます。
MSP430のICに対して、静電気+8kVの印加は非常に高く、デバイス破損の可能性が御座います。
TIでは下記MSP430のESD対策に関するアプリケーションレポートが記載されていますのでこちらをご確認ください。
MSP430 System-Level ESD Considerations
こちらによると、F5329も含めたMSP430はANSI ESDA/JEDEC JS-001の規定されるESD定格テストで認定されています。
上記資料をご参考いただき、貴社システムで必要あればESD保護回路を追加いただく等、ご検討ください。
ご確認のほど、よろしくお願い致します。
Cruijff
Temper様
お世話になります。
いただきましたエラーはMSP-FETがターゲットボードの電源電圧がMSP430動作範囲内(1.8V~3.6V)でないために発生しています。
MSP-FETの2ピン(VCC_TOOL)からターゲットボード(Vcc)へ電源供給されていない場合、別で電源を供給する必要があります。
MSP-FETとターゲットボードの接続について、以下の資料が用意されておりますので、
こちらを参考に貴社ターゲットボードの回路構成をご確認頂けますでしょうか。
・MSP430 Hardware Tools User’s Guide (Rev. AD) (Figure 2-1)
よろしくお願い致します。
Cruijfftemper様
早速のご確認、誠にありがとうございます。
Updateしていただいて問題ございません。
こちらのエラーはMSP-FETのFirmware versionがCCSで定義したversionと異なるために表示されたエラーで、MSP-FETのFirmwareをUpdateすることで解決します。
お手数ですが、更新後に書き込みが行えるか再度ご確認をお願い致します。
Cruijff
temper様
早速のご確認、誠にありがとうございます。
Compiler Versionの違いによるエラーの可能性もございますので、エラーなしのコンパイラ(TI v4.2.1)をダウンロードいただき、CCSv8でビルドが通るか、ご確認いただけますでしょうか。
以下、TI wikiページにてCCS上で旧バージョン コンパイラのダウンロード方法のムービーが御座いますので、こちらをご参考ください。
http://processors.wiki.ti.com/index.php/Compiler_Releases
何卒宜しくお願い致します。
Cruijfftemper様
投稿いただき、ありがとうございます。
お手数ですが、ビルドしているプロジェクトのCompiler Versionをお教えいただけますでしょうか。
プロジェクトを右クリック、Propertiesより下記図の画面が表示され、赤枠でCompilerVersionを確認することができます。
よろしくお願い致します。
Cruijffkkk様
UCOEのフラグはレジスタ「UCA1STATW」のレジスタビット(5bit目)にセットされます。
UCA1IFGの割り込みサービスルーチンでUCA1STATWの状態をチェックする条件文を記述頂ければ、UCOEのONタイミングが見れるのではないかと考えております。例えば、割り込みサービスルーチンに次のようなif条件文を加えると、UCOEがサービスルーチン内でセットされていた場合、条件内処理が実行されます。
if(UCA1STATW&UCOE)
{
/* GPIOのトグル、Timerのカウンタ値を読むなど */
}また、オーバーフロー検出するために、TIが推奨している検出フローがUser’s Guide P.772(30.3.6 Automatic Error Detection)に記載されております。
合わせてこちらもご参考頂ければ幸いです。よろしくお願い致します。
Cruijffkkk様
投稿いただき、ありがとうございます。
CPUクロック(MCLK)のクロックソースとTimer動作のクロックソースが異なる設定である場合、「TB0R」を正しく読み出せない可能性がございます。
上記はUser’s Guide P664(NOTE:Modifying Timer_B registers)に記載されております。上記条件でTimer_Bが動作している場合、TB0Rの読み出しは、Timer_Bを停止モード(MC = 00)にしていただくことをおすすめ致します。
以上、よろしくお願い致します。
CruijffGoro様
ご確認いただき、ありがとうございました。
また何かございましたら、今後も弊社フォーラムへお問い合わせ頂ければ幸いです。
以上、よろしくお願い致します。
Cruijff
Goro様
投稿いただき、ありがとうございます。
貴社のターゲットボードは書き込み時、MSP-FETの#2(VCC_TOOL)より供給していない、
別電源で動作しておりますでしょうか。MSP-FETの#2(VCC_TOOL)、#4(VCC_TARGET)はそれぞれ次の役割をするポートになります。
・ #2(VCC_TOOL) .. MSP-FETからターゲットボードへ電源供給するポート
・ #4(VCC_TARGET) .. ターゲットボードの電源電圧を監視するポートVCC_TARGETに電圧(Typ 3.3V)が印加されると、
MSP-FET内回路で、ボードにVccが印加されているとして#2(VCC_TOOL)からは電圧出力されなくなります。
上記はMSP-FET回路並びにFirmwareの仕様となります。上記仕様のため、VCC_TOOLからの電圧出力は、VCC_TARGET-貴社ターゲットボードを未接続にする必要があるものと考えております。
ただし、VCC_TOOL-ターゲットボードのVccラインも未接続である必要があります。また、上記の設計はハードウェアツールマニュアル(P.20-21 Figure2-2.2-3.)にて推奨されています、MSP-FET-ターゲットボード間の接続とは異なる仕様になります。
こちらについて、ご容赦頂ければ幸いです。以上、よろしくお願い致します。
Cruijffkkk様
割り込みによる処理遅延でのオーバーランエラーフラグの可能性が低い旨、承知致しました。
恐縮ですが、追加で下記についてお教えいただけますでしょうか。
1. MSP430(マスター)から通信先デバイス(スレーブ)へなにかしらのコマンドを送信していますでしょうか。
また送信後、受信バッファ読み出し等の処理は行われておりますでしょうか。上記の意図として、
SPI通信はデータをマスターからスレーブへ送信する過程で、受信シフトレジスタも動作しており、
送信後、受信バッファに(0xFFまたは0x00の)データが格納されます。
(受信割り込みフラグもセットされます。)そのため、MSP430から送信が完了した後、送信完了割り込み(、または受信完了割り込み)等で受信バッファを読み出す処理がされていない場合、スレーブからのデータ受信時にオーバーランエラーとなります。
最初の投稿で受信データは問題ない、ということからマスターからの送信時の受信バッファ未処理によるUCOEセットの可能性もございます。つきましては、kkk様で設計されたシーケンスでMSP430からスレーブに対してのSPI送信完了後、受信バッファ読み出し等の処理を行っているかご確認ください。
よろしくお願い致します。
Cruijff
kkk様
ご確認いただき、ありがとうございます。
お手数ですが、追加で以下についてもご確認いただけますでしょうか。
- eUSCI_A1 受信割り込み以外に割り込み処理を設定しているものはございますか。
Timer_A0,ADC12,Timer_B0など - 頂きました波形を確認しましたが、このときの波形ではUCOEはセットされておりましたでしょうか。
セットされる(0->1となる)ときの波形を取得いただくことは可能でしょうか。
上記2点の質問背景としては、eUSCI_A1の受信割り込みよりも優先度の高い割り込みによって、SPI受信バッファを読み出す処理が遅延される可能性がないか、ご確認いただきたいためでございます。
データシート(P65~66)では、ベクタテーブルによって上から順に優先度が予め定義されております。
SPI受信割り込み終了後、eUSCI_A1より優先度が高い割り込みフラグがセットされていると、SPI受信バッファにデータがセットされても、優先度の高い割り込みの処理が先に実行されます。
念の為eUSCI_A1以上の優先度が高い割り込みが使用されている場合、その割り込み処理を無効化(IE(Ineterrupt Enableビット)を0にする)させても同様にUCOEがセットされるかご確認いただけますでしょうか。
よろしくお願い致します。
Cruijff
kkk様
投稿いただき、ありがとうございます。
下記について、ご確認いただけますでしょうか。
- 使用されているMSP430型番をお教えください。
- リセット直後、UCOEはクリア(OFF)になりますが、kkk様のデバッグでもそのようになっておりますでしょうか。
また、mainの先頭から処理を行い、どのタイミングでUCOEがONとなったか、確認されておりますでしょうか。 - MSP430が受信(UCA1RXBUFにデータがセットされた)後、UCA1RXBUFのデータ読み取りの前に送信側からデータが送られていることはないでしょうか。
オーバーランエラーフラグ(UCOE)は受信バッファ(UCA1RXBUF)が読み出される前に新たにデータを受け取り、受信バッファに格納されるとセットされるフラグになります。
送信側がMSP430の受信バッファ読み出しを待たずに送り続けることが原因である可能性がございます。
ご確認のほど、よろしくお願い致します。
Cruijff
hi3807様
ご連絡頂き、ありがとうございました。
ファームウェアのIO設定変更により接続できたとのこと、承知致しました。
また何かありましたら、当フォーラムをご利用ください。
よろしくお願い致します。
Cruijff
- eUSCI_A1 受信割り込み以外に割り込み処理を設定しているものはございますか。
-
投稿者投稿