(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6232313
(24)【登録日】2017年10月27日
(45)【発行日】2017年11月15日
(54)【発明の名称】同期式シリアル通信方法およびスレーブ装置
(51)【国際特許分類】
G06F 1/04 20060101AFI20171106BHJP
G06F 13/42 20060101ALI20171106BHJP
【FI】
G06F1/04 510
G06F13/42 350B
【請求項の数】6
【全頁数】10
(21)【出願番号】特願2014-33642(P2014-33642)
(22)【出願日】2014年2月25日
(65)【公開番号】特開2015-158824(P2015-158824A)
(43)【公開日】2015年9月3日
【審査請求日】2017年1月10日
(73)【特許権者】
【識別番号】000191238
【氏名又は名称】新日本無線株式会社
(74)【代理人】
【識別番号】100083194
【弁理士】
【氏名又は名称】長尾 常明
(72)【発明者】
【氏名】小笠原 健一
【審査官】
山崎 誠也
(56)【参考文献】
【文献】
特表2012−504263(JP,A)
【文献】
米国特許出願公開第2011/0161717(US,A1)
【文献】
特開2012−083283(JP,A)
【文献】
特開2009−094933(JP,A)
【文献】
特開2013−235293(JP,A)
【文献】
特開2002−271306(JP,A)
【文献】
特開2013−143683(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/04−1/14
G06F 13/42
(57)【特許請求の範囲】
【請求項1】
クロック信号とデータ信号とチップイネーブル信号をマスタ装置又は前段のスレーブ装置から入力し処理して当該段のスレーブ装置の識別あるいは制御を行い、当該段のスレーブ装置から後段のスレーブ装置に、前記クロック信号と前記データ信号と前記チップイネーブル信号を再生して転送する同期式シリアル通信方法において、
当該段のスレーブ装置は、前記マスタ装置又は前記前段のスレーブ装置から前記データ信号のデータ区間が到来する前に前記マスタ装置又は前記前段のスレーブ装置から前記クロック信号の半周期のn倍(nは1以上の正の整数)のパルス幅をもつ基準パルスを入力すると、該基準パルスのパルス幅に基づいて前記クロック信号のデューティを補正し、該デューティ補正後のクロック信号を新たなクロック信号として後段のスレーブ装置に転送することを特徴とする同期式シリアル通信方法。
【請求項2】
請求項1に記載の同期式シリアル通信方法において、
前記データ信号は、前記新たなクロック信号によりリタイミングされて新たなデータ信号として当該段のスレーブ装置から出力することを特徴とする同期式シリアル通信方法。
【請求項3】
請求項1又は2に記載の同期式シリアル通信方法において、
前記基準パルスは、前記クロック信号のクロック区間の前、前記データ信号のデータ区間の前、又は前記チップイネーブル信号のチップ選択区間の前に含まれていることを特徴とする同期式シリアル通信方法。
【請求項4】
クロック信号とデータ信号とチップイネーブル信号をマスタ装置又は前段のスレーブ装置から入力し処理して当該段のスレーブ装置の識別あるいは制御を行い、当該段のスレーブ装置から後段のスレーブ装置に、前記クロック信号と前記データ信号と前記チップイネーブル信号を再生して転送する同期式シリアル通信方法の実施に使用するスレーブ装置であって、
前記マスタ装置又は前記前段のスレーブ装置から前記データ信号のデータ区間が到来する前に前記マスタ装置又は前記前段のスレーブ装置から前記クロック信号の半周期のn倍(nは1以上の正の整数)のパルス幅をもつ基準パルスを入力すると該基準パルスのパルス幅をカウントする第1のカウンタと、
前記クロック信号の第1のエッジを入力するとカウントを開始する第2のカウンタと、
前記クロック信号の前記第1のエッジを入力すると新たなクロック信号の第1のエッジを生成し、前記第2のカウンタによるカウント値が前記第1のカウンタで得られたカウント値の1/nの値に一致すると前記新たなクロック信号の第2のエッジを生成するクロック出力回路と、
を備えることを特徴とするスレーブ装置。
【請求項5】
請求項4に記載のスレーブ装置において、
前記データ信号は、前記クロック出力回路により出力される前記新たなクロック信号によりリタイミングされて新たなデータ信号として出力することを特徴とするスレーブ装置。
【請求項6】
請求項4又は5に記載のスレーブ装置において、
前記基準パルスは、前記クロック信号のクロック区間の前、前記データ信号のデータ区間の前、又は前記チップイネーブル信号のチップ選択区間の前に含まれていることを特徴とするスレーブ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ信号の他にチップイネーブル信号とクロック信号をマスタ装置から2以上のスレーブ装置に送信して所定のスレーブ装置を制御する同期式シリアル通信方法およびそれに使用するスレーブ装置に関する。
【背景技術】
【0002】
同期式シリアル通信方式では、
図4に示すように、1個のマスタ装置(図示せず)から例えば4個のスレーブ装置31〜34に対してデータ信号DATAを送信する際、クロック信号CLKの信号線とチップイネーブル信号CEの信号線は各スレーブ装置31〜34に並列接続し、データ信号DATAの信号線はマスタ装置又は前段のスレーブ装置の出力を後段のスレーブ装置に接続する手法が採用されている(類似のものとして特許文献1)。
【0003】
ところが、例えば、マスタ装置からの指示によってバッテリのセルの電圧を個々にチェックする装置は、
図5に示すように、直列に接続されたセルE1〜E4を対象とするものであるので、それぞれのセルE1〜E4の電圧をチェックするスレーブ装置41〜44では後段になるほどバッテリ電圧が高くなる。このため、クロック信号CLKを各スレーブ装置41〜44に共通に並列接続することができないので、データ信号DATAおよびチップイネーブル信号CEとともに、そのクロック信号CLKをマスタ装置又は前段のスレーブ装置から後段のスレーブ装置に伝達する構成となっている。
【0004】
図6に、
図5で説明したスレーブ装置41からセル電圧チェック部分を省略したセル識別用のスレーブ装置の回路を示した。51はチップイネーブル信号CE_INの入力端子、52はデータ信号DATA_INの入力端子、53はクロック信号CLK_INの入力端子、54はチップイネーブル信号CE_OUTの出力端子、55はデータ信号DATA_OUTの出力端子、56はクロック信号CLK_OUTの出力端子である。
【0005】
入力したデータ信号DATA_INは、入力したクロック信号CLK_INによってシフトレジスタ57に取り込まれてシフトされ、単位データ分(例えば2バイド分)が取り込まれた時点でチップイネーブル信号CE_INのエッジが入力することで、そのシフトレジスタ57に蓄積されたパラレルデータがラッチ回路58にラッチされる。そして、このラッチ回路58にラッチされたデータが識別回路(図示せず)でセル識別に使用される。59〜61はバッファである。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2010−186377号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、
図5、
図6に示す構成のように、データ信号DATA_INおよびチップイネーブル信号CE_INとともに、クロック信号CLK_INをマスタ装置又は前段のスレーブ装置から取り込み、後段のスレーブ装置に送り出すシリアル通信方式では、そのスレーブ装置の段数が多くなると、後段のスレーブ装置に至るほどクロック信号の遅延が蓄積され、最終段のスレーブ装置ではクロック信号が欠落する可能性がある。
図7に、
図5の通信方式における4段のスレーブ装置が接続された場合の各段におけるクロック信号CLK1〜CLK4の波形を示した。
【0008】
なお、このように劣化するクロック信号を補正できるように、
図8に示すように、データ信号に、ブレーク信号BRとデータDAT1,DATA2の区間と間にシンクフィールドSFを挿入しておき、このシンクフィールドSFによってクロックの再生を行うようにする方式もあるが、特別にシンクフィールドSFを伝送する必要があり、処理が複雑となり、またデータ転送効率が低下する問題がある。
【0009】
本発明の目的は、スレーブ装置においてクロック信号の劣化を補償できるようにした同期式シリアル通信方法およびスレーブ装置を提供することである。
【課題を解決するための手段】
【0010】
上記目的を達成するために、請求項1にかかる発明は、クロック信号とデータ信号とチップイネーブル信号をマスタ装置又は前段のスレーブ装置から入力し処理して当該段のスレーブ装置の識別あるいは制御を行い、当該段のスレーブ装置から後段のスレーブ装置に、前記クロック信号と前記データ信号と前記チップイネーブル信号を再生して転送する同期式シリアル通信方法において、当該段のスレーブ装置は、前記マスタ装置又は前記前段のスレーブ装置から前記データ信号のデータ区間が到来する前に前記マスタ装置又は前記前段のスレーブ装置から前記クロック信号の半周期のn倍(nは1以上の正の整数)のパルス幅をもつ基準パルスを入力すると、該基準パルスのパルス幅に基づいて前記クロック信号のデューティを補正し、該デューティ補正後のクロック信号を新たなクロック信号として後段のスレーブ装置に転送することを特徴とする。
【0011】
請求項2にかかる発明は、請求項1に記載の同期式シリアル通信方法において、前記データ信号は、前記新たなクロック信号によりリタイミングされて新たなデータ信号として当該段のスレーブ装置から出力することを特徴とする。
【0012】
請求項3にかかる発明は、請求項1又は2に記載の同期式シリアル通信方法において、前記基準パルスは、前記クロック信号のクロック区間の前、前記データ信号のデータ区間の前、又は前記チップ
イネーブル信号のチップ選択区間の前に含まれていることを特徴とする。
【0013】
請求項4にかかる発明は、クロック信号とデータ信号とチップイネーブル信号をマスタ装置又は前段のスレーブ装置から入力し処理して当該段のスレーブ装置の識別あるいは制御を行い、当該段のスレーブ装置から後段のスレーブ装置に、前記クロック信号と前記データ信号と前記チップイネーブル信号を再生して転送する同期式シリアル通信方法の実施に使用するスレーブ装置であって、前記マスタ装置又は前記前段のスレーブ装置から前記データ信号のデータ区間が到来する前に前記マスタ装置又は前記前段のスレーブ装置から前記クロック信号の半周期のn倍(nは1以上の正の整数)のパルス幅をもつ基準パルスを入力すると該基準パルスのパルス幅をカウントする第1のカウンタと、前記クロック信号の第1のエッジを入力するとカウントを開始する第2のカウンタと、前記クロック信号の前記第1のエッジを入力すると新たなクロック信号の第1のエッジを生成し、前記第2のカウンタによるカウント値が前記第1のカウンタで得られたカウント値の1/nの値に一致すると前記新たなクロック信号の第2のエッジを生成するクロック出力回路と、を備えることを特徴とする。
【0014】
請求項5にかかる発明は、請求項4に記載のスレーブ装置において、前記データ信号は、前記クロック出力回路により出力される前記新たなクロック信号によりリタイミングされて新たなデータ信号として出力することを特徴とする。
【0015】
請求項6にかかる発明は、請求項4又は5に記載のスレーブ装置において、前記基準パルスは、前記クロック信号のクロック区間の前、前記データ信号のデータ区間の前、又は前記チップ
イネーブル信号のチップ選択区間の前に含まれていることを特徴とする。
【発明の効果】
【0016】
本発明によれば、入力したクロック信号の前端エッジから次の逆極性エッジまでの時間、つまりクロック信号のデューティ比を所定値に補正することができるので、スレーブ装置の段数が多段になった場合であっても、クロック信号の劣化を防止することができる。
【図面の簡単な説明】
【0017】
【
図1】本発明の実施例のスレーブ装置の構成を示すブロック図である。
【
図3】(a)はデータ信号に基準パルスを挿入した波形図、(b)はクロック信号に基準パルスを挿入した波形図である。
【
図4】一般的な同期式シリアル通信装置のスレーブ側構成を示すブロック図である。
【
図5】バッテリのセル電圧をチェックするための同期式シリアル通信装置のスレーブ側構成を示すブロック図である。
【
図6】
図5のスレーブ装置の一部の構成を示すブロック図である。
【
図7】
図5の同期式シリアル通信装置のクロックの波形劣化を示す波形図である。
【
図8】クロック補正用信号を挿入したデータ信号の波形図である。
【発明を実施するための形態】
【0018】
図1に本発明の1つの実施例の同期式シリアル通信装置のスレーブ装置の構成を示す。1はチップイネーブル信号CE_INの入力端子、2はデータ信号DATA_INの入力端子、3はクロック信号CLK_INの入力端子、4はシステムクロック信号SYSCLK_INの入力端子、5はシステムリセット信号SYSRST_INの入力端子、6はチップイネーブル信号CE_OUTの出力端子、7はデータ信号DATA_OUTの出力端子、8はクロック信号CLK_OUTの出力端子である。
【0019】
9は第1のエッジ検出回路であり、チップイネーブル信号CE_INの立上りエッジ検出信号CE_riseと立下りエッジ検出信号CE_fallを出力する。
【0020】
10はラッチ回路であり、チップイネーブル信号CE_INの立上りエッジで負荷(図示せず)に送るべきデータをラッチする。
【0021】
11はシフトレジスタであり、データ信号DATA_INを取り込んでクロック信号CLK_INによって2バイト分をシフトしてシリアル/パラレル変換を行う。
【0022】
12は第2のエッジ検出回路であり、クロック信号CLK_INの立下りエッジ検出信号CLK_fallを検出して出力する。
【0023】
13はステートマシンであり、システムリセット信号SYSRST_INが入力した後にシステムクロック信号SYSCLK_INの入力が有効になるとIDLE状態となり、チップイネーブル立下りエッジ検出信号CE_fallを入力するとSYNC0状態となり、チップイネーブル立上りエッジ検出信号CE_fallを入力するとSYNC1状態なってからWAIT状態となり、その後、クロック信号CLK_INを入力するとRX(受信)状態となる。
【0024】
14は第1のカウンタであり、ステートマシンがIDLE状態からSYNC0状態に変化するとシステムクロック信号SYSCLK_INのカウントを開始する。
【0025】
15はパルス幅記憶レジスタであり、第1のカウンタ14のカウント値を入力し、ステートマシン13がSYNC0状態からSYNC1状態に変化した時点の当該カウント値を2ビット分右シフト(つまり、1/4)した値をパルス幅値として記憶する。
【0026】
16は第2のカウンタであり、クロック信号CLK_INの立下りエッジ検出信号CLKIN_fallが検出されるとシステムクロック信号SYSCLK_INのカウントを開始する。
【0027】
17は比較回路であり、第2のカウンタ16のカウント値がパルス幅記憶レジスタ15に記憶されているパルス幅値と一致すると、一致信号を出力する。その一致信号の一部によって、第2のカウンタ16はクリアされる。
【0028】
18はSRFF回路からなるクロック出力回路であり、クロック立下りエッジ検出信号CLKIN_fallが出力されたときにリセットされてQ端子に“L”を出力し、比較回路17から一致信号が出力するとセットされてQ端子に“H”を出力する。
【0029】
19はDFF回路からなるリタイミング回路であり、クロック出力回路18のQ端子が“L”となる毎にデータ信号DATA_INを取り込んでリタイミングし、Q端子から出力する動作を行う。
【0030】
20はチップイネーブルリタイミング回路であり、チップイネーブル立上りエッジ検出信号CE_riaeと立下りエッジ検出信号CE_fallとを取り込んで、システムクロック信号SYSCLK_INによってその両エッジをリタイミングして出力する。
【0031】
21はチップイネーブル信号CE_OUTを出力するバッファ、22はデータ信号DATA_OUTを出力するバッファ、23はクロック信号CLK_OUTを出力するバッファである。
【0032】
次に、
図2の波形図を参照しながら
図1のスレーブ装置の動作を説明する。本実施例では、マスタ装置又は前段のスレーブ装置から入力されるチップイネーブル信号CE_INに、データ信号DATA_INのデータDATA1,DATA2の始まる前に、クロック信号CLK_INの周期の2倍の周期の“L”パルスを基準パルスPとして予め含ませておく。なお、クロック信号CLK_INは、データ信号DATA_INのデータDATA1,DATA2の期間において“H”/“L”を繰り返し、その期間はチップイネーブル信号CE_INが“L”となる。
【0033】
さて、チップイネーブル信号CE_INに含まれる基準パルスPが“L”に立ち下がると、立下りエッジ検出信号CE_fallによって、ステートマシン13がIDLE状態からSYNC0状態に遷移し、第1のカウント14がシステムクロック信号SYSCLK_INのカウントを開始する。
【0034】
次に、チップイネーブル信号CE_INの基準パルスPが“H”に立ち上がると、立上りエッジ検出信号CE_riseによって、ステートマシン13がSYNC0状態からSYNC1状態に遷移し、それまでに第1のカウンタ14でカウントされたカウント値を2ビットだけ右シフトした値(1/4)がパルス幅記憶レジスタ15にパルス幅値として記憶される。このとき、第1のカウンタ14のカウント値が「200」であったとすると、これはクロック信号CLKの2周期分であるので、1クロック分の半分の値である「50」がパルス幅値として記憶される。この「50」のパルス幅値は、クロック信号CLKの正規なデューティを示す。
【0035】
次に、ステートマシン13はWAIT状態に遷移し、クロック信号CLK_INの立下りエッジ検出信号CLK_fallが出力されると、第2のカウンタ16がシステムクロック信号SYSCLK_INのカウントを開始する。また、クロック信号CLK_INの立ち下りによって、クロック出力回路18がリセットされてQ端子が“L”になり、クロック信号CLK_OUTが“L”レベルになる。また、クロック出力回路18のQ端子が“L”になることで、データリタイミング回路19がデータ信号DATA_INの1ビット分を取り込み、データ信号DATA_OUTとして出力する。
【0036】
次に、第2のカウンタ16のカウントが進行して、「50」までカウントすると、比較回路17から一致信号が出力して、第2のカウンタ16がクリアされると共に、クロック出力回路18がセットされて、Q端子が“H”になる。ここで、Q端子が“L”から“H”になるまでのパルス幅値は前記した「50」であり、クロック信号CLK_INのデューティが50%より短くなっていたり、あるいは長くなっていても、ちょうど50%に補正されて、クロック信号CLK_OUTとして次段のスレーブ装置に送り出されることになる。
【0037】
このようなクロック補正の動作は、次のチップイネーブル信号CE_INの立上りエッジ検出信号CE_riseが到来するまでの間、クロック信号CLK_INの立下りエッジ毎に繰り返される。
【0038】
チップイネーブルリタイミング回路20は、チップイネーブル信号CE_INの立下りエッジ検出信号CE_riseと立上りエッジ検出信号CE_fallをシステムクロック信号SYSCLK_INによってリタイミングして、チップイネーブル信号CE_OUTとして、次段のスレーブ装置に送り出す。
【0039】
以上のクロック信号CLK_INが入力している期間、シフトレジスタ11でシリアル/パラレル変換されたデータDATA1,DATA2は、チップイネーブル信号CE_INが“H”に立ち上がるタイミングでラッチ回路10にラッチされ、負荷(図示せず)に転送される。当該データ信号に含まれる識別信号がその負荷の識別信号に合致すれば、当該データ信号に含まれる制御信号に応じてその負荷が制御(例えば、バッテリセルの電圧測定開始/停止等)されることになる。
【0040】
以上のように、本実施例によれば、当該のスレーブ装置に入力するクロック信号CLK_INの立下りエッジを起点として、立ち上がりエッジまでの期間が基準パルスPの期間の1/4の期間に補正された新たなクロック信号CLK_OUTが出力端子8から次段のスレーブ装置に出力することになる。すなわち、入力したクロック信号の前端エッジから次の逆極性エッジまでの時間、つまりクロック信号のデューティ比を所定値に補正することができる。
【0041】
なお、上記した実施例では、基準パルスPをチップイネーブル信号CE_INに含ませた例で説明したが、
図3(a)に示すように、その基準パルスPをデータ信号DATA_INの前部分に含ませても、また
図3(b)に示すように、クロック信号CLK_INの前部分に含ませても、その基準パルスPを抜き出して、パルス期間をカウントしておくことにより、同様にクロックの補正を行うことができる。
【0042】
また、上記した基準パルスPのパルス幅は、クロック信号の2周期分に限られるものではなく、半周期の整数倍であればよい。
【符号の説明】
【0043】
1〜5:入力端子、6〜8:出力端子、9:第1のエッジ検出回路、10:ラッチ回路、11:シフトレジスタ、12:第2のエッジ検出回路、13:ステートマシン、14:第1のカウンタ、15:パルス幅記憶回路、16:第2のカウンタ、17:比較回路、18:クロック出力回路、19:データリタイミング回路、20:チップイネーブルリタイミング回路、21〜23:バッファ。