JP5891758B2 - 電子装置 - Google Patents

電子装置 Download PDF

Info

Publication number
JP5891758B2
JP5891758B2 JP2011266856A JP2011266856A JP5891758B2 JP 5891758 B2 JP5891758 B2 JP 5891758B2 JP 2011266856 A JP2011266856 A JP 2011266856A JP 2011266856 A JP2011266856 A JP 2011266856A JP 5891758 B2 JP5891758 B2 JP 5891758B2
Authority
JP
Japan
Prior art keywords
baud rate
electronic device
command
circuit
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011266856A
Other languages
English (en)
Other versions
JP2013120979A (ja
Inventor
亜由美 広松
亜由美 広松
雅弘 片山
雅弘 片山
山崎 尊永
尊永 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanken Electric Co Ltd
Original Assignee
Sanken Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanken Electric Co Ltd filed Critical Sanken Electric Co Ltd
Priority to JP2011266856A priority Critical patent/JP5891758B2/ja
Priority to TW101143449A priority patent/TWI475864B/zh
Priority to CN201210511124.7A priority patent/CN103150283B/zh
Priority to US13/692,506 priority patent/US8782300B2/en
Publication of JP2013120979A publication Critical patent/JP2013120979A/ja
Application granted granted Critical
Publication of JP5891758B2 publication Critical patent/JP5891758B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0262Arrangements for detecting the data rate of an incoming signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0331Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop with a digital phase-locked loop [PLL] processing binary samples, e.g. add/subtract logic for correction of receiver clock

Description

本発明は、電子装置に関し、特に、ボーレートを設定可能なシリアル通信回路を備えた電子装置に適用して有効な技術に関する。
例えば、特許文献1には、データのボーレート(例えば76kbps)を表すコマンド(例えば8’h8C)が予め設けられ、当該コマンドに基づくボーレートを用いて送受信間でデータ通信を行う方法が示されている。送信側は、ボーレートを76kbpsに設定したいときはシリアルデータ8’h8Cを送信し、受信側は、それを復号ならびに解読・認識することで自身のボーレートを76kbpsに設定する。
また、特許文献2には、シリアル通信におけるシンクフィールドの異常波形を検出するボーレートエラー検出回路が示されている。当該回路は、まず、シリアルデータ中のエッジに応答してエッジ検出信号を生成し、エッジ検出信号に基づいてスタートビットのビット幅を計測し、計測されたビット幅を表す期待値を生成する。次いで、スタートビット以降のエッジ間の幅を順次計測し、期待値との誤差が許容範囲を超える場合に異常とみなす。
特開平11−272571号公報 特開2011−35473号公報
例えば、MCU(Micro Control Unit)等の半導体集積回路装置(ICチップ)を備えた組み込み装置(電子装置)のデバッグ方式として、ICチップ内に設けられたJTAG(Joint Test Action Group)インタフェース等を利用する方式が知られている。当該方式を用いると、例えばTCK,TDI,TDO,TMS等の複数の外部端子を持つJTAGインタフェースを介して外部の検査装置からICチップ内のプロセッサ等にアクセスすることができ、プロセッサ等の内部状態を適宜確認しながらプログラムデバッグ等を行うことが可能になる。ただし、JTAGインタフェースを用いた場合、複数の外部端子が必要とされるため、ICチップ(ならびに電子装置)の回路面積(コスト)が増大する恐れがある。このため、UART(Universal Asynchronous Receiver Transmitter)等を代表とするシリアル通信回路を半二重方式の1本の通信線を介してこのようなデバッグ機能を実現することが望まれる。
UARTは、非同期でシリアル通信を行う方式であるため、予めICチップ(被検査装置)側と検査装置側とでボーレートを設定後に通信を行う必要がある。すなわち、検査装置と被検査装置は、それぞれ独立した基準クロック生成回路を備えており、単純に接続した状態では互いに周波数等が異なるクロックで動作しており、互いにクロック周波数を認識できる状態にはなっていない。そこで、例えば、特許文献1のようにボーレートを表す共通のコマンドを用いて、検査装置と被検査装置の間で同じボーレートを設定する方式が考えられる。しかしながら、当該方式は、受信側と送信側の基準クロックが共に安定しており、かつ、お互いの基準クロック周波数が事前に判っていることが必要となる。お互いの基準クロック周波数が判らない場合には、最初のボーレート設定用コマンドの送受信が正しく行われない恐れがある。
このような事態を防止するため、シリアルデータ内に予めシンクフィールドを設け、受信側が、送信側から送出されたシンクフィールドのパルス幅を計測することでボーレートを自動調整するような方式が考えられる。特許文献2には、このようなシンクフィールド内に異常波形が有った場合にそれを検出する回路が示されている。当該回路は、基準となるボーレートをスタートビットで測定し、それを期待値としてスタートビット以降に順次計測したエッジ間隔(パルス幅)の良否を判別することで異常波形を検出している。しかしながら、データビットではなく、スタートビットでボーレートを調整しようとすると、例えばシリアルデータの立ち上がり/立ち下がりのエッジの傾きが異なる場合、スタートビット以降のエッジ間幅がスタートビットと異なってしまうので、ボーレートの調整精度が低下する恐れがある。
また、特許文献2では、LIN(Local Interconnect Network)等のシリアル通信プロトコルが用いられる。LINプロトコルでは、1個のフレームがヘッダとレスポンスによって構成され、当該ヘッダ内に前述したシンクフィールド(8’h55のデータ)が含まれている。この場合、フレームを伝送する度にシンクフィールドによるボーレート調整が行われることになるが、例えば前述したようなICチップと検査装置との間のデバッグ用通信の過程で、前述したようなボーレート調整を毎回実行することは、通信効率の低下に繋がる。
例えば、ICチップ内に水晶発振回路を代表とする高精度な基準クロック生成回路を搭載すれば、ボーレート調整を一度行うことで送受信間の周波数設定誤差が小さい状態を比較的長時間にわたって維持できるため、通信効率の改善を図れる場合がある。ただし、デバッグコスト等を低減するためには、水晶振動子等の外付け部品が必要とされる水晶発振回路等を用いずに、ICチップ内蔵の比較的低精度な基準クロック生成回路を用いてデバッグ機能を実現することが望ましい。しかしながら、この場合、送受信間の周波数設定誤差が徐々に拡大し、ボーレートの再調整を行わないことには正常な通信状態を持続できなくなる恐れがある。このように、通信効率と向上とボーレート調整の高精度化はトレードオフの関係となる場合があり、そのバランスを考慮したシリアル通信方式の実現が望まれる。
本発明は、このようなことを鑑みてなされたものであり、その目的の一つは、シリアル通信回路を備えた電子装置において、高精度なボーレート調整を実現することにある。本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される課題を解決するための手段のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
本発明の一実施の形態による電子装置は、通信機能を有する他の装置とシリアル通信を行うものである。当該電子装置は、ボーレート調整回路を含み他の装置とシリアル通信を行うシリアルインタフェース回路と、内部クロック信号を生成するクロック生成回路と、を備え、他の装置に接続された状態で他の装置からのシリアル信号を受信するように構成される。シリアル信号は、1ビットのスタートビットと、これに続く複数ビットのデータビットと、これに続く1ビットのストップビットで構成される。ここで、ボーレート調整回路は、受信したシリアル信号の各ビットの時間幅を内部クロック信号によるカウント動作によって測定し、その平均値を算出すると共に、その中の最大値と最小値を検出する。また、ボーレート調整回路は、当該平均値に基づいて最大許容値と最小許容値を演算し、当該最大値と最小値が当該最大許容値と最小許容値の範囲内であるか否かを判別する。そして、範囲内である場合、ボーレート調整回路は、前述した平均値に対応するボーレートを設定し、当該電子装置は、他の装置との間のシリアル通信を当該設定したボーレートで実行する。
前記一つの実施の形態によれば、シリアル通信回路を備えた電子装置において、高精度なボーレート調整が実現可能になる。
本発明の一実施の形態による電子装置において、それに含まれる半導体集積回路装置の構成例を示すブロック図である。 図1の半導体集積回路装置を含めたシリアル通信システム(デバッグシステム)の主要部の構成例を示すブロック図である。 図2のオンチップデバッグ用制御ブロックが識別するコマンドの一例を示す説明図である。 図2のシリアル通信システム(デバッグシステム)において、そのシリアル通信データのフォーマットの一例を示す説明図である。 図2の半導体集積回路装置において、そのボーレート調整回路の詳細な構成例を示すブロック図である。 図5のボーレート調整回路におけるクロックカウンタおよび平均値演算部の動作例を示す説明図である。 図6で算出した基準値がエラーとなる場合の一例を示す説明図である。 (a)、(b)は、図5のボーレート調整回路の詳細な動作例を示すものであり、(a)はエラーが無い場合の波形図、(b)はエラーがある場合の波形図である。 図5のボーレート調整回路において、ボーレートの誤差の影響の一例を表す説明図である。 図5のボーレート調整回路において、コマンドの誤認識が生じる場合の一例を示す説明図である。 図5のボーレート調整回路において、ボーレートの変更を行いたい場合の動作例を示す説明図である。 図2のオンチップデバッグ用制御ブロックにおいて、そのオンチップデバッグ回路の主要な動作例を示す状態遷移図である。 図2のシリアル通信システム(デバッグシステム)において、外部検査装置から半導体集積回路装置に向けたフラッシュライトアクセスの動作例を示す説明図である。 図2のシリアル通信システム(デバッグシステム)において、外部検査装置から半導体集積回路装置に向けたJTAGアクセスの動作例を示す説明図である。 図2のオンチップデバッグ回路が備えるリセット機能の一例を示す概念図である。 図15における各種リセットソースとその効力範囲の一例を示す説明図である。 図6の変形例を示す説明図である。 図2の半導体集積回路装置を変形した構成例を示すブロック図である。
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
また、実施の形態の各機能ブロックを構成する回路素子は、特に制限されないが、公知のCMOS(相補型MOSトランジスタ)等の集積回路技術によって、単結晶シリコンのような半導体基板上に形成される。なお、実施の形態では、MISFET(Metal Insulator Semiconductor Field Effect Transistor)の一例としてMOSFET(Metal Oxide Semiconductor Field Effect Transistor)(MOSトランジスタと略す)を用いるが、ゲート絶縁膜として非酸化膜を除外するものではない。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
《半導体集積回路装置の全体構成》
図1は、本発明の一実施の形態による電子装置において、それに含まれる半導体集積回路装置の構成例を示すブロック図である。図1に示す半導体集積回路装置DEV1は、特に限定はされないが、例えば一つの半導体チップ(ICチップ)によって構成されたMCU(Micro Control Unit)等となっている。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のプログラム実行時等で用いられるワーク用のRAM(Random Access Memory)等も含まれている。
クロック制御回路ブロック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は、JTAG(Joint Test Action Group)規格に基づいて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’bxxxxxx00」(x:ドントケア)を受信すると、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ビット分のクロックカウント数は(7+6+7+7+6+7+7+7+6)であり、それを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’レベルを出力する。なお、詳細は省略するが、エラー通知信号は、このようなボーレート調整に失敗した時以外にも、ストップビットが正しく検出されなかった時や、送受信を同時に行いデータ同士がぶつかった時等にも生成される。
図8(a)、図8(b)は、図5のボーレート調整回路の詳細な動作例を示すものであり、図8(a)はエラーが無い場合の波形図、図8(b)はエラーがある場合の波形図である。図8(a)、図8(b)に示すように、図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ビット当りのクロックカウント値の平均値を演算する。図8(a)の例では、9ビット分のクロックカウント値は(8+7+8+7+8+8+7+8+8)であり、それをBITCUNTのカウント値(ここでは9)で除算し、四捨五入を行った結果、「8」が得られる。
[3]また、図7に示したように、受信シリアルデータDBGIの‘L’パルスと‘H’パルスの比が3:1(または1:3)以上になると、データの正しいサンプリングやストップビットSTPの検出が困難となる恐れがある。そこで、図8(a)に示すように、図5の最大値検出部MAXDは、クロックカウンタCKCUNTのカウント値とビットカウンタBITCUNTによるエッジ検出信号に基づき各ビット毎のCKCUNTのカウント値を認識し、その中の最大値(ここでは「8」)(max)を検出ならびに保持する。同様に、図5の最小値検出部MINDは、CKCUNTのカウント値とBITCUNTによるエッジ検出信号に基づき各ビット毎のCKCUNTのカウント値を認識し、その中の最小値(ここでは「7」)(min)を検出ならびに保持する。
また、図5の許容値判定部MXMNJGEは、図8(a)に示すように、平均値演算部AVGCで得られた値(ここでは「8」)に基づき、その0.5倍を最小許容値(ここでは「4」)(cycle_count_min)、1.5倍を最大許容値(ここでは「C」)(cycle_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」であることを検証するために設けられる。
図8(a)の場合には、MAXDの検出値(「8」)とMINDの検出値(「7」)が共に最小許容値(「4」)と最大許容値(「C」)の範囲内に収まっているため、許容値判定部MXMNJGEからOK信号が出力され、これを受けて、ボーレート設定可否判定部BRJGEは、設定完了信号(イネーブル信号)ADJCMPを生成する。一方、図8(b)の場合には、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は、BRCTL(BRJGE)がボーレート設定用動作モードに遷移したのち、受信シリアルデータDBGIとして、ボーレート調整用コマンド「8’h55」を出力する。初期状態では、EQTSTと半導体集積回路装置DEV1は動作周波数を互いに認識できず、コマンドの送受信も困難な状態となっている。このため、リセット後にはコマンド「8’h55」が発行されるというルールのもとで、BRCTLは、図5〜図8で述べたようにして、当該リセット後のコマンド「8’h55」からボーレートを検出し、許容値判定部MXMNJGEによってOK信号が出力された場合に、ボーレート設定レジスタREG_BRの設定を行う。なお、この際に、BRCTL(BRJGE)は、初期状態ではコマンド認識が困難であるため、図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を利用してシリアル通信を行ってもよい。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
本実施の形態による電子装置は、特に、精度の低い発振器を用いたMCU(Micro Control Unit)等の半導体集積回路装置を含んだ製品に適用して有益なものであり、これに限らず、非同期シリアル通信機能を備えた製品全般に対して広く適用可能である。具体的には、例えば、JTAG機能やフラッシュメモリ等を搭載した半導体集積回路装置、ならびに当該半導体集積回路装置を備えた通信装置等が挙げられる。
ADJCMP 設定完了信号(イネーブル信号)
ADJERR エラー信号
ANLG_BK アナログ回路ブロック
AVGC 平均値演算部
BITCUNT ビットカウンタ
BRCTL ボーレート調整回路
BRJGE ボーレート設定可否判定部
BS 内部バス
CKCUNT クロックカウンタ
CLK クロック信号
CLKCTL クロック制御回路ブロック
CPU プロセッサユニット
DAT データビット
DBGI 受信シリアルデータ
DBGO 送信シリアルデータ
DBGPI 受信パラレルデータ
DBGPO 送信パラレルデータ
DEV 半導体集積回路装置
DGTL_BK ディジタル回路ブロック
EQTST 外部検査装置
FCON フラッシュコントローラ
FEGCUNT 立ち下がりエッジカウンタ
FMEM フラッシュメモリ
GND 接地電源電圧
IBF 入力バッファ回路
IRC 自励発振回路
JTAGIF JTAGインタフェース回路
MAXD 最大値検出部
MDCTL モード制御回路
MIND 最小値検出部
MN NMOSトランジスタ
MXMNJGE 許容値判定部
OCD オンチップデバッグ回路
OCDBK オンチップデバッグ用制御ブロック
OSC 発振回路
PERI 各種周辺回路
PLL 位相同期回路
PN 外部端子
POR パワーオンリセット回路
PSC パラレル・シリアル変換回路
R 抵抗
REG_BR ボーレート設定レジスタ
RSTCTL リセット制御回路
SIF シリアルインタフェース回路
SPC シリアル・パラレル変換回路
STP ストップビット
STR スタートビット
VCC 電源電圧
WDT ウォッチドッグタイマ回路
WR_DBG シリアル配線

Claims (16)

  1. 通信機能を有する他の装置とシリアル通信を行う電子装置であって、
    前記電子装置は、ボーレート調整回路を含み前記他の装置とシリアル通信を行うシリアルインタフェース回路と、内部クロック信号を生成するクロック生成回路と、を備えてなり、前記他の装置に接続された状態で前記他の装置からのシリアル信号を受信するように構成され、
    前記シリアル信号は、1ビットのスタートビットと、これに続く複数ビットのデータビットと、これに続く1ビットのストップビットで構成されており、
    前記ボーレート調整回路は、
    (a)受信した前記シリアル信号を構成する各ビットの時間幅を前記クロック生成回路で生成された前記内部クロック信号によるカウント動作によって測定する処理と、
    (b)前記測定された各ビットの時間幅の最大値と最小値を検出する処理と、
    (c)前記測定された各ビットの時間幅の平均値を演算する処理と、
    (d)前記各ビットの時間幅の平均値に基づいて最大許容値と最小許容値を演算する処理と、
    (e)前記最大値と前記最小値が前記最大許容値と前記最小許容値の範囲内であるか否かを判別する処理と、
    (f)前記最大値と前記最小値が前記範囲内である場合に、前記平均値に対応するボーレートを設定する処理と、を実行し、
    前記電子装置は、前記他の装置との間のシリアル通信を前記設定したボーレートで実行するように構成されてなる電子装置。
  2. 請求項1記載の電子装置において、
    前記電子装置は、さらに、前記設定したボーレートに基づいて受信した前記シリアル信号内の前記データビットの値が予め規定したボーレート調整用コマンドの値であるか否かを識別するコマンド識別部を備え、
    前記ボーレート調整回路は、
    前記シリアル信号を受信した際に、当該シリアル信号に対する前記コマンド識別部の識別結果に関わらずに前記(a)〜(f)処理を実行する第1ボーレート設定モードと、
    前記シリアル信号を受信した際に、前記(a)〜(e)処理を実行し、さらに、前記コマンド識別部が当該シリアル信号の中から前記ボーレート調整用コマンドを識別した場合に前記(f)処理を実行する第2ボーレート設定モードとを備えてなる電子装置。
  3. 請求項2記載の電子装置において、
    前記ボーレート調整回路は、リセット信号が入力された際に、その後に受信した、スタートビット、ストップビットならびにそれらの間のデータビットからなる1個の前記シリアル信号を対象に前記第1ボーレート設定モードでの処理を実行するように構成されてなる電子装置。
  4. 請求項3記載の電子装置において、
    前記コマンド識別部は、さらに、前記設定したボーレートに基づいて受信した前記シリアル信号内の前記データビットの値が予め規定したボーレート調整用の前提コマンドの値であるか否かを識別し、
    前記ボーレート調整回路は、前記コマンド識別部が前記ボーレート調整用の前提コマンドを識別した際に、その後に受信した、スタートビット、ストップビットならびにそれらの間のデータビットからなる1個の前記シリアル信号を対象に前記第1ボーレート設定モードでの処理を実行するように構成されてなる電子装置。
  5. 請求項3記載の電子装置において、
    前記クロック生成回路は、リングオシレータ回路であるように構成されてなる電子装置。
  6. 請求項3記載の電子装置において、
    前記(d)処理での前記最大許容値は、前記平均値の1.5倍であり、
    前記(d)処理での前記最小許容値は、前記平均値の0.5倍であるように構成されてなる電子装置。
  7. 請求項3記載の電子装置において、
    前記電子装置は、さらに、JTAG規格に基づくJTAGインタフェース回路と、プロトコル変換部とを備え、
    前記コマンド識別部は、さらに、前記設定したボーレートに基づいて受信した前記シリアル信号内の前記データビットの値が予め規定したJTAGアクセス用コマンドの値であるか否かを識別し、
    前記プロトコル変換部は、前記コマンド識別部が前記JTAGアクセス用コマンドを識別した際に、前記シリアル信号を前記JTAGインタフェース回路で必要とされる複数の信号に変換するように構成されてなる電子装置。
  8. 請求項7記載の電子装置において、
    前記電子装置は、さらに、不揮発性メモリと、前記不揮発性メモリへの書き込み/読み出し動作を制御するメモリコントローラとを備え、
    前記コマンド識別部は、さらに、前記設定したボーレートに基づいて受信した前記シリアル信号内の前記データビットの値が予め規定した不揮発性メモリアクセス用コマンドの値であるか否かを識別し、
    前記電子装置は、前記コマンド識別部が前記不揮発性メモリアクセス用コマンドを識別した際に、前記シリアル信号を前記メモリコントローラに伝送し、
    前記コマンド識別部は、前記電子装置による前記シリアル信号の前記メモリコントローラへの伝送が予め定めた所定の回数行われている間、当該シリアル信号を対象とする各コマンドの識別処理を一時的に停止するように構成されてなる電子装置。
  9. 外部検査装置とシリアル通信で接続され、前記外部検査装置と電子装置に搭載された内部回路との間での通信を可能にする構成を備えた電子装置であって、
    前記電子装置は、前記電子装置としての機能を実現する内部回路と、内部クロック信号を生成するクロック生成回路と、前記内部回路とのシリアル通信を実現する制御回路ブロックとを含み、前記内部回路による前記電子装置としての機能を実現する第1動作モードと、前記外部検査装置によるシリアル通信下での前記電子装置の前記内部回路へのアクセスを可能にする第2動作モードとが設定可能に構成されてなり、
    前記制御回路ブロックは、前記外部検査装置との間でシリアル通信を行う通信用端子と、前記通信用端子に接続されるシリアルインタフェース回路と、前記シリアルインタフェース回路と前記電子装置の前記内部回路との通信を制御する制御回路と、を備え、前記第2動作モードの際に前記外部検査装置に接続された状態で前記外部検査装置からのシリアル信号を受信するように構成され、
    前記シリアル信号は、1ビットのスタートビットと、これに続く複数ビットのデータビットと、これに続く1ビットのストップビットで構成されており、
    前記シリアルインタフェース回路は、
    前記通信用端子で受信した前記シリアル信号をパラレル信号に変換するシリアル・パラレル変換回路と、
    前記内部回路から受信したパラレル信号をシリアル信号に変換し、前記通信用端子に向けて送信するパラレル・シリアル変換回路と、
    前記シリアル・パラレル変換回路および前記パラレル・シリアル変換回路の動作タイミングを設定するボーレート調整回路とを備え、
    前記ボーレート調整回路は、
    (a)前記第2動作モードに設定された状態で前記通信用端子を介して受信した前記シリアル信号を対象に、当該シリアル信号を構成する各ビットの時間幅を前記クロック生成回路で生成された前記内部クロック信号によるカウント動作によって測定する処理と、
    (b)前記測定された各ビットの時間幅の最大値と最小値を検出する処理と、
    (c)前記測定された各ビットの時間幅の平均値を演算する処理と、
    (d)前記各ビットの時間幅の平均値に基づいて最大許容値と最小許容値を演算する処理と、
    (e)前記最大値と前記最小値が前記最大許容値と前記最小許容値の範囲内であるか否かを判別する処理と、
    (f)前記最大値と前記最小値が前記範囲内である場合に、前記平均値に対応するボーレートを設定する処理と、を実行し、
    前記制御回路ブロックは、前記外部検査装置との間の前記通信用端子を介したシリアル通信を前記設定したボーレートで実行するように構成されてなる電子装置。
  10. 請求項9記載の電子装置において、
    前記制御回路は、前記設定したボーレートに基づいて受信した前記シリアル信号内の前記データビットの値が予め規定したボーレート調整用コマンドの値であるか否かを識別するコマンド識別部を含み、
    前記ボーレート調整回路は、
    前記シリアル信号を受信した際に、当該シリアル信号に対する前記コマンド識別部の識別結果に関わらずに前記(a)〜(f)処理を実行する第1ボーレート設定モードと、
    前記シリアル信号を受信した際に、前記(a)〜(e)処理を実行し、さらに、前記コマンド識別部が当該シリアル信号の中から前記ボーレート調整用コマンドを識別した場合に前記(f)処理を実行する第2ボーレート設定モードとを備えてなる電子装置。
  11. 請求項10記載の電子装置において、
    前記ボーレート調整回路は、リセット信号が入力された際に、その後に受信した、スタートビット、ストップビットならびにそれらの間のデータビットからなる1個の前記シリアル信号を対象に前記第1ボーレート設定モードでの処理を実行するように構成されてなる電子装置。
  12. 請求項11記載の電子装置において、
    前記コマンド識別部は、さらに、前記設定したボーレートに基づいて受信した前記シリアル信号内の前記データビットの値が予め規定したボーレート調整用の前提コマンドの値であるか否かを識別し、
    前記ボーレート調整回路は、前記コマンド識別部が前記ボーレート調整用の前提コマンドを識別した際に、その後に受信した、スタートビット、ストップビットならびにそれらの間のデータビットからなる1個の前記シリアル信号を対象に前記第1ボーレート設定モードでの処理を実行するように構成されてなる電子装置。
  13. 請求項11記載の電子装置において、
    前記クロック生成回路は、リングオシレータ回路であるように構成されてなる電子装置。
  14. 請求項11記載の電子装置において、
    前記(d)処理での前記最大許容値は、前記平均値の1.5倍であり、
    前記(d)処理での前記最小許容値は、前記平均値の0.5倍であるように構成されてなる電子装置。
  15. 請求項11記載の電子装置において、
    前記内部回路は、JTAG規格に基づくJTAGインタフェース回路を含んだプロセッサ回路を含み、
    前記制御回路は、さらに、プロトコル変換部を備え、
    前記コマンド識別部は、さらに、前記設定したボーレートに基づいて受信した前記シリアル信号内の前記データビットの値が予め規定したJTAGアクセス用コマンドの値であるか否かを識別し、
    前記プロトコル変換部は、前記コマンド識別部が前記JTAGアクセス用コマンドを識別した際に、前記シリアル信号を前記JTAGインタフェース回路で必要とされる複数の信号に変換するように構成されてなる電子装置。
  16. 請求項15記載の電子装置において、
    前記内部回路は、さらに、不揮発性メモリと、前記不揮発性メモリへの書き込み/読み出し動作を制御するメモリコントローラとを備え、
    前記コマンド識別部は、さらに、前記設定したボーレートに基づいて受信した前記シリアル信号内の前記データビットの値が予め規定した不揮発性メモリアクセス用コマンドの値であるか否かを識別し、
    前記制御回路は、前記コマンド識別部が前記不揮発性メモリアクセス用コマンドを識別した際に、前記シリアル信号を前記メモリコントローラに伝送し、
    前記コマンド識別部は、前記電子装置による前記シリアル信号の前記メモリコントローラへの伝送が予め定めた所定の回数行われている間、当該シリアル信号を対象とする各コマンドの識別処理を一時的に停止するように構成されてなる電子装置。
JP2011266856A 2011-12-06 2011-12-06 電子装置 Active JP5891758B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2011266856A JP5891758B2 (ja) 2011-12-06 2011-12-06 電子装置
TW101143449A TWI475864B (zh) 2011-12-06 2012-11-21 Electronic device
CN201210511124.7A CN103150283B (zh) 2011-12-06 2012-12-03 电子装置
US13/692,506 US8782300B2 (en) 2011-12-06 2012-12-03 Electronic apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011266856A JP5891758B2 (ja) 2011-12-06 2011-12-06 電子装置

Publications (2)

Publication Number Publication Date
JP2013120979A JP2013120979A (ja) 2013-06-17
JP5891758B2 true JP5891758B2 (ja) 2016-03-23

Family

ID=48524847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011266856A Active JP5891758B2 (ja) 2011-12-06 2011-12-06 電子装置

Country Status (4)

Country Link
US (1) US8782300B2 (ja)
JP (1) JP5891758B2 (ja)
CN (1) CN103150283B (ja)
TW (1) TWI475864B (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011106055A1 (en) 2010-02-23 2011-09-01 Rambus Inc. Coordinating memory operations using memory-device generated reference signals
CN103718158B (zh) * 2011-07-19 2016-10-19 松下知识产权经营株式会社 多处理器系统
JP5891758B2 (ja) * 2011-12-06 2016-03-23 サンケン電気株式会社 電子装置
JP6241366B2 (ja) * 2014-05-21 2017-12-06 トヨタ自動車株式会社 制御装置
CN104008080B (zh) * 2014-06-17 2017-06-27 杭州士兰微电子股份有限公司 串行数据解析方法和装置
CN105763042B (zh) * 2014-12-19 2018-11-16 三垦电气株式会社 控制装置以及电力转换装置
US10503134B2 (en) 2016-07-29 2019-12-10 Semiconductor Components Industries, Llc Motor driver with multipurpose pin
CN106788920B (zh) * 2016-12-19 2019-08-23 珠海格力电器股份有限公司 一种波特率偏差检测方法、装置及空调室内机
CN109495408B (zh) * 2017-09-13 2021-06-22 瑞昱半导体股份有限公司 波特率跟踪及补偿装置与方法
CN111459727B (zh) * 2019-12-25 2023-07-14 山东有人物联网股份有限公司 串口波特率最大无错容忍范围的智能自动化测试系统及测试方法
TWI782634B (zh) * 2021-07-22 2022-11-01 新唐科技股份有限公司 晶片傳送速度偵測方法及電子裝置
CN114070670A (zh) * 2021-10-21 2022-02-18 杭州奥能电源设备有限公司 一种基于rs485环形网络的分布式系统及操作方法
CN114490487B (zh) * 2022-02-16 2023-12-19 瀚云科技有限公司 一种串口信息获取方法、装置、设备及存储介质
US20230318788A1 (en) * 2022-04-01 2023-10-05 AyDeeKay LLC dba Indie Semiconductor Single-Thread Detection of Valid Synchronization Headers

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4972368A (en) * 1988-03-04 1990-11-20 Stallion Technologies, Pty. Ltd. Intelligent serial I/O subsystem
US5119403A (en) * 1991-04-09 1992-06-02 Racal Data Communications Inc. Superframes
US5649122A (en) * 1994-06-24 1997-07-15 Startech Semiconductor, Inc. Universal asynchronous receiver/transmitter with programmable xon/xoff characters
US6307868B1 (en) * 1995-08-25 2001-10-23 Terayon Communication Systems, Inc. Apparatus and method for SCDMA digital data transmission using orthogonal codes and a head end modem with no tracking loops
US5923705A (en) * 1996-07-18 1999-07-13 Qualcomm Incorporated UART based autobauding without data loss
US6263033B1 (en) * 1998-03-09 2001-07-17 Advanced Micro Devices, Inc. Baud rate granularity in single clock microcontrollers for serial port transmissions
JPH11272571A (ja) 1998-03-23 1999-10-08 Tietech Co Ltd ボーレートの自動調整方法
US6381532B1 (en) * 2000-09-20 2002-04-30 Visteon Global Technologies, Inc. Queued port data controller for microprocessor-based engine control applications
JP3580242B2 (ja) * 2000-10-25 2004-10-20 セイコーエプソン株式会社 シリアル/パラレル変換回路、データ転送制御装置及び電子機器
CN1204722C (zh) * 2002-01-26 2005-06-01 深圳市朗科科技有限公司 一种用于数据处理系统的无线数据通信方法及装置
TWI230346B (en) * 2003-10-09 2005-04-01 Inventec Corp Method and system for collecting information data
US7250987B2 (en) * 2004-02-06 2007-07-31 Broadcom Corporation Method and system for an integrated VSB/QAM/NTSC/OOB plug-and-play DTV receiver
JP4198089B2 (ja) * 2004-05-21 2008-12-17 富士通マイクロエレクトロニクス株式会社 通信システム
JP2011035473A (ja) 2009-07-29 2011-02-17 Renesas Electronics Corp ボーレートエラー検出回路、ボーレートエラー検出方法
JP2011124882A (ja) * 2009-12-11 2011-06-23 Renesas Electronics Corp 非同期型通信確立方法および非同期型通信システム
JP5093261B2 (ja) * 2010-02-22 2012-12-12 株式会社デンソー 同期信号検出装置
JP5891758B2 (ja) * 2011-12-06 2016-03-23 サンケン電気株式会社 電子装置

Also Published As

Publication number Publication date
CN103150283B (zh) 2015-09-30
US8782300B2 (en) 2014-07-15
TWI475864B (zh) 2015-03-01
TW201336283A (zh) 2013-09-01
US20130145084A1 (en) 2013-06-06
CN103150283A (zh) 2013-06-12
JP2013120979A (ja) 2013-06-17

Similar Documents

Publication Publication Date Title
JP5891758B2 (ja) 電子装置
US9979432B2 (en) Programmable distributed data processing in a serial link
CN106487372B (zh) 包括单线接口的装置和具有该装置的数据处理系统
JP4960366B2 (ja) ローカルクロック生成のための方法および回路、ならびに同クロックを上に含むスマートカード
KR100688516B1 (ko) 단일 라인을 이용한 직렬 데이터 통신 방법 및 그 장치
JP2009239567A (ja) 半導体装置及び半導体集積回路
US7020851B2 (en) Universal serial bus circuit and data structure
KR101876997B1 (ko) 오실레이터 오토 트리밍 방법 및 오실레이터 오토 트리밍 기능을 갖는 반도체 장치
CN102857197B (zh) 一种提高内置rc振荡器频率精度的校准方法
CN101908012A (zh) 时钟信号测试装置及测试方法
US20060206763A1 (en) Debugging system, semiconductor integrated circuit device, microcomputer, and electronic apparatus
US7172129B2 (en) Integrated circuit card capable of automatically transmitting NULL byte information without intervention by CPU
US8645742B2 (en) Semiconductor device operating according to an operation clock and having a serial communication interface performing external communications according to a unit transfer time based on the operation clock
TWI715096B (zh) 過電流保護裝置及方法
US20080288692A1 (en) Semiconductor integrated circuit device and microcomputer
Li et al. Research on Improvement of Configurable I2C controller IP Core
NM Design of I2C Master Core with AHB Protocol for High Performance Interface
JP2003016026A (ja) シリアル通信回路
TW202311891A (zh) 時脈產生裝置、控制器以及儲存裝置
JP2001296919A (ja) 故障診断装置
CN113032305A (zh) 一种接口中断测量方法及装置
CN111866618A (zh) 无干扰的单线温度传输协议及装置
JP2009017361A (ja) インターフェース
Basics Application Note AN_135 FTDI MPSSE Basics
JP2001043181A (ja) マイクロコンピュータ間の通信方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20140220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160208

R150 Certificate of patent or registration of utility model

Ref document number: 5891758

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250