JP2001524713A - 埋め込みプロセッサ及びホストプロセッサ用の、その間における見かけ上のネットワークインターフェイス - Google Patents

埋め込みプロセッサ及びホストプロセッサ用の、その間における見かけ上のネットワークインターフェイス

Info

Publication number
JP2001524713A
JP2001524713A JP2000522528A JP2000522528A JP2001524713A JP 2001524713 A JP2001524713 A JP 2001524713A JP 2000522528 A JP2000522528 A JP 2000522528A JP 2000522528 A JP2000522528 A JP 2000522528A JP 2001524713 A JP2001524713 A JP 2001524713A
Authority
JP
Japan
Prior art keywords
interface
apparent
computer
host computer
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000522528A
Other languages
English (en)
Inventor
マイケル ジェイ. ウィルト
トッド アンドリュー バランタイン
Original Assignee
アキュイティー イメージング エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/030,411 external-priority patent/US6308234B1/en
Application filed by アキュイティー イメージング エルエルシー filed Critical アキュイティー イメージング エルエルシー
Publication of JP2001524713A publication Critical patent/JP2001524713A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 見かけ上のネットワークインターフェイス(30)は、TCP/IP、NFS、 FTP、HTTP等標準ネットワーク通信手法/プロトコルを利用して、埋め込みプロセッサ(20)がホストプロセッサ(2)と通信するのを可能にする。ウェブサーバプロトコルHTTPは、埋め込みコンピュータが標準ウェブブラウザアプリケーションを利用して遠隔監視及び遠隔制御のためのユーザインターフェイスを発行できるようにするので、特に有用である。本発明は、イーサネットインターフェイスカード等の標準ネットワーク装置のように見える見かけ上のネットワークインターフェイス(30)を、ホストコンピュータ(10)に供給する。この見かけ上のネットワークインターフェイス(30)は、見かけ上のネットワーク上にある装置のように見える埋め込みプロセッサ(20)と、直接的に通信する。イーサネットハードウェア等の標準ネットワークハードウェアを用いるのではなく、ホストコンピュータ周辺バス(6)を介して直接的に通信を行うことにより、相当な費用の節減と性能の向上が実現できる。

Description

【発明の詳細な説明】
【0001】 発明の属する分野 本発明は、一般的には処理装置、特にホストプロセッサと埋め込みプロセッサ
との間の見かけ上のネットワークインターフェイスを供給するための装置及び方
法に関するものである。 発明の背景 独立操作型視覚装置等の現在利用できる独立操作型の処理装置のほとんどは、
他のコンピュータあるいはシリアルコミュニケーション(RS−232等)、デ
ジタルI/O、イーサネットあるいは他のネットワークプロトコルを用いた工場
用オートメーション設備等他のタイプの処理装置と連絡している。埋め込みプロ
セッサは、ホストプロセッサ内に置かれ、ホストプロセッサの処理タスクを軽減
させる独自の処理能力を有している。埋め込み機械視覚プロセッサ等の埋め込み
プロセッサは、通常周辺バスメールボックス等の機構を介してホストプロセッサ
と通信している。
【0002】 これらの機構はみな機械視覚コンピュータのすぐ近くにある設備の他の構成部
分と通信するためには適しており、有用であるが、視覚コンピュータ等の処理装
置の遠隔監視及び遠隔制御にはほとんど役立たない。これらの装置における他の
制約は、埋め込み視覚プロセッサとの通信装置が独立操作型装置において用いら
れているものと異なる点である。
【0003】 ネットワーク用のハードウェア及びソフトウェアにおける昨今の革新は、ネッ
トワーク技術を更に有用で一般的なものにしてきた。殊に、ウェブブラウザは、
実質的に全家庭用及びオフィス用コンピュータ上で見受けられる、一般的に受容
されたユーザインターフェイスになっている。
【0004】 従って、従来のネットワーク型ハードウェアを必要としないネットワーク型プ
ロトコル(ネットワークインターフェイス)を用いて、埋め込みプロセッサ等の
埋め込み処理装置とホストコンピュータ等の他の装置とを仲介する装置及び方法
に対する需要と好機が存在する訳である。 発明の概要 本発明は、埋め込み機械視覚コンピュータ等の1台の処理装置が、TCP/I
P、NFS、FTP、HTTP等の標準ネットワーク機構を用いて他の装置と通
信することを可能にするネットワークインターフェイスを特徴とする。ウェブサ
ーバプロトコルのHTTPは、埋め込みコンピュータに、標準ウェブブラウザア
プリケーションを利用して、遠隔監視及び遠隔制御用のユーザインターフェイス
を発行できるようにするため、特に有用である。
【0005】 本発明は、ホストコンピュータに、イーサネットインターフェイスカード等の
標準ネットワーク装置のように見える見かけ上のインターフェイスを設ける。こ
の見かけ上のインターフェイスは、見かけ上のネットワーク上にある装置のよう
に見える埋め込み機械視覚コンピュータと直接的に通信する。イーサネット等の
標準ネットワークハードウェアを用いず、ホストコンピュータの周辺バスを介し
て直接的に通信を実行することにより、相当な費用の節減及び性能上の利益が実
現される。
【0006】 見かけ上のインターフェイスは、ホストコンピュータとホストコンピュータ内
に埋め込まれたプロセッサあるいはCPUの間の通信を可能にする。本発明は、
ホストプロセッサ及び埋め込みプロセッサ双方のオペレーティングシステムにお
ける、ネットワークスタックの最も下のトランスポート層で生じるものであり、
そこで実行されるのが望ましい。埋め込みプロセッサは、ホストコンピュータ周
辺インターフェイスバスを介して、ホストコンピュータあるいはプロセッサに接
続される。
【0007】 本願の見かけ上のネットワークインターフェイスは、ホストコンピュータ上で
動作し、埋め込みコンピュータに見かけ上のネットワークインターフェイスを供
給するディバイスドライバソフトウェアを含む。そのディバイスドライバソフト
ウェアは、埋め込みコンピュータと直接的に連絡する。ホストコンピュータ用の
ディバイスドライバソフトウェアに加えて、このインターフェイスは、埋め込み
コンピュータ上で作動し、ホストコンピュータに見かけ上のネットワークインタ
ーフェイスを供給して、ホストコンピュータと直接的に連絡するディバイスドラ
イバソフトウェアをも含む。 好適な実施例の説明 本発明の見かけ上のネットワークインターフェイス30を組込んだ図1の処理
装置10は、ホストプロセッサ/処理装置2及び埋め込みプロセッサ/処理装置
20を含んでいる。ホストプロセッサ2は、本好適な実施例においてはPCIバ
スとなっているホスト周辺バス6を利用して埋め込みプロセッサと通信している
が、これは本発明の限定条件ではない。ホストプロセッサ2は、マイクロソフト
・ウィンドウズ95あるいはNTオペレーティングシステムに組込まれたネット
ワークソフトウェア等の標準ホストプロトコル14を利用して見かけ上のネット
ワークインターフェイス30と連絡する。同様に、埋め込みプロセッサ20も、
マイクロソフト・ウィンドウズ95、NTあるいはその他のオペレーティングシ
ステム等の専用の埋め込み装置プロトコルソフトウェア22を利用して見かけ上
のネットワークインターフェイス30と連絡する。本発明による見かけ上のネッ
トワークインターフェイス30は、ソフトウェア(ウィンド・リバー社によるV
xWorks等のオペレーティングシステムの最下層のインターフェイスプロト
コル層の形態)及び/あるいはソフトウェアとハードウェアの組み合わせとして
実施されるのが望ましい。
【0008】 図2で更に詳細に示されているように、本発明を実施した視覚装置10は、ホ
ストCPUすなわちプロセッサ2、ホストメモリ4及びPCIバス等のホスト周
辺バス6を含んでいる。ホスト周辺バス6は、ホストCPUに対する周辺装置と
して一般に知られている多数の装置と連絡している。
【0009】 一般的な周辺バス6に接続される一般的な周辺装置は、少なくとも1つのホス
ト入/出力(I/O)インターフェイス8、マウス等であり、本好適な実施例に
おけるホスト入/出力(I/O)インターフェイス8は、1つ以上のキーボード
等多数の周知のI/O装置のうちいずれとも連結する多機能I/Oコントローラ
カードである。他の一般的な周辺装置はホストディスプレーコントローラ11で
、これは好ましくはVGAアダプタカードであり、加速されたディスプレードラ
イバ等のハードウェアあるいはソフトウェアの改良を含んでいてもよい。
【0010】 ホストディスプレーコントローラ10は、ホストCPU 2からコンピュータ
モニター等のディスプレー装置13にディスプレー信号を送る。更に、ホストC
PU 2を外部コンピュータネットワークに連結させるために、ネットワークイ
ンターフェイスカード12が周辺バス6に接続されている。
【0011】 最後に、ホストコンピュータは、周辺バス6を介してホストCPU 2と連結
する埋め込み視覚コンピュータ20を含んでいる。埋め込み視覚システムコンピ
ュータ20は、それ自体がカメラ等の視覚システムI/O装置と連結している。 本発明は、本発明のネットワークインターフェイスコンフィギュレーション及
びプロトコルを用いて、ホストプロセッサ2への見かけ上のネットワークインタ
ーフェイスを埋め込みコンピュータ20に提供する。本実施例では、ネットワー
クインターフェイスはソフトウェアプロトコルとして説明されているが、これは
本発明を限定するものではない。ホストコンピュータ2にとって、このネットワ
ークインターフェイスは、埋め込み視覚コンピュータ20等の1台の外部コンピ
ュータを接続させるインターフェイスカードのようなものである。埋め込み視覚
コンピュータ20は、ホストコンピュータ2への接続を可能にする同様なインタ
ーフェイスを有し、従って本発明のネットワークインターフェイスを実施してい
る。
【0012】 装置10上で動作する送信ソフトウェアは、埋め込みコンピュータ20が、ネ
ットワークアダプタカード12を介して外部ネットワークに取付けられた他の装
置と連絡できるようにするために用いられてもよい。 本発明の好適な実施例は、これに限定される訳ではないが、次に挙げる特徴及
び特性を有する埋め込み処理装置として、機械視覚コンピュータ20とともに実
施されている。 ・ 埋め込みコンピュータ20は、好ましくは別個の回路基板上にあり、ホスト
コンピュータの周辺インターフェイスバス6を介してホストコンピュータ2と連
結している。 ・ 埋め込みコンピュータ20は、図3に示すように、ネットワークサービス2
4を含む独自のオペレーティングシステム22を実行させることができる。 ・ 埋め込みコンピュータ20回路基板は、ホストコンピュータの周辺インター
フェイスバス6を介してホストCPU 2に認識されるメモリを搭載している。 ・ 埋め込みコンピュータ20は、ホストコンピュータの周辺インターフェイス
バス6を介してホストコンピュータ 2に割り込みをすることができる。 ・ ホストコンピュータ2は、埋め込みコンピュータ回路基板上の装置にホスト
コンピュータ周辺インターフェイスバス6を介して書き込みをすることにより、
埋め込みコンピュータ20に割り込みをすることができる。
【0013】 例示のため埋め込み視覚コンピュータ20として説明された本発明のこれらの
特性が、本発明の見かけ上のネットワークインターフェイス30の実施を容易に
している。本発明のそうした一実施例としてのソフトウェアの第一構成要素は、
同時にネットワークアプリケーション及びサービス16等他の標準ホストソフト
ウェアを実行させる、ウィンドウズNTあるいはウィンドウズ95等のホストコ
ンピュータオペレーティングシステム14の下で動作するNDIS ミニ−ポー
トドライバ32を含む。
【0014】 本発明の一実施例としてのソフトウェアの第二構成要素は、埋め込み視覚コン
ピュータ20上でVxWorksオペレーティングシステムの下で動作するネッ
トワークディバイスドライバ34を含む。本発明は、ホスト及び埋め込みプロセ
ッサオペレーティングシステムの他の組合わせにも適用できる。
【0015】 これらのネットワーク連絡/インターフェイスドライバ32及び34はどちら
も、それぞれのオペレーティングシステム14及び22とともに、標準インター
フェイス42及び44を実現させる。しかし、内部においてこれらのドライバは
、この種のドライバの一般的な役割であるイーサネットボード等従来のネットワ
ークハードウェアの駆動を行わず、ホストコンピュータ周辺インターフェイスバ
ス6を介して互いに直接的に連絡し合う。
【0016】 埋め込み視覚コンピュータ20に送信すべきデータパケットをネットワークイ
ンターフェイス32上に有している場合、ホストCPU2はディバイスドライバ
を呼び出し、送信すべきデータパケットを送る。通常、ネットワークインターフ
ェイスカード用のディバイスドライバはそのデータパケットをネットワークイン
ターフェイス装置にコピーし、その装置にデータパケットをネットワーク上に送
信するよう指示するであろう。しかし、本発明を実施するために用いられるドラ
イバは、まずデータパケットを他方のコンピュータに認識される共有記憶域にコ
ピーし、その上で他方のコンピュータに割り込みを行う点において、通常のディ
バイスドライバとは異なっている。
【0017】 このことは、図3でステップ200、220、300及び320として概要的
に示されているが、これらのステップはそれぞれ、ホストコンピュータ2がデー
タパケットを埋め込み視覚コンピュータ20上の、あるいはそれに結合されたメ
モリに書き込むこと、ホストコンピュータ2が、埋め込み視覚コンピュータ20
にパケットデータが配信されたことを伝えるために、埋め込み視覚コンピュータ
20に割り込みをすること、埋め込み視覚コンピュータ20が、ホストプロセッ
サ2に結合されたメモリにホストコンピュータ周辺バスを介してパケットデータ
を直接書き込むこと、及び埋め込み視覚コンピュータ20が、パケットデータが
利用可能であることをホストCPU2に知らせるためバス割り込みをアサートす
ることを表している。
【0018】 周辺バス6を通じたバーストモードの書き込みサイクルを利用して全データ移
動を行うことにより、相当な性能上の利益が得られる。ホストコンピュータ2及
び埋め込みコンピュータ20のどちらも、バス−マスタ書き込みサイクルを実行
することにより、データを直接他方のコンピュータのメモリに移動することがで
きる。このようにして、各コンピュータは、周辺バス6を通じて他方のコンピュ
ータメモリからデータを読み取るための効率性のより低い読み取りサイクルを用
いずに、それぞれ自身のメモリからパケットデータを効率的に読み取ることがで
きる。
【0019】 本発明による見かけ上のPCIを介したイーサネットの性能(ネットワークイ
ンターフェイス)を実行させるのに用いられる、2つのネットワークドライバが
ある。第一のドライバは、埋め込み機械視覚コンピュータ20上のリアルタイム
のオペレーティングシステム22をサポートするためのものであり、第二のドラ
イバは、ホストコンピュータ2のGUIオペレーティングシステム14をサポー
トするためのものである。これら2つのドライバは、バス6を通じた2つのノー
ドを有する見かけ上のネットワーク30にとっての端点である。ドライバは、そ
れらが動作するオペレーティングシステムによって異なっているが、用いられる
データ構造は、通信が適切に行われるよう必ず同一になっている。 本願の見かけ上のネットワーク30を実施するのに用いられる2つのネットワー
クバッファ(図5のリングバッファ1(56)及び2(54))がある。2つの
バッファはそれぞれ送信・受信両用バッファである。しかし、2つのコンピュー
タ/プロセッサ(ホスト2及び埋め込み20)は、どちらが送信バッファでどち
らが受信バッファであるかについて異なる見方をする。
【0020】 通信は、以下のプロトコルに従って実行される(コンピュータ1及び1は、ホ
ストプロセッサあるいは埋め込みプロセッサのいずれであってもよいことに留意
):コンピュータ1、50は、開示されたリングバッファの実施例においてはリ
ングバッファ2、54であるそれ自身の送信バッファ54にデータを書き込む。
このリングバッファ54は、コンピュータ2、52によってその受信バッファと
みなされる。従って、コンピュータ1の送信バッファとコンピュータ2の受信バ
ッファは物理的に同一のリングバッファ54であるため、コンピュータ1がその
送信バッファ54にデータ書き込みを行うとすぐに、そのデータはコンピュータ
2により受信されることになる。
【0021】 同様に、コンピュータ1の受信バッファはコンピュータ2の送信バッファすな
わちリングバッファ56と物理的に同一のバッファであるため、コンピュータ2
、52がその送信バッファすなわち図5のリングバッファ1、56にデータを書
き込むと、そのデータは、コンピュータ1、50に受信されている。
【0022】 特にPCIバスを通じて本発明を実施する際、好性能をもたらす鍵となるのは
、送信バッファを物理的に受信コンピュータ上に設けることである。これにより
、送信動作は非常に効率的なPCI書き込みを用い、一方、受信動作はやはり非
常に効率的なローカルメモリ読み取りを用いる。こうして、効率的でないPCI
読み取りの使用が回避される。このネットワーク“リングバッファ”の実施例が
、図5に示されている。バッファラッピングは設計により保障されるものであり
、以下のリングバッファの例示的な描写は、本発明を限定するものと考えるべき
ではない。
【0023】 リングバッファのデータ構造は、4つのフィールドを有している。第1のフィ
ールドは、イーサネットパケットの外部でデータが伝送できるようにすることに
より、割り込み処理を促進するために使用可能な32ビットのコマンドフィール
ドである。割り込みハンドラーは、通常の受信パケット表示以外の特別な要求を
探すために、このフィールドを読むことができる。この例としては、ネットワー
クトラフィックなしのCPUスピード表示、送信コンピュータへのパケット認識
通知、あるいはコンピュータ又はネットワークのリセットを表示するための制御
情報が挙げられる。
【0024】 次の2つの32ビットワードは、リングバッファ用の書き込み及び読み取りポ
インタである。書き込みポインタは、書き込み可能なリングにおける次の32ビ
ットの位置を表示する。読み取りポインタは、最後の32ビットワードの読み取
りを表示する。
【0025】 データ構造の最終部分は、リングバッファである。リングのサイズは、バッフ
ァに割り当てられた32ビットワードの総数からコマンド、読み取り及び書き込
みワードに使用される3ワードを引いたものである。パケットがリング内に入る
と、それらはフレーミングオーバーヘッド内に保管される。パケットは、常に第
一フレーミングパターンワードすなわち0xAAAAAAAA の値を持つ32
ビットワードから始まる。フレーミングパターンに続く次の32ビットワードは
、フレーム全体のバイト分の長さ(イーサネットパケットのサイズ+パッドバイ
ト+フレーミングオーバーヘッド)及びイーサネットパケットのバイト長さを有
する。フレーム長さは上位16ビットであり、イーサネットパケットの長さは下
位16ビットである。長さフィールドの後に、実際のイーサネットパケットが来
る。このパケットは、必要であれば埋め込みが行われ、最終の32ビットワード
を完全に満たす。フレーム内の最終ワードは、イーサネットパケットの後に来る
。それは、0x55555555という最終フレーミングパターン値である。
【0026】 フレーミングパターンは、リングバッファのエラーを検知して、リングが駄目
になった場合にエラーリカバリできるように用いられる。リングバッファにおけ
るパケットエントリの一例が下記の表1に示されている。
【0027】
【表1】
【0028】 上記のリングの実例において、フレームパターン3に言及していることに気づ
くであろう。このパターンは、0xA5A5A5A5の値を有し、リングバッフ
ァの残りの部分が空であることを示している。パケットはリングの終点から始点
にラップすることはできない。両方のコンピュータ上のオペレーティングシステ
ムは、パケットがネットワークインターフェイスに送信あるいはそこから受信さ
れる際、連続的なメモリ内にあると予想するため、これは必要な制限なのである
。これにより、バッファの終点から始点へのパケットのラッピングが妨げられる
。各ドライバは、送信予定のパケットの長さをチェックする。それがリングの終
点に完全に合致しない場合は、パケットを書き込む前に、補充パターンが書き込
まれ、書き込みインデックスがリングバッファの始点に配置される。
【0029】 前記のデータ構造は、ネットワークドライバの基幹である。しかし、2台の独
立したコンピュータ間の共有メモリにおいてデータ構造を使用するには、他に2
つの重要な考慮すべき点がある。第一は、同一メモリへの同時アクセスの問題で
ある。2台の独立したコンピュータが同じ記憶域を読み取り、値を修正し、それ
を書き込み直すことは可能である。しかし、最後に書き込まれる値が、唯一の保
存される値となる。従って、最初に書き込みを終えるコンピュータは、その値を
第二のコンピュータによって置き換えられる。そして、第一のコンピュータは、
メモリ内にあるものについて誤った認識を有することになるのである。
【0030】 バスレベルのロッキング機構によりこれを回避することも可能であったが、全
てのPCI装置がロッキング機構をサポートしているわけではなく、仮にサポー
トしていてもバスにおける性能上の問題を引き起こすため、異なった機構が用い
られていた。読み取り及び書き込みポインタを更新する責任は、2台のコンピュ
ータに分担されていた。1台のコンピュータは、その送信バッファ書き込みポイ
ンタ及び受信バッファ読み取りポインタを書き込むことだけができる。更にこれ
らの値は、全く中間結果を含むことができない。常に有効なポインタを維持する
ために、値は更新されなければならない。同様に、他方のコンピュータは、常に
その受信バッファ書き込みポインタ及び送信バッファ読み取りポインタを読み取
り、それらの有効性を確認することができる。これにより、バス段階のロッキン
グ機構が不要になる。
【0031】 第二の並行処理の問題は、コンピュータが互いに割り込み合う能力に伴うもの
である。割り込みを生じさせたり遮蔽したりするレジスタは、時には両方のコン
ピュータによって共有されることがある。これにより、別の並行処理の問題が生
じるのである。この問題を解決するため、それぞれの割り込みマスク及び発生位
置は、別々にアドレスできるようにしておかなければならない。これは、ハード
ウェアに新しいデータを旧データと排他的論理和演算させることにより達成され
る。これにより、各ビットが別々にアドレス可能であり、やはりバスレベルのロ
ッキング機構の必要性を回避できる。
【0032】 リングバッファの処理は、また状況ビットにより支配権が決定される固定長さ
(例えば、1536バイト、2kB)のバッファを含み得る。共有状況ビットは
、前記と同様な規則に従って設定及び再設定される。送信バッファは、状況ビッ
トをディアサートし得る送信処理により受信バッファとしてのみ設定してもよい
。受信処理は、支配権を送信処理に戻す状況ビットをアサートできるだけである
。どちらの処理も、特定のバッファに書き込む(送信処理)あるいはそこから読
み取る(受信処理)ことができるかどうか知るためには、このビットを調べるこ
とだけが必要である。全バッファは、初めは送信処理により支配されている。
【0033】 前述の好適な実施例に拘らず、同じ機能性を実現し得る他の実施手段があるこ
とは、明らかである。どの状態の装置も、バッファの始点を指示し後述のように
増大する、前記の読み取り/書き込みポインタと同様なポインタを有するであろ
う。前述の好適な実施例にあるように、埋め込みCPUからホストPCへの通信
用の1組のバッファ及び逆方向の通信用のもう1組のバッファがあり、前述のよ
うに、解決すべきロッキング機構の問題があるであろう。
【0034】 普通の固定長さバッファが、表2に示されている。
【0035】
【表2】
【0036】 状況及びコマンドワードは、バッファを支配しているのが送信処理であるか受
信処理であるかを示すビット(符号付きの演算で、アサートしたことが容易に検
知可能な、おそらく最も重要なビット)を含んでいる。支配権ビットが論理ロー
すなわち‘0’の場合、支配権は任意に送信処理に与えられ、支配権ビットが論
理ハイすなわち‘1’の場合、支配権は受信処理に与えられる。
【0037】 両処理間のロッキング機構を正しく働かせるために、送信処理のみビットをロ
ジック‘1’とアサートすることができ、受信処理のみロジック‘0’のビット
をアサートすることができる。 全バッファは、最初送信処理に支配されている。タイマ制御により規則的に、
あるいは送信処理が受信処理への割り込みをアサートするときに、受信処理は、
その時点で指示しているバッファ(すなわち、最初は第1バッファ)の支配権ビ
ットを調べる。受信処理が、自身の支配していないバッファ(最初は第1バッフ
ァであろう)を発見した場合、続くバッファを調べるために移動することはない
。というのは、定義によりそれらのバッファが受信処理により支配されているこ
とはないからである。
【0038】 送信処理は、各パケットをネットワークスタックからバッファへと順にロード
し、それが完了した後、そのバッファの支配権ビットを受信処理にアサートする
。1つ以上のバッファがロードされると、送信処理は受信処理への割り込みをア
サートする。送信処理は、送るべきパケットがなくなるか、あるいは以下の2つ
のうち1つの状態が生じると、バッファへの送信を停止する。すなわち、固定長
さバッファについては、受信処理によって支配された次のバッファを発見した場
合(状況ビットはディアサートされている)であり、可変長さバッファについて
は、受信バッファポインタと送信バッファポインタの相違(ラッピングのために
訂正された)が、現パケットに必要なスペースより小さい場合である。後の状態
は、先に詳細に説明された好適な実施例に類似している。
【0039】 受信処理は第1バッファの状況ビットを調査し、自身がそのバッファを支配し
ている場合、その内容を自身のネットワークスタック内に移動させる。受信処理
は、続いて支配権ビットを送信処理に戻し、次のバッファへと移っていく。この
処理は、次のバッファが受信処理により支配されていないとき停止する。
【0040】 バッファポインタは、送信あるいは受信処理において、以下の2つのうちいず
れかの方法で次のバッファに移される。すなわち、固定長さバッファについては
、現バッファヘッドから次のバッファヘッドへの単純な一定の増加が行われるで
あろう。また、可変長さバッファについては、長さフィールドが使用され(表1
に記載されたように、2つの16ビットフィールドにされてもよいだろう)、従
って次のバッファを示すために、現バッファポインタのヘッドにそのバッファ長
さ及び8バイトのオーバーヘッドが加えらる。後のケースでは、送信処理は常に
受信処理に先立つことが保証されている。というのは、次のバッファの状況バイ
トを確保することによって次のバッファの状況バイトを書き込むことが、常に、
現バッファのバッファ支配権を受信処理に返す前に初期設定されるからである。
可変長さバッファの場合、バッファラッピングが可能である。固定長さバッファ
の場合、予定されたネットワークバッファメモリのスペースにはめ込まれる完全
な数のバッファがあるはずなので、この点は問題にならない。
【0041】 固定長さバッファの使用は、次のような可変長さバッファに対する内在する長
所を呈することが分っている。すなわち、送信及び受信処理は、処理の実行をよ
り簡単にするロッキング機構(符号付きの比較)を介する場合を除いて、完全に
独立可能である。更に、各バッファ用の状況バイトが常に両方のポインタからア
クセス可能であるため、受信処理は、送信処理がどこにポインタを有しているか
(あるいは、その逆)を知る必要がない。固定バッファには、使用の効率性(平
均パケット長対バッファ長)という内在する短所があるが、これは、より小さい
バッファを用い、複数のバッファが1パケットを収容するという他の装置を利用
することによって最小限にできる。
【0042】 従って、本発明は、埋め込みCPUとホストCPUのために、それらの間に設
けられる新規の見かけ上のネットワークインターフェイスを提供するものである
。 熟練した当業者による変更及び代替は、以下に記載された請求の範囲による以外
には限定されるべきでない本発明の範囲内にあると考えられる。
【図面の簡単な説明】
【図1】 本発明によるホストプロセッサと埋め込みプロセッサ間の見かけ上
のネットワークインターフェイスを表すブロック図である。
【図2】 本発明の見かけ上のネットワークインターフェイスを利用するであ
ろう、ホストコンピュータ及び埋め込みコンピュータを収容した代表的な視覚装
置の構成を示す概要図である。
【図3】 本発明の見かけ上のネットワークインターフェイスを実施するため
に用いられる通信機構を示す概要図である。
【図4】 本発明のネットワークインターフェイスのソフトウェアアーキテク
チャを示す概要図である。
【図5】 本発明のネットワークインターフェイス装置及び手法を用いた2装
置間のデータ通信を表す概要図である。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成11年11月12日(1999.11.12)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SZ,UG,ZW),EA(AM ,AZ,BY,KG,KZ,MD,RU,TJ,TM) ,AL,AM,AT,AU,AZ,BA,BB,BG, BR,BY,CA,CH,CN,CU,CZ,DE,D K,EE,ES,FI,GB,GE,GH,GM,HU ,ID,IL,IS,JP,KE,KG,KP,KR, KZ,LC,LK,LR,LS,LT,LU,LV,M D,MG,MK,MN,MW,MX,NO,NZ,PL ,PT,RO,RU,SD,SE,SG,SI,SK, SL,TJ,TM,TR,TT,UA,UG,UZ,V N,YU,ZW (72)発明者 バランタイン トッド アンドリュー アメリカ合衆国 ニューハンプシャー州 03031 アムハースト ノース メドウ ロード 13 Fターム(参考) 5B014 FA05 FB03 GD14 GD44 5B077 AA23 BA02 DD04 DD15 DD16

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 ホストプロセッサを含むホストコンピュータと該ホストコンピ
    ュータの内部に埋め込まれた埋め込みプロセッサの間における通信を可能にする
    、見かけ上のインターフェイスであって、該インターフェイス装置は、 前記ホストプロセッサと前記埋め込みプロセッサの間に通信パスを提供するた
    めのホストコンピュータ周辺インターフェイスバスと、 見かけ上のネットワークインターフェイスを前記埋め込みプロセッサに供給し
    、前記ホストコンピュータが該埋め込みプロセッサと直接的に通信することがで
    きるようにするためのホストコンピュータ通信手段と、 見かけ上のインターフェイスを前記ホストコンピュータに供給し、前記埋め込
    みプロセッサが該ホストコンピュータと直接通信することができるようにするた
    めの埋め込みプロセッサ通信手段と から成る見かけ上のインターフェイス。
  2. 【請求項2】 前記ホストコンピュータ通信手段が、前記ホストコンピュータ
    上で動作しているウィンドウズオペレーティングシステムの下で動作するNDI
    Sミニ−ポートドライバから成るコンピュータソフトウェアを含む、請求項1に
    記載の見かけ上のインターフェイス。
  3. 【請求項3】 前記ホストコンピュータのオペレーティングシステムがウィン
    ドウズNTから成る、請求項2に記載の見かけ上のインターフェイス。
  4. 【請求項4】 前記ホストコンピュータのオペレーティングシステムがウィン
    ドウズ95から成る、請求項2に記載の見かけ上のインターフェイス。
  5. 【請求項5】 請求項1に記載の見かけ上のインターフェイスにおいて、前記
    埋め込みプロセッサを遠隔監視及び制御するためのユーザーインターフェイスを
    発行するために、更に前記埋め込みプロセッサ上で動作するハイパーテキストト
    ランスファープロトコル(HTTP)サーバソフトウェアを含む見かけ上のイン
    ターフェイス。
  6. 【請求項6】 請求項1に記載の見かけ上のインターフェイスにおいて、更に
    第1及び第2ネットワークバッファを含み、該第1ネットワークバッファが前記
    ホストプロセッサ用の送信バッファ及び前記埋め込みプロセッサ用の受信バッフ
    ァであり、該第2ネットワークバッファが前記埋め込みプロセッサ用の送信バッ
    ファ及び前記ホストプロセッサ用の受信バッファである見かけ上のインターフェ
    イス。
  7. 【請求項7】 請求項6に記載の見かけ上のインターフェイスにおいて、読み
    取り及び書き込み動作の効率性を利用するため、前記第1ネットワークバッファ
    が前記埋め込みプロセッサの近傍に設けられ、前記第2ネットワークバッファが
    前記ホストプロセッサの近傍に設けられている、見かけ上のインターフェイス。
  8. 【請求項8】 前記埋め込みプロセッサが、産業用の自動化アプリケーション
    ために用いられている、請求項1に記載の見かけ上のインターフェイス。
  9. 【請求項9】 前記埋め込みプロセッサが、機械視覚プロセッサである、請求
    項8に記載の見かけ上のインターフェイス。
  10. 【請求項10】 請求項1に記載の見かけ上のインターフェイスにおいて、更
    に、前記埋め込みプロセッサが前記ホストコンピュータの標準ネットワーク接続
    及び通信プロトコルを利用して少なくとも前記ホストコンピュータと通信できる
    ようにするための、前記ホストコンピュータ上で動作するルーティングソフトウ
    ェアを含んでいる、見かけ上のインターフェイス。
  11. 【請求項11】 前記埋め込みプロセッサが、ホストコンピュータ周辺インタ
    ーフェイスバスを介して前記ホストコンピュータに連結された別体の回路基板を
    含んでいる、請求項1に記載の見かけ上のインターフェイス。
  12. 【請求項12】 前記ホストコンピュータ周辺インターフェイスバスが、周辺
    装置インターフェイス(PCI)バスから成る、請求項11に記載の見かけ上の
    インターフェイス。
  13. 【請求項13】 前記埋め込みコンピュータ回路基板が、更に前記ホストコン
    ピュータ周辺インターフェイスバスを介して前記ホストコンピュータに認識され
    るメモリを含んでいる、請求項11に記載の見かけ上のインターフェイス。
  14. 【請求項14】 第1及び第2コンピュータの間に見かけ上のネットワークイ
    ンターフェイスを提供する方法において、該方法は、 前記第1及び第2コンピュータの間に周辺バスインターフェイスを設け、 前記第1及び第2の各コンピュータ用に少なくとも1つのネットワークインタ
    ーフェイスを設け、 データが前記第1コンピュータによって前記第2コンピュータに書き込まれる
    べき場合には、該第2コンピュータに連結された記憶域に、前記周辺インターフ
    ェイスバスを介して該第1コンピュータによりデータを書き込み、 データが前記第2コンピュータによって前記第1コンピュータに書き込まれる
    べき場合には、該第1コンピュータに連結された記憶域に、前記周辺インターフ
    ェイスバスを介して該第2コンピュータによりデータを書き込むステップから成
    る方法。
  15. 【請求項15】 前記データがバス−マスタバーストモードの書き込みサイク
    ルを用いて書き込まれる、請求項14に記載の方法。
JP2000522528A 1997-11-26 1998-11-12 埋め込みプロセッサ及びホストプロセッサ用の、その間における見かけ上のネットワークインターフェイス Pending JP2001524713A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US6658397P 1997-11-26 1997-11-26
US60/066,583 1997-11-26
US09/030,411 1998-02-25
US09/030,411 US6308234B1 (en) 1997-10-17 1998-02-25 Flexible processing hardware architecture
PCT/US1998/024362 WO1999027456A1 (en) 1997-11-26 1998-11-12 Apparent network interface for and between embedded and host processors

Publications (1)

Publication Number Publication Date
JP2001524713A true JP2001524713A (ja) 2001-12-04

Family

ID=26706015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000522528A Pending JP2001524713A (ja) 1997-11-26 1998-11-12 埋め込みプロセッサ及びホストプロセッサ用の、その間における見かけ上のネットワークインターフェイス

Country Status (5)

Country Link
EP (1) EP1032884A4 (ja)
JP (1) JP2001524713A (ja)
AU (1) AU743997B2 (ja)
CA (1) CA2310275C (ja)
WO (1) WO1999027456A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7016539B1 (en) 1998-07-13 2006-03-21 Cognex Corporation Method for fast, robust, multi-dimensional pattern recognition
US6714977B1 (en) 1999-10-27 2004-03-30 Netbotz, Inc. Method and system for monitoring computer networks and equipment
US7330886B2 (en) 1999-10-27 2008-02-12 American Power Conversion Corporation Network appliance management
US8271626B2 (en) 2001-01-26 2012-09-18 American Power Conversion Corporation Methods for displaying physical network topology and environmental status by location, organization, or responsible party
US20020184347A1 (en) * 2001-06-02 2002-12-05 Steven Olson Configuration of a machine vision system over a network
ES2340478T3 (es) 2002-05-03 2010-06-04 American Power Conversion Corporation Procedimiento y aparato para recoger y mostrar la informacion de un dispositivo de red.
WO2004090679A2 (en) 2003-04-14 2004-10-21 Netbotz, Inc. Environmental monitoring device
US8566292B2 (en) 2003-04-14 2013-10-22 Schneider Electric It Corporation Method and system for journaling and accessing sensor and configuration data
US8081820B2 (en) 2003-07-22 2011-12-20 Cognex Technology And Investment Corporation Method for partitioning a pattern into optimized sub-patterns
US7627651B2 (en) 2003-10-27 2009-12-01 American Power Conversion Corporation System and method for network device communication
US7711814B1 (en) 2004-12-13 2010-05-04 American Power Conversion Corporation Method and system for remote monitoring of a power supply device with user registration capability
US8145748B2 (en) 2004-12-13 2012-03-27 American Power Conversion Corporation Remote monitoring system
CN101755495B (zh) 2007-05-15 2013-10-16 美国能量变换公司 用来管理设施供电和冷却的方法和系统
US8990536B2 (en) 2011-06-01 2015-03-24 Schneider Electric It Corporation Systems and methods for journaling and executing device control instructions
CN104137105B (zh) 2011-12-22 2017-07-11 施耐德电气It公司 关于瞬时事件对数据中心中的温度的影响分析
US9679224B2 (en) 2013-06-28 2017-06-13 Cognex Corporation Semi-supervised method for training multiple pattern recognition and registration tool models
WO2016171739A1 (en) * 2015-04-23 2016-10-27 Hewlett-Packard Development Company, L.P. Multi-processor computing systems

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5299313A (en) * 1992-07-28 1994-03-29 3Com Corporation Network interface with host independent buffer management
US5392360A (en) * 1993-04-28 1995-02-21 International Business Machines Corporation Method and apparatus for inspection of matched substrate heatsink and hat assemblies
US5706478A (en) * 1994-05-23 1998-01-06 Cirrus Logic, Inc. Display list processor for operating in processor and coprocessor modes

Also Published As

Publication number Publication date
AU1460199A (en) 1999-06-15
EP1032884A4 (en) 2004-08-25
EP1032884A1 (en) 2000-09-06
CA2310275A1 (en) 1999-06-03
AU743997B2 (en) 2002-02-14
WO1999027456A1 (en) 1999-06-03
CA2310275C (en) 2007-05-01

Similar Documents

Publication Publication Date Title
US6058434A (en) Apparent network interface for and between embedded and host processors
JP2001524713A (ja) 埋め込みプロセッサ及びホストプロセッサ用の、その間における見かけ上のネットワークインターフェイス
US5434872A (en) Apparatus for automatic initiation of data transmission
US7502826B2 (en) Atomic operations
JPH07262152A (ja) コンピュータシステム
EP1459195A1 (en) Communicating transaction types between agents in a computer system using packet headers including an extended type/extended length field
US7398300B2 (en) One shot RDMA having a 2-bit state
US6330631B1 (en) Data alignment between buses
US6810445B1 (en) Data transfer control device and electronic equipment
US6643710B1 (en) Architecture to fragment transmitted TCP packets to a requested window size
JPH03129448A (ja) データ転送制御装置
JP2002527972A (ja) 処理要素をプログラム位置にディスパッチする方法及び装置
EP1282284A1 (en) System and method for accessing registers of PHY device in network
EP1461712A2 (en) Method for handling unexpected completion packets and completion packets with a non-successful completion status
US20040037310A1 (en) Data transfer control device, electronic equipment, and data transfer control method
EP1052873A2 (en) A memory management technique for maintaining packet order in a packet processing system
US6718405B2 (en) Hardware chain pull
US20020194332A1 (en) Method and apparatus to manage resources for a multi-threaded device driver
US5675737A (en) Message receiving system for use in parallel computer system
US6178462B1 (en) Protocol for using a PCI interface for connecting networks
US5603057A (en) System for initiating data transfer between input/output devices having separate address spaces in accordance with initializing information in two address packages
JPH03139753A (ja) コンピユータ・システム
JPH0668019A (ja) Dma制御装置
JPH0195350A (ja) データ転送制御方式
JPH02254557A (ja) 通信制御処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080924

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080924

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081022

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080926

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081031

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081219

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090312

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090319

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090416

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090423

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090518

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090612

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090911

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20091127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20091127