単相ブラシレスモータの駆動コイルに第1の駆動電流、および前記第1の駆動電流と反対方向の第2の駆動電流をいずれも供給しない非通電期間を挟んで、前記駆動コイルに前記第1の駆動電流と前記第2の駆動電流とを交互に供給するための駆動信号を生成する駆動信号生成回路と、前記駆動信号に応じて前記駆動コイルに前記第1または第2の駆動電流を供給する出力回路と、前記非通電期間に、前記駆動コイルに発生する誘起電圧のゼロクロスを検出するゼロクロス検出回路と、を有し、前記駆動信号生成回路は、前記出力回路が前記駆動コイルに前記第1または第2の駆動電流を供給する通電期間の開始から、前記ゼロクロス検出回路が前記ゼロクロスを検出するまでの駆動周期を計測しつつ、前記ゼロクロス検出回路が前記ゼロクロスを検出した場合には、計測した前記駆動周期に基づいて次の通電期間の長さを決定し、前記ゼロクロス検出回路が前記ゼロクロスを検出しない場合には、直前の通電期間の長さを次の通電期間の長さとして決定することを特徴とする単相ブラシレスモータの駆動回路。前記駆動信号生成回路は、起動時からの前記駆動コイルへの通電回数が所定回数に達するまでの間は、前記通電回数の増加に応じて減少するように予め設定された通電時間だけ前記出力回路から前記駆動コイルに前記第1または第2の駆動電流を供給するための前記駆動信号を生成することを特徴とする請求項1に記載の単相ブラシレスモータの駆動回路。前記ゼロクロス検出回路は、前記非通電期間の開始から所定時間経過後に前記ゼロクロスの検出を開始し、前記ゼロクロスを検出すると前記ゼロクロスの検出を終了することを特徴とする請求項1または請求項2に記載の単相ブラシレスモータの駆動回路。前記ゼロクロス検出回路は、前記通電期間の開始から前記ゼロクロスの検出の開始までの非検出期間に前記誘起電圧がゼロクロスしたか否かを判定し、前記駆動信号生成回路は、前記ゼロクロス検出回路が、前記ゼロクロスを検出した場合、および前記非検出期間に前記誘起電圧がゼロクロスしたと判定した場合に、前記第1の駆動電流と前記第2の駆動電流とを切り替えて、前記出力回路から前記駆動コイルへの前記第1または第2の駆動電流の供給を開始させることを特徴とする請求項3に記載の単相ブラシレスモータの駆動回路。前記駆動信号生成回路は、所定のクロックでカウントし、前記ゼロクロス検出回路が前記ゼロクロスを検出する度に、またはカウント値が第1の所定値に達した場合に、リセットされる第1のカウンタ回路と、前記ゼロクロス検出回路が前記ゼロクロスを検出する度に、前記第1のカウンタ回路がリセットされる直前のカウント値を前記駆動周期として記憶するレジスタと、前記第1のカウンタ回路のカウント値に基づいて前記駆動信号を出力して、前記通電期間および前記非通電期間を制御するタイミング制御回路と、を含み、前記タイミング制御回路は、前記ゼロクロス検出回路が前記ゼロクロスを検出する度に、前記第1の駆動電流と前記第2の駆動電流とを切り替えて、前記出力回路から前記駆動コイルへの前記第1または第2の駆動電流の供給を開始させ、前記第1のカウンタ回路のカウント値が、前記レジスタに記憶されている前記駆動周期に0より大きく1より小さい所定の係数を乗じた値に達すると、前記出力回路から前記駆動コイルへの前記第1および第2の駆動電流のいずれの供給も停止させ、前記第1のカウンタ回路のカウント値が前記第1の所定値に達すると、前記第1の駆動電流と前記第2の駆動電流とを切り替えずに、前記出力回路から前記駆動コイルへの前記第1または第2の駆動電流の供給を開始させることを特徴とする請求項1に記載の単相ブラシレスモータの駆動回路。前記駆動信号生成回路は、起動時からの前記駆動コイルへの通電回数をカウントする第2のカウンタ回路をさらに含み、前記タイミング制御回路は、前記第2のカウンタ回路のカウント値が第2の所定値に達するまでの間は、前記第1のカウンタ回路のカウント値が、前記第2のカウンタ回路のカウント値の増加に応じて減少するように予め設定された値に達すると、前記出力回路から前記駆動コイルへの前記第1および第2の駆動電流のいずれの供給も停止させることを特徴とする請求項5に記載の単相ブラシレスモータの駆動回路。前記ゼロクロス検出回路は、前記駆動コイルの両端電圧を差動増幅する差動増幅回路と、前記差動増幅回路の出力電圧と所定の基準電圧とを比較する比較器と、前記比較器の出力信号の立ち上がりエッジまたは立ち下がりエッジを検出し、エッジ検出信号を出力するエッジ検出回路とを含み、前記エッジ検出回路は、前記通電期間の開始から、前記非通電期間の開始から前記所定時間経過するまでの間マスクするマスク信号を生成し、前記エッジ検出信号を前記マスク信号でマスクして出力し、前記タイミング制御回路は、前記エッジ検出回路から前記エッジ検出信号が出力される度に、前記第1の駆動電流と前記第2の駆動電流とを切り替えて、前記出力回路から前記駆動コイルへの前記第1または第2の駆動電流の供給を開始させることを特徴とする請求項5または請求項6に記載の単相ブラシレスモータの駆動回路。前記エッジ検出回路は、前記比較器の出力信号に基づいて、前記エッジ検出信号が前記マスク信号でマスクされる非検出期間に前記誘起電圧がゼロクロスしたか否かを判定し、前記非検出期間に前記誘起電圧がゼロクロスしたと判定した場合には、前記非通電期間の開始から前記所定時間経過後に前記エッジ検出信号を出力することを特徴とする請求項7に記載の単相ブラシレスモータの駆動回路。単相ブラシレスモータは、低コストで小型の構成とすることができるため、好適な用途として、例えば、携帯電話機の着信を知らせるためのバイブレーション機能に用いられる振動モータが挙げられる。特に、振動モータとして用いる場合には、駆動信号として振動が発生しやすい矩形波を用いることもできるため、モータ駆動回路の回路規模を抑え、モータ駆動用ICの低コスト化や小型化を図ることができる。また、モータ駆動用ICの中には、ロータの回転位置を検出するホール素子を内蔵したモータ駆動用ICも知られている。しかしながら、このようなホール素子内蔵ICは、モータの内部に実装する必要があるため、単相ブラシレスモータの小型化に対する効果が抑制されてしまう。さらに、ICの製造時におけるホール素子自体の特性などによって、ロータの回転位置の検出精度に誤差が生じるため、出荷時に磁場を印加した試験を行う必要がある。そのため、低コスト化の効果も抑制されてしまう。前述した課題を解決する主たる本発明は、単相ブラシレスモータの駆動コイルに第1の駆動電流、および前記第1の駆動電流と反対方向の第2の駆動電流をいずれも供給しない非通電期間を挟んで、前記駆動コイルに前記第1の駆動電流と前記第2の駆動電流とを交互に供給するための駆動信号を生成する駆動信号生成回路と、前記駆動信号に応じて前記駆動コイルに前記第1または第2の駆動電流を供給する出力回路と、前記非通電期間に、前記駆動コイルに発生する誘起電圧のゼロクロスを検出するゼロクロス検出回路と、を有し、前記駆動信号生成回路は、前記出力回路が前記駆動コイルに前記第1または第2の駆動電流を供給する通電期間の開始から、前記ゼロクロス検出回路が前記ゼロクロスを検出するまでの駆動周期を計測しつつ、前記ゼロクロス検出回路が前記ゼロクロスを検出した場合には、計測した前記駆動周期に基づいて次の通電期間の長さを決定し、前記ゼロクロス検出回路が前記ゼロクロスを検出しない場合には、直前の通電期間の長さを次の通電期間の長さとして決定することを特徴とする単相ブラシレスモータの駆動回路である。本発明の他の特徴については、添付図面及び本明細書の記載により明らかとなる。本発明によれば、ホール素子などの位置検出素子を用いないで単相ブラシレスモータを駆動することができ、モータの小型化や低コスト化が可能となる。本明細書および添付図面の記載により、少なくとも以下の事項が明らかとなる。<第1実施形態>===単相ブラシレスモータの駆動回路全体の構成===以下、図1を参照して、本発明の第1の実施形態における単相ブラシレスモータの駆動回路全体の構成について説明する。図1に示されているモータ駆動回路1aは、駆動コイル9を備えた単相ブラシレスモータを駆動するための回路であり、少なくとも、駆動コイル9が接続される出力端子91および92を備えた集積回路として構成されている。また、モータ駆動回路1aは、メインカウンタ11a、駆動周期記憶レジスタ12、通電時間設定レジスタ13、ループカウンタ14、選択回路15、タイミング制御回路16、NOR回路否定論理和回路17、出力回路20、誘起電圧検出回路30、コンパレータ比較器40、およびエッジ検出回路50を含んで構成されている。なお、本実施形態では、メインカウンタ11a、駆動周期記憶レジスタ12、通電時間設定レジスタ13、ループカウンタ14、選択回路15、およびタイミング制御回路16が駆動信号生成回路に相当する。また、誘起電圧検出回路30、コンパレータ40、およびエッジ検出回路50がゼロクロス検出回路に相当する。メインカウンタ11a第1のカウンタ回路のCK入力クロック入力には、クロック信号CLK所定のクロックが入力され、CL入力クリア入力には、エッジ検出回路50から出力されるエッジ検出信号EGが入力されている。そして、メインカウンタ11aからは、メインカウント値CNTが出力されている。駆動周期記憶レジスタ12には、メインカウント値CNTおよびエッジ検出信号EGが入力され、駆動周期記憶レジスタ12からは、通常時カウント値Tonが出力されている。また、通電時間設定レジスタ13からは、ループカウンタ14から出力されるループカウント値LPごとに予め設定された起動時カウント値T1ないしT10が出力されている。ループカウンタ14第2のカウンタ回路のCK入力には、エッジ検出信号EGが入力され、ループカウンタ14からは、ループカウント値LPが出力されている。また、選択回路15は、11入力1出力のマルチプレクサとして構成されており、選択制御入力には、ループカウント値LPが入力されている。さらに、ループカウント値LPが1ないし10の場合に対応するデータ入力には、それぞれ起動時カウント値T1ないしT10が入力され、ループカウント値LPが11以上の場合に対応するデータ入力には、通常時カウント値Tonが入力されている。タイミング制御回路16には、メインカウント値CNTおよび選択回路15の出力値とともに、ループカウント値LPが奇数であるか偶数であるかを示す最下位ビット以下、奇偶ビットLP[0]と称するが入力されている。また、タイミング制御回路16からは、駆動信号S1およびS2が出力されている。さらに、NOR回路17には、駆動信号S1およびS2が入力され、NOR回路17からは、ハイインピーダンス信号HZが出力されている。出力回路20には、駆動信号S1およびS2が入力され、出力回路20の出力ノードは、それぞれ出力端子91および92を介して駆動コイル9に接続されている。また、誘起電圧検出回路30には、出力端子91および92のそれぞれの電圧V1およびV2が入力されている。さらに、コンパレータ40の非反転入力には、誘起電圧検出回路30の出力電圧Voutが印加され、反転入力には、基準電圧Vrefが印加され、コンパレータ回路40からは、比較結果信号CPが出力されている。そして、エッジ検出回路50には、比較結果信号CPおよびハイインピーダンス信号HZが入力され、エッジ検出回路50からは、エッジ検出信号EGが出力されている。===出力回路および誘起電圧検出回路の構成===次に、図2を参照して、出力回路20および誘起電圧検出回路30のさらに具体的な構成について説明する。図2に示されている出力回路20は、出力トランジスタM1ないしM4を含むHブリッジ回路として構成されている。なお、以下においては、一例として、出力トランジスタM1およびM2がPMOSPchannelMetalOxideSemiconductor:Pチャネル金属酸化膜半導体トランジスタであり、出力トランジスタM3およびM4がNMOSNchannelMOS:Nチャネル金属酸化膜半導体トランジスタである場合について説明する。出力トランジスタM1は、出力トランジスタM3と直列に接続され、出力トランジスタM2は、出力トランジスタM4と直列に接続されている。また、出力トランジスタM1およびM2のソースは、いずれも電源VCCに接続され、出力トランジスタM3およびM4のソースは、いずれもグランドに接続されている。さらに、出力トランジスタM1およびM4のゲートには、いずれも駆動信号S1が入力され、出力トランジスタM2およびM3のゲートには、いずれも駆動信号S2が入力されている。そして、出力トランジスタM1およびM3の接続点は、出力端子91に接続され、出力トランジスタM2およびM4の接続点は、出力端子92に接続されている。図2に示されている誘起電圧検出回路30は、抵抗R1ないしR4、およびオペアンプ演算増幅器OPを含む差動増幅回路として構成されている。抵抗R1の一端は、出力端子92に接続され、他端は、オペアンプOPの反転入力に接続されている。また、抵抗R2の一端は、出力端子91に接続され、他端は、オペアンプOPの非反転入力に接続されている。さらに、抵抗R3の一端は、オペアンプOPの反転入力に接続され、他端は、オペアンプOPの出力に接続されている。そして、抵抗R4の一端は、オペアンプOPの非反転入力に接続され、他端には、基準電圧Vrefが印加されている。===エッジ検出回路の構成===次に、図3を参照して、エッジ検出回路50のさらに具体的な構成について説明する。図3に示されているエッジ検出回路50は、遅延回路51、53、XOR回路排他的論理和回路52、およびAND回路論理積回路54を含んで構成されている。遅延回路51には、比較結果信号CPが入力されている。また、XOR回路52には、比較結果信号CPおよび遅延回路51の出力信号が入力され、XOR回路52からは、両エッジ信号EGrfが出力されている。さらに、遅延回路53には、ハイインピーダンス信号HZが入力され、遅延回路53からは、マスク信号MSが出力されている。そして、AND回路54には、両エッジ信号EGrfおよびマスク信号MSが入力され、AND回路54からは、エッジ検出信号EGが出力されている。===単相ブラシレスモータの駆動回路の動作===以下、本実施形態における単相ブラシレスモータの駆動回路の動作について説明する。メインカウンタ11aは、クロック信号CLKでカウントし、1ずつ増加するメインカウント値CNTを出力する。また、メインカウンタ11aは、パルス状のエッジ検出信号EGが入力される度にリセットされ、メインカウント値CNTがクリアされる。なお、実際には、メインカウンタ11aのビット数は有限であるため、メインカウンタ11aは、例えば、所定のカウント値例えばフルカウント値までカウントすると、リセットされるまでカウントを停止する。駆動周期記憶レジスタ12は、エッジ検出信号EGが入力される度に、クリアされる直前のメインカウント値CNTを駆動周期として記憶する。なお、後述するように、駆動周期は、駆動コイル9に駆動電流が供給される通電期間と、それに続く、駆動コイル9に駆動電流が供給されない非通電期間とからなる。そして、駆動周期記憶レジスタ12は、記憶されているメインカウント値CNT駆動周期に所定の係数a0<a<1を乗じた値を、次の駆動周期における通電期間の長さを示す通常時カウント値Tonとして出力する。ループカウンタ14は、エッジ検出信号EGが入力される度にカウントし、1ずつ増加するループカウント値LPを出力する。したがって、ループカウンタ14は、モータ駆動回路1aの起動時からの駆動周期の回数、すなわち、通電期間の回数をカウントし、ループカウント値LPは、モータ駆動回路1aの起動時からの駆動コイル9への通電回数を示している。また、通電時間設定レジスタ13には、1から10までのループカウント値LPごとに予め設定された通電時間を示す起動時カウント値T1ないしT10が記憶されている。選択回路15は、ループカウント値LPが1ないし10の場合には、それぞれ起動時カウント値T1ないしT10を出力し、ループカウント値LPが11以上の場合には、通常時カウント値Tonを出力する。なお、実際には、ループカウンタ14のビット数は有限であるため、ループカウンタ14は、例えば、選択回路15が通常時カウント値Tonを出力する値例えば11までカウントすると、ループカウント値LPの最下位ビット奇偶ビットLP[0]のみを変化させる。タイミング制御回路16は、メインカウント値CNTに基づいて駆動信号S1およびS2を出力し、出力回路20は、駆動信号S1およびS2に応じて、駆動コイル9に駆動電流を供給する。なお、以下においては、駆動コイル9を出力端子91から出力端子92の方向に流れる駆動電流第1の駆動電流を正電流と称し、正電流と反対方向に流れる駆動電流第2の駆動電流を負電流と称することとする。より具体的には、メインカウント値CNTがエッジ検出信号EGによってクリアされてから選択回路15の出力値に達するまでの間は、タイミング制御回路16は、駆動信号S1またはS2の何れか一方をハイレベルとする。そして、出力回路20は、駆動コイル9に正電流駆動信号S1がハイレベルの場合または負電流駆動信号S2がハイレベルの場合を供給する。一方、メインカウント値CNTが選択回路15の出力値に達してからエッジ検出信号EGによってクリアされるまでの間は、タイミング制御回路16は、駆動信号S1およびS2をいずれもローレベルとする。そして、出力回路20は、駆動コイル9に正電流および負電流をいずれも供給しない。また、タイミング制御回路16は、奇偶ビットLP[0]に応じて、通電期間にハイレベルとする駆動信号を切り替える。したがって、タイミング制御回路16は、エッジ検出信号EGによって奇偶ビットLP[0]が変化する度に、出力回路20が駆動コイル9に供給する正電流と負電流とを切り替える。このようにして、タイミング制御回路16は、通電期間および非通電期間を制御し、出力回路20は、タイミング制御回路16の制御に従って、非通電期間を挟んで駆動コイル9に正電流と負電流とを交互に供給する。なお、NOR回路17は、駆動信号S1およびS2がいずれもローレベルとなり、出力回路20の出力がハイインピーダンス状態となる非通電期間に、ハイレベルとなるハイインピーダンス信号HZを出力する。誘起電圧検出回路30は、電圧V1およびV2の差電圧V1-V2を増幅して出力することによって、非通電期間においては、駆動コイル9に発生する誘起電圧を検出する。ここで、R1=R2、R3=R4とすることによって、誘起電圧検出回路30の出力電圧Voutは、Vout=VrefR3/R1V1-V2となる。そして、コンパレータ40は、出力電圧Voutを基準電圧Vrefと比較し、Vout>Vrefの場合、すなわち、差電圧V1-V2が正の場合にハイレベルとなり、負の場合にローレベルとなる比較結果信号CPを出力する。エッジ検出回路50のXOR回路52は、比較結果信号CPとその遅延信号遅延回路51の出力信号との排他的論理和をとることによって、比較結果信号CPの立ち上がりエッジおよび立ち下がりエッジを検出し、パルス状の両エッジ信号EGrfを出力する。したがって、両エッジ信号EGrfは、差電圧V1-V2が正から負、または負から正に切り替わるゼロクロスのタイミングを示している。また、遅延回路53は、通電期間に流れる駆動電流正電流または負電流や、通電期間から非通電期間への移行時に流れる回生電流によるゼロクロスをマスクするため、ハイインピーダンス信号HZを遅延したマスク信号MSを出力する。そして、AND回路54は、両エッジ信号EGrfをマスク信号MSでマスクして、エッジ検出信号EGを出力する。このようにして、ゼロクロス検出回路誘起電圧検出回路30、コンパレータ40、およびエッジ検出回路50は、非通電期間に駆動コイル9に発生する誘起電圧のゼロクロスを検出し、パルス状のエッジ検出信号EGを出力する。===単相ブラシレスモータの駆動回路の動作の具体例===ここで、図4ないし図6を適宜参照して、本実施形態における単相ブラシレスモータの駆動回路の動作の具体例について説明する。なお、以下においては、ループカウント値LPが1から10までの間の動作モードを起動モードと称し、それ以降の動作モードを通常モードと称することとする。また、駆動コイル9には、ループカウント値LPが奇数LP[0]=1の場合に正電流が流れ、ループカウント値LPが偶数LP[0]=0の場合に負電流が流れるものとする。まず、図4を参照して、起動モードLP≦10におけるモータ駆動回路1aの動作について説明する。なお、起動モードは、モータ駆動回路1aの起動時から10回目の駆動周期までの動作モードであり、図4は、1回目から4回目までの駆動周期を示している。モータ駆動回路1aが起動すると、メインカウンタ11aはクロック信号CLKでカウントを開始し、1回目の駆動周期LP=1が開始される。そして、タイミング制御回路16は、駆動信号S1をハイレベル、駆動信号S2をローレベルとし、出力回路20から駆動コイル9への正電流の供給を開始させる。なお、当該正電流の通電期間においては、差電圧V1-V2は正となり、比較結果信号CPはハイレベルとなる。正電流の通電期間において、メインカウント値CNTが起動時カウント値T1に達するとCNT=T1、タイミング制御回路16は、駆動信号S1およびS2をいずれもローレベルとし、出力回路20から駆動コイル9への正電流および負電流のいずれの供給も停止させる。なお、当該通電期間から非通電期間への移行時には、回生電流によるゼロクロスが発生し得るが、当該ゼロクロスは、ハイインピーダンス信号HZを遅延回路53の遅延時間D1だけ遅延したマスク信号MSによってマスクされる。非通電期間において、ゼロクロス検出回路が駆動コイル9に発生する誘起電圧のゼロクロスを検出し、遅延回路51の遅延時間D2のパルス幅を有するエッジ検出信号EGを出力すると、メインカウンタ11aはリセットされ、メインカウント値CNTがクリアされるCNT=0。また、ループカウント値LPがインクリメントされ、2回目の駆動周期LP=2が開始される。そして、タイミング制御回路16は、駆動信号S1をローレベル、駆動信号S2をハイレベルとし、出力回路20から駆動コイル9への負電流の供給を開始させる。なお、当該負電流の通電期間においては、差電圧V1-V2は負となり、比較結果信号CPはローレベルとなる。負電流の通電期間において、メインカウント値CNTが起動時カウント値T2に達するとCNT=T2、タイミング制御回路16は、駆動信号S1およびS2をいずれもローレベルとし、出力回路20から駆動コイル9への正電流および負電流のいずれの供給も停止させる。非通電期間において、ゼロクロス検出回路が誘起電圧のゼロクロスを検出し、エッジ検出信号EGを出力すると、メインカウンタ11aはリセットされ、メインカウント値CNTがクリアされるCNT=0。また、ループカウント値LPがインクリメントされ、3回目の駆動周期LP=3が開始される。そして、タイミング制御回路16は、駆動信号S1をハイレベル、駆動信号S2をローレベルとし、出力回路20から駆動コイル9への正電流の供給を再び開始させる。このようにして、起動モードにおいては、モータ駆動回路1aは、ループカウント値LPごとに予め設定された起動時カウント値T1ないしT10が示す通電時間だけ出力回路20から駆動コイル9に正電流または負電流を供給し、非通電期間に移行する。また、非通電期間に駆動コイル9に発生する誘起電圧のゼロクロスを検出すると、正電流と負電流とを切り替えて通電期間に移行する。そして、これらの動作を10回目の駆動周期LP=10まで繰り返す。ここで、起動時カウント値T1ないしT10が示す通電時間を、ループカウント値LPが示す通電回数の増加に応じて減少するように設定することによって、モータ駆動回路1aは、単相ブラシレスモータを停止状態から高速回転まで滑らかに立ち上げることができる。また、一例として、図5に示すように、起動時カウント値T1ないしT10は、ループカウント値LPに略反比例するように予め設定される。起動時カウント値T1ないしT10をこのように設定することによって、モータ駆動回路1aは、単相ブラシレスモータをより速やかに立ち上げることができる。次に、図6を参照して、通常モードLP≧11におけるモータ駆動回路1aの動作について説明する。なお、通常モードは、11回目の駆動周期以降の動作モードであり、図6は、n-1回目からn2回目nは12以上の偶数までの駆動周期を示している。n-1回目の駆動周期LP=n-1における非通電期間において、ゼロクロス検出回路が誘起電圧のゼロクロスを検出し、エッジ検出信号EGを出力すると、メインカウンタ11aはリセットされ、メインカウント値CNTがクリアされるCNT=0。また、駆動周期記憶レジスタ12は、クリアされる直前のメインカウント値CNTを記憶するとともに、当該記憶したメインカウント値CNTに係数aを乗じた通常時カウント値Tonを出力するTon=CNT×a。ここで、通常時カウント値Tonは、n回目の駆動周期LP=nにおける通電期間の長さを示し、好ましくは、n-1回目の駆動周期全体の70程度に設定されるa=0.7。さらに、ループカウント値LPがインクリメントされ、n回目の駆動周期が開始される。そして、タイミング制御回路16は、駆動信号S1をローレベル、駆動信号S2をハイレベルとし、出力回路20から駆動コイル9への負電流の供給を開始させる。n回目の駆動周期における通電期間において、メインカウント値CNTが通常時カウント値Tonに達するとCNT=Ton、タイミング制御回路16は、駆動信号S1およびS2をいずれもローレベルとし、出力回路20から駆動コイル9への正電流および負電流のいずれの供給も停止させる。非通電期間において、ゼロクロス検出回路が誘起電圧のゼロクロスを検出し、エッジ検出信号EGを出力すると、メインカウンタ11aはリセットされ、メインカウント値CNTがクリアされるCNT=0。また、駆動周期記憶レジスタ12は、クリアされる直前のメインカウント値CNTを記憶するとともに、通常時カウント値Tonを出力するTon=CNT×a。さらに、ループカウント値LPがインクリメントされ、n1回目の駆動周期LP=n1が開始される。そして、タイミング制御回路16は、駆動信号S1をハイレベル、駆動信号S2をローレベルとし、出力回路20から駆動コイル9への正電流の供給を開始させる。このようにして、通常モードにおいては、モータ駆動回路1aは、駆動周期記憶レジスタ12に記憶されているメインカウント値CNTに所定の係数a0<a<1を乗じた通常時カウント値Tonが示す通電時間だけ出力回路20から駆動コイル9に正電流または負電流を供給し、非通電期間に移行する。起動モードにおいて単相ブラシレスモータを立ち上げた後の通常モードでは、駆動周期の変動が小さくなっているため、直前の駆動周期全体に対して所定の割合となるように、その都度次の通電期間の長さが決定されている。また、起動モード時と同様に、非通電期間に駆動コイル9に発生する誘起電圧のゼロクロスを検出すると、正電流と負電流とを切り替えて通電期間に移行する。そして、これらの動作を駆動周期ごとに繰り返す。<第2実施形態>===単相ブラシレスモータの駆動回路全体およびエッジ検出回路の構成===前述したように、第1実施形態のモータ駆動回路1aでは、エッジ検出回路50からエッジ検出信号EGが出力される度に、メインカウント値CNTはクリアされ、ループカウント値LPはインクリメントされて奇偶ビットLP[0]が変化する。そして、タイミング制御回路16は、正電流と負電流とを切り替えて、出力回路20から駆動コイル9への当該駆動電流の供給を開始させる。さらに、通電期間において、メインカウント値CNTが起動時カウント値T1ないしT10起動モードの場合、または通常時カウント値Ton通常モードの場合に達すると、タイミング制御回路16は、出力回路20から駆動コイル9への駆動電流の供給を停止させる。また、非通電期間において、ゼロクロス検出回路は、駆動コイル9に発生する誘起電圧のゼロクロスの検出を行う。しかしながら、通電期間に駆動コイル9に駆動電流が供給されてもロータが回転しない場合や、非通電期間に移行して駆動コイル9に駆動電流が供給されなくなってロータが停止してしまった場合など、誘起電圧のゼロクロスが発生しない場合もあり得る。特に、起動モードLP≦10においては、通電時間が予め設定されており、さらに、起動直後の1回目の駆動周期LP=1においては、停止状態からロータを回転させる必要があるため、ロータが回転しなかったり停止したりしやすくなる。そして、誘起電圧がゼロクロスせず、ゼロクロス検出回路が非通電期間に誘起電圧のゼロクロスを検出することができない場合には、例えば図7に示すように、エッジ検出信号EGが出力されず、非通電期間が継続することとなる。そのため、モータ駆動回路1aは、再び通電期間に移行することができないため、ロータの停止状態が継続することとなる。以下、図8を参照して、非通電期間に誘起電圧のゼロクロスを検出しない場合であってもロータを確実に回転させることができる、本発明の第2の実施形態における単相ブラシレスモータの駆動回路全体の構成について説明する。図8に示されているモータ駆動回路1bは、第1実施形態のモータ駆動回路1aに対して、メインカウンタ11aの代わりにメインカウンタ11bを含み、OR回路論理和回路18をさらに含んで構成されている。メインカウンタ11b第1のカウンタ回路のCK入力には、メインカウンタ11aと同様に、クロック信号CLKが入力されている。また、メインカウンタ11bからは、メインカウント値CNTのほか、リスタート信号RESが出力されている。さらに、OR回路18には、リスタート信号RESおよびエッジ検出信号EGが入力され、OR回路18の出力信号は、メインカウンタ11bのCL入力に入力されている。===単相ブラシレスモータの駆動回路の動作===以下、図9を適宜参照して、本実施形態における単相ブラシレスモータの駆動回路の動作について説明する。なお、本実施形態におけるモータ駆動回路1bの動作は、メインカウンタ11bおよびOR回路18の動作を除いて、第1実施形態のモータ駆動回路1aの動作と同様である。メインカウンタ11bは、メインカウンタ11aと同様に、クロック信号CLKでカウントし、1ずつ増加するメインカウント値CNTを出力する。また、メインカウンタ11bは、所定のカウント値第1の所定値までカウントするとリスタート信号RESを出力する。本実施形態では、一例として、メインカウンタ11bは、フルカウント値Tmaxまでカウントするとリスタート信号RESを出力するものとする。したがって、メインカウンタ11bは、ゼロクロス検出回路が誘起電圧のゼロクロスを検出してパルス状のエッジ検出信号EGを出力する度に、またはメインカウント値CNTがフルカウント値Tmaxに達した場合に、リセットされる。このようにして、本実施形態のモータ駆動回路1bでは、メインカウント値CNTがフルカウント値Tmaxに達した場合にも、メインカウンタ11bがリセットされ、メインカウント値CNTがクリアされることとなる。そして、この場合には、ループカウント値LPがインクリメントされないため、例えば図9に示すように、タイミング制御回路16は、正電流と負電流とを切り替えずに、出力回路20から駆動コイル9への当該駆動電流の供給を開始させる。また、ループカウント値LPがインクリメントされないため、起動モードにおいては、選択回路15の出力値が直前の駆動周期と同一になり、直前の通電期間の長さが次の通電期間の長さとして決定されることとなる。さらに、クリアされる直前のメインカウント値CNTすなわち、フルカウント値Tmaxは、駆動周期記憶レジスタ12に記憶されないため、通常モードにおいても、選択回路15の出力値が直前の駆動周期と同一になり、直前の通電期間の長さが次の通電期間の長さとして決定されることとなる。したがって、モータ駆動回路1bは、非通電期間に誘起電圧のゼロクロスを検出しない場合であっても、再び直前の駆動周期と同様の通電期間に移行することができるため、ロータを確実に回転させることができる。<第3実施形態>===単相ブラシレスモータの駆動回路全体およびエッジ検出回路の構成===前述したように、第1および第2実施形態のエッジ検出回路50は、ハイインピーダンス信号HZを遅延回路53の遅延時間D1だけ遅延したマスク信号MSで両エッジ信号EGrfをマスクして、エッジ検出信号EGを出力している。したがって、ゼロクロス検出回路は、非通電期間の開始から遅延時間D1所定時間が経過した後にゼロクロスの検出を開始することによって、通電期間から非通電期間への移行時に流れる回生電流によるゼロクロスをマスクしている。しかしながら、エッジ検出回路50では、通電期間の開始より遅延時間D1だけ遅れてマスク信号MSが立ち下がることとなる。そのため、例えば図10に示すように、誘起電圧のゼロクロスを検出した直後に、駆動コイル9への供給が開始された駆動電流の影響によってゼロクロスを検出してしまい、当該誤検出によってモータ駆動回路1a1bが誤動作する場合もあり得る。また、前述したように、タイミング制御回路16は、エッジ検出信号EGによって奇偶ビットLP[0]が変化する度に、出力回路20が駆動コイル9に供給する正電流と負電流とを切り替えている。しかしながら、非通電期間の開始から遅延時間D1が経過してマスク信号MSが立ち上がる前に誘起電圧がゼロクロスした場合、当該ゼロクロスはマスク信号MSによってマスクされてしまう。さらに、駆動コイル9に駆動電流が供給されている通電期間中や、通電期間から非通電期間への移行時に回生電流が流れている間は、いずれにしても、駆動コイル9に発生する誘起電圧を正しく検出することができない。そのため、例えば図11に示すように、通電期間中や、非通電期間にマスク信号MSが立ち上がる前に誘起電圧がゼロクロスした場合、エッジ検出回路50からパルス状のエッジ検出信号EGが出力されず、正電流と負電流とを切り替えて通電期間に移行することができない。以下、図12および図13を参照して、これらの場合であっても誤動作を防止することができる、本発明の第3の実施形態における単相ブラシレスモータの駆動回路全体およびエッジ検出回路の構成について説明する。図12に示されているモータ駆動回路1cは、第2実施形態のモータ駆動回路1bに対して、エッジ検出回路50の代わりにエッジ検出回路70を含んで構成されている。また、ループカウンタ14から出力される奇偶ビットLP[0]は、エッジ検出回路70にも入力されている。図13に示されているエッジ検出回路70は、遅延回路71、78、79、インバータ反転回路72、80、AND回路73、81、83、NOR回路74、選択回路75、判定回路76、OR回路77、およびRSFFRS型フリップフロップ82を含んで構成されている。遅延回路71には、比較結果信号CPが入力され、遅延回路71の出力信号は、インバータ72に入力されている。また、AND回路73には、比較結果信号CPおよびインバータ72の出力信号が入力され、AND回路73からは、立ち上がりエッジ信号EGrが出力されている。さらに、NOR回路74にも、比較結果信号CPおよびインバータ72の出力信号が入力され、NOR回路74からは、立ち下がりエッジ信号EGfが出力されている。選択回路75は、2入力1出力のマルチプレクサとして構成されており、選択制御入力には、奇偶ビットLP[0]が入力されている。また、奇偶ビットLP[0]が0の場合に対応するデータ入力には、立ち上がりエッジ信号EGrが入力され、奇偶ビットLP[0]が1の場合に対応するデータ入力には、立ち下がりエッジ信号EGfが入力されている。判定回路76には、比較結果信号CPおよび奇偶ビットLP[0]とともに、RSFF82から出力されるマスク信号MSが入力され、判定回路76からは、擬似エッジ信号EGpが出力されている。また、OR回路77には、選択回路75の出力信号および擬似エッジ信号EGpが入力されている。そして、AND回路83には、OR回路77の出力信号およびマスク信号MSが入力され、AND回路83からは、エッジ検出信号EGが出力されている。遅延回路78には、ハイインピーダンス信号HZが入力されている。また、遅延回路79には、遅延回路78の出力信号が入力され、遅延回路79の出力信号は、インバータ80に入力されている。さらに、AND回路81には、遅延回路78およびインバータ80の出力信号が入力されている。そして、RSFF82のS入力セット入力には、AND回路81の出力信号が入力され、R入力リセット入力には、エッジ検出信号EGが入力され、RSFF82からは、マスク信号MSが出力されている。===単相ブラシレスモータの駆動回路の動作===以下、図14および図15を適宜参照して、本実施形態における単相ブラシレスモータの駆動回路の動作について説明する。なお、本実施形態におけるモータ駆動回路1cの動作は、エッジ検出回路70の動作を除いて、第2実施形態のモータ駆動回路1bの動作と同様である。エッジ検出回路70のAND回路73は、比較結果信号CPとその遅延反転信号インバータ72の出力信号との論理積をとることによって、比較結果信号CPの立ち上がりエッジを検出し、パルス状の立ち上がりエッジ信号EGrを出力する。したがって、立ち上がりエッジ信号EGrは、差電圧V1-V2が負から正に切り替わるゼロクロスのタイミングを示している。一方、NOR回路74は、比較結果信号CPとその遅延反転信号との否定論理和をとることによって、比較結果信号CPの立ち下がりエッジを検出し、パルス状の立ち下がりエッジ信号EGfを出力する。したがって、立ち下がりエッジ信号EGfは、差電圧V1-V2が正から負に切り替わるゼロクロスのタイミングを示している。選択回路75は、駆動コイル9に正電流が供給される奇数回目の駆動周期LP[0]=1には、立ち下がりエッジ信号EGfを出力する。一方、駆動コイル9に負電流が供給される偶数回目の駆動周期LP[0]=0には、立ち上がりエッジ信号EGrを出力する。AND回路81は、遅延回路78の出力信号とその遅延反転信号インバータ80の出力信号との論理積をとることによって、遅延回路78の出力信号の立ち上がりエッジを検出する。したがって、RSFF82から出力されるマスク信号MSは、非通電期間の開始ハイインピーダンス信号HZの立ち上がりエッジから遅延回路78の遅延時間D1が経過した後に、ハイレベルとなる。また、AND回路83からパルス状のエッジ検出信号EGが出力されると、非通電期間から通電期間に移行するとともに、マスク信号MSはローレベルとなる。このようにして、本実施形態のモータ駆動回路1cでは、通電期間の開始から、非通電期間の開始から遅延時間D1所定時間が経過するまでの間、マスク信号MSがローレベルとなる。そして、ゼロクロス検出回路は、非通電期間の開始から遅延時間D1が経過した後にゼロクロスの検出を開始し、ゼロクロスを検出するとゼロクロスの検出を終了する。したがって、例えば図14に示すように、誘起電圧のゼロクロスを検出してパルス状のエッジ検出信号EGが出力されると、マスク信号MSがローレベルとなるため、その直後に駆動電流によるゼロクロスが発生した場合であっても、当該ゼロクロスは検出されない。なお、以下においては、マスク信号MSがローレベルの期間を非検出期間と称することとする。判定回路76は、ゼロクロスの検出開始時マスク信号MSの立ち上がりエッジにおける比較結果信号CPの論理レベルに基づいて、非検出期間に誘起電圧がゼロクロスしたか否かを判定する。より具体的には、正から負へのゼロクロスを検出して、立ち下がりエッジ信号EGfが出力されるべき奇数回目の駆動周期LP[0]=1において、ゼロクロスの検出開始時に比較結果信号CPがローレベルの場合には、非検出期間に誘起電圧がゼロクロスしたと判定する。一方、負から正へのゼロクロスを検出して、立ち上がりエッジ信号EGrが出力されるべき偶数回目の駆動周期LP[0]=0において、ゼロクロスの検出開始時に比較結果信号CPがハイレベルの場合には、非検出期間に誘起電圧がゼロクロスしたと判定する。そして、判定回路76は、非検出期間に誘起電圧がゼロクロスしたと判定した場合には、ゼロクロスの検出開始時にパルス状の擬似エッジ信号EGpを出力する。このようにして、本実施形態のモータ駆動回路1cでは、ゼロクロスのタイミングを示す立ち上がりエッジ信号EGrおよび立ち下がりエッジ信号EGfのほか、非検出期間に誘起電圧がゼロクロスしたとの判定結果を示す擬似エッジ信号EGpを出力する。そして、ゼロクロス検出回路は、非通電期間に誘起電圧のゼロクロスを検出した場合に、エッジ検出信号EGを出力するほか、非検出期間に誘起電圧がゼロクロスしたと判定した場合にも、ゼロクロスの検出開始時にエッジ検出信号EGを出力する。したがって、例えば図15に示すように、非検出期間に誘起電圧がゼロクロスした場合にも、パルス状のエッジ検出信号EGが出力されるため、正電流と負電流とを切り替えて通電期間に移行することができる。前述したように、モータ駆動回路1aないし1cにおいて、非通電期間を挟んで駆動コイル9に正電流と負電流とを交互に供給しつつ、単相ブラシレスモータを立ち上げた後の通常モードでは、駆動コイル9への通電期間とそれに続く非通電期間とからなる駆動周期に基づいてその都度次の通電期間の長さを決定することによって、ホール素子などの位置検出素子を用いず、単相ブラシレスモータを駆動することができる。したがって、モータ駆動用ICのチップ厚をさらに薄くして低背化したり、ICをモータの外部に実装したりすることにより、モータの小型化を図ることができる。さらに、ICをモータの内部に実装した場合であっても、ICの実装位置のばらつきがロータの回転位置の検出精度に影響を与えないため、モータの製造工程を簡略化してモータの低コスト化を図ることができるとともに、ICの出荷時における試験工数を削減してICの低コスト化を図ることができる。また、モータ駆動回路1bおよび1cにおいて、非通電期間に誘起電圧のゼロクロスを検出しない場合には、直前の通電期間の長さを次の通電期間の長さとして決定することによって、再び直前の駆動周期と同様の通電期間に移行して、ロータを確実に回転させることができる。また、モータ駆動回路の起動時から駆動コイル9への通電回数が所定回数に達するまでの起動モードでは、通電回数の増加に応じて減少するように通電時間を予め設定しておくことによって、単相ブラシレスモータを停止状態から高速回転まで滑らかに立ち上げることができる。さらに、モータ駆動回路1cにおいては、非通電期間の開始から遅延時間D1所定時間が経過した後にゼロクロスの検出を開始し、ゼロクロスを検出するとゼロクロスの検出を終了することによって、通電期間から非通電期間への移行時に流れる回生電流によるゼロクロスや、誘起電圧のゼロクロスを検出した直後の駆動電流によるゼロクロスをマスクすることができる。さらに、モータ駆動回路1cにおいては、非通電期間に誘起電圧のゼロクロスを検出した場合のほか、非検出期間に誘起電圧がゼロクロスしたと判定した場合にも、パルス状のエッジ検出信号EGを出力することによって、正電流と負電流とを切り替えて通電期間に移行することができる。また、モータ駆動回路1bおよび1cにおいて、メインカウント値CNTがフルカウント値Tmax第1の所定値に達した場合には、リスタート信号RESによってメインカウンタ11bのみをリセットし、正電流と負電流とを切り替えないで通電期間に移行することによって、非通電期間に誘起電圧のゼロクロスを検出することができない場合であっても、ロータを確実に回転させることができる。また、ループカウント値LPが第2の所定値に達するまでの起動モードでは、ループカウント値LPの増加に応じて通電幅が減少するように起動時カウント値T1ないしT10を予め設定しておくことによって、メインカウント値CNTおよびループカウント値LPに基づいて、起動モードにおける通電期間および非通電期間を制御することができる。さらに、モータ駆動回路1cにおいては、通電期間の開始から、非通電期間の開始から遅延時間D1が経過するまでの間ローレベルとなるマスク信号MSを生成することによって、通電期間から非通電期間への移行時に流れる回生電流によるゼロクロスや、誘起電圧のゼロクロスを検出した直後の駆動電流によるゼロクロスを、マスク信号MSによってマスクすることができる。さらに、モータ駆動回路1cにおいては、ゼロクロスの検出開始時における比較結果信号CPの論理レベルに基づいて、非検出期間に誘起電圧がゼロクロスしたとの判定結果を示す擬似エッジ信号EGpを生成することによって、非検出期間に誘起電圧がゼロクロスした場合にも、パルス状のエッジ検出信号EGを出力し、正電流と負電流とを切り替えて通電期間に移行することができる。なお、上記実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得るとともに、本発明にはその等価物も含まれる。上記実施形態では、ループカウント値LPが1から10までの間の動作モードを起動モードとしたが、起動モードとなるループカウント値LPの個数mは適宜変更され得る。この場合、1からmまでのループカウント値LPごとにm個の起動時カウント値T1ないしTmが予め設定され、通電時間設定レジスタ13に記憶されることとなる。上記第2および第3実施形態では、モータ駆動回路1b1cは、リスタート信号RESによってメインカウンタ11bがリセットされると、常に正電流と負電流とを切り替えないで通電期間に移行することとなるが、これに限定されるものではない。例えば、メインカウンタ11bからリスタート信号RESが出力された回数をカウントする第3のカウンタ回路をさらに備え、当該カウント値が第3の所定値に達した場合には、それ以降メインカウンタ11bをリセットしない構成としてもよい。このような構成とすることによって、非通電期間に誘起電圧のゼロクロスが検出されない状態が継続している場合には、通電期間に移行しなくなる。したがって、モータの負荷が大き過ぎたり、モータにデッドポイント対策がなされていなかったりして、ロータが回転できない場合に、駆動コイルへの駆動電流の供給を停止することができる。