PCI9052インターフェースチップの性能特性とアプリケーション例の分析

更新:23年2024月XNUMX日

PCIバスプロトコルは非常に複雑です。 PCI拡張ボードを開発し、プログラマブルロジックアレイチップを使用してPCIプロトコルの実装を完了する場合、作業負荷と難易度は非常に高く、PCI専用インターフェイスチップが一般的に使用されます。 PCI9052インターフェースチップを以下に紹介します。

著者:魏文華

PCI (Peripheral Component Interconnect) バスは、メイン CPU と周辺機器に高性能データ バスを提供できるローカル バスです。 1992 年に、インテルを中心とする多くのグループが PCI バスの設計を開始し、その V2.0 仕様が 1993 年 132 月に正式にリリースされました。PCI バスには厳密な仕様があり、良好な互換性が確保されています。 PCI 仕様に準拠した拡張カードは、あらゆる PCI システムに挿入して確実に動作します。 PCI バスは非常に高いデータ転送速度 (XNUMXMB/S) を提供できます。 PCI バスは CPU とは関係がなく、クロック周波数とも関係がありません。 さまざまなプラットフォームに適用でき、マルチプロセッサと同時作業をサポートします。 PCIバスは拡張性にも優れています。 PCI-PCI ブリッジを介して無制限に拡張できます。 PCI バス VESA ローカル バスをプラグ アンド プレイ機能に置き換えます。 PCI インターフェイスには一連のレジスタが含まれています。 これらのレジスタ内の情報により、コンピュータは PCI カードを自動的に構成できます。 PCI バスは、現在 PC 上で最も先進的なバスです。

PCIバスプロトコルは非常に複雑です。 PCI拡張ボードを開発し、プログラマブルロジックアレイチップを使用してPCIプロトコルの実装を完了する場合、作業負荷と難易度は非常に高く、PCI専用インターフェイスチップが一般的に使用されます。 PCI9052インターフェースチップを以下に紹介します。

1PCI9052チップの紹介

PCI9052はPLXによって開発されたインターフェースチップです テクノロジー ハイブリッド高性能 PCI バス ターゲット (スレーブ) モードを提供できる拡張アダプター ボードの会社。 このチップはさまざまなローカル バスに接続でき、PCI バス上で 132MB/S のバースト転送速度を持つ比較的遅いローカル バスをサポートします。 9052 のプログラム可能な構成は、多重化または非多重化 8/16/32 ビット ローカル バスに直接接続されます。 8 ビットおよび 16 ビット モードにより、ISA カードから PCI カードへの直接変換が容易になります。

1.1主な機能

(1) PCI V2.1 プロトコル機能と互換性があります。 9052 チップは PCI プロトコル V2.1 と互換性があり、開発コストの低いスレーブ モード アダプター デバイスをサポートします。 このチップは、ISA アダプター カードから PCI アダプター カードへの変換をサポートします。

(3) 割り込み発生器。 9052 は、XNUMX つのローカル バス割り込み入力から PCI 割り込みを生成できます。

(4) 時計。 9052 ローカル バス インターフェイスは TTL クロックで動作し、必要な内部クロックを生成します。 ローカル TTL クロックは PCI クロックと非同期で動作し、ローカル バスが PCI クロックから独立して動作できるようにします。 バッファされた PCI バス クロック BCLKO はローカル バス クロック LCLK に接続できます。

(5) プログラム可能なローカル バス構成。 9052 は、多重化または非多重化 8/16/32 ビット ローカル バスをサポートします。 チップにはイネーブルする 4 バイト、26 のアドレス ライン、および 32/16/8 ビットのデータ ラインがあります。

(6) リードファーストモード。 9052 はリードファースト モードをサポートしています。つまり、プリラッチされたデータは、ローカル バスの前に 9052 内部 FIFO レジスタから読み出すことができます。

(7)バスドライバー。 すべての制御、アドレス、およびデータ信号は、9052によって直接生成され、追加の駆動回路なしでPCIおよびローカルバスを駆動するために使用されます。

(8) シリアル EEPROM インターフェイス。 9052 には、構成情報をロードするための、特定の適合デバイス情報をロードするためのシリアル EEPROM インターフェイスが含まれています。 これはとても便利です。 シリアル EEPROM は、9052 を ISA インターフェイス モードに変換する場合にも必要です。

(9)9052つのローカルチップセレクト信号。 XNUMXはXNUMXつのローカルチップセレクト信号を提供します。各チップセレクトのベースアドレスと範囲は、シリアルEEPROMまたはメインコントローラによって個別にプログラムできます。

(10)XNUMXつのローカルアドレス空間。 ベースアドレスと各ローカルアドレス空間の範囲は、シリアルEEPROMまたはメインコントローラによって個別にプログラムできます。

(11)読み取り/書き込みストレージ遅延と書き込みサイクル保持。 ISAバスの場合、読み取り/書き込み信号はクロックサイクルの開始から遅延する可能性があります。

(12)ローカルバス待機状態。 追加のLRDYiハンドシェイク信号は、さまざまな待機状態を生成するために使用され、9052には内部待機状態ジェネレータがあります。

(13)プログラム可能なプレラッチカウンター。 ローカルバスのプレラッチカウンターは、0(プレラッチなし)、4、8、16、または連続値(プレラッチカウンターオフ)モードとしてプログラムできます。

1.2ピン機能

PCI9052は、160ピンのプラスチックPQFPパッケージ構造です。 各ピンの機能は、機能ブロックごとに表1から表7にリストされています。

2PCI9052チップの使用

一般的なPCIインターフェースとしてのPCI9052インターフェースチップ、そのアプリケーションの機会と範囲は広範です。 PCのISA拡張スロットの数がキャンセルされるまで徐々に減少するにつれて、PCI拡張スロットはPCマザーボード構成の主流になり、将来の拡張ボードの開発はPCIインターフェイスに基づく必要があります。

ただし、ISAインターフェイスを備えた既存の拡張ボードの多く、特に私が独自に開発したいくつかの特別な機能を備えた拡張ボード、それらをPCIスロットで引き続き使用する方法は非常に意味があるようです。 以下は、ISA拡張ボードをPCI拡張ボードに直接変換するためのPCI9052インターフェイスチップのアプリケーションに焦点を当てています。

2.1ISAインターフェースモードの概要

PCI9052の内部構造には、独立したISAロジックインターフェイスが含まれており、ISAからPCIへのスムーズな変換を完了できます。 8ビットおよび16ビットのデータ幅のISAデバイスをサポートしており、メモリマップまたはI / Oマップが可能です。 リードファーストモードは、データ読み取りのスループットを向上させるために使用されます。 ISAインターフェイスモードが有効になると、PCI9052はシングルサイクル動作のみを実行します。 特に、シリアルEEPROMはISAインターフェイスモードを有効にする必要があります。

2.1.1構成方法

ISAインターフェイスモード用にPCI9052を設定する方法はXNUMXつあります。

方法1:シリアルEEPROMの書き込み方法。 ライターを使用してデータをシリアルEEPROMに書き込みます。適切なデータを使用するには、表8を参照してください。 ISAモードの場合、LRESET#(132)ピンは常にハイである必要があり、MODE(68)ピンが非多重化モードである0に設定されていることを確認する必要があることに注意してください。

方法2:熱構成方法。 方法9052と同じデータを使用して、PCIバスからPCI132チップを介してシリアルEEPROMをプログラムします。 この方法では、ISAモードでLRESET#(68)ピンの極性がローからハイに変化することに注意し、MODE(0)ピンがXNUMXに設定されていることを確認する必要があります。

2.1.2構成上の注意

ISAインターフェイスモードを設定するときは、次の点に注意する必要があります。

①ISAインターフェースピンにアクセスする場合は、PCI9052ピンのC / ISAモードピン図を参照して接続してください。

②スペース0はISAインターフェースのメモリアクセスに割り当てられます。

③スペース1はISAインターフェースのI / Oアクセス用に割り当てられています。

④スペース0のローカルアドレスがCS0#の範囲内であっても、スペース1のローカルアドレスがCS1#の範囲内であっても、ISAアクセスは有効です。

⑤標準スレーブサイクルは、スペース2、スペース3、シリアルEEPROMを使用してアクセスできます。

2.2アプリケーション例

の適用例 エレクトロニック トランスファースイッチコントローラーを以下に示します。 コントローラの機能は、トリガー条件が検出されたときに制御コードC0Hをポート200Hに送信して、 リレー 切り替えアクションを完了します。 この例は、PCI9052を使用してISA拡張ボードからPCI拡張ボードに変換する方法を説明することを目的としています。

2.2.1ハードウェア設計

ハードウェア 回路 コントローラの構造図を図1のように示します。

回路は 9052 つの部分に分かれています。 最初の部分は、31 と PCI スロットの間の接続信号線です。 これらの信号には、アドレスデータ多重化信号AD?が含まれる。 0:3? , バスコマンド信号C/BE? 0:9052? # および PCI プロトコル制御信号 PAR、FRAME#、IRDY#、TRDY#、STOP#、IDSEL、DEVSEL#、PERR#、SERR#。 7 番目の部分はシリアル EEPROM との接続です。 信号線は EESK、EEDO、EEDI、EECS の 0 本あります。 シリアル EEPROM データは、ライターまたはオンラインで事前に書き込むことができます。 1 番目の部分は、0 とアプリケーション回路の間の接続です。 この例では、ISA ローカル バス信号が主に使用されます。 データラインLADはありますか? 23:2、アドレス行 ISAA? XNUMX:XNUMX? 、LA? XNUMX:XNUMX? 、I/O読み取りおよび書き込み信号線IOWR#、IORD#、アドレスラッチBALE。

2.2.2ソフトウェア設計

プログラムは9052つの部分に分かれています。 2つの部分は、PCIXNUMXの各構成レジスタに値を割り当て、チップを初期化します。 他の部分はメインプログラムです。 タスクは、レジストリ内の関連するキー値を継続的にクエリすることです。 条件が満たされると、ポートに制御コードを送信します。 プログラムはDELPHI言語で完了します。 DELPHIを選択する主な理由は、ダイナミックリンクライブラリなしで独立した実行可能ファイルにコンパイルでき、プログラムが短く強力であり、DELPHIバージョン間の互換性が比較的良好であるためです。 プログラムのフローチャートを図XNUMXのように示します。

リンク:   SKIIP31NAB12T11 TPS24751RUVR