(18)トラ技mbedで高精度DA変換(MCP4726ライブラリ)
.
(18)MCP4726(MCP4726 library)
概要
- MCP4726用の制御ライブラリです。
- 2つの付録基板を活用します。
- トランジスタ技術2014年2月号の付録基板(実験基板)
- トランジスタ技術2014年3月号の付録基板(トラ技mbed)
- 実験基板は表示機として使用します。LPC810は外しておきます。
- 高い精度の12ビットD/A変換をしたいときに利用します。
MCP4726モジュール
- MCP4726は表面実装ですので、DIPモジュールを利用しました。
- 端子のmbed風表記です。
仕様(spec.)
- MCP4726は12ビットD/A変換です。
- 出力範囲:(Vout) = 0Vから+3.3V, Vrefは未使用
- 分解能:12ビット
- I2Cアドレス(7ビット)は0x60(プログラム上の表記は0xC0)
- Vout出力は内部バッファーされているので、外部バッファーは不要です。
MCP4726メンバー関数
関数名 | 用途 | 引数 | 戻り値 |
MCP4726 mcp4726(P0_5, P0_4) | インスタンス生成 | SDA, SCL | - |
MCP4726 mcp4726(i2c) | インスタンス生成 | i2c | - |
mcp4726.put(a) | 変換データ | short | void |
- インスタンス生成はどちらかの方法で行います。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のプログラム書き込み方法
- ISPボタンを押しながらRESETをON/OFFします。
- PCにUSBストレージとして認識されます。
- firmware.binを削除します。
- バイナリファイルをコピーします。
- 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.