メモ

以下は特に情報ではありません。自分用のメモです。 ブート問題の組み合わせマトリックス。現在分かっているのは、TOPPERS/JSP for BlackfinのイメージをSPIブートしようとすると、必ず失敗するということ。 … 続きを読む

880Hz確認

例年夏はぐったりして、電子工作どころじゃ無くなります。何しろ私の部屋は南西向きでエアコンもありません。暑い、暑すぎます!趣味だって夏休みは必要です。 とはいえ、TRX-305 DSP部のプログラミングは遅れに遅れているた … 続きを読む

TRX-305 DSP部近況報告

間が空いてしまいました。いいわけでしかありませんが、仕事のトラブルがおきると長距離通勤者はもうダメですね。仕事と通勤でごっそり体力を持って行かれます。若い頃はそれでも何とかなったものですが。というか、トラブルが無くても平 … 続きを読む

DSP負荷率

間が空いてしまいましたが、その間えらくしつこいバグに手間取っていました。 割り込みの発生レートがどうしても期待通りにならなかったのですが、何のことはない、仕様の読み違いでした。SPORTの各種クロックは全てFPGAから供 … 続きを読む

徒手空拳

TRX-305のDSP部のフレームワークですが、最後の詰めの辺りで引っかかっています。 現状としては、DSPのSPORT RX (RX-IFの受信)、SPORT TX(AFの送信)がDMAを使ったピンポン転送で動作してい … 続きを読む

基板収納方法

組み込みソフトウェアの場合、OSSといえどもターゲット基板は必要です。

作業効率を考えれば、基板は作業机に置いてあって電源さえ入れればいつでもデバッグ出来るという環境が理想です。しかしながら、自宅で趣味でソフトウェアを開発するとなると、そのような環境は、なかなか難しいものです。

そこで、今回は私の開発環境をご紹介します。

続きを読む

DMA受信バッファ上のデータの並び

SPORT受信DMAバッファ上のデータの並びを探る予備実験を行いました。

非ワイドFMモードでは、SPORT各チャンネルにサンプルあたり2ワードのデータが転送されます。そのため、タイミングによってはこれらがABABと受信されたりBABAと受信されたりします。これは想定できることであり、当然ですがプログラムはそれに左右されないように作らなければなりません。

一方で、口伝えで「ADSP-BF533ではSPORTのプライマリ・チャンネルとセカンダリ・チャンネルのデータがバッファ上で反転する」という話を聞いたことがあります。実際、TRX-305のデータは、データの位置に依らずデータを見るだけでプライマリ・チャンネルのデータかセカンダリ・チャンネルのデータなのかを見分けることが出来ます。つまり、両チャンネルのデータがバッファ上で入れ替わるであろうと想定しているわけです。

そこで、SPORT受信開始時のデータを観測して、データの並びを調べてみました。結果として「プライマリ・チャンネルとセカンダリ・チャンネルが判定することはない」という結論に達しました。

続きを読む

バッファ長

相変わらず細々と思考実験を繰り広げています。今回は、バッファ長について書いておきます。

TRX-305のDSPが使うバッファには3種類有ります。一つはRX-IFデータをSPORTから受取るDMAバッファ。次はAFデータをSPORTから送り出すDMAバッファ。最後がRX-IFとAFの間のジッターを吸収するFIFOです。

続きを読む

RX IFのバッファとアライメント

前回大まかに説明したように、RX IFのデータはなかなか複雑です。

  • 途中でワイドFMと非ワイドFMのギヤチェンジが入る
  • 非ワイドFMはチャンネル中で複数ワードになる
  • ワイドFMは8ワードでAF 1サンプルに対応する

こういったデータをリアルタイムに扱いながら一台の受信機として成立させるために、いくつかあらかじめ考えておくべき事があります。

続きを読む

FPGAとやりとりされるデータ

TRX-305のDSPファームウェアに関しては、ブート問題が私の手を離れたため、しばらくはDSP用フレームワークの事だけを考えればよくなりました。これでようやく落ち着いて設計出来ます。

これからしばらく私自身の考察をかねて、FPGAとDSPがやりとりするデータについて書いていきます。おおむね書き終わる頃には解決しなければいけない問題と、ソフトウェアの構造もはっきりするでしょう。プログラムもデータも、その構造は解決すべき問題の構造に従ったものになるからです。

続きを読む