(57)【要約】【課題】メッセージの先頭位置を特定する同期パルスを高い精度で検出する。【解決手段】同期パルス幅の同期パルス、およびデータの値に応じたデータパルス幅を有するデータパルスを含む複数のパルスを受信する受信部と、各パルスのパルス周期またはパルス幅を示すパルス情報をバッファに格納するパルス情報格納部と、各パルスについてバッファに格納された各パルス情報のうち、同期パルス許容範囲内のパルス周期等を示すパルス情報を検索する検索部と、検索部が検索したパルス情報に対応する第１パルスに対して予め定められた相対位置にある第２パルスについてバッファに格納されたパルス情報が、データパルス許容範囲内のパルス周期等を示すか否かを検出する検出部と、第２パルスのパルス情報がデータパルス許容範囲内のパルス周期等を示すことを条件として、第１パルスを同期パルスとして特定する特定部とを備える受信装置を提供する。【選択図】図７
2020025227.tif 000002
【特許請求の範囲】
【請求項１】
予め定められた同期パルス幅の同期パルス、およびデータの値に応じたデータパルス幅を有するデータパルスを含む複数のパルスを受信する受信部と、
前記複数のパルスのそれぞれについてパルス周期またはパルス幅を示すパルス情報をバッファに格納するパルス情報格納部と、
前記複数のパルスについて前記バッファに格納された複数のパルス情報のうち、同期パルス許容範囲内のパルス周期またはパルス幅を示すパルス情報を検索する検索部と、
前記検索部が検索したパルス情報に対応する第１パルスに対して予め定められた相対位置にある第２パルスについて前記バッファに格納されたパルス情報が、データパルス許容範囲内のパルス周期またはパルス幅を示すか否かを検出する検出部と、
前記第２パルスのパルス情報が前記データパルス許容範囲内のパルス周期またはパルス幅を示すことを条件として、前記第１パルスを同期パルスとして特定する特定部と
を備える受信装置。
【請求項２】
前記第１パルスについてのパルス情報が示すパルス周期またはパルス幅と同期パルスの基準周期または基準幅とに基づいて、前記データパルス許容範囲を調整する調整部を更に備える請求項１に記載の受信装置。
【請求項３】
前記調整部は、前記第１パルスについてのパルス情報が示すパルス周期またはパルス幅の、同期パルスの基準周期または基準幅に対する比率に基づいて、前記データパルス許容範囲を調整する請求項２に記載の受信装置。
【請求項４】
前記第１パルスを基準として予め定められた個数分のパルスをメッセージに含まれるパルスとして抽出する抽出部と、
前記メッセージに含まれる各パルスについて前記バッファに格納されたパルス情報に応じた受信データを出力するデータ出力部と
を更に備える請求項１から３のいずれか一項に記載の受信装置。
【請求項５】
前記受信部は、受信信号の立ち上がりまたは立ち下がりの少なくとも一方を検出したことに応じて割り込みを発生し、
前記パルス情報格納部は、前記割り込みの発生間隔に応じたパルス周期またはパルス幅を示すパルス情報を前記バッファに格納する
請求項１から４のいずれか一項に記載の受信装置。
【請求項６】
コンピュータが、予め定められた同期パルス幅の同期パルス、およびデータの値に応じたデータパルス幅を有するデータパルスを含む複数のパルスを受信し、
前記コンピュータが、前記複数のパルスのそれぞれについてパルス周期またはパルス幅を示すパルス情報をバッファに格納し、
前記コンピュータが、前記複数のパルスについて前記バッファに格納された複数のパルス情報のうち、同期パルス許容範囲内のパルス周期またはパルス幅を示すパルス情報を検索し、
前記コンピュータが、検索されたパルス情報に対応する第１パルスに対して予め定められた相対位置にある第２パルスについて前記バッファに格納されたパルス情報が、データパルス許容範囲内のパルス周期またはパルス幅を示すか否かを検出し、
前記コンピュータが、前記第２パルスのパルス情報が前記データパルス許容範囲内のパルス周期またはパルス幅を示すことを条件として、前記第１パルスを同期パルスとして特定する
受信方法。
【請求項７】
コンピュータにより実行され、前記コンピュータを、
予め定められた同期パルス幅の同期パルス、およびデータの値に応じたデータパルス幅を有するデータパルスを含む複数のパルスを受信する受信部と、
前記複数のパルスのそれぞれについてパルス周期またはパルス幅を示すパルス情報をバッファに格納するパルス格納部と、
前記複数のパルスについて前記バッファに格納された複数のパルス情報のうち、同期パルス許容範囲内のパルス周期またはパルス幅を示すパルス情報を検索する検索部と、
前記検索部が検索したパルス情報に対応する第１パルスに対して予め定められた相対位置にある第２パルスについて前記バッファに格納されたパルス情報が、データパルス許容範囲内のパルス周期またはパルス幅を示すか否かを検出する検出部と、
前記第２パルスのパルス情報が前記データパルス許容範囲内のパルス周期またはパルス幅を示すことを条件として、前記第１パルスを同期パルスとして特定する特定部と
して機能させる受信プログラム。
【請求項８】
予め定められた同期パルス幅の同期パルス、第１データの値に応じたデータパルス幅を有する第１データパルス、および、第２データを分割してエンコードした部分データの値に応じたデータパルス幅を有する第２データパルスを含むメッセージを受信する受信部と、
前記メッセージに含まれる各パルスについてパルス周期またはパルス幅を示すパルス情報をバッファに格納するパルス情報格納部と、
前記バッファに格納された各メッセージの前記パルス情報に基づいて、前記第２データを分割してエンコードした複数の前記メッセージを含むメッセージ群の先頭メッセージを検出して、前記メッセージ群に含まれる前記複数のメッセージのパルスを抽出する抽出部と、
前記複数のメッセージに含まれる各パルスについて前記バッファに格納されたパルス情報に応じた各前記第１データおよび前記第２データを出力するデータ出力部と
を備える受信装置。
【請求項９】
前記抽出部は、前記メッセージ群に含まれるべきメッセージの数よりも多いメッセージが前記バッファに格納されたことに応じて、前記メッセージ群の先頭メッセージを検出する請求項８に記載の受信装置。
【請求項１０】
前記抽出部は、前記メッセージ群に含まれるべきメッセージの数の２倍−１以上に予め定められた数以上のメッセージが前記バッファに格納されたことに応じて、前記メッセージ群の先頭メッセージを検出する請求項９に記載の受信装置。
【請求項１１】
一括消去可能な不揮発性メモリを有するデバイスを製造する段階と、
前記デバイスの出荷前に第１情報を前記不揮発性メモリに書き込む段階と、
前記デバイスの出荷前に前記不揮発性メモリに書き込むべき第２情報を取得する段階と、
前記第１情報が書き込まれた前記不揮発性メモリを一旦一括消去した後に、前記第１情報および前記第２情報を前記不揮発性メモリに書き込む段階と
を備える製造方法。
【請求項１２】
前記第１情報は、前記デバイスの製造日時、前記デバイスを切り出したウェハの識別情報、前記ウェハにおける前記デバイスの位置情報、前記デバイスの製造場所情報、前記デバイスの製造者情報、および前記デバイスの製造番号の少なくとも１つを含む請求項１１に記載の製造方法。
【請求項１３】
前記第２情報を取得する段階において、
前記デバイスを検査し、
前記デバイスの検査結果に応じた前記デバイス内の回路を調整するための調整情報を前記第２情報の少なくとも一部として生成する
請求項１１または１２に記載の製造方法。
【請求項１４】
前記デバイスは、センスデータを出力するセンサを有し、
前記第２情報を取得する段階において、
前記デバイスのセンサを評価し、
前記デバイスのセンサの評価結果に基づいて、前記センスデータの値を補正するための補正情報を前記第２情報の少なくとも一部として生成する
請求項１１から１３のいずれか一項に記載の製造方法。
【請求項１５】
前記デバイスは、前記デバイスの供給先に応じた設定を行なうための設定機能を有し、
前記第２情報を取得する段階において、前記デバイスの供給先に応じた設定を行なうための設定情報を前記第２情報の少なくとも一部として取得する
請求項１１から１４のいずれか一項に記載の製造方法。
【請求項１６】
前記設定情報は、前記デバイスの通信機能を設定するための通信設定情報を含む請求項１５に記載の製造方法。
【請求項１７】
前記不揮発性メモリへの前記第１情報の書き込みに応じて、前記第１情報をデバイス情報データベースに登録する段階を更に備え、
前記第１情報および前記第２情報を前記不揮発性メモリに書き込む段階において、前記第１情報が書き込まれた前記不揮発性メモリを一旦消去した後に、前記第２情報と前記デバイス情報データベースに登録された前記第１情報とを前記不揮発性メモリに書き込む
請求項１１から１６のいずれか一項に記載の製造方法。
【請求項１８】
前記第１情報および前記第２情報を前記不揮発性メモリに書き込む段階において、
前記第１情報が書き込まれた前記不揮発性メモリから前記第１情報を読み出し、
前記第１情報が書き込まれた前記不揮発性メモリを一旦一括消去し、
前記第２情報と前記不揮発性メモリから読み出された前記第１情報とを前記不揮発性メモリに書き込む
請求項１１から１６のいずれか一項に記載の製造方法。
【請求項１９】
前記デバイスは、
予め定められた同期パルス幅の同期パルス、およびデータの値に応じたデータパルス幅を有するデータパルスを含む複数のパルスを有するメッセージを送信する第１シリアルインターフェイスと、
前記不揮発性メモリへの書き込み要求を受信する第２シリアルインターフェイスと
を備え、
前記第１情報を前記不揮発性メモリに書き込む段階、並びに前記第１情報および前記第２情報を前記不揮発性メモリに書き込む段階において、前記第２シリアルインターフェイスを介して情報を前記不揮発性メモリに書き込む
請求項１１から１８のいずれか一項に記載の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信装置、受信方法、受信プログラム、および製造方法に関する。
【背景技術】
【０００２】
従来、メッセージに含まれる複数のパルスのパルス幅を用いてメッセージの先頭位置を特定し、またはデータ値を表す通信方式が知られている。このような通信方式の一例として、ＳＥＮＴ（登録商標）通信が挙げられる。このような通信方式においては、送信装置は、メッセージにパリティまたはＣＲＣ等の誤り検出／訂正用のパルスを含め、１または複数のデータパルスによって示されるデータ値の誤りを検出または訂正可能とする（特許文献１参照）。
特許文献１  特開２０１５−４６７７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上記の通信方式においては、受信装置は、予め定められたパルス幅に対して許容する誤差範囲内（例えば±２０％）のパルスを、メッセージの先頭位置を示す同期パルスであると判定し、同期パルスを基準としてデータパルスを受信する。しかし、通信の信頼性を高めるためには、より高い精度で同期パルスを検出することが望まれる。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、本発明の第１の態様においては、受信装置を提供する。受信装置は、予め定められた同期パルス幅の同期パルス、およびデータの値に応じたデータパルス幅を有するデータパルスを含む複数のパルスを受信する受信部を備えてよい。受信装置は、複数のパルスのそれぞれについてパルス周期またはパルス幅を示すパルス情報をバッファに格納するパルス情報格納部を備えてよい。受信装置は、複数のパルスについてバッファに格納された複数のパルス情報のうち、同期パルス許容範囲内のパルス周期またはパルス幅を示すパルス情報を検索する検索部を備えてよい。受信装置は、検索部が検索したパルス情報に対応する第１パルスに対して予め定められた相対位置にある第２パルスについてバッファに格納されたパルス情報が、データパルス許容範囲内のパルス周期またはパルス幅を示すか否かを検出する検出部を備えてよい。受信装置は、第２パルスのパルス情報がデータパルス許容範囲内のパルス周期またはパルス幅を示すことを条件として、第１パルスを同期パルスとして特定する特定部を備えてよい。
【０００５】
受信装置は、第１パルスについてのパルス情報が示すパルス周期またはパルス幅と同期パルスの基準周期または基準幅とに基づいて、データパルス許容範囲を調整する調整部を備えてよい。
【０００６】
調整部は、第１パルスについてのパルス情報が示すパルス周期またはパルス幅の、同期パルスの基準周期または基準幅に対する比率に基づいて、データパルス許容範囲を調整してよい。
【０００７】
受信装置は、第１パルスを基準として予め定められた個数分のパルスをメッセージに含まれるパルスとして抽出する抽出部を備えてよい。受信装置は、メッセージに含まれる各パルスについてバッファに格納されたパルス情報に応じた受信データを出力するデータ出力部を備えてよい。
【０００８】
受信部は、受信信号の立ち上がりまたは立ち下がりの少なくとも一方を検出したことに応じて割り込みを発生してよい。パルス情報格納部は、割り込みの発生間隔に応じたパルス周期またはパルス幅を示すパルス情報をバッファに格納してよい。
【０００９】
本発明の第２の態様においては、受信方法を提供する。受信方法においては、コンピュータが、予め定められた同期パルス幅の同期パルス、およびデータの値に応じたデータパルス幅を有するデータパルスを含む複数のパルスを受信してよい。受信方法においては、コンピュータが、複数のパルスのそれぞれについてパルス周期またはパルス幅を示すパルス情報をバッファに格納してよい。受信方法においては、コンピュータが、複数のパルスについてバッファに格納された複数のパルス情報のうち、同期パルス許容範囲内のパルス周期またはパルス幅を示すパルス情報を検索してよい。受信方法においては、コンピュータが、検索されたパルス情報に対応する第１パルスに対して予め定められた相対位置にある第２パルスについてバッファに格納されたパルス情報が、データパルス許容範囲内のパルス周期またはパルス幅を示すか否かを検出してよい。受信方法においては、コンピュータが、第２パルスのパルス情報がデータパルス許容範囲内のパルス周期またはパルス幅を示すことを条件として、第１パルスを同期パルスとして特定してよい。
【００１０】
本発明の第３の態様においては、コンピュータにより実行される受信プログラムを提供する。受信プログラムは、コンピュータを、予め定められた同期パルス幅の同期パルス、およびデータの値に応じたデータパルス幅を有するデータパルスを含む複数のパルスを受信する受信部として機能させてよい。受信プログラムは、コンピュータを、複数のパルスのそれぞれについてパルス周期またはパルス幅を示すパルス情報をバッファに格納するパルス格納部として機能させてよい。受信プログラムは、コンピュータを、複数のパルスについてバッファに格納された複数のパルス情報のうち、同期パルス許容範囲内のパルス周期またはパルス幅を示すパルス情報を検索する検索部として機能させてよい。受信プログラムは、コンピュータを、検索部が検索したパルス情報に対応する第１パルスに対して予め定められた相対位置にある第２パルスについてバッファに格納されたパルス情報が、データパルス許容範囲内のパルス周期またはパルス幅を示すか否かを検出する検出部として機能させてよい。受信プログラムは、コンピュータを、第２パルスのパルス情報がデータパルス許容範囲内のパルス周期またはパルス幅を示すことを条件として、第１パルスを同期パルスとして特定する特定部として機能させてよい。
【００１１】
本発明の第４の態様においては、受信装置を提供する。受信装置は、予め定められた同期パルス幅の同期パルス、第１データの値に応じたデータパルス幅を有する第１データパルス、および、第２データを分割してエンコードした部分データの値に応じたデータパルス幅を有する第２データパルスを含むメッセージを受信する受信部を備えてよい。受信装置は、メッセージに含まれる各パルスについてパルス周期またはパルス幅を示すパルス情報をバッファに格納するパルス情報格納部を備えてよい。受信装置は、バッファに格納された各メッセージのパルス情報に基づいて、第２データを分割してエンコードした複数のメッセージを含むメッセージ群の先頭メッセージを検出して、メッセージ群に含まれる複数のメッセージのパルスを抽出する抽出部を備えてよい。受信装置は、複数のメッセージに含まれる各パルスについてバッファに格納されたパルス情報に応じた各第１データおよび第２データを出力するデータ出力部を備えてよい。
【００１２】
抽出部は、メッセージ群に含まれるべきメッセージの数よりも多いメッセージがバッファに格納されたことに応じて、メッセージ群の先頭メッセージを検出してよい。
【００１３】
抽出部は、メッセージ群に含まれるべきメッセージの数の２倍−１以上に予め定められた数以上のメッセージがバッファに格納されたことに応じて、メッセージ群の先頭メッセージを検出してよい。
【００１４】
本発明の第５の態様においては、製造方法を提供する。製造方法は、一括消去可能な不揮発性メモリを有するデバイスを製造する段階を備えてよい。製造方法は、デバイスの出荷前に第１情報を不揮発性メモリに書き込む段階を備えてよい。製造方法は、デバイスの出荷前に不揮発性メモリに書き込むべき第２情報を取得する段階を備えてよい。製造方法は、第１情報が書き込まれた不揮発性メモリを一旦一括消去した後に、第１情報および第２情報を不揮発性メモリに書き込む段階を備えてよい。
【００１５】
第１情報は、デバイスの製造日時、デバイスを切り出したウェハの識別情報、ウェハにおけるデバイスの位置情報、デバイスの製造場所情報、デバイスの製造者情報、およびデバイスの製造番号の少なくとも１つを含んでよい。
【００１６】
第２情報を取得する段階において、デバイスを検査してよい。第２情報を取得する段階において、デバイスの検査結果に応じたデバイス内の回路を調整するための調整情報を第２情報の少なくとも一部として生成してよい。
【００１７】
デバイスは、センスデータを出力するセンサを有してよい。第２情報を取得する段階において、デバイスのセンサを評価してよい。第２情報を取得する段階において、デバイスのセンサの評価結果に基づいて、センスデータの値を補正するための補正情報を第２情報の少なくとも一部として生成してよい。
【００１８】
デバイスは、デバイスの供給先に応じた設定を行なうための設定機能を有してよい。第２情報を取得する段階において、デバイスの供給先に応じた設定を行なうための設定情報を第２情報の少なくとも一部として取得してよい。
【００１９】
設定情報は、デバイスの通信機能を設定するための通信設定情報を含んでよい。
【００２０】
製造方法は、不揮発性メモリへの第１情報の書き込みに応じて、第１情報をデバイス情報データベースに登録する段階を更に備えてよい。第１情報および第２情報を不揮発性メモリに書き込む段階において、第１情報が書き込まれた不揮発性メモリを一旦消去した後に、第２情報とデバイス情報データベースに登録された第１情報とを不揮発性メモリに書き込んでよい。
【００２１】
第１情報および第２情報を不揮発性メモリに書き込む段階において、第１情報が書き込まれた不揮発性メモリから第１情報を読み出してよい。第１情報および第２情報を不揮発性メモリに書き込む段階において、第１情報が書き込まれた不揮発性メモリを一旦一括消去してよい。第１情報および第２情報を不揮発性メモリに書き込む段階において、第２情報と不揮発性メモリから読み出された第１情報とを不揮発性メモリに書き込んでよい。
【００２２】
デバイスは、予め定められた同期パルス幅の同期パルス、およびデータの値に応じたデータパルス幅を有するデータパルスを含む複数のパルスを有するメッセージを送信する第１シリアルインターフェイスを備えてよい。デバイスは、不揮発性メモリへの書き込み要求を受信する第２シリアルインターフェイスを備えてよい。第１情報を不揮発性メモリに書き込む段階、並びに第１情報および第２情報を不揮発性メモリに書き込む段階において、第２シリアルインターフェイスを介して情報を不揮発性メモリに書き込んでよい。
【００２３】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００２４】
【図１】本実施形態に係る通信システム１０の構成を示す。
【図２】本実施形態に係るメッセージの一例を示す。
【図３】本実施形態に係るメッセージにおけるデータパルスのパルス幅とデータ値の対応を示す。
【図４】本実施形態に係るメッセージのステータスパルスによって伝送されるデータの第１例を示す。
【図５】本実施形態に係るメッセージのステータスパルスによって伝送されるデータの第２例を示す。
【図６】本実施形態に係るメッセージのステータスパルスによって伝送されるデータの第３例を示す。
【図７】本実施形態に係る受信装置３０の構成を示す。
【図８】本実施形態に係る受信装置３０の動作の状態遷移を示す。
【図９】本実施形態に係る受信装置３０の受信動作のフローを示す。
【図１０】本実施形態に係る受信装置３０における同期パルスの検索フローを示す。
【図１１】本実施形態に係るバッファ７１５に格納される内容の一例を示す。
【図１２】本実施形態に係る受信装置３０のデータ出力動作のフローを示す。
【図１３】本実施形態に係るデバイス１３００の構成を示す。
【図１４】本実施形態に係る不揮発性メモリ１３３０に格納される情報の一例を示す。
【図１５】本実施形態に係る製造システム１５００の一例を示す。
【図１６】本実施形態に係るコンピュータ２２００の構成の一例を示す。
【発明を実施するための形態】
【００２５】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２６】
図１は、本実施形態に係る通信システム１０の構成を示す。通信システム１０は、送信装置２０と、受信装置３０と、通信路４０とを備える。
【００２７】
送信装置２０は、通信路４０を介して受信装置３０に接続され、送信側装置から受け取った送信データを含むメッセージを受信装置３０に対して送信する。本実施形態に係る送信装置２０は、一例として圧力センサ等のセンサを含む装置に接続され、センサから取得されたセンサデータを含むメッセージを受信装置３０に対して送信する。
【００２８】
受信装置３０は、通信路４０を介して送信装置２０に接続され、送信装置２０からメッセージを受信して受信データを受信側装置に供給する。本実施形態に係る受信装置３０は、一例として送信装置２０から受信したメッセージに含まれるセンスデータを受信側装置に供給する。これを受けて、受信側装置は、センサデータに応じて通信システム１０が設けられた車両またはエンジン等の装置を制御する。
【００２９】
通信路４０は、送信装置２０および受信装置３０の間を接続する。通信路４０は、一例として車載ネットワーク用の通信路であり、シリアル信号線を用いた接続であってよい。
【００３０】
なお、通信システム１０は、上記した用途以外の各種の通信インターフェイスとして利用されてもよい。また、受信装置３０は、通信システム１０の実際の応用で使用される受信装置ではなく、例えば送信装置２０または通信路４０の試験または診断等に用いられる試験装置または診断装置等が有する受信装置であってもよい。
【００３１】
図２は、本実施形態に係るメッセージの一例を示す。本例において、メッセージは、論理ハイ（論理Ｈ）、および論理ロー（論理Ｌ）の２値をとるシリアル信号によって伝送される。論理Ｈは、予め定められた閾値電圧以上の電圧値をとってよく、論理Ｌは、閾値電圧未満の電圧値をとってよい。メッセージは、複数のパルスを含む。各パルスは、論理Ｌから論理Ｈへと立ち上がり、パルスに応じて予め定められた時間の後に論理Ｌへと立ち下がる。パルスが論理Ｈとなる期間の時間幅を、パルス幅と呼ぶ。
【００３２】
本実施形態においては、通信方式としてＳＥＮＴ（Ｓｉｎｇｌｅ−Ｅｄｇｅ  Ｎｉｂｂｌｅ  Ｔｒａｎｓｍｉｓｓｉｏｎ）プロトコルを用いる場合を例に説明する。ＳＥＮＴプロトコルにおいて、メッセージは、同期校正（Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ／Ｃａｌｉｂｒａｔｉｏｎ）パルス、ステータス＆コミュニケーション（Ｓｔａｔｕｓ＆Ｃｏｍｍｕｎｉｃａｔｉｏｎ）パルス、複数（３つ）のファースト１・データ（ｆａｓｔ  １  ｄａｔａ）パルス、複数（３つ）のファースト２・データ（ｆａｓｔ  １  ｄａｔａ）パルス、ＣＲＣパルス、およびポーズパルスを含む。
【００３３】
同期校正パルスは、予め定められたパルス幅（「同期パルス幅」と示す。）を有する。ＳＥＮＴプロトコルにおいて、同期校正パルスは、５２単位期間（「ティック」とも示す。）のパルス幅の間論理Ｈをとるパルス幅不変のパルスである。ここで、ＳＥＮＴプロトコルにおいては、パルス幅は、送信装置２０および受信装置３０の間で予め定められた時間長のティック（例えば３ｕｓ）を単位として定義される。同期校正パルスは、同期パルスの一例であり、メッセージの先頭位置を示す。
【００３４】
ステータス＆コミュニケーションパルス（「ステータスパルス」とも示す。）は、同期校正パルスの次のパルスであり、ステータス等のデータ値に応じたパルス幅（「データパルス幅」と示す。）の間論理Ｈをとるパルス幅可変のパルスである。ステータスパルスは、ステータス等のデータを伝送するものであり、「第２データパルス」とも示す。ステータスパルスは、ステータス等を示す４ビット（１ニブル）のデータを伝送する。
【００３５】
ファースト１・データパルスは、ステータスパルスの次の３つのパルスであり、ファースト１・データの値に応じたパルス幅（データパルス幅）を有するパルス幅可変のパルスである。ファースト２・データパルスは、ファースト１・データパルスの次の３つのパルスであり、ファースト２・データの値に応じたパルス幅（データパルス幅）を有するパルス幅可変のパルスである。これらのデータパルスは、「第１データパルス」の一例である。これらのデータパルスは、それぞれ４ビットのデータ（「第１データ」の一例としてのデータ）を伝送する。
【００３６】
ＣＲＣパルスは、ファースト２・データパルスの次のパルスであり、誤り検出／訂正符号の値に応じたパルス幅を有するパルス幅可変のパルスである。ＣＲＣパルスは、４ビットの誤り検出／訂正符号を伝送する。
【００３７】
ポーズパルスは、連続するメッセージ間に配置されるパルスであり、前のメッセージのＣＲＣパルスの末尾から次のメッセージの同期校正パルスの前までの間を満たすパルス幅を有する。ポーズパルスのパルス幅は、最小でも同期校正パルスのパルス幅よりも大きく設定される。なお、ＳＥＮＴプロトコルにおいては、ポーズパルスはオプションであり、ポーズパルスを用いない場合にはＣＲＣパルスおよび同期校正パルスの間の信号は論理Ｌとされる。
【００３８】
ＳＥＮＴプロトコルにおいては、以上に示した各パルス間に４ティックの論理Ｌの期間が設けられる。
【００３９】
図３は、本実施形態に係るメッセージにおけるデータパルスのパルス幅とデータ値の対応を示す。なお、本図は、ステータスデータおよび誤り検出／訂正符号としてのデータを伝送するステータスパルスおよびＣＲＣパルスにも適用される。
【００４０】
ＳＥＮＴプロトコルにおいては、本図に示すようにデータ値０を示すパルスは１２ティックのパルス幅を有し、データ値１を示すパルスは１３ティックのパルス幅を有し、以下同様にデータ値１５（０ｘＦ）を示すパルスは２７ティックのパルス幅を有する。
【００４１】
図４は、本実施形態に係るメッセージのステータスパルスによって伝送されるデータの第１例を示す。ＳＥＮＴプロトコルは、ファースト１・データおよびファースト２・データによるデータ伝送に加え、複数メッセージのステータスパルスに分割してデータをエンコードするデータ伝送（Ｓｌｏｗチャネルによるデータ伝送）を規定する。Ｓｌｏｗチャネルによるデータ伝送には、ＳｈｏｒｔフォーマットおよびＥｎｈａｎｃｅｄフォーマットの２種類のフォーマットが規定されている。本図は、このうちＳｈｏｒｔフォーマットを示す。
【００４２】
Ｓｈｏｒｔフォーマットにおいては、送信装置２０は、連続する１６個のメッセージを含むメッセージ群の各メッセージに含まれるステータスパルスに分割してデータをエンコードする。本図において、ニブル番号は、Ｓｈｏｒｔフォーマットにおけるステータスパルスの番号を示し、メッセージ群中のメッセージの番号と同じである。各ステータスパルスは、４ビット（１ニブル）のデータを有するが、Ｓｈｏｒｔフォーマットにおいてはこのうち２ビット（シリアルデータビット３および２）を使用する。
【００４３】
Ｓｈｏｒｔフォーマットにおいて、シリアルデータビット３は、ニブル１〜１６に「１０００００００００００００００」のビット列を含む。シリアルデータビット２は、ニブル１〜４にメッセージＩＤ（図中「ＭＩＤ」）、ニブル５〜１２にデータ、ニブル１３〜１６にＣＲＣを含む。Ｓｈｏｒｔフォーマットにおけるシリアルデータビット３および２にエンコードされるデータは、「第２データ」の一例である。
【００４４】
メッセージＩＤは、Ｓｌｏｗチャネルで伝送するデータに関する４ビットのメッセージ識別番号である。データは、Ｓｌｏｗチャネルで伝送する８ビットのデータである。ＣＲＣは、Ｓｌｏｗチャネルで伝送するデータに関するＣＲＣであり、メッセージＩＤおよびデータ部分のＣＲＣであってよい。
【００４５】
図５は、本実施形態に係るメッセージのステータスパルスによって伝送されるデータの第２例を示す。本図は、Ｅｎｈａｎｃｅｄフォーマットにおいてコンフィグレーションビットを０とする場合を示す。
【００４６】
Ｅｎｈａｎｃｅｄフォーマットにおいては、送信装置２０は、連続する１８個のメッセージを含むメッセージ群の各メッセージに含まれるステータスパルスに分割してデータをエンコードする。本図において、ニブル番号は、Ｅｎｈａｎｃｅｄフォーマットにおけるステータスパルスの番号を示し、メッセージ群中のメッセージの番号と同じである。Ｅｎｈａｎｃｅｄフォーマットにおいても、各ステータスパルス（１ニブル）のうち２ビット（シリアルデータビット３および２）を使用する。
【００４７】
Ｅｎｈａｎｃｅｄフォーマットにおいて、コンフィグレーションビットを０とする場合、シリアルデータビット３は、ニブル１〜６に「１１１１１１」、ニブル７に「０」、ニブル８にコンフィグレーションビット「０」、ニブル９〜１２にメッセージＩＤ（一部）、ニブル１３に「０」、ニブル１４〜１７にメッセージＩＤ（一部）、ニブル１８に「０」を含む。シリアルデータビット２は、ニブル１〜６にＣＲＣ、ニブル７〜１８にデータを含む。Ｅｎｈａｎｃｅｄフォーマットにおけるシリアルデータビット３および２にエンコードされるデータは、「第２データ」の一例である。
【００４８】
メッセージＩＤは、Ｓｌｏｗチャネルで伝送するデータに関する８ビットのメッセージ識別番号である。データは、Ｓｌｏｗチャネルで伝送する１２ビットのデータである。ＣＲＣは、Ｓｌｏｗチャネルで伝送するデータに関するＣＲＣであり、メッセージＩＤおよびデータ部分のＣＲＣであってよい。
【００４９】
図６は、本実施形態に係るメッセージのステータスパルスによって伝送されるデータの第３例を示す。本図は、Ｅｎｈａｎｃｅｄフォーマットにおいてコンフィグレーションビットを１とする場合を示す。
【００５０】
Ｅｎｈａｎｃｅｄフォーマットにおいて、コンフィグレーションビットを１とする場合、シリアルデータビット３は、ニブル１〜６に「１１１１１１」、ニブル７に「０」、ニブル８にコンフィグレーションビット「１」、ニブル９〜１２にメッセージＩＤ、ニブル１３に「０」、ニブル１４〜１７にデータ（一部）、ニブル１８に「０」を含む。シリアルデータビット２は、ニブル１〜６にＣＲＣ、ニブル７〜１８にデータ（一部）を含む。
【００５１】
メッセージＩＤは、Ｓｌｏｗチャネルで伝送するデータに関する４ビットのメッセージ識別番号である。データは、Ｓｌｏｗチャネルで伝送する１６ビットのデータである。ＣＲＣは、Ｓｌｏｗチャネルで伝送するデータに関するＣＲＣであり、メッセージＩＤおよびデータ部分のＣＲＣであってよい。
【００５２】
受信装置３０は、ＳｈｏｒｔフォーマットおよびＥｎｈａｎｃｅｄフォーマットを、シリアルデータビット３が「１」であるメッセージが６個連続するか否かによって判別することができる。Ｓｈｏｒｔフォーマットの場合、受信装置３０は、シリアルデータビット３が「１」であるメッセージがメッセージ群の先頭であると判別することができる。Ｅｎｈａｎｃｅｄフォーマットの場合、受信装置３０は、シリアルデータビット３において６個連続する「１」の先頭の「１」を含むメッセージがメッセージ群の先頭であると判別することができる。
【００５３】
図７は、本実施形態に係る受信装置３０の構成を示す。受信装置３０は、受信部７００と、パルス情報格納部７１０と、検索部７２０と、調整部７３０と、検出部７４０と、特定部７５０と、抽出部７６０と、データ出力部７７０とを備える。
【００５４】
受信部７００は、送信装置２０によって送信された１または複数のメッセージに含まれる複数のパルスを、通信路４０を介して受信する。受信部７００は、一例として通信路４０から受信した信号を閾値電圧と比較することにより、信号の論理値（論理Ｈまたは論理Ｌ）を判定する。そして、受信部７００は、受信された信号列から判定結果を用いてパルスを特定して、複数のパルスのそれぞれについてパルス周期またはパルス幅を示すパルス情報を算出する。
【００５５】
本実施形態において、受信部７００は、判定した信号の論理値を観測して、各パルスのパルス周期またはパルス幅を検出する。受信部７００は、専用回路によって実現されてよく、これに代えてマイクロコントローラ等におけるプログラム実行により実現されてもよい。受信部７００は、信号が論理Ｌから論理Ｈへと変化する２つのタイミングの時間間隔を計測することにより、パルス間隔（これらのタイミングの間に位置するパルスのパルス幅にパルス間のインターバルを加えた時間幅）、すなわちパルス周期を計測することができる。これに代えて、受信部７００は、信号が論理Ｌから論理Ｈへと変化するタイミングから信号が論理Ｈから論理Ｌへと変化するタイミングの時間間隔を計測することにより、パルス幅を計測することができる。
【００５６】
ここで、図２に示したようにパルス間に固定長のインターバル（例えば４ティック）が設けられる場合等のようにパルス幅とパルス周期の間に１対１の関係が成り立っている場合、受信装置３０は、パルス周期およびパルス幅のいずれを用いても受信するメッセージの内容を正しく解釈することができる。そこで、本願においては、パルス周期またはパルス幅を示す情報を「パルス情報」と表す。パルス情報は、パルス周期またはパルス幅の値そのものを直接示すものであってよく、これに代えて、パルス周期またはパルス幅の値が何らかの規則により変換されることによってパルス周期またはパルス幅の値を間接的に示すものであってもよい。
【００５７】
パルス情報格納部７１０は、受信部７００に接続される。パルス情報格納部７１０は、バッファ７１５を有し、受信された複数のパルスのそれぞれについてパルス周期またはパルス幅を示すパルス情報をバッファ７１５に格納する。バッファ７１５は、受信された複数のパルスのそれぞれのパルス情報を、受信順に順次記憶するＦＩＦＯ（ファーストイン・ファーストアウト）バッファであってよい。また、バッファ７１５は、受信装置３０として機能するコンピュータのメモリ上で実現されてもよい。
【００５８】
検索部７２０は、パルス情報格納部７１０に接続され、受信された複数のパルスについてバッファ７１５に格納された複数のパルス情報のうち、同期パルス許容範囲内のパルス周期またはパルス幅を示すパルス情報を検索する。検索部７２０は、バッファ７１５内の各パルス情報を受信順に検索して、同期パルス許容範囲内のパルス情報を受信順に発見する。検索部７２０が発見したパルス情報に対応するパルス（「第１パルス」と示す。）は、同期パルスの候補となる。
【００５９】
調整部７３０は、検索部７２０に接続され、第１パルスについてのパルス情報が示すパルス周期またはパルス幅と同期パルスの基準周期または基準幅とに基づいて、データパルス許容範囲を調整する。これにより、調整部７３０は、例えば送信装置２０および受信装置３０の間で１ティックの時間長を３ｕｓと定めていたにもかかわらず、１８２ｕｓのパルス幅の第１パルスを検出した場合、１ティックの時間長を３．５ｕｓ（＝１８２／５２）とみなし、データパルス許容範囲を４２ｕｓ（３．５ｕｓ×１２）〜９４．５ｕｓ（３．５ｕｓ×２７）±２０％に調整する。これにより、送信装置２０が送信するパルスにおける１ティックの時間長に誤差がある場合においても、受信装置３０は、同期パルスの候補となる第１パルスのパルス周期またはパルス幅に基づいて１ティックの時間長を調整し、後続するデータパルス等のパルス周期またはパルス幅を正しく判別できる。
【００６０】
検出部７４０は、パルス情報格納部７１０および調整部７３０に接続され、検索部７２０が検索したパルス情報に対応する第１パルスに対して予め定められた相対位置にある第２パルスについてバッファ７１５に格納されたパルス情報が、データパルス許容範囲内のパルス周期またはパルス幅を示すか否かを検出する。本実施形態において、検出部７４０は、バッファ７１５内における第１パルスのパルス情報の位置を、検索部７２０から調整部７３０を介して受け取る。また、検出部７４０は、調整部７３０によって調整されたデータパルス許容範囲または調整された１ティックの時間長を調整部７３０から受け取る。検出部７４０は、バッファ７１５内における第１パルスから予め定められた相対位置（例えば第１パルスの次のパルス）にある第２パルスをデータパルス候補とする。検出部７４０は、バッファ７１５内における第２パルスのパルス情報の読み出しをパルス情報格納部７１０へと要求して、第２パルスのパルス情報を取得する。そして、検出部７４０は、バッファ７１５から読み出された第２パルスのパルス情報が、データパルス許容範囲内のパルス周期またはパルス幅を示すかを検出する。
【００６１】
特定部７５０は、検出部７４０に接続され、第２パルスのパルス情報がデータパルス許容範囲内のパルス周期またはパルス幅を示すことを条件として、第１パルスを同期パルスとして特定する。特定部７５０は、検出部７４０の検出結果およびバッファ７１５内における第１パルスのパルス情報の位置を検出部７４０から受け取る。特定部７５０は、第２パルスのパルス情報がデータパルス許容範囲内のパルス周期またはパルス幅を示す旨の検出結果を受け取ったことに応じて、第１パルスが同期パルスであったと判定する。この場合、特定部７５０は、第１パルスが同期パルスであることを示す情報を、第１パルスのパルス情報に対応付けてバッファ７１５に格納することをパルス情報格納部７１０に指示する。
【００６２】
抽出部７６０は、パルス情報格納部７１０に接続され、同期パルスと判定された第１パルスを基準として予め定められた個数分のパルス（図２の例においては同期パルス〜ＣＲＣパルスまでのパルス）をメッセージに含まれるパルスとして抽出する。そして、抽出部７６０は、メッセージに含まれる各パルスについてバッファ７１５に格納されたパルス情報をパルス情報格納部７１０を介してバッファ７１５から読み出して、データ出力部７７０に供給する。
【００６３】
データ出力部７７０は、抽出部７６０に接続され、メッセージに含まれる各パルスについてバッファに格納されたパルス情報に応じた受信データを受信側装置に出力する。
【００６４】
以上に示した受信装置３０によれば、同期パルス許容範囲内のパルス周期またはパルス幅を有するパルスを無条件に同期パルスと判定するのではなく、同期パルスに対して予め定められた相対位置（同期パルスと同一メッセージ内におけるステータスパルス、データパルス、およびＣＲＣパルスの少なくとも１つに対応する位置）にあるパルスがデータパルス許容範囲内のパルス周期またはパルス幅を有することも判定条件に加える。これにより、受信装置３０は、より高い精度で同期パルスを検出することができる。
【００６５】
図８は、本実施形態に係る受信装置３０の動作の状態遷移を示す。受信装置３０は、アイドル状態８００、受信開始状態８１０、受信処理状態８２０、および送信処理状態８３０の各状態の間で動作状態を遷移させながら受信処理を行なう。
【００６６】
（１）アイドル状態８００
受信装置３０は、起動後初期化を完了すると、アイドル状態８００となる。また、受信装置３０は、受信した１または複数のメッセージに含まれる送信単位のデータを受信側装置へと送信し、バッファ７１５が空となった場合は、アイドル状態８００に遷移する。本実施形態に係る受信装置３０は、図４に示したＳｈｏｒｔフォーマットのメッセージについてはＳｌｏｗチャネル１周期分の１６メッセージ分を送信単位とし、図５および図６に示したようなＥｎｈａｎｃｅｄフォーマットのメッセージ群についてはＳｌｏｗチャネル１周期分の１８メッセージ分のデータを送信単位とする。受信装置３０は、例えば２５６メッセージ等更に多くのメッセージを含むＥｎｈａｎｃｅｄフォーマットに対応してもよい。なお、メッセージがＳｌｏｗチャネルを含まない場合には、受信装置３０は、１メッセージ分を送信単位としてもよい。
【００６７】
アイドル状態８００において、受信装置３０は、受信側装置からの受信要求を待つ。起動後初めて受信要求を受けると、受信装置３０は、受信開始状態８１０に遷移する。起動後２回目以降の受信要求を受けた場合、受信装置３０は、受信処理状態８２０に遷移する。
【００６８】
（２）受信開始状態８１０
受信装置３０は、受信開始状態８１０において、メッセージの受信の開始処理を行なう。例えば、受信装置３０は、バッファ７１５のエントリを指し示す各種のバッファポインタを初期化する。このようなバッファポインタの一例としては、受信部７００が次に受信するパルスを格納するエントリを示すストアポインタ、抽出部７６０が次に抽出するパルスを格納するエントリを示す出力ポインタ、検索部７２０が次の検索を始めるべきエントリを示すロードポインタ等が挙げられる。
【００６９】
また、受信装置３０は、受信開始状態８１０において、受信部７００によるパルスの受信を開始する。本実施形態に係る受信装置３０は、図９に関して後述するように割り込みおよびタイマカウンタを用いてパルスを検出するので、受信開始状態８１０において割り込みおよびタイマカウンタの設定を行なう。
【００７０】
（３）受信処理状態８２０
受信装置３０は、受信処理状態８２０において、通信路４０からのパルスの受信処理を行なう。受信部７００は、パルスを順次受信し、受信したパルスのパルス情報をバッファ７１５におけるストアポインタによって指定されるエントリに格納するようパルス情報格納部７１０に指示する。そして、受信部７００は、ストアポインタをインクリメントする。
【００７１】
検索部７２０、調整部７３０、検出部７４０、および特定部７５０は、ストアポインタがロードポインタよりも先のエントリを示すことに応じて、ロードポインタおよびストアポインタの手前までの範囲で同期パルスを検索して特定する。
【００７２】
送信単位分の全メッセージのパルスがバッファ７１５に溜まると、受信装置３０は、送信単位分の全メッセージのデータを受信側装置へと出力すべく送信処理状態８３０に遷移する。また、バッファ７１５の容量がＳｈｏｒｔフォーマットまたはＥｎｈａｎｃｅｄフォーマットに含まれる全メッセージを格納するのに十分でない場合、および同期パルスとして送信されたパルスが同期パルス許容範囲内のパルス周期またはパルス幅を有さずメッセージが認識できない場合等においては、送信単位分のパルスがバッファ７１５に溜まる前に、バッファ７１５がバッファフルとなる（すなわちストアポインタが出力ポインタに追いつく）ことがある。この場合、受信装置３０は、送信単位分の全メッセージのパルスがバッファ７１５に溜まっていなくても、バッファフルとなったことに応じて、これまでに溜まった分のデータを受信側装置へと出力すべく一旦送信処理状態８３０に遷移する。この場合、受信装置３０は、送信単位の一部についてのデータを受信側装置へと出力した後に受信処理状態８２０に戻り、送信単位分の最終データに対応するパルスまでバッファ７１５に溜まったことに応じて、残りのデータを受信側装置へと出力すべく再度送信処理状態８３０に遷移する。
【００７３】
（４）送信処理状態８３０
受信装置３０は、送信処理状態８３０において、バッファ７１５に溜まったパルスに応じたデータを受信側装置へ送信する送信処理を行なう。抽出部７６０は、バッファ７１５における出力ポインタが指すエントリから順に、同期パルスとして特定されたパルスを見つけてメッセージを抽出する。データ出力部７７０は、抽出されたメッセージに含まれる受信データを受信側装置に出力する。
【００７４】
送信単位分の全メッセージのデータを出力すべく送信処理状態８３０に遷移してきた場合には、受信装置３０は、送信単位分の全メッセージのデータを受信側装置へと送信し終えたことに応じてアイドル状態８００に遷移する。バッファフルによって送信処理状態８３０に遷移してきた場合には、受信装置３０は、送信単位の一部についてのデータを受信側装置へと送信してバッファフルを解消した後、残りのデータについてのパルスを受信すべく受信処理状態８２０に遷移する。ここで受信装置３０は、バッファ７１５に溜まっている全てのメッセージに含まれるデータを受信側装置へと送信して、バッファ７１５をなるべく空に近い状態としてよい。
【００７５】
送信単位の一部のデータを受信側装置へと出力済で残りのデータを出力すべく送信処理状態８３０に遷移してきた場合には、受信装置３０は、残りの全メッセージのデータを受信側装置へと送信し終えたことに応じてアイドル状態８００に遷移する。
【００７６】
本実施形態においては、１ティックの長さが３ｕｓ等であり、パルス周期は最小で４８ｕｓ（１２＋４ティック）であるから、受信側装置に対するデータ出力に伴う情報処理を行なう時間的余裕が十分にある。このため、受信装置３０は、１パルス分の受信待ちの間にバッファフルを解消すべく一旦送信処理状態８３０に遷移した後に受信処理状態８２０に戻ることができる。時間的余裕がない受信装置３０においては、受信処理状態８２０および送信処理状態８３０を並列にまたは並行して実行可能としてよい。
【００７７】
図９は、本実施形態に係る受信装置３０の受信動作のフローを示す。本図の例において、受信装置３０は、マイクロコントローラ等のプロセッサ、メモリ、および割込みコントローラ等を有するコンピュータに受信プログラムを実行させ、コンピュータを受信装置３０内の各構成要素として機能させることにより実現されてよい。受信部７００は、コンピュータの割り込み機能およびタイマカウンタ機能を用いて受信処理を行なう。
【００７８】
受信装置３０は、図８の受信開始状態８１０において、受信信号の立ち上がりまたは立ち下がりの少なくとも一方を検出したことに応じて割り込みを発生するように割込コントローラを設定する。これにより、受信部７００は、受信信号の立ち上がりまたは立ち下がりの少なくとも一方を検出したことに応じて割り込みを発生する。本実施形態に係る受信部７００は、受信信号の立ち下がり（論理Ｈから論理Ｌへの変化）を検出したことに応じて割り込みを発生する。これにより、受信部７００は、図２における、同期パルスの立ち下がり、ステータスパルスの立ち下がり、ファースト１・データおよびファースト２・データの各データパルスの立ち下がり、ＣＲＣパルスの立ち下がり、およびポーズパルスの立ち下がりの各タイミングで割り込みを発生する。受信部７００は、割り込み同士の間の期間をタイマカウンタで測定することにより、各パルスのパルス周期を測定することができる。これに代えて、受信部７００は、受信信号の立ち上がりに応じて割り込みを発生してもよい。また、受信部７００は、受信信号の立ち上がりおよび立ち下がりの両方で割り込みを発生して、パルス幅を測定するようにしてもよい。
【００７９】
本実施形態に係る受信部７００は、タイマカウンタの初期値を、最大値に設定し、タイマカウンタの１単位時間毎にダウンカウントさせる。例えば、タイムカウント値が１６ビットの場合、受信部７００は、タイムカウント値の初期値を０ｘＦＦＦＦ（１６進数のＦＦＦＦ）とする。これにより、タイマカウンタがカウントした時間の長さは、タイムカウント値の２の補数となる。タイマカウンタの１単位時間は、例えば５０ｎｓ等、１ティックの時間と比較して相当小さくてよい。
【００８０】
受信部７００は、図８の受信処理状態８２０において、図９に示した割込処理を実行する。Ｓ９００において、受信部７００は、受信信号の立ち下がりを検出したことに応じて割り込みを発生し、割込処理を開始する。Ｓ９０５において、受信部７００は、タイマカウンタによるタイムカウントを停止させる。
【００８１】
Ｓ９１０において、受信部７００は、タイマカウンタのタイムカウント値を読み出して、ワーク変数（作業用変数）ｗｏｒｋに代入する。Ｓ９１５において、受信部７００は、ワーク変数ｗｏｒｋの２の補数をとり、受信信号の前回の立ち下がり後タイマカウンタを初期値に設定してからＳ９０５においてタイムカウントを停止させるまでのカウント数を算出する。このカウント数は、パルス周期を示すパルス情報の一例である。
【００８２】
Ｓ９２０において、受信部７００は、ワーク変数ｗｏｒｋの値（カウント数）を、バッファ７１５に格納することをパルス情報格納部７１０に指示する。これを受けて、パルス情報格納部７１０は、バッファ７１５におけるストアポインタが指すエントリにカウント数を格納し、ストアポインタを進める。これにより、パルス情報格納部７１０は、割り込みの発生間隔に応じたパルス周期またはパルス幅を示すパルス情報をバッファ７１５に格納することができる。
【００８３】
Ｓ９２５において、受信部７００は、バッファ７１５がバッファフルとなったか否かを検査する。受信部７００は、ストアポインタが、バッファ７１５の出力ポインタ、すなわち次にデータを出力すべきパルス情報のエントリを指すポインタに追いついたことに応じてバッファフルとなったと判定する。これに代えて、受信部７００は、空きエントリ数が下限値未満となったことに応じてバッファフル相当と判定してもよい。受信部７００は、バッファフルとなった場合には、Ｓ９３０において、タイマカウンタのタイマ処理を停止し、データ取得を停止する。
【００８４】
Ｓ９３５において、受信部７００は、次の割り込みまでの時間をカウントするべくタイマカウント値を最大値に初期化する。Ｓ９４０において、受信部７００は、タイマカウンタによるタイムカウントを開始し、受信信号の今回の立ち下がりから次回の立ち下がりまでの時間の計測を開始する。
【００８５】
Ｓ９４５において、受信部７００は、割込コントローラが有する割込フラグをクリアする。Ｓ９５０において、受信部７００は、割込処理ルーチンから割込元の処理ルーチンへと復帰する。
【００８６】
以上に示した受信装置３０によれば、マイクロコントローラ等の割り込み機能を活用して受信信号のパルス周期またはパルス幅を検出し、バッファ７１５に格納することができる。このため、受信装置３０（または受信装置３０および受信側装置を含む装置）が元々通信処理のためにマイクロコントローラ等を有している場合には、通信路４０からの信号の受信のためにハードウェア構成の追加を最小限に抑えることができる。
【００８７】
図１０は、本実施形態に係る受信装置３０における同期パルスの検索フローを示す。本図の例において、受信装置３０は、マイクロコントローラ等のプロセッサおよびメモリを有するコンピュータに受信プログラムを実行させ、コンピュータを受信装置３０内の各構成要素として機能させることにより実現されてよい。受信装置３０内の検索部７２０、調整部７３０、検出部７４０、および特定部７５０は、コンピュータの各種機能を用いて同期パルスの検索処理を行なう。
【００８８】
Ｓ１０００において、検索部７２０は、バッファ７１５内のロード位置にあるエントリ（ロードカウンタによって指定されるエントリ）のパルス情報をワーク変数ｗｏｒｋに代入する。このワーク変数ｗｏｒｋは、図９に示したワーク変数と異なるものであってもよい。Ｓ１００５において、検索部７２０は、バッファ７１５内のロード位置の次のエントリのパルス情報をワーク変数ｗｏｒｋ２に代入する。
【００８９】
Ｓ１０１０において、検索部７２０は、ワーク変数ｗｏｒｋが示すパルス情報が、同期パルス許容範囲内であるか否かを判定する。例えば、同期パルスとして許容されるパルス周期の誤差±２０％である場合、検索部７２０は、５６ティック±２０％、すなわち１３４．４ｕｓ（５６×３ｕｓ×０．８）〜２０１．６ｕｓ（５６×３ｕｓ×１．２）を同期パルス許容範囲として用いてよい。なお、パルス情報がタイマカウンタの１単位時間を基準として表現されている場合には、検索部７２０は、タイマカウンタの１単位時間を基準として表現した同期パルス許容範囲を用いてよい。
【００９０】
Ｓ１０１０において、ワーク変数が示すパルス情報が同期パルス許容範囲内でない場合、検索部７２０は、対象のパルス情報が同期パルスのものでないと判定し、Ｓ１０４０に処理を進める。Ｓ１０４０において、検索部７２０は、ロードカウンタをインクリメントすることによって検索処理の対象とするロード位置をインクリメントする。インプリメンテーションによっては、検索部７２０は、同期パルス許容範囲内でないと判断したパルス情報に対応付けて、同期パルスでないことを示す情報をバッファ７１５に格納するようにしてもよい。
【００９１】
Ｓ１０４５において、次に検査すべきエントリがバッファ７１５内に残っている場合（すなわちロードポインタが出力ポインタに追いついていない場合）、検索部７２０は、処理をＳ１０００に進めて次のエントリに格納されたパルス情報の検査を進める。Ｓ１０４５において、次に検査すべきエントリがバッファ７１５内に残っていない場合には、検索部７２０は、Ｓ１０５０において、同期パルスが検出されなかったことを検索処理の呼出元のルーチンに通知する。
【００９２】
Ｓ１０１０において、ワーク変数が示すパルス情報が同期パルス許容範囲内である場合、検索部７２０は、バッファ７１５内のロード位置にあるエントリのパルスが同期パルスの候補となる第１パルスであると判定する。この場合、Ｓ１０１５において、調整部７３０は、ワーク変数ｗｏｒｋが示すパルス情報を変数ｓｙｎｃ＿ｃｏｕｎｔに代入し、ワーク変数ｗｏｒｋが示すパルス情報を同期パルスの規定ティック数（例えば５６）で割った値を変数ｂａｓｅ＿ｃｏｕｎｔに代入する。この変数ｂａｓｅ＿ｃｏｕｎｔは、第１パルスのパルス周期を基準として求めた１ティックの時間（タイマカウンタのカウント数）となる。このようにして、調整部７３０は、第１パルスについてのパルス情報が示すパルス周期またはパルス幅と同期パルスの基準周期または基準幅とに基づいて、１ティックの時間を調整する。本図の例においては、調整部７３０は、第１パルスについてのパルス情報が示すパルス周期の、同期パルスの基準周期に対する比率に基づいて、１ティックの時間を調整する。パルス情報としてパルス幅を用いる場合には、調整部７３０は、第１パルスについてのパルス情報が示すパルス幅の、同期パルスの基準パルス幅に対する比率に基づいて、１ティックの時間を調整してよい。
【００９３】
Ｓ１０２０において、調整部７３０は、ワーク変数ｗｏｒｋ２を変数ｂａｓｅ＿ｃｏｕｎｔで割った値をワーク変数ｗｏｒｋ３に代入する。ワーク変数ｗｏｒｋ２は、第１パルスに対して予め定められた相対位置（本例において第１パルスの次）にある第２パルスのパルス情報であり、ワーク変数ｗｏｒｋ３は、第１パルスが同期パルスの規定パルス周期を有する前提で求めた第２パルスのパルス周期（ティック数）となる。
【００９４】
Ｓ１０２５において、検出部７４０は、ワーク変数ｗｏｒｋ３の値が、データパルス許容範囲内のティック数（１６〜３１ティック）の範囲内か否かを検出する。これにより、検出部７４０は、第２パルスのパルス情報が、調整部７３０が１ティックの時間を調整することによって調整されたデータパルス許容範囲内か否かを検出することができる。第２パルスのパルス情報がデータパルス許容範囲内でない場合、検出部７４０は、第１パルスが同期パルスでないと判断し、処理をＳ１０４０に進める。
【００９５】
Ｓ１０２５において第２パルスのパルス情報がデータ許容範囲内の場合、特定部７５０は、Ｓ１０３０において第１パルスを同期パルスとして特定する。特定部７５０は、バッファ７１５内のロードポインタが指し示すエントリに、第１パルスが同期パルスであることを示す情報を格納する。一例として、特定部７５０は、バッファ７１５のエントリに含まれる同期パルスフラグを１にセットすることにより、第１パルスが同期パルスであることを示してよい。Ｓ１０３５において、特定部７５０は、同期パルスが検出されたことを検索処理の呼び出し元のルーチンに通知する。
【００９６】
以上に示した受信装置３０によれば、同期パルスを検出する条件として、同期パルスに対して予め定められた相対位置にあるパルスがデータパルス許容範囲内のパルス周期またはパルス幅を有することも加えることができ、より高い精度で同期パルスを検出することができる。本図の例において、検出部７４０は、同期パルスの次のパルス（図２におけるステータスパルス）のパルス情報がデータパルス許容範囲内にあるかを判断する。これに代えて、検出部７４０は、例えばファースト１・データまたはファースト２・データ内のデータパルス、若しくはＣＲＣパルスのパルス情報がデータパルス許容範囲内にあるかを判定条件に加えてよい。また、検出部７４０は、メッセージに含まれる同期パルス以降の２以上のパルスのパルス情報がそれぞれデータパルス許容範囲内にあるかを判定条件に加えてもよい。受信装置３０は、複数のパルスのパルス情報を一旦バッファ７１５に格納してから同期パルスの検出処理を行なう構成をとるので、ハードウェアによるパルスの逐次処理と比較して、同期パルスおよび他のパルスを含む２以上のパルスのパルス周期またはパルス幅を検査して同期パルスを検出する情報処理を実現しやすくなる。
【００９７】
また、以上に示した受信装置３０によれば、同期パルスの候補となる第１パルスのパルス情報に応じてデータパルス許容範囲を調整することができる。これにより、送信装置２０が送信するパルスにおける１ティックの時間長が受信装置３０における１ティックの時間長に対して相対的に誤差がある場合であっても、受信装置３０は、同期パルスのパルス周期またはパルス幅に基づいて１ティックの時間長を調整してからデータパルスのパルス周期またはパルス幅を検査して、高い精度で同期パルスを検出できる。なお、送信装置２０および受信装置３０が同一クロックに基づいて動作する場合においては、受信装置３０は、調整部７３０を備えない構成をとってもよい。
【００９８】
図１１は、本実施形態に係るバッファ７１５に格納される内容の一例を示す。バッファ７１５は、複数のバッファエントリを有する。本図においては、各バッファエントリにエントリ番号０〜を付している。各バッファエントリは、通信路４０から受信するパルスのそれぞれに対して順次割り当てられ、対象パルスのパルス情報と、対象パルスが同期パルスであるか否かを示す情報（本図においては同期パルスフラグ）を含む。
【００９９】
パルス情報は、検索部７２０によって受信された対象パルスのパルス周期またはパルス幅を示す。本図の例において、パルス情報は、対象パルスのパルス周期を示す。本図においては、説明の便宜上パルス情報はティック数で表現されているが、バッファ７１５は、パルス情報として、タイマカウンタのカウント値等の他の形式で表現された情報を格納してよい。
【０１００】
同期パルスフラグは、特定部７５０によって格納され、対象パルスが同期パルスと判定された場合に１、対象パルスが同期パルスでないと判定された場合に０に設定される。なお、本図の例は、図２に示したメッセージの各パルスが、バッファ７１５のエントリ番号１〜１０に格納された状態を示す。
【０１０１】
図１２は、本実施形態に係る受信装置３０のデータ出力動作のフローを示す。本図の例において、受信装置３０は、マイクロコントローラ等のプロセッサおよびメモリを有するコンピュータに受信プログラムを実行させ、コンピュータを受信装置３０内の各構成要素として機能させることにより実現されてよい。受信装置３０内の抽出部７６０およびデータ出力部７７０は、コンピュータの各種機能を用いてバッファ７１５内に格納された各パルスに応じたデータを受信側装置に出力するデータ出力処理を行なう。
【０１０２】
Ｓ１２００において、抽出部７６０は、バッファ７１５から次にデータ出力処理を行うべきメッセージの同期パルスを検出する。本実施形態に係る抽出部７６０は、バッファ７１５の出力ポインタによって指し示されるエントリから順に出力ポインタを進めながらバッファ７１５を検索して、同期パルスである旨の情報が記録されたエントリ（同期パルスフラグ＝１のエントリ）を検出する。これにより、抽出部７６０は、前回送信したメッセージの後にある同期パルス以外のパルスを破棄する。なお、同期パルスである旨の情報が記録されたエントリがバッファ７１５に格納されていない場合には、抽出部７６０は、同期パルスに対応するエントリがバッファ７１５に格納されるまで待つ。
【０１０３】
Ｓ１２１０において、抽出部７６０は、バッファ７１５に格納された、検出した同期パルスから始まる１メッセージ分のパルスをメッセージに含まれるパルスとして検出する。１メッセージ分のエントリがバッファ７１５に格納されていない場合には、抽出部７６０は、１メッセージ分のエントリがバッファ７１５に格納されるまで待つ。
【０１０４】
Ｓ１２２０において、抽出部７６０は、バッファ７１５内に送信単位分の全メッセージのパルスを検出したか否かを判定する。抽出部７６０は、送信単位の最初にＳｈｏｒｔフォーマットのメッセージを検出した場合、１６メッセージ分の全パルスを検出したことに応じて送信単位分の全パルスを検出したと判定する。抽出部７６０は、送信単位の最初にＥｎｈａｎｃｅｄフォーマットのメッセージを検出した場合、フォーマットに応じて予め規定された数のメッセージの全パルスを検出したことに応じて送信単位分の全パルスを検出したと判定する。抽出部７６０は、送信単位の最初にＳｌｏｗチャネルを含まないメッセージを検出した場合、およびＳｌｏｗチャネルを使用しない設定が適用されている場合には、１メッセージ分の全パルスを検出したことに応じて送信単位分の全パルスを検出したと判定してもよい。抽出部７６０は、送信単位分の全パルスを検出したと判定したことに応じて処理をＳ１２３０に進める。この処理の遷移は、図８における、送信単位のデータ受信済に伴う受信処理状態８２０から送信処理状態８３０への状態遷移に相当する。抽出部７６０は、送信単位分の全パルスを検出していないと判定したことに応じて処理をＳ１２５０に進める。
【０１０５】
Ｓ１２３０において、抽出部７６０は、送信単位分の全メッセージのそれぞれについて、同期パルスを基準として１メッセージ分のパルスを各メッセージに含まれるパルスとしてバッファ７１５から抽出する。そして、抽出部７６０は、各パルスについてバッファ７１５に格納されたパルス情報をデータ出力部７７０に供給する。本実施形態に係る抽出部７６０は、メッセージ毎に、バッファ７１５の出力ポインタを進めながら１メッセージ分のパルスのパルス情報をバッファ７１５から読み出す。データ出力部７７０は、送信単位分の全メッセージのパルス情報に応じた受信データを受信側装置へ送信する。データ出力部７７０は、送信単位分の全メッセージのパルス情報に応じた受信データを受信側装置へ送信する。
【０１０６】
Ｓ１２４０において、抽出部７６０は、バッファ７１５から送信済のデータに関するメッセージを削除する。ここで、本実施形態に係る抽出部７６０のように、バッファ７１５の出力ポインタを進めながら全メッセージのパルスを読み出す場合には、抽出部７６０は、出力ポインタを１メッセージ分進めた時点でそのメッセージを削除することとなる。抽出部７６０は、送信単位分のメッセージを受信側装置へと送信し終えると、当該送信単位についてのデータ出力動作を終了する。抽出部７６０は、データ出力動作の終了に伴って、受信装置３０の状態をアイドル状態８００へと遷移させる。ここで、受信側装置が次の創始単位のメッセージを受信することを受信装置３０に指示した場合には、受信装置３０は、アイドル状態８００から受信処理状態８２０へと状態遷移し、本図のフローを実行する。
【０１０７】
Ｓ１２２０において送信単位分の全パルスを検出していないと判定した場合、Ｓ１２５０において、抽出部７６０は、バッファ７１５がバッファフルとなったかどうかを検査する。バッファ７１５がバッファフルでない場合、抽出部７６０は、処理をＳ１２００へと進めて送信単位内の次のメッセージを検出する。バッファ７１５がバッファフルとなった場合、抽出部７６０は、送信単位未満のデータを受信側装置へと出力してバッファ７１５を空けるために、Ｓ１２６０へと処理を進める。この処理の遷移は、図８の受信処理状態８２０から送信処理状態８３０への状態遷移に相当する。
【０１０８】
Ｓ１２６０において、抽出部７６０は、バッファ７１５に溜まった送信単位未満となる１または複数のメッセージのそれぞれについて、同期パルスを基準として１メッセージ分のパルスを各メッセージに含まれるパルスとして抽出する。そして、抽出部７６０は、各パルスについてバッファ７１５に格納されたパルス情報をデータ出力部７７０に供給する。本実施形態に係る抽出部７６０は、メッセージ毎に、バッファ７１５の出力ポインタを進めながら１メッセージ分のパルスのパルス情報をバッファ７１５から読み出す。データ出力部７７０は、送信単位未満となる１または複数のメッセージのパルス情報に応じた受信データを受信側装置へ送信する。
【０１０９】
Ｓ１２７０において、抽出部７６０は、Ｓ１２４０と同様に、バッファ７１５から送信済のデータに関するメッセージを削除する。抽出部７６０は、処理をＳ１２００へと進めて送信単位の残りのメッセージの検出を行う。この処理の遷移は、図８の送信処理状態８３０から受信処理状態８２０への状態遷移に相当する。
【０１１０】
以上に示した受信装置３０によれば、受信装置３０が受信したメッセージを一旦バッファ７１５へと格納し、送信単位分のデータを揃えて受信側装置へと送信する。また、同期パルスが検出できないメッセージを受信してバッファ７１５が消費された等によって送信単位分のメッセージがバッファ７１５に格納されずにバッファフルとなった場合においても、受信装置３０は、送信単位未満となるメッセージを一旦受信側装置へと送信することにより、次のメッセージを受信できるようにすることができる。なお、受信装置３０は、送信単位分のメッセージを受信側装置に送信し終える前に、バッファフルを複数回検出し、送信単位の一部のメッセージを受信側装置へと送信してもよい。
【０１１１】
なお、受信装置３０は、ＳｈｏｒｔフォーマットおよびＥｎｈａｎｃｅｄフォーマットのように、第２データを分割して第２データパルスにエンコードした複数のメッセージを含むメッセージ群を受信した場合においては、Ｓ１２２０に関して示したように、メッセージ群に含まれる全メッセージを送信単位としてよい。各メッセージは、同期パルス、第１データの値に応じたデータパルス幅を有する第１データパルス（例えばファースト１・データパルスおよびファースト２・データパルス）、および、第２データを分割してエンコードした部分データの値に応じたデータパルス幅を有する第２データパルス（例えばステータスパルス）を含む。
【０１１２】
この場合、抽出部７６０は、Ｓ１２２０において、バッファ７１５に格納された各メッセージのパルス情報に基づいて、第２データを分割してエンコードした複数のメッセージを含むメッセージ群の先頭メッセージを検出して、メッセージ群に含まれる複数のメッセージのパルスを抽出してよい。具体的には、抽出部７６０は、バッファ７１５に格納された一連のメッセージのそれぞれのフォーマットをチェックして、いずれのメッセージがメッセージ群の先頭メッセージであるかを特定する。
【０１１３】
本実施形態に係る抽出部７６０は、各メッセージのステータスパルスにエンコードされたシリアルデータビット３をチェックして、各メッセージが図４から図６に示したフォーマットのいずれの位置にあるかを特定する。例えば、抽出部７６０は、あるメッセージＡのシリアルデータビット３が１であり、メッセージＡに続く１５個のメッセージのシリアルデータビット３が０であることを確認した場合、メッセージＡがＳｈｏｒｔフォーマットのメッセージ群の先頭メッセージであることを検出し、メッセージＡに続く１５個のメッセージがＳｈｏｒｔフォーマットの対応する位置にあるメッセージであることを特定する。また例えば、抽出部７６０は、あるメッセージＢから６メッセージ連続でシリアルデータビット３が１であり、その後２つのメッセージのシリアルデータビット３が０である場合に、メッセージＢがＥｎｈａｎｃｅｄフォーマットでコンフィグレーションビットが０である図５のメッセージ群の先頭メッセージであることを検出し、メッセージＢに続く１７個のメッセージがＥｎｈａｎｃｅｄフォーマット（コンフィグレーションビット＝０）の対応する位置にあるメッセージであることを特定する。ここで、抽出部７６０は、メッセージＢを１番目としたときに１３番目および１８番目のメッセージのシリアルデータビット３が０であることを更に確認してもよい。
【０１１４】
このようにして、抽出部７６０は、バッファ７１５に格納された２以上のメッセージのパルス情報を用いて、複数のメッセージを含むメッセージ群のフォーマットをチェックすることができ、メッセージ群の先頭メッセージを誤検出して誤った第２データを送信側装置に供給する可能性を大幅に低減することができる。
【０１１５】
送信単位に含まれるべき全メッセージをチェックして先頭メッセージを特定するために、抽出部７６０は、メッセージ群に含まれるべきメッセージの数よりも多いメッセージがバッファ７１５に格納されたことに応じて、メッセージ群の先頭メッセージを検出する処理を行ってもよい。例えばＳｈｏｒｔフォーマットおよびＥｎｈａｎｃｅｄフォーマットのように、フォーマットによってメッセージ群に含まれるメッセージの数が異なる場合には、抽出部７６０は、メッセージ数が最大のフォーマット分の全メッセージに相当する数のパルスがバッファ７１５に格納されてからメッセージ群の先頭メッセージを検出する処理を行ってもよい。
【０１１６】
また、抽出部７６０は、メッセージ群に含まれるべきメッセージの数の２倍−１以上に予め定められた数以上のメッセージがバッファ７１５に格納されたことに応じて、メッセージ群の先頭メッセージを検出してもよい。メッセージ群に含まれるメッセージのほぼ２倍のメッセージがバッファ７１５に格納されたことに応じて先頭メッセージの検出を行うことで、抽出部７６０は、大きな通信エラーが発生していない限り確実にメッセージ群の先頭メッセージを検出し、かつその先頭メッセージを含むメッセージ群の全メッセージの全パルスをバッファ７１５から抽出することができる。
【０１１７】
以上のように、メッセージ群の全メッセージを抽出してから第２データを送信側装置へと供給する場合、抽出部７６０は、第１データについては１メッセージ単位等より短い送信単位でバッファ７１５から抽出し、第２データよりも先に送信側装置へと供給するようにしてもよい。
【０１１８】
図１３は、本実施形態に係るデバイス１３００の構成を示す。デバイス１３００は、温度センサ１３１０および圧力センサ１３１５等のセンサによって検出したセンスデータを通信路４０を介して受信装置３０へと送信するセンサデバイスである。すなわち、本実施形態に係るデバイス１３００は、受信装置３０へと送信すべきセンスデータ等のデータを発生する図１の送信側装置としての機能と、発生したデータを受信装置３０へと送信する図１の送信装置２０としての機能とを有する。デバイス１３００は、一例としてＩＣ（集積回路）またはＬＳＩ（大規模集積回路）等により実現されてよく、１パッケージとして実装されてよい。これに代えて、デバイス１３００は、例えば温度センサ１３１０のチップ、圧力センサ１３１５のチップ、および処理ユニット１３３５等を含む複数のチップを基板上に実装したようなマルチチップモジュールとして実現されてもよい。
【０１１９】
デバイス１３００は、温度センサ１３１０と、圧力センサ１３１５と、セレクタ１３２０と、ＡＤＣ１３２５（ＡＤコンバータ１３２５）と、不揮発性メモリ１３３０と、発振器１３３２と、処理ユニット１３３５とを備える。温度センサ１３１０は、デバイス１３００の外部の温度を検出し、検出した温度に応じたセンスデータを出力する。圧力センサ１３１５は、デバイス１３００の外部の圧力を検出し、検出した圧力に応じたセンスデータを出力する。デバイス１３００は、これらに代えて、またはこれらに加えて、他の１または複数種類のセンサを備えてもよい。
【０１２０】
セレクタ１３２０は、温度センサ１３１０および圧力センサ１３１５のセンスデータ出力に接続され、処理ユニット１３３５からの制御に応じて温度センサ１３１０および圧力センサ１３１５のいずれのセンスデータをＡＤＣ１３２５へと供給するかを切替える。セレクタ１３２０は、他のセンサおよびデバイス１３００に外部接続されるサーミスタ等の外部センサの少なくとも１つにも接続されてよく、これらからのセンスデータを含めてＡＤＣ１３２５に供給するセンスデータを切替え可能であってよい。ＡＤＣ１３２５は、セレクタ１３２０に接続され、セレクタ１３２０によって選択されたアナログのセンスデータをデジタルのセンスデータに変換する。
【０１２１】
不揮発性メモリ１３３０は、デバイス１３００が使用する各種の情報を記憶する。本実施形態に係る不揮発性メモリ１３３０は、例えば４Ｋビット等といった全記憶セルの一括消去が可能であるが、一部分のみの書き込みができないフラッシュメモリまたはＥＥＰＲＯＭ等である。発振器１３３２は、デバイス１３００を動作させるクロック信号を出力する。本図において発振器１３３２は、クロック信号を処理ユニット１３３５に供給する。発振器１３３２は、必要に応じてデバイス１３００内のセンサ、セレクタ１３２０、ＡＤＣ１３２５、および不揮発性メモリ１３３０の少なくとも１つのもクロック信号を供給してもよい。
【０１２２】
処理ユニット１３３５は、ＡＤＣ１３２５、不揮発性メモリ１３３０、および発振器１３３２に接続される。処理ユニット１３３５は、発振器１３３２からのクロック信号に応じて動作し、ＡＤＣ１３２５からセンスデータを受け取って、通信路４０（本例においてＳＥＮＴ通信路）を介して受信装置３０へと送信する。また、処理ユニット１３３５は、デバイス１３００内の回路の調整、センスデータの補正、および不揮発性メモリ１３３０の読み書き等の処理を行う。
【０１２３】
本実施形態に係る処理ユニット１３３５は、一例としてマイクロコントローラ等におけるプログラム実行を含む回路により実現される。これに代えて、処理ユニット１３３５は、デバイス１３００専用の回路によって実現されてもよい。
【０１２４】
処理ユニット１３３５は、設定部１３４５と、補正部１３５０と、データ変換部１３５５と、第１通信部１３６０と、第２通信部１３６５と、メモリ制御部１３７０とを有する。設定部１３４５は、デバイス１３００の初期化処理において、処理ユニット１３３５におけるメインメモリ内の設定パラメータおよび設定可能な各種のレジスタ等を設定する。本実施形態に係る設定部１３４５は、デバイス１３００の初期化処理において、不揮発性メモリ１３３０に予め書き込まれた各種の設定値をメモリ制御部１３７０を介して読み出して、処理ユニット１３３５における対応するメモリ領域およびレジスタ等に設定する。
【０１２５】
補正部１３５０は、例えば予め定められた周期でセレクタ１３２０を切替えて、温度センサ１３１０からの温度センスデータおよび圧力センサ１３１５からの圧力センスデータを取得する。取得したセンスデータは、デバイス１３００の個体特有の誤差を有していることから、補正部１３５０は、取得したセンスデータの種類に応じた補正を行う。ここで、補正部１３５０は、設定部１３４５によって設定された補正パラメータを用いて補正処理を行う。
【０１２６】
データ変換部１３５５は、補正部１３５０によって補正されたセンスデータを通信路４０へと送信するデータ形式に変換する。データ変換部１３５５は、パラレル−シリアル変換、送信するメッセージのフォーマットへの変換、およびその他の必要なデータ変換を行う。
【０１２７】
第１通信部１３６０は、第１シリアルインターフェイスの一例であり、データ変換部１３５５によってメッセージのフォーマットに変換されたデータを、通信路４０へと送信する。本実施形態に係る第１通信部１３６０は、一例としてＳＥＮＴ用の送信インターフェイスであり、デバイス１３００の実使用時に検出されるセンスデータを含むメッセージを、ＳＥＮＴ通信路を介して受信装置３０へと送信する。このようなメッセージは、センスデータを図２に示したファースト１データおよびファースト２データの少なくとも一方に含んでよい。ここで、データ変換部１３５５は、当該デバイス１３００の個体に固有の製造固有データ等を例えばＳＥＮＴメッセージのＳｌｏｗチャネルにエンコードしてもよく、第１通信部１３６０は製造固有データ等がエンコードされたメッセージを通信路４０へと送信してもよい。
【０１２８】
第２通信部１３６５は、第２シリアルインターフェイスの一例であり、主にデバイス１３００の製造中に使用される通信インターフェイスである。本実施形態に係る第２通信部１３６５は、双方向シリアルインターフェイスであってよく、一例としてＩ２Ｃ通信インターフェイスである。第２通信部１３６５は、デバイス１３００の出荷前に不揮発性メモリ１３３０に設定しておくべき各種の情報を不揮発性メモリ１３３０へと書き込むことを指示するメモリ書込コマンドをデバイス１３００の製造装置（または製造現場に配置された書込装置）から受け取ったことに応じて、書き込み対象の情報をメモリ制御部１３７０を介して不揮発性メモリ１３３０に書き込む。このメモリ書込コマンドは、不揮発性メモリ１３３０への書き込み要求の一例である。また、第２通信部１３６５は、不揮発性メモリ１３３０のメモリ読出コマンドを製造装置等から受け取ったことに応じて、メモリ制御部１３７０を介して不揮発性メモリ１３３０の内容を読み出して製造装置等へと返信する。また、第２通信部１３６５は、デバイス１３００内における不揮発性メモリ１３３０以外のレジスタ等に対する書き込みまたは読み出しを指示するレジスタ書込コマンドまたはレジスタ読出コマンドを製造装置等から受け取ったことに応じて、レジスタ等に対する書き込みまたは読み出しを行う。
【０１２９】
初期化処理中に設定部１３４５が設定する全てのパラメータ値およびレジスタ値等をデバイス１３００の出荷前に不揮発性メモリ１３３０に書き込んでおけば、デバイス１３００は、実使用環境においてスタンドアローンで最適な動作を行う。したがって、デバイス１３００の出荷後には、デバイス１３００は、通常は第２通信部１３６５を介した通信を行う必要性はない。ただし、デバイス１３００の供給を受けて自動車等の装置に組み込む製造業者が、供給されたデバイス１３００の設定を自社の装置向けに変更したい場合等には、第２通信部１３６５を介した通信機能を利用してもよい。
【０１３０】
メモリ制御部１３７０は、不揮発性メモリ１３３０の一括消去、メモリ書き込みおよびメモリ読み出しを制御する。メモリ制御部１３７０は、第２通信部１３６５がＩ２Ｃ通信インターフェイスから受け取った一括消去コマンドに応じて、不揮発性メモリ１３３０を一括消去する。また、メモリ制御部１３７０は、第２通信部１３６５がＩ２Ｃ通信インターフェイスから受け取ったメモリ書込コマンドに応じて、書き込み対象の情報またはデータを不揮発性メモリ１３３０へと書き込む。また、メモリ制御部１３７０は、第２通信部１３６５がＩ２Ｃ通信インターフェイスから受け取ったメモリ読出コマンドに応じて、不揮発性メモリ１３３０における読み出し対象のアドレスから情報またはデータを読み出してＩ２Ｃ通信インターフェイスを介して返送する。
【０１３１】
図１４は、本実施形態に係る不揮発性メモリ１３３０に格納される情報の一例を示す。本実施形態に係る不揮発性メモリ１３３０は、一括消去される記憶領域内に、調整情報、補正情報、設定情報、および製造情報等のような複数カテゴリの情報を記憶する。
【０１３２】
調整情報は、デバイス１３００内の回路を調整するための情報である。本実施形態に係るデバイス１３００は、一例として、発振器１３３２の発振周波数を調整するための発振器調整用データ、およびＡＤＣ１３２５の出力を調整して入力アナログ値に対してリニアな出力デジタル値を出力させるためのＡＤＣ調整用データ等の調整情報を不揮発性メモリ１３３０に格納する。
【０１３３】
補正情報は、温度センサ１３１０および圧力センサ１３１５が出力するセンスデータの値を補正するための情報である。本実施形態に係るデバイス１３００は、一例として、温度センサ１３１０からのセンスデータを補正するための温度補正用データおよび圧力センサ１３１５からのセンスデータを補正するための圧力補正用データ等の補正情報を不揮発性メモリ１３３０に格納する。
【０１３４】
設定情報は、デバイス１３００における設定可能な動作仕様を設定するための情報である。デバイス１３００に要求される動作仕様は、供給先によって異なりうる。デバイス１３００は、デバイス１３００の供給先に応じた設定を行なうための設定機能を有し、設定情報を不揮発性メモリ１３３０に格納しておくことで、供給先向けの製品として機能する。本実施形態に係るデバイス１３００は、一例として、デバイス１３００における第１通信部１３６０を介した通信機能を設定するための通信設定情報（図中「通信設定用データ」）を含む設定情報を不揮発性メモリ１３３０に格納する。このような通信設定用データは、例えばＳＥＮＴプロトコルのＳｌｏｗチャネルにエンコードするデータの内容を設定するために用いられる。
【０１３５】
製造情報は、このデバイス１３００の製造に関する情報である。本実施形態に係るデバイス１３００は、一例として、このデバイス１３００の製造に固有の製造固有データを不揮発性メモリ１３３０に格納する。製造固有データは、デバイス１３００の製造日時、デバイス１３００を切り出したウェハの識別情報、ウェハにおけるデバイス１３００の位置情報、デバイス１３００の製造場所情報、デバイス１３００の製造者情報、およびデバイス１３００の製造番号の少なくとも１つを含んでよい。
【０１３６】
なお、デバイス１３００は、調整情報、補正情報、設定情報、および製造情報の少なくとも１つを不揮発性メモリ１３３０内に有しない仕様であってもよい。また、デバイス１３００は、例えばデバイス１３００の製品名、製品番号、およびシリアル番号等の少なくとも１つのようなデバイス１３００の個体を識別するための情報等の他の種類の情報も不揮発性メモリ１３３０に格納する仕様であってもよい。
【０１３７】
図１５は、本実施形態に係る製造システム１５００の一例を示す。製造システム１５００は、デバイス１３００を製造し、デバイス１３００の出荷前に図１４に示した情報を不揮発性メモリ１３３０に書き込んで、製品出荷用のデバイス１３００を完成させる。ここで、製造システム１５００においては、製品完成までの複数の段階で不揮発性メモリ１３３０に書き込むべき情報が発生する。しかし、デバイス１３００のサイズおよびコストを低減するために、不揮発性メモリ１３３０は、一括消去をすることができるが記憶領域の一部のみに対する書き込みができない。そこで、本実施形態に係る製造システム１５００は、ある第１情報を不揮発性メモリ１３３０に書き込んだ後に、不揮発性メモリ１３３０に書き込むべきある第２情報を取得すると、元の第１情報が書き込まれた不揮発性メモリ１３３０を一旦一括消去した後に、元の第１情報および新たな第２情報を不揮発性メモリ１３３０に書き込む処理を行う。
【０１３８】
製造システム１５００は、デバイス製造装置１５１０と、製造情報書込装置１５２０と、デバイス情報ＤＢ１５２５と、検査装置１５３０と、調整情報書込装置１５４０と、評価装置１５５０と、補正情報書込装置１５６０と、設定情報書込装置１５７０とを備える。これらの各装置は、一体としてデバイス１３００の製造に用いられ、デバイス１３００の製造装置または製造装置群として機能する。
【０１３９】
デバイス製造装置１５１０は、一括消去可能な不揮発性メモリ１３３０を有するデバイス１３００を製造する。この段階では、デバイス１３００は、製品として機能する必要な情報が不揮発性メモリ１３３０に書き込まれておらず、製造途中の中間品である。デバイス製造装置１５１０は、このようなデバイス１３００を製造するための複数のプロセス装置を含んでよい。このようなプロセス装置の一例としては、エッチング装置、成膜装置、露光装置、ダイシング装置、ハンドラ装置、ワイヤボンディング装置、モールド装置、および検査装置等が挙げられる。
【０１４０】
デバイス製造装置１５１０は、製造したデバイス１３００について、製造に関する製造情報を製造情報書込装置１５２０に供給する。ここで、デバイス製造装置１５１０は、ウェハからダイシングした半導体チップを、ピッカーによってトレイに移動し、トレイからピックアップしてパッケージングする。このため、デバイス製造装置１５１０は、このような半導体チップの移動をトレースすることにより、各デバイス１３００に含まれる半導体チップが、どのウェハのどの位置からいつ切り出されたものかを特定することができる。したがって、製造システム１５００は、デバイス１３００を切り出したウェハの識別情報、およびウェハにおけるデバイス１３００の位置情報等のような情報を製造情報に含めることができる。
【０１４１】
製造情報書込装置１５２０は、デバイス製造装置１５１０による製造の後にデバイス１３００の第２通信部１３６５に接続され、デバイス製造装置１５１０によって製造された各デバイス１３００の不揮発性メモリ１３３０に、デバイス製造装置１５１０から受け取った製造情報を書き込む。製造情報書込装置１５２０は、製造情報の書き込み前に不揮発性メモリ１３３０を一括消去して初期化してもよい。また、不揮発性メモリ１３３０の記憶領域全体にデータを一括書き込みする必要がある場合においては、デバイス製造装置１５１０から受け取った製造情報と、ダミーの補正情報、設定情報、および製造情報等の未取得の情報とを含む一括書込データを生成して、第２通信部１３６５を介して不揮発性メモリ１３３０に書き込む。また、製造情報書込装置１５２０は、デバイス１３００の不揮発性メモリ１３３０への製造情報の書き込みに応じて、そのデバイス１３００に対応付けて製造情報をデバイス情報ＤＢ１５２５に登録する。
【０１４２】
デバイス情報ＤＢ１５２５は、デバイス製造装置１５１０が製造した複数のデバイス１３００のそれぞれに対応付けて、そのデバイス１３００の不揮発性メモリ１３３０に書き込んだ情報を記憶する。本実施形態において、各デバイス１３００内の不揮発性メモリ１３３０は一括消去されることから、製造中のある段階においてある第１情報を不揮発性メモリ１３３０に書き込んだとしても、別の段階において別の第２情報を不揮発性メモリ１３３０に書き込む前に不揮発性メモリ１３３０を一括消去する必要がある。このため、デバイス情報ＤＢ１５２５は、各デバイス１３００に対応付けて不揮発性メモリ１３３０に書き込んだ情報を記憶しておく。
【０１４３】
検査装置１５３０は、デバイス１３００を検査し、デバイス１３００の検査結果に応じた調整情報を生成する。例えば、検査装置１５３０は、発振器１３３２を動作させて発振周波数を計測し、計測結果に応じて発振器１３３２の発振周波数が目標周波数に対して予め定められた誤差範囲内となるように調整するための発振器調整データを生成する、検査装置１５３０は、例えば予め定めた測定期間の間におけるクロック信号の分周パルスをデバイス１３００内のカウンタによって計測させる等により、発振器１３３２の発振周波数を計測することができる。
【０１４４】
また例えば、検査装置１５３０は、ＡＤＣ１３２５を動作させて入力アナログ値に対する出力アナログ値を測定し、測定結果に応じてＡＤＣ１３２５の出力を調整するためのＡＤＣ調整用データを生成する。検査装置１５３０は、例えばデバイス１３００内の１または複数の定電圧をＡＤＣ１３２５に順次入力するようにデバイス１３００を設定し、これに応じてＡＤＣ１３２５が出力する出力デジタル値を第２通信部１３６５を介して読み出す。検査装置１５３０は、このようにして得られた複数の出力デジタル値を用いて、ＡＤＣ調整用データを生成してよい。また、デバイス１３００が外部センサからの入力端子を有する場合には、検査装置１５３０は、この入力端子を介して１または複数の電圧をデバイス１３００に入力し、各電圧に応じてＡＤＣ１３２５が出力する出力デジタル値を用いてＡＤＣ調整用データを生成してもよい。検査装置１５３０は、生成した調整情報を調整情報書込装置１５４０へと供給する。
【０１４５】
調整情報書込装置１５４０は、検査装置１５３０による検査の後にデバイス１３００に接続され、検査された各デバイス１３００について、検査装置１５３０から受け取った調整情報をデバイス１３００の不揮発性メモリ１３３０に書き込む。本実施形態において、調整情報書込装置１５４０は、調整情報の書き込み前にすでに情報（この段階では製造情報）が書き込まれたデバイス１３００の不揮発性メモリ１３３０を一旦一括消去する。調整情報書込装置１５４０は、一括消去によって消去された情報についてはデバイス情報ＤＢ１５２５に登録された情報を取得して、新たに取得された情報（この段階では調整情報）と共に、第２通信部１３６５を介してデバイス１３００の不揮発性メモリ１３３０に書き込む。また、調整情報書込装置１５４０は、デバイス１３００の不揮発性メモリ１３３０への調整情報の書き込みに応じて、そのデバイス１３００に対応付けて調整情報をデバイス情報ＤＢ１５２５に登録する。
【０１４６】
評価装置１５５０は、デバイス１３００のセンサを評価し、デバイス１３００のセンサの評価結果に基づいて、補正情報を生成する。例えば、評価装置１５５０は、デバイス１３００の外気温を様々に変化させて、温度センサ１３１０からのセンスデータを第１通信部１３６０を介して受け取る。評価装置１５５０は、このようにして取得した様々な温度下におけるセンスデータを用いて、温度センサ１３１０からのセンスデータの値を補正するための温度補正用データを生成する。また例えば、評価装置１５５０は、デバイス１３００の外気圧を様々に変化させて、圧力センサ１３１５からのセンスデータを第１通信部１３６０を介して受け取る。評価装置１５５０は、このようにして取得した様々な気圧下におけるセンスデータを用いて、圧力センサ１３１５からのセンスデータの値を補正するための圧力補正用データを生成する。評価装置１５５０は、生成した調整情報を補正情報書込装置１５６０へと供給する。
【０１４７】
補正情報書込装置１５６０は、評価装置１５５０による評価の後にデバイス１３００に接続され、評価された各デバイス１３００について、評価装置１５５０から受け取った補正情報をデバイス１３００の不揮発性メモリ１３３０に書き込む。本実施形態において、補正情報書込装置１５６０は、補正情報の書き込み前に、すでに情報（この段階では製造情報および調整情報）が書き込まれたデバイス１３００の不揮発性メモリ１３３０を一旦一括消去する。補正情報書込装置１５６０は、一括消去によって消去された情報についてはデバイス情報ＤＢ１５２５に登録された情報を取得して、新たに取得された情報（この段階では補正情報）と共に、第２通信部１３６５を介してデバイス１３００の不揮発性メモリ１３３０に書き込む。また、補正情報書込装置１５６０は、デバイス１３００の不揮発性メモリ１３３０への補正情報の書き込みに応じて、そのデバイス１３００に対応付けて補正情報をデバイス情報ＤＢ１５２５に登録する。
【０１４８】
設定情報書込装置１５７０は、全製品に共通して不揮発性メモリ１３３０に書き込むべき製造情報、調整情報、および補正情報等の書き込みが終わった後にデバイス１３００に接続され、製造システム１５００の管理者からの入力等に応じて、デバイス１３００の供給先に応じた設定を行なうための設定情報を取得する。本実施形態において、設定情報書込装置１５７０は、設定情報の書き込み前に、すでに情報（この段階では製造情報、調整情報、および補正情報）が書き込まれたデバイス１３００の不揮発性メモリ１３３０を一旦一括消去する。補正情報書込装置１５６０は、一括消去によって消去された情報についてはデバイス情報ＤＢ１５２５に登録された情報を取得して、新たに取得された情報（この段階では設定情報）と共に、第２通信部１３６５を介してデバイス１３００の不揮発性メモリ１３３０に書き込む。また、補正情報書込装置１５６０は、デバイス１３００の不揮発性メモリ１３３０への設定情報の書き込みに応じて、そのデバイス１３００に対応付けて設定情報をデバイス情報ＤＢ１５２５に登録する。
【０１４９】
以上に示した製造システム１５００によれば、不揮発性メモリ１３３０への書き込みに一括消去が必要な場合においても、製造工程の複数箇所で発生する情報を、不揮発性メモリ１３３０に順次書き込むことができる。なお、以上において製造システム１５００は、製造情報、調整情報、補正情報、および設定情報の順に不揮発性メモリ１３３０に書き込むが、これに代えて製造システム１５００は、製造工程に合わせて任意の順序で各種情報を不揮発性メモリ１３３０に書き込んでよい。
【０１５０】
以上に示した製造システム１５００においては、製造情報書込装置１５２０、調整情報書込装置１５４０、補正情報書込装置１５６０、および設定情報書込装置１５７０は、不揮発性メモリ１３３０への情報の書き込みに応じて、書き込んだ情報をデバイス情報ＤＢ１５２５に登録する。これに代えて、デバイス製造装置１５１０、検査装置１５３０、評価装置１５５０、および設定情報書込装置１５７０の少なくとも１つは、生成した情報を一旦デバイス情報ＤＢ１５２５に登録してよい。この場合、製造情報書込装置１５２０、調整情報書込装置１５４０、補正情報書込装置１５６０、および設定情報書込装置１５７０のうち対応する書込装置は、既に不揮発性メモリ１３３０に書き込まれた情報および新たに不揮発性メモリ１３３０に書き込むべき情報をデバイス情報ＤＢ１５２５から取得して不揮発性メモリ１３３０に書き込んでもよい。
【０１５１】
また、製造情報書込装置１５２０、調整情報書込装置１５４０、補正情報書込装置１５６０、および設定情報書込装置１５７０の少なくとも１つは、接続先のデバイス１３００からデバイス１３００の個体を特定可能な情報（シリアル番号等）を一括消去前に読み出して、製造システム１５００側で認識しているデバイス１３００と合致するかを確認してもよい。これにより、製造システム１５００は、あるデバイス１３００のトレースに誤りが生じた場合において、そのデバイス１３００に他のデバイス１３００の情報を書き込むのを防ぐことができる。
【０１５２】
また、製造システム１５００は、デバイス情報ＤＢ１５２５を有しない構成を採ってもよい。このような構成においては、製造情報書込装置１５２０、調整情報書込装置１５４０、補正情報書込装置１５６０、および設定情報書込装置１５７０は、不揮発性メモリ１３３０に既に書き込まれた第１情報（元の情報）および第２情報（新たな情報）の書き込みにおいて、第１情報が書き込まれた不揮発性メモリ１３３０から第１情報を読み出した後に不揮発性メモリ１３３０を一旦一括消去し、読み出された第１情報と新たな第２情報とを不揮発性メモリ１３３０に書き込んでもよい。
【０１５３】
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、（１）操作が実行されるプロセスの段階または（２）操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および／またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび／またはアナログハードウェア回路を含んでよく、集積回路（ＩＣ）および／またはディスクリート回路を含んでよい。プログラマブル回路は、論理ＡＮＤ、論理ＯＲ、論理ＸＯＲ、論理ＮＡＮＤ、論理ＮＯＲ、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブルロジックアレイ（ＰＬＡ）等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
【０１５４】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー（登録商標）ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭまたはフラッシュメモリ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、静的ランダムアクセスメモリ（ＳＲＡＭ）、コンパクトディスクリードオンリメモリ（ＣＤ-ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、ブルーレイ（登録商標）ディスク、メモリスティック、集積回路カード等が含まれてよい。
【０１５５】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはＳｍａｌｌｔａｌｋ、ＪＡＶＡ（登録商標）、Ｃ＋＋等のようなオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、１または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
【０１５６】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク（ＬＡＮ）、インターネット等のようなワイドエリアネットワーク（ＷＡＮ）を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【０１５７】
図１６は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ２２００の例を示す。コンピュータ２２００にインストールされたプログラムは、コンピュータ２２００に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の１または複数のセクションとして機能させることができ、または当該操作または当該１または複数のセクションを実行させることができ、および／またはコンピュータ２２００に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ２２００に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、ＣＰＵ２２１２によって実行されてよい。
【０１５８】
本実施形態によるコンピュータ２２００は、ＣＰＵ２２１２、ＲＡＭ２２１４、グラフィックコントローラ２２１６、およびディスプレイデバイス２２１８を含み、それらはホストコントローラ２２１０によって相互に接続されている。コンピュータ２２００はまた、通信インターフェイス２２２２、ハードディスクドライブ２２２４、ＤＶＤ−ＲＯＭドライブ２２２６、およびＩＣカードドライブのような入／出力ユニットを含み、それらは入／出力コントローラ２２２０を介してホストコントローラ２２１０に接続されている。コンピュータはまた、ＲＯＭ２２３０およびキーボード２２４２のようなレガシの入／出力ユニットを含み、それらは入／出力チップ２２４０を介して入／出力コントローラ２２２０に接続されている。
【０１５９】
ＣＰＵ２２１２は、ＲＯＭ２２３０およびＲＡＭ２２１４内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ２２１６は、ＲＡＭ２２１４内に提供されるフレームバッファ等またはそれ自体の中にＣＰＵ２２１２によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス２２１８上に表示されるようにする。
【０１６０】
通信インターフェイス２２２２は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ２２２４は、コンピュータ２２００内のＣＰＵ２２１２によって使用されるプログラムおよびデータを格納する。ＤＶＤ−ＲＯＭドライブ２２２６は、プログラムまたはデータをＤＶＤ−ＲＯＭ２２０１から読み取り、ハードディスクドライブ２２２４にＲＡＭ２２１４を介してプログラムまたはデータを提供する。ＩＣカードドライブは、プログラムおよびデータをＩＣカードから読み取り、および／またはプログラムおよびデータをＩＣカードに書き込む。
【０１６１】
ＲＯＭ２２３０はその中に、アクティブ化時にコンピュータ２２００によって実行されるブートプログラム等、および／またはコンピュータ２２００のハードウェアに依存するプログラムを格納する。入／出力チップ２２４０はまた、様々な入／出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入／出力コントローラ２２２０に接続してよい。
【０１６２】
プログラムが、ＤＶＤ−ＲＯＭ２２０１またはＩＣカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ２２２４、ＲＡＭ２２１４、またはＲＯＭ２２３０にインストールされ、ＣＰＵ２２１２によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ２２００に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ２２００の使用に従い情報の操作または処理を実現することによって構成されてよい。
【０１６３】
例えば、通信がコンピュータ２２００および外部デバイス間で実行される場合、ＣＰＵ２２１２は、ＲＡＭ２２１４にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス２２２２に対し、通信処理を命令してよい。通信インターフェイス２２２２は、ＣＰＵ２２１２の制御下、ＲＡＭ２２１４、ハードディスクドライブ２２２４、ＤＶＤ−ＲＯＭ２２０１、またはＩＣカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【０１６４】
また、ＣＰＵ２２１２は、ハードディスクドライブ２２２４、ＤＶＤ−ＲＯＭドライブ２２２６（ＤＶＤ−ＲＯＭ２２０１）、ＩＣカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がＲＡＭ２２１４に読み取られるようにし、ＲＡＭ２２１４上のデータに対し様々なタイプの処理を実行してよい。ＣＰＵ２２１２は次に、処理されたデータを外部記録媒体にライトバックする。
【０１６５】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。ＣＰＵ２２１２は、ＲＡＭ２２１４から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索／置換等を含む、様々なタイプの処理を実行してよく、結果をＲＡＭ２２１４に対しライトバックする。また、ＣＰＵ２２１２は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第２の属性の属性値に関連付けられた第１の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、ＣＰＵ２２１２は、第１の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第２の属性の属性値を読み取り、それにより予め定められた条件を満たす第１の属性に関連付けられた第２の属性の属性値を取得してよい。
【０１６６】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ２２００上またはコンピュータ２２００近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはＲＡＭのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ２２００に提供する。
【０１６７】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１６８】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１６９】
１０  通信システム、２０  送信装置、３０  受信装置、４０  通信路、７００  受信部、７１０  パルス情報格納部、７１５  バッファ、７２０  検索部、７３０  調整部、７４０  検出部、７５０  特定部、７６０  抽出部、７７０  データ出力部、８００  アイドル状態、８１０  受信開始状態、８２０  受信処理状態、８３０  送信処理状態、１３００  デバイス、１３１０  温度センサ、１３１５  圧力センサ、１３２０  セレクタ、１３２５  ＡＤＣ、１３３０  不揮発性メモリ、１３３２  発振器、１３３５  処理ユニット、１３４５  設定部、１３５０  補正部、１３５５  データ変換部、１３６０  第１通信部、１３６５  第２通信部、１３７０  メモリ制御部、１５００  製造システム、１５１０  デバイス製造装置、１５２０  製造情報書込装置、１５２５  デバイス情報ＤＢ、１５３０  検査装置、１５４０  調整情報書込装置、１５５０  評価装置、１５６０  補正情報書込装置、１５７０  設定情報書込装置、２２００  コンピュータ、２２０１  ＤＶＤ−ＲＯＭ、２２１０  ホストコントローラ、２２１２  ＣＰＵ、２２１４  ＲＡＭ、２２１６  グラフィックコントローラ、２２１８  ディスプレイデバイス、２２２０  入／出力コントローラ、２２２２  通信インターフェイス、２２２４  ハードディスクドライブ、２２２６  ＤＶＤ−ＲＯＭドライブ、２２３０  ＲＯＭ、２２４０  入／出力チップ、２２４２  キーボード
【図１】
2020025227.tif 000003
【図２】
2020025227.tif 000004
【図３】
2020025227.tif 000005
【図４】
2020025227.tif 000006
【図５】
2020025227.tif 000007
【図６】
2020025227.tif 000008
【図７】
2020025227.tif 000009
【図８】
2020025227.tif 000010
【図９】
2020025227.tif 000011
【図１０】
2020025227.tif 000012
【図１１】
2020025227.tif 000013
【図１２】
2020025227.tif 000014
【図１３】
2020025227.tif 000015
【図１４】
2020025227.tif 000016
【図１５】
2020025227.tif 000017
【図１６】
2020025227.tif 000018