"通信機能を有する他の装置とシリアル通信を行う電子装置であって、前記電子装置は、ボーレート調整回路を含み前記他の装置とシリアル通信を行うシリアルインタフェース回路と、内部クロック信号を生成するクロック生成回路と、を備えてなり、前記他の装置に接続された状態で前記他の装置からのシリアル信号を受信するように構成され、前記シリアル信号は、1ビットのスタートビットと、これに続く複数ビットのデータビットと、これに続く1ビットのストップビットで構成されており、前記ボーレート調整回路は、a受信した前記シリアル信号を構成する各ビットの時間幅を前記クロック生成回路で生成された前記内部クロック信号によるカウント動作によって測定する処理と、b前記測定された各ビットの時間幅の最大値と最小値を検出する処理と、c前記測定された各ビットの時間幅の平均値を演算する処理と、d前記各ビットの時間幅の平均値に基づいて最大許容値と最小許容値を演算する処理と、e前記最大値と前記最小値が前記最大許容値と前記最小許容値の範囲内であるか否かを判別する処理と、f前記最大値と前記最小値が前記範囲内である場合に、前記平均値に対応するボーレートを設定する処理と、を実行し、前記電子装置は、前記他の装置との間のシリアル通信を前記設定したボーレートで実行するように構成されてなる電子装置。請求項1記載の電子装置において、前記電子装置は、さらに、前記設定したボーレートに基づいて受信した前記シリアル信号内の前記データビットの値が予め規定したボーレート調整用コマンドの値であるか否かを識別するコマンド識別部を備え、前記ボーレート調整回路は、前記シリアル信号を受信した際に、当該シリアル信号に対する前記コマンド識別部の識別結果に関わらずに前記a~f処理を実行する第1ボーレート設定モードと、前記シリアル信号を受信した際に、前記a~e処理を実行し、さらに、前記コマンド識別部が当該シリアル信号の中から前記ボーレート調整用コマンドを識別した場合に前記f処理を実行する第2ボーレート設定モードとを備えてなる電子装置。請求項2記載の電子装置において、前記ボーレート調整回路は、リセット信号が入力された際に、その後に受信した1個の前記シリアル信号を対象に前記第1ボーレート設定モードでの処理を実行するように構成されてなる電子装置。請求項3記載の電子装置において、前記コマンド識別部は、さらに、前記設定したボーレートに基づいて受信した前記シリアル信号内の前記データビットの値が予め規定したボーレート調整用の前提コマンドの値であるか否かを識別し、前記ボーレート調整回路は、前記コマンド識別部が前記ボーレート調整用の前提コマンドを識別した際に、その後に受信した1個の前記シリアル信号を対象に前記第1ボーレート設定モードでの処理を実行するように構成されてなる電子装置。請求項3記載の電子装置において、前記クロック生成回路は、リングオシレータ回路であるように構成されてなる電子装置。請求項3記載の電子装置において、前記d処理での前記最大許容値は、前記平均値の略1.5倍であり、前記d処理での前記最小許容値は、前記平均値の略0.5倍であるように構成されてなる電子装置。請求項3記載の電子装置において、前記電子装置は、さらに、JTAG規格に基づくJTAGインタフェース回路と、プロトコル変換部とを備え、前記コマンド識別部は、さらに、前記設定したボーレートに基づいて受信した前記シリアル信号内の前記データビットの値が予め規定したJTAGアクセス用コマンドの値であるか否かを識別し、前記プロトコル変換部は、前記コマンド識別部が前記JTAGアクセス用コマンドを識別した際に、前記シリアル信号を前記JTAGインタフェース回路で必要とされる複数の信号に変換するように構成されてなる電子装置。請求項7記載の電子装置において、前記電子装置は、さらに、不揮発性メモリと、前記不揮発性メモリへの書き込み/読み出し動作を制御するメモリコントローラとを備え、前記コマンド識別部は、さらに、前記設定したボーレートに基づいて受信した前記シリアル信号内の前記データビットの値が予め規定した不揮発性メモリアクセス用コマンドの値であるか否かを識別し、前記電子装置は、前記コマンド識別部が前記不揮発性メモリアクセス用コマンドを識別した際に、前記シリアル信号を前記メモリコントローラに伝送し、前記コマンド識別部は、前記電子装置による前記シリアル信号の前記メモリコントローラへの伝送が予め定めた所定の回数行われている間、当該シリアル信号を対象とする各コマンドの識別処理を一時的に停止するように構成されてなる電子装置。外部検査装置とシリアル通信で接続され、前記外部検査装置と電子装置に搭載された内部回路との間での通信を可能にする構成を備えた電子装置であって、前記電子装置は、前記電子装置としての機能を実現する内部回路と、内部クロック信号を生成するクロック生成回路と、前記内部回路とのシリアル通信を実現する制御回路ブロックとを含み、前記内部回路による前記電子装置としての機能を実現する第1動作モードと、前記外部検査装置によるシリアル通信下での前記電子装置の前記内部回路へのアクセスを可能にする第2動作モードとが設定可能に構成されてなり、前記制御回路ブロックは、前記外部検査装置との間でシリアル通信を行う通信用端子と、前記通信用端子に接続されるシリアルインタフェース回路と、前記シリアルインタフェース回路と前記電子装置の前記内部回路との通信を制御する制御回路と、を備え、前記第2動作モードの際に前記外部検査装置に接続された状態で前記外部検査装置からのシリアル信号を受信するように構成され、前記シリアル信号は、1ビットのスタートビットと、これに続く複数ビットのデータビットと、これに続く1ビットのストップビットで構成されており、前記シリアルインタフェース回路は、前記通信用端子で受信した前記シリアル信号をパラレル信号に変換するシリアルパラレル変換回路と、前記内部回路から受信したパラレル信号をシリアル信号に変換し、前記通信用端子に向けて送信するパラレルシリアル変換回路と、前記シリアルパラレル変換回路および前記パラレルシリアル変換回路の動作タイミングを設定するボーレート調整回路とを備え、前記ボーレート調整回路は、a前記第2動作モードに設定された状態で前記通信用端子を介して受信した前記シリアル信号を対象に、当該シリアル信号を構成する各ビットの時間幅を前記クロック生成回路で生成された前記内部クロック信号によるカウント動作によって測定する処理と、b前記測定された各ビットの時間幅の最大値と最小値を検出する処理と、c前記測定された各ビットの時間幅の平均値を演算する処理と、d前記各ビットの時間幅の平均値に基づいて最大許容値と最小許容値を演算する処理と、e前記最大値と前記最小値が前記最大許容値と前記最小許容値の範囲内であるか否かを判別する処理と、f前記最大値と前記最小値が前記範囲内である場合に、前記平均値に対応するボーレートを設定する処理と、を実行し、前記制御回路ブロックは、前記外部検査装置との間の前記通信用端子を介したシリアル通信を前記設定したボーレートで実行するように構成されてなる電子装置。請求項9記載の電子装置において、前記制御回路は、前記設定したボーレートに基づいて受信した前記シリアル信号内の前記データビットの値が予め規定したボーレート調整用コマンドの値であるか否かを識別するコマンド識別部を含み、前記ボーレート調整回路は、前記シリアル信号を受信した際に、当該シリアル信号に対する前記コマンド識別部の識別結果に関わらずに前記a~f処理を実行する第1ボーレート設定モードと、前記シリアル信号を受信した際に、前記a~e処理を実行し、さらに、前記コマンド識別部が当該シリアル信号の中から前記ボーレート調整用コマンドを識別した場合に前記f処理を実行する第2ボーレート設定モードとを備えてなる電子装置。請求項10記載の電子装置において、前記ボーレート調整回路は、リセット信号が入力された際に、その後に受信した1個の前記シリアル信号を対象に前記第1ボーレート設定モードでの処理を実行するように構成されてなる電子装置。請求項11記載の電子装置において、前記コマンド識別部は、さらに、前記設定したボーレートに基づいて受信した前記シリアル信号内の前記データビットの値が予め規定したボーレート調整用の前提コマンドの値であるか否かを識別し、前記ボーレート調整回路は、前記コマンド識別部が前記ボーレート調整用の前提コマンドを識別した際に、その後に受信した1個の前記シリアル信号を対象に前記第1ボーレート設定モードでの処理を実行するように構成されてなる電子装置。請求項11記載の電子装置において、前記クロック生成回路は、リングオシレータ回路であるように構成されてなる電子装置。請求項11記載の電子装置において、前記d処理での前記最大許容値は、前記平均値の略1.5倍であり、前記d処理での前記最小許容値は、前記平均値の略0.5倍であるように構成されてなる電子装置。請求項11記載の電子装置において、前記内部回路は、JTAG規格に基づくJTAGインタフェース回路を含んだプロセッサ回路を含み、前記制御回路は、さらに、プロトコル変換部を備え、前記コマンド識別部は、さらに、前記設定したボーレートに基づいて受信した前記シリアル信号内の前記データビットの値が予め規定したJTAGアクセス用コマンドの値であるか否かを識別し、前記プロトコル変換部は、前記コマンド識別部が前記JTAGアクセス用コマンドを識別した際に、前記シリアル信号を前記JTAGインタフェース回路で必要とされる複数の信号に変換するように構成されてなる電子装置。請求項15記載の電子装置において、前記内部回路は、さらに、不揮発性メモリと、前記不揮発性メモリへの書き込み/読み出し動作を制御するメモリコントローラとを備え、前記コマンド識別部は、さらに、前記設定したボーレートに基づいて受信した前記シリアル信号内の前記データビットの値が予め規定した不揮発性メモリアクセス用コマンドの値であるか否かを識別し、前記制御回路は、前記コマンド識別部が前記不揮発性メモリアクセス用コマンドを識別した際に、前記シリアル信号を前記メモリコントローラに伝送し、前記コマンド識別部は、前記電子装置による前記シリアル信号の前記メモリコントローラへの伝送が予め定めた所定の回数行われている間、当該シリアル信号を対象とする各コマンドの識別処理を一時的に停止するように構成されてなる電子装置。例えば、MCUMicroControlUnit等の半導体集積回路装置ICチップを備えた組み込み装置電子装置のデバッグ方式として、ICチップ内に設けられたJTAGJointTestActionGroupインタフェース等を利用する方式が知られている。当該方式を用いると、例えばTCK,TDI,TDO,TMS等の複数の外部端子を持つJTAGインタフェースを介して外部の検査装置からICチップ内のプロセッサ等にアクセスすることができ、プロセッサ等の内部状態を適宜確認しながらプログラムデバッグ等を行うことが可能になる。ただし、JTAGインタフェースを用いた場合、複数の外部端子が必要とされるため、ICチップならびに電子装置の回路面積コストが増大する恐れがある。このため、UARTUniversalAsynchronousReceiverTransmitter等を代表とするシリアル通信回路を半二重方式の1本の通信線を介してこのようなデバッグ機能を実現することが望まれる。UARTは、非同期でシリアル通信を行う方式であるため、予めICチップ被検査装置側と検査装置側とでボーレートを設定後に通信を行う必要がある。すなわち、検査装置と被検査装置は、それぞれ独立した基準クロック生成回路を備えており、単純に接続した状態では互いに周波数等が異なるクロックで動作しており、互いにクロック周波数を認識できる状態にはなっていない。そこで、例えば、特許文献1のようにボーレートを表す共通のコマンドを用いて、検査装置と被検査装置の間で同じボーレートを設定する方式が考えられる。しかしながら、当該方式は、受信側と送信側の基準クロックが共に安定しており、かつ、お互いの基準クロック周波数が事前に判っていることが必要となる。お互いの基準クロック周波数が判らない場合には、最初のボーレート設定用コマンドの送受信が正しく行われない恐れがある。このような事態を防止するため、シリアルデータ内に予めシンクフィールドを設け、受信側が、送信側から送出されたシンクフィールドのパルス幅を計測することでボーレートを自動調整するような方式が考えられる。特許文献2には、このようなシンクフィールド内に異常波形が有った場合にそれを検出する回路が示されている。当該回路は、基準となるボーレートをスタートビットで測定し、それを期待値としてスタートビット以降に順次計測したエッジ間隔パルス幅の良否を判別することで異常波形を検出している。しかしながら、データビットではなく、スタートビットでボーレートを調整しようとすると、例えばシリアルデータの立ち上がり/立ち下がりのエッジの傾きが異なる場合、スタートビット以降のエッジ間幅がスタートビットと異なってしまうので、ボーレートの調整精度が低下する恐れがある。また、特許文献2では、LINLocalInterconnectNetwork等のシリアル通信プロトコルが用いられる。LINプロトコルでは、1個のフレームがヘッダとレスポンスによって構成され、当該ヘッダ内に前述したシンクフィールド8’h55のデータが含まれている。この場合、フレームを伝送する度にシンクフィールドによるボーレート調整が行われることになるが、例えば前述したようなICチップと検査装置との間のデバッグ用通信の過程で、前述したようなボーレート調整を毎回実行することは、通信効率の低下に繋がる。例えば、ICチップ内に水晶発振回路を代表とする高精度な基準クロック生成回路を搭載すれば、ボーレート調整を一度行うことで送受信間の周波数設定誤差が小さい状態を比較的長時間にわたって維持できるため、通信効率の改善を図れる場合がある。ただし、デバッグコスト等を低減するためには、水晶振動子等の外付け部品が必要とされる水晶発振回路等を用いずに、ICチップ内蔵の比較的低精度な基準クロック生成回路を用いてデバッグ機能を実現することが望ましい。しかしながら、この場合、送受信間の周波数設定誤差が徐々に拡大し、ボーレートの再調整を行わないことには正常な通信状態を持続できなくなる恐れがある。このように、通信効率と向上とボーレート調整の高精度化はトレードオフの関係となる場合があり、そのバランスを考慮したシリアル通信方式の実現が望まれる。本発明は、このようなことを鑑みてなされたものであり、その目的の一つは、シリアル通信回路を備えた電子装置において、高精度なボーレート調整を実現することにある。本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。本願において開示される課題を解決するための手段のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。本発明の一実施の形態による電子装置は、通信機能を有する他の装置とシリアル通信を行うものである。当該電子装置は、ボーレート調整回路を含み他の装置とシリアル通信を行うシリアルインタフェース回路と、内部クロック信号を生成するクロック生成回路と、を備え、他の装置に接続された状態で他の装置からのシリアル信号を受信するように構成される。シリアル信号は、1ビットのスタートビットと、これに続く複数ビットのデータビットと、これに続く1ビットのストップビットで構成される。ここで、ボーレート調整回路は、受信したシリアル信号の各ビットの時間幅を内部クロック信号によるカウント動作によって測定し、その平均値を算出すると共に、その中の最大値と最小値を検出する。また、ボーレート調整回路は、当該平均値に基づいて最大許容値と最小許容値を演算し、当該最大値と最小値が当該最大許容値と最小許容値の範囲内であるか否かを判別する。そして、範囲内である場合、ボーレート調整回路は、前述した平均値に対応するボーレートを設定し、当該電子装置は、他の装置との間のシリアル通信を当該設定したボーレートで実行する。前記一つの実施の形態によれば、シリアル通信回路を備えた電子装置において、高精度なボーレート調整が実現可能になる。以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等個数、数値、量、範囲等を含むに言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。さらに、以下の実施の形態において、その構成要素要素ステップ等も含むは、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。また、実施の形態の各機能ブロックを構成する回路素子は、特に制限されないが、公知のCMOS相補型MOSトランジスタ等の集積回路技術によって、単結晶シリコンのような半導体基板上に形成される。なお、実施の形態では、MISFETMetalInsulatorSemiconductorFieldEffectTransistorの一例としてMOSFETMetalOxideSemiconductorFieldEffectTransistorMOSトランジスタと略すを用いるが、ゲート絶縁膜として非酸化膜を除外するものではない。以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。《半導体集積回路装置の全体構成》図1は、本発明の一実施の形態による電子装置において、それに含まれる半導体集積回路装置の構成例を示すブロック図である。図1に示す半導体集積回路装置DEV1は、特に限定はされないが、例えば一つの半導体チップICチップによって構成されたMCUMicroControlUnit等となっている。DEV1は、特に限定はされないが、例えばプリント配線基板上に複数の部品が実装された組み込み装置電子装置の一部品等として使用される。図1のDEV1は、プロセッサユニットCPU、フラッシュメモリFMEM、フラッシュコントローラFCON、アナログ回路ブロックANLG_BK、ディジタル回路ブロックDGTL_BK、オンチップデバッグ用制御ブロックOCDBK、クロック制御回路ブロックCLKCTL、リセット制御回路RSTCTL、モード制御回路MDCTLを備える。CPU、FCON、ANLG_BK、DGTL_BK、OCDBK、およびCLKCTLは、内部バスBSによって互いに接続される。フラッシュコントローラFCONは、内部バスBSを介して行われるフラッシュメモリFMEMへのアクセス読み出しアクセス/書き込みアクセスを適宜制御する。FMEMには、例えば所定のプログラムや、これに伴う各種データ等が格納される。プロセッサユニットCPUは、例えば、FCONを介してFMEMから所定のプログラム等を読み出し、当該プログラム等に基づく所定の演算処理等を実行する。アナログ回路ブロックANLG_BKは、各種アナログ回路を含み、代表的には、アナログディジタル変換回路や、ディジタルアナログ変換回路や、各種センサ回路等を含んでいる。ディジタル回路ブロックDGTL_BKは、各種ディジタル回路を含み、代表的には、タイマ回路や、ダイレクトメモリアクセスコントローラや、各種外部シリアル通信制御回路等を含んでいる。なお、DGTL_BKには、CPUのプログラム実行時等で用いられるワーク用のRAMRandomAccessMemory等も含まれている。クロック制御回路ブロックCLKCTLは、発振回路OSC、自励発振回路IRC、位相同期回路PLL等を備える。OSCは、例えば水晶発振回路等であり、外部端子PN_XTALに接続される水晶振動子図示せず等に基づいて、所定の発振周波数を持つ基準クロック信号を生成する。自励発振回路IRCは、代表的には複数段のインバータ回路で構成されるリングオシレータ回路等であり、DEV1の電源投入により外部部品を必要とせずに基準クロック信号を生成する回路である。IRCは、リングオシレータ回路に限らず、例えば内部抵抗と内部容量を利用して基準クロック信号を生成するCR発振回路等であってもよい。PLLは、OSC又はIRCによって生成された基準クロック信号に基づいて、その逓倍代表的には整数倍、場合によっては小数点を含む倍率の内部クロック信号を生成する。当該内部クロック信号は、OCDBK、CPU、FCON、ANLG_BK、DGTL_BKに適宜供給される。モード制御回路MDCTLは、外部端子PN_MDから入力されるモード切り替え信号に応じてDEV1全体の動作モードを切り替える。例えば、DEV1は、通常動作モードとデバッグ動作モードを備えている。DEV1は、通常動作モードでは、ユーザによって定められるFMEM内のプログラム等に基づき、各種内部回路を用いて所望の機能を実現する。一方、デバッグ動作モードは、当該通常動作モードで用いるFMEM内のプログラム自体を開発デバッグするため等で使用され、DEV1は、オンチップデバッグ用制御ブロックOCDBKを有効化し、また、DEV1の各種内部回路をデバッグ可能な状態に設定する。オンチップデバッグ用制御ブロックOCDBKは、デバッグ用の外部端子PN_DBGを介してDEV1のデバッグを行うために必要な各種機能を備える。詳細は後述するが、OCDBKは、例えば、PN_DBGからCPUの内部レジスタへのアクセス機能の一部や、PN_DBGからFMEMへのアクセス機能の一部等を備えている。リセット制御回路RSTCTLは、外部端子PN_RSTからのリセット信号に応じてDEV1内の各種内部回路のリセットを行う。また、RSTCTLは、例えばパワーオンリセット回路を備え、DEV1の電源投入を検出してDEV1内の各種内部回路のリセットを行う。《シリアル通信システムデバッグシステムの主要部の構成》図2は、図1の半導体集積回路装置を含めたシリアル通信システムデバッグシステムの主要部の構成例を示すブロック図である。図2には、図1の半導体集積回路装置DEV1におけるデバッグに関連する部分の構成例と、そのデバッグで用いられる外部検査装置EQTSTとが示されている。EQTSTのテスト用外部端子PN_TSTとDEV1のデバッグ用外部端子PN_DBGは、1本のシリアル配線WR_DBGによって接続され、EQTSTとDEV1は、WR_DBGを介して半二重双方向シリアル通信を行う。WR_DBGは、ここでは、プルアップ抵抗Rupを介して電源電圧VCCにプルアップされている。EQTSTは、特に限定はされないが、例えばパーソナルコンピュータ等であり、外部端子PN_TSTと接地電源電圧GNDの間にソースドレイン経路が結合されたNMOSトランジスタオープンドレイン出力バッファ回路MNeと、PN_TSTを入力とする入力バッファ回路IBFeを備える。EQTSTは、クロック信号CLKeに同期してPN_TSTを介した送受信動作を行う。例えば、‘H’レベルを送信する際にはMNeのゲートをオフレベルに駆動し、‘L’レベルを送信する際にはMNeのゲートをオンレベルに駆動し、受信動作の際には、IBFeを介してPN_TSTの論理レベルを取り込む。半導体集積回路装置DEV1は、図1にも示したように、オンチップデバッグ用制御ブロックOCDBKと、プロセッサユニットCPUと、フラッシュコントローラFCONおよびフラッシュメモリFMEMと、自励発振回路IRCと、リセット制御回路RSTCTLを備える。IRCは、例えば図1に示す位相同期回路PLLを介して内部クロック信号CLKdを生成し、RSTCTLは、内部リセット信号RSTd_Nを生成する。CPUは、JTAGJointTestActionGroup規格に基づいてCPUの各内部レジスタ等へのアクセスを実現するJTAGインタフェース回路JTAGIFを備える。OCDBKは、NMOSトランジスタオープンドレイン出力バッファ回路MNdと、入力バッファ回路IBFdと、シリアルインタフェース回路SIFと、オンチップデバッグ回路OCDを備える。EQTSTの場合と同様に、MNdは、外部端子PN_DBGとGNDの間にソースドレイン経路が結合され、送信シリアルデータDBGO_Nに応じてゲートが駆動される。また、IBFdは、受信動作時にPN_DBGのデータを取り込み、受信シリアルデータDBGIを出力する。シリアルインタフェース回路SIFは、ボーレート調整回路BRCTLと、シリアルパラレル変換回路SPCと、パラレルシリアル変換回路PSCを備える。シリアルパラレル変換回路SPCは、受信動作時に、前述した受信シリアルデータDBGIを受信パラレルデータDBGPIに変換する。パラレルシリアル変換回路PSCは、送信動作時に、送信パラレルデータDBGPOを前述した送信シリアルデータDBGO_Nに変換する。ボーレート調整回路BRCTLは、受信シリアルデータDBGIからボーレートを検出し、その検出結果に基づいてSPCおよびPSCの動作タイミングを設定する。詳細は後述するが、当該動作タイミングは、ここでは、内部クロック信号CLKdのカウント数によって設定される。オンチップデバッグ回路OCDは、受信パラレルデータDBGPIの値コマンドに応じてデバッグ用内部状態の変更を行う。詳細は後述するが、デバッグ用内部状態の中には、アイドル状態、JTAGアクセス状態、フラッシュアクセス状態が含まれる。図3は、図2のオンチップデバッグ用制御ブロックが識別するコマンドの一例を示す説明図である。図3における各コマンドの詳細内容については以降において順次説明を行うものとし、ここでは、その概要について説明を行う。オンチップデバッグ用制御ブロックOCDBKは、受信シリアルデータDBGIとして、8ビットのヘキサ16進数8’hでコマンド8’h55を受信するか、コマンド8’h65に続いてコマンド8’h55を受信すると、ボーレート調整回路BRCTLを用いてボーレート調整を行う。前者はボーレートの微調整を行う際に使用され、後者はボーレートを比較的大きく変更する際に使用される。OCDBKは、DBGIとして、コマンド8’hEAかコマンド8’h6Aを受信すると、オンチップデバッグ回路OCDを介してフラッシュアクセス状態に遷移する。OCDは、コマンド8’h6Aによってフラッシュアクセス状態に遷移した際には、以降に入力されるシリアルインタフェース回路SIFからの所定の回数分の受信パラレルデータDBGPIをフラッシュコントローラFCONを介してFMEMに書き込む。一方、コマンド8’hEAによってフラッシュアクセス状態に遷移した際には、FCONを介して所定の回数分FMEMからのデータ読み出しを行い、その各パラレルデータをDBGPOとしてSIFに送信する。OCDBKは、DBGIとして8ビットのバイナリ2進数8’bでコマンド8’bxxxxxx00x:ドントケアを受信すると、OCDを介してJTAGアクセス状態に遷移する。OCDは、JTAGアクセス状態では、シリアルインタフェース回路SIFからのDBGPIをJTAG規格に基づくフォーマットにプロトコル変換し、当該変換後の信号をCPUのJTAGIFに送信する。ここでは、JTAGIFに向けて8ビット分のデータを送信する。また、OCDは、これに伴いJTAGIFから順次送出されるデータここでは8ビット分を収集し、それをDBGPOとしてSIFに送信する。OCDBKは、DBGIとしてコマンド8’hFFを受信すると、リセット信号を生成する。なお、図3に示すコマンド割り付けは、詳細は後述するが、下位2ビットによって動作の大まかな判別が可能となっている点が特徴となっている。以上のように、図2のようなデバッグシステムを用いると、外部検査装置EQTSTからシリアル配線WR_DBGを介して半導体集積回路装置DEV1内のCPUの各内部レジスタやフラッシュメモリFMEM等にアクセスすることが可能になる。これによって、例えばCPUの各内部レジスタ等の状態を確認しながら、FMEM内に格納されるプログラムのデバッグ等を実現することが可能になる。この際に、1本の端子PN_DBGによってデバッグを行う方式となっているため、例えば、JTAGインタフェースが持つ複数本の端子によってデバッグを行う方式などと比較して、DEV1の小型化、低コスト化等を含めてデバッグコストの低減などが図れる。また、外部の水晶振動子等を必要としない自励発振回路IRCからの内部クロック信号CLKdを用いてEQTSTとDEV1との間でデバッグ用の通信を行う方式となっているため、これによってもデバッグコストの低減などが図れる。ただし、リングオシレータ等を代表とするIRCは、製造ばらつきや温度電圧ばらつき等を考慮すると、各半導体チップ間で例えば±10程度の誤差が生じる恐れがある。このため、EQTSTとDEV1との間で確実な通信を行うためには、EQTSTとDEV1と間で、動作タイミングの誤差がある程度の範囲内に収まっている状態をデバッグ期間にわたって維持するための工夫が必要とされる。その一つとして、特許文献2に示されるように、各フレームにシンクフィールドを設ける方式が考えられるが、この場合、各フレームに存在するシンクフィールドによって通信効率が低下する恐れがある。そこで、本実施の形態による方式を用いることが有益となる。《シリアル通信データのフォーマット》図4は、図2のシリアル通信システムデバッグシステムにおいて、そのシリアル通信データのフォーマットの一例を示す説明図である。図4に示すように、外部検査装置EQTSTと半導体集積回路装置DEV1との間のシリアル配線WR_DBGには、スタートビット1ビットSTR、ストップビット1ビットSTP、ならびにその間のデータビット8ビットDATの計10ビットを単位1フィールドとするシリアル通信データが伝送される。スタートビットSTRは‘L’レベル、ストップビットSTPは‘H’レベルであり、いずれも1ビット分の期間を持つ。また、DATは、ここでは最下位ビットLSBから最上位ビットMSBに向けて順に伝送される。《ボーレート調整回路の詳細構成》図5は、図2の半導体集積回路装置において、そのボーレート調整回路の詳細な構成例を示すブロック図である。図5のボーレート調整回路BRCTLは、クロックカウンタCKCUNT、ビットカウンタBITCUNT、立ち下がりエッジカウンタFEGCUNTを備える。CKCUNT,BITCUNT,FEGCUNTは、図4に示した受信シリアルデータDBGIの各フィールド毎にカウント動作を行い、フィールドが変わるとカウンタ値をリセットする。なお、各フィールドの検出は、スタートビットSTRおよびストップビットSTPを検出する図示しない回路によって行われる。CKCUNTは、DBGI内で互い隣接する各エッジの期間すなわち各‘H’パルス幅及び各‘L’パルス幅を内部クロック信号CLKdでカウントする。BITCUNTは、DBGIにおけるエッジの数をカウントする。FEGCUNTは、DBGIにおける立ち下がりエッジの数をカウントする。図5のボーレート調整回路BRCTLは、更に、平均値演算部AVGC、最大値検出部MAXD、最小値検出部MIND、許容値判定部MXMNJGE、ボーレート設定可否判定部BRJGE、ボーレート設定レジスタREG_BRを備える。AVGCは、CKCUNTによる各カウント数の平均値を演算する。MAXDはCKCUNTによる各カウント数の最大値を検出ならびに保持し、MINDはCKCUNTによる各カウント数の最小値を検出ならびに保持する。MXMNJGEは、AVGCの演算結果から最大許容値および最小許容値を演算し、当該各許容値を判定基準としてMAXDによる最大値とMINDによる最小値の良否を判定する。具体的には、MAXDによる最大値とMINDによる最小値が、MXMNJGEによる最大許容値と最小許容値の範囲内に収まっている場合にはOK信号を出力し、範囲外である場合にはNG信号を出力する。ボーレート設定可否判定部BRJGEは、立ち下がりエッジカウンタFEGCUNTのカウント数が所定の回数であった場合で、かつ許容値判定部MXMNJGEからOK信号が出力された場合には、設定完了信号イネーブル信号ADJCMPを出力する。一方、FEGCUNTのカウント数が所定の回数であった場合で、かつMXMNJGEからNG信号が出力された場合には、エラー信号ADJERRを出力する。この際に、詳細は後述するが、BRJGEは、当該ADJCMP,ADJERRの生成を、シリアルパラレル変換回路SPC又はオンチップデバッグ回路OCDによるコマンド8’h55/コマンド8’h65の認識結果や、内部リセット信号RSTd_Nの入力状況を反映して行う。ボーレート設定レジスタREG_BRは、ADJCMPが生成された場合に平均値演算部AVGCの演算結果を格納することでボーレートの設定値を更新する。《ボーレート調整回路の基本動作》図5のボーレート調整回路BRCTLは、概略的には例えば次のように動作する。図6は、図5のボーレート調整回路におけるクロックカウンタおよび平均値演算部の動作例を示す説明図である。図6に示すように、ボーレート調整回路BRCTL内のクロックカウンタCKCUNTは、ボーレートの設定精度を上げるために、スタートビットSTRとボーレート調整用コマンド8’h55の計9ビットを内部クロック信号CLKdでカウントし、各ビットの時間幅を測定する。平均値演算部AVGCは、当該各ビットの時間幅を合計した値を測定した分のビット数ここでは9で割ることで平均値を算出し、当該算出結果を基準値とする。なお、特に限定はされないが、除算結果の小数部は四捨五入する。図6の例では、9ビット分のクロックカウント数は767767776であり、それを9で割った結果を四捨五入することで基準値として7が得られる。この場合、ボーレートは、内部クロック信号CLKdのクロック周波数ここでは12.5MHzとするを7で割った結果である1.786Mbpsとなる。なお、特に限定はされないが、CLKdのクロック周波数図1のIRCの基準クロック周波数は、図1のOSCの基準クロック周波数例えば20MHz程度よりもある程度低い方が望ましい。これによって、半導体集積回路DEV1のタイミング設計をOSCの基準クロック周波数を勘案して行えば、仮にCLKdのクロック周波数がばらついた場合でもDEV1をCLKdによって問題なく動作させることが可能になる。図7は、図6で算出した基準値がエラーとなる場合の一例を示す説明図である。図7に示すように、受信シリアルデータDBGIの1ビット分のクロックサイクル数の最大値が最小値の3倍よりも大きい場合、ボーレート調整回路BRCTLは、基準値によるボーレートの設定を行わずに、許容値判定部MXMNJGEによってエラーを検出する。これは、図7に示すように、DBGIの各ビットの値をビット期間の中央でのサンプリングによって検出するものとして、‘H’パルスと‘L’パルスのパルス幅の比が1/3から3の範囲外では、サンプリングが正しく行われない場合や、ストップビットSTPの検出が困難となる場合が生じるためである。基準値によるボーレートの設定が行われた場合、当該設定値は、次のボーレート調整が行われる時までコマンド8’h55がくるまでボーレート設定レジスタREG_BRで保持され、外部検査装置EQTSTとの間のシリアル通信で使用される。一方、ボーレート設定可否判定部BRJGEによってエラー信号ADJERRが生成された場合、ここでは、オンチップデバッグ回路OCD等が、EQTST側に向けたエラー通知信号として、例えば約10ms間、送信シリアルデータDBGO_Nに‘H’レベルを出力する。なお、詳細は省略するが、エラー通知信号は、このようなボーレート調整に失敗した時以外にも、ストップビットが正しく検出されなかった時や、送受信を同時に行いデータ同士がぶつかった時等にも生成される。図8a、図8bは、図5のボーレート調整回路の詳細な動作例を示すものであり、図8aはエラーが無い場合の波形図、図8bはエラーがある場合の波形図である。図8a、図8bに示すように、図5のボーレート調整回路BRCTLは、より詳細には例えば次のように動作する。[1]外部検査装置EQTSTから半導体集積回路装置DEV1へ送信される受信シリアルデータDBGIの1ビット分のボーレートを測定するために、図5のクロックカウンタCKCUNTは、DBGIの最初の立ち下がりエッジを起点として、内部クロック信号CLKdによるカウント動作を行うcycle_count。また、これと並行して、図5のビットカウンタBITCUNTは、DBGIのエッジ立ち上がり/立ち下がりを検出し、その都度カウントアップを行うbit_count。[2]クロックカウンタCKCUNTによるスタートビット1ビットSTRとデータビット8ビットDATの計9ビット期間のカウント動作が終わった後、図5の平均値演算部AVGCは、当該カウント値をビットカウンタBITCUNTのカウント値で除算することで、1ビット当りのクロックカウント値の平均値を演算する。図8aの例では、9ビット分のクロックカウント値は878788788であり、それをBITCUNTのカウント値ここでは9で除算し、四捨五入を行った結果、8が得られる。[3]また、図7に示したように、受信シリアルデータDBGIの‘L’パルスと‘H’パルスの比が3:1または1:3以上になると、データの正しいサンプリングやストップビットSTPの検出が困難となる恐れがある。そこで、図8aに示すように、図5の最大値検出部MAXDは、クロックカウンタCKCUNTのカウント値とビットカウンタBITCUNTによるエッジ検出信号に基づき各ビット毎のCKCUNTのカウント値を認識し、その中の最大値ここでは8maxを検出ならびに保持する。同様に、図5の最小値検出部MINDは、CKCUNTのカウント値とBITCUNTによるエッジ検出信号に基づき各ビット毎のCKCUNTのカウント値を認識し、その中の最小値ここでは7minを検出ならびに保持する。また、図5の許容値判定部MXMNJGEは、図8aに示すように、平均値演算部AVGCで得られた値ここでは8に基づき、その0.5倍を最小許容値ここでは4cycle_count_min、1.5倍を最大許容値ここではCcycle_count_maxとして演算する。そして、最大値検出部MAXDの検出値および最小値検出部MINDの検出値の両方が許容値判定部MXMNJGEによる最小許容値と最大許容値の範囲内に収まっている場合には、OK信号を生成する。一方、MAXDの検出値およびMINDの検出値の少なくとも一方がMXMNJGEによる最小許容値と最大許容値の範囲外である場合にはNG信号を生成する。[4]図5のボーレート設定可否判定部BRJGEは、許容値判定部MXMNJGEからOK信号が出力され、かつ、立ち下がりエッジカウンタFEGCUNTによって5回の立ち下がりエッジが検出された場合に、設定完了信号イネーブル信号ADJCMPを生成する。一方、MXMNJGEからNG信号が出力され、かつ、FEGCUNTによって5回の立ち下がりエッジが検出された場合に、エラー信号ADJERRを生成する。FEGCUNTは、受信シリアルデータDBGIによるコマンドがボーレート調整用コマンド8’h55であることを検証するために設けられる。図8aの場合には、MAXDの検出値8とMINDの検出値7が共に最小許容値4と最大許容値Cの範囲内に収まっているため、許容値判定部MXMNJGEからOK信号が出力され、これを受けて、ボーレート設定可否判定部BRJGEは、設定完了信号イネーブル信号ADJCMPを生成する。一方、図8bの場合には、MINDの検出値3が最小許容値4範囲外であるため、MXMNJGEからNG信号が出力され、これを受けて、BRJGEはADJCMPを生成せずに、エラー信号ADJERRを生成する。なお、ADJCMP,ADJERRの生成は、実際には、シリアルパラレル変換回路SPCによるコマンド識別結果や、内部リセット信号RSTd_Nの入力状況を反映して行われる。[5]図5のボーレート設定レジスタREG_BRは、ボーレート設定可否判定部BRJGEから設定完了信号イネーブル信号ADJCMPが生成された際に、平均値演算部AVGCの演算結果ここでは8をラッチする。以上のように、複数ビットの平均値によってボーレートを検出すると共に、各ビットが当該平均値の0.5倍~1.5倍の範囲内に収まっていることを検証することで、高精度なボーレート調整が可能になり、また併せて波形品質の検証を行うことが可能になる。これによって信頼性が高いシリアル通信が実現可能になる。なお、ここでは、0.5倍~1.5倍の範囲としたが、必ずしもこの範囲に限定されるものではなく、ある程度のマージンを考慮して例えば0.6倍~1.4倍等とすることも可能である。《信号の送受信動作》次に、ボーレート調整回路BRCTLによるボーレート設定を用いた信号の送受信動作について説明する。図5に示すように、ボーレート設定レジスタREG_BRで保持されるボーレートは、シリアルパラレル変換回路SPCおよびパラレルシリアル変換回路PSCに入力される。受信動作の際、SPCは、このボーレートによって受信シリアルデータDBGIをサンプリングしながら受信パラレルデータDBGPIに変換し、オンチップデバッグ回路OCDに送出する。具体的には、SPCは、内部に備えたカウンタを用いて、そのカウンタ値がREG_BRのボーレート基準値に達するまで内部クロック信号CLKdをカウントし、当該カウント動作を、スタートビットSTR、データビットDAT、ストップビットSTPの計10ビット分行う。そして、この10ビット分の各カウント動作毎に、カウント値が基準値の中央の値になった時点でサンプリングを行うことで各ビットの値を各ビット期間の中央の位置で判別する。一方、送信動作の際、パラレルシリアル変換回路PSCは、オンチップデバッグ回路OCDからの送信パラレルデータDBGPOを取り込み、それをボーレート設定レジスタREG_BRで保持されるボーレートによって送信シリアルデータDBGO_Nに変換する。具体的には、PSCは、内部に備えたカウンタを用いて、そのカウンタ値がREG_BRのボーレート基準値に達するまで内部クロック信号CLKdをカウントし、当該カウント動作を、スタートビットSTR、データビットDAT、ストップビットSTPの計10ビット分行う。そして、この10ビット分の各カウント動作毎に、DBGPOの各ビットを1ビットずつ順次送出する。《ボーレート調整回路のコマンド別動作》<ボーレート初期設定リセット後のコマンド8’h55>図5において、内部リセット信号RSTd_Nが入力されると、ボーレート調整回路BRCTL具体的にはボーレート設定可否判定部BRJGEはボーレート設定用動作モードに遷移する。図2の外部検査装置EQTSTは、BRCTLBRJGEがボーレート設定用動作モードに遷移したのち、受信シリアルデータDBGIとして、ボーレート調整用コマンド8’h55を出力する。初期状態では、EQTSTと半導体集積回路装置DEV1は動作周波数を互いに認識できず、コマンドの送受信も困難な状態となっている。このため、リセット後にはコマンド8’h55が発行されるというルールのもとで、BRCTLは、図5~図8で述べたようにして、当該リセット後のコマンド8’h55からボーレートを検出し、許容値判定部MXMNJGEによってOK信号が出力された場合に、ボーレート設定レジスタREG_BRの設定を行う。なお、この際に、BRCTLBRJGEは、初期状態ではコマンド認識が困難であるため、図5に示したシリアルパラレル変換回路SPCからのコマンド認識信号を無視して、RSTd_Nのみでボーレート設定用動作モードに遷移する。<ボーレート補正単独のコマンド8’h55>図9は、図5のボーレート調整回路において、ボーレートの誤差の影響の一例を表す説明図である。図9のケース1に示すように、‘H’パルスと‘L’パルスの幅の比率を1:1として、ボーレートの誤差が5未満であれば、データを正しくシリアルパラレル変換することができる。許容される誤差が5である理由のひとつは、図9のケース3に示すように、ストップビットSTPが正しく検出できなくなる恐れがあるためである。ビットの検出をビット期間の中央でサンプリングするため、スタートビットSTRの立ち下がりからストップビットSTPのサンプリングまでは9.5ビット分の期間がある。ここで、送信したいデータのボーレートが設定されているボーレートと-5の誤差があったとすると、ストップビットSTPを検出するときには誤差が蓄積されて1ビット分の50のずれが生じ、STPが正確に検出できなくなってしまう恐れがある。また、許容される誤差が5であるもうひとつの理由は、図9のケース2に示すように、正しいシリアルパラレル変換が困難となる恐れがあるためである。送信したいデータのボーレートが設定されているボーレートと5の誤差があった場合、シリアルパラレル変換が正しく行われずに、異なったデータに変換されてしまう恐れがある。図9のケース2の例では、本来8’h55である筈のデータが8’hADに変換されている。そこで、このような5以上の誤差が生じないように、受信シリアルデータDBGIが入力される毎にボーレート調整回路BRCTLを動作させ、DBGIの値がコマンド8’h55であった場合にはボーレート補正を行う仕組みを備えている。すなわち、図5の内部クロック信号CLKdの周波数は、例えば、温度変動や電圧変動等に応じて経時的に誤差が拡大していく恐れがある。このため、誤差が5以上となる前に外部検査装置EQTSTから半導体集積回路装置DEV1に向けて定期的にコマンド8’h55を単独で発行することでボーレート補正を行えるようにする仕組みを備えている。この際には、図5~図8で述べたようにしてボーレートの補正が行われるが、前述した<ボーレート初期設定>の場合と異なり、ストップビットSTPを検出したのちに事後的にコマンドが8’h55であるか否かを判別する必要がある。このため、図5において、ボーレート調整回路BRCTL具体的にはBRJGEは、SPC又はOCDを介してコマンド識別信号8’h55が発行され、かつFEGCUNTによって5回の立ち下がりエッジが検出され、かつ、MXMNJGEからOK信号が出力された際に、ボーレート設定レジスタREG_BRの更新を行う。この際に、仮に、立ち下がりエッジカウンタFEGCUNTのみによってコマンド8’h55を識別しようとすると、例えば、図10に示すようなデータを受信した際に、コマンド8’h55の誤認識が生じる恐れがある。図10は、図5のボーレート調整回路において、コマンドの誤認識が生じる場合の一例を示す説明図である。図10の例では、半導体集積回路装置DEV1が、8’h33のデータを連続して2回受信している。この2フィールド分の8’h33のデータは、あたかも1フィールド分の8’h55と同じように見えてしまう場合がある。この場合、FEGCUNTが5回の立ち下がりの検出に伴いコマンド8’h55であると誤解釈してしまうことにより、誤ったボーレート補正が行われる恐れがある。そこで、ここでは、シリアルパラレル変換回路SPC又はオンチップデバッグ回路OCDによるコマンド識別結果を併用して用いている。SPCは、それ以前にボーレート設定レジスタREG_BRによって保持されているボーレートを用いたサンプリングによってコマンド識別を行うため、図10のようなコマンドの誤認識を防止できる。なお、立ち下がりエッジカウンタFEGCUNTを設けない場合には、前述した<ボーレート初期設定>の場合のように、SPCの正常の動作が困難となる際に、コマンド8’h55の検証が不十分となる恐れがあるため、この観点でFEGCUNTを設けることが有益となる。なお、内部クロック信号CLKdの周波数誤差が徐々に拡大していくような場合には、前述したように、定期的なボーレート補正を行うことで、正常なシリアル通信を維持できるが、何らかの原因でCLKdの周波数誤差が急激に拡大したような場合にはボーレート補正が困難となり得る。仮に周波数偏移が急減に5を超えた場合には、図9に示したように、ストップビットSTPを正しく認識できないのでエラーを検出することができる。また、周波数偏移が急減に-5を超えた場合には、シリアルパラレル変換回路SPCで8’h55ではないデータとして変換されるので、ボーレートは補正されない。<ボーレート変更コマンド8’h65→コマンド8’h55>図11は、図5のボーレート調整回路において、ボーレートの変更を行いたい場合の動作例を示す説明図である。例えば、外部検査装置EQTST側は、現在設定されているボーレートとは異なるボーレートでデータを送信したい場合がある。<ボーレート補正>で述べたように、5以上のボーレート変更を行いたい場合には、単独のコマンド8’h55でボーレートを変更することはコマンド自体の認識ができなくなるため困難となる。このような場合、図11に示すように、EQTSTから、ボーレートを調整する前提であるコマンド8’h65を変更前のボーレートで送信した後、ボーレート調整用コマンド8’h55を変更後のボーレートで送信する。そうすると、ボーレート調整回路BRCTL具体的にはボーレート設定可否判定部BRJGEは、シリアルパラレル変換回路SPC又はOCDを介してコマンド8’h65を認識したのち、前述した<ボーレート初期設定>における内部リセット信号RSTd_Nの場合と同様に、ボーレート設定用動作モードに遷移する。以降、前述した<ボーレート初期設定>の場合と同様にしてボーレートの変更が行われる。以上のように、3通りのボーレート設定方式を設けることで、外部検査装置EQTSTと半導体集積回路装置DEV1との間で、任意なボーレートを高精度に設定することが可能になる。また、DEV1において低コストな発振回路を用いた場合でも、EQTSTとDEV1との間で正常なシリアル通信を行える状態を十分な期間にわたって維持することが可能になる。この際には、特許文献2に示されるように、各フレームにシンクフィールドを設けてボーレート補正を行う方式ではなく、コマンド8’h55を任意のタイミングで発行することでボーレート補正を行う方式を用いているため、通信効率の向上が図れる。《オンチップデバッグ回路の詳細》図12は、図2のオンチップデバッグ用制御ブロックにおいて、そのオンチップデバッグ回路の主要な動作例を示す状態遷移図である。図12に示すように、オンチップデバッグ回路OCDは、アイドル状態IDLEと、フラッシュアクセス状態FACCSと、JTAGアクセス状態JACCSを備えている。FACCSは、更に、フラッシュコントローラライト状態FCON_WTと、フラッシュコントローラリード状態FCON_RDを備える。JACCSは、更に、5個のJTAGサブアクセス状態JTAG_0~JTAG_4を備える。図3等でも述べたように、オンチップデバッグ回路OCDは、アイドル状態IDLEにおいて、コマンド8’h55又は8’h65が入力された場合やコマンド8’hFFが入力された場合は、当該各コマンドはボーレート調整用のコマンドやリセット用コマンドであるためIDLEを維持する。また、OCDは、IDLEにおいて、コマンド8’h6Aが入力された場合はフラッシュコントローラライト状態FCON_WTに遷移し、コマンド8’hEAが入力された場合はフラッシュコントローラリード状態FCON_RDに遷移する。FCON_WT,FCON_RDでは、図2で述べたように、OCDを介してシリアルインタフェースSIFとフラッシュコントローラFCONフラッシュメモリFMEMとの間のデータ送受信が行われる。図12において、OCDは、FCON_WT又はFCON_RDの期間で予め定められた所定の回数のデータ送受信を行ったのち、アイドル状態IDLEに戻る。また、オンチップデバッグ回路OCDは、アイドル状態IDLEにおいて、コマンド8’bxxxxxx00が入力された場合、JTAGサブアクセス状態JTAG_0に遷移する。その後、コマンド8’bxxxxxx00が順次入力される毎に、JTAG_1→JTAG_2→JTAG_3と遷移し、その後、自動的にJTAG_4に遷移したのちアイドル状態IDLEに戻る。このJTAG_0~JTAG_4では、ボーレート調整用のコマンド8’h55又は8’h65が受け付け可能となっており、JTAGアクセスを行いながら前述したボーレート補正やボーレート変更を行うことも可能となっている。なお、JTAGアクセス状態JACCSでは、図2で述べたように、OCDを介してシリアルインタフェースSIFとCPU内のJTAGIFとの間のデータ送受信が行われる。《フラッシュアクセス状態の詳細》図12等で述べたように、外部検査装置EQTSTから半導体集積回路装置DEV1へコマンド8’h6Aを送信すると、DEV1がフラッシュコントローラライト状態FCON_WTに遷移し、EQTSTからフラッシュコントローラFCONの内部レジスタへ直接ライトアクセスが可能になる。また、EQTSTからDEV1へコマンド8’hEAを送信すると、DEV1がフラッシュコントローラリード状態FCON_RDに遷移し、EQTSTからFCONの内部レジスタへ直接リードアクセスが可能になる。FCONへの処理は、転送データ数が別途設定した所定の回数に達することで完了する。FCONへの処理が完了すると、DEV1は、自動的にこの状態から抜け出し、ボーレートの調整が可能なアイドル状態IDLEに戻る。このように、フラッシュアクセス状態FACCSでは、外部検査装置EQTSTから半導体集積回路装置DEV1内部のJTAG等を経由せずにフラッシュコントローラFCONの内部レジスタに直接アクセスできるために、高速にフラッシュメモリFMEMのライトおよびリードを行うことが可能になる。これによって、デバッグ効率の向上等が図れる。図13は、図2のシリアル通信システムデバッグシステムにおいて、外部検査装置から半導体集積回路装置に向けたフラッシュライトアクセスの動作例を示す説明図である。図3等で述べたように、コマンド8’h55と8’h65はボーレート調整用、ボーレート調整用の前提コマンドと準備されているため、当該コマンドと同じ値のデータをフラッシュメモリFMEMにライトすることが困難となる恐れがある。そこで、図12等で述べたように、フラッシュアクセス状態FACCSを設け、フラッシュアクセスをこの状態の期間で行うことで、ボーレートを調整できないかわりに、図13に示すように、8’h55と8’h65図13の例では8’h55をデータとして扱うことが可能になる。《JTAGアクセス状態の詳細》図14は、図2のシリアル通信システムデバッグシステムにおいて、外部検査装置から半導体集積回路装置に向けたJTAGアクセスの動作例を示す説明図である。図12等に示したように、外部検査装置EQTSTから半導体集積回路装置DEV1へコマンド8’bxxxxxx00を送信することで、DEV1はJTAGアクセス状態JACCSに遷移する。JTAGアクセス状態では、図14に示すように、EQTSTからDEV1へ送信する1フィールドの8ビット情報の中で、下位2ビットをコマンドとして0に設定し、残りの6ビットにTCKビット,TMSビット,TDIビットを2組割り当てる。そして、EQTSTからDEV1に向けて4フィールド分の送信を行うことで、計8ビットのデータTDIをCPUのJTAGIFに向けて送出する。この際に、オンチップデバッグ回路OCDは、この4フィールドに伴う8個Phase0~Phase7のTCKビットに基づき、8サイクル分のTCK信号を生成し、併せて8個のTMSビットおよびTDIビットに基づき、8サイクル分のTMS信号およびTDI信号を生成する。ここでは、TCKビットが‘0’の場合にはTCK信号として立ち上がりエッジを生成し、TCKビットが‘1’の場合にはTCK信号として‘H’レベル信号を生成する。そして、OCDは、この8サイクル分のTCK信号、TMS信号、TDI信号をCPUのJTAGIFに向けて順次送出する。CPUのJTAGIFは、この8サイクル分のTDI信号に応じて8ビット分のTDO信号を送出する。図2において、オンチップデバッグ回路OCDは、この8ビット分のTDO信号を収集し、送信パラレルデータDBGPOとしてシリアルインタフェース回路SIFに送信する。これを受けて、SIFは、パラレルシリアル変換回路PSCを用いて当該DBGPOを送信シリアルデータDBGO_Nに変換し、半導体集積回路装置DEV1は、図14に示すように、外部検査装置EQTSTに向けて当該8ビットのTDO信号を含む1フィールドのシリアルデータを送出する。なお、図14のPhase0,1は図12のJTAG_0に対応し、以降同様にして、図14のPhase6,7は図12のJTAG_3に対応し、図14のDEV1からEQTSTへの送信は図12のJTAG_4に対応する。また、図12から判るように、図14の動作の合間でボーレート補正又はボーレート変更を適宜行うことも可能となっている。このようなJTAGアクセス状態を設けることで、JTAGアクセスを効率的に行うことが可能となり、その結果、デバッグ効率の向上等が図れる。すなわち、図3に示したコマンド割り付けの工夫によって、半導体集積回路装置DEV1は、1フィールド内の下位2ビットのみでJTAGアクセス命令と判別することができる。このため、図14に示したように、外部検査装置EQTSTからDEV1に向けて1フィールド分のシリアルデータを送信することで、残りの6ビットを活用して2サイクル分のJTAG信号TCK,TMS,TDIの情報を通知することが可能になる。一方、このようなコマンド割り付けの工夫を行わない場合には、例えば、別途1フィールド分のシリアルデータを用いてJTAGアクセス状態に一旦遷移し、この状態に遷移したのちにJTAG信号の情報を順次通知するような処理が必要となり、フィールド数が増加する。《リセット機能の詳細》図15は、図2のオンチップデバッグ回路が備えるリセット機能の一例を示す概念図である。図15には、図2の半導体集積回路装置DEV1全体のリセット経路が示されている。図16は、図15における各種リセットソースとその効力範囲の一例を示す説明図である。図15に示すように、DEV1は、そのリセット経路として、リセット制御回路RSTCTLから後段に向けて順に、オンチップデバッグ回路OCD、ウォッチドッグタイマ回路WDT、フラッシュコントローラFCON、プロセッサユニットCPU、各種周辺回路PERIを備えている。WDTは、所定の時間が経過した際に後段に向けて強制的にリセット信号を生成し、加えてリセット信号が入力された際にも後段に向けてリセット信号を生成する。PERIは、特に限定はされないが、例えば図1のアナログ回路ブロックANLG_BKやディジタル回路ブロックDGTL_BK等に該当する。リセット制御回路RSTCTLは、外部端子PN_RSTからリセット信号RSTが入力された場合か、又はパワーオンリセット回路PORからリセット信号が生成された場合に内部リセット信号RSTd_Nを出力する。ここでは、負論理のリセット信号を前提として、RSTCTLは、アンド演算を用いてRSTd_Nを出力している。PORは、電源投入を検出した際にリセット信号を生成する。オンチップデバッグ回路OCDは、RSTCTLからRSTd_Nが入力された場合か、又は図3等に示したように外部検査装置EQTSTからコマンド8’hFFが入力された場合に後段に向けてリセット信号を生成する。例えば、デバッグを行う過程で、半導体集積回路装置DEV1全体をリセットしたいような場合がある。このような場合、通常、JTAGインタフェースがリセット機能を備えているため、外部検査装置EQTSTからCPU内のJTAGIFに向けて所定のアクセスを行うことが考えられる。しかしながら、この場合、図16に示すように、当該リセットの効力範囲は、CPU並びにその後段の各種周辺回路PERIとなり、フラッシュコントローラFCON等を含めたDEV1全体には及ばない。一方、DEV1全体をリセットするため、外部端子PN_RSTにリセット信号RSTを印加することが考えられる。この場合、例えば、PN_RSTの直近に接続されたリセットボタン等を手動で押すような作業が必要となるため、特に、DEV1とEQTSTの距離が離れた状態でデバッグを行うような場合にデバッグ効率が低下する恐れがある。そこで、図15に示すように、オンチップデバッグ回路OCDがコマンド8’hFFによるリセット機能を備えることで、外部からのリセット信号RSTの場合とほぼ同様に、ウォッチドッグタイマ回路WDTやフラッシュコントローラFCON等を含めて半導体集積回路装置DEV1のほぼ全体をリセットすることが可能になる。この際には、外部検査装置EQTSTからDEV1に向けてコマンドを送信すればよいため、ユーザにとっての利便性が高く、デバッグ効率の向上等が図れる。以上、本実施の形態の電子装置を用いることで、代表的には、高精度なボーレート調整を実現することが可能になる。また、水晶振動子等の外部部品が特に必要とされず、1本のシリアル配線を用いてデバッグを行えるため、デバッグコストの低減が図れる。さらに、デバッグに際して、シリアル通信の際の通信効率の向上を含めてデバッグ効率の向上が図れる。なお、ここでは、デバッグシステムを例として説明を行ったが、勿論、これに限定されるものではなく、一般的なシリアル通信システムUARTに対して同様に適用することが可能である。この場合においても同様に、高精度なボーレート調整の実現や、シリアル通信システムのコスト低減や、シリアル通信システムの通信効率の向上などといった効果が得られる。《各種変形例》<ボーレート調整回路の動作>これまでの説明では、図6等に示したように、スタートビット1ビットSTRとそれに続くデータビット8ビットDATによる計9ビットの平均値を用いてボーレートの算出を行ったが、特にこれに限定されるものではなく、計2ビット以上の平均値であればよい。例えば、1ビットのSTRとそれに続く7ビットのDATによる計8ビットの平均値を用いると、シフトレジスタ等によって除算処理を実現できるため、計9ビットを用いる場合と比較して除算処理の容易化や除算回路の面積低減等が図れる。この観点で、計4ビットや計2ビット等を用いてもよい。ただし、ビット数は多い方がボーレートの検出精度が高まるため、前述した除算処理も勘案すると、特に計9ビットか計8ビットとすることが望ましい。<コマンド割り付け>図17は、図6の変形例を示す説明図である。図17に示すように、ボーレート調整用のコマンドは、必ずしも8’h55に限定されるものではなく、図17に示すようにコマンド8’h33や、あるいはその他の値であってもよい。例えば、図17の例のように、コマンド8’h33の場合には、予めボーレート調整回路BRCTL例えば図5のビットカウンタBITCUNTに、スタートビットSTR以降のエッジ間のクロックサイクル数が2である旨を記憶させておけばよい。ただし、より多くのビット数の平均値を算出することで高精度化を図る観点からは、8’h55であることが望ましい。また、その他のコマンド割り付けも、特に図3の値に限定されるものではなく、適宜、任意の値に変更することが可能である。ただし、JTAGアクセスについては、前述したように、8ビット中の一部のビットによって特定可能となるようにコマンド割り付けを行うことが望ましい。また、ここでは、オンチップデバッグ回路OCDを介してダイレクトアクセスが可能なモジュールとしてフラッシュコントローラFCONやJTAGを示したが、更にその他のモジュールを追加することも可能である。この場合、当該その他のモジュールに対しても同様にして適宜コマンド割り付けを行い、図12等に示したような内部状態を設定すればよい。<半導体集積回路装置の構成>図18は、図2の半導体集積回路装置を変形した構成例を示すブロック図である。図18に示す半導体集積回路装置DEV2は、図2のDEV1と比較して、DEV2内に発振回路やリセット制御回路を備えずに、外部に発振回路OSC’やリセット制御回路RSTCTL’を備えた構成となっている。すなわち、例えば、シリアル通信システム内において、半導体集積回路装置DEV2の外部に予めクロック信号CLKを生成する回路やリセット信号RSTを生成する回路等が備わっている場合、当該CLK,RSTを利用してシリアル通信を行ってもよい。以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。"