DDS IC AD9833の実験 その2



今回はDDSを実際に動かしてみるところまでやってみました。
前回作ったSSOP-DIP変換基板をブレッドボードに刺し
そのまわりに水晶発振器などの部品を配置。
とりあえず周辺部品はスペックシートに書かれていたものと同様にしました。


AD9833はSPIインターフェイスを持っており、
これを使ってマイコンなどから周波数などの設定を行います。



SPIインターフェイスの概念はこんな感じ。
マイコン側からクロック、データ、チップセレクト信号を出力し
シリアルでデータを送ります。とてもシンプルな方式です。

マイコン側は現在オークションに出品中のデジタル周波数表示短波ラジオの周波数表示部を使います。
実はこの基板にはそのうちDDSの制御をすることもあるだろうと考え
予めロータリーエンコーダ入力端子とSPI出力端子を仕込んでおいたのでした。

この基板に載っているマイコンはPIC16F1938というやつで
SPI用のインターフェイスを内蔵しているので、そいつを使って設定してみることにします。

但し、マイコン側のSPIは8ビット仕様、DDS側は16ビット仕様なので
マイコン側から16ビットのデータを、8ビットずつ2回にわけて送信しています。
SPIは単なるシリアル伝送なのでこれでも設定できるはず。


DDSのマニュアルによると設定の手順は

リセットコマンド->周波数設定->位相設定->波形指定&リセット解除

みたいな流れになっており、最後のリセット解除とともに信号出力が開始されるらしい。


ところがやってみると全然うまくいきません。
信号は出力されるのですが、設定したのと違う周波数だったり
波形には正弦波を指定してるはずなのに、矩形波が出たり三角波が出たりします。

なんでかなーとSPIの設定波形をオシロで観測してみると
リセット解除信号を送る前に出力信号が変わっています。
しかも変わるタイミングもまちまちで、周波数設定中に変わったり
リセットコマンド送信中に変わったり。

つまるところ、SPIのフレーム同期が取れておらず、たまたまタイミングがあったところで
出力がでてきているだけのようです。

さらにSPIのクロック信号をよく観察してみると、前半の8ビットと後半の8ビットのあいだに
クロックが間延びしているところがあります。

やっぱり8ビット×2回で16ビット伝送する方法は無理なのかなぁと考え
マイコン内のSPIインターフェイスは使わずに、マイコンの出力ポートをGPIO端子として
直接マイコンからSPI信号を生成してGPIO端子を制御する方法に変えたところ
すんなりとうまくいきました。どうも間延びしたクロックがまずかったようです。



SPI方式はとてもシンプルな方式なのですが、実は結構きわどい方式でもあります。
たとえば下の図のように、クロックラインに予期しないノイズなどが混入し
それが受信側でクロックとして認識されてしまうと、
そこから先は、送信側と受信側で1ビットタイミングがずれてしまった状態となり
通信ができなくなってしまいます。



実用的には非常にまずい問題なので、恐らくどこかで16ビットフレーム信号の
再同期をしていると思われます。

最初はCS(チップセレクト)信号の立下りエッジなどを使ってフレーム同期を
とっているのかと思っていたのですが、実はCSはSPIデバイスをパラレルに接続するときのみ必要で
1対1で接続している場合には、CS信号は接続しなくても問題なく動作するとのこと。

となるとどこでフレーム同期をとってるのかなー。

ふと思いついたのはクロックのDutyを監視していて、クロックの論理が一定時間変化しなかったら
そこをフレーム同期のリセット点としているのではないか、ということ。


そう考えると、最初に試していた8ビット×2回方式でうまくいかなかったことにも説明がつきます。
クロックが間延びしているあいだにフレーム同期がかかってしまい、
マイコン側とDDS側で同期がとれなかったということではないかと。

この件についてネットで調べてみましたが、
マイコン側のmicrochipではCSをフレーム同期信号として使えます、と書いてありましたが
DDS側のアナログデバゼスはCSはなくても動くって書いたあったりして
どうも各社で言ってることがマチマチです。

ついでに8ビットSPIインターフェイスで16ビット伝送ができるかについても調べてみましたが
やはりうまくいかなかった、という書き込みがいくつか見つかりました。

いずれにしても今回のフレーム同期が取れない問題ついては
いまのところ推測でしかありませんが
SPIクロック信号のDuty比には注意したほうが良いかもしれません。




今回は長くなってしまったので、DDSの出力信号の評価については次回報告します。



にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村


-----



コメント
コメントする








   

calendar

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930    
<< June 2020 >>
                 ads                           

RSS Readerに登録


follow us in feedly

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村


アマチュア無線 ブログランキングへ






製作物紹介リンク

メールフォーム

selected entries

categories

archives

links

profile

search this site.

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM