(57)【要約】【課題】出力パルスの周波数が低い周波数から高い周波数に遷移するときの周波数誤差を改善する。【解決手段】パルス出力装置は、分周比を格納するｎビットのリロードレジスタ１と、クロックと同期して動作するｎビットのタイマ２と、クロックの周波数とタイマ２から出力させる所望の出力パルスの周波数とから分周比を更新周期毎に決定する分周比決定部５と、前回の分周比と最新の分周比との差に基づいて出力パルスの周波数が高くなる方向に遷移すると判断した場合、最新の分周比の値をリロードレジスタ１とタイマ２の両方に設定し、出力パルスの周波数が変化しないか、または周波数が低くなる方向に遷移すると判断した場合、最新の分周比の値をリロードレジスタ１のみに設定する分周比更新部６を備える。【選択図】  図１
2017033498.tif 000002
【特許請求の範囲】
【請求項１】
分周比を格納するｎビット（ｎは２のべき乗の値で、１６以上の値）のリロードレジスタと、
入力されるクロックと同期して動作するｎビットのタイマと、
前記クロックの周波数と前記タイマから出力させる所望の出力パルスの周波数とからｎビットの前記分周比を更新周期毎に決定する分周比決定手段と、
この分周比決定手段が１更新周期前に決定した前回の分周比と最新の分周比との差に基づいて前記出力パルスの周波数が高くなる方向に遷移すると判断した場合には、最新の分周比の値を前記リロードレジスタと前記タイマの両方に設定し、前記出力パルスの周波数が変化しないか、または周波数が低くなる方向に遷移すると判断した場合には、最新の分周比の値を前記リロードレジスタのみに設定する第１の分周比更新手段とを備えることを特徴とするパルス出力装置。
【請求項２】
請求項１記載のパルス出力装置において、
前記第１の分周比更新手段は、前記分周比の差と前記クロックの周期との乗算結果が前記更新周期を超える場合、前記出力パルスの周波数が高くなる方向に遷移すると判断し、前記分周比の差と前記クロックの周期との乗算結果が負または更新周期以下の場合、前記出力パルスの周波数が変化しないか、または周波数が低くなる方向に遷移すると判断することを特徴とするパルス出力装置。
【請求項３】
請求項１または２記載のパルス出力装置において、
さらに、前記タイマがタイムアウトしたときに、前記リロードレジスタに格納された分周比の値を前記タイマに設定する第２の分周比更新手段を備えることを特徴とするパルス出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タイマを利用してクロックを分周しパルスを生成するパルス出力装置に関するものである。
【背景技術】
【０００２】
電磁流量計の流量出力には４−２０ｍＡの電流出力とパルス出力があり、いずれも流量の瞬時値を電流値やパルス周波数に変換して出力している（特許文献１参照）。電流出力の場合は多重レンジを使って小流量と大流量を切り替えてレンジ出力接点と組み合わせて外部に知らせることができる。一方、パルス出力の場合はパルスの数が単位時間当たりの流量になるので、レンジで分解能を上げることはできず、電流出力のようなレンジ切り替えは使えない。このため、０．００００１Ｈｚ〜３０００Ｈｚといった低い周波数から高い周波数までパルスを連続的に作りださなけばならない。通常、パルス出力はコンピュータのタイマを使って分周する方法で実現している。
【０００３】
従来のパルス出力装置は、図４に示すように、分周比を格納する例えば１６ビットのリロードレジスタ１と、例えば１６ビットのカウンタからなるタイマ２と、トグルフリップフロップ３とから構成される。図示しないＣＰＵは、リロードレジスタ１に分周比を格納し、この分周比がタイマ２に設定され、カウントダウン動作が始まる。タイムアウト（カウント値が０）すると、再びリロードレジスタ１に分周比が格納され、この分周比がタイマ２に設定され、カウントダウン動作が始まるようになっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−２７３００８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以上のように従来の技術では、タイマを使ってクロックを分周する方法でパルスを生成している。出力パルスの周波数が低い場合には、リロードレジスタとタイマに設定される分周比が大きな値になるが、このような大きい値がタイマに設定されていると、出力パルスの周波数を低い周波数から高い周波数に変化させたいときに、タイマがタイムアウトするまで新しい分周比に遷移できず、新しい周波数に移ることができないため、出力パルスの周波数誤差が大きくなってしまうという問題があった。
【０００６】
従来は、このような問題を回避するために、出力パルスの周波数が低くなる場合には、タイマを停止させてパルス出力を停止するようにしていた。しかし、このようにパルス出力を停止させると、電磁流量計の場合には、微小な瞬時流量に対してパルスを出力できないという問題点があった。
【０００７】
本発明は、上記課題を解決するためになされたもので、出力パルスの周波数が低い周波数から高い周波数に遷移するときの周波数誤差を改善することができるパルス出力装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のパルス出力装置は、分周比を格納するｎビット（ｎは２のべき乗の値で、１６以上の値）のリロードレジスタと、入力されるクロックと同期して動作するｎビットのタイマと、前記クロックの周波数と前記タイマから出力させる所望の出力パルスの周波数とからｎビットの前記分周比を更新周期毎に決定する分周比決定手段と、この分周比決定手段が１更新周期前に決定した前回の分周比と最新の分周比との差に基づいて前記出力パルスの周波数が高くなる方向に遷移すると判断した場合には、最新の分周比の値を前記リロードレジスタと前記タイマの両方に設定し、前記出力パルスの周波数が変化しないか、または周波数が低くなる方向に遷移すると判断した場合には、最新の分周比の値を前記リロードレジスタのみに設定する第１の分周比更新手段とを備えることを特徴とするものである。
また、本発明のパルス出力装置の１構成例において、前記第１の分周比更新手段は、前記分周比の差と前記クロックの周期との乗算結果が前記更新周期を超える場合、前記出力パルスの周波数が高くなる方向に遷移すると判断し、前記分周比の差と前記クロックの周期との乗算結果が負または更新周期以下の場合、前記出力パルスの周波数が変化しないか、または周波数が低くなる方向に遷移すると判断することを特徴とするものである。
また、本発明のパルス出力装置の１構成例は、さらに、前記タイマがタイムアウトしたときに、前記リロードレジスタに格納された分周比の値を前記タイマに設定する第２の分周比更新手段を備えることを特徴とするものである。
【発明の効果】
【０００９】
本発明によれば、分周比決定手段が１更新周期前に決定した前回の分周比と最新の分周比との差に基づいて出力パルスの周波数が高くなる方向に遷移すると判断した場合に、最新の分周比の値をリロードレジスタとタイマの両方に設定するようにしたので、出力パルスの周波数が低い周波数から高い周波数に遷移するときの周波数誤差を改善することができる。その結果、本発明のパルス出力装置を電磁流量計に適用する場合には、パルス出力の積算値の精度を向上させることができる。また、本発明では、低い周波数のパルスでも出力できるため、本発明のパルス出力装置を搭載した電磁流量計を課金用途に使う場合に、正しい課金が可能となる。また、本発明では、出力パルスの周波数が変化するときの応答性を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態に係るパルス出力装置の構成を示すブロック図である。
【図２】本発明の実施の形態に係るパルス出力装置のタイマ設定値更新処理のうちソフトウェア処理を説明するフローチャートである。
【図３】本発明の実施の形態に係るパルス出力装置のタイマ設定値更新処理のうちハードウェア処理を説明するフローチャートである。
【図４】従来のパルス出力装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について図面を参照して説明する。図１は本発明の実施の形態に係るパルス出力装置の構成を示すブロック図である。本実施の形態のパルス出力装置は、分周比を格納する例えば１６ビットのリロードレジスタ１と、入力されるクロックと同期して動作する例えば１６ビットのカウンタからなるタイマ２と、トグルフリップフロップ（Ｔ型フリップフロップ）３と、データバス４と、分周比を決定する分周比決定部５と、タイマ２に設定される分周比を更新する分周比更新部６，７とから構成される。
【００１２】
リロードレジスタ１とタイマ２とトグルフリップフロップ３とデータバス４と分周比更新部７としては、コンピュータに内蔵されているものを用いる。このコンピュータのＣＰＵ（Central Processing Unit）は、コンピュータのメモリに格納されたプログラムに従って処理を実行し、分周比決定部５および分周比更新部６として機能する。
【００１３】
なお、図１には記載していないが、本実施の形態のパルス出力装置に入力されるクロックを生成する手段としては、コンピュータに内蔵されているプリスケーラ（分周器）を用いる。プリスケーラが複数の周波数のうちいずれか１つの周波数のクロックを選択的に出力することが可能な場合は、クロックの周波数を決定する必要があるが、このクロックの周波数は、パルス出力装置から出力させたいパルスの周波数ｆｏに応じて適宜決定すればよい。
【００１４】
具体的には、出力パルスの周波数ｆｏの低下に伴って、分周比がタイマ２の設定値の最大値（１６ビットのカウンタの場合で６５５３５）の数値範囲に収まらなくなったときに、クロックの周波数を下げる方向に切り替えるというようにすればよい。
【００１５】
以下、本実施の形態のパルス出力装置のタイマ設定値更新処理について図２、図３を参照して説明する。図２は分周比決定部５と分周比更新部６の動作（ソフトウェア処理）を説明するフローチャート、図３はタイマ２と分周比更新部７の動作（ハードウェア処理）を説明するフローチャートである。
【００１６】
まず、分周比決定部５は、出力パルスの周波数ｆｏの更新周期が経過したかどうかを判定する（図２ステップＳ１）。本実施の形態のパルス出力装置を電磁流量計に設ける場合、更新周期とは流量の測定周期（例えば２００ｍｓ）のことになる。電磁流量計では、測定周期毎に計測する瞬時流量値［ｍ3／ｈ］に対応する周波数ｆｏに基づいて新たな分周比を計算して設定することにより、瞬時流量値［ｍ3／ｈ］に応じた周波数ｆｏのパルスを出力することができる。
【００１７】
分周比決定部５は、更新周期が経過した場合（ステップＳ１においてＹＥＳ）、プリスケーラから出力されるクロックの周波数ｆｃｌｋとパルス出力装置から出力させたいパルスの周波数ｆｏとから、１６ビットの分周比Ｄｉｖｉｄｅｒを次式のように計算する（図２ステップＳ２）。
Ｄｉｖｉｄｅｒ＝ｆｃｌｋ／ｆｏ                                  ・・・（１）
【００１８】
分周比更新部６は、分周比決定部５が１更新周期前に計算した前回の分周比Ｐｒｅ＿Ｄｉｖｉｄｅｒと分周比決定部５が今回計算した最新の分周比Ｎｅｗ＿Ｄｉｖｉｄｅｒとの差Ｄｉｆｆ＿Ｄｉｖｉｄｅｒを次式のように計算する。
Ｄｉｆｆ＿Ｄｉｖｉｄｅｒ＝Ｐｒｅ＿Ｄｉｖｉｄｅｒ−Ｎｅｗ＿Ｄｉｖｉｄｅｒ
・・・（２）
【００１９】
プリスケーラから入力されるクロックの周期Ｔは、Ｔ＝１／ｆｃｌｋである。なお、更新周期は、クロック周期Ｔよりも長い時間である。
分周比更新部６は、計算した分周比の差Ｄｉｆｆ＿Ｄｉｖｉｄｅｒとクロック周期Ｔとの乗算結果（Ｔ×Ｄｉｆｆ＿Ｄｉｖｉｄｅｒ）が更新周期を超える場合（図２ステップＳ３においてＹＥＳ）、分周比Ｎｅｗ＿Ｄｉｖｉｄｅｒの値をリロードレジスタ１とタイマ２とに設定する（図２ステップＳ４）。
【００２０】
また、分周比更新部６は、分周比の差Ｄｉｆｆ＿Ｄｉｖｉｄｅｒとクロック周期Ｔとの乗算結果（Ｔ×Ｄｉｆｆ＿Ｄｉｖｉｄｅｒ）が負または更新周期以下の場合（ステップＳ３においてＮＯ）、分周比Ｎｅｗ＿Ｄｉｖｉｄｅｒの値をリロードレジスタ１のみに設定する（図２ステップＳ５）。こうして、リロードレジスタ１に格納される分周比Ｄｉｖｉｄｅｒは、更新周期毎に更新される。
【００２１】
分周比の差Ｄｉｆｆ＿Ｄｉｖｉｄｅｒとクロック周期Ｔとの乗算結果（Ｔ×Ｄｉｆｆ＿Ｄｉｖｉｄｅｒ）が負または更新周期以下の場合、出力パルスの周波数ｆｏが変化しないか、または周波数ｆｏが更に低くなることを示しているので、後述のようにタイマ２がタイムアウトするまで待ってから、リロードレジスタ１に格納された分周比Ｎｅｗ＿Ｄｉｖｉｄｅｒの値をタイマ２に設定しても出力パルスの周波数ｆｏの誤差にはならない。
【００２２】
一方、分周比の差Ｄｉｆｆ＿Ｄｉｖｉｄｅｒとクロック周期Ｔとの乗算結果（Ｔ×Ｄｉｆｆ＿Ｄｉｖｉｄｅｒ）が更新周期を超える場合、出力パルスの周波数ｆｏが高くなる方向に遷移することを示しているので、タイマ２がタイムアウトするまで待っていると、時間がかかり、出力パルスの周波数ｆｏの誤差が大きくなってしまう。そこで、本実施の形態では、分周比の差Ｄｉｆｆ＿Ｄｉｖｉｄｅｒとクロック周期Ｔとの乗算結果（Ｔ×Ｄｉｆｆ＿Ｄｉｖｉｄｅｒ）が更新周期を超える場合、リロードレジスタ１だけでなく、タイマ２の設定値も分周比Ｎｅｗ＿Ｄｉｖｉｄｅｒに更新するようにしている。
【００２３】
一方、タイマ２と分周比更新部７とは、以下のような動作を行なう。まず、タイマ２は、プリスケーラから入力されるクロックと同期して、自身に設定された分周比Ｄｉｖｉｄｅｒのカウントダウン（クロックが入力される度にカウント値が１減少）を行なう（図３ステップＳ６）。タイマ２への分周比Ｄｉｖｉｄｅｒの設定は、前述のように分周比更新部６によって行なわれるか、あるいは後述のように分周比更新部７によって行なわれる。
【００２４】
分周比更新部７は、タイマ２がタイムアウト（カウント値が０）になると（図３ステップＳ７においてＹＥＳ）、リロードレジスタ１に格納された分周比Ｄｉｖｉｄｅｒの値をタイマ２に設定する（図３ステップＳ８）。
なお、図２のソフトウェア処理と図３のハードウェア処理は非同期で行なわれる。タイマ２は、新たな分周比が設定された直後から、この分周比のデクリメントを行なう。
【００２５】
以上のように、本実施の形態では、出力パルスの周波数ｆｏが低い周波数から高い周波数に遷移するときには、更新周期分の時間待てば、タイマ２の設定値が新しい分周比に更新されるので、出力パルスの周波数ｆｏを変えることができる。したがって、本実施の形態では、出力パルスの周波数ｆｏが低い周波数から高い周波数に遷移するときの周波数誤差を改善することができる。その結果、本実施の形態のパルス出力装置を電磁流量計に適用する場合には、パルス出力の積算値の精度を向上させることができる。
【００２６】
また、従来の電磁流量計では、出力パルスｆｏの周波数が低くなる場合（例えば瞬時流量値［ｍ3／ｈ］を設定スパン（最大瞬時流量［ｍ3／ｈ］）で割って１００倍したＰＶ％値が０．１％以下の場合）、タイマを停止させてパルス出力を停止するようにしていた。しかし、このようにパルス出力を停止させると、微小な瞬時流量に対してパルスを出力できず、電磁流量計を課金用途に使う場合に、流体の微少な流れに対して課金できないという問題点があった。これに対して、本実施の形態では、０％近辺のＰＶ％値に対応する低い周波数ｆｏのパルスでも出力できるため、正しい課金が可能となる。
【００２７】
また、本実施の形態では、出力パルスの周波数ｆｏを変化させるとき（電磁流量計の例では瞬時流量値［ｍ3／ｈ］が変化したとき）の応答性が更新周期（測定周期）で決まり、４−２０ｍＡの電流出力と同じ周期になる。
【００２８】
なお、本実施の形態では、広い周波数範囲のパルスを生成するため、タイマ２として１６ビットのタイマ（カウンタ）を用いているが、これに限るものではなく、ｎビット（ｎは２のべき乗の値で、１６以上の値）のタイマを使用すればよい。
【産業上の利用可能性】
【００２９】
本発明は、クロックを分周してパルスを生成する技術に適用することができる。
【符号の説明】
【００３０】
１…リロードレジスタ、２…タイマ、３…トグルフリップフロップ、４…データバス、５…分周比決定部、６，７…分周比更新部。
【図１】
2017033498.tif 000003
【図２】
2017033498.tif 000004
【図３】
2017033498.tif 000005
【図４】
2017033498.tif 000006