Open4

1個 281円のBluetooth LEモジュールDA14531MODが気になるメモ

okuokuokuoku

https://www.mouser.jp/ProductDetail/Dialog-Semiconductor/DA14531MOD-00F01002?qs=vmHwEFxEFR%2FOK5Vt%252Bf%2FdqA%3D%3D

単価281円って安くない。。?チップ単体( https://www.mouser.jp/ProductDetail/Dialog-Semiconductor/DA14531-00000FX2?qs=sGAEpiMZZMsvjTiS%2FGzm6vJLQHi3tlxZRE0JpN4JETV4W2LKhlGtoQ%3D%3D )より安いんですけど。。流石にリール単価ではチップの方が安い。

SoCとしての構成は普通で、 Cortex M0+ と 48KiB RAM。いわゆるXIPは無いように見える。

SDKドキュメント

(公式から飛べるけど表示できない事がなんか多いので)

APIリファレンスは公式からDoxygenをCHMにしたものがDLできる。

追加のサンプルはリポジトリで公開されている(MIT):

https://github.com/dialog-semiconductor/BLE_SDK6_examples

何故流行ってないの?

  • フラッシュマイコンではない 。Dialog製品あるあるだけどOTP(One-Time Programmable)品なので一度プログラムを書くと変更できない。その代わり、Raspberry Pi PicoのようにSPI flashから起動できる内蔵bootromがあるため、そちらを使ってSPI Flashを外付けすることでフラッシュマイコンのように使うことは可能になっている。 DA14681MODは128KiBのFlashを外付けしている。
  • I/Oが少い 。I/O 8pinはちょっと。。
  • SDKがプロプライエタリ 。Bluetoothスタックとしては RivieraWaves のBLEスタックとそれ用の簡易RTOSが提供される。
  • 今時PHY 2Mでない。iOS機器でいうと2018年くらいの仕様。
  • 技適コンプライアンスのデータが提供されない 。実際にはちゃんと通してある( https://www.tele.soumu.go.jp/giteki/SearchServlet?pageID=jg01_01&PC=018&TC=N&PK=1&FN=200615N018&SN=%94%46%8F%D8&LN=32&R1=*****&R2=***** )ので、機器の方にラベルを貼れば良い。が、多分モジュールの方にラベルが無い。一応PDF形式でDLできる(Asia地域向けの認証 SmartBond-TINY-Certification-Asia に入っている R 018-200152 )。 モジュールのデータシート(PDF)に該当ページがあった。

フラッシュを内蔵していないので、完全に単体で運用できるのはビーコンのようなパブリックアプリケーションに限られる。ペアリング情報を格納したければ、外部のマイコンから制御するとかフラッシュを外付けするといった対策が必要になる。

okuokuokuoku

Legal

SDKのライセンスは普通( https://www.renesas.com/jp/ja/document/oth/low-power-connectivity-software-license-agreement?r=1592391 )。

  • GPLアプリケーションとのリンク禁止 -- Arduinoに組込めない (Arduino Coreは一般にLGPLで、それと静的リンクされて使用されるため)
  • 派生物はDialogのチップと共に提供されなければならない
  • いわゆるメディカルアプリケーションへの適用は禁止
  • 原則的なサンプルコードの開示禁止

最後の要件は逆にサンプルコード開示の明示的な許可でちょっと珍しい:

d. Licensee may distribute the Sample Source Code related to the SDK, including any applications (whether modified or unmodified), as a standalone product to Licensee’s customers or contractors (who shall not have the right to sublicense or further distribute the Sample Source Code), provided such distribution is solely in order to exercise Licensee’s rights under this Agreement (such parties are hereinafter referred to as “Authorized Third Parties”). Licensee shall ensure (and shall conclude suitable agreements so that any Authorized Third Parties shall ensure) that access to the Sample Source Code shall only be provided to those within its organization on a “need to know” basis.

(ただし、ここで言う "Sample Source Code" はSDKに含まれるサンプルコードで、ユーザが(ゼロから)作成したものは指さないと解釈できる。)

要するに、 SDKを入手していない人にはバイナリもソースコードも配布できない 。ユーザには最終製品の形でソフトウェアを配布する必要がある。... ただ、SDKサンプルの追加ぶんはGitHub上でMIT licenseの元Dialog社員とみられる複数のコントリビュータにより開発されており( https://github.com/dialog-semiconductor/BLE_SDK6_examples/pulls?q=is%3Apr )ルネサスによるDialogの買収後も継続している。

SLAに従う限り、提供されたBLEスタックを使うしかなく、それはSDK成果物の再配布なので用途の制約(Dialogのチップと共に提供すること)を受ける。NordicのSDKがBSDL+自由なblob再配布( https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/introducing-nordics-new-software-licensing-schemes )なのとは対照的と言える。

ベンチマーク等は特に禁止していない。

ひととおりMIT Licenseになっているサンプルを確認したところそれなりにAPIを網羅しているようなので、そちらの派生という形でコードを公開するのが安全に見える。それでも、ビルドシステム全体は公開できない。

okuokuokuoku

SDK

SDKはPlayDateのように( https://zenn.dev/okuoku/scraps/aa9c9aa933c143 )コールバックでアプリケーションコードを与える方式になっている。 http://lpccs-docs.renesas.com/Tutorial_SDK6/sdk_architecture.html

NordicやRealtekのようなベンダに比べてチップの規模が小さいぶんSDKもシンプルなので比較的わかりやすい。

サンプルファームウェア

サンプルファームウェアが充実している。

アプリ

Nordic同様デバッグ用のモバイルアプリを提供している。Dialogはルネサスに買収されているのでAndroid側のアプリは既にリブランドされている。

DSPSやSUOTAはこれらのアプリ経由でサポートしている。

okuokuokuoku

対抗

従来からの対抗馬としてはon semiのRSL10、旧CypressのPSoC4あたりか。

https://www.onsemi.jp/products/wireless-connectivity/wireless-rf-transceivers/rsl10

TIの新製品である CC2340 は量産時1ドル以下というべらんめぇな価格を提示していて、DA14531同様使い捨てBluetoothデバイスという方向性を示している。

https://www.tij.co.jp/ja-jp/wireless-connectivity/bluetooth/cc2340.html

あとSilicon LabsのBG2xとか、STのBlueNRGがあるか。

https://jp.silabs.com/wireless/bluetooth/efr32bg22-series-2-modules

https://www.st.com/ja/wireless-connectivity/bluenrg-2.html

NXPはより大きいSoCしか販売していない。Qualcomm(旧CSR)はこのクラスのSoCはオーディオ向けに集中しているようだ。

新参としてAtmosaicが居るけど今のところよくわからない。エナジーハベスティングコントローラを統合しているのは珍しい特徴。

https://atmosic.com/products_atm3/