コメント: Super Sylphide 進捗状況(14) -- McBSP(SPI)におけるCPU割込とEDMAの協調

いったん頭だしができた後も継続的にCPU割り込みを使う理由が分かりません。4バイト固定ならDMAで4バイトずつ転送すればいいと思うのですが。
エラー状態から復帰することを前提にしているのでしょうか。

投稿者 酔漢 : December 8, 2007 08:47 AM

>酔漢さん
コメントどうもです。理由は現在、強い理由と弱い理由の2つがあります。
強い理由としては、DSP側がスレーブになるプロトコルで通信しており、マスターである外部のマイコンの指令によって送受信を切り替えている(=全二重ではなく半二重通信)ため、マスターからフレーム先頭を受信後、即座にDSPから送信しなければならない事態があるためです。
弱い理由としては、1フレームを可変長にしようかと考えていたためです。現在ヘッダ(SPIのハードウェア的処理単位4byteのうち先頭1byte)を除いた1フレームは32byte固定(つまり実質1フレームはceil(32/3)*4=44byte)としたため、仮に強い理由で示した送受信の切り替えがなく受信のみでしたら、一度フレーム先頭を検出すれば、ご指摘のとおりDMAで可能です。しかし可変長となるとDMAの転送数をどこかしらで再設定する必要があり、それで割込みと併用して解決する方法を検討していました。
勿論割込みをなくした方がスマートであると思いますので、これらの2つの理由を解消できる方法を検討してみたいと思います。

投稿者 fenrir : December 8, 2007 11:40 PM
コメントする









名前、アドレスを登録しますか?
(次回以降コメント入力が楽になります)
  • 匿名でのコメントは受け付けておりません。
  • 名前(ハンドル名可)とメールアドレスは必ず入力してください。
  • メールアドレスを表示されたくないときはURLも必ず記入してください。
  • コメント欄でHTMLタグは使用できません。
  • コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
  • コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。