2020年06月27日

Nucleo144 Memory Shield

大容量のデータをマイコンで扱う場合、一時的なデータ保存に揮発性のSRAMやSDRAM、バックアップデータに不揮発性のNAND FlashメモリやNOR Flashメモリを使うことが多いと思います。不揮発性のデータの場合、仕様によってはSDカードを使うこともあるかもしれません。また、昨今はSPI接続の大容量PSRAMも増えています。そのような中でメモリを選択する場合、容量拡張性や部品供給安定性を考慮するとパラレル接続のメモリを選択することが多くなります。一方でSTM32マイコン等でもパラレルメモリを搭載した評価ボードは一部のEvalボードにSDRAMが搭載されるくらいでSRAM、NOR Flash、2つのSDRAM、2つのSRAMといった評価まで対応したボードがありませんでした。

そこでNucleo144のメモリシールドを設計してみました。一般的なパラレル接続のメモリに対応しており、SDRAM x2、SRAM x2、NAND Flash x1、NOR Flash x1を搭載しています。STM32H743Zをターゲットに設計しましたが、他のSTM32F743といったボードでも利用できると思います。なお、Nucleo144の外側のCN11とCN12のみ使用しています。内側のCN7、CN8、CN9、CN10はボードのレビジョンによってピンアサインが異なるため使用していません。

ターゲットとしているフットプリントとメモリは下記の通りです。

SDRAMx2TSSOP-U 54ピンMT48LC16M16A2P
SRAMx2TSSOP-U 44ピンCY62157EV30LL
NOR Flashx1TSSOP-T 56ピンMT28EW512A
NAND Flashx1TSSOP-T 48ピンMT29F8G08A

SDRAMやNAND Flashはピンアサインやフットプリントがほぼ統一されているため、他のメモリでも動作すると思いますが、SRAMやNOR Flashはメーカによってパッケージが様々でピンアサインも異なる場合があり注意が必要です。ただ、多くはデータやアドレスピンの順番が互い違いになっているだけのことが多く、フットプリントが同じで一部の順番が互い違いあれば、異なるメモリの場所に互い違いに保存されるだけで動作上は問題ありません。


ns.jpg

実際に基板に実装してSDRAM x2とNAND Flash x1の動作確認ができました。

mem-shield.JPG

必要な配線はNucleo144の外側のCN11とCN12のみ使用しています。内側のCN7、CN8、CN9、CN10にピンを立てる必要はありません。また、CN11、CN12の片側のGNDはピンがデフォルトで立っているため、当該箇所のソケットを除いて実装しました。

今後、SRAM x2 NOR Flashの動作確認を行い、問題なければこちらで基板のデータの他にCubeMXのプロジェクトファイル、コードを合わせて公開したいと思います。
posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする

2020年06月20日

RMD Servo Motor

今回は海外で話題になっているRMD Servo Motorについて紹介します。

RMD Servo Motorはブラシレスモータ本体、磁気エンコーダ(12bit以上、4096/回転)、モータ制御ドライバ、RS485orCAN通信ドライバが一体になったモータで電源と通信線だけでモータを制御することができます。ここまでは普通のプロポサーボモータ等と同じような仕様ですが、位置制御、速度制御に加えてトルク制御(電流制御)が可能です。トルク制御に対応したドライバ一体のブラシレス小型モータはほとんどありません。一部のプロポサーボモータはトルク制限(トルク制御でない)に対応していますが、トルク制御とは違います。ちょっと残念なのはトルク制御はオープンループな点ですが...電流センサを内蔵してフィードバックしてほしい気もします。

なお、各制御系の制御周期はオープンループトルク制御32kHz、クローズド速度制御4kHz、クローズド位置制御2kHzとなっており、32bitマイコンを搭載したメリットを存分に活かす仕様です。専用のソフトウェアで制御ゲインの他、モータIDや動作テストをすることができます。モータIDを書き換えることでRS485ラインorCAN通信ラインに最大32台のモータを同時に接続することができます。



今回はRMD Servo Motorの中でも最も小さいRMD-S-24を試食してみました。購入はAliexpressで行いました。

IMG_0089.JPG

設定ソフトウェアRMDconfigを用いて設定や動作確認を行いました。PCとの接続はUSB-RS485変換ケーブルが手元になかったため、LTC485AE-FT2232を用いて接続しました。配線は下記の通りです。ポイントはTXDEN出力があるシリアルICを選択する点とRMDへモータ電源のVCCとは別に制御系と通信系の電源となる5Vも外部から供給が必要な点です。

rmd_con.jpg

モータ電源とは別に5V電源の供給が必要なことに気づかず、通信できない問題に時間を要してしまいました。5V電源を供給するとRMDモータ内部の基板の緑LEDが点灯し、無事通信とモータ制御できることが確認できました。


RMD Servo Motorは様々な出力の種類が用意されており、最も小さいRMD-S-24では4000円前後(送料別)となっています。プロポサーボモータに比べると高いものの、12bit以上の高精度な磁気エンコーダを搭載して制御系も一折実装されており、安価な産業機器のサーボモータレベルの機能でこの価格は驚きです。時間を見つけて次はArduinoやSTM32マイコン等から制御してみたいと思います。

posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2020年06月13日

オーディオADコンバータCS53L30

以前に紹介したUSB-I2S変換IC CP2615に接続するオーディオ用のADコンバータ、Cirrus Logic製CS53L30について紹介します。

CS53L30はTDM or I2S接続のオーディオ用ADCです。24bit 48kHzのサンプリングレートに対応しています。また、最大4つのアナログマイクorPDM出力のデジタルマイクを接続可能です。なお、4つのマイクを同時に使用するためにはTDM接続か、2チャンネルのI2S接続が必要です。I2S変換ICのCP2615は1つのI2S入出力を備えるため、CS53L30とCP2615の組み合わせでは左右2つのマイク接続となります。

デジタル入力、アナログ入力の切り替え、アンプ増幅ゲイン、サンプリングレート等の設定はI2Cを介して設定します。CS53L30のI2Cを介した設定の注意点として、各レジスタの値書き換え、値読み込みは1byte毎に行う点です。連続でレジスタの値書き換え、値読み込みはできません。よくあるI2Cデバイスの場合、デバイスアドレス、レジスタアドレス、データの順にデータを送った後にそのままデータを送ると、自動的にレジスタアドレス+1されて値の書き換えや読み込みが可能です。CS53L30の場合、自動的にレジスタアドレスがインクリメントされません。最後の値が適用されます。この仕様に気づくまで意図した設定が有効にならず、苦戦してしまいました。


ブレッドボード上でCS53L30とCP2615を組み合わせてPDMデジタルマイク、SPH0641LU4H-1を2つ接続し、USBステレオオーディオとして音を取り込むことを確認することができました。PDMデジタルマイクの評価検討用の基板としてCS53L30とCP2615を組み合わせてUSB-PDM変換基板を設計してみました。CP2615を利用することで接続すると自動的にUSB標準オーディオデバイスとして認識されます。PDMマイクを接続することで簡単にPCやMac等のオーディオ入力に変換することができます。CP2615のパラメータを書き換えることでアナログマイクを接続したり、ゲインやフィルタを設定することもできます。


usb_pdm.jpg

USB-PDM変換基板の検証が問題なければ、諸情報を公開したいと思います。
posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする

2020年06月06日

高感度磁界センサDRV425

今回はTI製高感度磁界センサDRV425について紹介します。通常のホール素子やホールスイッチよりも非常に高感度で±2mT、帯域最大47kHzで磁界をアナログ出力を得ることができます。また、DRV425に接続するシャント抵抗を変更することで感度を調整して、より高感度(データシート上では±0.1mT)に設定することができます。

用途としては電流センサや磁石検出、位置センサの用途を想定しているようです。今回はDRV425の評価ボード、DRV425EVMを使用して簡単な実験をしてみました。

DRV425.JPG


DRV425EVMはデフォルトの感度設定は±0.5mTとなっています。±0.5mTの場合、1mT/3.3V=0.3mT/Vとなります。一方、日本の地磁気は45uTとなるため、0.33Vの範囲で出力されると予想されます。DRV425EVMを回転させてオシロで観察してみました。

rotate-range.jpg

ほぼ0.33Vのレンジで出力されており、地磁気も検出できる感度であることが分かりました。



続いて、ネオジム磁石NE099(表面磁束140mT)を近づけて検出範囲を調べてみると70mm前後の離れた10mm前後動かすと100mV程度の変化を捉えることができました。

osc-range.jpg

DRV425は非常に高感度で感度調整が可能な使いやすい磁界センサだと思いました。ただ、電流センサとして使用する場合はデータシートにも記載されていますが、2つDRV425を使用して地磁気をキャンセルさせるように差動で構成しないと、設置向きによって地磁気の影響を受けてしまいます。

cs.jpg

DRV425を使いやすく固定穴をつけたボートを作成してみました。設計したボードで評価を行い、問題なければ、諸情報を公開したいと思います。

posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする