







STEバス(IEEE-1000バス[1]とも呼ばれる)は、プロセッサに依存しない、非独自仕様のコンピュータバスで、8本のデータラインと20本のアドレスラインを備えています。1980年代後半から1990年代初頭にかけて、産業用制御システムで広く利用されていましたが、その後、IBM PCが市場を席巻しました。STEはST andard Eurocardの略です。[2]
元の市場ではもはや競争力はありませんが、「自家製」のコンピュータ システムを作りたい愛好家にとっては有効な選択肢です。[論評] Z80とおそらく CMOS 65C02が使用可能なプロセッサです。[非論理的]標準化されたバスにより、愛好家は互いの設計にインターフェイスすることができます。
1980年代初頭には、それぞれ長所と短所を持つ独自のバスシステムが数多く存在していました。そのほとんどは、特定のマイクロプロセッサを中心に、場当たり的に発展してきました。S -100バスはIntel 8080の信号、STDバスはZ80の信号、SS-50バスはMotorola 6800の信号、G64バスは6809の信号をベースにしていました。そのため、他のプロセッサとのインターフェースが困難でした。より強力なプロセッサにアップグレードするとタイミングが微妙に変化し、タイミング制約が必ずしも厳密に規定されているわけではありませんでした。電気的パラメータや物理的寸法も同様でした。バスにはエッジコネクタが使用されることが多く、これは汚れや振動の影響を受けやすかったのです。
VMEバスは、信頼性の高いDIN 41612コネクタと、明確に規定されたEurocardボードサイズおよびラックシステムを採用し、高性能16ビットプロセッサ向けの高品質なソリューションを提供していました。しかし、アプリケーションが8ビットプロセッサのみを必要とする場合、これらのソリューションはコストが高すぎました。
1980年代半ば、STEbus規格はこれらの問題に対処するため、 8ビットプロセッサ向けに簡素化されたVMEバスのようなものを規定しました。バス信号は十分に汎用的であるため、8ビットプロセッサとのインターフェースが容易です。ボードサイズは通常、シングルハイトのユーロカード(100 mm x 160 mm)でしたが、ダブルハイトのボード(233 mm x 160 mm)もサポートされていました。[3] 後者は、バスコネクタをVMEバスシステムにすっきりと統合できる位置に配置しました。
IEEEワーキンググループP1000は当初、STDバスのピン配置を単純に変更し、カードエッジコネクタをDIN41612コネクタに置き換えることを検討していました。しかし、彼らは全く新しい高性能8ビットバスを開発することを決定しました。VMEバスやFuturebusに似たバスを作ることを決定しました。STEバスは、メーカーやプロセッサに依存しない設計で、マルチマスター機能も備えていました。[4]
STEbusは当時大きな成功を収め、IEEE 1000-1987の公式規格に認定されました。
STEbusカードには、価格と性能の幅広い範囲にわたる多くのプロセッサが搭載されていました。これらのボードには、Intel 8031、8085、8088、80188、National Semiconductor 32008および32016 、 Motorola 6809、68000、68008、Zilog Z80およびZ280、Hitachi HD64180、Inmos Transputerなどが含まれていました。 [ 4 ]
STEbusは8ビットマイクロプロセッサ向けに設計されています。通常、より広いデータバス(16ビットなど)を使用するプロセッサでも、バイト単位のチャンクでデータを処理できる場合はSTEbusを使用できます。これにより、スレーブは応答に必要な時間だけ待つことができます。[1]
STEbusは、人気のZ80、6809、そして68020までのプロセッサをサポートしていました。唯一人気のあったマイクロプロセッサは6502だけで、これは書き込み時のウェイトステートを自然にサポートしていなかったためです。CMOSの65C02にはこの欠点はありませんでしたが、NMOSの6502やZ80よりも希少で高価でした。6809はサイクルストレッチを採用していました。
周辺ボードには、プロトタイピングボード、ディスクコントローラ、ビデオカード、シリアルI/O、アナログおよびデジタルI/Oが含まれていました。STEbusは、ボードの容易な交換とプロセッサの独立性を備え、産業用途に十分な堅牢性を備えたラックマウントシステムを提供するという目標を達成しました。 [5]
研究者たちはSTEbusシステムを堅牢で適応性に優れ、費用対効果が高いと評価しています。[6]
IBM PCが産業用制御システムへの進出を進めるにつれ、STEbus市場は衰退し始めました。顧客は、ソフトウェア基盤が充実し価格も手頃だったPCベースの製品を選択しました。多くのプログラマーがPCに精通しており、新しいシステムを学ぶ必要もありませんでした。
メモリコストが低下したため、プロセッサボード上に十分なメモリを搭載できる場合、バスベースのメモリ拡張を採用する理由が少なくなりました。そのため、メーカーはデメリットを承知の上で産業用PCシステムを開発し、最終的には他のバスシステムを廃止しました。時が経つにつれ、PCシステムはカードケージとバックプレーンの必要性をなくし、ボードを積み重ねるPC/104形式に移行しました。STEbusほど優れた設計ではありませんが、PC/104は多くの用途に十分対応できます。 [要出典]主要メーカーは、最盛期の頃からSTEbusをサポートしていますが、これは主に、自社製品を大量に購入してくれた古くからの顧客への好意によるものです。[要出典] [論評]
2013年現在でも、一部のメーカーはSTEbus、G64、Multibus II、その他のレガシーバスシステムをサポートしています。[7]
IEEE がこの標準を撤回したのは、欠陥があるからではなく、更新できるほどアクティブではなくなったためです。
3Uユーロカード- 最も一般的なサイズは 100 x 160 mm のユーロカードでした。
6Uユーロカード- 希少、VMEbus ハイブリッドボードで使用されることがある
DIN 41612、列 a および c、0.1 インチ ピッチ。
VME/STEハイブリッドボードでは、STEbusとVMEbusがVME P2コネクタを共有し、VME信号はb列に出力されます。そのため、STEbusボードはb列をいかなる目的にも使用できません。
アクティブ ロー信号はアスタリスクで示されます。
GND: 接地基準電圧
+5V: ほとんどのロジックに電力を供給します。
+12Vと-12V: 主にRS232バッファ電源として使用されます。+12Vは電圧発生器のプログラミングに使用されます。どちらもアナログ回路で使用できますが、主にデジタル回路の電源レールであるため、デジタルノイズが発生することが多いことに注意してください。アナログ回路では、ある程度のデカップリングまたはローカルレギュレーションが推奨されます。
VSTBY: スタンバイ電圧。オプション。このラインは5V(+0~+5%)、最大1Aと規定されています。ただし、一部のボードでは、このラインをバッテリバックアップ電圧を供給または消費するボードに供給するために使用しています。3.6Vのニッカド電池が一般的な供給源です。STEbus仕様では、この電圧の供給源について厳密な規定はありません。
実際には、バックアップ電源を必要とするほとんどのボードは安全策としてバッテリーを搭載しており、VSTBYから電力を供給または受信するためのリンクを備えている場合が多いです。そのため、システムに必要な数よりも多くのバッテリーが搭載されることになり、VSTBYを駆動するバッテリーが1つだけになるように注意する必要があります。
D0...7: データバス。これは8ビット幅のみですが、ほとんどのI/Oまたはメモリマップされた周辺機器はバイト指向です。
A0...19: アドレスバス。これにより最大1MBのメモリをアドレス指定できます。現在の技術では、大容量メモリを必要とするプロセッサはプロセッサボード上にこのバスを搭載しているため、これは大きな制限ではありません。I/Oアドレスのデコードを実用的なレベルまで簡素化するため、I/O空間は4Kに制限されています。各スレーブボードに搭載された74LS688は、A11...A4をデコードすることで、16バイトアラインメントを持つ任意のI/OアドレスにI/Oスレーブボードを配置できます。[1] [8] 通常、8つの小さなジャンパー、8つのDIPスイッチ1つ、または2つのバイナリコード16進ロータリースイッチを使用して、各I/Oスレーブボードに固有のアドレスを割り当てます。[1]
CM0...2: コマンド修飾子。データ転送サイクルの性質を示します。
シンプルなプロセッサボードでは、CM2を全てのバスアクセスでハイに駆動し、CM1をメモリ/not_IO信号、CM0をread/not_write信号で駆動できます。明示的応答モードの場合、CM2のロー状態は「アテンション要求」フェーズ(割り込みおよび/またはDMAサイクル)でのみ使用されます。暗黙的応答モードを使用する場合、バスマスターはスレーブボードをポーリングして、どのスレーブボードがアテンション要求をトリガーしたかを特定し、信号源をリセットします。この場合、ベクターフェッチは使用されません。
ATNRQ0...7*: アテンション要求。これらは、ボードがプロセッサへのアテンションを要求するために予約されています。アテンションとは、割り込みとダイレクトメモリアクセス(DMA)の両方を指す用語です。信号の選択は適切ですが、これらのラインがマスク可能割り込み、マスク不可能割り込み、DMAなどの特定の種類に限定されるわけではありません。
アテンションリクエストの数は、リアルタイム制御システムにおけるSTEbusの本来の役割を反映しています。8本のラインを3ビットの優先度でエンコードすることができ、これは処理するのに十分実用的なライン数です。
BUSRQ0...1*およびBUSAK0...1*: バス要求およびバス確認応答。オプション。マルチマスターシステムで使用されます。
アテンションリクエストの数は、STEbusがシンプルさを目指していることを反映しています。シングルマスターシステムが標準ですが、これらの信号により、必要に応じてセカンダリバスマスターをシステムに配置できます。
DATSTB*: データストローブ。これはデータ転送サイクルにおける主要な信号です。
DATACK*: データ確認応答。スレーブは、STEbus経由のデータ転送が安全に完了したことを確認するために、この信号をアサートします。これにより、STEbusシステムは様々な速度のプラグインカードを使用できるようになります。これは、すべての処理を最も遅いデバイスの速度で実行する必要があった以前のバスシステムに対する改善です。
TFRERR*: 転送エラー。スレーブは、STEbus経由のデータ転送が誤って完了したことを確認するときにこの信号をアサートします。
ADRSTB*: アドレスストローブ信号。この信号はアドレスバスが有効であることを示します。元々、この信号はDRAMボードで実用的に使用されていました。DRAMボードでは、データバスの準備が整う前にアドレスラインをDRAMチップにストローブ送信できます。しかし、STEbus仕様は後に、スレーブはDATSTB*が準備完了するまで転送を開始できないと規定されたため、ADRSTB*はもはや不要となりました。現在では、STEbusマスターは同じロジック信号からDATSTB*とADRSTB*を生成するだけで済みます。スレーブはDATSTB*が有効になったことを通知するだけです(バス定義では、アドレスもデータと同時に有効になることが規定されているため)。ADRSTB*はまた、バスマスターが2つのDATSTB*パルスの間アクティブ状態を維持することで、不可分なリード・モディファイ・ライトサイクルの間バスの所有権を保持できるようにします。このシーケンスは68008バスのシーケンスと一致します。他のCPUでは、リード・モディファイ・ライトサイクルを生成するために追加のロジックが必要になる場合があります。
SYSCLK: システムクロック。16MHzに固定。デューティサイクルは50%。
SYSRST*: システムリセット [9]
バックプレーンはすべてのDINコネクタを並列に接続します。そのため、STEbus拡張カードは、バックプレーンのどのスロットに接続しても同じ信号を受け取ります。[8]
SYSCLKはシステム内の1つのボードのみで駆動する必要があります。規格で説明されているように、この信号はシステムコントローラによって生成されます。
システムコントローラは、複数のマスターが存在する場合のバス調停も担当します。マスターが1つの場合、システムコントローラは不要であり、SYSCLKはマスターボードによって生成されます。
{{cite book}}: CS1 maint: multiple names: authors list (link)