スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Bluetoothボード用SPI通信の実装

今日はソフトをやる.Bluetoothボードのマスタ側インターフェースはIICとSPIで接続.
IICはすでに動作確認ができているので次はSPIだ.SPIはIICのクロックストレッチのような機能が無くて,スレーブ側からマスタを待たせることができない.つまりスレーブ側でBlutoothの処理が滞ると次のデータ受信が間に合わなくて消失してしまう.SPIはUARTやIICと違って非同期通信には向かない方式のようだ.
 どうするか悩んだ末,SS(スレーブセレクト)ピンをI/Oでダイレクト制御してBusy信号を作ることにした.スレーブが受信可能になる直前にSSピンから短いパルスをマスタに返す処理を追加した.また,そのままでは両側がオープンになるタイミングが出るのでプルダウンを追加.多少の調整を行ってうまく動作するようになった.
 電波状況をわざと悪くしてテストする.途中でBluetoothが途絶してもデータがロストせず,正常にフロー制御できている.よし,めずらしく目論見がうまくいった.
これでこのボードのファームウェアはほぼ完成だ.
スポンサーサイト

この記事へのコメント

トラックバック

URL :

プロフィール

もやね

Author:もやね
長野県在住の会社員(メカニカル・エンジニア).
ロボットは完全な趣味としてやってます.
E-mail:
mo_ya_ne[a]yahoo.co.jp
[a]⇒@

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
FC2カウンター
ブログ内検索
RSSフィード
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。