HPCR

HPCR( Host Port Configuration Register )はホストポートの設定を変更するためのレジスタです。

レジスタの構造

このレジスタは16ビットレジスタです。初期値は0x0000です。

図1 レジスタの構造

H_BWS : Host Port Bus Width Select

バス幅を指定します。

  • 0 : 8ビットです。
  • 1 : 16ビットです。
H_BEND : Host Bus Endianess

バス幅がデータ幅より短いときに、エンディアンを指定します。

  • 0 : リトル・エンディアンです。
  • 1 : ビッグ・エンディアンです。
H_DORD : Host Data Ordering

バス幅がデータ幅より短いときに、転送順序を指定します。

  • 0 : LSB側から転送します。
  • 1 : MSB側から転送します。
H_PSIZE : Host Packet Size

バス幅が8ビットで転送データ幅が24ビットのとき、転送に使用するパケット数を指定します。

  • 0 : 4バイト。
  • 1 : 3バイト。
H_PREAD : Host Pipelined Read

パイプライン・モードでは、複数パケット転送において2回目以降のパケット転送は実際にホストが読み出しをかける前に内部メモリーの読み出しを行います。

H_PREDとH_PFETを同時に1にしてはいけません。

  • 0 : 通常アクセス。
  • 1 : パイプライン・アクセス。
H_PFET : Host Prefetch

プリフェッチ・モードではアドレスが与えられると実際にホストがデータ読むよりも前に内部メモリーの読み出しを行います。

H_PREDとH_PFETを同時に1にしてはいけません。

  • 0 : 通常アクセス。
  • 1 : プリフェッチ・アクセス。
H_AMS : Host Ack Functionality

ACK信号の極性などを決めます。詳しくはHR B-103のTable B-13を参照してください。

H_RLS : Host Read Strobe Sense

/RDの状態を調べます(RO)

H_WLS : Host Read Strobe Sense

/WRの状態を調べます(RO)

H_ACKS : Host ACK Sense

/ACKの状態を調べます(RO)

H_ALES : Host ALE Sense

/ALEの状態を調べます(RO)

API

C/C++言語用に以下のインターフェースが用意されています。宣言はsysreg.hで行われています。HPCRにアクセスする前には必ずIOPGにExternal_Memory_Interface_Pageを設定してください。

HPCRにアクセスする場合は次のように成ります。

// #include <sysreg.h>
// #include <def2191.h>

sysreg_write(sysreg_IOPG, Host_Port_Bus_Interface_Page)   // HPIページに設定

io_space_write(HPCR, 値)         // HPCRに値を設定
変数 = io_space_read(HPCR)       // HPCRの値を取得

アナログデバイセズが配布しているmcmの中のビット定義ファイルdef2191bit.hから関連するビット定義部分をここに引用します。

// Definition for HPCR (HR B-101)
#define H_ALES                  BIT_11
#define H_ACKS                  BIT_10
#define H_WLS                   BIT_9
#define H_RLS                   BIT_8
#define H_AMS_OFST              6
#define H_AMS_MASK              ( 0x3 << H_AMS_OFST )
#define H_AMS_ACK               ( 0 << H_AMS_OFST )
#define H_AMS_READY             ( 1 << H_AMS_OFST )
#define H_PFET                  BIT_5
#define H_PRED                  BIT_4
#define H_PSIZE                 BIT_3
#define H_DORD                  BIT_2
#define H_BEND                  BIT_1
#define H_BWS                   BIT_0

参照情報

項目 マニュアルのページ等
レジスタ構造 HR B-102
説明 HR 8-5

2191空挺団 | プログラム | EZ-KIT | こぼれ話 | アーキテクチャー | 命令 | レジスタ | DSP掲示板 | FAQ |