しかし、SLG46826 であれば、抵抗のラダー回路を付けてD/A変換を付加すれば、逐次比較型A/D変換も実現できるのでは・・?
1.今回の課題
SLG46826 で4ビットの逐次比較型A/D変換を実現します。実用性はあまりありませんがパズルとしては面白そうですね。GreenPAK はある意味、現代版の電子ブロックと言えるかもしれません。
2.基本設計 処理内容はおおよそ次の通りです。
- D/A用のデータをゼロクリアする。
- D/Aデータの確定対象ビットをMSBとする。
- 被測定電圧(+側)とD/A出力の比較結果(コンパレータの出力)をD/Aデータの確定対象ビットに出力する。
- コンパレータの出力を再度確定対象ビットに出力する。
- 確定対象ビットをLSB側に1ビットずらし、3,4を繰り返す。
- LSBが確定するまで上記処理を繰り返す。
- 確定したD/AデータをA/D変換結果として外部出力用 D-FF に保存する。
3.回路設計
設計した回路を下図に示します。外部のラダー回路も描くことでシミュレータで確認できるので GreenPAK Designer は便利ですね。
| 逐次比較型A/D変換回路 |
|
|
タイミング制御用の信号は割合少ないリソースでできたのですが、ラッチが多く必要だったこともあり、下図のように機能要素(コンポーネント or マクロセル)の余りは殆ど無い状態です。
| 機能要素の使用状況 |
|
|
シミュレーション結果を下図に示します。上から4段目までがD/Aデータ用 D-FF のクロックです。前述のように1回のA/D変換でコンパレータの出力を2回ラッチします。一番下が試験用のランプ出力の電圧源からの被測定信号です。
| 逐次比較型A/D変換シミュレーション結果(その1) |
|
|
シミュレーション結果の後半が下図です。一番上がD/Aの出力でA/D変換時の変化する様子が面白いですね。2番目以降の4つがA/D変換結果のMSBからLSBまでの4ビット分のデータです。
このシミュレーションではA/D変換が6回実行されていてそれぞれの結果が、01H, 03H, 06H, 09H, 0BH, 0DH になっています。
| 逐次比較型A/D変換シミュレーション結果(その2) |
|
|
4.まとめ
無謀にも SLG46826 で逐次比較型A/D変換にチャレンジしましたが、なんとか実現できました。最初から「できそうだよなぁ」という感覚はありましたがリソース的にここまで余力がなくなる状態になるとは思いませんでした。最悪は出力データでのヒゲの発生を許容して、D/Aデータのクリア期間が最短になるようにして外部出力用ラッチを省くという対策案も考えていました。
今回の逐次比較型A/D変換自体は実用的なメリットはあまりありませんが、非常に面白いパズルでした。冒頭にも書きましたがまさに現代版電子ブロックですね。
★追記 2024/06/09
X(旧Twitter)に投稿したメッセージに添付した動画を貼っておきます。
A/D機能が無いSLG46826で4BITの逐次比較型A/Dコンバータを作ってみました。実用性はあまりありませんがパズルとしては面白いです
— skyriver (@wcinp) June 10, 2024
GreenPAK はある意味、現代版の電子ブロックと言えるかもしれません
詳細は下記URLを参照して下さいhttps://t.co/qi2bXfsaGC#GreenPAK #SLG46826 pic.twitter.com/xd9J0DBdl1
[TOP] [ 前へ ] GreenPAKで遊ぶ [ 次へ ]

