特許拒絶査定不服審判
2018-013551
産業プロセスネットワーク用通信システム
- 審判番号
- 2018-013551
- 法域
- 特許
- 審判種別
- 拒絶査定不服審判(拒絶査定不服の審決)
- 出願番号
- 特願2016-502006外部サイト(J-PlatPat)へ移動します
- 請求日
- 2018年10月11日
- 審決日
- 2021年03月04日
- 公報発行日
- 2021年04月30日
- 結論
- 原査定取消(特許/登録すべき)
- 当事者
- 【請求人】ローズマウント インコーポレイテッド
- 【請求人代理人】岡島 伸行
- 分類
- P18 .121-WY (H04L) / P18 .537-WY (H04L)
- 条文(本文から自動抽出・参考)
- 特許法第29条第2項、特許法第36条第6項第1号
- データ出所
- 審決公報(SGML)
事件の表示
特願2016-502006「産業プロセスネットワーク用通信システム」拒絶査定不服審判事件〔平成26年10月 2日国際公開、WO2014/160161、平成28年 7月28日国内公表、特表2016-522593、請求項の数(20)〕について、次のとおり審決する。
結論
【結 論】
原査定を取り消す。
本願の発明は、特許すべきものとする。
理由
【理 由】
第1 手続の経緯
本願は、2014年(平成26年)3月13日(パリ条約による優先権主張2013年3月14日、米国)を国際出願日とする出願であって、平成29年12月11日付けで拒絶理由通知がされ、平成30年5月16日に意見書及び手続補正書が提出され、平成30年6月6日付けで拒絶査定がされ、これに対し、平成30年10月11日に拒絶査定不服審判の請求がされると同時に手続補正がされ、当審において、令和元年12月17日付けで拒絶理由(以下、「当審拒絶理由(1)」という。)が通知され、令和2年4月14日に意見書及び手続補正書が提出され、令和2年9月9日付けで拒絶理由(以下、「当審拒絶理由(2)」という。)が通知され、令和2年12月23日に意見書及び手続補正書が提出されたものである。
第2 原査定の概要
原査定(平成30年6月6日付け拒絶査定)の概要は次のとおりである。
理由1 (サポート要件)本願請求項4、5、11、19の記載は、特許法第36条第6項第1号に規定する要件を満たしていない。
理由3 (進歩性)本願請求項1-25に係る発明は、以下の引用文献A-Cに基づいて、その発明の属する技術の分野における通常の知識を有する者(以下、「当業者」という。)が容易に発明できたものであるから、特許法第29条第2項の規定により特許を受けることができない。
引用文献等一覧
A.特開平02-128597号公報
B.特開2006-109016号公報
C.特表2010-539587号公報
第3 当審拒絶理由の概要
1 当審拒絶理由(1)の概要
当審拒絶理由(1)の概要は次のとおりである。
本願請求項1-23に係る発明は、以下の引用文献1に基づいて、当業者が容易に発明できたものであるから、特許法第29条第2項の規定により特許を受けることができない。
引用文献等一覧
1.特表2008-512942号公報(当審において新たに引用した文献)
2 当審拒絶理由(2)の概要
当審拒絶理由(2)の概要は次のとおりである。
本願請求項1-20に係る発明は、以下の引用文献1に基づいて、当業者が容易に発明できたものであるから、特許法第29条第2項の規定により特許を受けることができない。
引用文献等一覧
1.特表2008-512942号公報(当審拒絶理由(1)における引用文献1)
第4 本願発明
本願請求項1-20に係る発明(以下、それぞれ「本願発明1」-「本願発明20」という。)は、令和2年12月23日になされた手続補正で補正された特許請求の範囲の請求項1-20に記載された事項により特定される発明であり、本願発明1-20は以下のとおりの発明である(下線部は補正箇所を示す。)。
「 【請求項1】
産業プロセスネットワーク上でデータを送受信するように構成されたフィールドデバイスであって、
プロセッサと、
前記産業プロセスネットワークに通信可能に接続された通信ユニットであって、第1のデータ転送速度で、第1の通信プロトコルを介し、前記産業プロセスネットワーク上で前記データを送受信するように構成され、前記第1のデータ転送速度より速い第2のデータ転送速度で、第2の通信プロトコルを介し、前記プロセッサと通信するように接続された通信ユニットと、
を備え、
前記通信ユニットは、
前記産業プロセスネットワーク上で前記通信ユニットが受信する第1のメッセージに対応した第1のメッセージオブジェクトを保管する第1の受信バッファと、
前記産業プロセスネットワーク上で前記通信ユニットが受信する第2のメッセージに対応した第2のメッセージオブジェクトを保管する第2の受信バッファと、
を備え、
前記第1のメッセージオブジェクトは、前記第1のメッセージと、前記第1のメッセージに対応する情報とを含み、
前記第2のメッセージオブジェクトは、前記第2のメッセージと、前記第2のメッセージに対応する情報とを含み、
前記通信ユニットは、前記第1のメッセージの一揃い全てを受信した後、前記プロセッサの割込み処理を行い、前記プロセッサは前記割込み処理に応答して、前記第1のメッセージを取得するように構成され、
前記通信ユニットは、
前記第1のメッセージに対応する前記情報の少なくとも一部、及び前記第2のメッセージに対応する前記情報の少なくとも一部を、それぞれ特定し、
前記第1のメッセージオブジェクト中の前記第1のメッセージに対応する前記情報の前記特定された部分を保管し、
前記第2のメッセージオブジェクト中の前記第2のメッセージに対応する前記情報の前記特定された部分を保管する、
ことを特徴とするフィールドデバイス。
【請求項2】
前記通信ユニットは、前記第1のメッセージに対応する前記情報の前記部分、及び前記第2のメッセージに対応する前記情報の前記部分を、それぞれ特定する受信状態マシンを実行することを特徴とする請求項1に記載のフィールドデバイス。
【請求項3】
前記通信ユニットは、メッセージ受領通知を出力するように構成され、
前記メッセージ受領通知は、前記第2の通信プロトコルを介して前記通信ユニットから前記第1のメッセージオブジェクト及び第2のメッセージオブジェクトのうちの少なくとも1つを取得する割込みサービスルーチンを、前記プロセッサに呼び出させるように構成される、
ことを特徴とする請求項1に記載のフィールドデバイス。
【請求項4】
前記通信ユニットは、前記第1のメッセージオブジェクト及び前記第2のメッセージオブジェクトのうちの一方のエラーステータスに基づき、前記メッセージ受領通知を出力するかどうかを判定することを特徴とする請求項3に記載のフィールドデバイス。
【請求項5】
前記通信ユニットは、前記第1のメッセージオブジェクト及び前記第2のメッセージオブジェクトのうちの前記一方の前記エラーステータスが非致命的エラーステータスを含んでいるとの判定に基づき、前記メッセージ受領通知を出力すると判定することを特徴とする請求項4に記載のフィールドデバイス。
【請求項6】
前記通信ユニットは、前記第1のメッセージオブジェクト及び前記第2のメッセージオブジェクトのうちの一方の前記エラーステータスが致命的エラーステータスを含んでいるとの判定に基づき、前記メッセージ受領通知の出力を差し控えると判定することを特徴とする請求項4に記載のフィールドデバイス。
【請求項7】
前記通信ユニットは、前記産業プロセスネットワーク上で一揃いのメッセージを全て受信すると、前記メッセージ受領通知を前記プロセッサに出力することを特徴とする請求項3に記載のフィールドデバイス。
【請求項8】
前記通信ユニットは、
割込み端子を介して前記プロセッサに接続され、
前記割込み端子の電圧を調整することにより、前記メッセージ受領通知を出力する、
ことを特徴とする請求項3に記載のフィールドデバイス。
【請求項9】
前記通信ユニットは、前記第2の通信プロトコルを介し、前記プロセッサから前記通信ユニットに受け取られたメッセージに対応するメッセージオブジェクトを保管する送信バッファを備え、
前記メッセージオブジェクトは、前記プロセッサから受け取ったメッセージと、前記プロセッサから受け取ったメッセージに対応する情報とを含み、
前記通信ユニットは、前記第1の通信プロトコルを介し、前記産業プロセスネットワーク上で前記メッセージオブジェクトを送信する、
ことを特徴とする請求項1に記載のフィールドデバイス。
【請求項10】
前記送信バッファは、前記産業プロセスネットワーク上で送信しようとする一揃いのメッセージの全てを保管するように構成され、
前記通信ユニットは、前記一揃いのメッセージの全てを前記プロセッサから受信すると、前記産業プロセスネットワーク上で前記一揃いのメッセージの全てを送信する、
ことを特徴とする請求項9に記載のフィールドデバイス。
【請求項11】
前記第1の通信プロトコルは、ハイウェイアドレス可能遠隔トランスデューサ(HART)プロトコルからなり、
前記第2の通信プロトコルは、シリアル周辺インタフェース(SPI)プロトコルからなる、
ことを特徴とする請求項1に記載のフィールドデバイス。
【請求項12】
産業プロセスネットワーク上でデータを送受信するように構成された通信ユニットであって、
第1のデータ転送速度で、第1の通信プロトコルを介し、前記産業プロセスネットワーク上で前記データを送受信する第1の通信インタフェースと、
前記第1のデータ転送速度より速い第2のデータ転送速度で、第2の通信プロトコルを介し、プロセッサと通信する第2の通信インタフェースと、
前記産業プロセスネットワーク上で受信する第1のメッセージに対応した第1のメッセージオブジェクトを保管する第1の受信バッファと、
前記産業プロセスネットワーク上で受信する第2のメッセージに対応した第2のメッセージオブジェクトを保管する第2の受信バッファと、
を備え、
前記第1のメッセージオブジェクトは、前記第1のメッセージと、前記第1のメッセージに対応する情報とを含み、
前記第2のメッセージオブジェクトは、前記第2のメッセージと、前記第2のメッセージに対応する情報とを含み、
前記通信ユニットは、前記第1のメッセージの一揃い全てを受信した後、前記プロセッサの割込み処理を行うように構成され、前記プロセッサは前記割込みに応答して、前記第1のメッセージを取得するように構成され、
前記通信ユニットは、
前記第1のメッセージに対応する前記情報の少なくとも一部、及び前記第2のメッセージに対応する前記情報の少なくとも一部を、それぞれ特定し、
前記第1のメッセージオブジェクト中の前記第1のメッセージに対応する前記情報の前記特定された部分を保管し、
前記第2のメッセージオブジェクト中の前記第2のメッセージに対応する前記情報の前記特定された部分を保管する、
ことを特徴とする通信ユニット。
【請求項13】
前記通信ユニットは、
割込み端子を介してプロセッサに接続するように構成され、
前記産業プロセスネットワーク上で一揃いのメッセージの全てを受信すると、前記割込み端子を介して前記プロセッサにメッセージ受領通知を出力し、
前記メッセージ受領通知は、
前記プロセッサに、前記第2の通信インタフェースを介し、前記第1のメッセージオブジェクト及び前記第2のメッセージオブジェクトのうちの少なくとも一方を取得させるように構成される、
ことを特徴とする請求項12に記載の通信ユニット。
【請求項14】
前記第2の通信インタフェースは、マスタ・アウト・スレーブ・イン(MOSI)端子と、マスタ・イン・スレーブ・アウト(MISO)端子とを備え、
前記通信ユニットは、
前記MOSI端子を介して前記プロセッサからデータを受信し、前記MISO端子を介して前記プロセッサにデータを送信し、
前記MOSI端子を介してメッセージ受領通知応答を受信すると、前記第1のメッセージオブジェクト及び前記第2のメッセージオブジェクトのうちの少なくとも一方を、前記MISO端子を介して送信する、
ことを特徴とする請求項13に記載の通信ユニット。
【請求項15】
前記MOSI端子を介して受信する第3のメッセージに対応した第3のメッセージオブジェクトを保管する送信バッファを更に備え、
前記通信ユニットは、前記第1の通信インタフェースを介し、前記産業プロセスネットワーク上で前記第3のメッセージオブジェクトを送信する、
ことを特徴とする請求項14に記載の通信ユニット。
【請求項16】
前記通信ユニットは、前記第3のメッセージオブジェクトが一揃いのメッセージの全てを表していると判定すると、前記第1の通信インタフェースを介して前記第3のメッセージオブジェクトを送信することを特徴とする請求項15に記載の通信ユニット。
【請求項17】
産業プロセスネットワーク上でデータを送受信する方法であって、
フィールドデバイスの通信ユニットにより、第1のデータ転送速度で、第1の通信プロトコルを介し、第1のメッセージを受信する工程と、
前記通信ユニットにより、前記第1のメッセージを前記通信ユニットの第1の受信バッファに保管する工程と、
前記通信ユニットにより、前記第1のメッセージが、前記第1の通信プロトコルに従った一揃いのメッセージを全て含んでいることを判定する工程と、
前記第1のメッセージが一揃いのメッセージを全て含んでいると判定すると、前記通信ユニットにより、前記第1のメッセージを受信したことを前記フィールドデバイスのプロセッサに通知する工程と、
前記通信ユニットにより、前記第1のデータ転送速度より速い第2のデータ転送速度で、第2の通信プロトコルを介し、前記第1のメッセージを前記プロセッサに送信する工程と、
を備え、
前記通信ユニットにより、第2のメッセージを前記通信ユニットの第2の受信バッファに保管する工程と、
前記通信ユニットにより、前記第1の受信バッファに、前記産業プロセスネットワーク上で前記通信ユニットが受信する第1のメッセージに対応した第1のメッセージオブジェクトを保管する工程と、
前記通信ユニットにより、前記第2の受信バッファに、前記第2のメッセージに対応した第2のメッセージオブジェクトを保管する工程と、
を更に備え、
前記第1のメッセージオブジェクトは、前記第1のメッセージと、前記第1のメッセージに対応する情報とを含み、
前記第2のメッセージオブジェクトは、前記第2のメッセージと、前記第2のメッセージに対応する情報とを含み、
前記通信ユニットは、前記第1のメッセージの一揃い全てを受信した後、前記プロセッサの割込み処理を行うように構成され、前記プロセッサは前記割り込みに応答して、前記第1のメッセージを取得するように構成され、
前記通信ユニットにより、前記第1のメッセージに対応する前記情報の少なくとも一部、及び前記第2のメッセージに対応する前記情報の少なくとも一部を、それぞれ特定する工程と、
前記通信ユニットにより、前記第1のメッセージオブジェクト中の前記第1のメッセージに対応する前記情報の前記特定された部分を保管する工程と、
前記通信ユニットにより、前記第2のメッセージオブジェクト中の前記第2のメッセージに対応する前記情報の前記特定された部分を保管する工程と、
を更に備えることを特徴とする方法。
【請求項18】
前記通信ユニットにより、前記第2の通信プロトコルを介して前記第1のメッセージを前記プロセッサに送り終える前に、前記第1の通信プロトコルを介して前記第2のメッセージの少なくとも一部を受信する工程を更に備えることを特徴とする請求項17に記載の方法。
【請求項19】
前記第1のメッセージを受信したことを前記プロセッサに通知する工程は、前記通信ユニットと前記プロセッサとを接続する割込み端子の電圧を調整する工程を備えることを特徴とする請求項17に記載の方法。
【請求項20】
前記通信ユニットにより、前記第2の通信プロトコルを介し、前記プロセッサから第3のメッセージを受信する工程と、
前記通信ユニットにより、前記第3のメッセージが、前記第1の通信プロトコルに従った一揃いのメッセージを全て含んでいることを判定する工程と、
前記第3のメッセージが一揃いのメッセージを全て含んでいると判定すると、前記通信ユニットにより、前記産業プロセスネットワーク上で前記第3のメッセージを送信する工程と、
を更に備えることを特徴とする請求項17に記載の方法。」
第5 引用文献、引用発明等
1 引用文献1について
当審拒絶理由(1)及び(2)に引用された引用文献1には、図面とともに次の事項が記載されている(下線は当審付与。以下同様。)。
ア 「【0014】
[詳細な説明]
<プロセス制御システムの概要>
本発明は、プロセス制御システムにおける現場計器と他のデバイスとに用いられる通信コントローラに関する。通信コントローラの用途は、メッセージとタイマ管理とのリンク層処理の大部分を実行することで、アプリケーションプロセッサもしくはCPUを解放し、アプリケーションプロセッサもしくはCPUが他の機能を実行できるようにすることである。本詳細な説明のために、ファウンデーション・フィールドバス通信プロトコルを用いるシステムを背景にして通信コントローラを説明する。ただし、通信コントローラは、パケットに基づいた通信プロトコルに対して一般的適用性を有している。
【0015】
フィールドバス物理層は、物理層プロトコルデータユニット(PhPDU)の形式で通信プロトコルデータを送受信する物理手段の電気的特性を定義している。さらに、フィールドバス物理層は、シンボル符号化、メッセージフレーム化、エラー検出方法を定義している。ISAフィールドバス規格は、3つの信号伝送速度と2つの結合モードとを定義している。本説明のため、ISAのS50.02規格第2部における第11節に定義されたH1物理層を背景にして本発明を説明する。この節は、低電力の選択肢を有した、31.25Kbps、電圧モード、導線媒体を対象としている。この選択肢によれば、通信媒体に接続されたデバイスは、通信媒体から動作電力の供給を受けることができる。物理層は、危険な環境のための固有の安全要求に合致させることができる。このプロトコルは、規格によって定義された電圧及び電流の制限に従って、低級ツイストペア線で動作し、多数のデバイスに対応するものである。
【0016】
図1は、一般的なプロセス制御システム10を示している。このプロセス制御システム10は、セグメント12と、電源14と、5つのデバイスとを備えている。尚、5つのデバイスは、リンク・アクティブ・スケジューラ(LAS)デバイス20、リンク・マスタ(LM)デバイス22、基本デバイス24,26,28である。セグメント12は、1対の導線上で32基のデバイスまで対応することができる。一般的に、セグメント12は、ループ実行速度と、電力と、固有の安全要求とに基づいて、4~16基のデバイスを有することになる。」
イ 「【0025】
<メッセージフォーマット>
図2に、メッセージをセグメント12上に送信するのに用いられる物理層プロトコルデータユニット(PhPDU)のフォーマットを示す。PhPDUは、プリアンブルと、スタート・デリミタ(SD)と、データリンク・プロトコル・データ・ユニット(DLPDU)と、エンド・デリミタ(ED)とを含んでいる。プリアンブルは、PhPDUメッセージの最初の数ビットである。フィールドバス仕様では、1~8バイトのプリアンブルが許容されている。メッセージを受信するデバイスは、プリアンブルを用いて、到来するメッセージと同期する。図2に示すように、プリアンブルにおける最初のバイト列は、1 0 1 0 1 0 1 0となっている。
【0026】
スタート・デリミタ(SD)は、プリアンブルの直後に続く。1つのメッセージにつき1つのSDがある。フィールドバス仕様では、SDは、非文字データ(N+及びN-)を有している必要がある。この非文字データは、常に、相互補完関係にある一対としてSDメッセージに現れる。この符号化方法によって、SDは独特のものとなり、SDとメッセージのデータ部分(DLPDU)との混同が生じることがない。図2に示すSDの列は、1 N+ N- 1 0 N- N+ 0となっている。
【0027】
DLPDUは、可変長メッセージである。DLPDUは、その最初のバイトとしてフレーム制御(FC)バイトを含み、その最後の2バイトとしてフレーム・チェック・シーケンス(FCS)チェックサムを含んでいる。DLPDUの長さは、可変であり、最小3バイト(RTメッセージの場合)から例えばおおよそ300バイトのジャバリミットまでである。」
ウ 「【0034】
活動終了(EOA)は、キャリア検出信号が無効になったときに発生する。EOAは、送信DLPDU及び受信DLPDUの双方で発生する。
<デバイス・アーキテクチャ>
図3は、基本デバイス24における通信部のブロック図を示している。尚、基本デバイス24における通信部は、デバイス20-28の各々のアーキテクチャを代表するものである。基本デバイス24は、中央処理装置(CPU)30と、ランダム・アクセス・メモリ(RAM)32と、フラッシュ・メモリ34と、通信コントローラ36と、媒体接続装置(MAU)38とを備えている。
【0035】
図3に示す本実施形態では、CPU30は、モトローラ社製68LC302、モトローラ社製Mcore2075、モトローラ社製PowerPC850、アトメル社製ThumbプロセッサAT91M40800などといったマイクロプロセッサである。CPU30は、8ビット以上のプロセッサである。
【0036】
図3に示す本実施形態では、通信コントローラ36は、特定用途向け集積回路(ASIC)素子であり、MAU38とCPU30との間のインターフェイスとして機能する。通信コントローラ36は、フィールドバスセグメント12に接続された外部のアナログ回路との間で符号化されたマンチェスタデータの送受信を行う。通信コントローラ36は、MAU38からシリアルデータを受信したのち、受信したデータを符号化し、符号化したデータをバイトに変換して、プリアンブル、SD、ED(そして、任意にFCSバイト)を除去し、リンク層が読み取るメッセージデータを供給する。データ送信に向け、通信コントローラ36は、リンク層からDLPDUデータのバイトを受信して、プリアンブルとSDとを付加し、任意にFCSの生成を行い、EDを付加する。通信コントローラ36は、続いてシリアルに符号化されたマンチェスタデータを形成し、マンチェスタデータは、フィールドバスセグメント12上への送信のためにMAU38へ送信される。」
エ 「【0040】
<通信コントローラ36>
図4は、通信コントローラ36の機能ブロック図である。本実施形態では、通信コントローラ36は、デバウンス回路42と、ディジタル位相同期回路(PLL)44と、フロントエンドステートマシン46と、受信メッセージフィルタリング48と、受信先入れ先出し(FIFO)メモリ50と、送信ステートマシン52と、送信FIFOメモリ54と、送信ドライバ回路56と、受信/送信事象マネージャ58と、レジスタ群60と、クロック生成回路62と、発振器64と、タイマ群68と、CPUインターフェイス回路70とを備えている。
【0041】
到来するメッセージをMAU38が検出すると、RxA入力にて、キャリア検出信号が通信コントローラ36へ供給され、RxS入力にて、到来する非同期のマンチェスタデータが供給される。RxA入力及びRxS入力は、フロントエンドステートマシン46へ送出される。ディジタルPLL44は、到来するシリアルマンチェスタ符号化データからクロックを正常化してクロックを再生する。そして、この再生されたクロックは、フロントエンドステートマシン46のタイミングを決定するのに用いられる。
【0042】
フロントエンドステートマシン46は、到来するシリアルビットストリームRxSを検出する。フロントエンドステートマシン46は、プリアンブル、SD、EDを除去し、DLPDUを受信FIFOメモリ50へ格納する。フロントエンドステートマシン46は、受信メッセージフィルタリング48とともに、特定のフレーム制御、加えて、他のデバイス宛のプローブ・ノード(PN)メッセージ、パス・トークン(PT)メッセージを除外するように構成され得る。フロントエンドステートマシン46は、受信FIFOメモリ50へ書き込まれたバイト数のトラックを保持する。FCSは、各メッセージの終わりに自動的に確認され、任意に受信FIFOメモリ50へ格納され得る。」
オ 「【0044】
フロントエンドステートマシン46は、RxA線が有効になると作動する。そして、フロントエンドステートマシン46は、プリアンブル領域のエッジに同期し、RxS信号のマンチェスタ符号化データを復号する。SOA事象は、フロントエンドステートマシン46が起動したことを示す。
【0045】
プリアンブルが検出されると、フロントエンドステートマシン46は、スタート・デリミタ(SD)列を待つ。SDが検出されると、フロントエンドステートマシン46は、シリアルデータストリームをオクテットに変換し、シリアルデータストリームを8ビットのバイト毎に受信FIFOメモリ50に書き込む。フロントエンドステートマシン46は、エンド・デリミタ(ED)が検出されるまで、もしくは受信FIFOメモリ50が満杯になるまで、データの新たなオクテットを受信FIFO50に書き込み続ける。
【0046】
EDが検出されると、フロントエンドステートマシン46は、RxA線が無効になるのを待つ。尚、RxA線が無効になることは、EOA事象によって示される。 RxA線が無効になることで、フロントエンドステートマシン46は初期状態に復帰する。フロントエンドステートマシン46は、フィールドバス・セグメント12上の次の活動まで(つまり、再度RxAにてキャリア検出信号が供給されるまで)初期状態のままでいる。
【0047】
フィルタリング回路は、基本デバイスにとって重要ではないメッセージに関するIRQ負荷を軽減するために基本デバイスに用いられている。対照的に、LASとして構成されたデバイスは、セグメント上の全てのメッセージを受信しなければならないため、フィルタリングを無効にしなければならない。フィルタリングが無効であると、全ての受信メッセージが受信FIFOメモリ50へ格納されるようになり、全ての受信メッセージがレジスタ群60、そしてCPU60へと転送されるようになる。SOMfは、フィルタ処理された受信DLPDUのメッセージ開始信号である。SOMfは、到来するメッセージがフィルタ処理されることを判定するのに十分な情報を受信メッセージが検出したとフロントエンドステートマシン46が判定すると発生する。
【0048】
フィルタリングが有効になると、フィルタ処理されたメッセージは受信FIFOメモリ50に格納されない。フィルタ処理されたメッセージによって、SOMfが生成されないようになり、事象やIRQが発生しないようになる。
【0049】
フィルタ処理されたメッセージの例としては、リターン・トークン(RT)、アイドル、要求インターバル(RI)、プローブ応答(PR)DLPDUメッセージがあり、これらのメッセージは、常に拒否されるようになる。これらは、フレーム制御(FC)バイトに基づいて特定される。パス・トークン(PT)メッセージ及びプローブ・ノード(PN)メッセージは、メッセージの宛先アドレスがデバイスのアドレスと一致した場合に受信されるようになる。宛先アドレスが一致しない場合には、PTメッセージ及びPNメッセージは拒否される。
【0050】
FCバイトに基づいてメッセージの種類に関してフィルタリングできることと、宛先アドレスに基づいてメッセージの種類に関してフィルタリングできることとによって、CPU30が処理しなければならない割込要求(IRQs)の数が制限され、それによってソフトウェア割込の負荷が軽減される。
【0051】
フロントエンドステートマシン46及び受信FIFOメモリ50は、MAU38からのシリアルデータフレームを構文解析するのに用いられる。CPU30は、受信FIFOメモリ50からデータを読み込み、読み込んだデータをCPU30のローカルメモリ空間に格納して、受信DLPDUを復号する。
【0052】
受信FIFOメモリ50は、8ビット幅を1バイトとした63バイトである。受信FIFOメモリ50は、3つまでの完全な受信メッセージ(合計63バイトまで)の全てのDLPDUバイトを格納することになる。フロントエンドステートマシン46は、フィルタ処理されたRxS信号からシリアルデータストリームを復号し、復号したシリアルデータストリームを8ビット並列形式のバイトに変換する。バイトの形成ののち、フロントエンドステートマシン46は、書込ポインタによって指し示された場所へ符号化データを格納する書込パルスを生成する。書込動作が完了したのち、書込ポインタは、次のDLPDUバイトを格納するようにインクリメントされる。
【0053】
CPU30は、受信FIFOメモリ50に対する読込ポインタと連動する。レジスタ群60の受信FIFOレジスタ(実際のDLPDUデータを含んでいる)からのあらゆる読込によって、8ビットデータは、受信FIFOメモリ50からデータバス上に直ちに送出され、CPU30に読み込まれる。読込動作が完了したのち、読込ポインタはインクリメントされる。読込ポインタのインクリメントは、受信FIFOメモリ50が空になるまで継続され得る。
【0054】
受信FIFOメモリ50にてオーバーフロー状態が発生するのを防止するため、レジスタ群60には、受信FIFOメモリ50が満杯状態に近づくとIRQの生成を許可するレジスタがある。IRQ生成の閾値は変更可能である。
【0055】
送信ステートマシン52は、送信FIFOメモリ54から送信されるDLPDUデータを読み込む。プリアンブル、SD、EDが自動的に挿入される。送信ステートマシン52を起動するためには、PDU間トリガー、もしくはその代わりに次回定期事象トリガーが有効となって、送信動作を開始する必要がある。送信ステートマシン52は、送信されたバイト数のトラックを保持する。アンダーフローもしくは送信カウント違反があると、エラー状態が指し示される。FCSは、DLPDUの最後の2バイトとして任意に自動送信され得る。
【0056】
送信ステートマシン52は、MAU38へのTxS線上のインターフェイス回路70を介して供給され、フィールドバスセグメント12上に送出されるマンチェスタシリアルデータを符号化する。また、送信ステートマシン52は、EDの最後のビットが発生して最初のプリアンブルにおける最初のビットが送信されたときに送信イネーブル(TxE)線を有効状態にする。また、送信ステートマシン52は、TxE線を有効状態にするときに、送信開始(SOT)事象信号を生成し、TxE線が無効に復帰するときに、送信終了(EOT)事象信号を生成する。
【0057】
送信FIFOメモリ54は、送信されるべきメッセージに必要とされる全てのDLPDUバイトである合計63バイトまでを格納することになる。変更可能な閾値は、送信FIFOメモリ54がほぼ空になる時期をCPU30に伝えるIRQを送信するように設定され得る。63バイトよりも多くのバイトが送信される必要がある場合には、CPU30は、送信FIFOメモリ54により多くのデータを追加できるようにすることを通知される。CPU30への通知は、全てのDLPDUのバイトが書き込まれるまで継続する。CPU30が書込ポインタを用いて送信FIFO54に書込を行う一方で、送信ステートマシン52が読込ポインタを用いて送信FIFOメモリ54からバイトを読み込む。
【0058】
通信コントローラ36は、事象発生時に機能し、多数の事象の発生を処理できなければならない。事象の例としては、受信メッセージのSOM、EOM、あるいはEOA、またあるいは送信メッセージのEOTがある。受信/送信事象マネージャ58は、3つの受信メッセージと1つの送信メッセージとの合計までで起こる全ての事象を管理する。
【0059】
図4に示すように、受信/送信事象マネージャ58は、rcvmsg1、rcvmsg2、rcvmsg3と称される3つの受信メッセージオブジェクトと、xmtmsgと称される1つの送信メッセージオブジェクトとを備えている。さらに、受信/送信事象マネージャ58は、メッセージキューマネージャ(MsgQmngr)80と、事象マネージャ(EventMngr)82と、送信マネージャ(xmtmngr)84と、事象MUX86とを備えている。
【0060】
受信FIFOメモリ50は、3つまでの完全な受信メッセージのDLPDUバイトを格納することができる。これら3つのメッセージはそれぞれ、対応するオブジェクトrcvmsg1と、rcvmsg2と、rcvmsg3とを備えている。各オブジェクトは、全てのIRQの状態と、メッセージエラーと、各オブジェクトに対応する受信メッセージのために発生するタイムスタンプとを含んでいる。この情報は、メッセージの事象データを構成する。
【0061】
全てのIRQの状態、メッセージエラー、送信メッセージのために発生するタイムスタンプは、xmtmsgオブジェクトに格納される。格納情報は、送信メッセージの事象データを構成する。」
カ 「【0078】
図5は、セグメント12上のMAU38によって受信されたデータパケットの処理を管理する受信/送信事象マネージャ58の機能ブロック図である。受信/送信事象マネージャ58は、メッセージキューマネージャ(MsgQmngr)80と、事象MUX86と、受信メッセージオブジェクトキュー100と、マルチプレクサ102,106,108とを含んでいる。受信メッセージオブジェクトキュー100は、rcvmsg1、rcvmsg2、rcvmsg3と称された、3つの受信メッセージオブジェクトのための空間を含んでいる。MsgQmngr80は、MUX102を介して、受信メッセージオブジェクトrcvmsg1、rcvmsg2、rcvmsg3に接続されている。マルチプレクサ106,108は、本発明の範囲外であるものの、受信/送信事象マネージャ50における各種部品間の接続を図示するために図5に表されている。MUX106は、レジスタ群60におけるレジスタReg15からの入力に基づいて、受信メッセージオブジェクトとMUX108とに出力を供給し、MUX108の出力は、MsgQmngr80に入力される。また、MUX106の出力は、ORゲート110を介して、MsgQmngr80に入力される。事象マネージャ82及び送信マネージャ84は、図4では受信/送信事象マネージャ58内に表されているものの、説明を明確にするために、図5では省略されている。また、図5に表されているのは、有効なメッセージの受信メッセージオブジェクト及び送信メッセージオブジェクトに関連付けられた事象データを格納するレジスタ群60の部分(Reg15~Reg1F)である。
【0079】
受信/送信事象マネージャ58によって、CPU30は、順に発生した各メッセージの各々に関連付けられた受信メッセージオブジェクト(rcvmsg1、rcvmsg2、rcvmsg3)を読み込むことができる。有効なメッセージの受信メッセージオブジェクトは、レジスタ群60を介して、具体的にはレジスタReg15~Reg1Fにおいて、CPU30が読込可能である。有効なメッセージの送信メッセージオブジェクトは、レジスタReg16,Reg17,Reg1Bにおいて、MAU38が送信可能である。各受信メッセージオブジェクトは、メッセージIRQと、エラーと、状態と、受信FIFOメモリ50に関する情報及びデータとの組み合わせを格納している。
【0080】
受信FIFOメモリ50に関する情報及びデータは、ソフトウェアによって読込可能な種々の属性を含んでおり、種々の属性は、オブジェクトが対応するメッセージの受信状態に関連している。これらの属性としては、オーバーフローと、アンダーフローと、データ準備完了と、終了位置と、有効フラグとがある。オーバーフロー属性は、設定されると、ネットワークからメッセージを受信中に、受信FIFOメモリ50のオーバーフローが発生したことを示す論理的属性である。アンダーフロー属性は、データの不足によって、受信FIFOメモリ50から読み込む最後の試みが失敗したことを示す論理的属性である。データ準備完了属性は、受信FIFOメモリ50が満杯状態に近づいており、受信FIFOメモリ50のオーバーフローを防止するために受信FIFO50の読込が必要であることを示す論理的属性である。終了位置属性は、受信FIFOメモリ50からの位置情報を格納する整数属性である。受信メッセージオブジェクトの有効フラグは、有効フラグに対応するメッセージが有効中であるときにMsgQmngr80によって設定される。
【0081】
MsgQmngr80は、3つの受信メッセージの選択及び有効化を制御する。MsgQmngr80は、MUX102を介して選択されたときの受信メッセージオブジェクトの有効フラグ(RcvMsg1_sel信号、RcvMsg2_sel信号、RcvMsg3_sel信号)を介して制御される。したがって、一度につき1つの受信メッセージオブジェクト(rcvmsg1、rcvmsg2、rcvmsg3)のみが有効になり得る。MsgQmngr80によって、事象は、有効な受信メッセージと関連付けられ得る。
【0082】
作動時に、MAU38は、セグメント12からメッセージを受信する。メッセージがセグメント12から受信されると、受信メッセージオブジェクトキュー100における受信メッセージオブジェクトの有効フラグが設定される。例えば、MAU38がメッセージを受信したときに、受信FIFOメモリ50にデータが一切格納されていない場合には、MsgQmngr80によって、RcvMsg1_sel信号が設定されることで、受信メッセージオブジェクトキュー100におけるrcvmsg1が有効になる。
【0083】
フロントエンドステートマシン46は、シリアルデータストリームを復号し、シリアルデータストリームを8ビットパラレル形式のバイトに変換する。バイトの形成後、フロントエンドステートマシン46は、書込ポインタによって指し示された、受信FIFO50における記憶位置に、符号化されたデータを格納する書込パルスを生成する。メッセージDLPDUデータが受信FIFOメモリ50に書き込まれているときに、受信FIFOメモリ50に対する書込ポインタの現在の位置が、有効な受信メッセージオブジェクトの終了位置属性に継続的に転送され、書込ポインタは、各バイトが書き込まれた後に引き続いてインクリメントされる。受信メッセージオブジェクトが受信メッセージオブジェクトキュー100に加えられた順序と同じ順序でデータが受信FIFOメモリ50に加えられるため、受信FIFOメモリ50と受信メッセージオブジェクトキュー100との間で一致した順序が維持される。
【0084】
フロントエンドステートマシン46から受信FIFOメモリ50へデータを転送している最中に、受信FIFOメモリ50は、当該受信FIFOメモリ50が当該受信FIFOメモリ50の63バイトの格納限度に近づいているか否かを継続的に監視する。受信FIFOメモリ50における未読バイト数がデータ準備完了属性の閾値と一致、もしくは閾値よりも大きい場合には、有効な受信メッセージオブジェクトによってIRQが生成される。このIRQは、有効な受信メッセージオブジェクトにおけるデータ準備完了属性を設定する。データ準備完了IRQを生成するための閾値は、変更可能である。データ準備完了属性は、受信FIFOメモリ50からデータが読み込まれた後に引き続いて、ソフトウェアによってクリアされ得る。データが受信FIFOメモリ50から読み込まれる前に受信FIFOメモリ50が満杯になると、受信FIFOメモリ50は、全ての受信メッセージオブジェクトに信号を送信して、オーバーフロー属性を設定する。オーバーフロー属性を設定することで、データキューからデータが読み込まれ、ソフトウェアがオーバーフロー属性をクリアするまで、受信FIFOメモリ50にさらなるデータが書き込まれるのを防止するようになる。有効な受信メッセージオブジェクトのみにオーバーフロー属性が設定されるようになるため、ソフトウェアは、どの受信メッセージオブジェクト(rcvmsg1、もしくはrcvmsg2、もしくはrcvmsg3)がオーバーフロー状態であったのかを判定することができる。
【0085】
MsgQmngr80は、3つの受信メッセージの選択及び有効化を制御する。3つのメッセージのうちの少なくとも1つがCPU30によって認識される前に4つ目のメッセージが受信されている場合には、MsgQmngr80は、事象データが読込もしくは認識されるまで、RcvMsgQMux_enbを強制的にロウ(無効)に設定することで、さらなるメッセージが受信されるのを無効にする。RcvMsgQMux_enbを強制的にロウ(無効)に設定することで、全てのRcvMsg_sel信号がロウとなる。4つ目の受信メッセージが到来するのをMsgQmngr80に防止させることで、受信メッセージオブジェクトrcvmsg1、rcvmsg2、rcvmsg3の破損が防止される。
【0086】
CPU30は、受信メッセージオブジェクトキュー100に位置する3つの受信メッセージオブジェクト(rcvmsg1、rcvmsg2、rcvmsg3)を通して、受信FIFOメモリ50に対する読込ポインタと連動する。CPU30が、格納されたDLPDUデータを受信FIFOメモリ50から読み込む準備が完了すると、CPU30におけるソフトウェアは、レジスタ群30におけるレジスタReg1Dを介して、GetDataByte_inコマンドを生成する。レジスタReg1Dからのあらゆる読込によって、受信FIFOメモリ50からのデータが、CPU30による読込のために直ちにデータバス上に置かれる。GetDataByte_in信号は、3つの受信メッセージオブジェクトの全てに入力される。一度につき、3つの受信メッセージオブジェクトのうちの1つだけが、CPU30で読込可能(もしくは確認可能)である。EventMUX_sel(2:0)信号は、MUX106を介して読み込まれる、CPU30にとって現在確認可能な受信メッセージオブジェクトを選択する。RcvMsg1_visible、RcvMsg2_visible、RcvMsg3_visibleといった3つの確認可能信号があり、これら信号はそれぞれ、受信メッセージオブジェクトrcvmsg1、rcvmsg2、rcvmsg3に対応している。
【0087】
例えば、RcvMsg1_visibleが有効な場合には、受信メッセージオブジェクトrcvmsg1から出力されるGetDataByte1信号が生成されることになる。GetDataByte1信号によって、受信FIFOメモリ50に対する読込ポインタが、1つの位置分インクリメントされる。GetDataByte2及びGetDataByte3は、GetDataByte1と同時にCPU30で確認することができないため、無効のままとなる。3つのGetDataByte出力のうちの1つが常に有効になっているため、3つのGetDataByteはORゲート114を通過して、読込ポインタのインクリメントパルスを生成する。続いて受信メッセージオブジェクトrcvmsg1からの読込動作が実行されると、読込ポインタは、rcvmsg1の終了位置の値と比較される。この比較によって、CPU30は、受信FIFOメモリ50における、rcvmsg1に関連付けられた特定のメッセージのバイト数を把握することができる。
【0088】
読込ポインタの値が終了位置の値と等しいと、確認可能な受信メッセージオブジェクトが取得可能なデータがなく、受信FIFOメモリ50は、確認可能な受信メッセージオブジェクトに関して空であると見なされる。確認可能な受信メッセージオブジェクトが取得可能なデータがないときには、内部的な空フラグが有効となる。空フラグが有効のときに追加の読込コマンドが生成される場合には、確認可能な受信メッセージオブジェクトのアンダーフロー属性が設定されることになる。このアンダーフロー属性は、レジスタ群60におけるレジスタReg17で読込可能である。空フラグによって、読込ポインタのインクリメントが発生するのを防止し、これによって、適切なポインタ位置と、DLPDUデータの関連付けの完全性とが維持される。受信FIFOメモリ50が最大3つの異なる受信メッセージオブジェクトに関連付けられたDLPDUデータを格納しているときに、適切なポインタ位置と、DLPDUデータの関連付けの完全性とが維持されることは、非常に重要である。
【0089】
CPU30は、レジスタ群60におけるReg1Fの読込動作を実行することによって、受信FIFOメモリ50から読み出す、確認可能な受信メッセージオブジェクトのバイト数を判定することが可能である。レジスタReg1Fから読み出される値は、終了位置と読込ポインタとの間における位置の差である。例えば、受信メッセージオブジェクトrcvmsg1が確認可能であり、CPU30がレジスタReg1Fから08hを読み込む場合には、CPU30は、rcvmsg1に関連付けられた全てのDLPDUデータの読込を完了するのに、(Reg1Dを介して)8回の読込動作が必要になるものと考えられる。8回の読込動作によって、確実に、確認可能な受信メッセージオブジェクトに関連付けられた全てのDLPDUデータが受信FIFOメモリ50から適切に読み出される。CPU30は、確認可能な受信メッセージオブジェクトに関して、レジスタ群60のレジスタReg15~Reg1Fを読み込み、続いて、これらレジスタからの情報に基づいて、対応する動作を行う。」
キ 上記ア~カより、特に下線部に着目すると、上記引用文献1には、次の発明(以下、「引用発明」という。)が記載されていると認められる。
「ファウンデーション・フィールドバス通信プロトコルを用いるシステムにおいて、
ISAフィールドバス規格のH1物理層は、低電力の選択肢を有した、31.25Kbps、電圧モード、導線媒体を対象とし、
プロセス制御システム10は、セグメント12と、電源14と、5つのデバイスとを備えており、
5つのデバイスは、リンク・アクティブ・スケジューラ(LAS)デバイス20、リンク・マスタ(LM)デバイス22、基本デバイス24,26,28であり、
メッセージをセグメント12上に送信するのに用いられる物理層プロトコルデータユニット(PhPDU)は、プリアンブルと、スタート・デリミタ(SD)と、データリンク・プロトコル・データ・ユニット(DLPDU)と、エンド・デリミタ(ED)とを含んでおり、
DLPDUは、その最初のバイトとしてフレーム制御(FC)バイトを含み、その最後の2バイトとしてフレーム・チェック・シーケンス(FCS)チェックサムを含んでおり、
基本デバイス24は、中央処理装置(CPU)30と、ランダム・アクセス・メモリ(RAM)32と、フラッシュ・メモリ34と、通信コントローラ36と、媒体接続装置(MAU)38とを備えており、
通信コントローラ36は、MAU38とCPU30との間のインターフェイスとして機能し、
フィールドバスセグメント12に接続された外部のアナログ回路との間で符号化されたマンチェスタデータの送受信を行い、
通信コントローラ36は、デバウンス回路42と、ディジタル位相同期回路(PLL)44と、フロントエンドステートマシン46と、受信メッセージフィルタリング48と、受信先入れ先出し(FIFO)メモリ50と、送信ステートマシン52と、送信FIFOメモリ54と、送信ドライバ回路56と、受信/送信事象マネージャ58と、レジスタ群60と、クロック生成回路62と、発振器64と、タイマ群68と、CPUインターフェイス回路70とを備えており、 到来するメッセージをMAU38が検出すると、RxA入力にて、キャリア検出信号が通信コントローラ36へ供給され、RxS入力にて、到来する非同期のマンチェスタデータが供給され、RxA入力及びRxS入力は、フロントエンドステートマシン46へ送出され、
フロントエンドステートマシン46は、RxA線が有効になると作動し、そして、フロントエンドステートマシン46は、プリアンブル領域のエッジに同期し、RxS信号のマンチェスタ符号化データを復号し、
プリアンブルが検出されると、フロントエンドステートマシン46は、スタート・デリミタ(SD)列を待ち、SDが検出されると、フロントエンドステートマシン46は、シリアルデータストリームをオクテットに変換し、シリアルデータストリームを8ビットのバイト毎に受信FIFOメモリ50に書き込み、エンド・デリミタ(ED)が検出されるまで、もしくは受信FIFOメモリ50が満杯になるまで、データの新たなオクテットを受信FIFO50に書き込み続け、
受信FIFOメモリ50は、8ビット幅を1バイトとした63バイトであり、受信FIFOメモリ50は、3つまでの完全な受信メッセージ(合計63バイトまで)の全てのDLPDUバイトを格納することになり、
フロントエンドステートマシン46は、書込ポインタによって指し示された場所へ符号化データを格納する書込パルスを生成し、書込動作が完了したのち、書込ポインタは、次のDLPDUバイトを格納するようにインクリメントされ、
CPU30は、受信FIFOメモリ50に対する読込ポインタと連動し、レジスタ群60の受信FIFOレジスタ(実際のDLPDUデータを含んでいる)からのあらゆる読込によって、8ビットデータは、受信FIFOメモリ50からデータバス上に直ちに送出され、CPU30に読み込まれ、読込動作が完了したのち、読込ポインタはインクリメントされ、読込ポインタのインクリメントは、受信FIFOメモリ50が空になるまで継続され得、
受信FIFOメモリ50にてオーバーフロー状態が発生するのを防止するため、レジスタ群60には、受信FIFOメモリ50が満杯状態に近づくとIRQの生成を許可するレジスタがあり、IRQ生成の閾値は変更可能であり、
受信/送信事象マネージャ58は、メッセージキューマネージャ(MsgQmngr)80と、事象マネージャ(EventMngr)82と、送信マネージャ(xmtmngr)84と、事象MUX86とを備えており、
受信FIFOメモリ50は、3つまでの完全な受信メッセージのDLPDUバイトを格納することができ、これら3つのメッセージはそれぞれ、対応するオブジェクトrcvmsg1と、rcvmsg2と、rcvmsg3とを備えており、各オブジェクトは、全てのIRQの状態と、メッセージエラーと、各オブジェクトに対応する受信メッセージのために発生するタイムスタンプとを含んでおり、
受信/送信事象マネージャ58は、メッセージキューマネージャ(MsgQmngr)80と、事象MUX86と、受信メッセージオブジェクトキュー100と、マルチプレクサ102,106,108とを含んでおり、
受信メッセージオブジェクトキュー100は、rcvmsg1、rcvmsg2、rcvmsg3と称された、3つの受信メッセージオブジェクトのための空間を含んでおり、
受信/送信事象マネージャ58によって、CPU30は、順に発生した各メッセージの各々に関連付けられた受信メッセージオブジェクト(rcvmsg1、rcvmsg2、rcvmsg3)を読み込むことができ、有効なメッセージの受信メッセージオブジェクトは、レジスタ群60を介して、具体的にはレジスタReg15~Reg1Fにおいて、CPU30が読込可能であり、
各受信メッセージオブジェクトは、メッセージIRQと、エラーと、状態と、受信FIFOメモリ50に関する情報及びデータとの組み合わせを格納しており、
受信FIFOメモリ50に関する情報及びデータは、ソフトウェアによって読込可能な種々の属性を含んでおり、種々の属性は、オブジェクトが対応するメッセージの受信状態に関連しており、これらの属性としては、オーバーフローと、アンダーフローと、データ準備完了と、終了位置と、有効フラグとがあり、
データ準備完了属性は、受信FIFOメモリ50が満杯状態に近づいており、受信FIFOメモリ50のオーバーフローを防止するために受信FIFO50の読込が必要であることを示す論理的属性であり、
終了位置属性は、受信FIFOメモリ50からの位置情報を格納する整数属性であり、
MsgQmngr80は、3つの受信メッセージの選択及び有効化を制御し、
一度につき1つの受信メッセージオブジェクト(rcvmsg1、rcvmsg2、rcvmsg3)のみが有効になり得、
作動時に、MAU38は、セグメント12からメッセージを受信し、メッセージがセグメント12から受信されると、受信メッセージオブジェクトキュー100における受信メッセージオブジェクトの有効フラグが設定され、
フロントエンドステートマシン46は、シリアルデータストリームを復号し、シリアルデータストリームを8ビットパラレル形式のバイトに変換し、バイトの形成後、フロントエンドステートマシン46は、書込ポインタによって指し示された、受信FIFO50における記憶位置に、符号化されたデータを格納する書込パルスを生成し、メッセージDLPDUデータが受信FIFOメモリ50に書き込まれているときに、受信FIFOメモリ50に対する書込ポインタの現在の位置が、有効な受信メッセージオブジェクトの終了位置属性に継続的に転送され、書込ポインタは、各バイトが書き込まれた後に引き続いてインクリメントされ、
フロントエンドステートマシン46から受信FIFOメモリ50へデータを転送している最中に、受信FIFOメモリ50は、当該受信FIFOメモリ50が当該受信FIFOメモリ50の63バイトの格納限度に近づいているか否かを継続的に監視し、受信FIFOメモリ50における未読バイト数がデータ準備完了属性の閾値と一致、もしくは閾値よりも大きい場合には、有効な受信メッセージオブジェクトによってIRQが生成され、このIRQは、有効な受信メッセージオブジェクトにおけるデータ準備完了属性を設定し、データ準備完了IRQを生成するための閾値は、変更可能であり、
CPU30は、受信メッセージオブジェクトキュー100に位置する3つの受信メッセージオブジェクト(rcvmsg1、rcvmsg2、rcvmsg3)を通して、受信FIFOメモリ50に対する読込ポインタと連動し、
例えば、受信メッセージオブジェクトrcvmsg1から出力されるGetDataByte1信号が生成され、GetDataByte1信号によって、受信FIFOメモリ50に対する読込ポインタが、1つの位置分インクリメントされ、
続いて受信メッセージオブジェクトrcvmsg1からの読込動作が実行されると、読込ポインタは、rcvmsg1の終了位置の値と比較され、この比較によって、CPU30は、受信FIFOメモリ50における、rcvmsg1に関連付けられた特定のメッセージのバイト数を把握することができ、
CPU30は、レジスタ群60におけるReg1Fの読込動作を実行することによって、受信FIFOメモリ50から読み出す、確認可能な受信メッセージオブジェクトのバイト数を判定することが可能であり、例えば、受信メッセージオブジェクトrcvmsg1が確認可能であり、CPU30がレジスタReg1Fから08hを読み込む場合には、8回の読込動作によって、確実に、確認可能な受信メッセージオブジェクトに関連付けられた全てのDLPDUデータが受信FIFOメモリ50から適切に読み出され、CPU30は、確認可能な受信メッセージオブジェクトに関して、レジスタ群60のレジスタReg15~Reg1Fを読み込み、続いて、これらレジスタからの情報に基づいて、対応する動作を行う、
基本デバイス24。」
2 引用文献Aについて
原査定の拒絶の理由に引用された引用文献Aには、図面とともに次の事項が記載されている。
(第8欄第15行-第10欄第10行)
「はじめにCPU4によりDMA3からのバッファフル信号Cにて起動する割込みハンドラ及び割込みタスクの設定を行なう(第2図21.22)。そしてDMA3に対しては受信すべきデータ数及びデータ格納アドレスのセットを行ない(第2図23.24)、動作開始コマンドを発行する。また初期状態にては中央演算装置1からのデータ送信を禁止するため、ビジー信号dが出力された状態になっている。従ってデータライン制御回路4に対してビジー信号解除指令を出し中央演算装置1からの送信を許可とする(第2図26)。
これにより、中央演算装置1よりシリアルデータラインaにて送られるデータは、CPU5を介さないでDMA3により直接、メモリ6に格納することが可能であり、この間CPU5は他の処理が行なえるわけであるが、通常はすでに受信されてメモリ6に存在するデータを取り出し、解析、実行して行く(第3図)。この時、中央演算装置1から送信されるデータがデータ受信回路2、DMA3を経由しメモリ6を一杯にしたとする。つまりDMA3に設定しておく受信すべきデータ数はメモリ6のサイズ分のことであり、このメモリ6が一杯になると、DMA3よりバッファフル信号Cが出力される。この信号によりデータライン制御回路4はビジー信号dを出力し中央演算装置1から送信するデータをストップする。さらにこの信号は割込みラインとしてCPU5とも接続されており、メモリ6が一杯になったことを割込み信号で知ると、割込みタスク内でまず受信データを他のメモリへ移し(第2図27)、再度、DMA3に対して受信カウント数及び受信格納アドレスの設定を行ない、動作開始コマンドを発行する。この場合、受信格納アドレスの値を前回設定したものと異った値にすることによりダブル・バッファの構成が可能となる。そしてビジー信号dを解除することで再度、受信が可能となる。」
以上より、特に下線部に着目すると、引用文献Aには、次の技術事項が記載されていると認められる。
「CPU4によりDMA3に対して受信すべきデータ数及びデータ格納アドレスのセットを行ない、動作開始コマンドを発行し、中央演算装置1よりシリアルデータラインaにて送られるデータは、CPU5を介さないでDMA3により直接、メモリ6に格納し、この間CPU5はすでに受信されてメモリ6に存在するデータを取り出し、解析、実行し、メモリ6が一杯になると、DMA3よりバッファフル信号Cが出力され、この信号によりデータライン制御回路4はビジー信号dを出力し中央演算装置1から送信するデータをストップし、さらにこの信号は割込みラインとしてCPU5とも接続されており、メモリ6が一杯になったことを割込み信号で知ると、割込みタスク内でまず受信データを他のメモリへ移し、再度、DMA3に対して受信カウント数及び受信格納アドレスの設定を行ない、動作開始コマンドを発行し、この場合、受信格納アドレスの値を前回設定したものと異った値にすることによりダブル・バッファの構成が可能となること。」
3 引用文献Bについて
原査定の拒絶の理由に引用された引用文献Bには、図面とともに次の事項が記載されている。
「【0150】
次に、IP処理回路12を通過したTCPセグメントは、経路335を通して、受信制御処理手段336に渡され、受信制御処理手段336では、ローカルCPU14より指示された8面あるローカルバッファ325のいずれかに格納される。
【0151】
図5に、受信TCPセグメントの格納フォーマットを示す。図5において、ローカルバッファ325には、左端から右端方向で格納される。先頭から10バイトは、受信バッファ管理情報であり、その受信バッファ管理情報のあとに受信TCPセグメントが格納される。さらに、受信バッファ管理情報は、受信処理における上記の諸処理のチェック結果等が格納される3バイトのStatusと、IP処理回路12において抽出されたTCP制御フラグ情報を格納する1バイトのTCP Flagsと、MACヘッダ長、IPヘッダ長、TCPヘッダ長の全ヘッダの総和情報を格納する2バイトのHeader_lengthと、受信したデータのデータ長情報を格納する2バイトのTotal_Lengthと、2バイトのオフセットとから構成される。」
「【0156】
次に、受信データリード処理手段338は、指示されたローカルバッファ325から、受信バッファ管理情報の内、3バイトのStatus情報と2バイトのHeader_length情報と2バイトのTotal_Lengthを読み出し、Statusよりローカルバッファ325内の当該データが正規のデータであるかを判定する。この判定結果より、不正規なデータであると判定した場合は、読み出し制御をその時点で終了し、ローカルCPU14に、読み出しをエラー検出により終了したことを通知する。正規なデータであると判定した場合で、さらにHTTPヘッダのデータ長の指示が有効である場合には、HTTPヘッダのデータ長とHeader_lengthより読み出し開始バッファアドレスを算出し、データの読み出しを開始する。ここで、読み出し開始アドレスは、HTTPペイロードの先頭を示しており、かつ、このアドレス位置は、組み立て直すストリームデータの先頭を示している。」
以上より、特に下線部に着目すると、引用文献Bには、次の技術事項が記載されていると認められる。
「TCPセグメントは、経路335を通して、受信制御処理手段336に渡され、受信制御処理手段336では、ローカルバッファ325に格納され、ローカルバッファ325において、先頭から10バイトは、受信バッファ管理情報であり、その受信バッファ管理情報のあとに受信TCPセグメントが格納され、受信データリード処理手段338は、指示されたローカルバッファ325から、受信バッファ管理情報の内、Status情報を読み出し、Statusよりローカルバッファ325内の当該データが正規のデータであるかを判定し、正規なデータであると判定した場合で、さらにHTTPヘッダのデータ長の指示が有効である場合には、データの読み出しを開始すること。」
4 引用文献Cについて
原査定の拒絶の理由に引用された引用文献Cには、図面とともに次の事項が記載されている。
「【0024】
図4は、図2および3に示されたプロセストランスミッタ200および300において使用されるアーキテクチャに類似している第3のアーキテクチャを使用するプロセストランスミッタ400を示すブロック図である。プロセストランスミッタ400は、たとえば、いくつかの点でプロセストランスミッタ300とは異なる。第一に、プロセストランスミッタ400は、通信モジュール420の形で付加的な特定用途向け集積回路(ASIC)を含む。通信モジュール420は、通信回路構成240からのデジタル通信(たとえば、HART)モデム、フィルタ245、SPI対CANインターフェース260、および、CAN電力回路構成の機能を実行する単一のASICである。さらに、破線を使用して表されているように、システム診断A/D変換器270もまたいくつかの実施形態では通信モジュール420の一部として実施されて得る。
【0025】
様々な回路コンポーネントからのこれらの機能が単一の通信モジュール420に一体化されることを可能にするため、通信回路構成240からのDAC機能はデジタルモデム機能から分離され、デジタルモデム機能が通信モジュールで実施されることを可能にする。DAC回路構成は、このとき、代わりに、必要に応じて独立型の集積チップ(IC)のようなどこか他のところで実施されてもよい。図4に示されているような典型的な実施形態では、DAC回路構成415はDSP410に追加され、DSP410は、このとき、ループ配線145上の4~20mA電流を制御するために4~20mA出力回路250と直接的に通信する。DAC415の組み込みによってDSP210とは相違するのに加えて、DACが制御する値がマイクロプロセッサ230による割り込みを介して取り扱われる代わりに出力回路250へ直接的に供給されるとき、DSP410は、場合によっては、出力レジスタ217を省くことができる。」
「【図4】
」
当該【図4】より、通信モジュール420は、SPIバスを介してマイクロプロセッサ230に接続されていることが見て取れる。
以上より、特に下線部に着目すると、引用文献Cには、次の技術事項が記載されていると認められる。
「HARTモデム、フィルタ245、SPI対CANインターフェース260、および、CAN電力回路構成の機能を実行する単一のASICである通信モジュール420と、マイクロプロセッサ230を備え、前記通信モジュール420は、SPIバスを介して前記マイクロプロセッサ230に接続されている、プロセストランスミッタ。」
第6 対比・判断
1 本願発明1について
(1)対比
本願発明1と引用発明とを対比すると、次のことがいえる。
ア 引用発明の「セグメント12」は、「プロセス制御システム10」において「電源14と、5つのデバイス」を接続するネットワークであるので、本願発明1の「産業プロセスネットワーク」に相当する。そして、引用発明の「基本デバイス24」は、「プロセス制御システム10」において「フィールドバスセグメント12」上で「マンチェスタデータの送受信を行」っていることから、本願発明1の「産業プロセスネットワーク上でデータを送受信するように構成されたフィールドデバイス」に相当する。
イ 引用発明の「中央処理装置(CPU)30」は、本願発明1の「プロセッサ」に相当する。
ウ 引用発明の「通信コントローラ36」及び「媒体接続装置(MAU)38」は、「CPU30」と「フィールドバスセグメント12に接続された外部のアナログ回路」との間のインターフェイスとして、「データの送受信を行」っていることから、本願発明1の「前記産業プロセスネットワークに通信可能に接続された通信ユニット」に相当する。
そして、引用発明の「ファウンデーション・フィールドバス通信プロトコル」は、「プロセス制御システム10」において、「セグメント12」上で、「基本デバイス24」が通信に用いるプロトコルであるから、本願発明1の「第1の通信プロトコル」に相当する。また、引用発明の「31.25Kbps」が、本願発明1の「第1のデータ転送速度」に相当する。
引用発明は、「レジスタ群60の受信FIFOレジスタ(実際のDLPDUデータを含んでいる)からのあらゆる読込によって、8ビットデータは、受信FIFOメモリ50からデータバス上に直ちに送出され、CPU30に読み込まれ」るものであるから、「CPU30」と、「通信コントローラ36」が備える「受信FIFOメモリ50」との間で、データバスを介して所定の手順にしたがってデータの転送が行われることは明らかであり、引用発明における、「CPU30」と「受信FIFOメモリ50」との間のデータバス上での所定の手順は、本願発明1の「第2の通信プロトコル」に相当する。
よって、引用発明の「通信コントローラ36」及び「媒体接続装置(MAU)38」は、本願発明1の「前記産業プロセスネットワークに通信可能に接続された通信ユニットであって、第1のデータ転送速度で、第1の通信プロトコルを介し、前記産業プロセスネットワーク上で前記データを送受信するように構成され、前記第1のデータ転送速度より速い第2のデータ転送速度で、第2の通信プロトコルを介し、前記プロセッサと通信するように接続された通信ユニット」と、「前記産業プロセスネットワークに通信可能に接続された通信ユニットであって、第1のデータ転送速度で、第1の通信プロトコルを介し、前記産業プロセスネットワーク上で前記データを送受信するように構成され、第2の通信プロトコルを介し、前記プロセッサと通信するように接続された通信ユニット」である点で共通する。
エ 引用発明の「rcvmsg1、rcvmsg2、rcvmsg3と称された、3つの受信メッセージオブジェクト」は、「受信FIFOメモリ50」が「格納」する「3つまでの完全な受信メッセージのDLPDU」にそれぞれ「対応するオブジェクト」であり、本願発明1の「メッセージに対応する情報」に相当する。
よって、引用発明の「受信FIFOメモリ50」が「格納」する「3つまでの完全な受信メッセージのDLPDU」及び、それぞれ対応する引用発明の「rcvmsg1、rcvmsg2、rcvmsg3」は、本願発明1の「メッセージオブジェクト」に相当する。
したがって、引用発明の「rcvmsg1」、及び「rcvmsg1」に対応する「完全な受信メッセージのDLPDU」は、本願発明1の「前記産業プロセスネットワーク上で前記通信ユニットが受信する第1のメッセージに対応した第1のメッセージオブジェクト」に相当し、引用発明の「rcvmsg2」、及び「rcvmsg2」対応する「完全な受信メッセージのDLPDU」は、本願発明1の「前記産業プロセスネットワーク上で前記通信ユニットが受信する第2のメッセージに対応した第2のメッセージオブジェクト」に相当する。
また、引用発明の「受信FIFOメモリ50」は、「3つまでの完全な受信メッセージのDLPDU」を一時的に格納するものであり、引用発明の「受信メッセージオブジェクトキュー100」は、「rcvmsg1、rcvmsg2、rcvmsg3」を一時的に格納するための「空間」を含むものであるから、引用発明の「受信FIFOメモリ50」及び「受信メッセージオブジェクトキュー100」と、本願発明1の「前記産業プロセスネットワーク上で前記通信ユニットが受信する第1のメッセージに対応した第1のメッセージオブジェクトを保管する第1の受信バッファ」及び「前記産業プロセスネットワーク上で前記通信ユニットが受信する第2のメッセージに対応した第2のメッセージオブジェクトを保管する第2の受信バッファ」とは、「前記産業プロセスネットワーク上で前記通信ユニットが受信する第1のメッセージに対応した第1のメッセージオブジェクトと前記産業プロセスネットワーク上で前記通信ユニットが受信する第2のメッセージに対応した第2のメッセージオブジェクトとを保管するバッファ」である点で共通する。
オ 引用発明の「受信FIFOメモリ50」は、「当該受信FIFOメモリ50が当該受信FIFOメモリ50の63バイトの格納限度に近づいているか否かを継続的に監視」し、「受信FIFOメモリ50における未読バイト数がデータ準備完了属性の閾値と一致、もしくは閾値よりも大きい場合には、有効な受信メッセージオブジェクトによってIRQが生成され」るものであり、「IRQ」はCPUに対する割込要求であるから、引用発明の「受信FIFOメモリ50における未読バイト数がデータ準備完了属性の閾値と一致、もしくは閾値よりも大きい場合には、有効な受信メッセージオブジェクトによってIRQが生成され」と本願発明1の「前記通信ユニットは、前記第1のメッセージの一揃い全てを受信した後、前記プロセッサの割込み処理を行い」とは、「前記通信ユニットは、前記プロセッサの割込み処理を行」う点で共通する。
また、引用発明の「IRQ」は、「有効な受信メッセージオブジェクトにおけるデータ準備完了属性を設定」するものであり、「データ準備完了属性」は「受信FIFOメモリ50が満杯状態に近づいており、受信FIFOメモリ50のオーバーフローを防止するために受信FIFO50の読込が必要であることを示す論理的属性」であるから、「データ準備完了属性」が設定されることにより「受信FIFO50」からメッセージの「読込」が行われることは明らかである。そうすると、引用発明と本願発明1の「前記プロセッサは前記割込み処理に応答して、前記第1のメッセージを取得するように構成され」とは、「前記プロセッサは前記割込み処理に応答して、前記メッセージを取得するように構成され」る点で共通する。
カ 引用発明の「3つまでの完全な受信メッセージのDLPDUバイト」に「対応するオブジェクト」である「rcvmsg1、rcvmsg2、rcvmsg3と称された、3つの受信メッセージオブジェクト」の「各受信メッセージオブジェクト」は、「属性」としての「オーバーフローと、アンダーフローと、データ準備完了と、終了位置と、有効フラグ」を含んでいる。
そして、引用発明は、「フロントエンドステートマシン46」が「書込ポインタによって指し示された、受信FIFO50における記憶位置に、符号化されたデータを格納する書込パルスを生成」し、「メッセージDLPDUデータが受信FIFOメモリ50に書き込まれているときに、受信FIFOメモリ50に対する書込ポインタの現在の位置が、有効な受信メッセージオブジェクトの終了位置属性に継続的に転送され」るものである。
引用発明において、「受信FIFOメモリ50に対する書込ポインタの現在の位置」を転送する際に、「書込ポインタの現在の位置」が特定されることは明らかであり、「書込ポインタの現在の位置」が転送される「終了位置属性」は、「有効な受信メッセージオブジェクト」の「少なくとも一部」にあたるものであるから、「書込ポインタの現在の位置」を「有効な受信メッセージオブジェクトの終了位置属性に継続的に転送」することは、本願発明1の「メッセージに対応する前記情報の少なくとも一部」を「特定」し、「メッセージに対応する前記情報の前記特定された部分を保管」することに相当する。
また、引用発明において、「rcvmsg1」及び「rcvmsg2」がいずれも「有効な受信メッセージオブジェクト」となり得ることは明らかである。
よって、引用発明の「受信FIFOメモリ50に対する書込ポインタの現在の位置が、有効な受信メッセージオブジェクトの終了位置属性に継続的に転送され」ることは、本願発明1の「前記通信ユニットは、前記第1のメッセージに対応する前記情報の少なくとも一部、及び前記第2のメッセージに対応する前記情報の少なくとも一部を、それぞれ特定し、前記第1のメッセージオブジェクト中の前記第1のメッセージに対応する前記情報の前記特定された部分を保管し、前記第2のメッセージオブジェクト中の前記第2のメッセージに対応する前記情報の前記特定された部分を保管する」ことに相当する。
(2)一致点・相違点
以上からすると、本願発明1と引用発明とは、以下の点において一致ないし相違する。
(一致点)
「産業プロセスネットワーク上でデータを送受信するように構成されたフィールドデバイスであって、
プロセッサと、
前記産業プロセスネットワークに通信可能に接続された通信ユニットであって、第1のデータ転送速度で、第1の通信プロトコルを介し、前記産業プロセスネットワーク上で前記データを送受信するように構成され、第2の通信プロトコルを介し、前記プロセッサと通信するように接続された通信ユニットと、
を備え、
前記通信ユニットは、
前記産業プロセスネットワーク上で前記通信ユニットが受信する第1のメッセージに対応した第1のメッセージオブジェクトと前記産業プロセスネットワーク上で前記通信ユニットが受信する第2のメッセージに対応した第2のメッセージオブジェクトとを保管するバッファと、
を備え、
前記第1のメッセージオブジェクトは、前記第1のメッセージと、前記第1のメッセージに対応する情報とを含み、
前記第2のメッセージオブジェクトは、前記第2のメッセージと、前記第2のメッセージに対応する情報とを含み、
前記通信ユニットは、前記プロセッサの割込み処理を行い、前記プロセッサは前記割込み処理に応答して、メッセージを取得するように構成され、
前記通信ユニットは、
前記第1のメッセージに対応する前記情報の少なくとも一部、及び前記第2のメッセージに対応する前記情報の少なくとも一部を、それぞれ特定し、
前記第1のメッセージオブジェクト中の前記第1のメッセージに対応する前記情報の前記特定された部分を保管し、
前記第2のメッセージオブジェクト中の前記第2のメッセージに対応する前記情報の前記特定された部分を保管する、
ことを特徴とするフィールドデバイス。」
(相違点)
<相違点1>
本願発明1は、「通信ユニット」と「プロセッサ」が「前記第1のデータ転送速度より速い第2のデータ転送速度」で通信を行っているのに対し、引用発明は、「通信コントローラ36」と「中央処理装置(CPU)30」間の通信について、第2の通信プロトコルがどのような転送速度で通信を行っているのか特定されていない点。
<相違点2>
本願発明1は、「第1のメッセージオブジェクト」と「第2のメッセージオブジェクト」を保管するためのバッファが、第1のメッセージオブジェクトを保管するための「第1の受信バッファ」と、第2のメッセージオブジェクトを保管するための「第2の受信バッファ」から構成されているのに対し、引用発明は、受信メッセージを保管するための「受信FIFOメモリ50」と、受信メッセージオブジェクトを保管するための「受信メッセージオブジェクトキュー100」から構成されている点。
<相違点3>
本願発明1は、「プロセッサの割込み処理」が行われるタイミングが「前記第1のメッセージの一揃い全てを受信した後」であるのに対し、引用発明は、「プロセッサの割込み処理」が「前記第1のメッセージの一揃い全てを受信した後」に行われることが特定されていない点。
(3)相違点についての判断
事案に鑑みて、相違点3について先に検討する。
引用文献1には、「受信FIFOメモリ50が当該受信FIFOメモリ50の63バイトの格納限度に近づいているか否かを継続的に監視」し、「受信FIFOメモリ50における未読バイト数がデータ準備完了属性の閾値と一致、もしくは閾値よりも大きい場合には、有効な受信メッセージオブジェクトによってIRQが生成され」ることが記載されているものの、「前記第1のメッセージの一揃い全てを受信した後」にIRQを生成してプロセッサの割込み処理を行うという構成は記載も示唆もされておらず、当該構成は本願の優先日前において周知技術であるともいえない。
したがって、本願発明1は、上記相違点1、2について検討するまでもなく、当業者であっても引用発明に基づいて容易に発明できたものであるとはいえない。
2 本願発明2-20について
本願発明2-20も、本願発明1の上記相違点3に係る構成を備えるものであるから、本願発明1と同じ理由により、当業者であっても引用発明に基づいて容易に発明できたものであるとはいえない。
第7 原査定について
平成30年10月11日に提出された手続補正書による補正により、原査定の上記理由1は解消した。
また、令和2年12月23日に提出された手続補正書による補正により、補正後の請求項1-20は、上記相違点3に係る構成を有するものとなった。
当該構成は、原査定における引用文献A-Cには記載されておらず、本願の優先日前における周知技術でもないので、本願発明は、当業者であっても、原査定における引用文献A-Cに基づいて容易に発明できたものではない。
したがって、原査定の上記理由3は解消した。
第8 むすび
以上のとおり、原査定の理由によっては、本願を拒絶することはできない。
また、他に本願を拒絶すべき理由を発見しない。
よって、結論のとおり審決する。
審決本文(J-PlatPat)
J-PlatPatの審決検索トップを開きます。番号入力で「審判番号」を選び、下の番号を貼り付けて検索してください。
J-PlatPat 審決検索を開く
2018-013551