(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-16
(45)【発行日】2024-01-24
(54)【発明の名称】データ出力回路
(51)【国際特許分類】
H03M 1/66 20060101AFI20240117BHJP
【FI】
H03M1/66 A
(21)【出願番号】P 2019232470
(22)【出願日】2019-12-24
【審査請求日】2022-07-08
(73)【特許権者】
【識別番号】000232483
【氏名又は名称】日本電波工業株式会社
(74)【代理人】
【識別番号】110004222
【氏名又は名称】弁理士法人創光国際特許事務所
(74)【代理人】
【識別番号】100166006
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】竹岸 滋
【審査官】竹内 亨
(56)【参考文献】
【文献】特開昭56-105311(JP,A)
【文献】米国特許出願公開第2005/0270200(US,A1)
【文献】特開平08-018451(JP,A)
【文献】特開平01-058110(JP,A)
【文献】特開2011-082844(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H03M 1/00-1/88
(57)【特許請求の範囲】
【請求項1】
DAコンバータに対してデジタルデータを出力するデータ出力回路であって、
過去の時点で前記DAコンバータに対して出力した過去設定値を特定する過去設定値特定部と、
前記過去設定値の後に前記DAコンバータに出力させる最新設定値を特定する最新設定値特定部と、
前記過去設定値と前記最新設定値との間の複数の中間値を算出する中間値算出部と、
前記複数の中間値を所定の時間間隔で前記DAコンバータに対して出力した後に、前記最新設定値を前記DAコンバータに対して出力するデータ出力部と、
を有
し、
前記過去設定値特定部は、前記最新設定値特定部が特定した前記最新設定値が入力される直前に外部から入力された設定値を前記過去設定値として特定し、
前記中間値算出部は、前記過去設定値と前記最新設定値との間を、前記DAコンバータが前記過去設定値を出力している状態から前記最新設定値の出力を開始する状態までの時間である遷移時間に基づいて決定された分割数で分割することにより複数の前記中間値を算出する、
データ出力回路。
【請求項2】
DAコンバータに対してデジタルデータを出力するデータ出力回路であって、
過去の時点で前記DAコンバータに対して出力した過去設定値を特定する過去設定値特定部と、
前記過去設定値の後に前記DAコンバータに出力させる最新設定値を特定する最新設定値特定部と、
前記過去設定値と前記最新設定値との間の複数の中間値を算出する中間値算出部と、
前記複数の中間値を所定の時間間隔で前記DAコンバータに対して出力した後に、前記最新設定値を前記DAコンバータに対して出力するデータ出力部と、
を有し、
前記データ出力部は、前記DAコンバータが前記過去設定値を出力している状態から前記最新設定値の出力を開始する状態までの時間である遷移時間に基づいて決定された前記時間間隔で前記複数の中間値を出力する、
データ出力回路。
【請求項3】
前記データ出力部は、前記DAコンバータに対して前記複数の中間値を出力するための通信インターフェースにおいてデータを送信可能なタイミングに基づいて決定された前記時間間隔で前記複数の中間値を出力する、
請求項
1に記載のデータ出力回路。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、DA変換器に対してデータを出力するデータ出力回路に関する。
【背景技術】
【0002】
従来、DA変換器が出力するアナログ信号の値を設定するための回路が知られている。特許文献1には、DA変換器に出力させる波形のデータを予めメモリに記憶させておき、メモリから読み出した波形のデータをDA変換器に入力することにより所望の波形のアナログ信号をDA変換器に出力させる装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
DA変換器に出力させる値を変化させる際に、DA変換器がアナログ信号の出力値を瞬時に変化させると、出力されるアナログ信号に高周波成分が含まれるので、DA変換器から変化前の値から変化後の値まで多段階の値を出力させることが望ましい場合がある。ところが、従来の装置のように、DA変換器に出力させる波形のデータを予めメモリに記憶させておくと、出力させることができる波形の数がメモリの容量によって制限されてしまうという問題が生じていた。
【0005】
そこで、本発明はこれらの点に鑑みてなされたものであり、メモリに波形のデータを記憶させることなく、DA変換器に、変化前の値から変化後の値まで多段階の値を出力させるための回路を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係るデータ出力回路は、DAコンバータに対してデジタルデータを出力するデータ出力回路である。前記データ出力回路は、過去の時点で前記DAコンバータに対して出力した過去設定値を特定する過去設定値特定部と、前記過去設定値の後に前記DAコンバータに出力させる最新設定値を特定する最新設定値特定部と、前記過去設定値と前記最新設定値との間の複数の中間値を算出する中間値算出部と、前記複数の中間値を所定の時間間隔で前記DAコンバータに対して出力した後に、前記最新設定値を前記DAコンバータに対して出力するデータ出力部と、を有する。
【0007】
前記過去設定値特定部は、前記最新設定値特定部が特定した前記最新設定値が入力される直前に外部から入力された設定値を前記過去設定値として特定し、前記中間値算出部は、前記過去設定値と前記最新設定値との間を所定の分割数で分割することにより複数の前記中間値を算出してもよい。
【0008】
前記中間値算出部は、前記DAコンバータが前記過去設定値を出力している状態から前記最新設定値の出力を開始する状態までの時間である遷移時間に基づいて決定された前記分割数に基づいて前記複数の中間値を算出してもよい。
【0009】
前記データ出力部は、前記DAコンバータが前記過去設定値を出力している状態から前記最新設定値の出力を開始する状態までの時間である遷移時間に基づいて決定された前記時間間隔で前記複数の中間値を出力してもよい。
【0010】
前記データ出力部は、前記DAコンバータに対して前記複数の中間値を出力するための通信インターフェースにおいてデータを送信可能なタイミングに基づいて決定された前記時間間隔で前記複数の中間値を出力してもよい。
【0011】
前記過去設定値特定部は、前記データ出力部が出力している値を前記過去設定値として特定してもよい。
【発明の効果】
【0012】
本発明によれば、メモリに波形のデータを記憶させることなく、DA変換器に、変化前の値から変化後の値まで多段階の値を出力させることができるという効果を奏する。
【図面の簡単な説明】
【0013】
【
図1】本実施形態のデータ出力回路を有する電子機器100の構成図である。
【
図2】データ出力回路2の動作の概要を説明するための図である。
【
図4】データ出力回路2の各部の動作タイミングを示す図である。
【
図5】データ出力回路2における動作の流れを示すフローチャートである。
【
図6】第2変形例に係るデータ出力回路2の各部の動作タイミングを示す図である。
【発明を実施するための形態】
【0014】
[電子機器100の概要]
図1は、本実施形態のデータ出力回路を有する電子機器100の構成図である。電子機器100は、DAコンバータを有する任意の電子機器であってよく、例えばデジタル周波数シンセサイザが生成したデジタル信号をアナログ発振信号に変換して出力する信号発生装置である。
【0015】
電子機器100は、CPU(Central Processing Unit)1と、データ出力回路2と、DAコンバータ3とを有する。CPU1は、プログラムを実行することによりデータ出力回路2を制御するプロセッサである。CPU1は、例えば電子機器100の外部から入力される指示に基づいて、電子機器100が出力するアナログ発振信号の周波数を決定し、決定した周波数に対応するデータを出力するようにデータ出力回路2を制御する。
【0016】
具体的には、CPU1は、データ出力回路2がDAコンバータ3に対して出力するべきデジタルデータの値をデータ出力回路2に指示する。例えば8ビット幅のデジタルデータをアナログ信号に変換するDAコンバータ3が、出力するアナログ値を最小値から最大値に変化させる場合、CPU1は、デジタルデータを255に変化させるように、データ出力回路2に対して値が255の設定値を入力する。
【0017】
データ出力回路2は、DAコンバータ3に対してデジタルデータを出力する回路である。データ出力回路2は、FPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit)等の集積回路に収容されている。データ出力回路2は、CPU1とともに単一の集積回路に収容されていてもよい。データ出力回路2は、データバスを介してCPU1との間で各種のデータを送受信することができるが、データバス以外のインターフェースを介してCPU1との間でデータを送受信してもよい。
【0018】
データ出力回路2は、CPU1から入力された設定値に基づくデジタルデータを生成し、生成したデジタルデータをDAコンバータ3に入力する。この際、データ出力回路2は、デジタルデータの値が急激に変化することによりDAコンバータ3が出力するアナログ信号に不要な高周波成分が含まれないようにするために、CPU1から入力された複数の設定値を補間する。
【0019】
図2は、データ出力回路2の動作の概要を説明するための図である。
図2(a)は、値がA(例えば0)のデジタルデータをデータ出力回路2が出力している時点で、Aの値よりも大きい設定値B(例えば255)がCPU1から入力された場合にデータ出力回路2がDAコンバータ3に対して出力するデジタルデータが変化する様子を示している。
【0020】
データ出力回路2は、DAコンバータ3に対して出力しているデジタルデータの過去設定値とCPU1から入力された設定値との間の複数の中間値を、DAコンバータ3に対して出力する。
図2(a)に示す例においては、過去設定値Aと設定値Bとの間がN段階に分割され、データ出力回路2は、(B-A)/Nずつ値が増加するように複数の中間値を出力している。
【0021】
図2(b)は、値がBのデジタルデータをデータ出力回路2が出力している時点で、Bの値よりも小さい設定値AがCPU1から入力された場合にデータ出力回路2がDAコンバータ3に対して出力するデジタルデータが変化する様子を示している。この場合、データ出力回路2は、(B-A)/Nずつ値が減少するように複数の中間値を出力している。このように、CPU1からデータ出力回路2に新たな設定値が入力された場合に、過去設定値と設定値との間の複数の中間値をデータ出力回路2が出力することにより、DAコンバータ3が出力するアナログ信号の値が緩やかに変化するので、DAコンバータ3が出力するアナログ信号に含まれる不要な高周波成分が抑制される。
【0022】
データ出力回路2は、例えばCPU1から入力される指示データに基づいて、出力するデジタルデータの値を変化させる時間間隔Δt及びデジタルデータの単位変化量Δdの大きさを決定する。詳細については後述するが、データ出力回路2は、CPU1から指示された時間間隔Δtに基づいて単位変化量Δdを決定してもよく、CPU1から指示された単位変化量Δdに基づいて時間間隔Δtを決定してもよい。
【0023】
DAコンバータ3は、データ出力回路2から入力されたデジタルデータをアナログ信号に変換し、変換後のアナログ信号を出力する。データ出力回路2とDAコンバータ3との間は、例えばI2C(Inter-Integrated Circuit)バスにより接続されており、DAコンバータ3は、データ出力回路2からデジタルデータを定期的に取得する。
【0024】
[データ出力回路2の構成]
図3は、データ出力回路2の構成を示す図である。
図4は、データ出力回路2の各部の動作タイミングを示す図である。データ出力回路2は、データバス制御部21と、過去設定値特定部22と、最新設定値特定部23と、分割数特定部24と、遷移時間特定部25と、タイミング生成部26と、中間値算出部27とを有する。
【0025】
データバス制御部21は、CPU1との間でデータを送受信するためのデータバスインターフェースである。データバス制御部21は、
図4におけるバスアクセス期間にCPU1から指示データを取得し、取得した指示データを過去設定値特定部22、最新設定値特定部23、分割数特定部24及び遷移時間特定部25に入力する。
【0026】
過去設定値特定部22は、過去にDAコンバータ3に対して出力した過去設定値を特定する。具体的には、過去設定値特定部22は、例えば、データバス制御部21を介してCPU1から入力された設定値のうち、最新の設定値が入力される前にCPU1から入力された値を過去設定値として特定する。換言すると、過去設定値特定部22は、最新設定値特定部23が特定する設定値が入力される直前にCPU1から入力された設定値を過去設定値として特定する。
【0027】
最新設定値特定部23は、過去設定値の後にDAコンバータ3に出力させる最新設定値を特定する。最新設定値特定部23は、例えば、データバス制御部21を介してCPU1から入力された新たな設定値を、DAコンバータ3に出力させるアナログ信号の最新設定値として特定する。最新設定値特定部23は、特定した設定値を中間値算出部27に通知する。
【0028】
分割数特定部24は、過去設定値と最新設定値との間を分割する数を特定する。分割数特定部24は、例えば、データバス制御部21を介してCPU1から入力された指示データに基づいて分割数を特定する。分割数特定部24は、特定した分割数をタイミング生成部26及び中間値算出部27に通知する。
【0029】
分割数特定部24は、DAコンバータ3が過去設定値を出力している状態から最新設定値の出力を開始する状態までの時間である遷移時間に基づいて分割数を決定してもよい。分割数特定部24は、例えば、データ出力部28がDAコンバータ3に対して出力する値を変化させることができる最小の時間間隔で遷移時間を除算することにより得られた値よりも小さく、当該値に最も近い整数を分割数として特定する。
【0030】
遷移時間特定部25は、DAコンバータ3が出力するアナログ信号の値を過去設定値から最新設定値に変化させる際の遷移時間を特定する。遷移時間特定部25は、例えば、データバス制御部21を介してCPU1から入力された指示データに基づいて遷移時間を特定する。遷移時間特定部25は、特定した遷移時間をタイミング生成部26に通知する。
【0031】
遷移時間特定部25は、過去設定値と最新設定値との差の大きさに基づいて遷移時間を特定してもよい。遷移時間特定部25は、例えば過去設定値と最新設定値との差が大きければ大きいほど遷移時間を大きくする。遷移時間特定部25がこのように動作することで、DAコンバータ3が出力するアナログ信号の値が変化する際の傾きを一定の大きさにすることができる。
【0032】
タイミング生成部26は、中間値算出部27が中間値を生成するタイミングを示すタイミング信号を生成し、生成したタイミング信号を中間値算出部27に入力する。タイミング生成部26は、分割数特定部24から入力された分割数に対応する数のタイミング信号を生成する。また、タイミング生成部26は、遷移時間特定部25から入力された遷移時間に対応する時間間隔のタイミング信号を生成する。タイミング生成部26は、例えば、遷移時間と分割数とに基づいて時間間隔を決定する。具体的には、タイミング生成部26は、遷移時間を分割数で除算することにより時間間隔を決定する。
【0033】
図4に示すように、タイミング生成部26は、例えば、DAコンバータ3が出力するアナログ信号の値の過去設定値から最新設定値への変化を開始するタイミングを示す開始トリガ信号、及びDAコンバータ3が出力するアナログ信号の過去設定値から最新設定値への変化が終了するタイミングを示す終了割り込み信号を生成する。また、タイミング生成部26は、DAコンバータ3に中間値を出力するためのタイミング信号としてのスタートトリガを生成する。タイミング生成部26は、タイマーにより時間をカウントすることにより、開始トリガ信号を生成してから終了割り込み信号を生成するまでの遷移時間内に、決定した時間間隔でスタートトリガを生成する。
【0034】
なお、
図4における終了フラグは、DAコンバータ3への中間値の伝送が終了したことを示す信号であり、DAコンバータ3又はDAコンバータ3とのインターフェース回路(例えばI2Cバス用コントローラ)からタイミング生成部26に入力される。
【0035】
中間値算出部27は、過去設定値特定部22から入力された過去設定値と最新設定値特定部23から入力された最新設定値との間の複数の中間値を算出し、算出した中間値を順次データ出力部28に入力する。中間値算出部27は、タイミング生成部26から入力されるタイミング信号に同期して、複数の中間値を順次データ出力部28に入力する。中間値算出部27は、過去設定値と最新設定値との間を所定の分割数で分割することにより複数の中間値を算出する。中間値算出部27は、例えば、分割数特定部24から入力された分割数で過去設定値と設定値との差分を除算することにより、単位変化量Δdを算出する。中間値算出部27は、データ出力部28に入力している値に単位変化量Δdを加算又は減算することにより、複数の中間値を順次算出する。
【0036】
中間値算出部27は、過去設定値よりも設定値の方が大きい場合、データ出力部28に入力している最新値に単位変化量Δdを加算することにより複数の中間値を順次算出する。中間値算出部27は、過去設定値よりも設定値の方が小さい場合、データ出力部28に入力している最新値から単位変化量Δdを減算することにより複数の中間値を順次算出する。
【0037】
中間値算出部27は、DAコンバータ3が過去設定値を出力している状態から設定値の出力を開始する状態までの時間である遷移時間に基づいて決定された分割数を用いて複数の中間値を算出してもよい。中間値算出部27は、例えば、データ出力部28がDAコンバータ3に対して出力する値を変化させることができる最小の時間間隔と遷移時間とに基づいて分割数特定部24が決定した分割数を用いる。中間値算出部27がこのように動作することで、遷移時間が長い場合に遷移時間が短い場合よりも多くの中間値をDAコンバータ3に入力することができるので、遷移時間が長い場合にDAコンバータ3が出力するアナログ信号に含まれる高周波成分が効果的に抑制される。
【0038】
データ出力部28は、DAコンバータ3に出力させるアナログ信号の値を示すデジタルデータを順次DAコンバータ3に対して出力する。データ出力部28は、中間値算出部27が算出した複数の中間値を所定の時間間隔でDAコンバータ3に対して出力した後に、CPU1から入力された最新設定値をDAコンバータ3に対して出力する。すなわち、データ出力部28は、過去設定値、複数の中間値、最新設定値をこの順番でDAコンバータ3に対して出力する。
【0039】
データ出力部28は、DAコンバータ3が過去設定値を出力している状態から設定値の出力を開始する状態までの時間である遷移時間に基づいて決定された時間間隔で複数の中間値を順次出力する。具体的には、データ出力部28は、中間値算出部27から新たな中間値又は設定値(すなわち過去設定値又は最新設定値)が入力されるたびに、DAコンバータ3に対して新たなデジタルデータを出力する。データ出力部28は、タイミング生成部26からタイミング信号の入力を受けて、入力されるタイミング信号に同期してデジタルデータを出力してもよい。
【0040】
[データ出力回路2の動作フローチャート]
図5は、データ出力回路2における動作の流れを示すフローチャートである。過去設定値特定部22は、DAコンバータ3に出力させるアナログ信号の値としてCPU1から指示されていた値である過去設定値を特定し、最新設定値特定部23は、DAコンバータ3に出力させる新たなアナログ信号の値である最新設定値を特定する(S11)。続いて、分割数特定部24は、分割数Nを決定する(S12)。遷移時間特定部25は、過去設定値から設定値に変化させる遷移時間を特定する(S13)。
【0041】
タイミング生成部26は、遷移時間特定部25が特定した遷移時間に基づいて、データ出力部28が出力する中間値を変化させる時間間隔Δtを決定する(S14)。中間値算出部27は、過去設定値と最新設定値に基づいて単位変化量Δdを決定する(S15)。
【0042】
中間値算出部27は、過去設定値と最新設定値との大小関係を判定し(S16)、最新設定値が過去設定値以上である場合に(S16におけるYES)、データ出力部28に対して出力している最新値に単位変化量Δdを加算することにより中間値を算出する(S17)。中間値算出部27は、最新設定値が過去設定値よりも小さい場合に(S16におけるNO)、データ出力部28に対して出力している最新値から単位変化量Δdを減算することにより中間値を算出する(S18)。
【0043】
中間値算出部27は、時間間隔Δtだけ待機した後に(S19)、分割数Nに対応する数の中間値を出力したか否かを判定する(S20)。中間値算出部27は、分割数Nに対応する数の中間値を出力していない場合(S20におけるNO)、S16に処理を戻して、次の中間値を算出する。中間値算出部27は、分割数Nに対応する数の中間値を出力した場合(S20におけるYES)、処理を終了してCPU1からデータ出力回路2に次の設定値が入力されるまで待機する。
【0044】
[第1変形例]
以上の説明においては、中間値算出部27が、過去設定値と最新設定値との差分を分割することにより複数の中間値を算出した。これに対して、中間値算出部27は、データ出力部28がDAコンバータ3に対して出力している値に予め定められた単位変化量Δdを加算したり、当該値から単位変化量Δdを減算したりすることにより複数の中間値を算出してもよい。このような構成は、CPU1から入力される設定値の変化量によらず単位変化量Δdが固定されている場合に好適である。
【0045】
[第2変形例]
以上の説明においては、中間値算出部27が複数の中間値を算出し、データ出力部28が複数の中間値を出力するタイミングをタイミング生成部26が決定する場合を例示したが、データ出力部28が複数の中間値を出力するタイミングは、他の手段により決定されてもよい。データ出力部28は、例えばDAコンバータ3に対して複数の中間値を出力するための通信インターフェース(例えばI2Cバス)においてデータを送信可能なタイミングに基づいて決定された時間間隔で複数の中間値を出力してもよい。
【0046】
図6は、第2変形例に係るデータ出力回路2の各部の動作タイミングを示す図である。
図6に示すように、データ出力部28は、通信インターフェースにおいてデータをDAコンバータ3に出力するタイミングを示すスタートトリガに同期して複数の中間値を順次出力する。
【0047】
この際、タイミング生成部26は、DAコンバータ3への中間値の伝送が終了したことを示す終了フラグをDAコンバータ3又はDAコンバータ3とのインターフェース回路(例えばI2Cバス用コントローラ)から取得したタイミングでスタートトリガを生成する。
図6に示すように、スタートトリガが生成される時間間隔が、中間値を出力する時間間隔よりも短い場合、データ出力部28は、同一の値の中間値を連続して出力する。データ出力部28は、このように動作することで、
図4に示したタイミングと実質的に同等のタイミングで複数の中間値を順次出力することができる。
【0048】
[データ出力回路2による効果]
以上説明したように、データ出力回路2は、CPU1から入力された複数の設定値の間の複数の中間値を生成し、複数の設定値をDAコンバータ3に対して出力する間に、複数の中間値を順次出力する。データ出力回路2がこのように動作することで、メモリに波形のデータを記憶させることなく、DAコンバータ3に、変化前の値から変化後の値まで多段階の値を出力させることができる。その結果、DAコンバータ3が出力するアナログ信号の値が急峻に変化しづらくなるので、DAコンバータ3が出力するアナログ信号に含まれる不要な高周波成分が抑制される。
【0049】
また、データ出力回路2が、CPU1から入力された複数の設定値に基づいて複数の中間値を算出することで、CPU1が複数の中間値を出力する必要がないので、CPU1の処理負荷を軽減することができる。また、CPU1が複数の中間値を出力する必要がないので、CPU1が複数の中間値を出力するために要する時間よりも短い時間内に複数の中間値をDAコンバータ3に対して出力することが可能になり、高い周波数のアナログ信号をDAコンバータ3に出力させる必要がある場合に好適である。
【0050】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を併せ持つ。
【符号の説明】
【0051】
1 CPU
2 データ出力回路
3 DAコンバータ
21 データバス制御部
22 過去設定値特定部
23 最新設定値特定部
24 分割数特定部
25 遷移時間特定部
26 タイミング生成部
27 中間値算出部
28 データ出力部
100 電子機器