LoginSignup
1
0

More than 1 year has passed since last update.

VHDLによる簡単なディジタルフィルターの実験 / その1 / アナログ信号を取り込む

Posted at

1. 概要

まずはアナログ信号をAD変換してFPGAに取り込めるようにする。ADコンバーターはMicrochip社のMCP3001を使った。諸元は下のとおり。厳密な何かをするわけではないので何でもよい。

  • 逐次比較
  • 1チャンネル
  • 10ビット分解能
  • 外部リファレンス
  • SPI通信
  • VDD=VREF=2.7 Vのとき、サンプルレートは最大75 ksps、クロック周波数は最大1.05 MHz

取り込んだAD変換値は、R-2R方式のDAコンバーターでDA変換して確かめる。こういう抵抗アレイがあったのでそのまま使ったが、8ビットぶんしかないためAD変換値10ビットのうち上位8ビットだけをDA変換する。

FPGAはMAX10を使う。その評価ボードはマルツオンラインにあるこれを使う(すでに販売終了)。

2. ADコンバーターMCP3001を動かすためのVHDL

下のVHDLをコンパイルしてMAX10 FPGAに書き込む。SPIマスターモジュールはDigi-Key TechForumで紹介されているこれをほぼそのまま使った。外部クロックは、評価ボードに載っている発振器(48 MHz)を使った。

ファイル一式: https://github.com/ti-nspire/VHDL_for_Quartus_Prime/tree/main/ad_converter_MCP3001_spi_ver_2

↓ こういう回路がFPGAの中に作られる。

image.png

3. 全体の接続図

image.png

4. 実行結果

サンプリング周波数は40 kHz、入力信号は1 kHz、1 Vppにした。黄色が入力、緑が出力。

scope_55.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0