IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ルネサスエレクトロニクス株式会社の特許一覧

特開2024-59248半導体装置およびシリアル通信インタフェースの制御方法
<>
  • 特開-半導体装置およびシリアル通信インタフェースの制御方法 図1
  • 特開-半導体装置およびシリアル通信インタフェースの制御方法 図2
  • 特開-半導体装置およびシリアル通信インタフェースの制御方法 図3
  • 特開-半導体装置およびシリアル通信インタフェースの制御方法 図4
  • 特開-半導体装置およびシリアル通信インタフェースの制御方法 図5
  • 特開-半導体装置およびシリアル通信インタフェースの制御方法 図6
  • 特開-半導体装置およびシリアル通信インタフェースの制御方法 図7
  • 特開-半導体装置およびシリアル通信インタフェースの制御方法 図8
  • 特開-半導体装置およびシリアル通信インタフェースの制御方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024059248
(43)【公開日】2024-05-01
(54)【発明の名称】半導体装置およびシリアル通信インタフェースの制御方法
(51)【国際特許分類】
   H04L 7/04 20060101AFI20240423BHJP
【FI】
H04L7/04 400
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022166816
(22)【出願日】2022-10-18
(71)【出願人】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】宮 正
【テーマコード(参考)】
5K047
【Fターム(参考)】
5K047JJ04
5K047JJ08
5K047MM56
(57)【要約】
【課題】消費電力を低減することが可能なボーレートの補正が可能な半導体装置を提供する。
【解決手段】半導体装置は、基本クロックに基づく単位転送時間に従って外部との間で順序的な通信を行うシリアル通信インタフェースを備える。シリアル通信インタフェースは、第1のクロックと、第1のクロックよりも精度かつ電力消費量の高い第2のクロックと、第1のクロックを用いて基本クロックを生成する第1のボーレートジェネレータと、第2のクロックを用いて基本クロックを生成する第2のボーレートジェネレータと、第1のボーレートジェネレータを補正する制御回路とを備える。制御回路は、第2のボーレートジェネエータの第2のクロックに基づいて補正動作信号を出力する補正動作信号出力回路と、補正動作信号に基づいて補正値設定信号を出力する補正値設定回路とを含む。第2のボーレートジェネレータは、補正値設定信号に基づいて、補正動作信号に従う補正期間を第1のクロックでカウントし、カウント結果に基づいてボーレート補正値を設定する。
【選択図】図3
【特許請求の範囲】
【請求項1】
基本クロックに基づく単位転送時間に従って外部との間で順序的な通信を行うシリアル通信インタフェースを備え、
前記シリアル通信インタフェースは、
第1のクロックと、
前記第1のクロックよりも精度かつ電力消費量の高い第2のクロックと、
前記第1のクロックを用いて前記基本クロックを生成する第1のボーレートジェネレータと、
前記第2のクロックを用いて前記基本クロックを生成する第2のボーレートジェネレータと、
前記第1のボーレートジェネレータを補正する制御回路とを備え、
前記制御回路は、
前記第2のボーレートジェネエータの前記第2のクロックに基づいて補正動作信号を出力する補正動作信号出力回路と、
前記補正動作信号に基づいて補正値設定信号を出力する補正値設定回路とを含み、
前記第2のボーレートジェネレータは、前記補正値設定信号に基づいて、前記補正動作信号に従う補正期間を前記第1のクロックでカウントし、カウント結果に基づいてボーレート補正値を設定する、半導体装置。
【請求項2】
前記第1および第2のクロックは、スタートビットをトリガに起動する、請求項1記載の半導体装置。
【請求項3】
前記第2のボーレートジェネレータは、
前記第2のクロックを用いてカウントするカウンタと、
前記カウンタの所定のカウント値に基づいて一致信号を出力する比較回路とを含み、
前記補正動作信号出力回路は、
1回目の前記一致信号に従い前記補正動作信号を活性化させ、
2回目の前記一致信号に従い前記補正動作信号を非活性化させる、請求項2記載の半導体装置。
【請求項4】
前記第2のボーレートジェネレータは、前記補正期間の終了時に前記第2のクロックを停止する、請求項1記載の半導体装置。
【請求項5】
前記補正期間は、1/nビットの期間である、請求項1記載の半導体装置。
【請求項6】
基本クロックに基づく単位転送時間に従って外部との間で順序的な通信を行うシリアル通信インタフェースの制御方法であって、
第1のクロックを用いて前記基本クロックを生成するステップと、
前記第1のクロックよりも精度かつ電力消費量の高い第2のクロックに基づいて補正動作信号を生成するステップと、
前記補正動作信号に従う補正期間を前記第1のクロックでカウントするステップと、
カウント結果に基づいてボーレート補正値を設定するステップとを備える、シリアル通信インタフェースの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、シリアル通信のボーレートを補正するシリアル通信用ボーレートジェネレータに関する。
【背景技術】
【0002】
近年、自動車に搭載されるECU(Electoronic Contorl Unit: 電子制御装置)同士を結ぶ制御系車載ネットワークが広く普及している。現在、代表的な制御系車載ネットワークの通信プロトコルとしては、CAN(Controller Area Network)、LIN(Local Interconnect Network)、FlexRayがある。CANは主にパワートレイン系やシャーシ系のネットワークの標準規格として採用されている。LINは比較的低速(伝送速度1~20kbps)で使用されるボディ系のシリアル通信ネットワークの標準規格として採用されている。また、FlexRayはX-by-wireアプリケーションに対応するように規格化されている。
【0003】
LINは、車載ネットワークにおいて、高度な機能を持つ各種センサやアクチュエータの間でコスト効率の高い通信を実現するために、LINコンソーシアムにより標準規格として規定されたシリアル通信プロトコルである。LINは、CANほどの帯域幅と多様性を必要としない装置間の通信に用いられる。例えば、各種センサからの情報をCANに渡すまでの通信路として利用される。又、CANやFlexRAyに比べ、コスト的に安価である。
【0004】
LINの規格では、通信方式として既に普及しているUART(Universal Asynchronous Receiver Transmitter)インタフェースが利用される。LINのネットワークトポロジは特に規定されていないが、基本的にはバス型トポロジが採用される。LINはバスを介して相互に接続される1つのマスタノードと複数のスレーブノードとを具備する。現在は、1つのマスタノードに接続できるスレーブノードの数は最大15個までと規定されている。マスタノードとスレーブノードとはCPUを備えるマイコンが例示される。マスタノードにはマスタタスクを実行するためのプログラムとスレーブタスクを実行するためのプログラムが記憶装置に格納される。マスタタスクはフレームの転送時期や転送先を決定するタスクである。スレーブタスクはフレーム毎に転送するデータフィールドを準備する。スレーブノードではスレーブタスクのみ実行されるため、スレーブタスク用プログラムが記憶装置に格納される。尚、スレーブノードの記憶装置にマスタ用プログラムも格納されていても構わない。スレーブノードとして動作する場合はマスタ用プログラムが実行されないようプログラムで制御すればよい。マスタノードのCPUはマスタタスクを実行することでフレームヘッダをスレーブノードに送信する。スレーブノードのCPUはスレーブタスクを実行し、フレームヘッダに応答してレスポンス(データフィールドを含む)を送信する。マスタノードはスレーブタスクも実行可能なため、ヘッダに続いてデータフィールドを含むレスポンスを送信することができる。
【0005】
マスタノードがスレーブノードに送信するフレームヘッダには、先頭から順にシンクブレークフィールド(ブレークフィールド)、シンクフィールド(同期バイト)、IDフィールド(保護ID)が含まれる。又、ヘッダに続いて、最大8バイトのデータフィールドと1バイトのチェックサムを含むレスポンスが転送される。ブレークフィールドは、13ビット以上のLowレベル(ドミナントレベル)で構成される。シンクフィールドは8ビットの0x55のデータ値である。IDフィールドは、6ビットのIDと2ビットのパリティで構成される。
【0006】
LINにおけるアクセス方式はタイムトリガ方式である。このため、マスタタスクにはメッセージシーケンスが転送スケジュールとして予め設定されている。マスタノードはLINクラスタとしてアプリケーションを実行し、ネットワークを管理することができる。つまり、LIN内の全てのタスクは時間で管理されているため、同期が取れている限りメッセージの衝突は起こらない。
【0007】
LINにおいて同期を取るとは、シリアルデータを取得又は送信するためのサンプリングクロックの周期を、基準周期に一致させるように補正することである。通常、マスタノードのボーレートと一致するようにスレーブノードのボーレートを補正することにより同期を取る。スレーブノードは、マスタノードから送信される基準クロック(シンクフィールド)に基づき、ボーレートを補正する。又、このボーレートの補正はヘッダの到着毎に実行される。
【0008】
この点で、ボーレートを補正する種々の技術が提案されている(特許文献1-3参照)。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2006-311237号公報
【特許文献2】特開2007-324679号公報
【特許文献3】特開2011-114630号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
一方で、消費電力を低減する点でさらに改善を図る必要がある。
【0011】
本開示は、上記の課題を解決するためになされたものであって、消費電力を低減することが可能なボーレートの補正が可能な半導体装置およびシリアル通信インタフェースの制御方法を提供する。
【0012】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0013】
本開示の半導体装置は、基本クロックに基づく単位転送時間に従って外部との間で順序的な通信を行うシリアル通信インタフェースを備える。シリアル通信インタフェースは、第1のクロックと、第1のクロックよりも精度かつ電力消費量の高い第2のクロックと、第1のクロックを用いて基本クロックを生成する第1のボーレートジェネレータと、第2のクロックを用いて基本クロックを生成する第2のボーレートジェネレータと、第1のボーレートジェネレータを補正する制御回路とを備える。制御回路は、第2のボーレートジェネエータの第2のクロックに基づいて補正動作信号を出力する補正動作信号出力回路と、補正動作信号に基づいて補正値設定信号を出力する補正値設定回路とを含む。第2のボーレートジェネレータは、補正値設定信号に基づいて、補正動作信号に従う補正期間を第1のクロックでカウントし、カウント結果に基づいてボーレート補正値を設定する。
【0014】
本開示のシリアル通信インタフェースの制御方法は、基本クロックに基づく単位転送時間に従って外部との間で順序的な通信を行うシリアル通信インタフェースの制御方法であって、第1のクロックを用いて基本クロックを生成するステップと、第1のクロックよりも精度かつ電力消費量の高い第2のクロックに基づいて補正動作信号を生成するステップと、補正動作信号に従う補正期間を第1のクロックでカウントするステップと、カウント結果に基づいてボーレート補正値を設定するステップとを備える。
【発明の効果】
【0015】
本開示の半導体装置およびシリアル通信インタフェースの制御方法は、消費電力を低減することが可能なボーレートの補正が可能である。
【図面の簡単な説明】
【0016】
図1】実施形態1に基づくシリアル通信システムについて説明する図である。
図2】受信データRXの受信タイミングについて説明する図である。
図3】実施形態1に従うボーレート制御部50の回路構成について説明する図である。
図4】実施形態1に基づくシリアル通信回路の動作について説明する概念図である。
図5】実施形態1に基づくシリアル通信回路の詳細な動作について説明するタイミングチャート図である。
図6】実施形態2に基づくシリアル通信回路の動作について説明する概念図である。
図7】実施形態3に基づくシリアル通信回路の動作について説明する概念図である。
図8】実施形態3に基づくシリアル通信回路の詳細な動作について説明するタイミングチャート図である。
図9】実施形態1-3に従う構成と、比較例との消費電力の低減について説明する図である。
【発明を実施するための形態】
【0017】
実施形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
【0018】
(実施形態1)
図1は、実施形態1に基づくシリアル通信システムについて説明する図である。
【0019】
図1を参照して、実施形態1に従うシリアル通信システムとして、LIN(Local Interconnect Network)通信プロトコルを利用したLIN通信システムを一例に説明する。
【0020】
本開示に従うシリアル通信システムは、図示しないマスタノードと、少なくとも1つ以上のスレーブノードとで構成される。マスタノードとスレーブノードとの間でシリアル通信を実行する。
【0021】
本例においては、スレーブノードについて説明する。
【0022】
ここでは、スレーブノードは、シリアル通信回路1と、CPU100とを含む。シリアル通信回路1はUARTに例示されるシリアル通信用インタフェースである。
【0023】
シリアル通信回路1は、ボーレート制御部50と、I/Oインタフェース60とを含む。ボーレート制御部50は、I/Oインタフェース60を介して例えばマスタノードとシリアル通信を実行する。
【0024】
ボーレート制御部50は、ボーレートジェネレータ10,14と、制御回路12と、高速オンチップオシレータ(HOCO)18と、中速オンチップオシレータ(MOCO)22とを含む。
【0025】
制御回路12は、ボーレートジェネレータ14の補正動作を制御する。
【0026】
HOCO18は、高精度のクロック信号CLK2を出力する。
【0027】
ボーレートジェネレータ10は、HOCO18からのクロック信号CLK2の入力を受けて受信データRXを取得する。
【0028】
MOCO22は、クロック信号CLK1を出力する。クロック信号CLK1は、クロック信号CLK2よりもクロック精度が低い。一方、MOCO22は、HOCO18よりも消費電力は低い。
【0029】
ボーレートジェネレータ14は、MOCO22からのクロック信号CLK1の入力および制御回路12からの指示に従って受信データRXを取得する。
【0030】
図2は、受信データRXの受信タイミングについて説明する図である。
【0031】
図2を参照して、クロック信号が無いため、通信を行う前にあらかじめ送受信するデバイス間で、通信速度(ボーレート)を決めておく必要がある。
【0032】
具体的には、データラインの立ち下りエッジ(スタートビットST)を検出し、ボーレートで決まったビット時間毎にデータを取り込む必要がある。この点で、データの取り込みは、1ビット時間の中央のタイミングに合わせる必要があるため動作クロックに精度が求められる。
【0033】
この点で、MOCO22は、HOCO18よりも消費電力は低いがクロック精度も低い。
【0034】
したがって、MOCO22のみを用いてデータを取り込む際には適正なタイミングでデータを取り込む点で課題がある。
【0035】
本例においては、MOCO22から出力されるクロック信号CLK2を用いて精度の高い基本クロック(キャプチャ信号CP)を生成する方式について説明する。
【0036】
図3は、実施形態1に従うボーレート制御部50の回路構成について説明する図である。
【0037】
図3を参照して、ボーレートジェネレータ10は、エッジ検出回路40と、カウンター42と、比較回路44と、レジスタ46と、キャプチャ信号生成回路47と、スタートビット検出回路48と、受信データバッファ45とを含む。
【0038】
エッジ検出回路40は、HOCO18からのクロック信号CLK2を受けてクロック信号CLK2のエッジを検出して、検出信号をカウンター42に出力する。
【0039】
カウンター42は、エッジ検出回路40からの検出信号を受けてカウントアップする。
【0040】
カウンター42は、カウント値を比較回路44に出力する。
【0041】
比較回路44は、レジスタ46に格納されている比較値CMP2とカウント値とを比較して一致した場合に一致検出信号CH2を出力する。カウンター42は、比較回路44の一致検出信号CH2に従ってリセット動作する。
【0042】
一致検出信号CH2を用いて受信データRXの受信タイミングを規定する基本クロックとなるキャプチャ信号CP2が生成される。
【0043】
キャプチャ信号生成回路47は、一致検出信号CH2に基づいてキャプチャ信号CP2を生成する。キャプチャ信号生成回路47は、内部カウンターを有しており、本例においては内部カウンターのカウンター値が「1」に設定された場合にキャプチャ信号CP2(「H」レベル)を出力する。なお、次に、一致検出信号CH2が入力された場合には、カウター値は0に設定される。したがって、キャプチャ信号生成回路47は、一致検出信号CH2が2回入力される毎に一回キャプチャ信号CP2(「H」レベル)を出力する。
【0044】
受信データバッファ45は、キャプチャ信号CP2のタイミングに従って受信データRXのデータを順次格納する。
【0045】
スタートビット検出回路48は、受信データRXのスタートビットを検出する。具体的には、スタートビット検出回路48は、受信データRXの「L」レベルの立ち下がりを検出して、受信動作を開始する。具体的には、スタートビット検出回路48は、HOCO18を起動するHOCO起動信号を出力する。
【0046】
ボーレートジェネレータ14は、エッジ検出回路30と、カウンター32と、比較回路34と、レジスタ36と、キャプチャ信号生成回路37と、スタートビット検出回路38と、受信データバッファ39とを含む。
【0047】
エッジ検出回路30は、MOCO22からのクロック信号CLK1を受けてクロック信号CLK1のエッジを検出して、検出信号をカウンター32に出力する。
【0048】
カウンター32は、エッジ検出回路30からの検出信号を受けてカウントアップする。
【0049】
カウンター32は、補正動作信号に応じて起動動作を開始する。カウンター32は、補正値設定信号あるいは一致検出信号CH1に従ってリセット動作する。
【0050】
カウンター32は、カウント値を比較回路34およびレジスタ36に出力する。
【0051】
比較回路34は、レジスタ36に格納されている比較値CMP1とカウント値とを比較して一致した場合に一致検出信号CH1を出力する。
【0052】
一致検出信号CH1を用いて受信データRXの受信タイミングを規定する基本クロックとなるキャプチャ信号CP1を生成する。
【0053】
レジスタ36は、補正値設定信号に応じてカウンター32から出力されるカウント値を格納する。
【0054】
キャプチャ信号生成回路37は、一致検出信号CH1に基づいてキャプチャ信号CP1を生成する。キャプチャ信号生成回路37は、内部カウンターを有しており、本例においては内部カウンターのカウンター値が「1」に設定された場合にキャプチャ信号CP1(「H」レベル)を出力する。なお、次に、一致検出信号CH1が入力された場合には、カウター値は0に設定される。したがって、キャプチャ信号生成回路37は、一致検出信号CH1が2回入力される毎に一回キャプチャ信号CP1(「H」レベル)を出力する。
【0055】
受信データバッファ39は、キャプチャ信号CP1のタイミングに従って受信データRXのデータを順次格納する。
【0056】
スタートビット検出回路38は、受信データRXのスタートビットを検出する。具体的には、スタートビット検出回路38は、受信データRXの「L」レベルの立ち下がりを検出して、受信動作を開始する。具体的には、スタートビット検出回路38は、MOCO122を起動するMOCO起動信号を出力する。
【0057】
本例においては、ボーレートジェネレータ10および14の構成は基本的に同様の構成である。
【0058】
制御回路12は、ボーレートジェネレータ14の補正動作を制御する。
【0059】
制御回路12は、補正動作イネーブルレジスタ51と、補正動作信号出力回路52と、補正値設定信号出力回路54と、HOCO動作停止信号出力回路56と、AND回路AD1,AD2と、インバータIVとを含む。
【0060】
補正動作イネーブルレジスタ51は、レジスタ値を格納している。具体的には、ボーレートジェネレータ14の補正動作を実行する際にはレジスタ値は「1」に設定される。一方、ボーレートジェネレータ14の補正動作を実行しない場合にはレジスタ値は「0」に設定される。当該レジスタ値は図示しないが外部からの信号に基づいて設定可能に設けられている。
【0061】
AND回路AD1は、比較回路44からの一致検出信号CH2と、補正動作イネーブルレジスタ51からのレジスタ値に基づく信号とのAND論理演算結果を補正動作信号出力回路52に出力する。
【0062】
補正動作信号出力回路52は、補正動作信号を出力する。
【0063】
AND回路AD2は、補正動作信号出力回路52からの補正動作信号と、補正動作イネーブルレジスタ51からのレジスタ値に基づく信号とのAND論理演算結果をカウンター32に出力する。また、当該AND回路AD2の出力信号は、インバータIVを介してHOCO動作停止信号出力回路56および補正値設定信号出力回路54に入力される。
【0064】
AND回路AD1およびAD2に補正動作イネーブルレジスタ51からのレジスタ値に基づく信号が入力されているためはレジスタ値が「0」の場合には、補正動作信号出力回路52は動作しない。すなわち、補正動作は実行されない。
【0065】
本例においては、一例として、レジスタ値が「1」の場合について説明する。
【0066】
レジスタ値が「1」の場合には、比較回路44からの一致検出信号CH2が補正動作信号出力回路52に伝達される。
【0067】
補正動作信号出力回路52は、1回目の比較回路44からの一致検出信号CH2に従って補正動作信号を活性化(「H」レベル)させる。2回目の比較回路44からの一致検出信号CH2に従って補正動作信号を非活性化(「L」レベル)させる。
【0068】
HOCO動作停止信号出力回路56は、インバータIVを介して補正動作信号の入力を受けて動作する。HOCO動作停止信号出力回路56は、補正動作信号が「L」レベルとなった際に「H」レベルの入力を受ける。これに従ってHOCO動作停止信号出力回路56は、HOCO18を停止する指示を出力する。
【0069】
補正値設定信号出力回路54は、インバータIVを介して補正動作信号の入力を受けて動作する。補正値設定信号出力回路54は、補正動作信号が「L」レベルとなった際に「H」レベルの入力を受ける。これに従って補正値設定信号出力回路54は、補正値をレジスタ36に設定する補正値設定信号(「H」レベル)を出力する。
【0070】
図4は、実施形態1に基づくシリアル通信回路の動作について説明する概念図である。
【0071】
図4を参照して、時刻T1において、ボーレートジェネレータ10のスタートビット検出回路48は、受信データRXのスタートビットを検出してHOCO起動信号を出力する。また、ボーレートジェネレータ14のスタートビット検出回路38は、受信データRXのスタートビットを検出してMOCO起動信号を出力する。
【0072】
これにより、HOCO18は、クロック信号CLK2を出力する。また、MOCO22は、クロック信号CLK1を出力する。
【0073】
次に、時刻T2において、ボーレートジェネレータ10の比較回路44は、レジスタ46に格納されている比較値CMP2とカウント値との比較結果に基づいて一致検出信号CH2(「H」レベル)を出力する。比較値CMP2は、カウンター42がクロック信号CLK2のエッジをカウントしてスタートビットの期間の中央値となるタイミングで一致検出信号CH2を出力するように設定されている。これに伴い、補正動作信号出力回路52は、補正動作信号(「H」レベル)を出力する。
【0074】
ボーレートジェネレータ14は、補正動作信号(「H」レベル)の入力を受けて補正動作を開始する。具体的には、ボーレートジェネレータ14は、補正動作信号を受けて補正値を計算する。
【0075】
次に、時刻T3において、ボーレートジェネレータ10の比較回路44は、レジスタ46に格納されている比較値CMP2とカウント値との比較結果に基づいて一致検出信号CH2(「H」レベル)を出力する。比較値CMP2は、カウンター42がクロック信号CLK2のエッジをカウントしてスタートビットの期間の中央値となるタイミングで一致検出信号HT2を出力するように設定されているため時刻T3は、スタートビットの終了時刻に対応する。補正動作信号出力回路52は、2回目の一致検出信号CH2(「H」レベル)に従って補正動作信号(「L」レベル)を出力する。
【0076】
補正値設定信号出力回路54は、補正動作信号(「L」レベル)に従って補正値設定信号(「H」レベル)を出力する。
【0077】
さらに、HOCO動作停止信号出力回路56は、HOCO18を停止する指示を出力する。
【0078】
ボーレートジェネレータ14は、補正値設定信号を受けて計算した補正値をレジスタ36に保持する。ボーレートジェネレータ14は、当該補正値に基づいて受信データRXの受信動作を実行する。
【0079】
1ビット時間の中央値のタイミングとなる値に補正値が設定されるため受信データRXは、正確に受信データを取り込むことが可能となる。
【0080】
そして、本例に示されるようにスタートビットが来るまでは、シリアル通信回路1の内部回路は全て停止している。
【0081】
そして、受信データRXのスタートビットが終了後、HOCO18が停止するためボーレートジェネレータ10は、動作を停止し、ボーレートジェネレータ14のみが動作を継続する。
【0082】
したがって、ボーレートジェネレータ10は、スタートビットの期間中のみ駆動しており、その他の期間は停止しているため消費電力を低減することが可能である。
【0083】
図5は、実施形態1に基づくシリアル通信回路の詳細な動作について説明するタイミングチャート図である。
【0084】
図5を参照して、時刻T1において、ボーレートジェネレータ10のスタートビット検出回路48は、受信データRXのスタートビットを検出してHOCO起動信号を出力する。また、ボーレートジェネレータ14のスタートビット検出回路38は、受信データRXのスタートビットを検出してMOCO起動信号を出力する。
【0085】
これにより、HOCO18は、クロック信号CLK2を出力する。また、MOCO22は、クロック信号CLK1を出力する。
【0086】
次に、ボーレートジェネレータ10の比較回路44は、レジスタ46に格納されている比較値CMP2(N)とカウント値との比較結果に基づいて一致検出信号CH2(「H」レベル)を出力し、時刻T2において、補正動作信号出力回路52は、補正動作信号(「H」レベル)を出力する。カウンター42は、一致検出信号HT2に従ってリセットされる。
【0087】
ボーレートジェネレータ14のカウンター32は、補正動作信号(「H」レベル)を受けてカウントを開始する。
【0088】
次に、ボーレートジェネレータ10の比較回路44は、レジスタ46に格納されている比較値CMP2(N)とカウント値との比較結果に基づいて再び一致検出信号CH2(「H」レベル)を出力し、時刻T3において、補正動作信号出力回路52は、補正動作信号(「L」レベル)を出力する。
【0089】
補正値設定信号出力回路54は、補正動作信号(「L」レベル)を受けて補正値設定信号(「H」レベル)を出力する。
【0090】
また、ボーレートジェネレータ14のレジスタ36は、補正値設定信号(「H」レベル)を受けてカウンター32でカウントした値を補正値として設定する。本例においては、カウンター値(M)がレジスタ36に登録された場合が示されている。また、ボーレートジェネレータ14のカウンター32は、補正値設定信号(「H」レベル)あるいは一致検出信号CH1に従ってリセットされる。
【0091】
次に、時刻T4において、ボーレートジェネレータ14の比較回路34は、レジスタ36に格納されている比較値CMP1(M)とカウント値との比較結果に基づいて一致検出信号CH1(「H」レベル)を出力する。
【0092】
時刻T4において、キャプチャ信号生成回路37は、内部カウンターを有しており、本例においては、内部カウンターが「1」の場合にキャプチャ信号CP1(「H」レベル)を出力する。
【0093】
受信データバッファ45は、キャプチャ信号CP1(「H」レベル)に従って受信データRXの受信動作を実行する。
【0094】
次に、時刻T5において、ボーレートジェネレータ14の比較回路34は、レジスタ36に格納されている比較値CMP1(M)とカウント値との比較結果に基づいて一致検出信号CH1(「H」レベル)を出力する。
【0095】
時刻T5において、キャプチャ信号生成回路37は、内部カウンターを有しており、本例においては、内部カウンターが「0」となる。この場合には、キャプチャ信号CP1(「L」レベル)を出力する。この場合、受信データバッファ45は、キャプチャ信号CP1(「L」レベル)であるため受信データRXの受信動作を実行しない。
【0096】
次に、一致検出信号CH1(「H」レベル)が出力された場合に、キャプチャ信号生成回路37はキャプチャ信号CP1(「H」レベル)を出力する。受信データバッファ45は、キャプチャ信号CP1(「H」レベル)に従って受信データRXの受信動作を実行する。以降の処理については同様である。
【0097】
実施形態においては、1ビット時間の中央値のタイミングとなる値にキャプチャ信号CP1(「H」レベル)に設定されるため受信データRXは、正確に受信データを取り込むことが可能となる。
【0098】
そして、本例に示されるようにスタートビットが来るまでは、シリアル通信回路1の内部回路は全て停止している。
【0099】
そして、スタートビットが終了後、ボーレートジェネレータ10は、動作を停止し、ボーレートジェネレータ14のみが動作を継続する。
【0100】
したがって、ボーレートジェネレータ10は、スタートビットの期間中のみ駆動しており、その他の期間は停止しているため消費電力を低減することが可能である。
【0101】
(実施形態2)
上記の実施形態1においては、補正動作の期間を1/2ビットの期間に指定して当該期間中に補正値を設定する方式について説明した。
【0102】
一方、これに限られず補正動作の期間を1ビットの期間とすることも可能である。
【0103】
具体的には、レジスタ46が複数の比較値CMP2を有する。一例として、1個目の比較値CMP2として「N」に設定する。比較値CMP2(N)は、カウンター42がクロック信号CLK2のエッジをカウントしてスタートビットの期間の中央値となるタイミングで一致検出信号CH2を出力するように設定されている。
【0104】
次に、2個目の比較値CMP2として「2N」に設定する。比較値CMP2(2N)は、1ビットの期間となるタイミングで一致検出信号CH2を出力するように設定されている。
【0105】
また、本例においては、キャプチャ信号生成回路47は、内部カウンターを非活性化する。すなわち、キャプチャ信号生成回路47は、一致検出信号CH2(「H」レベル)の入力に従ってキャプチャ信号CP2(「H」レベル)を出力する。したがって、キャプチャ信号生成回路47は、一致検出信号CH2が1回入力される毎に一回キャプチャ信号CP2(「H」レベル)を出力する。
【0106】
同様に、キャプチャ信号生成回路37は、内部カウンターを非活性化する。すなわち、キャプチャ信号生成回路37は、一致検出信号CH1(「H」レベル)の入力に従ってキャプチャ信号CP1(「H」レベル)を出力する。したがって、キャプチャ信号生成回路37は、一致検出信号CH1が1回入力される毎に一回キャプチャ信号CP1(「H」レベル)を出力する。
【0107】
図6は、実施形態2に基づくシリアル通信回路の動作について説明する概念図である。
【0108】
図6を参照して、時刻T10において、ボーレートジェネレータ10のスタートビット検出回路48は、受信データRXのスタートビットを検出してHOCO起動信号を出力する。また、ボーレートジェネレータ14のスタートビット検出回路38は、受信データRXのスタートビットを検出してMOCO起動信号を出力する。
【0109】
これにより、HOCO18は、クロック信号CLK2を出力する。また、MOCO22は、クロック信号CLK1を出力する。
【0110】
次に、時刻T11において、ボーレートジェネレータ10の比較回路44は、レジスタ46に格納されている1個目の比較値CMP2(N)とカウント値との比較結果に基づいて一致検出信号CH2(「H」レベル)を出力する。比較値CMP2は、カウンター42がクロック信号CLK2のエッジをカウントしてスタートビットの期間の中央値となるタイミングで一致検出信号CH2を出力するように設定されている。これに伴い、補正動作信号出力回路52は、補正動作信号(「H」レベル)を出力する。
【0111】
ボーレートジェネレータ14は、補正動作信号(「H」レベル)の入力を受けて補正動作を開始する。具体的には、ボーレートジェネレータ14は、補正動作信号を受けて補正値を計算する。
【0112】
次に、時刻T12において、ボーレートジェネレータ10の比較回路44は、レジスタ46に格納されている2個目の比較値CMP2(2N)とカウント値との比較結果に基づいて一致検出信号CH2を出力する。補正動作信号出力回路52は、2回目の一致検出信号CH2の入力を受けて補正動作信号(「L」レベル)を出力する。
【0113】
補正値設定信号出力回路54は、補正動作信号(「L」レベル)を受けて補正値設定信号(「H」レベル)を出力する。
【0114】
また、ボーレートジェネレータ14のレジスタ36は、補正値設定信号(「H」レベル)を受けてカウンター32でカウントした値を補正値として設定する。本例においては、カウンター値(M#)がレジスタ36に登録された場合が示されている。また、ボーレートジェネレータ14のカウンター32は、補正値設定信号(「H」レベル)あるいは一致検出信号CH1に従ってリセットされる。
【0115】
ボーレートジェネレータ14は、補正値設定信号を受けて計算した補正値(M#)を保持する。ボーレートジェネレータ14は、当該補正値(M#)に基づいて受信データRXの受信動作を実行する。
【0116】
当該補正値(M#)は、データD0を受信してから1ビット時間経過のタイミングとなるため、データD1・・・等の受信データRXを正確に取り込むことが可能となる。
【0117】
そして、本例に示されるようにスタートビットが来るまでは、シリアル通信回路1の内部回路は全て停止している。
【0118】
そして、補正動作終了後、ボーレートジェネレータ10は、動作を停止し、ボーレートジェネレータ14のみが動作を継続する。
【0119】
したがって、ボーレートジェネレータ10は、補正動作以外の期間は停止しているため消費電力を低減することが可能である。
【0120】
また、MOCO22から出力されるクロック信号CLK1の1ビット期間を正確に測って補正することになり、実施形態1よりも精度の高いタイミングで受信データRXの検出が可能である。
【0121】
(実施形態3)
上記の実施形態1では、補正動作の期間を1/2ビットの期間に指定した場合について説明した。また、実施形態2では、補正動作の期間を1ビットの期間に指定した場合について説明した。すなわち、本例においては、1/nビットの期間に指定することが可能である。一例として1/4ビットの期間に指定する場合について説明する。
【0122】
具体的には、レジスタ46が複数の比較値CMP2を有する。一例として、1個目の比較値CMP2として「N」に設定する。比較値CMP2(N)は、カウンター42がクロック信号CLK2のエッジをカウントしてスタートビットの期間の中央値となるタイミングで一致検出信号CH2を出力するように設定されている。
【0123】
次に、2個目の比較値CMP2として「N/2」に設定する。比較値CMP2(N/2)は、1/4ビットの期間となるタイミングで一致検出信号CH2を出力するように設定されている。
【0124】
また、本例においては、キャプチャ信号生成回路47には、内部カウンターが設けられており、キャプチャ信号CP2に従って内部カウンターのカウンター値が変化する。本例においてはカウンター値は「0~3」まで変化する場合について説明する。内部カウンターのカウンター値が「3」に設定された場合に一致検出信号CH2(「H」レベル)が入力されるとリセットされて「0」になる。なお、本例の場合には、内部カウンターのカウンター値が「1」の場合に、キャプチャ信号CP2が「H」レベルに設定される。
【0125】
キャプチャ信号生成回路47は、一致検出信号CH2が4回入力される毎に一回キャプチャ信号CP2(「H」レベル)を出力する。
【0126】
同様に、キャプチャ信号生成回路37は、内部カウンターが設けられており、キャプチャ信号CP1に従って内部カウンターのカウンター値が変化する。本例においてはカウンター値は「0~3」まで変化する場合について説明する。内部カウンターのカウンター値が「3」に設定された場合に一致検出信号CH1(「H」レベル)が入力されるとリセットされて「0」になる。なお、本例の場合には、内部カウンターのカウンター値が「3」の場合に、キャプチャ信号CP2が「H」レベルに設定される。キャプチャ信号生成回路37は、一致検出信号CH1が4回入力される毎に一回キャプチャ信号CP1(「H」レベル)を出力する。
【0127】
図7は、実施形態3に基づくシリアル通信回路の動作について説明する概念図である。
【0128】
図7を参照して、時刻T21において、ボーレートジェネレータ10のスタートビット検出回路48は、受信データRXのスタートビットを検出してHOCO起動信号を出力する。また、ボーレートジェネレータ14のスタートビット検出回路38は、受信データRXのスタートビットを検出してMOCO起動信号を出力する。
【0129】
これにより、HOCO18は、クロック信号CLK2を出力する。また、MOCO22は、クロック信号CLK1を出力する。
【0130】
次に、時刻T22において、ボーレートジェネレータ10の比較回路44は、レジスタ46に格納されている1個目の比較値CMP2(N)とカウント値との比較結果に基づいて一致検出信号CH2(「H」レベル)を出力する。比較値CMP2は、カウンター42がクロック信号CLK2のエッジをカウントしてスタートビットの期間の中央値となるタイミングで一致検出信号CH2を出力するように設定されている。これに伴い、補正動作信号出力回路52は、補正動作信号(「H」レベル)を出力する。
【0131】
ボーレートジェネレータ14は、補正動作信号(「H」レベル)の入力を受けて補正動作を開始する。具体的には、ボーレートジェネレータ14は、補正動作信号を受けて補正値を計算する。
【0132】
次に、時刻T23において、ボーレートジェネレータ10の比較回路44は、レジスタ46に格納されている2個目の比較値CMP2(N/2)とカウント値との比較結果に基づいて一致検出信号CH2(「H」レベル)を出力する。
【0133】
時刻T23において、補正動作信号出力回路52は、補正動作信号(「L」レベル)を出力する。
【0134】
補正値設定信号出力回路54は、補正動作信号(「L」レベル)を受けて補正値設定信号(「H」レベル)を出力する。
【0135】
また、ボーレートジェネレータ14のレジスタ36は、補正値設定信号(「H」レベル)を受けてカウンター32でカウントした値を補正値として設定する。本例においては、カウンター値(MP)がレジスタ36に登録された場合が示されている。また、ボーレートジェネレータ14のカウンター32は、補正値設定信号(「H」レベル)あるいは一致検出信号CH1に従ってリセットされる。
【0136】
次に、時刻T24において、ボーレートジェネレータ14の比較回路34は、レジスタ36に格納されている比較値CMP1(MP)とカウント値との比較結果に基づいて一致検出信号CH1(「H」レベル)を出力する。
【0137】
時刻T24において、キャプチャ信号生成回路37は、内部カウンターを有しており、本例においては、内部カウンターが「1」に設定される。
【0138】
次に、時刻T25において、ボーレートジェネレータ14の比較回路34は、レジスタ36に格納されている比較値CMP1(MP)とカウント値との比較結果に基づいて一致検出信号CH1(「H」レベル)を出力する。
【0139】
時刻T25において、キャプチャ信号生成回路37は、内部カウンターを有しており、本例においては、内部カウンターが「2」に設定される。
【0140】
次に、時刻T26において、ボーレートジェネレータ14の比較回路34は、レジスタ36に格納されている比較値CMP1(MP)とカウント値との比較結果に基づいて一致検出信号CH1(「H」レベル)を出力する。
【0141】
時刻T26において、キャプチャ信号生成回路37は、内部カウンターを有しており、本例においては、内部カウンターが「3」に設定される。
【0142】
キャプチャ信号生成回路37は、本例においては、内部カウンターが「3」の場合にキャプチャ信号CP1(「H」レベル)を出力する。
【0143】
受信データバッファ45は、キャプチャ信号CP1(「H」レベル)に従って受信データRXの受信動作を実行する。
【0144】
次に、時刻T27において、ボーレートジェネレータ14の比較回路34は、レジスタ36に格納されている比較値CMP1(M)とカウント値との比較結果に基づいて一致検出信号CH1(「H」レベル)を出力する。
【0145】
時刻T27において、キャプチャ信号生成回路37は、内部カウンターを有しており、本例においては、内部カウンターが「0」となる。
【0146】
次に、時刻T28において、ボーレートジェネレータ14の比較回路34は、レジスタ36に格納されている比較値CMP1(M)とカウント値との比較結果に基づいて一致検出信号CH1(「H」レベル)を出力する。
【0147】
時刻T28において、キャプチャ信号生成回路37は、内部カウンターを有しており、本例においては、内部カウンターが「1」となる。
【0148】
次に、時刻T29において、ボーレートジェネレータ14の比較回路34は、レジスタ36に格納されている比較値CMP1(M)とカウント値との比較結果に基づいて一致検出信号CH1(「H」レベル)を出力する。
【0149】
時刻T29において、キャプチャ信号生成回路37は、内部カウンターを有しており、本例においては、内部カウンターが「2」となる。
【0150】
次に、時刻T30において、ボーレートジェネレータ14の比較回路34は、レジスタ36に格納されている比較値CMP1(M)とカウント値との比較結果に基づいて一致検出信号CH1(「H」レベル)を出力する。
【0151】
時刻T30において、キャプチャ信号生成回路37は、内部カウンターを有しており、本例においては、内部カウンターが「3」となる。キャプチャ信号生成回路37は、本例においては、内部カウンターが「3」の場合にキャプチャ信号CP1(「H」レベル)を出力する。
【0152】
受信データバッファ45は、キャプチャ信号CP1(「H」レベル)に従って受信データRXの受信動作を実行する。以降の処理については同様である。
【0153】
補正値(MP)は、1/4ビットの期間に相当する。
【0154】
ボーレートジェネレータ14は、補正値に基づいて受信データRXの受信動作を実行する。具体的には、最初のデータD0については、キャプチャ信号生成回路3の内部カウンターが「3」の場合にキャプチャ信号CP1(「H」レベル)により取り込まれる。
【0155】
次に、次のデータD1についてもキャプチャ信号生成回路3の内部カウンターが「3」の場合にキャプチャ信号CP1(「H」レベル)により取り込まれる。以降、同様にして、受信データRXを正確に取り込むことが可能となる。
【0156】
本例に示されるようにスタートビットが来るまでは、シリアル通信回路1の内部回路は全て停止している。
【0157】
そして、補正動作終了後、ボーレートジェネレータ10は、動作を停止し、ボーレートジェネレータ14のみが動作を継続する。
【0158】
したがって、ボーレートジェネレータ10は、補正動作以外の期間は停止しているため消費電力を低減することが可能である。
【0159】
補正動作の期間を短くすることにより、ボーレートジェネレータ10の動作期間を短縮して消費電力を低減することが可能となる。
【0160】
図8は、実施形態3に基づくシリアル通信回路の詳細な動作について説明するタイミングチャート図である。
【0161】
図8を参照して、時刻T21において、ボーレートジェネレータ10のスタートビット検出回路48は、受信データRXのスタートビットを検出してHOCO起動信号を出力する。また、ボーレートジェネレータ14のスタートビット検出回路38は、受信データRXのスタートビットを検出してMOCO起動信号を出力する。
【0162】
これにより、HOCO18は、クロック信号CLK2を出力する。また、MOCO22は、クロック信号CLK1を出力する。
【0163】
次に、ボーレートジェネレータ10の比較回路44は、レジスタ46に格納されている比較値CMP2(N)とカウント値との比較結果に基づいて一致検出信号CH2(「H」レベル)を出力し、時刻T22において、補正動作信号出力回路52は、補正動作信号(「H」レベル)を出力する。カウンター42は、一致検出信号HT2に従ってリセットされる。
【0164】
ボーレートジェネレータ14のカウンター32は、補正動作信号(「H」レベル)を受けてカウントを開始する。
【0165】
次に、ボーレートジェネレータ10の比較回路44は、レジスタ46に格納されている比較値CMP2(N/2)とカウント値との比較結果に基づいて再び一致検出信号CH2(「H」レベル)を出力し、時刻T23において、補正動作信号出力回路52は、補正動作信号(「L」レベル)を出力する。
【0166】
補正値設定信号出力回路54は、補正動作信号(「L」レベル)を受けて補正値設定信号(「H」レベル)を出力する。
【0167】
また、ボーレートジェネレータ14のレジスタ36は、補正値設定信号(「H」レベル)を受けてカウンター32でカウントした値を補正値として設定する。本例においては、カウンター値(MP)がレジスタ36に登録された場合が示されている。また、ボーレートジェネレータ14のカウンター32は、補正値設定信号(「H」レベル)あるいは一致検出信号CH1に従ってリセットされる。
【0168】
次に、時刻T24において、ボーレートジェネレータ14の比較回路34は、レジスタ36に格納されている比較値CMP1(MP)とカウント値との比較結果に基づいて一致検出信号CH1(「H」レベル)を出力する。
【0169】
時刻T24において、キャプチャ信号生成回路37は、内部カウンターを有しており、本例においては、内部カウンターが「1」に設定される。
【0170】
次に、時刻T25において、ボーレートジェネレータ14の比較回路34は、レジスタ36に格納されている比較値CMP1(MP)とカウント値との比較結果に基づいて一致検出信号CH1(「H」レベル)を出力する。
【0171】
時刻T25において、キャプチャ信号生成回路37は、内部カウンターを有しており、本例においては、内部カウンターが「2」に設定される。
【0172】
次に、時刻T26において、ボーレートジェネレータ14の比較回路34は、レジスタ36に格納されている比較値CMP1(MP)とカウント値との比較結果に基づいて一致検出信号CH1(「H」レベル)を出力する。
【0173】
時刻T26において、キャプチャ信号生成回路37は、内部カウンターを有しており、本例においては、内部カウンターが「3」に設定される。
【0174】
キャプチャ信号生成回路37は、本例においては、内部カウンターが「3」の場合にキャプチャ信号CP1(「H」レベル)を出力する。
【0175】
受信データバッファ45は、キャプチャ信号CP1(「H」レベル)に従って受信データRXの受信動作を実行する。
【0176】
次に、時刻T27において、ボーレートジェネレータ14の比較回路34は、レジスタ36に格納されている比較値CMP1(M)とカウント値との比較結果に基づいて一致検出信号CH1(「H」レベル)を出力する。
【0177】
時刻T27において、キャプチャ信号生成回路37は、内部カウンターを有しており、本例においては、内部カウンターが「0」となる。この場合には、キャプチャ信号CP1(「L」レベル)を出力する。この場合、受信データバッファ45は、キャプチャ信号CP1(「L」レベル)であるため受信データRXの受信動作を実行しない。
【0178】
実施形態においては、1ビット時間の中央値のタイミングとなる値にキャプチャ信号CP1(「H」レベル)に設定されるため受信データRXは、正確に受信データを取り込むことが可能となる。
【0179】
そして、本例に示されるようにスタートビットが来るまでは、シリアル通信回路1の内部回路は全て停止している。
【0180】
そして、スタートビットが終了後、ボーレートジェネレータ10は、動作を停止し、ボーレートジェネレータ14のみが動作を継続する。
【0181】
したがって、ボーレートジェネレータ10は、スタートビットの期間中のみ駆動しており、その他の期間は停止しているため消費電力を低減することが可能である。
【0182】
図9は、実施形態1-3に従う構成と、比較例との消費電力の低減について説明する図である。
【0183】
図9を参照して、本例における比較例はボーレートジェネレータ10およびHOCO18の動作を停止しない場合である。
【0184】
一例として、補正期間を1/2ビット期間にした場合には、61.4%の電流カット率である場合が示されている。
【0185】
また、補正期間を1ビット期間にした場合には、57.7%の電流カット率である場合が示されている。
【0186】
また、補正期間を1/4ビット期間にした場合には、64.9%の電流カット率である場合が示されている。
【0187】
補正期間が短くなることにより消費電力を低減することが可能であることが示されている。
【0188】
以上、本開示を実施形態に基づき具体的に説明したが、本開示は、実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【0189】
1 シリアル通信回路、10,14 ボーレートジェネレータ、30,40 エッジ検出回路、32,42 カウンター、34,44 比較回路、36,46 レジスタ、38,48 スタートビット検出回路、39,45 受信データバッファ、52 補正動作信号出力回路、54 補正値設定信号出力回路、60 I/Oインタフェース。
図1
図2
図3
図4
図5
図6
図7
図8
図9