Artix-7 FPGA入門 A-D変換回路の実験
0~1Vを入力 7セグLEDにディジタル表示
Artix-7 FPGAとXADCを用いたA-D変換回路の基礎
図1 Artix-7 FPGAはアナログ電圧をディジタル値に変換する12ビット分解能のADCモジュールを搭載している.2チャネルの入力信号を扱い,154k~1000kサンプル/秒に設定できる.画像クリックで動画を見る.または記事を読む.[提供・著]森岡 澄夫 詳細:[VOD/KIT]Xilinx製FPGAで始めるHDL回路設計入門 LチカからA-D変換,シリアル通信まで!もっともよく使うロジック回路を1日でマスタ |
FPGA内蔵ADCのあらまし
Artix-7 FPGAには,アナログ電圧をディジタル値に変換するための12ビット分解能のXADCモジュールが搭載されています.このXADCは最大2チャネルの入力信号を扱い,サンプリング・レートは154k~1000kサンプル/秒(sps)に設定可能です.
XADCは差動入力($P$と$N$信号)をもち,ユニポーラ・モードでは$V_P \geq V_N$の条件下で正確な変換を行います.また,FPGAの温度や電源電圧の測定にも使用されるため,マルチチャネルの制御が必要です.
XADCの設定と利用方法
FPGA設計環境でXADCを利用するには,VivadoのIP CatalogからXADC Wizardを使用してIPコアを生成します.この際の基本的な設定例を以下に示します.
- インターフェースとクロック設定
- Interface:DRP
- DCLK:100MHz
- チャネル・シーケンサの構成
使用するチャネルとして,例えば$vauxp6$と$vauxn6$を選択します.これにより,チャネル6に接続された0~1Vの信号を測定可能になります. - アラーム設定
温度や電源電圧に関するアラーム機能は無効化します(チェックを外す)
生成されたIPコアは,Verilog HDLでプロジェクトに組み込むことができます.必要に応じて,各レジスタを制御するステートマシンを構築し,サンプリング結果を読み取ります.
実験の手順と結果の確認
- 回路の構築
- FPGAボードのPMOD端子に外部電圧源(例:定電圧電源または電池)を接続します
- 入力電圧範囲を0~1Vに設定し,測定チャネルとして$vauxp6$を指定します
- 実験の実行
- 入力電圧に応じて,7セグメントLEDにディジタル値が表示されることを確認します
- XADCの12ビット分解能に基づき,入力電圧を$V_{in}$とすると,変換結果は以下のようにスケールされます
\[ Digital\ Output = \left\lfloor \frac{V_{in}}{1.0V} \times 4095 \right\rfloor \]
XADCが実現する高精度なアナログ計測
XADCのユニークな設計
Artix-7 FPGA内蔵のXADCモジュールは,高速かつ高精度なアナログ・データ処理を可能にします.その鍵は,複数の差動入力チャネルと柔軟な制御モードにあります.ユニポーラ・モードでは$V_N=0$基準で測定を行う一方,バイポーラ・モードでは$V_P$と$V_N$の差分を測定します.
FPGA設計における利点
XADCのもう1つの大きな利点は,ディジタル信号処理との密接な連携です.従来のマイクロコントローラを用いたシステムでは,アナログ計測結果を外部回路や通信インターフェース経由で伝送する必要がありました.一方,FPGA内部にXADCが統合されていることで,測定結果を直接ディジタル・ロジックに入力し,リアルタイムでのフィードバック制御や信号処理が可能です.〈著:ZEPマガジン〉
著者紹介
- NTT,IBM,Sony,NECの各研究所において高性能回路IPやハイレベル・シンセシスの研究,およびプレイステーションなどの製品用SoC開発に従事した後,現職にて民間宇宙ロケットの飛行制御コンピュータの研究開発に従事.FPGAや高位合成を活用している
著書
- [VOD/KIT]一緒に動かそう!Lチカから始めるFPGA開発【基礎編&実践編】,ZEPエンジニアリング株式会社.
- [VOD/KIT]Xilinx製FPGAで始めるHDL回路設計入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]一緒に動かそう!Lチカから始めるFPGA開発【基礎編】,ZEPエンジニアリング株式会社.
- [VOD/KIT]Zynqで初めてのFPGA×Linux I/O搭載カスタムSoC製作,ZEPエンジニアリング株式会社.
- [VOD/KIT]Tiny FPGA実習!高校生から始めるHDLプログラミング,ZEPエンジニアリング株式会社.
- [VOD/Pi KIT]カメラ×ラズパイで一緒に!初めての画像処理プログラミング,ZEPエンジニアリング株式会社.
- スパコンでも破れない!高セキュリティ・マイコン・プログラミング,ZEPエンジニアリング株式会社.
- [YouTube]宇宙軌道ロケット 成功の方程式
- [YouTube]宇宙ロケットの電子回路開発
- FPGA/Zynqで作るカスタム・コンピュータ・チップ,ZEPエンジニアリング株式会社.
- Lチカ入門!ソフトウェア屋のためのHDL事はじめ,ZEPエンジニアリング株式会社.
- USBカメラの動画キャプチャ&描画用 Pythonプログラム,ZEPエンジニアリング株式会社.
- ライブラリ完備!組立式ラズパイI/O増設ボード MCC DAQ HATSファミリ誕生,ZEPエンジニアリング株式会社.
参考文献
- [VOD/KIT] 実習キットで一緒に作る!オープンソースCPU RISC-V入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]ARM Cortex-A9&FPGA内蔵SoC Zynqで初体験!オリジナル・プロセッサ開発入門,ZEPエンジニアリング株式会社.