CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

コーデックアクセス

つづいてコーデックAD1847の初期化になりますが、これはシリアルで接続されているのでシリアルポートSPORT0からコントロールワードを送出することになります。いままでざっくりマニュアルを読んで理解したのは

DSP側のメモリ上にバッファ領域を設け、autobufferingMultichannelFunctionの設定をしておけばコーデックのフレーム同期割込みのたび、然るべきタイミング(time slot)で必要なデータを勝手に送信し、受信した返り値でバッファを勝手に更新してくれる」

ということみたいです(かなり雑)

AD1847の内蔵レジスタは以下の16bitレジスタ6本。

 

これに一対一対応するADSP2101側のデータメモリ上のバッファ領域buf[6]の定義はこうなっています

ただslot0~5の順番とメモリ上の配置が微妙に異なります。自分も’the order here seems a little funny’・・・

ソースのコメントにその理由が書いてあるのですが、10回読んでも意味が分かりません。とりあえずこのままにしておきます。