浜松市にいる組み込みおやじ-電子工作、回路設計、ファーム TIPS

このブログはビーコンの代表である菅原が、電気電子、電子工作、組み込みソフトウェアなどで、自分が苦労したところや面白い発見などを記事にしていきます。電子工作やマイコンに親しむ人が少しでも増えたらという思いでつづります。
やっぱり、電子工作が好きなんですよ。
MSP430x2シリーズの LFXTは 速いクロックはつけられないものがあるので注意が必要
0
    JUGEMテーマ:組み込み開発
    手作りで実験回路を作る必要があり、勘違いしていてはまったのでメモ。

    MSP430x2シリーズでは 水晶振動子か 1つしかつけられないものと 二つつけられるものがある。
    ひとつしかつけられないものでは 水晶振動子を何をつけてもよいかというとそうでもない。

    今見ている MSP430G2X53 MSP430G2X13 では 32.768KHz の水晶振動子しか接続できない。
    外部からクロック入力する場合でも 10K〜50KHz の範囲しか許容されていない。

    DCOでは精度が出ないので 16MHzの水晶振動子XOUT,XIN に接続して、高精度で動かしたいと思ったが、どうにも動作がおかしい。。CCCのペリフェラルのウィンドウで BCSCTL1.XTS が0のまま動かなくて、調べたらこういうことだったとわかりました。

    「LFXT1 は、HF モードをサポートしません」と書いてあるデバイスは使えないということですね。
     
    | ビーコン菅原 | MSP430マイコン | 16:27 | comments(0) | trackbacks(0) |
    CCS V5と V4を入れたがV4でJTAGがつながらなくなった。
    0
      JUGEMテーマ:組み込み開発


      MSP430の開発で Code Composer Studio(CCS)を使っている
      もともと V4.02なのだが、新しいデバイスで開発しようとしたところ対応していなかったので、V5.5をインストール。
      V4.02で開発したプロジェクトはそのままV4.02でメンテナンスしたいので、V4も残して、デュアルインストールということに。

      ところが V4でMSP-FET430UIFで spy-bi-wireで接続すると、いままでつながっていたデバイスで以下のようなエラーメッセージが。。

      CCS V4のエラーメッセージ
      Error initializing emulator:
      No USB FET was found


      おなじプログラムを V5でビルドして接続すると、全く問題なくデバッグできる。

      たしかに V5にしたときに、MSP-FET430UIF でファームのアップデートをしたし、その割にはV4で接続をしたときにはファームウェアのことをなにも言ってこないので、なにかそのあたりが原因かもしれない。

      いちいち、詳しくあれもこれも確認していないので、どのようなときなのか、JTAGだったらいいのか等は不明だが、ここにメモしておく。

      PCは Windows7 32bit pro
       
      | ビーコン菅原 | MSP430マイコン | 16:41 | comments(0) | trackbacks(0) |
      MSP430のフラッシュ書き換え
      0
        こんにちは、ビーコンの菅原です。
        MSP430には、パラメータなどを記憶しておくためのFlashROM領域が4つ用意されています。これをフラッシュ情報メモリとか INFO領域なんて呼んでます。
        FlashROMの書き込みや消去をしている間、プログラムが止まるので、その間、何してればいいとか、RAMにいないといけないみたいなことはありません。これがマイコンの機能として組み込まれているところもあって、消去や書き込みは他のマイコンと比べてめちゃくちゃ簡単ですね。
        たとえば以下のような感じです。
        0x1080番地の領域= INFOB をイレースして、先頭に'A'の文字を書き込むです。
        int i;
        char *Flash_ptr,*p;
        Flash_ptr = (char *)0x1080;               // Initialize Flash pointer
        FCTL2 = 0xA5C0 + 47;
        FCTL3 = FWKEY;                            // Clear Lock bit
        FCTL1 = FWKEY + ERASE;                    // Set Erase bit
        *Flash_ptr = 0;                           // Dummy write to erase Flash seg
        FCTL1 = FWKEY + WRT;                      // Set WRT bit for write operation
        *Flash_ptr = 'A';                   // Write value to flash
        FCTL1 = FWKEY;                            // Clear WRT bit
        FCTL3 = FWKEY + LOCK;                     // Set LOCK bit
        ここで、忘れてはならないのが、 FCTL2の設定です。
        なぜかサンプルソースなんかにも触れられていませんが、FCTL2はフラッシュ・メモリのタイミング・ジェネレータのクロックを決定しています。
        たとえば 16MHzでSMCLKでFlashにアクセスしたい場合には、以下のような設定がよいでしょう。
        FCTL2 = 0xA5C0 + 47;
        fFTG = 257kHz~476kHzになるようにしますが、ここでは (47+1)分周すると言う意味です。
        16MHz を (47+1)分周 =  約333kHz となり、収まりますね。。
        動作周波数が変わると当然ここのクロックを変えないといけません。
        しかし、忘れてしまいがち。
        しかも、これがまた、クロックが外れている場合、全部だめじゃなくて書き込める個体と書き込めない個体が出てきたりするので、気がつかないと、ついつい、マイコンの不良を疑って、マイコンを交換してしまったりと、変な方向にいきそうになります。
        そのほか、フラッシュROM書き込みの不具合がでるのが電源電圧が低くなっているときですね。
        Flashが書き込めない場合には、電源電圧かFCTL2クロックを確認すれば、なんとかなるのではないかと思います。
        JUGEMテーマ:組み込み開発
        | ビーコン菅原 | MSP430マイコン | 17:36 | comments(0) | trackbacks(0) |
              1
        2345678
        9101112131415
        16171819202122
        23242526272829
        3031     
        << July 2017 >>
        + RECOMMEND
        + RECOMMEND
        + SELECTED ENTRIES
        + RECENT COMMENTS
        + RECENT TRACKBACK
        + CATEGORIES
        + ARCHIVES
        + つぶやき
        + MOBILE
        qrcode
        + LINKS
        + PROFILE