秋月電子でも入手可能なD/AコンバータIC「MCP4922」のざっくりとした使い方をまとめてみました。1ch版の「MCP4921」もほぼ同じ感じで使えます。
MCP4922の概要
主な特徴はこんな感じです。
- 出力:2ch
- 分解能:12bit
- レールtoレール出力
- 電源電圧:2.7~5.5V
- 出力ゲイン(1倍or2倍)が選べる
- インターフェース:SPI通信(モード0、3)[MSBファースト]
ざっくりとした使い方
MCP4922操作手順
- CSを"L"としてD/Aコンバータを通信可能な状態にする
- LDACを"H"とする
- SPI通信で16bitデータ送信
- CSを"H"にする(通信終了)
- D/A出力値を更新したいタイミングでLDACを"L"にする
- CS、LDACは汎用出力ポートとして操作することになると思います。(マイコン側)
- SHDNピンは、使用しない場合は"H"固定にします。また、シャットダウン(ローパワースタンバイモード)への移行、復帰の制御はSPI通信からでも行うことができます。
- 上記手順の1と2、4と5は順序が入れ替わっても問題ないと思います。
SPI通信データフォーマット
SPIで送信するデータは2byte(16bit)がひとかたまりで、先頭のbit(bit15)で送信データがチャンネルA向けのものか、チャンネルB向けのものかを指定します。
bit14のBufは、Vrefピンの入力バッファを有効とするかを指定します。基準電圧の出力インピーダンスが大きいときに使えそうです。
bit13は、D/Aデータ最大値4095をVrefの電圧とするか、Vrefの2倍の電圧とするかを選べます。例えば、Vref=2Vとしたとき、ゲイン1倍のときには、出力値データ「4095」で出力ピンに2Vが出力されます。データ値が2048だと出力は1Vとなります。一方ゲインを2倍とすると、出力値データ「4095」で出力ピンに4V、データ値「2048」で2Vが出力されることになります。
0 件のコメント:
コメントを投稿