« 解せないが動いている | トップページ | V2XeとPICとCCS-PCMで一苦労 »

2008年8月15日 (金)

PICとV2Xe間のSPI通信で悩む

今日もデジタルコンパスモジュールの続きです。これがデッドレコニングを行う上でかな~り重要なデバイスなので後回しにできません。そして今日の問題点は、PICからV2Xeにすごく簡単なコマンドを投げても何のレスポンスも返ってこないこと。

PICからSPI通信で出ていく波形を見てみると、確かにSCKのクロックに合わせてSDOからV2XeのSYNC Charactorに相当する0xAA (二進数で書けば10101010)が出ているのですが、これがよくないのではないかと疑っています。というのは、SDOのレベルがSCKの立ち上がりに合わせて変化しているからです。V2Xeのデータシートのpage 18にあるFigure 1 を見るとクロックの立下りでマスターからのデータが変化するので、PIC側ではSDOのレベルがSCKの立下りで変化してほしいのですが・・・。

そういう設定をするにはどうしたらいいか、CCS-PCMコンパイラの setup_spi関数の説明を読んだのですが、クロックに関してはSPI_L_TO_H、SPI_H_TO_Lという設定があるだけで、これでは特殊レジスタSSPSTATのbit6(CKE)で立下りエッジの指定ができません。それじゃ困るので、C言語のソースコード中に#ASMでも使ってアセンブラで直接命令を書いてしまおうかと考えています。

« 解せないが動いている | トップページ | V2XeとPICとCCS-PCMで一苦労 »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/167990/42178952

この記事へのトラックバック一覧です: PICとV2Xe間のSPI通信で悩む:

« 解せないが動いている | トップページ | V2XeとPICとCCS-PCMで一苦労 »

最近の写真