(57)【特許請求の範囲】
【請求項１】
デッドタイムを設定するための値を記憶する第１記憶回路と、
パルス幅を設定するための値を記憶する第２記憶回路と、
前記第１記憶回路から出力された前記デッドタイムを設定するための値と、前記第２記憶回路から出力された前記パルス幅を設定するための値とを加算し、加算値を出力する加算回路と、
経過時間をカウントし、前記経過時間を示すカウント値を出力するタイマカウンタと、
前記タイマカウンタから出力された前記カウント値と、前記加算器から出力された前記加算値とを比較する第１比較回路と、
前記第１比較回路による比較結果に基づいて、パルス波形を生成する波形生成回路と、
を具備することを特徴とする半導体集積回路。
【請求項２】
前記波形生成回路は、前記第１比較回路により前記カウント値と前記加算値との一致が確認されたとき、前記パルス波形の前縁を設定することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記タイマカウンタがカウントする前記経過時間に対してカウントの周期を設定するための設定値を記憶する第３記憶回路と、
前記第３記憶回路から出力された前記設定値と前記タイマカウンタから出力された前記カウント値とを比較する第２比較回路と、
をさらに具備し、
前記波形生成回路は、前記第２比較回路により前記設定値と前記カウント値との一致が確認されたとき、前記パルス波形の後縁を設定することを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
前記タイマカウンタがカウントする経過時間の前記カウント値を制御する制御回路をさらに具備し、
前記制御回路は、前記第２比較回路により前記設定値と前記カウント値との一致が確認されたとき、前記タイマカウンタによる前記カウント値をリセットしてカウントを再スタートさせることを特徴とする請求項３に記載の半導体集積回路。
【請求項５】
デッドタイムを設定するための値を記憶する第１記憶回路と、
パルス幅を設定するための値を記憶する第２記憶回路と、
前記第１記憶回路から出力された前記デッドタイムを設定するための値と、前記第２記憶回路から出力された前記パルス幅を設定するための値とを加算し、加算値を出力する加算回路と、
パルス波形の前縁を設定するための前縁値を記憶する第３記憶回路と、
前記加算回路から出力された前記加算値と、前記第３記憶回路から出力された前記前縁値のうちのいずれかの値を選択する選択回路と、
経過時間をカウントし、前記経過時間を示すカウント値を出力するタイマカウンタと、
前記タイマカウンタから出力された前記カウント値と、前記選択回路により選択された、前記加算値及び前縁値のいずれかの値とを比較する第１比較回路と、
前記第１比較回路による比較結果に基づいて、前記パルス波形を生成する波形生成回路と、
を具備することを特徴とする半導体集積回路。
【請求項６】
前記波形生成回路は、前記第１比較回路により、前記カウント値と、前記加算値及び前縁値のいずれかの値との一致が確認されたとき、前記パルス波形の前縁を設定することを特徴とする請求項５に記載の半導体集積回路。
【請求項７】
前記タイマカウンタがカウントする前記経過時間に対してカウントの周期を設定するための設定値を記憶する第３記憶回路と、
前記第３記憶回路から出力された前記設定値と前記タイマカウンタから出力された前記カウント値とを比較する第２比較回路と、
をさらに具備し、
前記波形生成回路は、前記第２比較回路により前記設定値と前記カウント値との一致が確認されたとき、前記パルス波形の後縁を設定することを特徴とする請求項６に記載の半導体集積回路。
【請求項８】
前記タイマカウンタがカウントする経過時間の前記カウント値を制御する制御回路をさらに具備し、
前記制御回路は、前記第２比較回路により前記設定値と前記カウント値との一致が確認されたとき、前記タイマカウンタによる前記カウント値をリセットしてカウントを再スタートさせることを特徴とする請求項７に記載の半導体集積回路。
【請求項９】
経過時間をカウントし、前記経過時間を示すカウント値を出力するタイマカウンタと、
前記タイマカウンタがカウントする前記経過時間に対してカウントの周期を設定するための設定値を記憶する第１記憶回路と、
第１パルスのデューティを設定するための設定値を記憶する第２記憶回路と、
前記第１記憶回路から出力された、前記カウントの周期を設定するための設定値と、前記第２記憶回路から出力された、デューティを設定するための設定値とを用いて演算を行い、デューティを示す値を求める演算回路と、
前記タイマカウンタから出力された前記カウント値と、前記演算回路から出力された前記デューティを示す値とを比較する第１比較回路と、
前記第１比較回路による比較結果に基づいて、前記第１パルスを生成する第１波形生成回路と、
デッドタイムを設定するための値を記憶する第３記憶回路と、
前記演算回路から出力された前記デューティを示す値と、前記第３記憶回路から出力された前記デッドタイムを設定するための値とを加算し、加算値を出力する加算回路と、
前記タイマカウンタから出力された前記カウント値と、前記加算回路から出力された前記加算値とを比較する第２比較回路と、
前記第２比較回路による比較結果に基づいて、第２パルスを生成する第２波形生成回路と、
を具備することを特徴とする半導体集積回路。
【請求項１０】
前記第１波形生成回路は、前記第１比較回路により、前記カウント値と、前記デューティを示す値との一致が確認されたとき、前記第１パルスの後縁を設定することを特徴とする請求項９に記載の半導体集積回路。
【請求項１１】
前記第２波形生成回路は、前記第２比較回路により、前記カウント値と、前記加算値との一致が確認されたとき、前記第２パルスの前縁を設定することを特徴とする請求項９に記載の半導体集積回路。
【請求項１２】
前記第１記憶回路から出力された前記設定値と前記タイマカウンタから出力された前記カウント値とを比較する第３比較回路をさらに具備し、
前記第２波形生成回路は、前記第３比較回路により前記設定値と前記カウント値との一致が確認されたとき、前記第２パルスの後縁を設定することを特徴とする請求項１１に記載の半導体集積回路。
【請求項１３】
前記タイマカウンタがカウントする経過時間の前記カウント値を制御する制御回路をさらに具備し、
前記制御回路は、前記第３比較回路により前記設定値と前記カウント値との一致が確認されたとき、前記タイマカウンタによる前記カウント値をリセットしてカウントを再スタートさせることを特徴とする請求項１２に記載の半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半導体集積回路に関するものであり、特にデッドタイムやデューティを可変できるパルス波形生成機能を有する波形生成回路装置に関するものである。
【０００２】
【従来の技術】
以下に、図１２、図１３、及び図１４を参照して、従来の波形生成回路装置について説明する。
【０００３】
図１２に、従来の波形生成回路装置のブロック図を示す。
【０００４】
この図１２に示す波形生成回路装置（従来例１）は、デッドタイムを付加する機能を有している。この波形生成回路装置は、デッドタイムカウンタ１０１によってデッドタイム時間を測定し、波形を生成している。
【０００５】
前記波形生成回路装置において、デッドタイムを有する波形を生成するときのタイミングチャートを図１３に示す。
【０００６】
まず、デッドタイムカウンタ１０１及びタイムカウンタ１０２のタイマを共にスタートさせる。その後、デッドタイムカウンタ１０１のタイマ値と、デッドタイム比較用レジスタ１０３に記憶された値との一致により、図１３に示すように、パルス１を立ち上げる。これと同時に、デッドタイマカウンタ１０１はタイマのカウントを停止する。続いて、タイマカウンタ１０２とパルス幅比較用レジスタ１０４が一致すると、パルス１を立ち下げる。これと同時に、デッドタイムカウンタ１０１をスタートさせる。
【０００７】
次に、デッドタイムカウンタ１０１のタイマ値と、デッドタイム比較用レジスタ１０３に記憶された値との一致により、図１３に示すように、パルス２を立ち上げる。パルス２を立ち上げた後、デッドタイムカウンタ１０１は、再びタイマを停止する。その後、タイマカウンタ１０２と周期比較用レジスタ１０３との一致により、パルス２を立ち下げる。これと同時に、デッドタイムカウンタ１０１及びタイマカウンタ１０２のタイマを共にスタートさせる。以上の動作を繰り返す。
【０００８】
【発明が解決しようとする課題】
しかしながら、従来の波形生成回路装置では、２つのカウンタが必要である。さらに、周期を共通にして２種類以上のパルス波形を生成する場合、波形生成の自由度がなく、パルス波形が固定されてしまう。波形制御の自由度を得ようとした場合、デッドタイムカウンタ１０１、デッドタイム制御回路１０５、及び比較回路１０６は、デッドタイム設定のための専用回路になってしまう。これらにより、図１４に示す波形生成回路装置（従来例２）のように回路規模が増大してしまう。
【０００９】
また、例えば、デューティを５０％に固定とし、周期変調の波形を連続変化させる場合を考える。図８に示すように、周期を変更する際に、従来の前記波形生成回路装置では、毎回、パルス幅をＣＰＵにより計算させてパルス幅設定レジスタ１０７に設定する必要がある。この場合、ＣＰＵの処理負荷が重く、高速のタイマカウンタによる周期変調動作ではレスポンスの遅さが問題となる。
【００１０】
そこでこの発明は、前記課題に鑑みてなされたものであり、回路規模を増大させることなく、パルス波形生成における波形生成の自由度を向上でき、さらに周期変調動作でもＣＰＵの処理負荷が軽く、レスポンスが遅くならない半導体集積回路を提供することを目的とする。
【００１１】
【課題を解決するための手段】
前記目的を達成するために、この発明に係る半導体集積回路は、デッドタイムを設定するための値を記憶する第１記憶回路と、パルス幅を設定するための値を記憶する第２記憶回路と、前記第１記憶回路から出力された前記デッドタイムを設定するための値と、前記第２記憶回路から出力された前記パルス幅を設定するための値とを加算し、加算値を出力する加算回路と、経過時間をカウントし、前記経過時間を示すカウント値を出力するタイマカウンタと、前記タイマカウンタから出力された前記カウント値と、前記加算器から出力された前記加算値とを比較する第１比較回路と、前記第１比較回路による比較結果に基づいて、パルス波形を生成する波形生成回路とを具備することを特徴とする。
【００１２】
【発明の実施の形態】
以下、図面を参照してこの発明の実施の形態の半導体集積回路について説明する。説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１３】
［第１の実施の形態］
まず、この発明の第１の実施の形態の半導体集積回路について説明する。図１は、第１の実施の形態の半導体集積回路の構成を示すブロック図である。
【００１４】
図１に示すように、タイマカウンタ制御回路１１は、タイマカウンタ１２に接続されている。タイマカウンタ１２の出力は、比較回路１３、１４、１５、１６にそれぞれ入力されている。デッドタイム設定レジスタ１７の出力は、デッドタイム比較用レジスタ１８を介して比較回路１６に入力されている。前記デッドタイム設定レジスタ１７の出力は、また、加算器１９に入力されている。
【００１５】
パルス幅設定レジスタ２０の出力は、パルス幅比較用レジスタ２１を介して比較回路１４に入力されている。前記パルス幅設定レジスタ２０の出力は、また、前記加算器１９に入力されている。加算器１９の出力は、パルス２の前縁比較用レジスタ２２を介して比較回路１５に入力されている。タイマ周期設定レジスタ２３の出力は、タイマ周期比較用レジスタ２４を介して比較回路１３に入力されている。
【００１６】
前記比較回路１４、１６の出力は、パルス１生成回路２５に入力されている。前記比較回路１３、１５の出力は、パルス２生成回路２６に入力されている。比較回路１３の出力は、また、タイマカウンタ制御回路１１に入力されている。
【００１７】
次に、第１の実施の形態の半導体集積回路の動作を説明する。
【００１８】
前記半導体集積回路において、デッドタイムを有する波形を生成するときのタイミングチャートを図２に示す。
【００１９】
まず、タイマカウンタ制御回路１１は、タイマカウンタ１２のタイマをスタートさせる（スタート命令）。タイマカウンタ１２は、スタートしたタイマの経過時間を示すタイマ値を比較回路１６に出力する。また、デッドタイム設定レジスタ１７は、予め設定されたデッドタイムの期間を示すデッドタイム値を記憶しており、このデッドタイム値をデッドタイム比較用レジスタ１８に出力する。さらに、デッドタイム比較用レジスタ１８は、デッドタイム値を記憶すると共に、このデッドタイム値を比較回路１６に出力する。
【００２０】
比較回路１６は、前記タイマ値と前記デッドタイム値とを比較し、これらが一致したとき、一致を示す値をパルス１生成回路２５に出力する。パルス１生成回路２５は、前記一致を示す値を受け取ったとき、図２に示すように、パルス１をローレベルの電圧値（以下、“Ｌ”と記す）からハイレベルの電圧値（以下、“Ｈ”と記す）へ立ち上げる。
【００２１】
次に、タイマカウンタ１２は、スタートしたタイマの経過時間を示すタイマ値を比較回路１４に出力する。また、パルス幅設定レジスタ２０は、予め設定されたパルス幅を示すパルス幅値を記憶しており、このパルス幅値をパルス幅比較用レジスタ２１に出力する。さらに、パルス幅比較用レジスタ２１は、パルス幅値を記憶すると共に、このパルス幅値を比較回路１４に出力する。
【００２２】
比較回路１４は、前記タイマ値と前記パルス幅値とを比較し、これらが一致したとき、一致を示す値をパルス１生成回路２５に出力する。パルス１生成回路２５は、前記一致を示す値を受け取ったとき、パルス１を“Ｈ”から“Ｌ”へ立ち下げる。
【００２３】
次に、タイマカウンタ１２は、スタートしたタイマの経過時間を示すタイマ値を比較回路１５に出力する。また、デッドタイム設定レジスタ１７は、デッドタイム値を加算器１９に出力する。パルス幅設定レジスタ２０は、パルス幅値を加算器１９に出力する。加算器１９は、受け取ったデッドタイム値とパルス幅値とを加算して、その加算値をパルス２の前縁比較用レジスタ２２に出力する。さらに、前縁比較用レジスタ２２は、加算値を記憶すると共に、この加算値を比較回路１５に出力する。
【００２４】
比較回路１５は、前記タイマ値と前記加算値とを比較し、これらが一致したとき、一致を示す値をパルス２生成回路２６に出力する。パルス２生成回路２６は、前記一致を示す値を受け取ったとき、パルス２を“Ｌ”から“Ｈ”へ立ち上げる。
【００２５】
次に、タイマカウンタ１２は、スタートしたタイマの経過時間を示すタイマ値を比較回路１３に出力する。また、タイマ周期設定レジスタ２３は、予め設定されたパルス２の後縁（タイマ周期）を示す後縁値を記憶しており、この後縁値をタイマ周期比較用レジスタ２４に出力する。さらに、比較用レジスタ２４は、後縁値を記憶すると共に、この後縁値を比較回路１３に出力する。
【００２６】
比較回路１３は、前記タイマ値と前記後縁値とを比較し、これらが一致したとき、一致を示す値をパルス２生成回路２６に出力する。パルス２生成回路２６は、前記一致を示す値を受け取ったとき、パルス２を“Ｈ”から“Ｌ”へ立ち下げる。比較回路１３は、また、前記一致を示す値をタイマカウンタ制御回路１１に出力する。タイマカウンタ制御回路１１は、一致を示す値を受け取ったとき、タイマカウンタ１２のタイマをリセットして再スタートさせる。半導体集積回路は、以上の動作を繰り返す。
【００２７】
前述したように、この第１の実施の形態では、デッドタイム設定レジスタ１７の値と、パルス幅設定レジスタ２０の値が加算器１９により演算（加算）される。加算器１９による演算結果（加算値）は、パルス２の前縁比較用レジスタ２２を介して比較回路１５に転送される。そして、比較回路に転送された演算結果は、タイマカウンタ１２から出力された値と比較され、パルス２の前縁を設定するために使用される。
【００２８】
このように構成された半導体集積回路は、図１２に示した従来例１の波形生成回路装置において、デッドタイムを計測するデッドタイムカウンタ１０１と、これを制御する制御回路１０５が削除され、加算器１９、前縁比較用レジスタ２２、及び比較回路１５が追加されている。これにより、回路規模を縮小できると共に、デッドタイムを有するパルス波形が生成できる。すなわち、周期共通で複数のパルス波形を生成する半導体集積回路において、回路規模を増大することなく、パルス波形生成における設計の自由度を向上できる。
【００２９】
さらに、前述したように、パルス２の前縁比較用レジスタ２２、及び比較回路１５が追加されている。これにより、周期共通で複数のパルス波形を生成する機能の自由度を広げることが容易となる。
【００３０】
以上説明したようにこの第１の実施の形態によれば、デッドタイムを示す値とパルス幅を示す値とを加算し、この加算値をパルス２の前縁を設定するために用いることにより、回路規模を縮小しつつ、デッドタイムを有するパルス波形の生成における設計の自由度を向上できる。
【００３１】
［第２の実施の形態］
次に、この発明の第２の実施の形態の半導体集積回路について説明する。図３は、第２の実施の形態の半導体集積回路の構成を示すブロック図である。
【００３２】
この第２の実施の形態の半導体集積回路は、図１に示した第１の実施の形態の構成に加えて、パルス２の前縁を設定するための前縁設定レジスタ２７、及びセレクタ２８を有するものである。パルス２の前縁比較用レジスタ２２への転送値を、前縁設定レジスタ２７の値と加算器１９の演算結果とからセレクタ２８により選択できるようにする。前記第１の実施の形態における構成と同様の部分には、同じ符号を付してその説明は省略する。
【００３３】
図３に示すように、加算器１９と前縁比較用レジスタ２２との間にはセレクタ２８が配置されている。セレクタ２８には、パルス２の前縁を設定するための前縁設定レジスタ２７が接続されている。セレクタ２８は、加算器１９の出力と前縁設定レジスタ２７の出力のうち、いずれかを選択して前縁比較用レジスタ２２に出力する。
【００３４】
次に、第２の実施の形態の半導体集積回路の動作を説明する。
【００３５】
前記半導体集積回路において、デッドタイムを有する波形を生成するときのタイミングチャートを図４、図５に示す。図４は、セレクタ２８にて加算器１９の出力を選択した場合のタイミングチャートであり、図５はセレクタ２８にて前縁設定レジスタ２７の出力を選択した場合のタイミングチャートである。パルス２の前縁は、以下のように設定される。
【００３６】
タイマカウンタ１２は、スタートしたタイマの経過時間を示すタイマ値を比較回路１５に出力する。また、デッドタイム設定レジスタ１７は、デッドタイム値を加算器１９に出力する。パルス幅設定レジスタ２０は、パルス幅値を加算器１９に出力する。加算器１９は、受け取ったデッドタイム値とパルス幅値とを加算して、その加算値をセレクタ２８に出力する。
【００３７】
また、パルス２の前縁設定レジスタ２７は、予め設定されたパルス２の前縁を示す前縁値を記憶しており、この前縁値をセレクタ２８に出力する。セレクタ２８は、前記加算値と前縁値のいずれかの値を選択して、パルス２の前縁比較用レジスタ２２に出力する。前縁比較用レジスタ２２は、入力された前記加算値と前縁値のいずれかの値を記憶すると共に、このいずれかの値を比較回路１５に出力する。比較回路１５は、前記加算値及び前縁値のいずれかの値と前記タイマ値と、を比較し、これらが一致したとき、一致を示す値をパルス２生成回路２６に出力する。パルス２生成回路２６は、一致を示す値を受け取ったとき、パルス２を“Ｌ”から“Ｈ”へ立ち上げる。その他の半導体集積回路の動作は、前記第１の実施の形態と同様である。
【００３８】
前述したように、この第２の実施の形態では、デッドタイム設定レジスタ１７のデットタイム値と、パルス幅設定レジスタ２０のパルス幅値が加算器１９により演算（加算）され、この演算結果（加算値）がセレクタ２８に入力される。また、前縁設定レジスタ２７の前縁値は、セレクタ２８に入力される。その後、セレクタ２８に入力された演算結果と前縁値のうち、いずれかの値がセレクタ２８により選択され、パルス２の前縁比較用レジスタ２２を介して比較回路１５に転送される。そして、比較回路１５に転送された値は、タイマカウンタ１２から出力された値と比較され、パルス２の前縁を設定するために使用される。
【００３９】
このように、パルス２の前縁を選択して設定できるようにすることにより、周期共通で２種類以上のパルス波形を生成する場合の波形生成の自由度を向上させることができる。さらに、同様の機能を実現した図１４に示した従来例２と比べて、回路規模を低減できる。
【００４０】
以上説明したようにこの第２の実施の形態によれば、デッドタイムを示す値とパルス幅を示す値とを加算器１９により加算した加算値と、レジスタ２７に記憶されたパルス２の前縁を示す値のうち、いずれかの値を選択してパルス２の前縁を設定するために用いることにより、回路規模を増大することなく、周期共通で２種類以上のパルス波形を生成する場合の波形生成の自由度を向上できる。
【００４１】
［第３の実施の形態］
次に、この発明の第３の実施の形態の半導体集積回路について説明する。図６は、第３の実施の形態の半導体集積回路の構成を示すブロック図である。
【００４２】
この第３の実施の形態の半導体集積回路は、図１に示した第１の実施の形態の構成において、パルス幅設定レジスタ２０に替えて、デューティ設定レジスタ２９、及び割り算回路３０を追加したものである。さらに、割り算回路３０には、タイマ周期設定レジスタ２３に記憶されたパルス２の後縁（タイマ周期）を示す後縁値が入力されている。割り算回路３０は、周期設定レジスタ２３の後縁値とデューティ設定レジスタの値とから、デューティ（パルス幅）を演算する。前記第１の実施の形態における構成と同様の部分には、同じ符号を付してその説明は省略する。
【００４３】
図６に示すように、デューティ設定レジスタ２９の出力は、割り算回路３０に入力されている。割り算回路３０には、また、タイマ周期設定レジスタ２３の出力が入力されている。この割り算回路３０の出力は、パルス幅比較用レジスタ２１に入力されると共に、加算器１９に入力されている。
【００４４】
次に、第３の実施の形態の半導体集積回路の動作を説明する。
【００４５】
前記半導体集積回路において、デッドタイムを有する波形を生成するときのタイミングチャートを図７に示す。パルス１の後縁は、以下のように設定される。
【００４６】
タイマカウンタ１２は、スタートしたタイマの経過時間を示すタイマ値を比較回路１４に出力する。また、割り算回路３０には、タイマ周期設定レジスタ２３に記憶されたパルス２の後縁（タイマ周期）を示す後縁値が入力されている。割り算回路３０は、入力された後縁値を、デューティ設定レジスタ２９に記憶された設定値にて割り算し、デューティ（パルス幅）を示すデューティ値を求める。そして、求めたデューティ値をパルス幅比較用レジスタ２１に出力する。
【００４７】
さらに、パルス幅比較用レジスタ２１は、デューティ値を記憶すると共に、このデューティ値を比較回路１４に出力する。比較回路１４は、前記タイマ値と前記デューティ値とを比較し、これらが一致したとき、一致を示す値をパルス１生成回路２５に出力する。パルス１生成回路２５は、一致を示す値を受け取ったとき、パルス１を“Ｈ”から“Ｌ”へ立ち下げる。
【００４８】
次に、タイマカウンタ１２は、スタートしたタイマの経過時間を示すタイマ値を比較回路１５に出力する。また、デッドタイム設定レジスタ１７は、デッドタイム値を加算器１９に出力する。割り算回路３０は、求めたデューティ値を加算器１９に出力する。加算器１９は、受け取ったデッドタイム値とデューティ値とを加算して、その加算値をパルス２の前縁比較用レジスタ２２に出力する。
【００４９】
さらに、前縁比較用レジスタ２２は、加算値を記憶すると共に、この加算値を比較回路１５に出力する。比較回路１５は、前記タイマ値と前記加算値とを比較し、これらが一致したとき、一致を示す値をパルス２生成回路２６に出力する。パルス２生成回路２６は、一致を示す値を受け取ったとき、パルス２を“Ｌ”から“Ｈ”へ立ち上げる。その他の半導体集積回路の動作は、前記第１の実施の形態と同様である。
【００５０】
前述したように、この第３の実施の形態では、タイマ周期設定レジスタ２３のタイマ周期を示す値と、デューティ設定レジスタ２９の設定値とが割り算回路３０により演算（割り算）され、この演算結果がパルス幅比較用レジスタ２１を介して比較回路１４に転送される。そして、比較回路１４に転送された値は、タイマカウンタ１２から出力された値と比較され、パルス１の後縁を設定するために使用される。
【００５１】
このように構成された半導体集積回路では、図８に示すように、ディーティ設定レジスタ２９に設定された周期比較値の設定を変更するだけで、ディーティが一定で、デッドタイムを持つ周期変調波形を生成することができる。これにより、デューティ計算に必要なＣＰＵの処理負荷を低減できる。なお、図８中のＤＴＲはデッドタイム設定レジスタを示し、ＰＷＲはパルス幅設定レジスタを、ＴＰＲはタイム周期設定レジスタを示している。図８に示した設定例は、デューティが５０％、デッドタイムが２０ｈの条件において、周期を８０００ｈ→Ａ０００ｈ→Ｃ０００ｈに変化させた場合である。
【００５２】
以上説明したようにこの第３の実施の形態によれば、割り算回路３０により、タイマ周期設定レジスタ２３のタイマ周期を示す値を、デューティ設定レジスタ２９の設定値で割り算して、デューティを求める。このデューティを、パルス１の後縁を設定するために用いることにより、ディーティが一定で、かつデッドタイムを持つ周期変調のパルス波形を生成することができる。さらに、回路規模を増大することなく、周期共通で２種類以上のパルス波形を生成する場合の波形生成の自由度を向上できる。
【００５３】
［第４の実施の形態］
次に、この発明の第４の実施の形態の半導体集積回路について説明する。図９は、第４の実施の形態の半導体集積回路の構成を示すブロック図である。
【００５４】
この第４の実施の形態の半導体集積回路は、図１に示した第１の実施の形態の構成において、パルス幅設定レジスタ２０とパルス幅比較用レジスタ２１との間にセレクタ３１を配置し、このセレクタ３１にデューティ設定レジスタ２９、及び割り算回路３０を接続したものである。また、割り算回路３０には、タイマ周期設定レジスタ２３に記憶されたパルス２の後縁（タイマ周期）が入力され、加算器１９にはセレクタ３１の出力が入力されている。前記第１の実施の形態における構成と同様の部分には、同じ符号を付してその説明は省略する。
【００５５】
図９に示すように、パルス幅設定レジスタ２０とパルス幅比較用レジスタ２１との間にはセレクタ３１が配置されている。デューティ設定レジスタ２９の出力は、割り算回路３０に入力されており、この割り算回路３０の出力はセレクタ３１に入力されている。セレクタ３１の出力は、パルス幅比較用レジスタ２１に入力されると共に、加算器１９に入力されている。また、割り算回路３０には、タイマ周期設定レジスタ２３の出力が入力されている。
【００５６】
次に、第４の実施の形態の半導体集積回路の動作を説明する。パルス１の後縁、及びパルス２の前縁は、以下のように設定される。
【００５７】
タイマカウンタ１２は、スタートしたタイマの経過時間を示すタイマ値を比較回路１４に出力する。また、割り算回路３０には、タイマ周期設定レジスタ２３に記憶されたパルス２の後縁（タイマ周期）を示す後縁値が入力されている。割り算回路３０は、入力された後縁値を、デューティ設定レジスタ２９に記憶された設定値にて割り算し、デューティ（パルス幅）を示すデューティ値を求める。そして、デューティ値をセレクタ３１に出力する。また、パルス幅設定レジスタ２０は、パルス幅値をセレクタ３１に出力する。
【００５８】
セレクタ３１は、前記デューティ値とパルス幅値のいずれかの値（選択値）を選択して、パルス幅比較用レジスタ２１に出力する。さらに、パルス幅比較用レジスタ２１は、前記選択値を記憶すると共に、この選択値を比較回路１４に出力する。比較回路１４は、前記タイマ値と前記選択値とを比較し、これらが一致したとき、一致を示す値をパルス１生成回路２５に出力する。パルス１生成回路２５は、一致を示す値を受け取ったとき、パルス１を“Ｈ”から“Ｌ”へ立ち下げる。
【００５９】
次に、タイマカウンタ１２は、スタートしたタイマの経過時間を示すタイマ値を比較回路１５に出力する。また、デッドタイム設定レジスタ１７は、デッドタイム値を加算器１９に出力する。セレクタ３１は、前記後縁値とパルス幅値のいずれかの値（選択値）を加算器１９に出力する。加算器１９は、受け取ったデッドタイム値と前記選択値とを加算して、その加算値をパルス２の前縁比較用レジスタ２２に出力する。
【００６０】
さらに、前縁比較用レジスタ２２は、入力された前記加算値を記憶すると共に、この加算値を比較回路１５に出力する。比較回路１５は、前記タイマ値と前記加算値とを比較し、これらが一致したとき、一致を示す値をパルス２生成回路２６に出力する。パルス２生成回路２６は、一致を示す値を受け取ったとき、パルス２を“Ｌ”から“Ｈ”へ立ち上げる。その他の半導体集積回路の動作は、前記第１の実施の形態と同様である。
【００６１】
前述したように、パルス幅設定レジスタ２０のパルス幅値と割り算回路３０の演算結果のうちのいずれかをセレクタ３１にて選択して、加算器１９とパルス幅比較用レジスタ２１に出力している。さらに、デッドタイム設定レジスタ１７のデッドタイム値とセレクタ３１の出力とを加算器１９にて加算して、パルス２の前縁比較用レジスタ２２に出力している。これにより、回路規模を増大することなく、周期共通で２種類以上のパルス波形を生成する場合の波形生成の自由度を向上させることができる。さらに、前記第３の実施の形態と同様の効果が得られる。
【００６２】
［第５の実施の形態］
次に、この発明の第５の実施の形態の半導体集積回路について説明する。図１０は、第５の実施の形態の半導体集積回路の構成を示すブロック図である。
【００６３】
この第５の実施の形態の半導体集積回路は、図９に示した第４の実施の形態の構成に加えて、パルス２の前縁を設定するための前縁設定レジスタ２７、及びセレクタ２８を有するものである。パルス２の前縁比較用レジスタ２２への転送値を、前縁値設定レジスタ２７の値と加算器１９の演算結果とから、セレクタ２８により選択できるようにする。前記第４の実施の形態における構成と同様の部分には、同じ符号を付してその説明は省略する。
【００６４】
図１０に示すように、加算器１９と前縁比較用レジスタ２２との間にはセレクタ２８が配置されている。また、前縁設定レジスタ２７の出力は、セレクタ２８に入力されている。
【００６５】
次に、第５の実施の形態の半導体集積回路の動作を説明する。パルス１の後縁、及びパルス２の前縁は、以下のように設定される。
【００６６】
タイマカウンタ１２は、スタートしたタイマの経過時間を示すタイマ値を比較回路１４に出力する。また、割り算回路３０には、タイマ周期設定レジスタ２３に記憶されたパルス２の後縁（タイマ周期）を示す後縁値が入力されている。割り算回路３０は、入力された後縁値を、デューティ設定レジスタ２９に記憶された設定値にて割り算し、デューティ（パルス幅）を示すデューティ値を求める。そして、デューティ値をセレクタ３１に出力する。また、パルス幅設定レジスタ２０は、パルス幅値をセレクタ３１に出力する。
【００６７】
セレクタ３１は、前記デューティ値とパルス幅値のいずれかの値（選択値）を選択して、パルス幅比較用レジスタ２１に出力する。さらに、パルス幅比較用レジスタ２１は、前記選択値を記憶すると共に、この選択値を比較回路１４に出力する。比較回路１４は、前記タイマ値と前記選択値とを比較し、これらが一致したとき、一致を示す値をパルス１生成回路２５に出力する。パルス１生成回路２５は、一致を示す値を受け取ったとき、パルス１を“Ｈ”から“Ｌ”へ立ち下げる。
【００６８】
次に、タイマカウンタ１２は、スタートしたタイマの経過時間を示すタイマ値を比較回路１５に出力する。また、デッドタイム設定レジスタ１７は、デッドタイム値を加算器１９に出力する。セレクタ３１は、前記後縁値とパルス幅値のいずれかの値（選択値）を加算器１９に出力する。加算器１９は、受け取ったデッドタイム値と前記選択値とを加算して、その加算値をセレクタ２８に出力する。パルス２の前縁値設定レジスタ２７は、予め設定されたパルス２の前縁を示す前縁値を記憶しており、この前縁値をセレクタ２８に出力する。セレクタ２８は、前記加算値と前縁値のいずれかの値を選択して、パルス２の前縁比較用レジスタ２２に出力する。
【００６９】
さらに、前縁比較用レジスタ２２は、入力された前記加算値と前縁値のいずれかの値を記憶すると共に、このいずれかの値を比較回路１５に出力する。比較回路１５は、前記タイマ値と、前記加算値と前縁値のいずれかの値とを比較し、これらが一致したとき、一致を示す値をパルス２生成回路２６に出力する。パルス２生成回路２６は、一致を示す値を受け取ったとき、パルス２を“Ｌ”から“Ｈ”へ立ち上げる。その他の半導体集積回路の動作は、前記第４の実施の形態と同様である。
【００７０】
前述したように、パルス幅設定レジスタ２０のパルス幅値と割り算回路３０の演算結果のうちのいずれかをセレクタ３１にて選択して、加算器１９とパルス幅比較用レジスタ２１に出力している。さらに、前縁設定レジスタ２７の値と加算器１９の加算値のうちのいずれかをセレクタ２８にて選択して、パルス２の前縁比較用レジスタ２２に出力している。これにより、回路規模を増大することなく、周期共通で２種類以上のパルス波形を生成する場合の波形生成の自由度を向上させることができる。
【００７１】
［第６の実施の形態］
次に、この発明の第６の実施の形態の半導体集積回路について説明する。図１１は、第６の実施の形態の半導体集積回路の構成を示すブロック図である。
【００７２】
この第６の実施の形態の半導体集積回路は、図１０に示した第５の実施の形態の構成に加えて、パルス２の後縁を設定するための後縁設定レジスタ３２、セレクタ３３、後縁比較用レジスタ３４、及び比較回路３５を有するものである。前記第５の実施の形態における構成と同様の部分には、同じ符号を付してその説明は省略する。
【００７３】
図１１に示すように、後縁設定レジスタ３２の出力は、セレクタ３３に入力されている。セレクタ３３には、タイマ周期設定レジスタの出力が入力されている。セレクタ３３の出力は、後縁比較用レジスタ３４を介して比較回路３５に入力されている。比較回路３５には、タイマカウンタ１２の出力が入力されている。そして、比較回路３５の出力は、パルス２生成回路２６に入力されている。
【００７４】
次に、第６の実施の形態の半導体集積回路の動作を説明する。パルス２の後縁は、以下のように設定される。
【００７５】
タイマカウンタ１２は、スタートしたタイマの経過時間を示すタイマ値を比較回路３５に出力する。また、セレクタ３３には、タイマ周期設定レジスタ２３に記憶されたタイマ周期を示す値が入力されている。セレクタ３３には、また、パルス２の後縁設定レジスタ３２に記憶されたパルス２の後縁を示す後縁値が入力されている。
【００７６】
セレクタ３３は、前記タイマ周期を示す値と後縁値のいずれかの値（選択値）を選択して、後縁比較用レジスタ３４に出力する。後縁比較用レジスタ３４は、前記選択値を記憶すると共に、この選択値を比較回路３５に出力する。比較回路３５は、前記タイマ値と前記選択値とを比較し、これらが一致したとき、一致を示す値をパルス２生成回路２６に出力する。パルス２生成回路２６は、一致を示す値を受け取ったとき、パルス２を“Ｈ”から“Ｌ”へ立ち下げる。
【００７７】
また、タイマカウンタ１２は、スタートしたタイマの経過時間を示すタイマ値を比較回路１３に出力する。タイマ周期設定レジスタ２３は、タイマ周期を示す値をタイマ周期比較用レジスタ２４に出力する。比較用レジスタ２４は、前記タイマ周期を示す値を記憶すると共に、この値を比較回路１３に出力する。比較回路１３は、入力されたタイマ周期を示す値と前記タイマ値とを比較し、これらが一致したとき、一致を示す値をタイマカウンタ制御回路１１に出力する。タイマカウンタ制御回路１１は、前記一致を示す値を受け取ったとき、タイマカウンタ１２のタイマをリセットして再スタートさせる。
【００７８】
この第６の実施の形態では、周期を設定するために使用する回路２３、２４、１３と、パルス２の後縁を設定するために使用する回路３２、３４、３５とを分けて配置している。これにより、パルス波形を生成する場合の波形生成の自由度を向上させることができる。
【００７９】
さらに、パルス２の後縁比較用レジスタ３４への転送データとして、パルス２の後縁設定レジスタ３２の後縁値を転送するか、タイマ周期設定レジスタ２３のタイマ周期を示す値を転送するかを選択するためのセレクタ３３を有している。これにより、タイマ周期に対してプログラマブルにパルス波形を生成でき、回路規模を増大することなく、周期共通で２種類以上のパルス波形を生成する場合の波形生成の自由度を向上させることができる。
【００８０】
この発明の前記実施の形態では、従来のデッドタイム用カウンタを削減でき、１つのカウンタで従来例と同一の命令数にて、デッドタイムを付加した波形を生成することができる。さらに、周期共通で、デッドタイムを持つ複数のパルス波形を生成する、従来のタイマカウンタ回路と比較すると、小規模の回路追加で多種の波形生成モードを追加することができる。
【００８１】
また、前記第３〜第６の実施の形態では、デューティを計算する演算器を有し、この演算器による演算結果を波形比較データとすることにより、命令によって設定する波形比較データの設定数を減らすことができる。この結果、前記命令を出すＣＰＵの処理負荷を低減することが可能である。例えば、高速動作を必要とし、デューティが固定で周期変調の波形出力回路へ前記実施の形態を応用した場合、周期変更時のレスポンスを向上できる。
【００８２】
また、前述した各実施の形態はそれぞれ、単独で実施できるばかりでなく、適宜組み合わせて実施することも可能である。
【００８３】
さらに、前述した各実施の形態には種々の段階の発明が含まれており、各実施の形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することも可能である。
【００８４】
【発明の効果】
以上述べたようにこの発明によれば、回路規模を増大させることなく、パルス波形生成における波形生成の自由度を向上でき、さらに周期変調動作でもＣＰＵの処理負荷が軽く、レスポンスが遅くならない半導体集積回路を提供することが可能である。
【図面の簡単な説明】
【図１】この発明の第１の実施の形態の半導体集積回路の構成を示すブロック図である。
【図２】前記第１の実施の形態の半導体集積回路におけるデッドタイムを付加した波形の出力例を示すタイミングチャートである。
【図３】この発明の第２の実施の形態の半導体集積回路の構成を示すブロック図である。
【図４】前記第２の実施の形態の半導体集積回路におけるデッドタイムを付加した波形の出力例を示すタイミングチャートである。
【図５】前記第２の実施の形態の半導体集積回路におけるデッドタイムを付加しない波形の出力例を示すタイミングチャートである。
【図６】この発明の第３の実施の形態の半導体集積回路の構成を示すブロック図である。
【図７】前記第３の実施の形態の半導体集積回路におけるデッドタイムを付加した波形の出力例を示すタイミングチャートである。
【図８】前記第３の実施の形態と従来例１において、レジスタに設定する命令例の比較を示す図表である。
【図９】この発明の第４の実施の形態の半導体集積回路の構成を示すブロック図である。
【図１０】この発明の第５の実施の形態の半導体集積回路の構成を示すブロック図である。
【図１１】この発明の第６の実施の形態の半導体集積回路の構成を示すブロック図である。
【図１２】従来の波形生成回路装置の構成を示すブロック図である。
【図１３】従来の前記波形生成回路装置におけるデッドタイムを付加した波形の出力例を示すタイミングチャートである。
【図１４】従来の他の波形生成回路装置の構成を示すブロック図である。
【符号の説明】
１１…タイマカウンタ制御回路
１２…タイマカウンタ
１３、１４、１５、１６…比較回路
１７…デッドタイム設定レジスタ
１８…デッドタイム比較用レジスタ
１９…加算器
２０…パルス幅設定レジスタ
２１…パルス幅比較用レジスタ
２２…前縁比較用レジスタ
２３…タイマ周期設定レジスタ
２４…タイマ周期比較用レジスタ
２５…パルス１生成回路
２６…パルス２生成回路
２７…前縁設定レジスタ
２８…セレクタ
２９…デューティ設定レジスタ
３０…割り算回路
３１…セレクタ
３２…後縁設定レジスタ
３３…セレクタ
３４…後縁比較用レジスタ
３５…比較回路
【図１】
0003715592.tif 000002
【図２】
0003715592.tif 000003
【図３】
0003715592.tif 000004
【図４】
0003715592.tif 000005
【図５】
0003715592.tif 000006
【図６】
0003715592.tif 000007
【図７】
0003715592.tif 000008
【図８】
0003715592.tif 000009
【図９】
0003715592.tif 000010
【図１０】
0003715592.tif 000011
【図１１】
0003715592.tif 000012
【図１２】
0003715592.tif 000013
【図１３】
0003715592.tif 000014
【図１４】
0003715592.tif 000015