JP6528671B2 - クロック生成方法 - Google Patents

クロック生成方法 Download PDF

Info

Publication number
JP6528671B2
JP6528671B2 JP2015244398A JP2015244398A JP6528671B2 JP 6528671 B2 JP6528671 B2 JP 6528671B2 JP 2015244398 A JP2015244398 A JP 2015244398A JP 2015244398 A JP2015244398 A JP 2015244398A JP 6528671 B2 JP6528671 B2 JP 6528671B2
Authority
JP
Japan
Prior art keywords
clock
level
time
data
output
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.)
Expired - Fee Related
Application number
JP2015244398A
Other languages
English (en)
Other versions
JP2017111562A (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.)
Fuji Electric Co Ltd
Original Assignee
Fuji 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2015244398A priority Critical patent/JP6528671B2/ja
Publication of JP2017111562A publication Critical patent/JP2017111562A/ja
Application granted granted Critical
Publication of JP6528671B2 publication Critical patent/JP6528671B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulation Of Pulses (AREA)

Description

本技術は、クロック生成方法に関する。
クロック同期方式の伝送制御では、クロックの立ち上がりまたは立ち下りに対して、信号線を流れるデータが所定のホールドタイムを満たすことが要求される。このため、データの立ち上げ後に、クロックの立ち上げまたは立ち下げが行われるように、クロック波形が生成される。
従来技術としては、PWM(Pulse Width Modulation)パルスを生成するためのタイマに入力する基準クロックの周期を調整して、パワー素子のスイッチング時間差が所定時間に一致しないように制御する技術が提案されている(特許文献1)。
また、RAM(Random Access Memory)内のデューティ値とPWMカウンタの出力値とのコンペアマッチ毎に、次のデューティ値がCPU(Central Processing Unit)の介在無しにRAMからロードして、PWMパルスのデューティ値の時系列変化を可能にする技術が提案されている(特許文献2)。
さらに、マイクロコンピュータ内蔵の機能とソフトウェア制御とを用いて、ハードウェアカウンタを変更することなくビット長を拡張し、入力信号の周波数を検出する技術が提案されている(特許文献3)。
特開平7−245961号公報 特開2009−282828号公報 特開2002−168890号公報
データをクロックでサンプリングする場合、クロックのHレベルの時間と、Lレベルの時間とに所望範囲を超える時間差が生じると、クロックの立ち上がりまたは立ち下りに対して、データが所定のホールドタイムを満たせなくなる場合がある。このような状態が生じると、正しくサンプリングを行うことができない。このため、クロックを生成する際には、クロックのHレベル時間と、Lレベル時間とが等しいことが要求される(デューティ比=1)。
このような関係を保持するためには、従来では、カウンタによってタイミングをカウントし、所定のカウント値になったら、クロックの立ち上げ、または立ち下げを行って所望のタイミング波形を生成することが行われている。
しかし、上記のようなクロック生成をハードウェアで構成する場合、クロック周波数の変更が容易ではなく、クロック周波数の変更を要する際には回路規模が増大する可能性がある。また、ソフトウェアで構成するとプログラムが複雑になる可能性がある。
本発明はこのような点に鑑みてなされたものであり、簡易な構成によって、Hレベル時間と、Lレベル時間との時間差を抑制したクロックを生成するクロック生成方法を提供することを目的とする。
上記課題を解決するために、クロック生成方法が提供される。クロック生成方法において、プロセッサは、クロック生成用の割り込み処理を行うための割り込みタイミングを認識し、割り込みタイミングにおける割り込みタイミングよりも所定時間前のクロックのレベルを判断する。また、クロックのレベルが低電位レベルの場合、データの値が0か1かを判断し、データが0の場合は、データ値0を出力し、データが1の場合は、データ値1を出力する第1処理を行う。さらに、割り込みタイミングよりも所定時間前のクロックのレベルが高電位レベルの場合、データの値が0か1かを判断し、データが0の場合は、データ値0または1をダミー出力し、データが1の場合は、データ値0または1をダミー出力する第2処理を行う。そして、第1処理または第2処理の後に、クロックのレベルを反転出力する。
簡易な構成によって、Hレベル時間と、Lレベル時間との時間差を抑制したクロックを生成することが可能になる。
クロック生成方法およびクロック生成装置の一例を示す図である。 クロック生成装置の一例の機能ブロック図である。 クロック生成動作を説明するための図である。 クロック生成動作を説明するための図である。 クロック生成装置の構成例を示す図である。 クロック生成動作を説明するための図である。 クロック生成方法の流れを示すフローチャートである。 クロックのHレベル時間とLレベル時間とに時間差が生じないクロック生成を説明するための図である。 クロックのHレベル時間とLレベル時間とに時間差が生じるクロック生成を説明するための図である。
以下、実施の形態について図面を参照して説明する。
(第1の実施の形態)
図1はクロック生成方法およびクロック生成装置の一例を示す図である。図2はクロック生成装置の一例の機能ブロック図である。第1の実施の形態のクロック生成装置1は、半導体デバイスや伝送機器等に対し、クロックおよびデータを生成して出力する装置である。
クロック生成装置1は、デジタルシグナルプロセッサ(DSP)などからなるプロセッサ2とRAM(Random Access Memory)などからなる記憶部2−1とプロセッサ2とデータをやり取りする入出力回路部とを有している。プロセッサ2と記憶部2−1との間のデータのやり取りは、入出力回路部を介しておこなってもよい。プロセッサ2は、記憶部2−1に記憶されているデータおよびプログラムにもとづき、図2に示すような、割り込みタイミング認識部2a、判断部2b、データ出力処理部2c、クロック出力部2dおよびデータ出力調整部2eの機能を実現し、入出力回路部に出力する。記憶部2−1は、プロセッサ2が実行するプログラムや各種データを記憶する。
プロセッサ2の機能として、割り込みタイミング認識部2aは、クロック生成用の割り込みタイミングを認識する。割り込みタイミングは、クロック生成装置1が自ら発生してもよいし、外部から送信された割り込みタイミングの信号を受信する構成としてもよい。判断部2bは、割り込みタイミングよりも所定時間前のクロックのレベルを判断する。
データ出力処理部2cは、第1処理および第2処理を行う。第1処理において、データ出力処理部2cは、判断部2bによって判断されたクロックのレベルが低電位レベル(Lレベル)の場合、記憶部2−1に記憶されたデータのn番目(nは自然数)の値が0か1かを判断する。そして、データが1の場合は、データ値1を出力する処理を行い、データが0の場合は、データ値0を出力する処理を行う。
また、第2処理において、データ出力処理部2cは、判断部2bによって判断されたクロックのレベルが高電位レベル(Hレベル)の場合、データの値が0か1かを判断する。そして、データが0の場合は、データ値0をダミー出力する処理を行い、データが1の場合は、データ値1をダミー出力する処理(第2処理(ダミー処理))を行う。ここで、データが0の場合にデータ値0をダミー出力したが、ダミー出力であるので、データ値として0をダミー出力せずにデータ値1をダミー出力してもよい。同様に、データ値が1の場合に0をダミー出力してもよい。
クロック出力部2dは、第1処理または第2処理の後に、クロックのレベルを反転出力する。
データ出力調整部2eは、クロックのレベルがLレベルの場合、データ値0を出力する処理を行い、クロックのレベルがHレベルの場合、データ値として1を出力する処理を行う。データ出力調整部2eは、主にデータの出力波形を見やすくするものであり、第2処理の後にデータの出力値として0を出力するものである。データ出力調整部2eは、設けなくてもよい。
ここで、図1において、クロック生成装置1に対して、半周期がTのクロック生成用の割り込みタイミングが発生するものとする(割り込み周期=T)。まず、割り込みタイミングの時刻t1では、時刻t1よりも所定時間前のクロックレベルがLレベルであるから、第1処理が行われる。
この例では、プロセッサ2は、時刻t1においてデータ値1を出力する第1処理を行い、この第1処理後(時刻t1から時間tAが経過した後)に、クロックのレベルを反転して出力する(Lレベル→Hレベル)。クロックのレベルがHレベルであるのでそのままデータの出力値は1となる。
一方、割り込みタイミングの時刻t2では、時刻t2よりも所定時間前のクロックレベルがHレベルであるから、第2処理が行われる。この例では、時刻t2においてデータ値1を出力する第2処理を行うこの第2処理後(時刻t2から時間tBが経過した後)に、クロックのレベルを反転して出力する(Hレベル→Lレベル)。クロックのレベルがLレベルであるのでデータの出力値を反転して0を出力する。
なお、上記の所定時間は、割り込み周期Tよりも小さい。また、時間tAは、割り込みタイミングの時刻t1から第1処理が開始してから終了するまでの処理時間であり、時間tBは、割り込みタイミングの時刻t2から第2処理が開始してから終了するまでの処理時間である。さらに、第1処理と第2処理は、同じプログラミング処理であるから、時間tAと時間tBは共に等しい(tA=tB)。
このようなクロック生成処理を行うことで、クロックのHレベル時間tHと、Lレベル時間tLとの時間差を抑制することができる。すなわち、tH=tL(=T)のクロックを常に生成することができる。また、クロックとデータとの関係において、所定のホールドタイムを満たすことができる(動作の詳細は図6以降で説明する)。
(解決すべき課題)
次に本技術の詳細を説明する前に、従来のクロック生成動作を示して、解決すべき課題について図3、図4を用いて説明する。図3はクロック生成動作を説明するための図である。1つのカウンタC0を用いた従来のクロック生成動作を示している。
〔S1、S1a〕データは、カウンタC0のカウント値=1の立ち下がり時に、データ値が0から1に遷移する。
〔S2、S2a〕クロックは、カウンタC0のカウント値=2の立ち下がり時に、LレベルからHレベルに遷移する。
〔S3、S3a〕クロックは、カウンタC0のカウント値=6の立ち下り時に、HレベルからLレベルに遷移する。
〔S4、S4a〕データは、カウンタC0のカウント値=7の立ち下り時に、データ値が1から0に遷移する。
図3において、クロックの立ち上がりに対してデータがホールドタイムtholdを満たし、また、クロックのHレベル時間tHと、Lレベル時間tLとは等しくなっている。
図4はクロック生成動作を説明するための図である。複数のカウンタC1〜C4を用いた従来のクロック生成動作を示している。なお、同一時間帯において互いのカウント値が一致するようにカウンタC1〜C4は動作するものとする。
〔S11、S11a〕データは、カウンタC1のカウント値=1の立ち下がり時に、データ値が0から1に遷移する。
〔S12、S12a〕クロックは、カウンタC2のカウント値=2の立ち下がり時に、LレベルからHレベルに遷移する。
〔S13、S13a〕クロックは、カウンタC3のカウント値=6の立ち下り時に、HレベルからLレベルに遷移する。
〔S14、S14a〕データは、カウンタC4のカウント値=7の立ち下り時に、データ値が1から0に遷移する。
図4において、クロックの立ち上がりに対してデータがホールドタイムtholdを満たし、また、クロックのHレベル時間tHと、Lレベル時間tLとは等しくなっている。
このように、図3、図4では、カウンタが所定のカウント値になると、クロックをLレベルからHレベルへ遷移、またはHレベルからLレベルへ遷移させ、データを0から1へ遷移、または1から0へ遷移させてクロックおよびデータの生成を行っている。
これにより、クロックの立ち上がりまたは立ち下りに対して、データが所定のホールドタイムtholdを満たすようにし、さらにクロックのHレベル時間tHと、Lレベル時間tLとを等しくして、Hレベル時間tHと、Lレベル時間tLとの間に時間差が生じないようにしている。
しかし、このようなカウンタのカウント値を利用したクロック生成動作では、ハードウェアで構成する場合、従来では、クロック周波数の変更が容易ではなく、クロック周波数の変更を要する際には回路規模が増大してしまうという問題がある。また、ソフトウェアで構成すると、従来では、プログラムが複雑になるという問題がある。
本発明はこのような点に鑑みてなされたものであり、簡易な構成によって、ホールドタイムを満たしながら、かつクロックのHレベル時間と、Lレベル時間との時間差を抑制したクロック生成方法およびクロック生成装置を提供するものである。
(第2の実施の形態)
図5はクロック生成装置の構成例を示す図である。第2の実施の形態のクロック生成装置は、コンピュータ20であり、プロセッサ21によって装置全体が制御されている。また、プロセッサ21は、図1、図2のプロセッサ2の機能を有する。
プロセッサ21には、RAM(Random Access Memory)22と入出力部23が接続されている。プロセッサ21は、マルチプロセッサであってもよい。プロセッサ21は、例えば、DSP(Digital Signal Processor)である。
RAM22は、コンピュータ20の主記憶装置として使用され、図1、図2の記憶部2−1の機能を有する。RAM22は、プロセッサ21に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に格納することができる。また、RAM22には、プロセッサ21による処理に必要な各種データが格納される。
入出力部23は、プロセッサ21から送信されたデジタルデータを受信し出力ポート23−1より外部へ出力する。また、入出力部23は、ダミー出力ポート23−2を備えており、プロセッサ21からダミー出力処理により送信されたデータを出力する。ダミー出力ポート23−2は接地してもよい。また、入出力部23は、外部からデジタルデータを入力ポート23−3より入力し、プロセッサ21に送信する。
(クロック生成動作)
図6はクロック生成動作を説明するための図である。本発明のクロック生成方法およびクロック生成装置で動作する割り込みタイミング、クロックおよびデータの各波形のタイミングチャートを示している。なお、割り込み周期を5μsとしている。RAM22に記憶されているデータとしては、複数ビットからなるデータである。図6では、所定のアドレスに格納されたデータのうち3ビット分について示している。なお3ビット分のデータ値は111とし、最初のビットのアドレスnを1とする。
〔S21〕クロック生成用の割り込みタイミングが発生する。この割り込みタイミングは、プロセッサ21が割り込み用カウントのプログラムを起動して発生させることができる。または、クロック生成装置の内部または外部に位置するカウンタによって割り込み信号を生成して、この割り込み信号を受信する構成としてもよい。
〔S22〕プロセッサ21は、クロック生成用の割り込みタイミングを認識することで、クロック生成のための割り込み処理を起動する。
〔S23〕プロセッサ21は、時刻t1の割り込みタイミングにおいて、時刻t1よりも所定時間τ(0<τ<5μs)の前におけるクロックがLレベルの場合、データの値が0か1かを判断する。そして、データ=0の場合は、データの出力値として出力ポート23−1に0を出力する処理を行い、データ=1の場合は、データの出力値として出力ポート23−1に1を出力する処理を行う。この例では、時刻t1において時刻t1よりも所定時間τの前においてクロックがLレベルであり、最初のデータ値は1(n=1)であるから、プロセッサ21は、時刻t1においてデータの出力値として1を出力する処理を行う。そして、次ビットのデータ値を参照するための次ビット参照処理を行う。具体的には、nに1を加えてカウントアップする(n=n+1)。
〔S24〕ステップS23の処理に要する時間をtAとすると、プロセッサ21は、時刻t1から時間tAの経過後に、クロックの反転出力する処理を行う。すなわち、時刻t1から時間tAの経過後に、クロックをLレベルからHレベルに反転させて出力する処理を行う。
〔S25〕プロセッサ21は、ステップS24によるクロックレベル反転出力処理後の現時点のクロックのレベルを判断し、クロックがHレベルの場合は、データ値1を出力する処理を行い、クロックがLレベルの場合は、データ値0を出力する処理を行う。ここでは、クロックがHレベルであり、データ値1の出力が次の割り込みタイミングまで維持されている。
〔S26〕時刻t2の次の割り込みタイミングにおいて、時刻t2よりも所定時間τの前においてクロックがHレベルの場合、ダミー処理を行う。ダミー処理の時間tBは、時間tAと同じ時間となるような処理を行う。まず、ダミー出力処理を行い、次にダミー次ビット参照処理を行う。
ダミー出力処理は、データの値が0か1かを判断する。そして、データ=0の場合は、ダミー出力ポート23−2にデータ値0を出力する処理を行い、データ=1の場合は、ダミー出力ポート23−2にデータ値1を出力する処理を行う。この例では、時刻t2よりも所定時間τの前においてクロックがHレベルであり、データ=1(n=2)であるから、プロセッサ21は、時刻t2においてダミー出力ポート23−2にデータの出力値として0を出力する処理を行う。よって、出力ポート23−1のデータの出力値は1を維持する。次にS23で行ったカウントアップと同じ処理時間となるようにnに0を加算するダミー次ビット参照処理を行う(n=n+0)。nの値は2を維持する。これらのダミー処理によりステップS26の処理に要する時間tBをステップS23の処理に要する時間tAとが同じ時間となる。
〔S27〕ステップS26の処理に要する時間をtBとすると、プロセッサ21は、時刻t2から時間tBの経過後に、クロックの反転出力処理を行う。すなわち、時刻t2から時間tBの経過後に、クロックをHレベルからLレベルに反転させて出力する処理を行う。
また、プロセッサ21は、ステップS27によるクロックレベル反転出力処理後の現時点のクロックのレベルを判断し、クロックがHレベルの場合は、データ値1を出力する処理を行い、クロックがLレベルの場合は、データ値0を出力する処理を行う。ここでは、クロックがLレベルであり、データ値1の出力が反転されデータ値0が出力ポート23−1より出力される。
〔S23a〕プロセッサ21は、時刻t3の次の割り込みタイミングにおいて、時刻t3よりも所定時間τの前におけるクロックがLレベルの場合、データの値が0か1かを判断する。そして、データ=0の場合は、データ値1を出力し、データ=1の場合は、データ値0を出力する。この例では、時刻t3においてクロックがLレベルであり、時刻t3よりも所定時間τの前においてデータ=1(n=2)であるから、プロセッサ21は、時刻t3においてデータ値1を出力する処理を行う。そして、nに1を加えてカウントアップする次ビット参照処理を行う(n=n+1)。
〔S24a〕ステップS23aの処理に要する時間をtCとすると、プロセッサ21は、時刻t3から時間tCの経過後に、クロックの反転出力処理を行う。すなわち、時刻t3から時間tCの経過後に、クロックをLレベルからHレベルに反転させて出力する処理を行う。
〔S25a〕プロセッサ21は、ステップS24aによるクロックレベル反転出力処理後の現時点のクロックのレベルを判断し、クロックがHレベルの場合は、データ値として1を出力する処理を行い、クロックがLレベルの場合は、所定時間の間、データ値として0を出力する処理を行う。ここでは、クロックがHレベルであり、データ値として1の出力が次の割り込みタイミングまで維持されている。
〔S26a〕プロセッサ21は、時刻t4の次の割り込みタイミングにおいて、時刻t4よりも所定時間τの前においてクロックがHレベルの場合、ダミー処理を行う。まず、データ=0の場合は、ダミー出力ポート23−2にデータ値0を出力する処理を行い、データ=1の場合は、ダミー出力ポート23−2にデータ値1を出力する処理を行う。この例では、時刻t4よりも所定時間τの前においてクロックがHレベルであり、データ=1(n=3)であるから、プロセッサ21は、時刻t4においてダミー出力ポート23−2にデータ値1を出力する処理を行う。次にS23aで行った次ビット参照処理と同じ処理時間となるようにnに0を加算するダミー次ビット参照処理を行う(n=n+0)。
〔S27a〕ステップS26aの処理に要する時間をtDとすると、プロセッサ21は、時刻t4から時間tDの経過後に、クロックの反転出力を行う。すなわち、時刻t4から時間tDの経過後に、クロックをHレベルからLレベルに反転させて出力する。
また、プロセッサ21は、ステップS27aによるクロックレベル反転出力処理後の現時点のクロックのレベルを判断し、クロックがHレベルの場合は、データ値1を出力する処理を行い、クロックがLレベルの場合は、データ値0を出力する処理を行う。ここでは、クロックがLレベルであり、データ値1の出力が反転されデータ値として0を出力する。
ここで、時間tAは、時刻t1からステップS23の処理が開始してから終了するまでの処理時間であり、時間tBは、時刻t2からステップS26の処理が開始してから終了するまでの処理時間である。また、ステップS23とステップS26は基本的に同じプログラミング処理であるから、時間tAと時間tBは共に等しい(tA=tB)。
同様に、時間tCは、時刻t3からステップS23aの処理が開始してから終了するまでの処理時間であり、時間tDは、時刻t4からステップS26aの処理が開始してから終了するまでの処理時間である。また、ステップS23aとステップS26aは基本的に同じプログラミング処理であるから、時間tCと時間tDは共に等しい(tC=tD)。すなわち、tA=tB=tC=tDである。
割り込みタイミングにおいて、一定時間(tA、tC)経過後にクロックが立ち上がり、次の割り込みタイミングにおいて、一定時間(tB、tD)経過後にクロックが立ち下がる処理が行われる。
したがって、このようなクロック生成動作により、クロックのHレベル時間tHと、Lレベル時間tLとが一致し(tH=tL=5μs)、クロックのHレベル時間tHと、Lレベル時間tLとの時間差を抑制することが可能になる。また、データが1に設定されてから、時間tAおよび時間tCの経過後に、クロックが立ち上がるので、ホールドタイムを満たすことも可能になる。
図7はクロック生成方法の流れを示すフローチャートである。
〔S31〕プロセッサ21は、クロック生成用の割り込みタイミングを認識入力することで、クロック生成のための割り込み処理を起動する。
〔S32〕プロセッサ21は、割り込みタイミングにおいて、割り込みタイミングよりも所定時間前のクロックのレベルを判断する。クロックがLレベルの場合は、ステップS33−1(第1処理に該当)へ行き、クロックがHレベルの場合は、ステップS33−2(第2処理に該当)へ行く。
なお、ステップS33−1は、ステップS33a−1、S33b−1、S33c−1、S33d−1を含み、ステップS33−2は、ステップS33a−2、S33b−2、S33c−2、S33d−2を含む。
〔S33a−1〕プロセッサ21は、n番目のデータの値が0か1かを判断する。データ=1の場合は、ステップS33b−1へ行き、データ=0の場合は、ステップS33c−1へ行く。
〔S33b−1〕プロセッサ21は、出力ポート23−1へデータ値1を出力する処理を行い、ステップS33d−1へ行く。
〔S33c−1〕プロセッサ21は、出力ポート23−2へデータ値0を出力する処理を行い、ステップS33d−1へ行く。
〔S33d−1〕プロセッサ21は、nに1を加える処理を行う(n=n+1)。
〔S33a−2〕プロセッサ21は、n番目のデータの値が0か1かを判断する。データ=1の場合は、ステップS33b−2へ行き、データ=0の場合は、ステップS33c−2へ行く。
〔S33b−2〕プロセッサ21は、ダミー出力ポートへデータ値1を出力し、ステップS33d−2へ行く。
〔S33c−2〕プロセッサ21は、ダミー出力ポートへデータ値0を出力し、ステップS33d−2へ行く。
〔S33d−2〕プロセッサ21は、nに0を加える処理を行う(n=n+0)。
〔S34〕プロセッサ21は、クロックのレベルを反転して出力する。
〔S35〕プロセッサ21は、現時点のクロックのレベルを判断する。クロックがLレベルの場合は、ステップS36へ行き、クロックがHレベルの場合は、ステップS37へ行く。
〔S36〕プロセッサ21は、割込みのタイミング(例えば、時刻t2)から所定時間経過後(例えば時間tB)、データ値0を出力する。
〔S37〕プロセッサ21は、割込みのタイミング(例えば、時刻t1)から所定時間経過後(例えば、時間tA)の間、データ値1を出力する。
〔S38〕プロセッサ21は、次の割り込みタイミングを許可する。ステップS31の処理へ戻る。
図6と図7の対応関係を示すと、図6のステップS22は、図7のステップS31で実行される。図6のステップS23、S23aは、図7のステップS32、S33−1で実行される。図6のステップS24、S24aは、図7のステップS34で実行される。
また、図6のステップS25、S25aは、図7のステップS35、S37で実行される。図6のステップS26、S26aは、図7のステップS32、S33−2で実行される。図6のステップS27、S27aは、図7のステップS34で実行される。
なお、図7に示すステップS33−1の処理時間、およびステップS33−2の処理時間は、プログラミングのステップ数を増やすなどして(例えば、単に時間を作るためのループ処理などを追加して)、所望のホールドタイムを満たすように設定することができる。ただし、ステップS33−1の処理時間と、ステップS33−2の処理時間とは同一の時間になるようにする。
このようにして、本発明では、所望のホールドタイムを容易に設定することができ、また、セットアップタイムについても容易に設定することができる。
上記のように、本発明では、同じプログラミング処理(同じ処理時間)である、ステップS33−1による第1処理と、ステップS33−2による第2処理とを有している。ここで、もし、図7に示したステップS33−2の処理が無い場合、クロックには、Hレベル時間と、Lレベル時間とに時間差が生じてしまうことになる。このことについて、図8、図9を用いて以下説明する。
図8はクロックのHレベル時間とLレベル時間とに時間差が生じないクロック生成を説明するための図である。本発明では、割り込みタイミングの時刻t1において時刻t1から所定時間前におけるクロックのレベルがLレベルの場合に、図7のステップS33−1のデータ設定処理である第1処理が行われる。そして、図7のステップS34により、時刻t1から時間tA後にクロックがLレベル→Hレベルと反転出力する。
また、次の割り込みタイミングの時刻t2では、時刻t2から所定時間前におけるクロックのレベルがHレベルの場合に、図7のステップS33−2のデータ設定処理である第2処理が行われる。そして、ステップS34により、時刻t2から時間tB後にHレベル→Lレベルと反転出力する。これにより、生成されるクロックのHレベル時間tHと、Lレベル時間tLとは等しくなる。
図9はクロックのHレベル時間とLレベル時間とに時間差が生じるクロック生成を説明するための図である。図7に示したステップS33−2の処理が無い場合のクロック生成を示している。
まず、割り込みタイミングの時刻t1においては、上記と同様に、時刻t1から所定時間前におけるクロックのレベルがLレベルの場合に、図7のステップS33−1のデータ設定処理である第1処理が行われる。そして、図7のステップS34により、時刻t1から時間tA後にクロックがLレベル→Hレベルと反転出力する。
また、次の割り込みタイミングの時刻t2では、時刻t2から所定時間前におけるクロックのレベルがHレベルの場合に、ステップS33−2の処理を行わないとすると、ステップS34によってクロックが反転出力(Hレベル→Lレベル)することになる。
このように、ステップS33−2の処理が無いと、時刻t2において、クロックが反転出力することになる。このため、クロックのHレベル時間tHと、Lレベル時間tLとに時間差が生じてしまうことになる。
このように、本発明では、割り込みタイミングにおいてクロックのレベルがLレベルの場合のデータ値の設定処理と、次の割り込みタイミングにおいてクロックのレベルがHレベルの場合のデータ値の設定処理とを同じプログラミング処理とし、これらの処理後にクロックの反転出力を行うこととした。
これにより、所定のホールドタイムを満たしながら、クロックのHレベル時間と、Lレベル時間との時間差を抑制することが可能になる。また、本発明では、簡易なプログラムにより実現することができるので、従来のようなクロック生成のためのカウンタのカウント値は不要となる。さらに、簡易なプログラムにより実現するので、クロック周波数も容易に変更することが可能になる。例えば、割り込み周期を変えることで、クロック周期も容易に変更できる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。
1 クロック生成装置
2 プロセッサ
2−1 記憶部
t1、t2 割り込みタイミング
T 割り込み周期
tH クロックのHレベル時間
tL クロックのLレベル時間
tA 第1処理に要する時間
tB 第2処理に要する時間

Claims (4)

  1. プロセッサは、
    クロック生成用の割り込み処理を行うための割り込みタイミングを認識し、
    前記割り込みタイミングよりも所定時間前におけるクロックのレベルを判断し、
    前記クロックのレベルが低電位レベルの場合、データの値が0か1かを判断し、前記データが0の場合は、前記データ値の出力値として0を出力する処理を行い、前記データが1の場合は、前記データ値の出力値として1を出力する処理を行う第1処理を行い、
    前記クロックのレベルが高電位レベルの場合、前記データの値が0か1かを判断し、前記データの値が0の場合は、前記データの値として0または1をダミー出力する処理を行い、前記データの値が1の場合は、前記データの値として0または1をダミー出力する処理を行う第2処理を行い、
    前記第1処理または前記第2処理の後に、前記クロックのレベルを反転出力する反転出力処理を行う、
    ことを特徴とするクロック生成方法。
  2. 前記プロセッサは、前記クロックのレベル反転出力処理後に、前記クロックのレベルを判断し、前記クロックのレベルが低電位レベルの場合は、0の前記データを出力し、前記クロックのレベルが高電位レベルの場合は、1の前記データを出力して、次の割り込みタイミングを受けることを特徴とする請求項1記載のクロック生成方法。
  3. 前記第1処理に要する時間と、前記第2処理に要する時間とは同一であることを特徴とする請求項1記載のクロック生成方法。
  4. 前記プロセッサは、前記第1処理において、データ出力処理の後に、前記データの次ビット参照処理を行い、前記第2処理において、ダミー出力処理の後に、前記データのダミー次ビット参照処理を行うことを特徴とする請求項1記載のクロック生成方法。
JP2015244398A 2015-12-15 2015-12-15 クロック生成方法 Expired - Fee Related JP6528671B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015244398A JP6528671B2 (ja) 2015-12-15 2015-12-15 クロック生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015244398A JP6528671B2 (ja) 2015-12-15 2015-12-15 クロック生成方法

Publications (2)

Publication Number Publication Date
JP2017111562A JP2017111562A (ja) 2017-06-22
JP6528671B2 true JP6528671B2 (ja) 2019-06-12

Family

ID=59081372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015244398A Expired - Fee Related JP6528671B2 (ja) 2015-12-15 2015-12-15 クロック生成方法

Country Status (1)

Country Link
JP (1) JP6528671B2 (ja)

Also Published As

Publication number Publication date
JP2017111562A (ja) 2017-06-22

Similar Documents

Publication Publication Date Title
TWI568187B (zh) 與可變頻率成比例之多相位脈衝寬度調變之產生
JP4998699B2 (ja) 半導体装置、及び通信制御方法
US20090238017A1 (en) Digital dll circuit
TWI639311B (zh) 半導體設備
JP2008028854A (ja) クロック生成装置
JP5885977B2 (ja) Pwm信号出力回路とpwm信号出力制御方法およびプログラム
JP5036056B2 (ja) タイマユニット回路及びその使用方法
JP6528671B2 (ja) クロック生成方法
JP6423971B2 (ja) 機能ユニット及び制御装置
JP2011083841A (ja) ロボット制御装置、ロボット制御システム及びロボット制御方法
KR102052490B1 (ko) 레이턴시 조절 장치 및 이를 포함하는 반도체 장치
JP2006048284A (ja) プログラマブルコントローラ装置およびオプションモジュールとの同期方法
JP4666462B2 (ja) カウンタ回路と、それを含む半導体装置
JP6167855B2 (ja) 信号制御回路、情報処理装置及び信号制御方法
KR101912905B1 (ko) 카스 레이턴시 설정 회로 및 이를 포함하는 반도체 메모리 장치
CN102124357A (zh) 测试装置及测试方法
JP2009141596A (ja) 信号生成回路
TW201447535A (zh) 節能裝置及其節能方法
JP2015015540A5 (ja)
JP6254465B2 (ja) 分周クロック生成回路
KR20090016169A (ko) 반도체 메모리 장치의 지연 회로
JP5375705B2 (ja) マイクロコンピュータ
JP2008252864A (ja) 半導体装置及びその駆動方法
JP2004343291A (ja) 位相調整回路
KR100622943B1 (ko) 자동적으로 타이밍 스펙 제어가 가능한 컨트롤러 및 그타이밍 스펙 제어방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190429

R150 Certificate of patent or registration of utility model

Ref document number: 6528671

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees