5.9.12. HPS SPIO インターフェイス
HPS は SPI インターフェイスを介して以下の機能信号を監視および制御することができます。
- HPS LED 信号
- HPS プッシュボタンと DIP スイッチ信号
- パワーグッドおよび信号
- リセット信号
- FMCA/B PCIE パワーイネーブル信号
- SFP+ コントロール信号
- I2C マスター表示信号
- HPS ウォームリセット信号
- PMBUS コントロール信号
ピン | 説明 | 機能 |
---|---|---|
nCS | チップセレクト | マスターデバイスからデータをスレーブデバイスが受信または転送できるようにするアクティブ Low 信号です。 |
SCK | シリアルクロック | データ転送を同期するためにマスターデバイスから生成されたクロック信号です。 |
MOSI | シリアルデータ入力 | 正の SCK クロックでシリアルデータを受信します。 |
MISO | シリアルデータ出力 | 負の SCK クロックエッジでシリアルにデータを送信します。 |
HPS SPI コントローラーは SPI マスターであり、MAX V はスレーブ SPI I/O エクスパンダーとして機能します。SPI インターフェイスは、8 ビット・フレームサイズを使用します。MOSI では、1 番目のバイトが命令バイトとして使用されます。ビット [7:1] はレジスターアドレスです。ビット [0] は、ロジック「1」がフラグ読み出しでありロジック「0」がフラグ書き込みである動作フラグです。2 番目のバイトはデータバイトです。MISO では、1 番目のバイトは 0 バイト ( パッド ) で、2 番目のバイトはデータバイトです。
16 8 ビット・レジスターが実装されています。MOSI では、1 番目のバイトが命令バイトとして使用されます。ビット [7:1] はレジスターアドレスです。ビット [0] は動作フラグで、つまりロジック「1」がフラグ読み出しでありロジック「0」がフラグ書き込みです。2 番目のバイトはデータバイトです。MISO では、1 番目のバイトは 0 バイト ( パッド ) で、2 番目のバイトはデータバイトです。
命令 (8 ビット ) | 命令の説明 | レジスターデータの説明 |
---|---|---|
00000001 | CPLD リビジョン値 | レジスター 0: 読み出し専用レジスター 読み出し値は CPLD リビジョン値 |
00000010 | HPS LED レジスターの書き込み | Register 1: Bit[7:4] - USER_LED_HPS[3:0]、アクティブ Low、デフォルト値は “0xF” Bit[3:0] - 予約済み、デフォルト値は “0x0” |
00000011 | HPS LED レジスターの読み出し | Register 1: ビット [7:4] - USER_LED_HPS[3:0] ビット [3:0] - 予約済み デフォルト値は “0xF0” |
00000101 | HPS プッシュボタンと DIP スイッチレジスターの読み出しード | Register 2: USER_PB_HPS と USER_DIPSW_HPS の現在のステータス Bit[7:4] - USER_PB_HPS [3:0] Bit[3:0] - USER_DIPSW_HPS [3:0] |
00000110 | 書き込み HPS プッシュボタン IRQ フラグクリアー・レジスター | Register 3: Bit[7] - レジスター 2 のビット 7 フラグをクリアーするためにロジック 1 を書き込み、フラグがクリアーになった後、このビットにロジック 0 を書き込んでリセットします。 Bit[6] - レジスター 2 のビット 6 フラグをクリアーするためにロジック 1 を書き込み、フラグがクリアーになった後、このビットにロジック 0 を書き込んでリセットします。 Bit[5] - レジスター 2 のビット 5 フラグをクリアーするためにロジック 1 をライトし、フラグがクリアーになった後、このビットにロジック 0 を書き込んでリセットします。 Bit[4] - レジスター 2 でビット 4 フラグをクリアーするためにロジック 1 をライトし、フラグがクリアーになった後、このビットにロジック 0 を書き込んでリセットします。 |
00000111 | HPS プッシュボタン IRQ フラグレジスターの読み出し | Register 3: 読み出し専用レジスター Bit[7:4] - USER_PB_HPS ホールドレジスター・ビット Bit 7: USER_PB_HPS3 IRQ フラグ、アクティブ Low、レジスター 3 のビット 7 によるフラグクリアー Bit 6: USER_PB_HPS2 IRQ フラグ、アクティブ Low、レジスター 3 のビット 6 によるフラグクリアー Bit 5: USER_PB_HPS1 IRQ フラグ、アクティブ Low、レジスター 3 のビット 5 によるフラグクリアー Bit 4: USER_PB_HPS0 IRQ フラグ、アクティブ Low、レジスター 3 のビット 4 によるフラグクリアー Bit[3:0] - 予約済み プッシュボタンのうちの 1 つが押された場合は、対応する PB の IRQ レジスタービットが設定され、A10_SH_GPIO0 が「0」にコンフィグレーションされます。 A10_SH_GPIO0 は、(PB がまだ押されている場合でも ) HPS が関連するビットをクリアーした後に「1」に戻ります。 2 番目の プッシュボタンが HPS が 1 番目のプッシュボタンの割り込み処理の間に押された場合、HPS が割り込みをクリアーするまでは 2 番目の PB の IRQ レジスタービットは「0」の状態です。HPS が 2 番目の PB の IRQ レジスタービットをクリアーするまで、A10_SH_GPIO0 は Low の状態を保持します。 |
00001001 | Power good1 レジスターの読み出し | Register 4: リード専用オプション Bit[7] - operation_flag。「1」: パワーオン完了。「0」: システムはパワーダウン・サイクル中です。 Bit[6] - 1V8_Pgood。「1」: 1.8V パワーレール出力は正常です。「0」: 1.8V パワーレール出力は異常です。 Bit[5] - 2V5_Pgood。「1」: 2.5V パワーレール出力は正常です。「0」: 2.5V パワーレール出力は異常です。 Bit[4] - 3V3_Pgood。「1」: 3.3V パワーレール出力は正常です。「0」: 3.3V パワーレール出力は異常です。 Bit[3] - 5V0_Pgood。「1」: 5V パワーレール出力は正常です。「0」: 5V パワーレール出力は異常です。 Bit[2] - 0V9_Pgood。「1」: 0.9V パワーレール出力は正常です。「0」: 0.9V パワーレール出力は異常です。 Bit[1] - 0V95_Pgood。「1」: 0.95V パワーレール出力は正常です。「0」: 0.95V パワーレール出力は異常です。 Bit[0] - 1V0_Pgood。「1」: 1.0V パワーレール出力は正常です。「0」: 1.0V パワーレール出力は異常です。 |
00001011 | Power good2 レジスターの読み出し | Register 5: リード専用レジスター Bit[7] - HPS_Pgood。「1」: HPS コアのパワーレール出力は正常です。「0」: HPS コアのパワーレール出力は異常です。 Bit[6] - HILOHPS_VDDPgood。「1」: HPS メモリーのパワーレール出力は正常です。「0」: HPS メモリーのパワーレール出力は異常です。 Bit[5] - HILO_VDDPgood。「1」: FPGA メモリー VDD のパワーレール出力は正常です。「0」: FPGA メモリー VDD のパワーレール出力は異常です。 Bit[4] - HILO_VDDQPgood。「1」: FPGA メモリー VDDQ のパワーレール出力は正常です。「0」: FPGA メモリー VDDQ のパワーレール出力は異常です。 Bit[3] - FMCAVADJPGood。「1」: FMCAVADJ のパワーレール出力は正常です。「0」:FMCAVADJ のパワーレール出力は異常です。 Bit[2] - FMCBVADJPGood。「1」: FMCBVADJ のパワーレール出力は正常です。「0」: FMCBVADJ のパワーレール出力は異常です。 Bit[1] - FAC2MPgood。「1」: FMCA スロットパワーは正常です。「0」: FMCAスロットパワーは異常です。 Bit[0] - FBC2MPgood。「1」: FMCB スロットパワーは正常です。「0」: FMCBスロットパワーは異常です。 |
00001101 | Power good3 と現在のレジスターの読み出し | Register 6: 読み出し専用オプション Bit[7] - FAM2CPgood。「1」: FMCA スロット DC パワー出力は正常です。「0」: FMCA スロット DC パワー出力は異常です。 Bit[6] - 10V_Fail_n。「1」: 10V 以上の入力電圧。「0」: 10V 以下の入力電圧。 Bit[5] - BF_PRESENTn。「1」: ブート・フラッシュ・カードなし。「0」: ブート・フラッシュあり。 Bit[4] - FILE_PRESENTn。「1」: ブート・フラッシュ・カードなし。「0」: ファイル・フラッシュあり。 Bit[3] - FMCA_PRESENTn。「1」:FMCA カードなし。「0」:FMCA カードあり。 Bit[2] - FMCB_PRESENTn。「1」: FMCB カードなし。「0」: FMCB カードあり。 Bit[1] - PCIE_PRESENTn。「1」: PCIE カードなし。「0」: PCIE カードあり。 Bit[0] - 予約済み |
00001110 | FMCA/B PCIE パワー・イネーブル・レジスターの書き込み | Register 7 Bit[7] - PCIE_EN。「1」: PCIE RC スロットパワーを有効にします。「0」: PCIE RC スロットパワーを無効にします。 Bit[6] - PCIE_AUXEN。「1」: PCIE RC スロット 補助電源を有効にします。「0」: PCIE RC 補助電源を無効にします。 Bit[5:0] - 予約済み |
00001111 | FMCA/B PCIE パワー・イネーブル・レジスターの読み出し | Register 7 パワー・イネーブル・レジスターのステータスの読み出し |
00010000 | HPS リセットレジスターの書き込み | Register 8 Bit[7] - 予約済み Bit[6] - 予約済み Bit[5] - 予約済み Bit[4] - 予約済み Bit[3] - 予約済み Bit[2] - 予約済み Bit[1] - ENET_HPS_RESETn。アクティブ Low にして HPS イーサネット・ポートをリセットします。 Bit[0] - 予約済み |
00010001 | HPS リセットレジスターの読み出し | Register 8 Bit[7] - HPS_UARTA_RESETn。読み出し専用ビット。常に「1」です。 Bit[6] - HPS_WARM_RESETn。読み出し専用ビット。「0」: WARM_Reset ボタンは押された状態です。「1」: 動作なしです。 Bit[5] - HPS_WARM_RESET1n。読み出し専用ビット。「0」: トレースリセットが検出されます。「1」は動作なしです。 Bit[4] - HPS_COLD_RESETn. 読み出し専用ビット。「0」: Cold_Reset ボタンは押された状態です。「1」は動作なしです。 Bit[3] - HPS_NPOR. 読み出し専用ビット。HSP 用 NPOR。アクティブ Low。 Bit[2] - HPS_NRST。読み出し専用ビット。HSP 用 NRST。アクティブ Low。 Bit[1] - ENET_HPS_RESETn. ENET_HPS_RESETn のステータスを読み出します。 Bit[0] - ENET_HPS_INTn。ENET_HPS_INTn 現在の状態。 |
00010010 | USB & BQSPI& FILE & PCIE リセットレジストター の書き込み | Register 9 Bit[7] - USB_RESET。アクティブ High にして HPS USB をリセットします。 Bit[6] - BQSPI_RESETn。アクティブ Low にしてボートフラッシュをリセットをします。 Bit[5] - FILE_RESETn。アクティブ Low にして FILE フラッシュをリセットします。 Bit[4] - PCIE_PERSTn。アクティブ Low にして PCIE スロットをリセットします。 Bit[3:0] - 予約済み |
00010011 | USB & BQSPI& FILE & PCIE リセットレジスターの読み出し | Register 9 USB & BQSPI& FILE & PCIE リセットのステータスの読み出し Bit[7] - USB_RESET Bit[6] - BQSPI_RESETn Bit[5] - FILE_RESETn Bit[4] - PCIE_RESETn Bit[3:0] - 予約済み |
00010100 | SFPA コントロール・レジスターの書き込み | Register 10 Bit[7] - SFPA_TXDISABLE.。「1」: SFPA TX を無効にします。「0」: SFPA を有効にします。 Bit[6:5] - SFPA_RATESEL[1:0]。SFPA RX レート選択。「0」: <4.25GBd1: > 4.25GBd Bit[4:0] - 予約済み |
00010101 | SFPA コントロールレジスターの読み出し | Register 10 Bit[7] - SFPA_TXDISABLE。「1」: SFPA TX を無効にします。「0」: SFPA TX を有効にします。 Bit[6:5] - SFPA_RATESEL[1:0]。SFPA RX レート選択。「0」: <4.25GBd1: > 4.25GBd Bit [4] - SFPA_LOS. SFPA の信号損失。「1」: LOS。「0」: 正常。 Bit[3] - SFPA_FAULT. SFPA の Tx fault 信号。 「1」: デフォルト。「0」: 正常。 Bit[2] - SFPA_PRESENTn。スロット A の SFP モジュールの信号を検出します。「1」: SFP モジュールなし。「0」: SFP モジュールプあり。 Bit[1:0] - 予約済み |
00010110 | SFPB コントロール・レジスターの書き込み | Register 11 Bit[7] - SFPB_TXDISABLE。「1」: SFPB TX を有効にします。「0」: SFPB TX を無効にします。 Bit[6:5] - SFPA_RATESEL[1:0]。SFPA RX レート選択。「0」: <4.25GBd1: > 4.25GBd Bit[4:0] - 予約済み |
00010111 | SFPB コントロール・レジスターの読み出し | Register 11 Bit[7] - SFPB_TXDISABLE。SFPB TXDISABLE のステータスを読み出します。 Bit[6:5] - SFPB_RATESEL[1:0]。SFPB レート選択のステータスを読み出します。 Bit[4] - SFPB_LOS。SFPB の Los 信号を読み出します。「1」: ロス。「0」: 正常。 Bit[3] - SFPB_FAULT。SFPB の Tx Fault 信号を読み出します。「1」: Fault。「0」: 正常。 Bit[2] - SFPB_PRESENTn。スロット Bで SFP モジュールの信号を検出します。「1」: SFP モジュールなし。「0」: SFP モジュールあり。 Bit[1:0] - 予約済み |
00011001 | I2C マスターレジスターの読み出し | Register 12 Bit[7] - I2C マスター表示。「1」: HPS は I2C マスターです。「0」: MAXV は I2C マスターです。 Bit[6:0] - 予約済み |
00011010 | HPS ウォームリセット・レジスターの書き込み | Register 13 Bit[7:6] - “00” Bit[5] - HPS_SPI_WARM_RESETn。アクティブ Low にして HPS ウォームリセットにします。アクティブになると、MAX V は自動的にこのビット 1 をクリアーします。 Bit[4:0] - “00000” |
00011011 | HPS ウォームリセット・レジスターの読み出し | Register 13 Bit[7:6] - “00” Bit[5] - HPS_SPI_WARM_RESETn。HPS SPI ウォームリセットのステータスをリードします。 Bit[4:0] - “00000” |
00011100 | HPS ウォームリセット・キーレジスターの書き込み | Register 14 Bit[7:0] - HPS ウォームリセットのキーレジスター。0xA8 の値は、レジスター 13 のビット 5 を認識させます。 ソフトウェアは、レジスター 13 でビット 5 への有効な書き込み後にこのレジスターに異なる値を書き込む必要があります。 |
00011101 | HPS ウォームリセット・キーレジスターの読み出し | Register 14 HPS ウォームリセット・キーレジスターでの現在の値 |
00011110 | PM バス・コントロール・レジスターの書き込み | Register 15 Bit[7] - A10PMBUSEN。「1」: Arria 10 FPGA PMBUS を有効にします。「0」: Arria 10 FPGA PMBUS を無効にします。 Bit[6] - A10_PMBUSDIS_N。「1」: MAX5/HPS PMBus システムを有効にします。「0」: System MAX5/HPS PMBus システムを無効にします。 Bit[5:0] - 予約済み |
00011111 | PM バス・コントロール・レジスターを読み出し | Register 15 Bit[7] - A10PMBUSEN。「1」: Arria 10 FPGA PMBUS は有効になります。「0」: Arria 10 FPGA PMBUS は無効になります。 Bit[6] - A10_PMBUSDIS_N。「1」: MAXV/HPS PMBus システムは有効になります。「0」: MAXV/HPS PMBus システムは無効になります。 Bit[5] - Pmbus_Altertn。「1」: I2C は正常です。「0」: I2C はハングします。 Bit[4:0] - 予約済み |