guruguru123’s diary

かなり雑な作業日記です。

A/Dコンバータからのデータ受信

SerDesでのデータ受信ブロックができたため、これを改造してA/Dコンバータからのパラレルデータを受信する機構にしてみた。

用いるA/DコンバータはAD9214で、これはアナログ値が10bitに変換され、パラレルで出力される。前回のSerDes受信ブロックとほとんど同じだが、今回は10bitのデータ一つ受信につき、SDRAMへ書き込みを行うものとした。そのため、VHDL中身の書き換えはSDRAMコントローラがメインとなった。

今まではバースト長4で動作させていたため、初期設定に使うモードレジスタの値を変更し、バースト動作無しに設定した。また、それに伴いアドレス指定の変更、書き込み、読み出しステートの変更を行った。

また、A/Dコンバータのエンコードクロックは100MHzにし、連続動作させ続けることにした。ADC受信ブロックは、受信リクエストがあったら、あらかじめ指定されたデータ個数分だけ受信することとする。

一通り書き終えたので、ADC受信ブロックと、書き換えたSDRAMコントローラが動作するかシミュレーション、実機での試験を行う。

そういえばと、今まで動作クロックが50MHzであったことを思い出したため、100MHzに上げてSerDes受信ブロックが動作するか試してみた。やはり配線がジャンパ線であるためかSerDesの受信データやAD9851の出力信号が安定しない。それでも上手くいくときはSerDes受信回路のデータが正しくSDRAMに書き込み、読み出しできたため、配線を整備すれば問題なく動作すると思われる。