アンダーサンプリング
IF455kHzのサンプリング周波数ですが、とりあえずCQ12月号のJA2SVZ氏の記事を参考に、折り返しがゼロIFになる455kHz×4/5=364kHzでアンダーサンプリングすることにしました。この理由としてADC(LTC1407A)のスペックと、50MHzをDCMで3/4倍した37.5MHzを1/103すると大体364kHzとなるからです。(数10Hzの誤差はありますが、IFの帯域幅から考えると全く問題無いレベル。)
で、スタータキットに搭載されているADCはSPI制御なので、SPIクロックにDCMから生成した37.5MHzを与え、103クロック毎にADC_CONVをアクティブにしてやれば約364kHzでサンプリングされるはずだったのですが、予期もしないところで問題が…
DCMが何故かロックしないのです(・_・、)
DCM単体では全く問題なく37.5MHzを生成してるのですが、SPIインターフェース部分の信号線を徐々に増やすと(SPIインターフェースにぶら下がる他のデバイスをディスエーブルする信号も含めて)、あるところで何故かアンロックしてしまいます。ISEでは特に問題なく合成されているようなので、他にDCMを使う上で何か「おまじない」があるのでしょうか???
僕の知識では、これ以上わからないので、某ジャンクパーツ屋で見つけた37.5MHzの水晶発振器(SG-8002JF)をスタータキットの補助クロックオシレータソケットに実装して進めることにしました。
(PLLタイプなので若干ジッタが多いですが、とりあえずということで…)
補助クロックオシレータを使用するようにVHDLソースなどを変更すると、あっさりとADCが動作。
(あ゛ー疲れた…、最初からそーすれば良かったなぁ)
# 次はこれをIQに振り分けて、そのままD/Aしてみよう。