(18)トラ技mbedで高精度DA変換(MCP4726ライブラリ)

(18)MCP4726(MCP4726 library)

概要

  • MCP4726用の制御ライブラリです。
  • 2つの付録基板を活用します。
  • トランジスタ技術2014年2月号の付録基板(実験基板)
  • トランジスタ技術2014年3月号の付録基板(トラ技mbed)
  • 実験基板は表示機として使用します。LPC810は外しておきます。
  • 高い精度の12ビットD/A変換をしたいときに利用します。

/media/uploads/yasuyuki/usbmbed.png

MCP4726モジュール

  • MCP4726は表面実装ですので、DIPモジュールを利用しました。
  • 端子のmbed風表記です。

/media/uploads/yasuyuki/mcp4726.png

仕様(spec.)

  • MCP4726は12ビットD/A変換です。
  • 出力範囲:(Vout) = 0Vから+3.3V, Vrefは未使用
  • 分解能:12ビット
  • I2Cアドレス(7ビット)は0x60(プログラム上の表記は0xC0)
  • Vout出力は内部バッファーされているので、外部バッファーは不要です。

/media/uploads/yasuyuki/mcp4726.jpg

MCP4726メンバー関数

関数名用途引数戻り値
MCP4726 mcp4726(P0_5, P0_4)インスタンス生成SDA, SCL-
MCP4726 mcp4726(i2c)インスタンス生成i2c-
mcp4726.put(a)変換データshortvoid
  • インスタンス生成はどちらかの方法で行います。i2cを継承することもできます。

mbedソフトウェア

  • サンプルプログラムはmbed_MCP4726です。
  • mbed_MCP4726_LPC11U35_501.binを書き込みます。
  • DDS:Direct Digital Synthesizerの例です。
  • 10Hzから1KHzの正弦波を出力します。
  • mbedのI2Cは400KHz(Fast mode)までのため、互換性を考慮しFast modeで通信します。
  • トラ技mbedは1MHz(Fast mode Plus)まで対応しています。
  • DDSとしてのサンプリング周波数は8.4KHzです。
  • 処理能力の関係でこれが限界です。

トラ技mbedのプログラム書き込み方法

  1. ISPボタンを押しながらRESETをON/OFFします。
  2. PCにUSBストレージとして認識されます。
  3. firmware.binを削除します。
  4. バイナリファイルをコピーします。
  5. RESETを押します。

接続

  • MCP4726のVOUT(1)はアナログ出力です。
  • MCP4726のVSS(2)をmbedのGNDに接続します。
  • MCP4726のVdd(3)をmbedの3.3Vに接続します。
  • MCP4726のSDA(4)をmbedのSDAに接続します。
  • MCP4726のSCL(5)をmbedのSCLに接続します。
  • MCP4726のVref(6)は未接続。

著作権と免責事項

  • 個人利用に限定され、著作権者の許可なく商用利用できません。
  • 直接間接に関わらず、使用によって生じたいかなる損害も筆者は責任を負いません。


Please log in to post comments.