2024年03月16日

SC18IM700とSC18IM704の差

以前にUART I2Cプロトコルブリッジのリニューアル版について紹介しました。UART I2Cプロトコルブリッジの旧バージョンはSC18IM700リニューアル版はSC18IM704となって別の製品として販売されています。

ハードウェアについてはピンアサインやGPIOモード、IO電圧、バッファサイズで変更があります。ただし、SC18IM700とSC18IM704でコマンドの互換があるものの、設定の一部は互換性がなくなっているようです。今回は変更となっているコマンド部分の差について紹介したいと思います。


■I2C CLK
 I2C CLKはデフォルトでは100kHzの設定になっており、特別な理由がない限りは変更する必要がありません。CLKを落としてより通信を安定させたい場合やCLKを上げて少しでも通信レートを上げたい場合等で変更する必要があります。

 設定自体のレジスタアドレスは同じですが、設定値が変更になっています。SC18IM700では2つのレジスタを合わせた値がCLKとして反映されてる仕様(I2CClkHとI2CClkLの差がない)でしたが、SC18IM704は2つのレジスタに16bitで設定した値がCLKとして反映される仕様(I2CClkHとI2CClkLを区別する)に変更されています。

 個人的にはI2CClkHに値を設定すると大幅にCLKが低下するため、I2CClkHの用途が限定的で以前の仕様の方が利便性は良かったと感じました・・・


・SC18IM700

700_CLK.jpg

・SC18IM704
704_CLK.jpg



■I2C CTO
 I2C通信のタイムアウト時間設定はデフォルトでは無効化されています。

 SC18IM700の場合、CTOのビットのみを有効化したするとデフォルトのタイムアウト時間は230msec程度です。

 一方、SC18IM704の場合はI2C_CLKも設定値に関係する仕様になっています。I2C_CLKがデフォルトの100kHzの場合、CTOのデフォルトは35msec程度とタイムアウト時間が短くなっています。また最大でも90msec(I2C_CLK=100kHz)程度で設定可能なCTO時間の範囲が狭くなっています。

 個人的にはI2C_CLKに依存せず、CTOの調整幅が大きいため、以前の仕様の方が利便性は良かったと感じました・・・



・SC18IM700

700_CTO.jpg

・SC18IM704

704_CTO.jpg



なお、SC18IM700とSC18IM704をソフトウェア側で区別するためにはSC18IM704に搭載された「Read version function ID」コマンドを利用することで確認することが可能です。アスキーで「VP」の文字列(0x56,0x50)を送信することで「SC18IM704 1.0.2」という感じで応答を確認することが可能です。応答がない場合はSC18IM700と区別できます。

後継のSC18IM704はIO電圧、バッファサイズ等、拡張が行われている一方でレジスタ設定については以前の仕様の方が利便性が良いと感じました。
posted by Crescent at 00:00| Comment(0) | TrackBack(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2024年02月17日

Web USB SPI Flash Tool

以前にWeb HID APIを用いたMCP2210とWeb HID APIでブラウザを介して通信するツール、Web USB SPI Toolを紹介しました。今回はWeb HID APIとMCP2210を応用して、ブラウザを介して簡単にSPI Flashの読み書きをするツール、Web USB SPI Flash Toolを実装してみました。


WebSpiFlashTool.png

SPI FlashのデバイスIDの確認やメモリの読み出し(binファイルへの書き出し)、SPI Flash全体の消去、メモリの書き込み(binファイルの読み込み)に対応しています。ページサイズやアドレス長を選択できるため、様々なSPI Flashにも対応しています。SPI Flashの他、インストラクションに互換性のあるSPI接続のFRAMやEEPROMにも対応しています。

ただし、残念ながら、読み書きの速度が非常に遅いです。Web HID APIに限らず、MCP2210はUSBのHIDインタフェースを使用しているため、規格の制約上、1msec毎に64byteの送受信が行われます。USB2.0等であってもHIDインタフェースのため、読み書きの速度が大幅に制限されます(HIDインタフェースは人の入力等を想定した規格で高速な転送は想定されていない)。数十Mbit以上になると読み書きに30分~1時間以上要するため、日常ユースとしては向いていません。また、環境によっては読み書きが不安定な場合もありました。数百kbit程度のちょっとしたメモリの確認程度が良いかと思いました。なお、今回紹介したWeb USB SPI Flash Toolによるデータ読込/書込ミス、データ喪失等、一切の責任を負いかねます。また、ブラウザはEdgeもしくはChromeのみ対応となっており、24年1月時点ではFirefoxやSafariは対応していません。

Web HID APIを用いることで専用のソフトウェアなしでブラウザ単体で様々なツールを実装できるのは非常に魅力的だと思いました。今後もWeb HID APIを用いた応用的な機能を開発して順次公開したいと思います。
posted by Crescent at 00:00| Comment(0) | TrackBack(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする

2024年01月27日

YOXO FESTIVAL 2024 出展告知

昨年に引き続き、今年もYOXO FESTIVALに出展します。先日から販売を開始したRP2040を使用した新バージョンのProjectionBallも展示予定です。なお、展示のみで販売は行いません。

スタートアップによる技術実証、企業や学校、個人、イノベーター、クリエーターによる「未来」をテーマとした展示(ロボット、モビリティ、XR等)、デモやワークショップなど、見て・触って・あっと驚くユニークな未来技術を体験できるイベントです。

■開催日
2024年2月3日(土) 11:00-19:00 / 2月4日(日) 11:00-17:00

■出展場所
I-ハンマーヘッドCIQホール、I-29


詳細はYOXO FESTIVAL 2024のリンクを参照してください。
ご都合よろしければぜひお越しください。宜しくお願い致します。

posted by Crescent at 00:00| Comment(0) | TrackBack(0) | イベント | このブログの読者になる | 更新情報をチェックする

2024年01月06日

LTspice NE555の場所

今年もよろしくお願いします。今回は覚書としてLTspiceでタイマIC、NE555のモデルの場所を紹介します。

Componentを選択後、「Misc」内にNE555があります。


NE555_1.png

Miscをクリックすると下記のリストに切り替わります。

NE555_2.png


以前からモデルが入っているはずなのに場所が分からず、活用できていませんでした。仕方なく、外部ファイルをインポートする方法で対応していましたが、Miscの中にあることが分かり、簡単にシミュレーションすることができました。横断的にモデルを検索、確認できるとより便利ですが・・・
posted by Crescent at 00:00| Comment(0) | TrackBack(0) | ナレッジ | このブログの読者になる | 更新情報をチェックする

2023年12月23日

ProjectionBall Unit

2017年にProjectionBall IoT(v5.x)をリリースしてから、機能を絞った廉価で小型なモデルの要望を頂き、検討していました。試作を繰り返す中でコロナ禍における半導体不足の影響で予定のマイコンが入手できず、別のマイコンに変更する等で2020年リリースの計画よりも大幅に遅れました。結局、ProjectionBall Unit(v7.x)のリリースは2023年末になってしまい、先日からスイッチサイエンスにて販売を開始しましたfabcrossでも紹介して頂きました。


■筐体
従来は1枚の基板を100mmの樹脂球体に入れた構造でした。今回は筐体を兼ねた2枚の基板でガルバノミラーモジュールを構成することで、従来のような球体等のケースが不要となり、更に小型化が可能となりました。サイズは60mm x60mm x 43mmです(突起部、USBコネクタ除く)。

img4.JPG

■マイコン
マイコンにはRP2040を採用することで、2コアの特性を活かし、従来のSTM32F3よりも制御周期を100usecから80usecと更に高速化を実現しました。コア0にコンソールやユーザ処理、コア1にモータ制御で処理を分担しています。また、RP2040の採用で専用のファーム書き込みツールが不要となり、PC等から簡単にファームウェアのアップデートができるようになりました。ROM、RAMも非常に大きいため、今後の機能拡張にも十分です。

なお、小型化のため、今回はSDカードスロットを基板から除きましたが、SPIポート自体は基板上に残したため、SDカードやSPI通信等の将来的な拡張も容易です。Grove互換コネクタをI2CとUARTの2ポート搭載しており、センサとの連携等の拡張も可能です。

MPU.jpg

■エンコーダ
エンコーダには従来のAS5048Aと同等性能の14bit分解能でありながら、低コストなMA732を採用しました。MA732はICパッケージもQFN16で小型なため、本体の小型化にも貢献しています。

Encoder.jpg



■RTC
RTCには時刻ズレを抑えるため、温度補償付きの高精度かつ安価なRTC、SD3077を採用しました。最大3.8ppmと1ヶ月で10秒以内、1年でも数分以内のズレに大幅に低減することが可能です。温度補償や一般的な水晶発振子のみでは20ppmから 40ppmで1ヶ月で数分、1年で数十分のズレが生じる可能性があることから大幅に時刻ズレを低減できます。また、RAMが70byteまで利用できるため、様々な設定情報等を保持することが可能です。

RTC.jpg


■ミラーモジュール
従来のミラーモジュールは複数の部品を接着剤で組み合わせて固定していました(図左)。今回は廉価である他にも組み立て調整しやすいことも合わせて目標にミラー部分を3Dプリンタで一体成形しました(図右)。また、金属製のミラーからガラス製のミラーに変更しました。一体成型にすることでミラーモジュール全体が軽くなり、応答性や耐久性も向上しました。


mirror.jpeg


■まとめ
ProjectionBall Unit(v7.x)は前バージョンに引き続き、Open Source Hardwareとしてソースコード含めてリリースしています。初回ロットは販売当日に完売しました。可能な限り在庫0の状態を避けたいものの、他の製品と比べると部品数が多いため、当面は月10台程度の生産、納品数で様子をみたいと思います。
posted by Crescent at 00:00| Comment(0) | TrackBack(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする