無料ブログ作成サービス JUGEM
スポンサーサイト

一定期間更新がないため広告を表示しています

| スポンサードリンク | - | - | - | pookmark |
←prev entry Top next entry→
HPI
C6000 DSPのHPIというペリフェラルについて書きます。
HPIはHost Port Interfaceの略です。
これはC6000に限らず、C5000DSPにもついています。
機能としては、DSPのアドレス空間に対して、外からアクセスすることが
できるというものです。
C6000シリーズのDSPは、プログラム用、データ用と分かれておらず、
フラットなメモリ空間を持っています。
0番地からFFFFFFFF番地までの間に、内部SRAMやEMIFの4つの外部領域や
各ペリフェラルのレジスタまですべてマッピングされています。
ということで、HPI経由で接続されたホストマイコンから、これらすべてに
対してリード/ライトすることが可能です。(キャッシュ関係のレジスタなど
一部例外はありますが)

前回ブートのところで書いたように、ホストマイコンがこのHPIを使って
DSPのメモリ空間にプログラムを書き込み、ブートさせることができます。
また、HPIは結構高速なバスです。使い方やデバイスにもよりますが
100MB/s程度は出せます。そのため、ホストから画像データをDSPに接続された
SDRAMに書き込むなんていう使い方もできます。

注意点としては、HPI経由でDSPのすべての領域に対してアクセスが可能なので、
ホストのプログラムが間違ってDSPのリザーブエリアにアクセスしてしまったり
意図しないレジスタ操作をしてしまわないように、ホストのプログラムを作成
する必要があります。

HPIはホストからはDSPをSRAMのように見立てて接続することができます。
接続例は、TIのWebのアプリケーションノートやユーザーズガイドを見るのが
良いと思います。下記のようなドキュメントも参考になるでしょう。
http://focus.tij.co.jp/jp/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&tabId=409&abstractName=spra536b

アクセスシーケンスは、ホストから以下のDSPの3つのレジスタに対して操作をします。
HPIC
HPIA
HPID
HPICはコントロールレジスタです。
これから行うアクセスがリードかライトか、自動的にアドレスをインクリメントさせるか
といった設定を行います。
HPIAはアドレスレジスタです。
ホストがリードやライトをしたいアドレスを書き込みます。
HPIDはデータレジスタです。
HPIAで指定したアドレスのデータをホストからリードやライトをします。
以上のように、アクセスシーケンスとしては3ステップあります。
これではあまり高速ではなさそうですが、アドレスの自動インクリメントモードを
指定すると、HPIC、HPIAに対しては最初の1度だけの設定で、後はHPIが自動的に
アドレスを増やす(減らす)ながら指定されたアドレスへのリードライトを行います。
これは、画像データやレジスタなど、
まとまったデータをリードやライトしたいときなどに有効です。

さて、HPIからのアクセスとDSPのコアからのアクセスが、同じ場所に同時に起こったら
どうなるのでしょうか?
後からアクセスしたほうが待たされます。
DSPコアが待たされる場合はストールします。HPIが待たされる場合はHRDYというレディ
ピンがアサートされ、ホストマイコンにNotReadyを伝えます。
基本的にはプログラムで、コアとホスト両方が同時に同じ領域にアクセスすることを
回避したほうが、こういったことに頭を悩ませる必要がないのでお勧めです。

HPIにはいくつかの種類があります。
HPI16
HPI32
これはC641xやDM641/DM642についているHPIです。
もっともポピュラーなものでしょう。
16や32はHPIDのバス幅です。DSP自身は32bitのデータ幅なので、
HPI16のときはHPIAやHPIDには2回アクセスが発生します。
UHPI
これは6727や6455といったデバイスについているHPIです。
基本的にはHPI16やHPI32と変わりませんが、拡張されたモードとして
アドレス、データ分離モードというのがあります。
HPI16やHPI32では、データ線をアドレスとデータで共用しています。
UHPIではこのモードのほかにデータ線とアドレス線を物理的に
分離して配線することができるモードをサポートしています。
これにより、ホストからは本当にSRAMのような感覚でアクセスを行うことが
できます。

以上HPIでした。



| 了一 | ペリフェラル | comments(0) | - | pookmark |
スポンサーサイト
| スポンサードリンク | - | - | - | pookmark |
Comment
name:
email:
url:
comments: