PC/104(またはPC104 )は、PC/104コンソーシアムによってフォームファクタとコンピュータバスの両方を定義する組み込みコンピュータ 標準のファミリです。その名前は、元のPC/104仕様[1] [2]のボード間コネクタ(ISA )の104ピンに由来しており、コネクタの変更にもかかわらず、その後の改訂でも保持されています。PC/104は、小型で堅牢なコンピュータシステムが必要とされる特殊な環境を対象としています。この標準はモジュール式であり、消費者はさまざまなCOTSメーカーのボードを積み重ねて、カスタマイズされた組み込みシステムを作成できます。[3]
オリジナルの PC/104 フォーム ファクタは、3.550 × 3.775 インチ (90 × 96 mm) で、デスクトップ PC のマザーボードよりも若干小さくなっています。マザーボードやバックプレーンに依存するATXなどの他の一般的なコンピュータ フォーム ファクタとは異なり、PC/104 ボードはビルディング ブロックのように互いに積み重ねられます。PC/104 仕様では、各モジュールの角に 4 つの取り付け穴が定義されており、スタンドオフを使用してボードを互いに固定できます。積み重ね可能なバス コネクタとスタンドオフの使用により、デスクトップ PC に見られるスロット ボードよりも頑丈な取り付けが実現します。コンパクトなボード サイズにより、衝撃や振動による PCB の曲がりの可能性が低減され、フォーム ファクタの堅牢性がさらに高まります。
一般的な PC/104 システム (一般に「スタック」と呼ばれます) には、CPU ボード、電源ボード、およびデータ取得モジュール、GPS受信機、ワイヤレス LANコントローラなどの 1 つ以上の周辺ボードが含まれます。さまざまなベンダーからさまざまな周辺ボードが提供されています。ユーザーは、複数のベンダーのボードを組み込んだスタックを設計できます。スタック全体の高さ、重量、および消費電力は、使用されるボードの数によって異なります。
PC/104は、そのアーキテクチャのほとんどがデスクトップPCから派生しているため、「スタック可能なPC」と呼ばれることもあります。[4] PC/104 CPUボードの大部分はx86互換で、シリアルポート、USB、イーサネット、VGAなどの標準的なPCインターフェースを備えています。x86 PC/104システムは通常、DOS、Windows、Linuxなどの標準的なPCオペレーティングシステムに対応しています。ただし、 VxWorksなどのリアルタイムオペレーティングシステムを使用することも一般的です。
歴史と標準化
PC/104バスとフォームファクタは、もともと1987年にAmpro(CTOのRick Lehrbaumが率いる)によって考案され、[5]その後1992年にPC/104コンソーシアムによって標準化されました。 [6] PC/104に対応するIEEE標準はIEEE P996.1として起草されましたが、批准されませんでした。[7] 1997年、PC/104コンソーシアムはPCIバスに基づく新しい標準を導入しました。[8] PCI Expressベースの標準は2008年に導入されました。[9]
PC/104関連の仕様はPC/104コンソーシアムによって管理されています。現在、コンソーシアムのメンバーは47社です。[10] コンソーシアムが発行するすべての仕様は無料で入手できます。PC/104ボードの設計と製造には、コンソーシアムの会員である必要はありません。
バス構造とフォームファクターの関係
PC/104 コンソーシアムが発表した仕様では、複数のバス構造 (ISA、PCI、PCI Express) とフォーム ファクタ (104、EBX、EPIC) が定義されています。バス構造は、バス コネクタの位置とピン配列を定義します。フォーム ファクタは、ボードのサイズと形状を指します。PC/104 スタッカブル拡張バスの 1 つは、さまざまなフォーム ファクタで見つけることができます。バス構造を使用する市販製品のほとんどは、以下にリストされているフォーム ファクタに準拠していますが、非標準または独自のフォーム ファクタに PC/104 バス構造の 1 つを組み込んで拡張することも可能です。
「PC/104」という用語は、バス構造またはフォーム ファクタのいずれかを指すために頻繁に使用されることに注意してください。これは混乱の原因となる可能性があります。たとえば、製品のデータシートでは、ボードのサイズと形状から「PC/104」と呼ばれていますが、実際には PCI-104 拡張バスが搭載されています。
バス構造
PC/104 コンソーシアムの仕様では、さまざまなコンピュータ バスが定義されています。これらはすべて、デスクトップ PC に搭載されている ISA、PCI、および PCI Express バスから派生したものです。
PC/104
オリジナルの PC/104 バスはISA バスから派生したものです。ISA バスにあるすべての信号に加えて、バスの整合性を確保するために追加のグランド ピンが追加されています。信号のタイミングと電圧レベルは ISA バスと同じですが、電流要件が低くなっています。PC/104 仕様では、8 ビットまたは 16 ビットの 2 つのバージョンのバスが定義されています。8 ビット バージョンは IBM XT に対応し、64 ピンで構成されています。16 ビット バージョンは IBM AT に対応し、40 個のピンが追加され、合計は 104 個になります (そのため、「PC/104」という名前が付けられています)。J1/P1 とマークされた信号は両方のバージョンにありますが、J2/P2 の信号は 16 ビット バージョンにのみあります。
PC/104 は ISA バスに基づいているため、周辺機器ボードをインストールするときにベース アドレス、IRQ、およびDMA チャネルを設定する必要があることがよくあります。これは通常、周辺機器ボード上のジャンパーまたはDIP スイッチを使用して行われます。周辺機器を正しく構成しないと、リソースの競合が発生し、動作が不安定になる可能性があります。
PC/104-プラス
PC/104- Plus規格は、PC/104 規格の ISA バスに加えて、PCI バスのサポートを追加します。この名前は、PC/104- Plusモジュールに PC/104 コネクタ (ISA)とPCI コネクタがあることに由来しています。この規格では、PC/104 コネクタとは反対側のボードにある PCI バス用の 120 ピン コネクタを定義しています。
PC/104- Plus CPU ボードは、両方のバスでアクティブな通信を提供し、ISA および PCI 周辺カードの両方と通信できます。PC/104- Plus周辺モジュールでは、PC/104 コネクタはスタック可能なパッシブ コネクタに過ぎず、モジュールは PCI バスでのみアクティブに通信します。結果として、PC/104- Plus周辺モジュールは PC/104 CPU ボードでは使用できません。ただし、PC/104- Plus CPU ボードは PC/104 周辺モジュールで使用できます。
PC/104- Plus はPCI ベースなので、周辺ボードのベース アドレス、IRQ、または DMA チャネルを設定する必要はありません。ただし、周辺ボードをインストールするときに、周辺ボードの PCI スロット番号を指定する必要があります。これは通常、周辺ボードのロータリー スイッチ、DIP スイッチ、またはジャンパーによって設定されます。システム内の各 PCI 周辺ボードの PCI スロット番号は、一意の値に設定する必要があります。そうしないと、システムの動作が不安定になることがあります。CPU に最も近い周辺ボードを最初のスロットに設定し、次のボードを 2 番目のスロットに設定するなどします。
PCI-104
PCI-104 フォーム ファクタには PCI コネクタが含まれていますが、使用可能なボード領域を増やすために PC/104 コネクタは含まれていません。PCI コネクタには 104 ピンではなく 120 ピンがありますが、既存の名前はそのままです。PCI コネクタの位置とピン配列は PC/104- Plusと同じです。
ISA バスが省略されているため、PCI-104 ボードは PC/104 周辺モジュールと互換性がありません。ただし、PCI-104 と PC/104- Plus はどちらも PCI バスを使用しているため互換性があります。ほとんどの PC/104- Plusボードは、PC/104 コネクタを実装しないだけで、PCI-104 として製造できます。
PCI-104 は、PC/104- Plusと同じ PCI スロット番号選択方式を使用します。各デバイスには、一意のスロット番号を割り当てる必要があります。
PCI/104-エクスプレス
PCI/104-Express 仕様には、前世代の PCI バスに加えて、 PCI Expressバス (PCIe) が組み込まれています。この仕様では、PCI Express 信号用の 156 ピン表面実装コネクタが定義されています。新しいコネクタは、従来の PC/104 ISA コネクタと同じボード位置を占めます。PCI Express に加えて、この仕様では、USB、SATA、LPCなどの最新のコンピュータ バス用のコネクタ ピンも定義されています。
PCI/104-Express仕様では現在、PCIeコネクタの2つのピン配置が定義されている: [12]
- タイプ 1 には、 4 つの x1 PCI Express リンク、2 つの USB 2.0 ポート、および 1 つの x16 PCIe リンクがあります。
- タイプ 2 には、 4 つの x1 PCI Express リンク、2 つの USB 2.0 ポート、2 つの PCIe x4 リンク、2 つの USB 3.0 ポート、2 つの SATA ポート、および LPC があります。
CPU ボードと周辺機器は、タイプ 1、タイプ 2、またはユニバーサル (2 つのタイプ、PCIe x1 および/または USB 2.0 間の信号の共通サブセットのみを使用) として設計できます。タイプ 2 のピン配置は、仕様のバージョン 2.0 (2011 年にリリース) まで導入されませんでした。2011 年より前に導入された PCI/104-Express 製品はタイプ 1 またはユニバーサルのいずれかになりますが、明示的にそのようにラベル付けされていない場合があります。タイプ 1 バスはタイプ 2 周辺機器と互換性がなく、その逆も同様です。仕様では、タイプが一致しない場合はシステムをリセット状態のままにして起動しないようにする必要があります (物理的な損傷は発生しません)。ユニバーサル周辺機器ボードは、タイプ 1 またはタイプ 2 のピン配置で使用できます。
PCIe バス コネクタはスルーホールではなく表面実装であるため、ボードの上面と下面で異なるバス ピン配列を使用することもできます。たとえば、CPU ボードには、タイプ 1 の下部 PCIe コネクタとタイプ 2 の上部 PCIe コネクタがある場合があります。このような CPU ボードは、下面のタイプ 1 および/またはユニバーサル ペリフェラルと互換性があり、上面のタイプ 2 および/またはユニバーサル ペリフェラルと互換性があります。
PC/104- Plusと同様に、PCI/104-Express CPU ボードは、PCI バスと PCIe バスの両方でアクティブな通信を提供します。PC/104-Express CPU ボードは、PCI-104 および PC/104- Plus周辺モジュールで使用できます。ただし、PCI/104-Express 周辺モジュールは PCIe バスでのみ通信します。PCI コネクタは、スタック可能なパススルー コネクタにすぎません。PC/104-Express 周辺モジュールは、PCI-104 または PC/104- Plus CPU ボードでは使用できません (ISA ブリッジ デバイスが使用されている場合を除く)。
PCI/104-Express にはリンク シフトが組み込まれているため、PCI-104 および PC/104- Plus周辺機器にある PCI スロット選択スイッチ/ジャンパーは不要です。一部の周辺機器ボードは PCIe リンクを再配置するため、CPU ボードによって提供される PCI Express リンクの初期セットを超えて、スタックに追加の周辺機器ボードを追加できます。リンクの再配置は仕様上の要件ではなく、PCI Express パケット スイッチを使用して周辺機器ボードに実装する必要があります。
PCIe/104
PCIe/104 は PCI/104-Express 標準に似ていますが、ボード上の使用可能なスペースを増やすために従来の PCI バスを省略しています (PC/104- Plusと PCI-104 の関係と同様)。PCI Express コネクタの位置とピン配置オプションは、PCI/104-Express (タイプ 1 とタイプ 2 の両方) と同じです。PCI バス コネクタが省略されているため、PCIe/104 ボードは PC/104- Plusおよび PCI-104 システムと互換性がありません (PCIe から PCI へのブリッジ デバイスを使用しない限り)。
フォームファクター
PC/104 コンソーシアムの仕様は、ボードのサイズと形状を定義する 3 つのフォーム ファクタをカバーしています。各フォーム ファクタは、上記のバス構造のいずれかを使用できます。
104 または PC/104
104 フォーム ファクタは 3.550 × 3.775 インチ (90 × 96 mm) と定義され、ボードの 4 つの角すべてに取り付け穴があります。仕様では、I/O コネクタ用に PCB の端から 0.5 インチ (13 mm) の領域も許可されています。一部の PC/104 製品には、I/O コネクタ領域まで伸びた特大の PCB があります。拡張された PCB の「翼」は仕様では取り上げられていませんが、PCB + I/O コネクタの全体的なオーバーハングが最大許容寸法の 4.550 × 4.393 インチ (116 × 112 mm) 以内であれば、通常、機械的な問題は発生しません。
寸法は元々 PC/104 仕様で定義されていたため、フォーム ファクターは今でも一般的に「PC/104」と呼ばれています。PCI/104-Express および PCIe/104 仕様では、フォーム ファクターを従来の PC/104 バスと区別するために「104」という名前が導入されました。
EBX と EBX Express
EBX (Embedded Board eXpandable) は、5.75 × 8 インチ (146 × 203 mm) のシングル ボード コンピュータ フォーム ファクタです。EBX フォーム ファクタはCPU ボードに適用されますが、拡張用に PC/104 フォーム ファクタの周辺ボードもサポートしています。元の EBX 仕様では、PC/104、PC/104- Plus、および PCI-104 バスが許可されていました。EBX Express では、PCI-104/Express バスと PCIe/104 バスが追加されます。
EPIC と EPIC Express
EPIC (Embedded Platform for Industrial Computing) はシングルボード コンピュータ フォーム ファクタで、EBX と同様に PC/104 周辺ボードをサポートしますが、サイズは EBX より小さく、6.5 × 4.5 インチ (165 × 114 mm) です。これにより、I/O 接続をピン ヘッダーまたは PC スタイル (「現実世界」) コネクタとして実装できます。この標準では、イーサネット、シリアル ポート、デジタルおよびアナログ I/O、ビデオ、ワイヤレス、さまざまなアプリケーション固有のインターフェイスなどの機能を実装するための特定の I/O ゾーンが提供されます。EPIC Express はPCI Express の拡張性を追加します。
スタッキング制限
一般に、すべての PC/104 スタックには、CPU ボード、電源ボード、および 1 つ以上の周辺ボードが含まれます。PC/104 スタックでサポートされるボードの最大数は、周辺ボードが使用するバスによって異なります。
- ISA バス- 1 つのシステムで共存できる ISA ボードの数に厳密な制限はありません。ただし、ベース アドレス、IRQ、および DMA チャネルの数には制限があり、これが制限要因となる場合があります。ISA ボードは、CPU ボードのどちら側にも積み重ねることができます。
- PCI バス- PC/104- Plusおよび PCI-104 仕様では、4 つの PCI「スロット」が許可されています。これにより、システムごとに 4 つの PCI 周辺ボードというハード制限が課せられます。PCI バスの信号要件により、すべての PCI 周辺モジュールは、コントローラの片側に連続して接続する必要があります。
- PCI Express - PCI Express 周辺ボードの合計数は、CPU ボードが提供する PCIe リンクの数によって異なります。たとえば、CPU ボードが 4 つの x1 PCIe リンクを提供する場合、最大 4 つの x1 PCIe 周辺カードをインストールできます。1 つ以上の周辺ボードが PCIe リンクの再配置を提供する場合、追加のモジュールをインストールできます。CPU ボードの上部にある PCIe リンクは、下部にあるリンクとは独立しています。CPU ボードの下に PCIe 周辺機器をインストールしても、上部のリンクの 1 つが消費されることはありません。使用可能な PCIe リンクの数と幅は、CPU ボードの上部コネクタと下部コネクタ間で異なる場合があります。
- USB および SATA - PCI/104-Express および PCIe/104 仕様は、スタック内の周辺機器ボードで使用できる USB および SATA の信号を提供します。USB および SATA を使用する周辺機器は、CPU ボードによって提供されるリンクの数に制限されます。USB 周辺機器は、オンボードUSB ハブを組み込むことでリンクの再配置を提供できます。
使用されるバスに関係なく、PC/104 スタックのボードの最大数は、対象アプリケーションのサイズ、重量、および電力制限により制限される場合があります。
ボード間の機械的干渉
PC/104 ボードを積み重ねる場合、隣接するボード間の機械的な干渉が懸念されます。
- バス コネクタ- 複数のバス構造で構成されたシステムを組み立てる場合、バス コネクタが隣接するボード上のコンポーネントに干渉する可能性があります。たとえば、PC/104- Plusボードを PC/104 ボードの上に積み重ねると、PCI コネクタの下側のピンが下のボード上のコンポーネントに干渉する可能性があります。
- 仕様外のコンポーネントとコネクタ- PC/104 仕様では、ボードの両側に配置できるコンポーネントとコネクタの高さが制限されています。高さの制限領域は、ボードが上下に積み重ねられた他のボードと干渉しないことを保証することを目的としています。ただし、これらの制限に違反するボードが見つかることも珍しくありません。
- ヒートシンク- 積み重ねられた PC/104 ボード間の標準間隔は 0.600 インチ (15.24 mm) です。電力消費量が大きいコンポーネント (CPU、GPU、FPGA) では、従来のボード間隔に収まらない大きなヒートシンクが必要になることがよくあります。周辺ボードを上に積み重ねることができない、比較的大きなヒートシンクを備えた PC/104 CPU ボードは珍しくありません。PCI/104-Express および PCIe/104 仕様の後の改訂では、従来の高さのコネクタと互換性のある、オプションで高さが 0.866 インチ (22.00 mm) のコネクタが導入されました。
上記の機械的干渉の問題は、多くの場合、バス スペーサーを使用して対処できます。バス スペーサーを使用すると、ボード間のスペースを増やすことができます。ただし、バス スペーサーを使用するとスタック全体の高さが増すため、スペースが限られたアプリケーションには適さない場合があります。スタック内のボードを再配置して干渉を排除することもできます。別の方法として、問題のあるボードを変更して干渉を排除することもできます (例: コネクタの実装を減らす)。ただし、ベンダーがボードのカスタマイズ バージョンを提供する必要がある場合があります。
潜在的な互換性の問題
理論上、PC/104 ボードは相互運用可能です。上記の基本的なバス構造の互換性の問題を条件に、複数の異なるベンダーのボードを使用してシステムを組み立てることは可能です。ただし、互換性の問題が発生することもあります。
- PC/104 キー ピン – PC/104 仕様では、コネクタの位置ずれを防ぐために 2 つのキー ピンが定義されています。これらのピンはコネクタに装着されません。ただし、一部のベンダーはキー付き PC/104 コネクタを使用していません。複数のベンダーのボードを使用する場合、問題が発生する可能性があります。問題のあるピンを切り取ることで、キーのないボードを変更できる場合がよくあります。
- 必要な電源電圧 – PC/104 バスは、複数の電源電圧 (+5V、+3.3V、+12V など) を提供します。ボードで実際にどの電圧が使用されるかは、ボードの製造元の裁量によります。スタック内のボードに必要なすべての電圧を供給するように注意する必要があります。
- 電源の競合 – 一部のボードはスタックに電力を供給します (例: CPU ボード)。これにより、スタック内の電源と競合する可能性があります。
- PCI 信号レベル – PCI バスは +3.3V または +5V 信号レベルで動作します。ボードによっては 1 つの電圧を期待するものもあれば、異なる電圧を期待するものもあります。
- PCI VIO ライン – PCI バス上の VIO 信号は CPU ボードによって駆動されることになっています。ただし、一部の周辺ボードと電源がこの信号を駆動します (PCI 仕様に違反)。
- 最新のチップセットでの ISA バス – 従来の ISA バスは、最新のチップセットでは省略されています。ISA バスを提供する新しい CPU ボードは、多くの場合、ISA ブリッジ チップ (PCI-to-ISA または LPC-to-ISA) を利用してこれを実現します。場合によっては、ISA バスが完全に実装されておらず、互換性の問題が発生する可能性があります。
- 4 つのバス マスター – PC/104- Plusおよび PCI-104 仕様では、当初は PCI バス上で 4 セットの Grant/Request ペアが許可されていませんでした。これは、仕様の新しいリビジョンで解決されました。ただし、古いボードでは、3 番目または 4 番目の PCI スロット位置で DMA を使用すると問題が発生する可能性があります。
ソフトウェア開発
PC/104 CPU ボードの大部分はx86 互換で、市販の PC ソフトウェアを変更することなく実行できます。PC/104 システムの標準 PC I/O インターフェイス (シリアル ポート、USB、イーサネット、VGA など) は、通常、オペレーティング システムに組み込まれたネイティブドライバーによってサポートされます。データ取得などの特定の周辺ボードでは、ボード製造元からの特別なドライバーが必要になる場合があります。
ソフトウェア開発の観点から見ると、デスクトップ PC 用にソフトウェアをコンパイルすることと、x86 PC/104 スタック用にソフトウェアをコンパイルすることの間にはほとんど違いはありません。ソフトウェアは、標準の x86 コンパイラ (PC/104 システムで Windows を実行している場合は Visual Studio など) を使用して開発できます。通常、クロス コンパイラ、ボード サポート パッケージ、JTAG デバッガーなどの特殊な開発ツールは必要ありません。これは、ボード メーカーからの開発ツールチェーンを必要とすることが多い、x86 以外の組み込みシステム プラットフォームからの大きな変化です。
ARMまたはPowerPCベースの非 x86 PC/104 CPU ボードも市販されています。ただし、このようなボードでは市販の PC ソフトウェアを実行できません。このような場合、通常、サポートされているオペレーティング システム用の ボード サポート パッケージがメーカーから提供されます。
綴りのバリエーションと略語
「PC/104」またはその派生語を印刷する場合、スラッシュやダッシュを省略するのが一般的です。PC/104はPC104、PCI-104はPCI104などと省略される場合があります。さらに、PC/104- Plusはプラス記号で省略されるのが一般的です(例:PC104+)。[13] このような略語は、PC/104コンソーシアムの仕様や文献では正式に認められていませんが、長い間使用されてきました。
ストレージ
PC/104 システムでは、コンパクト フラッシュやソリッド ステート ディスク(SSD) デバイスなどの小型の不揮発性ストレージが必要になることがよくあります。これらは、機械式 (回転式) ハード ドライブよりもよく使用されます。回転式ディスクと比較すると、フラッシュ ベースのストレージ デバイスは書き込みサイクルの点で寿命が限られていますが、より高速で消費電力も少なくなります。さらに、そのコンパクトさと物理的耐久性は、多くの場合、厳しい PC/104 アプリケーションに適しています。磁気ハード ドライブはサイズがかさばり、繊細な部品が多いため、過酷な環境では故障しやすくなります。
参照
参考文献
- ^ Burckle, Robert. 「PC/104: 組み込み PC メザニン」(PDF)。
- ^ 「PC104.com - PC104とは?」www.pc104.com . 2021年5月19日閲覧。
- ^ 「なぜ PC/104 なのか? 組み込み PC 標準の必要性」。2008 年 1 月 29 日閲覧。
- ^ 「PC/104コンソーシアムの技術アップデート:ISAからPCI、そしてPCI Expressまでスタック可能なPC」。2014年9月4日閲覧。
- ^ Himpe, Vincent (2006). Visual Basic for Electronics Engineering Applications (第 2 版). インド: Segment BV / Elektor Electronics. p. 407. ISBN 0-905705-68-8. 2008年1月29日閲覧。
- ^ 「PC/104 Embedded Consortium の歴史」2008 年 1 月 29 日閲覧。
- ^ Angel, Jonathan (2010-02-01). 「オープン スタンダードが小さな拡張モジュールを定義」 LinuxDevices.com . 2014-03-18に閲覧。
- ^ 「PC/104コンソーシアム - 歴史」。2014年8月14日閲覧。
- ^ 「PC/104 Embedded Consortium が PCI/104-Express 仕様を承認」2014 年 8 月 14 日閲覧。
- ^ 「PC/104コンソーシアム会員ディレクトリ」。pc104.org 。 2013年6月2日時点のオリジナルよりアーカイブ。2014年9月4日閲覧。
- ^ 「PCI/104-Express & PCIe/104 仕様、バージョン 3.0」(PDF) . pc104.org . 2015 年 2 月 17 日. 2016 年 11 月 2日閲覧。
- ^ 「PCIe/104 とは何か?」2014 年 8 月 8 日閲覧。
- ^ 「非標準 PC/104 略語の例」2014 年9 月 8 日閲覧。
外部リンク
- PC/104 コンソーシアム
