(57)【要約】【課題】波形データの変更時におけるマイクロプロセッサの処理負荷を軽減することができるマイクロプロセッサシステムを提供すること。【解決手段】マイクロプロセッサシステム１は、ＣＰＵ１１、アドレスレジスタ１２、波形生成部１３、Ｉ／Ｆ１４、内蔵メモリ１５、アドレス発生器１６、アドレス演算器１７、波形データレジスタ１８、Ｄ／Ａ変換器１９，２０等を備える。内蔵メモリ１５には基本波形データが格納されており、波形生成部１３は、ＣＰＵ１１からシステムバス２１を介して入力される入力パラメータに応じた波形データを生成する。波形データレジスタ１８は、波形生成部１３にて生成された１周期分の波形データを格納し、アドレス信号ＡＤＤ１，ＡＤＤ２に応じた波形データをＤ／Ａ変換器１９，２０に出力する。【選択図】　　　　図１
2004145656.tif 000002
【特許請求の範囲】
【請求項１】
マイクロプロセッサと、ディジタルデータである波形データをアナログ信号に変換するＤ／Ａ変換器とを備え、所定周期で変化するアナログ波形の信号を出力するマイクロプロセッサシステムであって、
入力される入力パラメータに応じた波形データを生成する波形生成部を備えたことを特徴とするマイクロプロセッサシステム。
【請求項２】
基本波形データを記憶する内蔵メモリを備え、
前記波形生成部は、前記内蔵メモリの基本波形データを取り込み、前記入力パラメータに応じて該基本波形データを加工した波形データを生成することを特徴とする請求項１に記載のマイクロプロセッサシステム。
【請求項３】
前記波形生成部は、前記入力パラメータに応じた正弦波の波形データを近似式による演算で生成するＳＩＮ波生成部を含むことを特徴とする請求項１に記載のマイクロプロセッサシステム。
【請求項４】
基本波形データを入力するインターフェース部と、
前記基本波形データに基づいて入力パラメータに応じた波形データを生成する波形生成部と、
前記波形データをアナログ波形に変換するＤ／Ａ変換器と
を備えたことを特徴とする波形データ生成装置。
【請求項５】
基本波形データを入力し、
入力パラメータに基づいて前記基本波形データを加工して波形データを生成し、
前記波形データをアナログ波形に変換し、
前記アナログ波形に基づいてステッピングモータを制御することを特徴とするステッピングモータ制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、所定周期で変化するアナログ波形の信号を出力するマイクロプロセッサシステム、波形データ生成装置、及びステッピングモータ制御方法に関するものである。
【０００２】
近年、携帯端末は、システムの軽量化や部品数の削減とともに、記録装置（例えば、ＤＶＤ−ＲＯＭ）等を搭載するといった高機能化が求められている。記録装置を搭載した携帯端末は、記録装置のヘッドを移動させるステッピングモータを備える。また、該携帯端末には、ステッピングモータを制御するためのアナログ波形（正弦波形）の信号を出力するマイクロプロセッサシステムが搭載されている。このマイクロプロセッサシステムに対しては、アナログ波形の信号出力を容易にするとともに、マイクロプロセッサの負担を軽減する要求がある。
【０００３】
【従来の技術】
図１１には、ステッピングモータ４０を制御するための従来のマイクロプロセッサシステム４１を示す。マイクロプロセッサシステム４１は、マイクロプロセッサ（ＣＰＵ）４２、波形制御部４３、インターフェース（Ｉ／Ｆ）４４、Ｄ／Ａ変換器４５等を備える。
【０００４】
マイクロプロセッサシステム４１において、ＣＰＵ４２、波形制御部４３、及びＩ／Ｆ４４はシステムバス４７により接続されており、Ｉ／Ｆ４４には外部メモリ４８が接続されている。外部メモリ４８には、ＣＰＵ４２が実行するプログラムやステッピングモータ４０を駆動するための波形データ等が記憶されている。ＣＰＵ４２は、システムバス４７及びＩ／Ｆを４４介して外部メモリ４８にアクセスし、該メモリ４８から読み出した波形データを波形制御部４３の内部メモリ４９に転送する。
【０００５】
波形制御部４３は、内部メモリ４９の波形データを周期的にＤ／Ａ変換器に出力する。Ｄ／Ａ変換器４５は波形データ（ディジタルデータ）に応じた電圧の駆動信号φを出力する。これにより、所定のアナログ波形（具体的には、正弦波形）を持つ駆動信号φがステッピングモータ４０に供給され、ステッピングモータ４０が回転する。
【０００６】
上記のようにステッピングモータを制御するためのマイクロプロセッサシステムが特許文献１等に開示されている。
【０００７】
【特許文献１】
特開２００１−２２２４６４号公報
【０００８】
【発明が解決しようとする課題】
ところで、携帯端末では、記録装置のデータアクセスを的確に行うためにステッピングモータ４０の回転速度や出力トルク等が制御される。この回転速度や出力トルクを制御するために、マイクロプロセッサシステム４１において、波形データのマイクロステップ数や振幅等が変更される。波形データの変更時において、ＣＰＵ４２は、外部メモリ４８から波形データを読み出し、該データを内部メモリ４９に転送するといった処理を行っている。従って、波形データの変更が頻繁に行われる場合には、外部メモリ４８及び内部メモリ４９へのアクセスによるＣＰＵ４２の処理負荷が増大してしまう。特に、ステッピングモータ４０をより滑らかに制御するためには、波形データの総マイクロステップ数を増やし大量の波形データを内部メモリ４９に転送する必要があるので、その問題が顕著になる。
【０００９】
本発明は上記問題点を解決するためになされたものであって、その目的は、波形データの変更時におけるマイクロプロセッサの処理負荷を軽減することができるマイクロプロセッサシステム、波形データ生成装置、及びステッピングモータ制御方法を提供することにある。
【００１０】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の発明によれば、波形生成部にはパラメータが入力され、そのパラメータに応じた波形データが生成される。そして、その波形データがＤ／Ａ変換器にてアナログ波形の信号に変換される。これにより、所定周期で変化するアナログ波形の信号が出力される。この場合、入力パラメータに基づいて波形データを変更することが可能であり、従来技術のように波形データを転送するシステムと比較して、データ変更時におけるマイクロプロセッサの処理負荷が低減される。
【００１１】
請求項２に記載の発明によれば、内蔵メモリの基本波形データが波形生成部に取り込まれ、入力パラメータに応じて該基本波形データが加工されることで波形データが生成される。
【００１２】
請求項３に記載の発明によれば、ＳＩＮ波生成部により、入力パラメータに応じた正弦波の波形データが近似式による演算で生成される。
請求項４に記載の発明によれば、インターフェース部により基本波形データが入力され、波形生成部によりその基本波形データに基づいて入力パラメータに応じた波形データが生成される。そして、Ｄ／Ａ変換器により波形データがアナログ波形に変換される。
【００１３】
請求項５に記載の発明によれば、基本波形データが入力され、入力パラメータに基づいてその基本波形データが加工されて波形データが生成される。そして、その波形データがアナログ波形に変換され、該アナログ波形に基づいてステッピングモータが制御される。
【００１４】
【発明の実施の形態】
（第１実施形態）
以下、本発明を具体化した第１実施形態を図面に従って説明する。
【００１５】
図１は、本実施形態のマイクロプロセッサシステム１を示すブロック回路図である。このマイクロプロセッサシステム１は、携帯機器に備えられ、例えばＤＶＤ−ＲＯＭ装置のヘッドを移動させるステッピングモータ２の駆動信号φ１，φ２を出力する機能を持つ。
【００１６】
マイクロプロセッサシステム１は、ＣＰＵ１１、アドレスレジスタ１２、波形生成部１３、インターフェース（Ｉ／Ｆ）１４、内蔵メモリ１５、アドレス発生器１６、アドレス演算器１７、波形データレジスタ１８、第１及び第２Ｄ／Ａ変換器１９，２０等を備える。
【００１７】
マイクロプロセッサシステム１において、ＣＰＵ１１、アドレスレジスタ１２、波形生成部１３、及びＩ／Ｆ１４は、システムバス２１により相互に接続されている。システムバス２１はアドレスバス２１ａとデータバス２１ｂとを含み、アドレスレジスタ１２及び波形生成部１３には、ＣＰＵ１１からアドレスＡＤとデータＤＴとが入力されるとともに、ＣＰＵ１１からリードストローブＲＤ及びライトストローブＷＲが入力される。
【００１８】
また、マイクロプロセッサシステム１には、Ｉ／Ｆ１４を介して外部メモリ２２が接続されている。外部メモリ２２にはＣＰＵ１１が実行するプログラム及び実行に必要なデータが記憶されている。ＣＰＵ１１は、システムバス２１及びＩ／Ｆ１４を介して外部メモリ２２をアクセスし、外部メモリ２２のプログラムに従い動作して各回路（例えば、アドレスレジスタ１２、波形生成部１３、Ｉ／Ｆ１４等）を制御する。
【００１９】
内蔵メモリ１５には、１周期分の駆動信号φ１，φ２を生成するための基本波形データが記憶されている。本実施形態の内蔵メモリ１５は書き換え可能なメモリであり、同メモリ１５にもＣＰＵ１１からリードストローブＲＤ及びライトストローブＷＲが入力される。マイクロプロセッサシステム１では、電源投入に伴う初期動作時にＣＰＵ１１により外部メモリ２２がアクセスされ、その外部メモリ２２から取得された基本波形データが内蔵メモリ１５に記憶される。そして、ステッピングモータ２の駆動信号φ１，φ２を出力する場合には、内蔵メモリ１５の基本波形データに基づいて、波形生成部１３により所望の波形データが生成される。
【００２０】
具体的には、ＣＰＵ１１からのアドレスＡＤがアドレスレジスタ１２を指し、ライトストローブＷＲがアクティブである時、ＣＰＵ１１からのデータＤＴがアドレスレジスタ１２に記憶される。内蔵メモリ１５は、アドレスレジスタ１２の記憶データをアドレス信号として受け取る。そして、内蔵メモリ１５は、ライトストローブＷＲがアクティブである時、そのアドレス信号に対応するアドレスに、ＣＰＵ１１から波形生成部１３を介して入力されるデータＤＴを記憶する。また、リードストローブＲＤがアクティブである時、内蔵メモリ１５は、アドレスレジスタ１２からのアドレス信号に応答して読み出したデータを波形生成部１３に出力する。
【００２１】
図２に示すように、アドレス発生器１６は、コントロールレジスタ２４、アップダウンカウンタ２５、比較器２６を含み、所定範囲で循環するアドレス信号ＡＤＤ１を生成する。
【００２２】
コントロールレジスタ２４は、所定のビット数のレジスタであり、所定のＩ／Ｏ空間にマッピングされている。コントロールレジスタ２４はシステムバス２１に接続され、ＣＰＵ１１からコントロールデータ及びカウント終了アドレス等が書き込まれる。
【００２３】
コントロールデータは、アップダウンカウンタ２５の起動・停止を制御するためのイネーブルデータと、アップダウンカウンタ２５のカウント方向を切り替える切り替えデータとを含む。コントロールレジスタ２４は、イネーブルデータに対応するイネーブル信号ＥＮをアップダウンカウンタ２５に出力する。また、コントロールレジスタ２４は、切り替えデータに応じた切替信号ＤＩＲをアップダウンカウンタ２５に出力する。さらに、コントロールレジスタ２４は、開始アドレスＬＡをアップダウンカウンタ２５に出力し、終了アドレスＥＡを比較器２６に出力する。
【００２４】
アップダウンカウンタ２５には、クロック信号ＣＫが入力されており、該アップダウンカウンタ２５は、コントロールレジスタ２４からのイネーブル信号ＥＮに応答してクロック信号ＣＫのカウント動作を実行・停止する。コントロールレジスタ２４からの切替信号ＤＩＲに基づいて、アップダウンカウンタ２５は、アップカウント動作を実行したり、ダウンカウント動作を実行したりする。そして、アップダウンカウンタ２５は、各カウント動作によるカウント値をアドレス信号ＡＤＤ１として出力する。
【００２５】
比較器２６は、コントロールレジスタ２４からの終了アドレスＥＡと、アップダウンカウンタ２５からのカウント値（アドレス信号ＡＤＤ１）とを比較し、それらが一致したときはロード信号ＬＯＡＤを活性化する。このとき、開始アドレスＬＡが初期値としてアップダウンカウンタ２５に設定される。
【００２６】
なお、アドレス発生器１６におけるアドレス値の初期値が「０」である場合には、開始アドレスＬＡ及びロード信号ＬＯＡＤを使用することなく、クリア信号ＣＬＲを使用する。この場合、カウント値が終了アドレスＥＡと一致したときに、比較器２６はクリア信号ＣＬＲを活性化し、このクリア信号ＣＬＲによりアップダウンカウンタ２５はカウント値を「０」にクリアする。
【００２７】
図１に示すように、アドレス発生器１６にて生成されるアドレス信号ＡＤＤ１は、アドレスレジスタ１２に格納され、同アドレス信号ＡＤＤ１は、アドレスレジスタ１２からアドレス演算器１７及び波形データレジスタ１８に入力される。
【００２８】
波形生成部１３は、内蔵メモリ１５の基本波形データに加えて、ＣＰＵ１１から入力パラメータを取得し、該入力パラメータに応じた所望の波形データとなるよう基本波形データを加工する。そして、波形生成部１３は、その波形データを波形データレジスタ１８に格納する。
【００２９】
本実施形態の波形生成部１３は、図３に示すように、波形パラメータレジスタ１３ａと、演算器１３ｂとを備える。波形生成部１３の波形パラメータレジスタ１３ａには、ＣＰＵ１１からシステムバス２１を介して入力されるパラメータ（具体的には、総マイクロステップ数ｎ、振幅ｒ、振幅中心ｒｏ）が格納される。演算器１３ｂは、それらパラメータと、内蔵メモリ１５の基本波形データとに基づいて、総ステップ数変更処理、振幅変更処理、振幅中心変更処理を実行する。これら各処理により、内蔵メモリ１５の基本波形データ（総マイクロステップ数Ｎ、振幅Ｒ、振幅中心Ｒｏ）が入力パラメータｎ，ｒ，ｒｏに応じた波形データに加工される。
【００３０】
具体的には、図４に示すように、（ａ）の総ステップ数変更処理により、基本波形データにおける総マイクロステップ数が変更され、（ｂ）の振幅変更処理により波形データの振幅が変更される。また、（ｃ）の振幅中心変更処理により、波形データの振幅中心が変更される。
【００３１】
以下、図３の演算器１３ｂが実行する各処理について詳述する。
（ａ）の総ステップ数変更処理では、総マイクロステップ数を、基本波形データのステップ数Ｎから入力パラメータで設定されるステップ数ｎに変更する。
【００３２】
ここで、Ｎ＞ｎの場合、演算器１３ｂは、基本波形データＤ０〜ＤＮ−１の中から、Ｎ／ｎ×ｋ（ｋ＝１，２，３，４，・・・ｎ）個目のデータをピックアップする。具体的に、演算器１３ｂは、波形データのｋ番目の値Ｙｋを取得するために、Ｎ／ｎ×ｋ（小数点以下は切り捨て）の演算を行い、その演算で得たデータをアドレスレジスタ１２に書き込む。それにより、演算器１３ｂは、そのデータ（アドレス）に対応する基本波形データを内蔵メモリ１５から取得する。
【００３３】
また、Ｎ＜ｎの場合（但し、本実施形態では、ｎ＝Ｊ×Ｎ、Ｊは整数とする）、演算器１３ｂは、次式の演算により波形データのｋ番目の値Ｙｋを求める。
Ｙｋ＝Ｄａ＋（Ｄａ＋１−Ｄａ）／Ｊ×Ｂ
なおここで、データ番号のａはｋ／Ｊの小数点以下を切り捨てた整数であり、Ｂはｋ／Ｊの余りである。
【００３４】
例えば、Ｊ＝３であり、ｋ／Ｊの余りＢが「１」であるｋ番目（ｋ＝αＪ＋１、αは任意の整数）の値Ｙｋを求める場合について説明する。
この場合、ｋ／Ｊの小数点以下を切り捨てた整数ａが求められ、そのａ番目のデータＤａと、ａ＋１番目のデータＤａ＋１が内蔵メモリ１５から取得される。そして、図５に示すように、各データの差分（Ｄａ＋１−Ｄａ）の１／３の値がデータＤａに加算されてｋ番目の値Ｙｋが求められる。
【００３５】
因みに、ｋ／Ｊの余りＢが「０」となるｋ番目の値Ｙｋは、Ｙｋ＝Ｄａとなる。
図６は、Ｎ＜ｎの場合の総ステップ数変更処理を実施するためのブロック回路図である。
【００３６】
図６に示すように、ＣＰＵ１１からＪレジスタ２７に上述した値Ｊ（＝Ｎ／ｎ）が格納され、この値ＪはＪレジスタ２７から比較器２８に出力される。アップカウンタ２９にはクロック信号ＣＫが入力され、そのクロック信号ＣＫのアップカウント動作が実施される。
【００３７】
比較器２８は、値Ｊ−１とアップカウンタ２９のカウント値Ｂとを比較し、そのカウント値Ｂが値Ｊ−１と一致する場合に、クリア信号ＣＬ１を出力する。アップカウンタ２９は、そのクリア信号ＣＬ１に応答してカウント値Ｂをクリアする。またこのとき、比較器２８はアドレス発生器１６にアップ信号ＵＰを出力する。このアップ信号ＵＰにより、アドレス発生器１６のアドレス値Ａが１つアップされ、そのアドレス値Ａがアドレスレジスタ１２に格納される。
【００３８】
ここで、図７に示されるように、アップカウンタ２９のカウント値Ｂは、０〜（Ｊ−１）までの間をカウントアップしながら循環する値になる。即ち、アップカウンタ２９のカウント値Ｂは、「…，Ｊ−２，Ｊ−１，０，１，２，…」に変化する。そして、カウント値Ｂが「Ｊ−１」から「０」にクリアされるタイミングでアドレス発生器１６からアドレスレジスタ１２に格納されるアドレス値Ａが「１」アップされる。
【００３９】
また、内蔵メモリ１５は、アドレスレジスタ１２のアドレス値Ａに対応する基本波形データを出力し、第１及び第２レジスタ３０ａ，３０ｂはその基本波形データを格納する。具体的に、第１レジスタ３０ａには、アドレス値Ａに対応するａ番目のデータＤａが格納され、第２レジスタ３０ｂには、ａ＋１番目のデータＤａ＋１が格納される。
【００４０】
そして、これら格納データＤａ，Ｄａ＋１が各レジスタ３０ａ，３０ｂから演算器１３ｂに取り込まれる。また、演算器１３ｂには、Ｊレジスタ２７から値Ｊが送信されるとともに、アップカウンタ２９からそのカウント値Ｂが送信される。
【００４１】
演算器１３ｂでは、演算式Ｙｋ＝（Ｄａ＋１−Ｄａ）／Ｊ×Ｂ＋Ｄａで波形データが作成される。これにより、図７に示すように、基本波形データから所望のステップ数の波形データを得ることができる。
【００４２】
なお、Ｊレジスタ２７、比較器２８、アップカウンタ２９、第１及び第２レジスタ３０ａ，３０ｂは、波形生成部１３に設けられる。
次に、（ｂ）の振幅変更処理を説明する。この振幅変更処理では、波形データの振幅が入力パラメータの振幅ｒになるよう変更する。すなわち、図３の演算器１３ｂは、上記総ステップ数変更処理で得た波形データＹ０〜Ｙｎ−１の振幅Ｒを、次式の演算により振幅ｒの波形データｙ０〜ｙｎ−１に変更する。
【００４３】
ｙｍ＝Ｙｍ×（ｒ／Ｒ）
ｍ：任意のデータ番号０〜ｎ−１
その後、（ｃ）の振幅中心変更処理において、波形データに一定の値を加えることで所望の振幅中心となるよう変更する。すなわち、演算器１３ｂは、上記（ｂ）の振幅変更処理で得た波形データｙ０〜ｙｎ−１の振幅中心を、次式の演算により入力パラメータの振幅中心ｒｏに対応する値となるよう変更する。
【００４４】
ｙｍ＝ｙｍ＋（ｒｏ−Ｒｏ）
上記の演算による各波形データｙ０〜ｙｎ−１は、波形生成部１３から波形データレジスタ１８に入力され、同波形データレジスタ１８において、データ番号０〜ｎ−１に対応するアドレスに順次格納される。
【００４５】
本実施形態の波形データレジスタ１８は、２つの波形データを同時に出力可能なデュアルポートＲＡＭである。同波形データレジスタ１８には、アドレスレジスタ１２から第１アドレス信号ＡＤＤ１が直接入力されるとともに、アドレス演算器１７を介して第２アドレス信号ＡＤＤ２が入力される。アドレス演算器１７は、アドレスレジスタ１２からの第１アドレス信号ＡＤＤ１とは異なる第２アドレス信号（具体的には、１／２πの位相をずらしたアドレス信号）ＡＤＤ２を生成して波形データレジスタ１８に出力する。
【００４６】
マイクロプロセッサシステム１において、波形データレジスタ１８の波形データを出力する場合、第１及び第２アドレス信号ＡＤＤ１，ＡＤＤ２がその波形データの記憶領域に応じた所定範囲で循環するようアドレス発生器１６のコントロールレジスタ２４が設定される。
【００４７】
波形データレジスタ１８は、各アドレス信号ＡＤＤ１，ＡＤＤ２に応答して波形データを読み出し、第１及び第２Ｄ／Ａ変換器１９，２０に出力する。第１及び第２Ｄ／Ａ変換器１９，２０は入力される波形データ（ディジタルデータ）に応じた電圧の駆動信号φ１，φ２を出力する。これにより、第１及び第２Ｄ／Ａ変換器１９，２０は、図８に示すように、１／２π位相の異なるアナログ波形（正弦波形）を持つ第１及び第２駆動信号φ１，φ２を出力し、それら駆動信号φ１，φ２によりステッピングモータ２が所定方向に回転する。
【００４８】
以上記述したように、上記実施形態によれば、下記の効果を奏する。
（１）内蔵メモリ１５の基本波形データが波形生成部１３に取り込まれ、該波形生成部１３において、ＣＰＵ１１からの入力パラメータに応じて基本波形データを加工することで所望の波形データが生成される。この場合、内蔵メモリ１５に基本波形データを転送すれば、入力パラメータに基づいて波形データを変更することが可能となる。従って、従来技術と比較してデータ変更時におけるＣＰＵ１１の処理負荷を低減することができる。また、ＣＰＵ１１とは別の回路ブロックである波形生成部１３にて演算を行っているため、ＣＰＵ１１の処理速度を落とすことなく、ステッピングモータ２を的確に制御できる。
【００４９】
（２）ＣＰＵ１１からの入力パラメータは、波形データの１周期分の総マイクロステップ数ｎ、振幅ｒ、振幅中心ｒｏを含み、波形生成部１３によりステップ数、振幅、振幅中心の異なる波形データを生成することができる。また、本実施形態では、内蔵メモリ１５における基本波形データの総マイクロステップ数Ｎに対してステップ数ｎが多い波形データ（ｎ＞Ｎである場合の波形データ）を生成できることから、内蔵メモリ１５の記憶容量を抑制することが可能である。
【００５０】
（３）図１１の従来技術において、波形データにおける総マイクロステップ数や振幅等を変更する場合には、その変更に応じた人為的な計算を行い、該計算により求めた波形データを外部メモリ４８に記憶するとともに、その波形データを内部メモリ４９に転送する必要がある。またこの場合、波形データのステップ数等の変更によりＣＰＵ１１が実行するプログラムの変更も必要となる。これに対し、本実施形態では、入力パラメータを変更すれば、所望の波形データを生成することが可能である。つまり、プログラムの変更を要することなく、また、波形データの人為的な計算も不要となり、実用上好ましいものとなる。
【００５１】
（４）従来技術では、大量の波形データをプログラムと共に外部メモリ４８に記憶する必要があるため、外部メモリ４８としては、記憶容量の大きなメモリが使用されていた。これに対し、本実施形態では、基本波形データを加工するための入力パラメータを外部メモリ２２に記憶すればよいため、従来技術と比較して外部メモリ２２の容量を抑制することができる。
【００５２】
（５）波形データレジスタ１８には、波形生成部１３にて生成された１周期分の波形データが格納されている。また、波形データレジスタ１８には、アドレスレジスタ１２から第１アドレス信号ＡＤＤ１が入力されるとともに、アドレス演算器１７を介して第２アドレス信号が入力される。そして、第１及び第２アドレス信号ＡＤＤ１，ＡＤＤ２に応じた波形データが波形データレジスタ１８から第１及び第２Ｄ／Ａ変換器１９，２０に出力される。これにより、各Ｄ／Ａ変換器１９，２０から１／２πの位相がずれた駆動信号φ１，φ２が出力される。このようにすれば、ステッピングモータ２を駆動するための２相の駆動信号φ１，φ２を容易に出力することができる。
【００５３】
（６）第１及び第２アドレス信号ＡＤＤ１，ＡＤＤ２は、波形データレジスタ１８の波形データの記憶領域に対応する所定範囲で循環する信号であり、各アドレス信号に応じた波形データが波形データレジスタ１８から連続的に出力される。つまり、マイクロプロセッサシステム１では、システムバス２１を介さずに波形データレジスタ１８の波形データが連続して出力されるため、ＣＰＵ１１の処理負荷を軽減することができる。
【００５４】
（７）内蔵メモリ１５は書き換え可能なメモリであり、該内蔵メモリ１５における基本波形データを書き換えることができる。この場合、ステッピングモータ２の駆動条件等の変更時に、その変更に応じた適切な基本波形データを用いることができる。
【００５５】
（第２実施形態）
以下、本発明を具体化した第２実施形態を説明する。
図９は、本実施形態のマイクロプロセッサシステム３１のブロック回路図である。このマイクロプロセッサシステム３１の構成において、上述した第１実施形態と同等であるものについては図面に同一の記号を付すと共にその説明を簡略化する。そして、以下には第１実施形態との相違点を中心に説明する。
【００５６】
すなわち、上記第１実施形態のマイクロプロセッサシステム１では、内蔵メモリ１５の基本波形データを加工することで所望の波形データを生成するようにしていた。これに対し、本実施形態のマイクロプロセッサシステム３１では、入力パラメータに応じた正弦波の波形データを近似式ｆ（ｘ）による演算で生成している。
【００５７】
マイクロプロセッサシステム３１は、ＣＰＵ１１、Ｘ演算部３２、ＳＩＮ波生成部３３、Ｉ／Ｆ１４、アドレス発生器１６、Ｄ／Ａ変換器１９等を備える。
Ｘ演算部３２は、演算器３２ａとＮレジスタ３２ｂとからなる。Ｎレジスタ３２ｂには、ＣＰＵ１１から総マイクロステップ数（１周期分のデータ総数）Ｎが格納される。演算器３２ａには、Ｎレジスタ３２ｂに格納されたデータ総数Ｎが入力されるとともに、アドレス発生器１６からカウント数ｎ１が入力される。アドレス発生器１６は、第１実施形態と同一の回路構成（図２参照）であり、ＣＰＵ１１からコントロールレジスタ２４に書き込まれたデータに基づいて、例えば「０」からデータ総数Ｎに対応する終了値までの間をカウントアップしながら循環する信号（カウント数ｎ１）を出力する。
【００５８】
また、１周期分（０＜ｘ＜２π）のデータ総数がＮであるので、演算器３２ａは、そのデータ総数Ｎとカウント数ｎ１とに基づいて次式の演算により値（近似式の変数）ｘを求める。
【００５９】
ｘ＝（２π／Ｎ）×ｎ１
ＳＩＮ波生成部３３は、Ｘ演算部３２からの変数ｘとＣＰＵ１１からのパラメータｒ，ｒｏとに基づいて、次の近似式ｆ（ｘ）の演算により波形データを求める。
【００６０】
ｆ（ｘ）＝ｘ（ｘ−π）（ｘ＋π）（ｘ−２π）（ｘ＋２π）＊ｒ＋ｒｏ
ここで、ｒは振幅を決めるための定数であり、ｒｏは振幅中心を決めるための定数である。
【００６１】
ＳＩＮ波生成部３３は、近似式ｆ（ｘ）の演算により求めた波形データをＤ／Ａ変換器１９に出力する。
本実施形態のマイクロプロセッサシステム３１では、アドレス発生器１６においてクロック信号ＣＫのカウント動作が実施される度に、Ｘ演算部３２にてカウント数ｎ１に応じた変数ｘが求められるとともに、ＳＩＮ波生成部３３にてその変数ｘに応じた波形データが生成されてＤ／Ａ変換器１９に出力される。これにより、Ｄ／Ａ変換器１９は、所定周期で変化する正弦波形の駆動信号φ１を出力し、その駆動信号φ１によりステッピングモータ２が回転する。
【００６２】
以上記述したように、上記実施形態によれば、下記の効果を奏する。
（１）マイクロプロセッサシステム３１では、Ｘ演算部３２とＳＩＮ波生成部３３とにより波形生成部が構成されている。Ｘ演算部３２において、ＣＰＵ１１からのパラメータ（データ総数Ｎ）がＮレジスタ３２ｂに格納されており、そのデータ総数Ｎとアドレス発生器１６のカウント数ｎ１とに基づいて、近似式ｆ（ｘ）に代入するための変数ｘが生成される。また、ＳＩＮ波生成部３３において、該変数ｘとＣＰＵ１１からの入力パラメータｒ，ｒｏとに基づいて、近似式ｆ（ｘ）による演算で所望の波形データが生成される。このようにすれば、波形データの変更時において、ＣＰＵ１１からシステムバス２１を介して転送されるデータは入力パラメータＮ，ｒ，ｒｏのみであるため、従来技術のように波形データを転送する場合と比較して、ＣＰＵ１１の処理負荷を低減することができる。
【００６３】
（２）本実施形態では、上記第１実施形態と異なり、基本波形データを記憶するための内蔵メモリ１５が不要となる。また、ＳＩＮ波生成部３３で生成した波形データは、波形データレジスタ１８を介さずにＤ／Ａ変換器１９に直接出力されている。このように、マイクロプロセッサシステム３１では、波形データを格納するためのメモリを削減することができる。
【００６４】
（第３実施形態）
以下、本発明を具体化した第３実施形態を説明する。
図１０は、本実施形態のマイクロプロセッサシステム３５のブロック回路図である。このマイクロプロセッサシステム３５では、第２実施形態のマイクロプロセッサシステム３１に対して、アドレス演算器１７、波形データレジスタ１８、及びＤ／Ａ変換器２０が追加されている。なお、これらアドレス演算器１７、波形データレジスタ１８及びＤ／Ａ変換器２０は、第１実施形態と同じ構成である。また、図１０では、Ｉ／Ｆ１４及びシステムバス２１の図示を省略している。
【００６５】
すなわち、マイクロプロセッサシステム３５では、上記第２実施形態と同様に、Ｘ演算部３２は、アドレス発生器１６のカウント数ｎ１に応じた変数ｘを求め、ＳＩＮ波生成部３３は、近似式ｆ（ｘ）の演算によりその変数ｘに応じた波形データを生成する。
【００６６】
また、波形データレジスタ１８は、ＳＩＮ波生成部３３にて生成された波形データをアドレス発生器１６のカウント数ｎ１に対応するアドレスに順次格納する。そして、波形データレジスタ１８において、１周期分の波形データの格納が終了した場合、ＳＩＮ波生成部３３の近似式による演算が停止される。
【００６７】
具体的に、アドレス発生器１６は、クロック信号ＣＫのカウントを開始し１周期分のカウント動作を行った時に、終了フラグｆ１をコントロールレジスタ２４にセットする。そして、アドレス発生器１６は、その終了フラグｆ１に対応する終了信号をＳＩＮ波生成部３３に通知する。ＳＩＮ波生成部３３は、その終了信号に基づいて、１周期分のデータ生成が完了した旨を判断し、上述した近似式ｆ（ｘ）による演算を停止する。
【００６８】
波形データレジスタ１８は、アドレス発生器１６からの第１アドレス信号ＡＤＤ１に対応する波形データを読み出し、該波形データを第１Ｄ／Ａ変換器１９に出力する。また、波形データレジスタ１８は、アドレス演算器１７からの第２アドレス信号ＡＤＤ２に対応する波形データを読み出し、該波形データを第２Ｄ／Ａ変換器２０に出力する。なお、本実施形態では、アドレス発生器１６からＸ演算部３２に入力されるカウント数ｎ１と波形データレジスタ１８に入力される第１アドレス信号ＡＤＤ１は同じ値（アップダウンカウンタ２５のカウント値）である。また、第２アドレス信号ＡＤＤ２は、第１アドレス信号ＡＤＤ１に対して１／２πの位相をずらした信号である。
【００６９】
マイクロプロセッサシステム３５において波形データを変更する時には、ＣＰＵ１１によりコントロールレジスタ２４の終了フラグｆ１がクリアされる。その後、ＳＩＮ波生成部３３では、変更後の入力パラメータに基づいて、近似式ｆ（ｘ）による演算が再開され波形データが生成される。そして、波形データレジスタ１８に１周期分の波形データが格納されたとき、終了フラグｆ１がセットされＳＩＮ波生成部３３での近似式ｆ（ｘ）による演算が停止される。
【００７０】
以上記述したように、上記実施形態によれば、下記の効果を奏する。
（１）本実施形態においても、波形データの変更時にシステムバス２１を介して転送されるデータは入力パラメータのみであるため、ＣＰＵ１１の処理負荷を低減することができる。
【００７１】
（２）波形データレジスタ１８への１周期分の波形データの格納が終了した場合、ＳＩＮ波生成部３３の近似式による演算が停止される。従って、ＳＩＮ波生成部３３の演算がアドレス発生器１６のカウント数ｎ１に応じて重複して実施されることが回避される。即ち、ＳＩＮ波生成部３３の演算が的確に実施されるため、その回路動作に伴う消費電力を抑制することが可能となる。
【００７２】
上記各実施の形態は、次に示すように変更することもできる。
・入力パラメータとして総マイクロステップ数ｎ、振幅ｒ、振幅中心ｒｏを含み、ステップ数ｎ、振幅ｒ、振幅中心ｒｏの異なる波形データを生成するマイクロプロセッサシステムに具体化していたが、これに限定されるものではない。例えば、入力パラメータとしての総マイクロステップ数ｎを波形生成部に入力し、波形データのステップ数ｎのみを変更してもよい。即ち、入力パラメータとして、ステップ数、振幅、振幅中心のうちの少なくとも１つを含み、該入力パラメータに応じた波形データを生成するマイクロプロセッサシステムに具体化してもよい。
【００７３】
・上記第１実施形態において、基本波形データを記憶する内蔵メモリ１５は、データを書き換え可能なメモリを用いるものであったが、これに限るものではなく、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）を用いてもよい。
【００７４】
・上記第３実施形態では、アドレス発生器１６のコントロールレジスタ２４にて終了フラグｆ１をセットしたが、これに限定されるものではない。コントロールレジスタ２４とは別に設けたフラグ記憶部に終了フラグｆ１をセットして、その終了フラグｆ１に対応する終了信号をＳＩＮ波生成部３３に通知するようにしてもよい。
【００７５】
・上記第１実施形態において、第３実施形態と同様に、波形データレジスタ１８に１周期分の波形データを格納したときに、波形生成部１３における各変更処理を停止するよう構成してもよい。このようにしても、波形生成部１３の回路動作に伴う消費電力を抑制することができる。
【００７６】
・上記第１及び第３実施形態のマイクロプロセッサシステム１，３５では、２相の駆動信号φ１，φ２を出力し、第２実施形態のマイクロプロセッサシステム３１では、１相の駆動信号φ１を出力するものであったが、３相以上の駆動信号を出力するマイクロプロセッサシステムに具体化してもよい。
【００７７】
・上記各実施形態のマイクロプロセッサシステム１，３１，３５では、ステッピングモータ２を駆動するための駆動信号φ１，φ２を出力していたが、これに限定されるものはない。例えば、ブザー音を出力するためのアナログ波形の信号を出力するマイクロプロセッサシステムに具体化してもよい。
【００７８】
・上記実施形態は全てＣＰＵ１１が内蔵されたシステムであるが外付けＣＰＵとしてもよい。
以上の様々な実施の形態をまとめると、以下のようになる。
（付記１）マイクロプロセッサと、ディジタルデータである波形データをアナログ信号に変換するＤ／Ａ変換器とを備え、所定周期で変化するアナログ波形の信号を出力するマイクロプロセッサシステムであって、
入力される入力パラメータに応じた波形データを生成する波形生成部を備えたことを特徴とするマイクロプロセッサシステム。
（付記２）基本波形データを記憶する内蔵メモリを備え、
前記波形生成部は、前記内蔵メモリの基本波形データを取り込み、前記入力パラメータに応じて該基本波形データを加工した波形データを生成することを特徴とする付記１に記載のマイクロプロセッサシステム。
（付記３）前記波形生成部は、前記入力パラメータに応じた正弦波の波形データを近似式による演算で生成するＳＩＮ波生成部を含むことを特徴とする付記１に記載のマイクロプロセッサシステム。
（付記４）前記波形生成部は、前記ＳＩＮ波生成部に加え、前記近似式に代入するための変数を生成する演算部を含むことを特徴とする付記３に記載のマイクロプロセッサシステム。
（付記５）前記入力パラメータは、波形データの１周期分のステップ数、振幅、振幅中心のうちの少なくとも１つを含むものであることを特徴とする付記１〜４のいずれかに記載のマイクロプロセッサシステム。
（付記６）前記入力パラメータはステップ数、振幅又は振幅中心を含み、
前記波形生成部は、
各パラメータを格納するための波形パラメータレジスタと、
前記基本波形データのステップ数を変更する処理と、振幅を変更する処理と、振幅中心を変更する処理とを実行する演算器と
を備えたことを特徴とする付記２に記載のマイクロプロセッサシステム。
（付記７）前記波形生成部にて生成された１周期分の波形データを格納する波形データレジスタと、
前記波形データレジスタにおける波形データの記憶領域に応じた範囲で循環するアドレス信号を出力するアドレス発生器と
を備え、前記波形データレジスタは、前記アドレス発生器のアドレス信号に対応する波形データを前記Ｄ／Ａ変換器に出力することを特徴とする付記１〜６のいずれかに記載のマイクロプロセッサシステム。
（付記８）前記アドレス発生器から出力される第１アドレス信号を取り込み、該第１アドレス信号とは異なる第２アドレス信号を生成して出力するアドレス演算器を備え、
前記波形データレジスタは、デュアルポートＲＡＭであり、前記アドレス発生器からの第１アドレス信号とアドレス演算器からの第２アドレス信号とに基づいて、位相の異なる波形データを出力することを特徴とする付記７に記載のマイクロプロセッサシステム。
（付記９）前記波形データレジスタに１周期分の波形データが格納されたとき、前記波形生成部における波形データの生成を停止するようにしたことを特徴とする付記７または８に記載のマイクロプロセッサシステム。
（付記１０）前記アドレス演算器は、１周期分のカウント動作を終了した時点で終了フラグをセットし、そのフラグのセットを示す信号を前記波形生成部に通知するようにしたことを特徴とする付記９に記載のマイクロプロセッサシステム。
（付記１１）前記Ｄ／Ａ変換器から出力されるアナログ波形の信号によりステッピングモータを駆動させることを特徴とする付記１〜１０のいずれかに記載のマイクロプロセッサシステム。
（付記１２）基本波形データを入力するインターフェース部と、
前記基本波形データに基づいて入力パラメータに応じた波形データを生成する波形生成部と、
前記波形データをアナログ波形に変換するＤ／Ａ変換器と
を備えたことを特徴とする波形データ生成装置。
（付記１３）基本波形データを入力し、
入力パラメータに基づいて前記基本波形データを加工して波形データを生成し、
前記波形データをアナログ波形に変換し、
前記アナログ波形に基づいてステッピングモータを制御することを特徴とするステッピングモータ制御方法。
【００７９】
【発明の効果】
以上詳述したように、本発明によれば、波形データの変更時におけるマイクロプロセッサの処理負荷を軽減することができる。
【図面の簡単な説明】
【図１】第１実施形態のマイクロプロセッサシステムを示すブロック回路図である。
【図２】アドレス発生器を示すブロック回路図である。
【図３】波形生成部を示すブロック回路図である。
【図４】各変更処理を示す説明図である。
【図５】Ｋ番目の値Ｙｋの算出例を示す説明図である。
【図６】総ステップ数変更処理を実施するためのブロック回路図である。
【図７】総ステップ数変更処理を示す説明図である。
【図８】駆動信号を示す説明図である。
【図９】第２実施形態のマイクロプロセッサシステムを示すブロック回路図である。
【図１０】第３実施形態のマイクロプロセッサシステムを示すブロック回路図である。
【図１１】従来のマイクロプロセッサシステムを示すブロック回路図である。
【符号の説明】
１，３１，３５　マイクロプロセッサシステム
２　ステッピングモータ
１１　マイクロプロセッサとしてのＣＰＵ
１３　波形生成部
１４　インターフェース部としてのＩ／Ｆ
１５　内蔵メモリ
１６　アドレス発生器
１９，２０　Ｄ／Ａ変換器
２１　システムバス
３３　ＳＩＮ波生成部
ＡＤＤ１　アドレス信号
Ｄ０〜ＤＮ−１　　基本波形データ
ｎ　ステップ数
ｒ　振幅
ｒｏ　　振幅中心
【図１】
2004145656.tif 000003
【図２】
2004145656.tif 000004
【図３】
2004145656.tif 000005
【図４】
2004145656.tif 000006
【図５】
2004145656.tif 000007
【図６】
2004145656.tif 000008
【図７】
2004145656.tif 000009
【図８】
2004145656.tif 000010
【図９】
2004145656.tif 000011
【図１０】
2004145656.tif 000012
【図１１】
2004145656.tif 000013