JP6927678B2 - 半導体装置、通信システムおよび初期化方法 - Google Patents

半導体装置、通信システムおよび初期化方法 Download PDF

Info

Publication number
JP6927678B2
JP6927678B2 JP2016160682A JP2016160682A JP6927678B2 JP 6927678 B2 JP6927678 B2 JP 6927678B2 JP 2016160682 A JP2016160682 A JP 2016160682A JP 2016160682 A JP2016160682 A JP 2016160682A JP 6927678 B2 JP6927678 B2 JP 6927678B2
Authority
JP
Japan
Prior art keywords
communication
predetermined
communication data
signal
semiconductor device
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
JP2016160682A
Other languages
English (en)
Other versions
JP2018029285A (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.)
Lapis Semiconductor Co Ltd
Original Assignee
Lapis Semiconductor 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 Lapis Semiconductor Co Ltd filed Critical Lapis Semiconductor Co Ltd
Priority to JP2016160682A priority Critical patent/JP6927678B2/ja
Publication of JP2018029285A publication Critical patent/JP2018029285A/ja
Application granted granted Critical
Publication of JP6927678B2 publication Critical patent/JP6927678B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Dc Digital Transmission (AREA)

Description

本発明は、半導体装置、通信システムおよび初期化方法、特に半導体装置としてのマイクロコントローラユニット(Micro Controller Unit、以下「MCU」)に搭載されるシリアル伝送方式の半導体装置、通信システム、およびその初期化方法に関する。
MCUとは、1つの集積回路にコンピュータシステムを集積化した、主として組み込み用のマイクロプロセッサをさす。近年、ゲーム装置、カーナビゲーションシステム、プリンタ、携帯情報端末などの電子機器の高度化、複雑化に伴い、各種電子機器にこのMCUが組み込まれる場合が多くなってきている。このような組み込み型のMCUは、通常、ターゲットシステムと呼ばれるユーザボードに実装される。そして、このターゲットシステムを動作させるソフトウェアの開発をいかに効率的に行うかが1つの課題となっている。
このようなソフトウェア開発支援ツールとしては、従来ICE(In Circuit Emulator)と呼ばれるデバッグツールが広く使用されてきたが、近年ではオンチップエミュレータが主流となってきている。オンチップエミュレータとはMCU等をプリント基板に実装した状態でプログラムのデバッグを実行する装置の総称である。
オンチップエミュレータはマイクロコンピュータ(PC)に接続され、このPCを介してオンチップエミュレータが制御される。一方、デバッグ対象であるMCU等の内部にデバッグ回路が搭載され、このデバッグ回路で収集したデバッグ情報を用いてデバッグ作業が行われる。デバッグ情報はデバッグ用のインタフェースを介してオンチップエミュレータに送られ、オンチップエミュレータからPCに転送される。つまり、オンチップエミュレータ(デバッグツール)とMCU(ターゲットシステム)との間では、何らかの通信手段を介した通信が行われることとなる。
従来、デバッグシステムにおけるデバッグツールとターゲットシステムとの間の通信に言及した文献として特許文献1が知られている。特許文献1に開示されたデバッグシステムでは、ターゲットシステムからデバッグツールに送信されるデバッグ用の送信データに対応したシリアルデータ信号と、CPU(Central Processing Unit)の状態を示すラン/ブレーク状態信号をマージして出力信号を生成する回路を備え、当該出力信号を1つのデバッグ端子を介して出力している。特許文献1では、このようなデバッグシステムによれば、CPUのラン/ブレーク状態信号の送信とデバッグ用のデータの送信とを1本の通信ラインで共用して行うことができるので、ラン/ブレーク状態信号を出力するためのデバッグ用端子を個別に設ける必要がないとしている。
特開2007−172648号公報
ここで、図8を参照し、比較例に係るデバッグシステム2について、デバッグツールとターゲットシステムとの間の通信を中心に説明する。図8に示すように、デバッグシステム2は、デバッグツールとしてのオンチップエミュレータ100とターゲットシステムとしてのMCU50を含んで構成されている。なお、図8では、オンチップエミュレータ100に接続されるPCの図示を省略している。
オンチップエミュレータ100には、通信装置102、クロック源(図8では、「OSC」と表記)104、およびCPU106が含まれている。通信装置102は、MCU50との通信を実行する部位であり、通信装置102に接続されたコネクタCN3にデータ信号送信用のTXD端子、受信用のRXD端子、クロック信号送信用のCLK端子、MCU50に対するリセット信号送信用のRESET端子、および電源用のVCC端子、VSS端子が配置されている。クロック源104は発振回路を含み、通信装置102に供給する周波数f1のクロック信号CLKeを発生する部位である。CPU106はオンチップエミュレータ100を統括制御する部位である。
一方、MCU50には、通信装置52、およびCPU54が含まれている。通信装置52は通信装置102と対向してオンチップエミュレータ100との通信を実行する部位であり、コネクタCN4にデータ信号受信用のRXD端子、送信用のTXD端子、クロック信号受信用のCLK端子、MCU50に対するリセット信号受信用のRESET端子、および電源用のVCC端子、VSS端子が配置されている。
デバッグシステム2におけるオンチップエミュレータ100とMCU50との間の通信は、クロック源104によるクロック信号CLKeを同期クロックとする同期式通信で行われる。そのため、オンチップエミュレータ100とMCU50との間には、データ信号を双方向で送信、受信するためのデータ信号線として2線、オンチップエミュレータ100からMCU50にクロック信号CLKeを供給するための信号線1本、さらにMCU50をリセットするリセット信号を送信するための信号線1本が必要になる。その結果、MCU50にもこれらの信号線に対応する端子が必要になる。しかしながら、これらの端子はデバッグ専用の端子であり、MCU50が組み込まれた電子機器等の実機では使用されない。
一方、近年のMCUの高機能化等に伴い、電子機器等においてI/O端子など実際に使用する端子も増加する傾向にある。そのため、I/O端子の2次機能としてデバッグに用いることも考えられるが、この場合には兼用されたI/O端子のI/O端子としての機能についてデバッグすることができなくなってしまう。このように、実際に使用する端子が増加することによりデバッグに用いられる端子は少なくすることが求められる。従って、上記のようにMCUのソフトウェア開発、システム開発(デバッグ等)においてのみ使用される端子は、極力少なくすることが求められている。
他方、オンチップエミュレータ100を用いたMCU50のシステム開発においては、効率的なデバッグ作業等の観点から、随時MCU50をリセット(初期化)させる処理が必要となる。さらに、この場合のリセット処理についてもMCU50の全体だけでなく、必要な回路ブロックだけ部分的にリセットさせたい場合もある。デバッグシステム2においても、CPU106の判断に従ってオンチップエミュレータ100からMCU50に向けてリセット信号RESETが発出可能なように構成されている。
しかしながら、比較例に係るデバッグシステム2におけるこのリセット信号RESETはMCU50の全体をリセットする信号である。従って、例えばMCU50のデバッグ回路に付随するメモリ等に記憶されたデータは保持しつつ通信装置12だけをリセットするようなことはできない。
上記のような状況下、特許文献1に開示されたデバッグシステムでもデバッグで使用される端子の数を削減している。しかしながら、特許文献1では端子の数を削減した上での部分的なリセット処理については言及していない。
本発明は、上述した課題を解決するためになされたものであり、使用される端子の数を削減しつつ、搭載されたシステムに所定の事象が発生した場合に対象を限定して初期化処理することが可能な半導体装置、通信システムおよび初期化方法を提供することを目的とする。
本発明に係る半導体装置は、通信データを送信する送信モードと通信データを受信する受信モードとが切り換え可能とされた通信インタフェース部を含む通信装置と、前記受信モードにおいて受信する前記通信データを監視し受信する前記通信データにおいて予め定められた条件が充足された場合に前記通信装置のみを初期化する初期化信号を発出する監視部と、前記通信装置における通信で使用される第1の周波数の第1のクロック信号を発生する第1のクロック源と、をみ、通信線を介して前記通信インタフェース部に接続された対向通信装置、および前記通信装置との通信で使用される第2の周波数の第2のクロック信号を発生する第2のクロック源を含む対向装置が、前記第1の周波数と前記第2の周波数のずれが予め定められた許容範囲外となった場合に前記予め定められた条件に対応する動作を行うものである。
本発明に係る通信システムは、上記の半導体装置、および通信線を介して前記通信インタフェース部に接続された対向通信装置を備えた対向装置を含む通信システムであって、前記対向装置は、前記通信システムにおいて予め定められた事象を検出した場合に前記対向通信装置から前記通信線を介し前記予め定められた条件の通信データを前記通信装置に送信することにより前記予め定められた条件に対応する動作を行うものである。
本発明に係る初期化方法は、対向する対向装置に通信データを送信する送信モード、および前記対向装置からの通信データを受信する受信モードとが切り換え可能とされた通信インタフェース部を含む通信装置、前記受信モードにおいて前記対向装置から受信する前記通信データを監視し受信する前記通信データにおいて予め定められた条件が充足された場合に初期化信号を発出する監視部、および前記通信装置における通信で使用される第1の周波数の第1のクロック信号を発生する第1のクロック源を含む半導体装置を用いた初期化方法であって、前記対向装置は、通信線を介して前記通信インタフェース部に接続された対向通信装置、および前記通信装置との通信で使用される第2の周波数の第2のクロック信号を発生する第2のクロック源を含み、前記第1の周波数と前記第2の周波数のずれが予め定められた許容範囲外となった場合に予め定められた極性の通信データを前記通信装置に送信し、前記監視部は、前記予め定められた極性の通信データを予め定められた期間連続して受信したことにより前記予め定められた条件が充足された場合に、前記初期化信号により前記通信装置のみを初期化するものである。
本発明によれば、使用される端子の数を削減しつつ、搭載されたシステムに所定の事象が発生した場合に対象を限定して初期化処理することが可能な半導体装置、通信システムおよび初期化方法を提供することが可能となる。
第1の実施の形態に係るデバッグシステムを示すブロック図である。 実施の形態に係る調歩同期式通信におけるフレーム構成の一例を示す図である。 第1の実施の形態に係る監視回路の一例を示す回路図である。 第1の実施の形態に係る監視回路の各節点の波形を示すタイミングチャートである。 実施の形態に係るRXD/TXD端子のプルアップ回路およびプルダウン回路の一例を示す回路図である。 第2の実施の形態に係る監視回路の一例を示す回路図である。 第2の実施の形態に係る監視回路の各節点の波形を示すタイミングチャートである。 比較例に係るデバッグシステムを示すブロック図である。
以下、図面を参照して、本発明を実施するための形態について詳細に説明する。
[第1の実施の形態]
図1ないし図5を参照して、本実施の形態に係る通信装置、半導体装置、通信システムおよび初期化方法について説明する。図1は、本実施の形態に係る通信システムとしてのデバッグシステム1を示しており、本実施の形態に係る半導体装置としてのMCU10をオンチップエミュレータ100とともに図示したものである。本実施の形態に係るデバッグシステム1(通信システム)では、オンチップエミュレータ100とMCU10との間の通信に調歩同期式通信(Universal Asynchronous Receiver Transmitter:UART、非同期式通信)を採用し、該通信におけるデータ信号線を利用し、ハードウェアリセットによる通信装置の初期化に加え、ソフトウェアリセットによる初期化を実現している。
オンチップエミュレータ100は、通信装置102、周波数f1(通信周波数)のクロック源104(図1では「OSC」と表記)、およびCPU106を含んで構成されている。
通信装置102は、調歩同期式通信に対応可能な通信装置であり、コネクタCN1に配置された通信データを送信するTXD端子、受信するRXD端子、クロック信号を送信するCLK端子、リセット信号を送信するRESET端子、および電源を供給するVCC端子、VSS端子を有している。調歩同期式通信では1本のデータ信号線を送信、受信で共用するため、データ送信用のTXD端子とデータ受信用のRXD端子とは、コネクタCN1で短絡されている。通信装置102では、さらにクロック信号送信用のCLK端子とリセット信号送信用のRESET端子とがコネクタCN1で短絡され、共用化が図られている。
本実施の形態に係るクロック源104で発生されたクロック信号CLKeは、通信装置102における調歩同期式通信に使用されるクロック信号(通信クロック信号)であり、CLK端子からMCU10に送られるわけではない。また、CPU106は、オンチップエミュレータ100の全体を統括管理する。
一方、本実施の形態に係るMCU10は、通信装置12、周波数f2のクロック信号CLKiを発生させるクロック源14(図1では「OSC」と表記)、CPU16、および監視回路20を含んで構成されている。
通信装置12はMCU10に内蔵された調歩同期方式の通信装置であり、通信データの送信線と受信線とが共用化され、MCU10におけるデバッグ専用端子の削減が図られている。そのため、通信装置12は、送信モードと受信モードとを切り換えてオンチップエミュレータ100との通信を行う。通信装置12は、コネクタCN2に配置されたデータ送受信用のRXD/TXD端子、クロック信号およびリセット信号を受信するCLK/RESET端子(本実施の形態では常態において使用しない)、およびオンチップエミュレータ100から電源の供給を受けるVCC端子、VSS端子を有している。本実施の形態では、一例として、MCU10の電源VCCは正電源であり、電源VSSはグランド(GND)である。なお、本実施の形態では、電源VCC、VSSの各々はオンチップエミュレータ100から供給される構成としているが、MCU10の電源は必ずしもオンチップエミュレータ100から供給される必要はなく、外部からMCU10に直接供給されるようにしてもよい。
本実施の形態に係るクロック源14で発生されたクロック信号CLKiは、通信装置12における調歩同期式通信に使用される通信クロック信号である。従って、本実施の形態では、クロック源14の周波数f2(通信周波数)を、オンチップエミュレータ100のクロック源104の周波数f1(通信周波数)と同じ周波数としている(f1≒f2)。
むろん、これに限られず、MCU10の通信周波数f2をクロック源104の通信周波数f1と異なる周波数としてもよい。また、CPU16は、オンチップエミュレータ100の全体を統括管理する。
監視回路20は、通信装置12から受信データ信号RDを受け、クロック源14からクロック信号CLKiを受け、これらの信号に基づいて受信データ信号RDを監視し、所定の条件が充足された場合に通信装置12をリセット(初期化)するためのリセット信号RSTを発生させる。図1では便宜的に通信装置12と監視回路20とを分離して図示しているが、両者は実質的に一体として動作する回路であり、監視回路20を通信装置12に内蔵させてもよい。監視回路20の詳細については後述する。
次に、MCU10における通信装置12のインタフェースについて、より詳細に説明する。本実施の形態に係る通信装置12では、上述のように調歩同期式通信を採用して送信データ信号線と受信データ信号線とを共有化(双方向化)し、データ信号線を1本とすることによりMCU10におけるデバッグ専用の端子数の削減を図っている。以下、この1本のデータ信号線をUART IF(Interface)という場合がある。本実施の形態に係る監視回路20は、このUART IFを利用して、オンチップエミュレータ100からMCU10をソフトウェア的にリセットすることを可能としている。
本実施の形態では、さらにCLK端子とRESET端子とを共用化して、MCU10のデバッグ専用端子数の節約を図り、MCU10が搭載された実機で用いられるI/O(Input/Output)の端子数を増やしている。しかしながら、さらなる端子の節約という理由と、以下に述べる理由とにより、オンチップエミュレータ100とMCU10との間の信号線を2本(RXD/TXD(UART IF)線、CLK/RESET線)からさらにUART IFの1本だけにしている。
すなわち、一般にRESET端子にはノイズの除去やパワーオンリセットを目的としたフィルタが挿入されることが多く、そのためRESET端子に印加する信号の速度が制限される。その結果、CLK端子とRESET端子とを共用化するとCLK端子から送るクロック信号の高速化が図れず、同期通信を用いる意義が薄れるからである。そのため、本実施の形態では、通信線としてクロック信号の伝送が不要なUART IFの1本のみを用い、かつオンチップエミュレータ100からMCU10へのリセット要求をこのUART IFを用いて行うように構成している。リセット要求を認識したMCU10は自身をリセットする。自身のリセットとともに、リセット要求を認識したことをオンチップエミュレータ100に返送するようにしてもよい。
次に、図2を参照し調歩同期式通信で使用するフレーム構成について説明する。図2は、調歩同期式通信で採用されている1フレームの構成(図2では「シリアルデータ」と表記)を内部クロック(通信クロック)とともに示した図である。図2に示すように、調歩同期式通信では1回に送るデータを7ビットあるいは8ビットとし(図2では、D0ないしD8の8ビットとしている)、このデータの前後にスタートビットとストップビットを挟みこむことで、1回の送受信が行われる。このスタートビットからストップビットまでの1組の配列が「1フレーム」(または、「1キャラクタ」)と呼ばれている。
スタートビットは1ビット固定であるのに対し、ストップビットは1ビットまたは2ビットとされ(図2に示す例では2ビット)、かつスタートビットとは別の極性の信号とされる。つまり、スタートビットがロウレベル(以下、「L」)ならばストップビットはハイレベル(以下、「H」)であり、スタートビットがHならばストップビットはLである。データビット(D0〜D8)の後にパリティビットが付加される場合もある。なお、以下ではスタートビットをL、ストップビットをHとして説明している。
図2における内部クロックは、図1のクロック信号CLKiを示している。本実施の形態では、上述したように、オンチップエミュレータ100とMCU10との間でクロック信号のやり取りを行わない。そのため、図1に示すように、オンチップエミュレータ100とMCU10とは個別にクロック源(クロック源104とクロック源14)を備えている。
調歩同期式通信では、まず送信側がスタートビットを送出すると、受信側は内部クロックの周期で受信したデータ(受信データ信号RD)の極性を判別し、HからLに変化したことを検出すると送受信動作を開始する。受信データ信号RDの1ビットの幅は内部クロックのサイクル数で予め設定しておく。このサイクル数が送受信のスピード、すなわちボーレートになる。送信側と受信側でこのボーレートを一致させておくことが必要である。
次に、通信装置12においてリセット(初期化)処理が必要となる場合について説明する。調歩同期式通信ではクロック信号の伝送がないため、通信を行う両端の装置の双方がクロック源(発振回路)を備えている必要がある。正常な通信が行われるためには双方の発振回路の周波数が一致している必要があるため、双方の発振回路には高い精度、例えば周波数変動で5%以内という精度が要求される。しかしながら、発振回路の周波数精度が5%の精度であっても、図2に示すように、調歩同期式通信の1フレームは約10ビットであるので、5%のずれが蓄積すると1フレームの終端付近では50%を越えてしまう。
周波数のずれが50%を越えると、受信側において受信データを取りこぼす可能性が発生する。従って、クロック信号のずれを監視し、クロック信号のずれが許容範囲外となるつどボーレートの補正を行う必要が生ずる。
また、上記のボーレートの補正は比較的微小な範囲の調整ですむが、ボーレート自体の再設定が必要になる場合も考えられる。例えば、ボーレート設定用レジスタにノイズが混入し、ボーレート設定用レジスタのレジスタ値が変化してしまうような場合である。このような場合には、オンチップエミュレータ100とMCU10との間でボーレートが大きくずれ、もはやオンチップエミュレータ100とMCU10との間の通信が不可能になってしまうことも想定される。
さらに、調歩同期式通信では送信線、受信線が共用化されているため、どちらが受信中でどちらが送信中であるかを示すステート(状態)、処理中であることを示すBUSY(ビジー)ステート、応答待ちを示すREADY(レディ)ステートなどのステートを持つ。しかしながら、このステートを管理するステートマシンの状態にずれが生じたり、あるいは何らかの原因でステートマシンにおけるステートが不明となった場合には、UART IFの両端の装置がお互いを認識できない状態に陥ることも想定される。
しかしながら、本実施の形態に係るデバッグシステム1では、オンチップエミュレータ100とMCU10との間の接続がUART IFの1本であるため、上記のような状況が発生した場合にオンチップエミュレータ100とMCU10との間の通信を回復する手段がない。
上記のような場合に対応する手段のひとつとして、通信状態監視の一手段であるウォッチドッグタイマを用いることも考えられる。ウォッチドッグタイマを用いた監視では、通信状態の正常動作を監視するためにオンチップエミュレータ100からMCU10に一定周期の信号を送信し、MCU10に内蔵したウォッチドッグタイマをリセットする。通信状態が異常となりMCU10が一定時間以内に信号を送れなくなると、ウォッチドッグタイマがタイムアップするので、このタイムアップを契機としオンチップエミュレータ100がMCU10に向けリセットの指示を発出して初期化させる。
しかしながら、上記のウォッチドッグタイマによる監視では定期的な通信により解除処理を行なわなければならないが、そもそも通信手段が確立していない状態では解除処理ができない。また、どこでリセットがかかったかオンチップエミュレータ100が判断できないという問題がある。さらに、一般にウォッチドッグタイマによる監視では監視時間が長く、またMCU10の全体がリセットされるのみで、通信装置12のみをリセットするという処理ができないという問題もある。
単にリセットするだけならば、MCU10に備えられたハードウェアリセットであるCLK/RESET端子(図1参照)を使用することも考えられる。しかしながら、このハードウェアリセットもMCU10全体のリセットである。例えば、UART IFを介した通信をともなうデバッグ過程において、MCU10が有するRAM(Random Access Memory)等に重要なパラメータが記憶されているような場合には、MCU10全体のリセットを行うことはデバッグの効率を大きく損ねる。
これに対し、本実施の形態に係るMCU10では、通信装置12のみをリセットすることが可能となっているので、デバッグの効率を向上させることができる。また、UART IFを使用してリセット処理を行うため、オンチップエミュレータ100のリセット端子の接続を省略することも可能となっている。なお、本実施の形態では、MCU10のリセット処理においては通信装置12のみをリセットする形態を例示して説明するが、これに限られず、MCU10内の他の回路をリセットすることとしてもよいし、またリセット信号をオンチップエミュレータ100に送信するようにしてもよい。
次に、図3および図4を参照し、本実施の形態に係る監視回路20についてより詳細に説明する。図3は監視回路20の一例を示す回路図であり、図4は監視回路20の各節点の動作波形を示すタイミングチャートである。MCU10に搭載された監視回路20は、UART IFの受信データ信号RDを監視し、所定の条件を充足する場合にオンチップエミュレータ100から初期化(リセット)の指示(リセット指示信号)が発出されたと判断し、主として通信装置12を初期化する機能を有している。
図3に示すように、監視回路20は、カウンタ22、フリップフロップ24、比較器26、AND回路28、インバータ30、OR回路32、34、36を含んで構成されている。図1に示すRXD/TXD端子を介して受信された受信データ信号RDは、AND回路28の反転入力と、OR回路32、34に入力される。また、上述したクロック信号CLKiがカウンタ22、フリップフロップ24に入力される。受信データ信号RDの監視において所定の条件が充足された場合には、インバータ30から通信装置12をリセットさせるリセット信号RSTが出力される。本実施の形態では、リセット信号RSTはLで有効とされている(アクティブL)。
カウンタ22は、受信データ信号RDにおける予め定められた極性(本実施の形態ではこの極性をLとしている)の連続期間を監視するカウンタであり、本実施の形態では一例として12ビットカウンタとしている。本実施の形態では、この連続期間の監視をカウンタ22のクロック入力に入力されたクロック信号CLKiのパルス数によって行っている。カウンタ22のUP入力には監視対象である受信データ信号RDが入力され、R(同期)入力にはカウンタ22のカウント値のクリア信号が入力される。
比較器26は、カウンタ22によるカウント信号(カウント値を示す信号)と予め定められた設定値とを比較し、カウント値が設定値に達した場合にカウント終了信号を発出する。図3では、カウンタのカウント信号を符号CVで示し、カウント値の予め定められた設定値を符号OFrefで示し、カウント終了信号を符号CEで示している。なお、本実施の形態では、カウント終了信号CEの極性をHで有効としている(アクティブH)。また、設定値OFrefの値を例えば4096としている。すなわち、本実施の形態では、受信データ信号RDのLがクロック信号CLKiの4096周期以上継続した場合に、リセット信号RSTが発出される。
フリップフロップ24は、比較器26による比較結果を格納する。カウンタ22のリセット入力Rとフリップフロップ24のリセット入力Rに入力されているリセット信号ICE RSTは、監視回路20をリセットさせるための信号である。
AND回路28は、受信データ信号RDがLでありかつカウント終了信号CEがHの場合にフリップフロップ24のQ出力をHとする。このフリップフロップ24のQ出力からリセット信号RSTの補信号(RST_BAR)が出力される。フリップフロップ24のQ出力はインバータ30により反転され、リセット信号RSTとして通信装置12に入力される(図1参照)。OR回路36は、フリップフロップ24のQ出力を帰還させてカウント終了信号CEとの論理和をとることによりHを維持させる。
OR回路34は、受信データ信号RDとフリップフロップ24のQ出力との論理和をとることにより、カウント終了信号CEが有効になった場合のカウンタ22のUP入力の入力値をLに固定する。OR回路32は、受信データ信号RDとフリップフロップ24のQ出力との論理和をとることにより、カウント終了信号CEが有効になった場合にカウンタ22のR(同期)入力にカウンタ22のクリア信号を入力する。
次に、図4に示すタイミングチャートを参照し、監視回路20の動作についてより詳細に説明する。上述したように、通信装置12では、UART IFのRXD/TXD端子に入力される信号(受信データ信号RD)においてHからLへの遷移が検出されるとスタートビットが受信されたものと認識し、ストップビットのHが検出されるまで受信処理を行う。
監視回路20は、受信データ信号RDを受信しつつ、オンチップエミュレータ100からリセットの指示を示す信号(リセット指示信号)の監視を行う。すなわち、受信データ信号RDがLになったことを検出すると、カウンタ22のカウント値が1だけカウントアップする。上述したように、このカウンタ22によるカウントは、クロック信号CLKiのパルス数を計数することによって行う。本実施の形態では、クロック信号CLKiを通信装置12の通信に用いるクロック(ボーレートカウンタ用クロック、あるいはサンプリングクロック等の通信クロック)としている。しかしながら、これに限られず、通信クロックとは独立した周波数の異なるクロック源によるクロックを用いてもよい。通信装置自身のクロックが停止すると自動的に本回路も停止に陥るため、別系統のクロックの方がより好ましい。
図4に示す動作例では、時刻t1において受信データ信号RDのHからLへの遷移が検出されたためカウンタ22がカウントを開始し、カウント値CVがカウントアップされている。受信データ信号RDがLであるかぎりこのカウントアップが継続される。しかしながら、カウントの途中の時刻t2において受信データ信号RDがLからHに遷移したため、カウンタ22がリセット(クリア)され、時刻t3においてカウント値が破棄され0に戻っている。UART IFで通常のデータ信号を受信している場合には、常時このカウンタ22のクリアが行われている。
時刻t4で受信データ信号RDが再びHからLに遷移したので、カウンタ22によるカウントが再開されている。そして、時刻t5においてカウント値が設定値OFref=4096に達したのでカウント終了信号CEがLからHに変化する(活性化する)。次のクロックサイクルでフリップフロップ24のQ出力がHにセットされ、リセット信号RSTがLに変化し、リセット信号RSTが有効になる(活性化する)。その後、時刻t6でカウンタが0にクリアされ、時刻t7で受信データ信号RDがHになったので、これを受けリセット信号RSTがHとされる(非活性化される)。
なお、本実施の形態では、受信データ信号RDにおいて、クロック信号CLKiの4096周期分のLが継続された場合(図4では、検出時間Tpとして示している)にリセット信号RSTを発出するようにしている。しかしながら、検出時間Tpの設定はこれに限られるものではなく、設計条件等に応じて4096周期より多くしても少なくしてもよい。ただし、検出時間Tpは、少なくともUART IFの1フレームの時間よりも長くし、通常のデータ信号と区別が可能なようにしておく必要がある。
例えば、一例としてクロック信号CLKiの周波数を時計などと同じ32768Hzとした場合、検出時間Tpは125ms(millisecond:ミリ秒)以上とする必要がある(4096/32768=125ms)。ちなみに、検出時間Tpを1フレーム分とすると1フレームが125msとなり、1フレームが図2に示すように12ビットであるとすると、UART IFにおけるボーレートは96(=12/0.125)bps(bit per second)となる。
以上詳述したように、本実施の形態に係るデバッグシステム1では、オンチップエミュレータ100が所定の事象(例えば、MCU10の認識ができなくなる事象等)を検出し、リセット(初期化)が必要と判断した場合には、通信装置102によりUART IFの送信データ信号SDを強制的にLに固定してリセット指示信号を発出することにより、通信装置12がどのような状況下にあっても、MCU10をリセット(初期化)させることが可能となる。なお、本実施の形態でいう初期化にはボーレートの設定も含まれる。
以下、オンチップエミュレータ100からUART IFを介して送信されるリセット指示信号と、MCU10における処理との関係について補足する。まず、MCU10が受信待ち状態の場合、オンチップエミュレータ100からL固定のリセット指示信号を受け取ると、MCU10は受信データ信号RDの到来と認識するが、Hのストップビット(図2参照)が受信されないのでフレーミングエラーとして処理する。従って、リセット指示信号がデータ信号と誤認されることはない。
一方、MCU10が送信状態となっている場合においてリセット指示信号を受け取った場合、送信データがLであれば問題ないが、送信データがHの場合リセット指示信号のLと衝突する。この場合の対策として図5(a)に示すように、RXD/TXD端子をプルアップ抵抗Ruで高電位側(本実施の形態ではVDD側)にプルアップしておくことが考えられる。プルアップによるHは駆動能力が比較的低いのでオンチップエミュレータ100からのL入力が勝り、リセット指示信号の受信に支障はない。
MCU10のRXD/TXD端子の処理としては上記プルアップに限られず、図5(b)に示すように、プルダウン抵抗Rdで低電位側(本実施の形態ではVSS側)にプルダウンする処理としてもよい。この場合、RXD/TXD端子をプルダウン処理することで、オンチップエミュレータ100とMCU10との接続が外れたこと(断線したこと)を検出することも可能となる。すなわち、UART IFにおける通信がアイドル状態では、MCU10は常時Hを受信しているが、オンチップエミュレータ100とMCU10との間の通信線が断線するとRXD/TXD端子がLに張り付き、検出時間Tpの経過の後MCU10は強制的にリセット(初期化)される。この意図しないリセットによって、オンチップエミュレータ100は通信線における断線の可能性を認識することができる。
[第2の実施の形態]
図6および図7を参照して、本実施の形態に係る監視回路20aについて説明する。図6は監視回路20aを示す回路図であり、図7は監視回路20aの各節点の動作波形を示すタイミングチャートである。監視回路20aは、上記の監視回路20において外乱(ノイズ)に対する耐性を向上させるために、フリップフロップ38およびAND回路40を含むノイズキャンセラ(外乱キャンセル回路)を追加したものである。従って、監視回路20と同様の構成には同じ符号を付し、詳細な説明を省略する。
図6に示すように、追加されたフリップフロップ38のD入力には受信データ信号RDが入力され、クロック入力にはインバータ42を介してクロック信号CLKiが入力される。従って、フリップフロップ38はクロック信号CLKiの立下りで動作する。また、フリップフロップ38のQ出力は、追加されたAND回路40に入力される。追加されたAND回路40は上記Q出力と受信データ信号RDの論理積をとり、その結果をOR回路32および34に入力する。換言すれば、図3に示す監視回路20では、受信データ信号RDが直接OR回路32、34に入力されるのに対し、監視回路20aでは、フリップフロップ38およびAND回路40で処理された受信データ信号RDがOR回路32、34に入力される。
次に、図7を参照して監視回路20aの動作について、より詳細に説明する。まず、図7(a)を参照して、外乱に対する対策を備えていない監視回路20の動作について説明する。図7(a)に示す例では、時刻t8において受信データ信号RDがHからLに遷移したことにより、カウンタ22がカウントを開始する。しかしながら、サンプリングのタイミングである時刻t10で外乱N(ヒゲ)が発生し、受信データ信号RDが瞬間的にHに戻ったためにカウンタ22がリセットされ、再びLになることにより0からカウントを再開している。その後時刻t11でカウント値が設定値OFrefに達し、カウント終了信号CEが発生している。以降の動作は図4と同様である。すなわち、外乱に対する対策が施されていない場合には、時刻t8からt10の間のカウンタ22によるカウントが無駄になり、リセット信号RSTの発出までに余計な時間がかかることになる。
それに対し、フリップフロップ38、AND回路40による外乱キャンセル回路(ノイズキャンセラ)を含む本実施の形態に係る監視回路20aでは、外乱Nの影響を抑制することができる。すなわち、フリップフロップ38は、時刻t9におけるクロック信号CLKiの立下り時に受信データ信号RDを取り込む。次の半サイクル後の時刻t10におけるクロック信号CLKiの立ち上がり時に、AND回路40によってフリップフロップ38のQ出力と受信データ信号RDとの論理積が演算される。このような動作により、AND回路40の入力がどちらもHの場合にかぎりAND回路40の出力がHになり、カウンタ22がクリアされる。つまり、図6に示す例では、時刻t9で受信データ信号RDのLが取り込まれるので、時刻t10で受信データ信号RDとの論理積をとるとAND回路40はLを出力し、その結果カウンタ22はクリアされない。
なお、本実施の形態では、リセットが有効になるまでの間のノイズ対策を例示して説明したが、同様の対策回路を用いることによりリセットが有効となった後、ノイズによりリセットが解除されるのを抑止するようなノイズ対策にも適用可能である。
また、上記各実施の形態では各種信号の極性(例えば、リセット信号RSTはアクティブL等)を指定して説明しているが、これらの極性はあくまで一例であり逆の極性としてもよい。
1、2 デバッグシステム
10 MCU
12 通信装置
14 クロック源
16 CPU
20、20a 監視回路
22 カウンタ
24 フリップフロップ
26 比較器
28 AND回路
30 インバータ
32、34、36 OR回路
38 フリップフロップ
40 AND回路
42 インバータ
50 MCU
52 通信装置
54 CPU
100 オンチップエミュレータ
102 通信装置
104 クロック源
106 CPU
CLKe、CLKi クロック信号
CN1、CN2、CN3、CN4 コネクタ
RD 受信データ信号
Ru プルアップ抵抗
Rd プルダウン抵抗

Claims (13)

  1. 通信データを送信する送信モードと通信データを受信する受信モードとが切り換え可能とされた通信インタフェース部を含む通信装置と
    記受信モードにおいて受信する前記通信データを監視し受信する前記通信データにおいて予め定められた条件が充足された場合に前記通信装置のみを初期化する初期化信号を発出する監視部と、
    前記通信装置における通信で使用される第1の周波数の第1のクロック信号を発生する第1のクロック源と、をみ、
    通信線を介して前記通信インタフェース部に接続された対向通信装置、および前記通信装置との通信で使用される第2の周波数の第2のクロック信号を発生する第2のクロック源を含む対向装置が、前記第1の周波数と前記第2の周波数のずれが予め定められた許容範囲外となった場合に前記予め定められた条件に対応する動作を行う
    半導体装置。
  2. 前記監視部は、さらに前記対向通信装置との間の通信のスピードであるボーレートの変更を行う
    請求項1に記載の半導体装置。
  3. 前記第1の周波数と前記第2の周波数が異なる周波数である
    請求項1または請求項2に記載の半導体装置。
  4. 前記予め定められた条件が前記通信インタフェース部で受信される前記通信データにおいて予め定められた極性の通信データが予め定められた期間連続したことである
    請求項1〜請求項3のいずれか1項に記載の半導体装置。
  5. 前記予め定められた極性が負極性であり、
    前記通信インタフェース部にはプルダウン処理がなされており、
    前記監視部は、前記通信インタフェース部から前記通信装置と対向する対向通信装置に接続される通信線に断線が発生した場合にも前記初期化信号を発出する
    請求項に記載の半導体装置。
  6. の周波数の第のクロック信号を発生する第のクロック源をさらに含み、
    前記監視部は、前記受信モードにおいて前記第のクロック信号に基づき前記予め定められた極性の前記通信データの個数を計数するカウンタ、および計数された前記予め定められた極性の前記通信データの個数と予め定められた設定値とを比較する比較器を備え、計数された前記予め定められた極性の前記通信データの個数が前記予め定められた設定値を越えた場合に前記初期化信号を発出する
    請求項または請求項に記載の半導体装置。
  7. 前記第1のクロック源と前記第3のクロック源とが同じクロック源である
    請求項6に記載の半導体装置。
  8. 前記監視部は、前記カウンタで前記予め定められた極性の前記通信データの個数を計数している途中で前記予め定められた極性と逆の極性の前記通信データを受信した場合に前記カウンタをクリアする
    請求項6または請求項7に記載の半導体装置。
  9. 前記監視部は、前記カウンタで前記予め定められた極性の前記通信データの個数を計数している途中で前記予め定められた極性と逆の極性の前記通信データとは無関係の外乱が入力された場合に前記カウンタによる前記クリアの動作を停止させる外乱キャンセル回路を備える
    請求項に記載の半導体装置。
  10. 前記通信装置の通信方式が調歩同期式通信であり、
    前記予め定められた条件が前記通信インタフェース部で受信される前記通信データにおいて予め定められた極性の通信データが予め定められた期間連続したことである
    請求項1〜請求項のいずれか1項に記載の半導体装置。
  11. 前記予め定められた期間が前記調歩同期式通信で用いるフレームの1単位に相当する期間より長い
    請求項10に記載の半導体装置。
  12. 請求項1〜請求項11のいずれか1項に記載の半導体装置、および通信線を介して前記通信インタフェース部に接続された対向通信装置を備えた対向装置を含む通信システムであって、
    前記対向装置は、前記通信システムにおいて予め定められた事象を検出した場合に前記対向通信装置から前記通信線を介し前記予め定められた条件の通信データを前記通信装置に送信することにより前記予め定められた条件に対応する動作を行う
    通信システム。
  13. 対向する対向装置に通信データを送信する送信モード、および前記対向装置からの通信データを受信する受信モードとが切り換え可能とされた通信インタフェース部を含む通信装置、前記受信モードにおいて前記対向装置から受信する前記通信データを監視し受信する前記通信データにおいて予め定められた条件が充足された場合に初期化信号を発出する監視部、および前記通信装置における通信で使用される第1の周波数の第1のクロック信号を発生する第1のクロック源を含む半導体装置を用いた初期化方法であって、
    前記対向装置は、通信線を介して前記通信インタフェース部に接続された対向通信装置、および前記通信装置との通信で使用される第2の周波数の第2のクロック信号を発生する第2のクロック源を含み、前記第1の周波数と前記第2の周波数のずれが予め定められた許容範囲外となった場合に予め定められた極性の通信データを前記通信装置に送信し、 前記監視部は、前記予め定められた極性の通信データを予め定められた期間連続して受信したことにより前記予め定められた条件が充足された場合に、前記初期化信号により前記通信装置のみを初期化する
    初期化方法。
JP2016160682A 2016-08-18 2016-08-18 半導体装置、通信システムおよび初期化方法 Active JP6927678B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016160682A JP6927678B2 (ja) 2016-08-18 2016-08-18 半導体装置、通信システムおよび初期化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016160682A JP6927678B2 (ja) 2016-08-18 2016-08-18 半導体装置、通信システムおよび初期化方法

Publications (2)

Publication Number Publication Date
JP2018029285A JP2018029285A (ja) 2018-02-22
JP6927678B2 true JP6927678B2 (ja) 2021-09-01

Family

ID=61247885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016160682A Active JP6927678B2 (ja) 2016-08-18 2016-08-18 半導体装置、通信システムおよび初期化方法

Country Status (1)

Country Link
JP (1) JP6927678B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021245975A1 (ja) * 2020-06-01 2021-12-09 日立Astemo株式会社 半導体装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06338919A (ja) * 1993-05-27 1994-12-06 Fuji Electric Co Ltd 情報処理装置
NZ504879A (en) * 1997-12-04 2003-05-30 Roche Diagnostics Corp Instrument for engaging a power cell
JP2001092686A (ja) * 1999-09-22 2001-04-06 Hitachi Ltd 半導体装置
JP2006172173A (ja) * 2004-12-16 2006-06-29 Canon Inc シリアル通信装置、データ通信装置、複写機、複合機
JP2011159126A (ja) * 2010-02-01 2011-08-18 Renesas Electronics Corp 集積回路装置及びその制御方法、並びにデバッグシステム及びその制御方法
JP2013206149A (ja) * 2012-03-28 2013-10-07 Renesas Electronics Corp 半導体集積回路装置及びそれを用いたシステム
JP5987069B2 (ja) * 2015-01-16 2016-09-06 ファナック株式会社 シリアル通信信号監視による内部レジスタ自己リセット機能を備えた数値制御システム

Also Published As

Publication number Publication date
JP2018029285A (ja) 2018-02-22

Similar Documents

Publication Publication Date Title
JP5951429B2 (ja) ウォッチドッグ回路、電源ic、及びウォッチドッグ監視システム
CN102855169B (zh) 根据有限信息的顺应性模式检测
EP3324269B1 (en) Single-chip microcomputer system, and reset method for single-chip microcomputer system
JP6538715B2 (ja) ハイブリッド仮想gpio
US8103896B2 (en) Method and system for I2C clock generation
CN110908841B (zh) 一种i2c通信异常恢复方法及装置
JP2007164765A (ja) Iicバス通信システム、スレーブ装置およびiicバス通信制御方法
US20090108878A1 (en) High-frequency clock detection circuit
US9747244B2 (en) Clockless virtual GPIO
JP2002085764A (ja) 遊技機
JP6696511B2 (ja) 通信装置、通信方法、プログラム、および通信システム
EP1619573B1 (en) Reset circuit and digital communication device
US8291255B1 (en) CDR control architecture for robust low-latency exit from the power-saving mode of an embedded CDR in a programmable integrated circuit device
JP6927678B2 (ja) 半導体装置、通信システムおよび初期化方法
CN110750374A (zh) 一种看门狗电路及其控制方法
CN114006842B (zh) 一种检测波特率的方法、装置、设备和介质
CN111045505A (zh) 一种片上系统的延时复位装置及方法
JP2018514873A (ja) 集積回路間の通信
CN111538626A (zh) 一种从i2c设备解挂死的方法
JP2009265739A (ja) データ送受信回路
CN108388481B (zh) Olt设备的智能看门狗电路系统
JP3894787B2 (ja) 受信回路
JP3166552B2 (ja) Cpu監視方法及びcpu監視装置
JP2007517327A (ja) 受信したシリアル転送アライメントシーケンスのレートの検証
TWI605338B (zh) 一種監控管理系統及其方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200428

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210129

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: 20210713

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210805

R150 Certificate of patent or registration of utility model

Ref document number: 6927678

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150