Tuesday, September 25, 2007

SPI にハマる

 以前、トラ技でも製作記事が紹介されていたアナログデバイセズの DDS IC である AD9834 を PSoC で制御する実験をしてみた。

 AD9834 をピッチ変換基板に載せ、周辺回路をブレッドボードに組み立てたものを実験用の回路とし、PSoC 評価用ボードの PSOCEVAL1と接続。AD9834 は SPI を使っていることから、SPIM モジュールを使って制御を試みた… のだが、出力信号が出ない。

 結線は問題なく、AD9834 のマスタークロック源のクリスタルオシレータの出力・周波数ともに正常。どうにも弱って、USB オシロで SPI の信号を調べてみた。SCLK と MOSI はちょっと挙動不審な気もするが、とりあえず信号は出ている。ところが… ~Slave Select がおかしい。SCLK と MOSI とは違い、負電圧の信号が出ている(0~-5V間)。これが原因なのか…

 SPIM モジュールのデータシートには、Slave Select はユーザープログラムの方で制御せよ、とあったので、~SlaveSelect 用に割り当てたGPIOピン の入出力設定を Strong にしてAD9834と直結しているのだが…一体何故!?

 プルアップしてやってみるか…

Labels: ,