2021年03月20日

USBホストMAX3421変換基板

USBホストICの比較検証のためにMAX3421E変換基板をAliexpressから購入してみました。以前に紹介したVinclumシリーズとの違いはどちら側に処理の中心を置くかの思想が違います。MAX3421はSPIスレーブICでUSBプロトコル変換に特化しており、動作の処理を命令するマイコンが別に必要となります。一方、VinclumシリーズはVinclum自体がプログラム可能なマイコンになっているため、用途によってはVinclum単体で動作させることが可能です。プロジェクトの目的によって使い分ける必要があります。部品コストとしてはVinculumは500円前後、MAX3421Eは1000円前後とVinculumの方が低コストです。

今回購入したAliexpressのMAX3421E変換基板は使う上で2点注意点が必要です。

@VBUS
基板上のVBUSは通常、USB電源として5Vを供給しますが、基板上で3.3VとVBUSが接続されているため、そのまま5Vを接続すると3.3Vラインにも5Vが供給されてしまいます。基板上のパターンを切って3.3Vラインと5Vラインを分離する必要があります。最初、誤ってそのまま5Vを供給してしまい、3.3V系の電圧がおかしいことに気づいて判明しました。今回は偶然?にもMAX3421E他、デバイスは壊れませんでしたが、注意が必要です。

max3421_1.jpg

ASPIシルク
基板上のシルクに間違いがあり、そのままマイコンと接続しても通信できません。基板上のMAX3421のICの足と基板上のピンをテスターで確認すると、基板上のCLKとMOSIが入れ替わっていることが分かりました。正しく配線することでMAX3421のレビジョンを正しく取得できるようになりました。


基板上のCLK→MOSIが正しい
基板上のMOSI→CLKが正しい
max3421_2.jpg


今後はVinculumとMAX3421を使いこなして、それぞれの特徴をまとめてみたいと思います。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2021年02月20日

Node-Redを用いたCO2センサ SenseAir S8 データ取得

今回は旭化成 CO2センサ S8 004-0-0053をNode-Redを用いて取り込んでみました。S8センサはNDIR方式のCO2センサで他の方式に比べて精度よく検出することが可能です。通信はUART接続となっており、Node-Redのnode-red-node-serialportとUSB-UARTシリアル変換アダプタを使用して簡単に接続することができます。なお、S8センサは3.3Vでなく、5V電源入力のため、5V出力があるUSB-UARTシリアル変換アダプタが便利です。

serialノードを使用する場合はクラウド版のnode-redでなく、rapberrypiやWindowsの場合、オンプレミス版のnode-redが必要です。

S8-0.jpg



S8-2.jpg

node-redのフロー全体は上記です。injectionノード、functionノード2つ、serialノード、デバッグノードを配置します。dashboardに表示させる場合は下半分のfunctionノード、ボタンとチャートを追加します。


S8-1.jpg

injectionノードは2秒ごとにイベントを発生させるように設定しました。


S8.jpg

測定指令としてS8センサに送るシリアルデータを設定します。

S8-4.jpg
serialノードは9600bpsに設定します。COMポートの番号はデバイスマネージャ等から番号を確認して選択します。

S8-5.jpg

functionノードでserialノードから受信したデータをCO2値に変換します。

S8-7.jpg

dashboardに表示させる場合は値をそのままpayloadに入れるため、functionノードで上記のような値変換を行います。



S8-6.jpg

実際にこのような感じでS8センサの値変化を可視化できました。
今回のnode-redフローファイルは
です。

S8センサを使ってみて、非常に感度が高く、微小な変化にも大きく反応するため、室内環境等を継続監視するためには平均化やローパスフィルタ等を通した方がよいと思いました。方式が異なるため、単純比較できませんが、以前に紹介したZMOD4410ではそのような処理含めて実装されているため、簡易的に室内環境を継続監視する目的では向いていると思いした。今後はS8含めて複数のCO2センサを同時比較してみたいと思います。
posted by Crescent at 00:00| Comment(1) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2021年02月06日

組み込み系メモリ比較

IoT等が当たり前になる中で高精度、高機能化が進んでいます。特にセンサ、機械学習や通信といった機能を実装するためにはより多くのメモリ(特にRAM)が必要となります。

一般的なIoT機器の場合、プログラムをROMから読み出して、センサ情報を処理して無線で送信するといった流れとなります。センサの高機能化、高性能化が進むとセンサのデータを取りこぼすことなく保存するためにより高速で大きなメモリが必要となります。一方でマイコンのメモリは容量が限られており、大容量マイコンで内蔵RAMは1MB程度、一般的なマイコンで数100kB程度です。外部電源から供給されるパソコンや測定機器ではSDRAMといったメモリを外部につけることでメモリを増やしていますが、電池駆動を想定したIoT機器では消費電力の大きなSDRAMを載せることは困難です。今回は組み込み系でQSPIといった簡単に接続可能なシリアルメモリを比較してみました。

近い条件で比較できるように容量を4Mbit周辺のシリアルメモリで比較しました。21年1月時点のDigikey、Mouserを中心とした価格と入手可能な部品(製造完了でない)をリスト化しています。


方式容量型式通信バス通信クロック価格書換回数書込待機揮発性
SRAM4MbitIS62WVS5128FBLLQSPI20MHz¥599Infinite不要揮発
PSRAM64MbitPSRAM 64MBIT SPI 133MHZ QSPI133MHz¥194Infinite不要揮発
MRAM4MbitMR25H40DFSPI40MHz¥1,347Infinite不要保持
FRAM4MbitCY15B104QI-20LPXCSPI40MHz¥2,4131x10^15不要保持
FRAM4MbitMB85RS4MTPFSPI40MHz¥8551x10^13不要保持
EEPROM4MbitM95M04-DRMN6TPSPI10MHz¥2564x10^6必要保持
ReRAM4MbitMB85AS4MTPFSPI5MHz¥5551.2x10^6不要保持
nvRAM1MbitCY14B101Q2ASPI40MHz¥1,0831x10^6必要保持
NOR FLASH4MbitAT25SF041B-SSHB-T QSPI108MHz¥321x10^5必要保持
NAND FLASH1GbitMT29F1G01ABAFDWBQSPI133MHz¥2961x10^5必要保持


センサのデータを取りこぼすことなく保存するようなRAM的な使い方を想定すると、耐えられるものはSRAMやPSRAMはもちろんですがほぼ無限に近いMRAM、FRAMとなります。それ以下はRAM的な使い方をする場合、速度、書き換え回数を考慮した設計が必要となります。設定データ等、書き換えの少ないデータの場合はEEPROM、nvRAM、Flashメモリ等でも十分ですが、センサ測定毎に書き換える場合、すぐに寿命になります。例えば、1秒ごとに測定して書き込む場合、1日で86400回書き換えが発生します。Flashでは10日、EEPROMの場合は100日、3か月程度で寿命となります。実際は書き込みブロックを変えるといった処理で書き換え箇所が集中しないようにして、寿命を延ばします。ただ、組み込み系の場合、そこまで管理しない、できない場合も多々あります。


SRAMやPSRAMの代わりにMRAM,FRAMを使用すると不揮発メモリのため、毎回、RAMに初期化の処理を展開する必要がなくなり、起動時間短縮のメリットがあります。ただ、価格がまだ少し高く、容量も4Mbit、8Mbitが最大で限られているのが難点です。今後のMRAM,FRAMの大容量化、低価格化に期待です。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2021年01月23日

nanoDLA ロジックアナライザ

今回はロジックアナライザnanoDLAを紹介します。aitendoでも扱いがありますが、aliexpressで購入しました。8ch、24Mサンプリング、日本円で900円前後の簡易ロジックアナライザです。実際にインストールしてUSB信号(USB1.1)を解析してみました。


5870CCB7-1017-48B8-A5D2-443B0479EF0C.jpeg

ソフトウェアはnanoDLA互換機となっており、こちらのサイトからPulseViewというソフトをダウンロード、インストールします。Windowsの他、Mac、Linuxにも対応しています。ドライバはZadigを用いて別途インストールします。



zadig1.jpg
ZadigのインストールではOptionsからList All Devicesを選択することがポイントです。



zadig2.jpg
リスト内のfx2lafwを選択してinstallドライバをクリックしてインストールします。
ドライバのインストールが完了した後、PulseViewを起動させます。



d_ana0.jpg

nanoDLAと接続するために赤枠のデバイスリストをクリックします。



d_ana2.jpg

fx2lafwを選択し、usbにチェック、scanをクリックするとデバイスが表示され、選択します。



d_ana5.jpg
デフォルトは1Mサンプル、20kHzのため、必要に応じて変更して、左上のRunボタンをクリックすると自動的に指定のサンプルを読み込みます。また、Configure Channelをクリックして必要な信号のみに選択することも可能です。




d_ana1.jpg
実際にUSB信号(USB1.1)を解析してみました。

d_ana8.jpg
拡大するとこんな感じです。


d_ana3.jpg
ロジックアナライザなので様々なプロトコルに対応しています。CAN、I2C、I2S、JTAG、SPI、UART等はもちろんのこと、この価格でSDやUSB(USB1.1のみ)、IR(赤外線通信)に対応しているのは驚きです。サンプリング周波数設定横の黄色と緑のアイコンをクリックすると対応プロトコルを選択できます。




d_ana7.jpg
プロトコル選択後にビュー側のプロトコルをクリックすると何の信号にプロトコルのどの信号が対応するか詳細を選択できます。



d_ana4.jpg
信号値だけでなく、Stack Decoderをクリックするとプロトコルに応じて処理内容を解析して補助情報を表示する機能もあります。


簡易的なロジックアナライザのため、電圧レベルが低レベル -0.5V~0.8V、高レベルは2V~5.25vで固定で絶縁等もされていませんが、非常に安価で容易に使用できるので1つあると非常に便利です。PCオシロスコープではチャンネル数が2chや4chと限定され、後から信号レベルを読み取る必要があります。一方、ロジックアナライザは最大8chでプロトコル解析して値が表示されるため、解析をより早くできます。Windowsの他、Mac、Linuxにも対応しているため、ロジックアナライザの入門としてnanoDLAはお勧めです。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2020年12月26日

タブレットVT484分解

今回は6年以上使用してバッテリーが摩耗して使用できなくなったdynabook Tab VT484/22Kを分解してみました。スペック概要は下記の通りです。

CPU:Atom Z3740/1.33GHz
メモリ:2GB
ストレージ容量:32GB
画面サイズ:8インチ
画面解像度:1280x800
OS:Windows 8.1
ネットワーク:Wi-Fiモデル

img1.jpeg
iPad等と異なり、接着剤で筐体が固定されておらず、側面に細いマイナスドライバを差し込むことで簡単にカバーを開けることができました。

img2.jpeg

バッテリーが6割以上も占めており、メイン基板が上側にあります。また、写真では見ずらいですが、タッチ制御とスピーカー、バイブレーション等の小さなサブ基板がバッテリー下側にありました。

img3.jpeg


中央少し左にCPUのAtom Z3740、左上下2つがRAMメモリです。写真を撮り忘れてしまいましたが、裏側にサムスン電子製のeMMCが搭載されていました。中央右には電源ICとしてBD2610GWがありました。右上にはBroadcom製のWiFiIC BCM4324が搭載されていました。iPhoneやiPadの基板よりも部品がまばらで実装密度はそこまで高くないように見えました。一方で当時で1台3万円程度で購入できる製造コストには驚きです。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする