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

このブログはビーコンの代表である菅原が、電気電子、電子工作、組み込みソフトウェアなどで、自分が苦労したところや面白い気づきなどを記事にしていきます。電子工作やマイコンに親しむ人が少しでも増えたらという思いでつづります。
やっぱり、電子工作が好きなんですよ。
<< 3Dプリンタのすばらしさ | main | SAADC のタイマーをTimer0からTimer1に変更する >>
nRF52 XTAL使わずにRCクロックでBLE通信
0

    JUGEMテーマ:組み込み開発

     

    太陽誘電のEBSHSN をS132_SDKで開発している。

    nRF52832を搭載していて、すごく小さいのはいいが、IOが 15本しか出ていない

     

    太陽誘電

     

    このうち P0.00,P0.01 は 32.768KHzの水晶振動子

    P0.09,P0.10は NRFアンテナ端子

    P0.21 はリセット端子

    P0.05,P0.06,P0.07,P0.08は RTS/TX/CTS/RX 

    と決まっている。

    こうなると自由に使える端子は 6本しかない。

    P0.09,P0.10のNRFアンテナ端子は使わないのでIOにする。

     次にP0.05,P0.06,P0.07,P0.08は RTS/TX/CTS/RX は TX,RXのみ使い、RTS/CTSは使わないでポートとする。

    P0.21のリセット端子は残しておく。

    P0.00,P0.01 の XTALも外したい。・・だが単に LF_SRCを 内蔵の RC にしても、どうも動かない。。

    色々調べたが RCの場合は 定期的にキャリブレーションする設定にしないといけないらしい。

     

    sdk_config.h の Clockの以下定義にしたところ、BLE通信もするようになった。

    // <h> Clock - SoftDevice clock configuration

    #define NRF_SDH_CLOCK_LF_SRC 0
    #define NRF_SDH_CLOCK_LF_RC_CTIV 1
    #define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0
    #define NRF_SDH_CLOCK_LF_ACCURACY 0

    これでP0.00,P0.01も IOポートとして使えるようになった。


     

    -- 追記

     

    太陽誘電の 仕様書には以下のような設定になっていました。

    #define NRF_SDH_CLOCK_LF_SRC 0
    #define NRF_SDH_CLOCK_LF_RC_CTIV 16
    #define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 2
    #define NRF_SDH_CLOCK_LF_ACCURACY 0

    | ビーコン菅原 | nRF5x Nordic | 20:05 | comments(0) | trackbacks(0) |









    http://blog.suga41.com/trackback/384
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031     
    << December 2018 >>
    + RECOMMEND
    + RECOMMEND
    + SELECTED ENTRIES
    + RECENT COMMENTS
    + RECENT TRACKBACK
    + CATEGORIES
    + ARCHIVES
    + つぶやき
    + MOBILE
    qrcode
    + LINKS
    + PROFILE