Q1 APC-732の仕様を教えて下さい。 |
|||||||||
![]() |
主な違いは以下の通りです。
|
Q2 どんなコンセプトの製品ですか? |
|
![]() |
複数のボードを光ケーブルで接続し、通信する為のボードです。ソフトウェアから見れば、
PCIバス上に共有メモリが128MByte がアサインされているように見えます。
その共有メモリを介してお互いが通信します。全ノードでデータを共有出来ますので、
処理の分散化/共有化等に威力を発揮します。 |
Q4 各ノードのアドレスはPnPですか? |
|
![]() |
いいえ。各ノードはジャンパスイッチで自己のIDを固定指定します。
同一ループ内に同じIDを指定することは出来ません。またマスタ・ノードが1つ存在する必要があります。
マスタ・ノードはループ上を流れるパケットの管理ノードで、マスタ・ノードもジャンパで固定指定します。 |
Q5 通信の為の特別なプロトコル・スタックは必要ですか? |
|
![]() |
いいえ。プロトコルは全てH/Wで行いますのでS/Wで制御を行う必要はありません。 S/Wは共有メモリをR/Wするだけで通信が可能です。 データを他ノードに送信する場合は共有メモリに書き込むだけで、 接続されている全ノードはそのデータを参照する事が可能です。 |
Q6 データ通信(共有)以外の機能はありますか? |
|
![]() |
ID=0〜31のノードでは任意のノードに対して割り込みを発生させる事が可能です。 従ってデータの準備が出来た時点や変更を行った時点で一斉通知や個別通知が可能になります。 また、エラーが発生した時点での割り込み通知や、共有メモリの排他同期をとるセマフォ機能があります。 |
Q7 セマフォ機能とはどのような使い方をするものですか? |
|
![]() |
共有メモリの「あるエリア」を複数のノードで同時に更新/参照するような
アプリケーションを作成する場合に、他ノードとの同期を簡単に行う為のH/W機能です。 |
Q9 接続されるノード数によって速度は変わりますか? |
|
![]() |
はい。各ノードを通過する際のオーバーヘッドがあります。 データを送出したノードのすぐ隣のノードと一番遠いノードとではデータの到着時間が異なります。 ノードを通過する際のオーバーヘッドは約450ns〜500nsです。またケーブル長によっても遅延が発生します。 1m当たり約5nsで計算されます。 |
Q10 データの遅延時間を計算できますか? |
|
![]() |
はい。通信プロトコルは独自のトークン方式を採用しており、各ノードはトークンが自ノードに来た時点でデータを送出します。送信を行う場合のベストケースはトークンが自ノード上にある場合、ワーストケースはトークンが過ぎた時点で送信する場合です。以下に例を示します。 【ノード数=4、ID 0からID 3へ送信する場合(ノード間10m想定)】 |
Q12 ITRONや他OSでも使用できますか? |
|
![]() |
もちろん可能です。標準ドライバーは用意しておりませんが、
実際にはメモリアクセスの概念ですので特別なS/Wは不要です。
アプリケーションから直接R/Wする事も可能です。
MMUを使用している場合や割り込みを使用する場合はOSによっては
ドライバーをお客さまで用意する必要があります。 |
Q13 その他、注意する点はありますか? |
|
![]() |
例えばx86システムとPowerPCシステムで通信をする場合は、 「エンディアン」が異なりますので注意が必要です。 通信するデータの特性によっては相手のエンディアンに合わせる必要があります。 |
Q14 どんなアプリケーションが考えられますか? |
|
![]() |
分散処理を考えると、あるノードでデータを収集しそれを他ノードで分散処理するようなケースです。データは画像データであったり、他ノードの演算結果であるケースも考えられます。 |
Q15 APC-732はPCI空間にどのようにマッピングされますか? |
|
![]() |
APC-732はベースアドレスを3個持っています。これらはPCIのメモリ空間としてマッピングされますのでドライバの対応していない環境(OS)でも容易にアクセスする事が可能です。 |
Q18 トークン、フレームなど言葉の意味を教えてください。 |
||||||||||||||||||||
![]() |
以下に主な語彙を解説します。
フレーム構成
|
Q19 AGM-730とAPC-732は接続可能でしょうか? |
|
![]() |
2Gbps製品同士(APC-732-2GとAGM-730-2G)は接続可能です。
また4Gbps製品同士(APC-732-4GとAGM-730-4G)も接続可能です。 |
Q20 DMAで自ノード共有メモリへライトした場合、他ノードの共有メモリの更新タイミングは? |
|
![]() |
DMA、PIOを問わず共有メモリへのライト動作では同時にデータの送信を行っています。
よってメモリへのライトが完了した時点でデータの送信は完了します。 |
Q21 ドアベルレジスタとはどういった機能のレジスタでしょうか? |
|
![]() |
複数ノード間でステータスをやり取りできるレジスタです。 |
Q22 ブロックバーストモードとはどういったものですか? |
||||||||||||||||
![]() |
ノーマルモード時は1ノード当たりの送信ブロックが1ブロック( 1Kbyte)となります。
ブロックバースト時のフレーム構成
|
Q23 ブロックバーストモードはどのように設定しますか? |
|
![]() |
APC-732では回線制御レジスタ(Offset C0h)にて行います。 |
Q24 一般的なデータ転送はどういったフローとなりますか? |
|
![]() |
APC-732からAGM-730へデータを送る場合を例に以下説明します。 |
Q25 データエラーのチェックなどありますか?エラー発生時は、再送処理など行われますか? |
|
![]() |
CRC及び8B10Bコードチェックでエラーを検出しています。 回線上でエラーが発生した時はハードウェアによるリトライ(データ再送)が行われます。 ただしブロックバーストモード時はリトライ無効です。 |
Q26 ループの中の1台が故障するとどうなりますか? |
|
![]() |
トークンリング方式による通信なので 1箇所でも故障、ケーブル断線が発生すると通信が出来なくなります。故障個所の特定はLNK(リンク)LED又は回線制御レジスタで確認する事が出来ます。 |
Q27 フレームの管理はどの様に行われていますか? |
|
![]() |
ディップスイッチで設定したマスターノードがフレームを発行します。 また各ノードはタイマーを内蔵しており、設定時間内にフレームが巡回してきているかをチェックします。 これらの制御はハードウェアが処理しており、ソフトウェアの介在はありません。 |
Q29 ノード遅延とはどういう意味ですか? |
|||||||
![]() |
1ノードでフレームが通過するのに要する時間です。この時間はノード数が多くなればなるだけ加算されます。フレームがループを1周する時間もそれだけ長くなりますので転送レートも比例して低下する傾向にあります。
![]() (ケーブル遅延は除く) 732-4Gが2ノードの場合フレームがループを1周する時間は450ns×2=1us 732-4Gが4ノードの場合フレームがループを1周する時間は450ns×4=2us |
Q30 カタログに記載されている転送速度はどういった測定方法となりますか? |
|
![]() |
1 ノード、ループバック接続で測定しています。 |
Q31 転送速度の理論値は算出可能でしょうか? |
|
![]() |
ハードウェアのみを考慮した理論値は算出可能です。 |
Q32 OSによる転送時間の差はありますか? |
|
![]() |
OSやPCの環境等により転送速度に差が生じます。 |
Q33 AGM-730同士の接続の場合は、実際にはどのようにデータ転送を行うのですか? |
|
![]() |
送信時は、システム側より Host I/Fバスに対しMemory Host Writeサイクルを発生させることでデータの送信が行えます。 |
Q35 AGM-730を実装するボード(システムボード)の設計で注意することはありますか? |
|
![]() |
AGM-730アプリケーションノート 『第3章 システムボードデザイン』を参照ください。 |
Q36 AGM-730Host I/FバスにあるBG#(バスグラント)はループ上のある1台が取得すると他のノードは取得できないという事でしょうか?言い換えるとループ上にAGM-730が複数台存在する場合送信可能なノードは同時刻で1台だけになりますか? |
|
![]() |
ループ上にはフレームが常に巡回しており、自ノードに来た時に送信 FIFOにあるデータを送信可能となります。同時刻にはフレームがあるノードのみが送信可能ですがBG#(バスグラント)が取得できないと言うわけではありません。AGM-730内部には送信FIFOが3Kbyte用意されているので受信がなく送信FIFOに空きがあればBG#を取得する事が出来ます。 |
Q38 AGM-730アプリケーションノート 『2-15 2.2.7項 送信側 FIFO のオーバーフロー防止のため、Memory Host Write アクセスを行う場合、1Block ごとにバスの取得(#BR のアサート)、開放(#BR ネゲート)動作を行うことをお薦めします』とありますが詳しい説明をお願いします。 |
|
![]() |
この注記は受信データを考慮しての内容となります。(受信FIFOのオーバーフロー防止)
自ノードにフレーム及びデータがありデータの受信が発生している場合、ユーザ回路からの送信によりHost I/Fバスが取られていると受信したデータをHost
I/Fバスに出力できず、AGM-730内部受信FIFOのオーバーフローを発生させる可能性があります。 |
Q39 AGM- Host I/Fバスでは64ビットアクセスのみ可能でしょうか?また2Gbpsと4Gbpsではバスの動作やバス幅は変わるのでしょうか? |
|
![]() |
2Gbps/4Gbpsともに64ビットアクセスですがバイトイネーブルを使用することで64ビット以下のアクセス(8/16/24/32/40/48/56ビット)も可能となります。2Gbps/4Gbpsでバスの信号や動作に違いはありません。 |
Q40 AGM-730を複数台接続して通信する場合、特定の2台だけで通信する事は可能ですか? |
|
![]() |
1台からのライトデータは接続される全ノードへ送信されます。特定のノードのみ受信するには以下の様な回路を構築する必要があります。 |
Q41 AGM-730を評価する機材はありますか? |
|
![]() |
ATB-425があります。この基板はAGM-730を実装できるコネクタとFPGAが登載されておりUSBのインターフェイスも実装されています。カタログ品ではありませんので弊社営業までお問い合わせください。 |
Q42 APC-732はDualCPUに対応していますか? |
|
![]() |
APC-732はPCIバスからのバスサイクルを順に処理する設計となっています。(図1) |