(57)【要約】【課題】ＣＰＵが介在せずとも通信経路に発生した異常を検知し、通信を再開させる。【解決手段】パラレルシリアル変換部とシリアルパラレル変換部との間で所定の間隔ごとに送受信される固有のパケットデータを生成し、パラレルシリアル変換部からシリアルパラレル変換部に送信された固有のパケットデータのシリアルパラレル変換部における受信状況に特定の変化が発生したことを検知し、特定の変化の検知結果に基づいて、パラレルシリアル変換部とシリアルパラレル変換部との通信経路に異常が発生していることを検知し、異常が発生していることが検知された場合に、パラレルシリアル変換部とシリアルパラレル変換部との間の通信を再確立させるための制御信号を出力する。【選択図】図２
2017195534.tif 000002
【特許請求の範囲】
【請求項１】
パラレルデータをシリアルデータに変換して送信するパラレルシリアル変換部と、前記パラレルシリアル変換部から送信された前記シリアルデータを受信して前記パラレルデータに変換するシリアルパラレル変換部との間でシリアル通信を行う情報処理装置であって、
前記パラレルシリアル変換部と前記シリアルパラレル変換部との間で所定の間隔ごとに送受信される固有のパケットデータを生成するパケットデータ生成部と、
前記パラレルシリアル変換部から前記シリアルパラレル変換部に送信された前記固有のパケットデータの前記シリアルパラレル変換部における受信状況に特定の変化が発生したことを検知する変化検知部と、
前記特定の変化の検知結果に基づいて、前記パラレルシリアル変換部と前記シリアルパラレル変換部との通信経路に異常が発生していることを検知する異常発生検知部と、
前記異常が発生していることが検知された場合に、前記パラレルシリアル変換部と前記シリアルパラレル変換部との間の通信を再確立させるための制御信号を出力する信号出力部と、
を含むことを特徴とする情報処理装置。
【請求項２】
前記異常発生検知部は、
所定の回数以上連続して前記特定の変化を検知した場合に、前記異常が発生していることを検知することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
データ長を変換するための変換コード表に基づいて、前記固有のパケットデータのデータ長を変換するデータ長変換部を含み、
前記パラレルシリアル変換部は、
前記データ長が変換された固有のパケットデータを前記シリアルパラレル変換部に送信し、
前記変化検知部は、
前記所定の間隔ごとに前記データ長が変換される前と前記データ長が変換された後とにおける前記固有のパケットデータが、前記変換コード表に当てはまらない場合に、前記特定の変化を検知することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記信号出力部は、
前記制御信号を、前記通信経路を介して出力することを特徴とする請求項１ないし３いずれか１項に記載の情報処理装置。
【請求項５】
前記パラレルシリアル変換部を含む送信部と、
前記シリアルパラレル変換部を含む受信部と、
を含み、
前記送信部と前記受信部とはそれぞれ前記信号出力部を含むことを特徴とする請求項１ないし４いずれか１項に記載の情報処理装置。
【請求項６】
前記固有のパケットデータの受信状況に基づいて前記所定の間隔を設定する設定部と、
設定された前記所定の間隔を記憶する記憶部と、
を含むことを特徴とする請求項１ないし５いずれか１項に記載の情報処理装置。
【請求項７】
前記パラレルシリアル変換部を含む送信部と、
前記送信部に含まれるパラレルシリアル変換部から送信された前記シリアルデータを受信して前記パラレルデータに変換するシリアルパラレル変換部と、変換された前記パラレルデータをシリアルデータに変換して送信するパラレルシリアル変換部と、を含む第一の受信部と、
前記第一の受信部に含まれる前記パラレルシリアル変換部から送信された前記シリアルデータを受信して前記パラレルデータに変換するシリアルパラレル変換部を含む第二の受信部と、
を含み、
前記パケットデータ生成部は、
前記第一の受信部に含まれるパラレルシリアル変換部と前記第二の受信部に含まれるシリアルパラレルとの間で所定の間隔ごとに送受信される固有のパケットデータを生成し、
前記変化検知部は、
前記第一の受信部に含まれる前記パラレルシリアル変換部から前記第二の受信部に含まれる前記シリアルパラレル変換部に送信された前記固有のパケットデータの前記第二の受信部に含まれる前記シリアルパラレル変換部における受信状況に特定の変化が発生したことを検知し、
前記異常発生検知部は、
前記第二の受信部に含まれる前記シリアルパラレル変換部における受信状況に発生した前記特定の変化の検知結果に基づいて、前記第一の受信部に含まれる前記パラレルシリアル変換部と前記第二の受信部に含まれる前記シリアルパラレル変換部との通信経路に異常が発生していることを検知し、
前記信号出力部は、
前記異常が発生していることが検知された場合に、前記パラレルシリアル変換部と前記第二の受信部に含まれる前記シリアルパラレル変換部との間の通信を再確立させるための制御信号を出力することを特徴とする請求項１乃至６いずれか１項に記載の情報処理装置。
【請求項８】
前記第一の受信部は前記信号出力部を含み、
前記第一の受信部に含まれる前記信号出力部は、
前記第一の受信部に含まれる前記パラレルシリアル変換部と前記第二の受信部に含まれる前記シリアルパラレル変換部との通信経路に異常が発生していることを検知された場合に、前記第一の受信部に含まれる前記パラレルシリアル変換部と前記第二の受信部に含まれる前記シリアルパラレル変換部との間の通信を再確立させるための制御信号を出力することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
パラレルデータをシリアルデータに変換して送信するパラレルシリアル変換部と、前記パラレルシリアル変換部から送信された前記シリアルデータを受信して前記パラレルデータに変換するシリアルパラレル変換部との間におけるシリアル通信を制御するシリアル通信方法であって、
前記パラレルシリアル変換部と前記シリアルパラレル変換部との間で所定の間隔ごとに送受信される固有のパケットデータを生成し、
前記パラレルシリアル変換部から前記シリアルパラレル変換部に送信された前記固有のパケットデータの前記シリアルパラレル変換部における受信状況に特定の変化が発生したことを検知し、
前記特定の変化の検知結果に基づいて、前記パラレルシリアル変換部と前記シリアルパラレル変換部との通信経路に異常が発生していることを検知し、
前記異常が発生していることが検知された場合に、前記パラレルシリアル変換部と前記シリアルパラレル変換部との間の通信を再確立させるための制御信号を出力することを特徴とするシリアル通信方法。
【請求項１０】
パラレルデータをシリアルデータに変換して送信するパラレルシリアル変換部と、前記パラレルシリアル変換部から送信された前記シリアルデータを受信して前記パラレルデータに変換するシリアルパラレル変換部との間におけるシリアル通信を制御するシリアル通信プログラムであって、
前記パラレルシリアル変換部と前記シリアルパラレル変換部との間で所定の間隔ごとに送受信される固有のパケットデータを生成するステップと、
前記パラレルシリアル変換部から前記シリアルパラレル変換部に送信された前記固有のパケットデータの前記シリアルパラレル変換部における受信状況に特定の変化が発生したことを検知するステップと、
前記特定の変化の検知結果に基づいて、前記パラレルシリアル変換部と前記シリアルパラレル変換部との通信経路に異常が発生していることを検知するステップと、
前記異常が発生していることが検知された場合に、前記パラレルシリアル変換部と前記シリアルパラレル変換部との間の通信を再確立させるための制御信号を出力するステップとを、
実行させることを特徴とするシリアル通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、シリアル通信方法、シリアル通信プログラムに関する。
【背景技術】
【０００２】
近年、コピーやＦＡＸ、プリンタなどの複数の機能を持った複合機では、マスタデバイスとマスタデバイスから命令を受けて複数の機能それぞれの制御動作を行うスレーブデバイスとによって制御システムが構成されている。
【０００３】
このような複合機の制御システムでは、転送データ量の増大やデータの転送速度の増加に対応するために、マスタデバイス‐スレーブデバイス間のデータ転送を高速シリアル通信によって行っている。したがって、マスタデバイス‐スレーブデバイス間の高速シリアル通信経路に異常が生じた際に、制御システムを保護する必要がある。
【０００４】
制御システムを保護するために、マスタデバイス‐スレーブデバイス間のシリアル通信経路における異常の有無を判断して制御システムをリセットする技術がある（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された技術では、マスタデバイスに制御信号を出力するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）がデータを解析し、シリアル通信経路に異常が発生しているか否かを判定する。そのため、ＣＰＵの処理負荷が大きくなってしまう。
【０００６】
本発明は、上記課題を解決するためになされたものであり、ＣＰＵが介在せずとも通信経路に発生した異常を検知し、通信を再開させることを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の一態様は、パラレルデータをシリアルデータに変換して送信するパラレルシリアル変換部と、前記パラレルシリアル変換部から送信された前記シリアルデータを受信して前記パラレルデータに変換するシリアルパラレル変換部との間でシリアル通信を行う情報処理装置であって、前記パラレルシリアル変換部と前記シリアルパラレル変換部との間で所定の間隔ごとに送受信される固有のパケットデータを生成するパケットデータ生成部と、前記パラレルシリアル変換部から前記シリアルパラレル変換部に送信された前記固有のパケットデータの前記シリアルパラレル変換部における受信状況に特定の変化が発生したことを検知する変化検知部と、前記特定の変化の検知結果に基づいて、前記パラレルシリアル変換部と前記シリアルパラレル変換部との通信経路に異常が発生していることを検知する異常発生検知部と、前記異常が発生していることが検知された場合に、前記パラレルシリアル変換部と前記シリアルパラレル変換部との間の通信を再確立させるための制御信号を出力する信号出力部と、を含むことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ＣＰＵが介在せずとも通信経路に発生した異常を検知し、通信を再開させることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る情報処理装置の全体構成を示すブロック図。
【図２】本発明の実施形態に係る情報処理装置のハードウェア構成を示す図。
【図３】本発明の実施形態に係る通信異常検知部の内部構成を示す図。
【図４】本発明の実施形態に係る信号出力制御部の内部構成を示す図。
【図５】本発明の実施形態に係るデータ境界データパケットの情報構成を示す図。
【図６】本発明の実施形態に係るデータ境界データパケットの送信間隔を示す図。
【図７】本発明の実施形態に係るリードデータの情報構成を示す図。
【図８】本発明の実施形態に係る割込みデータの情報構成を示す図。
【図９】本発明の実施形態に係る割込みデータの送信間隔を示す図。
【図１０】本発明の実施形態に係るマスタデバイスにおけるエラー検知動作の流れを示すフローチャート。
【図１１】本発明の実施形態に係るマスタデバイスにおけるエラー検知動作の流れを示すフローチャート。
【図１２】本発明の実施形態に係るスレーブデバイスにおけるエラー検知動作の流れを示すフローチャート。
【図１３】本発明の実施形態に係るマスタデバイスにおけるエラー検知動作の流れを示すフローチャート。
【図１４】本発明の実施形態に係る情報処理装置の他のハードウェア構成を示す図。
【図１５】本発明の実施形態に係る情報処理装置の他のハードウェア構成を示す図。
【図１６】本発明の他の実施形態に係る情報処理装置のハードウェア構成を示す図。
【図１７】本発明の他の実施形態に係る情報処理装置のハードウェア構成を示す図。
【図１８】本発明の他の実施形態に係る情報処理装置のハードウェア構成を示す図。
【図１９】本発明の他の実施形態に係るスレーブデバイスにおけるエラー検知動作の流れを示すフローチャート。
【図２０】本発明の他の実施形態に係るマスタデバイスにおけるエラー検知動作の流れを示すフローチャート。
【図２１】本発明の他の実施形態に係る情報処理装置の他のハードウェア構成を示す図。
【発明を実施するための形態】
【００１０】
実施の形態１．
以下、図面を参照して、本発明の実施の形態について説明する。本実施形態においては、マスタデバイスとスレーブデバイスとがシリアル通信経路で接続され、ＵＳＢ３．０（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）において採用されている８Ｂ／１０Ｂ方式によって通信を行う情報処理装置、シリアル通信方法、シリアル通信プログラムについて説明する。図１は、本実施形態に係る情報処理装置１の全体構成を示す図である。
【００１１】
図１に示すように、本実施形態に係る情報処理装置１は、ＣＰＵ１０、マスタ制御部１２、スレーブ制御部１３、ペリフェラルＩＣ１４ａ〜１４ｄを含む。ＣＰＵ１０は、情報処理装置１全体を制御する。また、ＣＰＵ１０は、マスタ制御部１２内に含まれるマスタデバイス１２０ａ〜１２０ｄに対して制御信号を出力する。
【００１２】
マスタ制御部１２は、マスタデバイス１２０ａ〜１２０ｄを含む。以後の説明において、マスタデバイス１２０ａ〜１２０ｄを特に区別する必要がない場合には、「マスタデバイス１２０」と記載する。マスタデバイス１２０は、ＣＰＵ１０から入力された制御信号をシリアルデータに変換し、スレーブ制御部１３に送信する。
【００１３】
スレーブ制御部１３は、スレーブデバイス１３０ａ〜１３０ｄを含む。以後の説明において、スレーブデバイス１３０ａ〜１３０ｄを特に区別する必要がない場合には、「スレーブデバイス１３０」と記載する。スレーブデバイス１３０は、マスタデバイス１２０から受信したシリアルデータをパラレルデータに変換し、そのパラレルデータを制御信号としてペリフェラルＩＣ１４ａ〜１４ｄに送信する。
【００１４】
また、スレーブデバイス１３０は、ペリフェラルＩＣ１４ａ〜１４ｄから通知される割込み信号やリードアクセス時のリードデータをシリアルデータに変換し、マスタデバイス１２０に送信する。マスタデバイス１２０は、受信した割込み信号やリードアクセス時のリードデータをパラレルデータに変換し、ＣＰＵ１０に送信する。
【００１５】
尚、マスタデバイス１２０とスレーブデバイス１３０との間のシリアルバスとして、例えば、ＰＣＩ  Ｅｘｐｒｅｓｓなどを用いてもよい。また、図１においては、ひとつのマスタデバイス１２０と、ひとつのスレーブデバイス１３０とがシリアル通信を行っている形態について説明を行っているが、スレーブデバイス１３０が複数接続されてシリアル通信を行う形態であってもよい。
【００１６】
次に、図２を参照して、マスタデバイス１２０及びスレーブデバイス１３０の構成について説明する。図２は、本実施形態に係るマスタデバイス１２０及びスレーブデバイス１３０の構成を示す図である。図２に示すように、マスタデバイス１２０は、パラレルインタフェース（以後、「パラレルＩ／Ｆ」と記載する）１０２、パケット生成部１２１、８Ｂ／１０Ｂ変換部１２２、シリアライザ１２３、デシリアライザ１２４、１０Ｂ／８Ｂ変換部１２５、データ生成部１０３、通信異常検知部１０９、信号出力制御部１１０を含む。
【００１７】
また、通信異常検知部１０９は、図３に示すように、パケット解析部１２６、エラー検知部１２７、タイミング生成部１２８を含む構成である。また、信号出力制御部１１０は、リセット制御部１２９、割込み制御部１０４を含む構成である。
【００１８】
パラレルＩ／Ｆ１０２は、パラレルバスを介してＣＰＵ１０からの制御信号を受信する。尚、図２に示すように、ＣＰＵ１０は、通信対象のペリフェラルＩＣ１４ａ１、１４ａ２をそれぞれ示す信号であるチップセレクト信号（ＣＳ０＿Ｎ、ＣＳ１＿Ｎ）、アドレス（Ａｄｄｒ）、ペリフェラルＩＣ１４にデータを書き込む動作（ライトアクセス）を行うことを示す信号（ＷＥ＿Ｎ）、ペリフェラルＩＣ１４からデータを読み出す動作（リードアクセス）を行うことを示す信号（ＲＥ＿Ｎ）、転送データ（ＤＡＴＡ）をパラレルＩ／Ｆ１０２に出力する。
【００１９】
尚、ライトアクセス時には、マスタデバイス１２０がデータを送信する送信部として、スレーブデバイス１３０がデータを受信する第一の受信部として機能する。また、リードアクセス時には、スレーブデバイス１３０がデータを送信する送信部として、マスタデバイス１２０がデータを受信する第一の受信部として機能する。
【００２０】
パケット生成部１２１は、ＣＰＵ１０から受信した転送データに、転送データの種類を示すヘッダなどを付加したパケットデータを生成するパケットデータ生成部である。８Ｂ／１０Ｂ変換部１２２及びシリアライザ１２３は、パケット生成部１２１においてヘッダが付加された転送データをシリアルデータに変換し、シリアル通信を実行する。
【００２１】
尚、８Ｂ／１０Ｂ変換部１２２は、データ長が８ビットの転送データをデータ長が１０ビットの転送データに変換する。そして、シリアライザ１２３は、データ長が１０ビットの転送データをパラレルデータからシリアルデータに変換してデシリアライザ１３４に送信する。すなわち、８Ｂ／１０Ｂ変換部１２２はデータ長変換部として、シリアライザ１２３はパラレルシリアル変換部としてそれぞれ機能する。
【００２２】
デシリアライザ１２４及び１０Ｂ／８Ｂ変換部１２５は、スレーブデバイス１３０から入力されたシリアルデータをパラレルデータに変換するシリアルパラレル変換部である。尚、デシリアライザ１２４は、データ長が１０ビットの転送データを１０Ｂ／８Ｂ変換部１２５に送信する。また、１０Ｂ／８Ｂ変換部１２５は、データ長が１０ビットの転送データをデータ長が８ビットの転送データに変換する。
【００２３】
パケット解析部１２６は、タイミング生成部１２８で生成されたタイミングにおいて、受信した転送データのパケットを解析し、その転送データがどのような種類のデータであるのかを確認する。この時、８Ｂ１０Ｂ変換コード表において、受信したデータ長が１０ビットの転送データに相当する８ビットのデータが存在しない場合がある。
【００２４】
これは、１０ビットの組み合わせの方が８ビットの組み合わせよりも多いためである。したがって、パケット解析部１２６は、８Ｂ１０Ｂ変換コード表において、受信したデータ長が１０ビットの転送データに相当する８ビットのデータが存在しない場合に、データが受信できていないことをエラー検知部１２７に通知する。このように、パケット解析部１２６は、固有のパケットデータの受信状況に発生する特定の変化を検知する変化検知部として機能する。
【００２５】
エラー検知部１２７は、パケット解析部１２６において固有のパケットデータが受信できなかった場合に、エラーカウントを１インクリメントする。また、エラー検知部１２７は、所定の回数以上連続してエラーカウントをインクリメントした場合に、マスタデバイス１２０とスレーブデバイス１３０との通信における異常の発生を検知したことを示す信号である、ＥＲＲ＿ＳＴＡＴＵＳ信号を出力する。
【００２６】
したがって、エラー検知部１２７は、パケット解析部１２６による検知結果に基づいてエラーカウントをインクリメントすることによって、マスタデバイス１２０とスレーブデバイス１３０との通信に発生した異常を検知する異常発生検知部として機能する。
【００２７】
タイミング生成部１２８は、固有のパケットデータを受信するタイミングを生成する。尚、固有のパケットデータについて詳細は後述する。
【００２８】
リセット制御部１２９は、マスタデバイス１２０とスレーブデバイス１３０とのシリアル通信における異常が検知されると、マスタデバイス１２０とスレーブデバイス１３０とにリセット信号をアサートする。リセット制御部１２９は、マスタデバイス１２０及びスレーブデバイス１３０とハーネスによって接続される。
【００２９】
また、マスタデバイス１２０とスレーブデバイス１３０においては、リセット信号がアサートされると、通信を再確立させる動作が実行される。したがって、エラー検知部１２７とリセット制御部１２９は、信号出力部として機能する。
【００３０】
データ生成部１０３は、受信したデータパケットに基づいて、パラレルデータを生成する。割込み制御部１０４は、スレーブデバイス１３０から受信した転送データに割込み信号が含まれる場合に、パラレルＩ／Ｆ１０２を介してＣＰＵ１０に割込み信号を送信する。
【００３１】
また、図２に示すように、スレーブデバイス１３０は、パラレルＩ／Ｆ１０５、パケット生成部１３１、８Ｂ／１０Ｂ変換部１３２、シリアライザ１３３、デシリアライザ１３４、１０Ｂ／８Ｂ変換部１３５、割込み制御部１０６、通信異常検知部１１１を含む。
【００３２】
通信異常検知部１１１は、図３に示した通信異常検知部１０９と同様の構成を持ち、パケット解析部１３６、エラー検知部１３７、タイミング生成部１３８を含む。
【００３３】
パラレルＩ／Ｆ１０５は、ペリフェラルＩＣ１４ａ１、１４ａ２のそれぞれからパラレルバスで信号を受信する。また、パラレルＩ／Ｆ１０５は、マスタデバイス１２０から受信したＣＰＵ１０からの制御信号をペリフェラルＩＣ１４ａ１、１４ａ２に送信する。
【００３４】
尚、パケット生成部１３１はパケット生成部１２１と、８Ｂ／１０Ｂ変換部１３２は８Ｂ／１０Ｂ変換部１２２と、シリアライザ１３３はシリアライザ１２３と、デシリアライザ１３４はデシリアライザ１２４と、１０Ｂ／８Ｂ変換部１３５は１０Ｂ／８Ｂ変換部１２５と、エラー検知部１３７はエラー検知部１２７と、タイミング生成部１３８はタイミング生成部１２８と、それぞれ同様の動作を行うため、重複する説明を省略する。また、８Ｂ／１０Ｂ変換部１３２はデータ長変換部として、シリアライザ１３３は送信制御部としてそれぞれ機能する。
【００３５】
パケット解析部１３６は、タイミング生成部１３８で生成されたタイミングにおいて、受信した転送データのパケットを解析し、その転送データがどのような種類のデータであるのかを確認する。更に、パケット解析部１３６は、８Ｂ１０Ｂ変換コード表において、受信したデータ長が１０ビットの転送データに相当する８ビットのデータが存在しない場合に、データが受信できていないことをエラー検知部１３７に通知する。
【００３６】
エラー検知部１３７は、パケット解析部１３６において固有のパケットデータが受信できなかった場合に、エラーカウントを１インクリメントする。また、エラー検知部１３７は、エラーカウントを所定以上連続してインクリメントした場合に、マスタデバイス１２０とスレーブデバイス１３０とのシリアル通信における異常の発生を検知したことを示す信号である、ＥＲＲ＿ＳＴＡＴＵＳ信号を出力する。
【００３７】
したがって、エラー検知部１３７は、エラーカウントをインクリメントすることによって、マスタデバイス１２０とスレーブデバイス１３０との通信における異常状態を示す、通信異常計数部として機能する。
【００３８】
割込み制御部１０６は、ペリフェラルＩＣ１４ａ１、１４ａ２から入力される割込み信号を割込みデータとしてパケット生成部１３１に入力する。また、割込み制御部１０６は、エラー検知部１３７からＥＲＲ＿ＳＴＡＴＵＳ信号が出力されると、マスタデバイス１２０とスレーブデバイス１３０とのシリアル通信における異常の発生を検知したことを示す割込みデータをパケット生成部１３１に入力する。
【００３９】
以上説明したような構成によって情報処理装置１は、マスタデバイス１２０とスレーブデバイス１３０との間でシリアル通信を行う。また、本実施形態においては、パケット生成部１２１及びパケット生成部１３１において、固有のパケットデータを生成し、シリアル通信における異常を検知する。以下、図面を参照して、パケット生成部１２１及びパケット生成部１３１で生成される固有のパケットデータについて説明する。
【００４０】
まず、マスタデバイス１２０からスレーブデバイス１３０に送信される固有のパケットデータについて説明する。図５は、マスタデバイス１２０からスレーブデバイス１３０に送信される固有のパケットデータであるデータ境界パケットデータ２００を示す図である。データ境界パケットデータ２００は、シリアルデータの境界位置がずれていないか確認するためにパケット生成部１２１で生成される固有のパケットデータである。
【００４１】
図５に示すように、データ境界パケットデータ２００は、境界位置を確認するための基準となるデータであるＡＤＪパケット２０１ａ、・・・、２０１ｎ（以後、それぞれを区別する必要がない場合には、「ＡＤＪパケット２０１」と記載する）、パケットデータの終点であることを示すＥＮＤパケット２０２を含む。
【００４２】
ＡＤＪパケット２０１は、マスタデバイス１２０からスレーブデバイス１３０へ繰り返し送信される。そのため、スレーブデバイス１３０でこのＡＤＪパケット２０１を受信した時にシリアルデータの境界位置がずれていないかを確認することができる。
【００４３】
図６は、データ境界パケットデータ２００が送信される際の送信間隔を示す図である。図６に示すように、マスタデバイス１２０からスレーブデバイス１３０との通信に異常が発生していない場合には、データ境界を調整するためのデータ境界パケットデータ２００が定期的に送信される。したがって、このデータ境界パケットデータ２００が定期的に受信されない場合には、マスタデバイス１２０とスレーブデバイス１３０との通信に異常が発生していることを検知することができる。
【００４４】
次に、スレーブデバイス１３０からマスタデバイス１２０に送信される固有のパケットデータについて説明する。図７は、スレーブデバイス１３０からマスタデバイス１２０にデータが送信される、いわゆる「リードアクセス時」にパケット生成部１３１で生成されるパケットデータであるリードパケットデータ３００を示す図である。
【００４５】
図７に示すように、リードパケットデータ３００は、マスタデバイス１２０からのリードアクセスを受信したことを示すデータであるＡＣＳパケット３０１、リードデータであるＲＤＡＴＡ３０２、パケットデータの終点であることを示すＥＮＤパケット３０３を含む。リードパケットデータ３００は、リードアクセス時にスレーブデバイス１３０からリードデータを送信する時に、パケット生成部１３１によって生成される。スレーブデバイス１３０は、ＡＣＳパケット３０１の次にＲＤＡＴＡ３０２を送信する。
【００４６】
次に、スレーブデバイス１３０からマスタデバイス１２０に送信される割込みパケットデータ４００について説明する。図８は、スレーブデバイス１３０からマスタデバイス１２０に送信される割込みパケットデータ４００を示す図である。
【００４７】
図８に示すように、割込みパケットデータ４００は、割込み信号を受信したことを示すデータであるＩＲＱパケット４０１、スレーブデバイス１３０に接続されているどのペリフェラルＩＣ１４ａから割込み信号を受信したかを示すデータであるＩＲＱＤＡＴＡ４０２、マスタデバイス１２０とスレーブデバイス１３０との通信に異常が検知されたことを示すデータであるＥＲＲパケット４０３、パケットデータの終点であることを示すＥＮＤパケット４０４を含む。
【００４８】
パケット生成部１３１は、エラー検知部１３７によってＥＲＲ＿ＳＴＡＴＵＳ信号が出力された場合に、ＥＲＲパケット４０３を生成する。尚、ＥＲＲパケット４０３は、割込みパケットデータ４００に含まれない構成であってもよい。
【００４９】
割込みパケットデータ４００は、スレーブデバイス１３０に接続されるペリフェラルＩＣ１４ａに異常が発生した場合に、スレーブデバイス１３０に割込み信号として入力される。また、スレーブデバイス１３０に接続されるペリフェラルＩＣ１４ａに異常が発生したことをＣＰＵ１０に通知するために、割込みパケットデータ４００は、スレーブデバイス１３０からマスタデバイス１２０に送信される。
【００５０】
また、上述したように、割込みパケットデータ４００には、ペリフェラルＩＣ１４ａに関する情報の他に、スレーブデバイス１３０で検知されたマスタデバイス１２０とスレーブデバイス１３０との通信に発生している異常に関する情報を含む。したがって、マスタデバイス１２０は、この割込みパケットデータ４００に含まれる情報に基づいてマスタデバイス１２０とスレーブデバイス１３０との通信に発生している異常を検知することができる。
【００５１】
図９は、リードパケットデータ３００、割込みパケットデータ４００が送信される際の送信間隔を示す図である。図９に示すように、スレーブデバイス１３０からマスタデバイス１２０へは、定期的に割込みパケットデータ４００が送信される。したがって、この割込みパケットデータ４００を定期的に受信できない場合においても、マスタデバイス１２０とスレーブデバイス１３０との通信において異常が発生していることを検知することができる。
【００５２】
また、割込みパケットデータ４００が送信されている途中にリードアクセスが発生した場合、パケット生成部１３１は、リードアクセスが発生したタイミングでリードパケットデータ３００を生成し、送信する。この時、ランダムノイズなどの影響によって単発的な通信異常が発生した場合、マスタデバイス１２０がリードパケットデータ３００を受信できないことがある。このような場合、マスタデバイス１２０とスレーブデバイス１３０との通信に発生している異常が一時的なものなのか、永続しているものなのかが判断できないことがある。
【００５３】
そこで、本実施形態においては、マスタデバイス１２０及びスレーブデバイス１３０の通信における異常の発生頻度に応じて、リセット信号を送信する。図１０は、リードアクセス時におけるマスタデバイス１２０で行われるエラー検知を行う動作の流れをステップごとに示すフローチャートである。
【００５４】
図１０に示すように、マスタデバイス１２０とスレーブデバイス１３０とのシリアル通信が開始される（Ｓ１００１）と、マスタデバイス１２０には、スレーブデバイス１３０から、図９に示すように、リードパケットデータ３００が送信される。
【００５５】
パケット解析部１２６は、スレーブデバイス１３０から受信したデータを構成するパケットの解析を実行する（Ｓ１００２）。パケット解析部１２６は、スレーブデバイス１３０から受信したデータのヘッダの情報に基づいて、スレーブデバイス１３０から受信したデータにどのようなデータが含まれているかを解析した結果をエラー検知部１２７に送信する。
【００５６】
エラー検知部１２７はパケット解析部１２６が行った解析の結果に基づいて、ＡＣＳパケット３０１を受信したか否かを判定する（Ｓ１００３）。スレーブデバイス１３０から受信したデータにＡＣＳパケット３０１が含まれている場合（Ｓ１００３／ＹＥＳ）、エラー検知部１２７は、リードパケットデータ３００を受信したと判断し、エラーカウントを初期化（クリア）し（Ｓ１００４）、本処理を終了させる。
【００５７】
一方で、スレーブデバイス１３０から受信したデータにＡＣＳパケット３０１が含まれていない場合（Ｓ１００３／ＮＯ）、ランダムノイズなどの影響によって単発的にエラーが発生したために、ＡＣＳパケット３０１が受信できない場合がある。そこで、エラー検知部１２７は、スレーブデバイス１３０から送信される割込みパケットデータ４００の受信状況に基づいてマスタデバイス１２０とスレーブデバイス１３０との通信に発生した異常を検知する。
【００５８】
図１１は、マスタデバイス１２０において、割込みパケットデータ４００の受信状況に基づいてマスタデバイス１２０とスレーブデバイス１３０との通信に発生した異常を検知する動作の流れをステップごとに示すフローチャートである。図１１に示すように、マスタデバイス１２０とスレーブデバイス１３０とのシリアル通信が開始される（Ｓ１１０１）と、マスタデバイス１２０には、スレーブデバイス１３０から、図９に示すように、割込みパケットデータ４００が定期的に送信される。
【００５９】
パケット解析部１２６は、スレーブデバイス１３０から受信したデータを構成するパケットを解析する（Ｓ１１０２）。この時、パケット解析部１２６は、スレーブデバイス１３０から受信したデータのヘッダの情報に基づいて、スレーブデバイス１３０から受信したデータにどのようなデータが含まれているかを解析した結果をエラー検知部１２７に送信する。
【００６０】
エラー検知部１２７は、パケット解析部１２６が行った解析の結果に基づいて、ＩＲＱパケット４０１を受信したか否かを判定する（Ｓ１１０３）。スレーブデバイス１３０から受信したデータにＩＲＱパケット４０１が含まれている場合（Ｓ１１０３／ＹＥＳ）、エラー検知部１２７は、次にパケット解析部１２６から解析結果が送信されてくるまで待機する。
【００６１】
スレーブデバイス１３０から受信したデータにＩＲＱパケット４０１が含まれていない場合（Ｓ１１０３／ＮＯ）、エラー検知部１２７は、エラーカウントを１インクリメントする（Ｓ１１０４）。そして、エラー検知部１２７は、エラーカウントが所定のＮ回以上連続してインクリメントされた場合（Ｓ１１０５／ＹＥＳ）、マスタデバイス１２０とスレーブデバイス１３０との間の通信経路に異常が発生していることを検知する。そしてエラー検知部１２７は、リセット制御部１２９にＥＲＲ＿ＳＴＡＴＵＳ信号を出力する。
【００６２】
尚、この時、タイミング生成部１２８は、最初の割込みパケットデータ４００が検知されてからカウントを開始する。スレーブデバイス１３０からは、割込みパケットデータ４００が定期的に送信されているため、マスタデバイス１２０とスレーブデバイス１３０との通信に異常がない場合には、所定の間隔ごとに割込みパケットデータ４００が送信されてくる。
【００６３】
本実施形態においてタイミング生成部１２８は、最初の割込みパケットデータ４００が検知された時点から所定の間隔ごとにパケット解析部１２６にスレーブデバイス１３０から受信したデータを構成するパケットの解析を実行させる。したがって、所定のＮ回以上連続してエラーカウントがインクリメントされた場合に、エラー検知部１２７は、マスタデバイス１２０とスレーブデバイス１３０との間の通信経路に、単発的ではない異常が発生していると検知することができる。
【００６４】
リセット制御部１２９は、エラー検知部１２７から受信した制御信号に基づいて、マスタデバイス１２０とスレーブデバイス１３０との間にリセット信号をアサートする（Ｓ１１０６）。リセット信号がアサートされると、マスタデバイス１２０及びスレーブデバイス１３０は、通信を再確立させる動作が実行される。
【００６５】
このように、マスタデバイス１２０においては、マスタデバイス１２０が受信した割込みパケットデータ４００に基づいて、マスタデバイス１２０とスレーブデバイス１３０との間の通信経路に発生した異常を検知する。
【００６６】
次に図面を参照して、マスタデバイス１２０からスレーブデバイス１３０にデータを書き込む動作であるライトアクセス時にエラーを検知する動作について説明する。図１２は、ライトアクセス時にスレーブデバイス１３０がマスタデバイス１２０とスレーブデバイス１３０との通信に発生した異常の検知を行う動作の流れをステップごとに示すフローチャートである。
【００６７】
図１２に示すように、マスタデバイス１２０とスレーブデバイス１３０とのシリアル通信が開始される（Ｓ１２０１）と、スレーブデバイス１３０には、マスタデバイス１２０から、図６に示すように、データ境界パケットデータ２００が送信される。
【００６８】
パケット解析部１３６は、マスタデバイス１２０から受信したデータを構成するパケットの解析を実行する（Ｓ１２０２）。パケット解析部１３６は、マスタデバイス１２０から受信したデータのヘッダの情報に基づいて、マスタデバイス１２０から受信したデータにどのようなデータが含まれているかを解析した結果をエラー検知部１３７に送信する。
【００６９】
エラー検知部１３７は、パケット解析部１３６が行った解析の結果に基づいて、ＡＤＪパケット２０１を受信したか否か判定する（Ｓ１２０３）。マスタデバイス１２０から受信したデータにＡＤＪパケット２０１が含まれている場合（Ｓ１２０３／ＹＥＳ）、エラー検知部１３７は、エラーカウントを初期化し（Ｓ１２０４）、次にパケット解析部１３６によってパケットの解析が実行されるまで待機する。
【００７０】
マスタデバイス１２０から受信したデータにＡＤＪパケット２０１が含まれていない場合（Ｓ１２０３／ＮＯ）、エラー検知部１３７は、エラーカウントを１インクリメントする（Ｓ１２０５）。そして、エラー検知部１３７は、エラーカウントが所定のＮ回以上連続してインクリメントされた場合（Ｓ１２０６／ＹＥＳ）、マスタデバイス１２０とスレーブデバイス１３０との通信に異常が発生していることを検知する。
【００７１】
エラー検知部１３７によって、マスタデバイス１２０とスレーブデバイス１３０との通信に異常が発生していることが検知されると、パケット生成部１３１は、ＥＲＲパケット４０３を生成し（Ｓ１２０７）、割込みパケットデータ４００に挿入する。ＥＲＲパケット４０３が挿入された割込みパケットデータ４００は、８Ｂ／１０Ｂ変換部１３２及びシリアライザ１３３を介してマスタデバイス１２０に送信される（Ｓ１２０８）。
【００７２】
パケット解析部１２６は、割込みパケットデータ４００を受信すると（Ｓ１３０１）、その割込みパケットデータ４００にＥＲＲパケット４０３が含まれること示す情報をエラー検知部１２７に送信する。エラー検知部１２７は、ＥＲＲパケット４０３が含まれることを示す情報を受信すると、マスタデバイス１２０とスレーブデバイス１３０との通信に異常が発生していることを検知し、リセット制御部１２９にＥＲＲ＿ＳＴＡＴＵＳ信号を出力する。
【００７３】
リセット制御部１２９は、エラー検知部１２７から受信したＥＲＲ＿ＳＴＡＴＵＳ信号に基づいて、マスタデバイス１２０とスレーブデバイス１３０との間にリセット信号をアサートする（Ｓ１３０２）。リセット信号がアサートされると、マスタデバイス１２０及びスレーブデバイス１３０は、通信接続を再開させる動作を実行する。
【００７４】
尚、図１２及び図１３の説明においては、割込みパケットデータ４００にＥＲＲパケット４０３が含まれていることを前提としている。しかし、マスタデバイス１２０とスレーブデバイス１３０との間の通信経路に異常が発生していない場合であって、かつ、ペリフェラルＩＣ１４ａ１、１４ａ２に異常が発生していることがある。このような場合には、ＥＲＲパケット４０３が含まれない割込みパケットデータ４００がマスタデバイス１２０に送信される。
【００７５】
このような場合、パケット解析部１２６は、受信した割込みパケットデータ４００をデータ生成部１０３に送信する。データ生成部１０３は、受信した割込みパケットデータ４００に基づいてパラレルデータを生成する。データ生成部１０３によって生成されたパラレルデータは、パラレルＩ／Ｆ１０２を介してＣＰＵ１０に送信される。
【００７６】
このように、マスタデバイス１２０が受信した割込みパケットデータ４００に基づいて、マスタデバイス１２０とスレーブデバイス１３０との通信に発生した異常を検知することができる。尚、本実施形態に係る情報処理装置１において、マスタデバイス１２０とスレーブデバイス１３０とにおける情報の送受信方向、すなわち、リードアクセスもしくはライトアクセスに切り替える動作はＣＰＵ１０によって行われる。
【００７７】
上述したように、本実施形態においては、マスタデバイス１２０とスレーブデバイス１３０との通信に異常が発生していることを検知するための固有のパケットデータを転送データに含める。このようにすることで、リードアクセス時及びライトアクセス時どちらであっても、マスタデバイス１２０とスレーブデバイス１３０との通信に異常が発生していることを検知して、通信異常を検知した際には通信を再確立させることができる。
【００７８】
また、エラー検知部１２７、１３７がそれぞれマスタデバイス１２０及びスレーブデバイス１３０の通信に異常が発生していること検知して、通信を再開させることが可能となる。
【００７９】
更に、マスタデバイス１２０とスレーブデバイス１３０との通信の異常が頻発している場合、固有のパケットデータの送信間隔を短くし、ＣＰＵ１０に異常が検知されたことを早期に通知する必要がある。そのために、図１４に示すように、固有のパケットデータの送信間隔の設定値が保存される定期送信間隔設定レジスタ１５１、１５２を含む構成であってもよい。
【００８０】
図１４に示すように、定期送信間隔設定レジスタ１５１は、マスタデバイス１２０のパケット生成部１２１から８Ｂ／１０Ｂ変換部１２２に転送データを送信する際の送信間隔が記憶されている。そのため、ＣＰＵ１０は、割込みパケットデータ４００の受信状況に応じて定期送信間隔設定レジスタ１５１に記憶されている送信間隔が変動するように設定することが可能である設定部として機能する。
【００８１】
また、定期送信間隔設定レジスタ１５２は、スレーブデバイス１３０のパケット生成部１３１から８Ｂ／１０Ｂ変換部１３２に転送データを送信する際の送信間隔が記憶されている。定期送信間隔設定レジスタ１５２は、ペリフェラルＩＣ１４ａから入力される割込み信号の頻度によって設定される構成であってもよい。したがって、定期送信間隔設定レジスタ１５１、１５２は、記憶部として機能する。
【００８２】
このように、マスタデバイス１２０及びスレーブデバイス１３０から送信される固有のパケットデータの送信間隔を変更して、ＣＰＵ１０に対して通信異常が検知されたことを早期に送信することができる。
【００８３】
また、図１５に示すように、定期送信間隔設定レジスタ１５１、１５２の代わりにメモリ１５３、１５４を用いる構成であってもよい。このような場合、異常が発生する頻度に応じてパケット生成部１２１、１３１がメモリ１５３、１５４にそれぞれアクセスすることで、固有のパケットデータの送信間隔を、ＣＰＵ１０を介在させることなく変更することが可能になる。
【００８４】
メモリ１５３、１５４は、シリアル通信を開始する以前にＣＰＵ１０によって固有のパケットデータの送信間隔が書き込まれて保存されていてもよい。このような場合、シリアル通信が開始されている間にマスタデバイス１２０からＣＰＵ１０にアクセスする必要がないため、ＣＰＵ１０の処理負荷を低減させることができる。そのため、メモリ１５３、１５４も、送信間隔設定情報記憶部として機能する。
【００８５】
実施の形態２．
実施の形態１において、リセット制御部１２９は、マスタデバイス１２０及びスレーブデバイス１３０とハーネスによって接続されている。しかし、情報処理装置１を構成する回路基板のレイアウトや配線によっては、ハーネスで接続することが困難な場合がある。
【００８６】
そこで、本実施形態では、図１６に示すように、エラー検知部１２７によってシリアル通信に異常が検知された場合に、８Ｂ／１０Ｂ変換部１２２及びシリアライザ１２３を介してスレーブデバイス１３０にリセット信号を入力する。このような構成によって、本実施形態においては、不要なハーネスを設置することなくマスタデバイス１２０及びスレーブデバイス１３０をリセットすることができる。
【００８７】
実施の形態３．
図１７は、スレーブデバイス１３０にリセット制御部１３９が含まれる情報処理装置１の構成を示す図である。図１７に示すように、リセット制御部１３９は、エラー検知部１３７からＥＲＲ＿ＳＴＡＴＵＳ信号を受信するとマスタデバイス１２０に対してリセット信号をアサートする。本実施形態に係る情報処理装置１においては、マスタデバイス１２０で通信異常が検知された場合は、実施の形態１で説明したように、リセット制御部１２９によってリセット信号がアサートされる。
【００８８】
尚、リセット端子４は、双方向端子であり、図１７に示すように抵抗器５を挟んで設置され、リセット制御部１２９、１３９によってリセット端子４の電位が制御される。リセット制御部１２９によって、リセット端子４の電位がＬ（低電位、Ｌｏｗ）に制御されると、スレーブデバイス１３０に対してリセット信号がアサートされる。
【００８９】
また、リセット制御部１３９によって、リセット端子４の電位がＬに制御されると、マスタデバイス１２０に対してリセット信号がアサートされる。このように本実施形態においては、スレーブデバイス１３０でマスタデバイス１２０とスレーブデバイス１３０との通信に異常が検知された場合に、マスタデバイス１２０に通知せずとも通信を再確立することができる。
【００９０】
実施の形態４．
複合機等の情報処理装置１においては、ＣＰＵ１０によって制御されるＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｅｒ）をマスタデバイス１２０として、プリンタやＦＡＸの動作を制御するプリンタ制御部やＦＡＸ制御部がスレーブデバイス１３０として構成されることがある。そして、これらのプリンタ制御部やＦＡＸ制御部から転送されるデータが記憶されるメモリ等の記憶媒体へのアクセスを制御するメモリコントローラが含まれることもある。
【００９１】
このような場合、メモリコントローラは、図１８に示すように、スレーブデバイス１３０であるプリンタ制御部やＦＡＸ制御部とシリアル通信を行うスレーブデバイス１３０ｃとして構成される。したがって、メモリコントローラは、スレーブデバイス１３０から送信されるシリアルデータの転送先となる第二の受信部であるスレーブデバイス１３０ｃとして機能する。
【００９２】
図１８に示すように、スレーブデバイス１３０に対してスレーブデバイス１３０ｃが接続される構成が含まれる情報処理装置１においては、スレーブデバイス１３０とスレーブデバイス１３０ｃとの間に通信異常が発生することがある。そこで、本実施形態においては、スレーブデバイス１３０とスレーブデバイス１３０ｃとの間の通信異常が検知された場合に、スレーブデバイス１３０及びスレーブデバイス１３０ｃがリセットされるように制御する。
【００９３】
図１８に示すように、スレーブデバイス１３０は、図２に示した構成に加えて、パケット生成部１３１ｂ、８Ｂ／１０Ｂ変換部１３２ｂ、シリアライザ１３３ｂ、デシリアライザ１３４ｂ、１０Ｂ／８Ｂ変換部１３５ｂ、通信異常検知部１１１ｂ、リセット制御部１３９を含む。
【００９４】
また、スレーブデバイス１３０ｃは、パラレルＩ／Ｆ１０７、パケット生成部１３１ｃ、８Ｂ／１０Ｂ変換部１３２ｃ、シリアライザ１３３ｃ、デシリアライザ１３４ｃ、１０Ｂ／８Ｂ変換部１３５ｃ、割込み制御部１０８、通信異常検知部１１１ｃを含む。
【００９５】
スレーブデバイス１３０ｃにおいて行われるスレーブデバイス１３０とスレーブデバイス１３０ｃとの通信に発生した異常の検知は、図１２で説明した動作と同様の動作をスレーブデバイス１３０ｃが行うため、重複する説明を省略する。
【００９６】
尚、パケット生成部１３１ｂ、ｃはパケット生成部１３１と、８Ｂ／１０Ｂ変換部１３２ｂ、ｃは８Ｂ／１０Ｂ変換部１３２と、シリアライザ１３３ｂ、ｃはシリアライザ１３３と、デシリアライザ１３４ｂ、ｃはデシリアライザ１３４と、１０Ｂ／８Ｂ変換部１３５ｂ、ｃは１０Ｂ／８Ｂ変換部１３５と、エラー検知部１３７ｂ、ｃはエラー検知部１３７と、タイミング生成部１３８ｂ、ｃはタイミング生成部１３８と、それぞれ同様の動作を行うため、重複する説明を省略する。
【００９７】
また、パケット解析部１３６ｂ、ｃは、スレーブデバイス１３０から受信した転送データのパケットを解析し、その転送データがどのような種類のデータであるのかを確認する。更に、パケット解析部１３６ｂ、ｃは、受信したデータ長が１０ビットの転送データが、８Ｂ１０Ｂ変換コード表に対して当てはまらない場合、スレーブデバイス１３０からの転送データが受信できていないことをそれぞれエラー検知部１３７ｂ、ｃに通知する。
【００９８】
図１９は、スレーブデバイス１３０ｃからシリアル通信に発生した異常を検知するＥＲＲパケット４０３を含む割込みパケットデータ４００を受信したスレーブデバイス１３０の動作の流れをステップごとに示すフローチャートである。図１９に示すように、パケット解析部１３６ｂは、ＥＲＲパケット４０３を含む割込みパケットデータ４００を受信する（Ｓ１９０１）と、ＥＲＲパケット４０３を受信したことをエラー検知部１３７ｂに通知する。
【００９９】
エラー検知部１３７ｂは、パケット解析部１３６からＥＲＲパケット４０３を受信したことを示す通知を受けると、ＥＲＲ＿ＳＴＡＴＵＳ信号をリセット制御部１３９及びパケット生成部１３１に対して出力する（Ｓ１９０２）。
【０１００】
パケット生成部１３１は、ＥＲＲ＿ＳＴＡＴＵＳ信号を受信すると、ＥＲＲパケット４０３を生成し、割込みパケットデータ４００として８Ｂ／１０Ｂ変換部１３２及びシリアライザ１３３を介してマスタデバイス１２０に送信する（Ｓ１９０３）。
【０１０１】
スレーブデバイス１３０からＥＲＲパケット４０３を含む割込みパケットデータ４００を受信したマスタデバイス１２０の動作は、図１３で説明した動作と同様の動作を行うため、説明を省略する。尚、リセット制御部１２９から、リセット制御部１３９及びリセット制御部１３９ｃに対してリセット信号を出力する。
【０１０２】
次に、マスタデバイス１２０から送信されたリセット信号を受信したスレーブデバイス１３０、１３０ｃの動作について、図２０を参照して説明する。図２０は、スレーブデバイス１３０、１３０ｃがリセット動作を実施する際の流れをステップごとに示すフローチャートである。尚、図２０においては、スレーブデバイス１３０について説明するが、スレーブデバイス１３０ｃにおいても、同様の動作を行う。
【０１０３】
リセット制御部１３９は、ＥＲＲ＿ＳＴＡＴＵＳ信号を受信している場合（Ｓ２００１／Ｙｅｓ）にマスタデバイス１２０からリセット信号を受信する（Ｓ２００２）と、スレーブデバイス１３０に対してリセット動作を実行する（Ｓ２００３）。リセットされたスレーブデバイス１３０においては、シリアル通信を再確立させる動作が実行される（Ｓ２００４）。
【０１０４】
このように、スレーブデバイス１３０、１３０ｃは、エラー検知部１３７ｂ、１３７ｃが生成したＥＲＲ＿ＳＴＡＴＵＳ信号及びマスタデバイス１２０から入力されたリセット信号のいずれもが検知された場合にリセット動作を実行する。そのため、マスタデバイス１２０から、同時にリセット信号が送信された場合であってもＥＲＲ＿ＳＴＡＴＵＳ信号が検知されない場合には、スレーブデバイス１３０、１３０ｃはリセット動作を行わない。
【０１０５】
そのため、例えば、マスタデバイス１２０とスレーブデバイス１３０との間の通信に異常が発生している場合には、リセット信号が入力されてもスレーブデバイス１３０ｃは、ＥＲＲ＿ＳＴＡＴＵＳ信号が出力されていないため、リセット動作を行わない。
【０１０６】
また、図２１に示すように、スレーブデバイス１３０にリセット制御部１３９ｂを設置することもできる。このような場合、スレーブデバイス１３０同士の通信に異常が検知された際に、マスタデバイス１２０にＥＲＲ＿ＳＴＡＴＵＳ信号を送信せずともスレーブデバイス１３０とスレーブデバイス１３０ｃとの通信を再確立させることができる。
【０１０７】
したがって、実施の形態４に係る情報処理装置１においてシリアル通信経路における異常が発生した場合には、異常が発生しているシリアル通信経路にのみリセット動作を実行することができる。
【０１０８】
尚、以上説明した全ての実施の形態において、定期的に送信される固有のパケットデータは、情報処理装置１が動作する際の周波数によって決まる。この時、例えば、情報処理装置１が動作する際の周波数が１００ＭＨｚであった場合、固有のパケットデータが連続二回検出されない時には、およそ２５μ秒でリセット信号が出力される。
【０１０９】
また、以上説明した全ての実施の形態においては、８Ｂ／１０Ｂ方式のシリアル高速通信を行う情報処理装置を例として説明を行ったが、ＰＣＩ  Ｅｘｐｒｅｓｓ  ３．０で採用されている１２８Ｂ／１３０Ｂ方式においても、上記実施の形態と同様の効果をえることが出来る。
【符号の説明】
【０１１０】
１  情報処理システム
４  リセット端子
５  抵抗器
１０  ＣＰＵ
１２  マスタ制御部
１３  スレーブ制御部
１４  ペリフェラルＩＣ
１０２  パラレルＩ／Ｆ
１０３  データ生成部
１０４、１０６、１０８  割込み制御部
１２０  マスタデバイス
１２１、１３１  パケット生成部
１２２、１３２  ８Ｂ／１０Ｂ変換部
１２３、１３３  シリアライザ
１２４、１３４  デシリアライザ
１２５、１３５  １０Ｂ／８Ｂ変換部
１２６、１３６  パケット解析部
１２７、１３７  エラー検知部
１２８、１３８  タイミング生成部
１２９、１３９  リセット制御部
１３０  スレーブデバイス
２００  データ境界パケットデータ
３００  リードパケットデータ
４００  割込みパケットデータ
【先行技術文献】
【特許文献】
【０１１１】
【特許文献１】特開２０１１−１０７８４５号公報
【図１】
2017195534.tif 000003
【図２】
2017195534.tif 000004
【図３】
2017195534.tif 000005
【図４】
2017195534.tif 000006
【図５】
2017195534.tif 000007
【図６】
2017195534.tif 000008
【図７】
2017195534.tif 000009
【図８】
2017195534.tif 000010
【図９】
2017195534.tif 000011
【図１０】
2017195534.tif 000012
【図１１】
2017195534.tif 000013
【図１２】
2017195534.tif 000014
【図１３】
2017195534.tif 000015
【図１４】
2017195534.tif 000016
【図１５】
2017195534.tif 000017
【図１６】
2017195534.tif 000018
【図１７】
2017195534.tif 000019
【図１８】
2017195534.tif 000020
【図１９】
2017195534.tif 000021
【図２０】
2017195534.tif 000022
【図２１】
2017195534.tif 000023