スイッチモード電源のためのコントローラであって、前記電源の入力電圧のゼロ交差の前に第1の信号を生成するように結合されるゼロ交差検出器と、前記電源の出力を表わすフィードバック信号に応答して駆動論理出力信号を生成するように結合されるべき駆動論理とを備え、前記駆動論理出力信号は初期オン時間を表わし、さらに前記駆動論理出力信号に応答して駆動信号を生成するように前記ゼロ交差検出器および前記駆動論理に結合されるオン時間延長ブロックを備え、前記駆動信号は、前記電源のフィルタコンデンサから電荷を除去するように前記コントローラに結合されるべきスイッチのスイッチングを制御するものであり、前記駆動信号は、前記初期オン時間と延長されたオン時間との和に等しい前記スイッチの全オン時間を表わし、前記延長されたオン時間は前記第1の信号に応答する、コントローラ。前記第1の信号は、前記電源の前記入力電圧の前記ゼロ交差について前提条件が存在するか否かを示す前提条件信号である、請求項1に記載のコントローラ。前記オン時間延長ブロックは、前記前提条件がもはや存在しないことを前記前提条件信号が示すまで、または前記全オン時間がゼロ交差時間しきい値に達するまで、前記スイッチの前記延長されたオン時間を増大するように適合される、請求項2に記載のコントローラ。前記オン時間延長ブロックは、前記ゼロ交差時間しきい値を表わす期間を含むゼロ交差パルス信号を受けるように結合される、請求項3に記載のコントローラ。前記ゼロ交差検出器は、前記電源の前記入力電圧がゼロ交差電圧しきい値未満であることに応答して前記第1の信号を生成する、請求項1に記載のコントローラ。前記ゼロ交差検出器は、前記スイッチを通って流れるスイッチ電流がゼロ交差電流しきい値未満であることに応答して前記第1の信号を生成する、請求項1に記載のコントローラ。前記ゼロ交差検出器は、ゼロ交差条件が存在することを示すゼロ交差信号を生成するように結合され、前記駆動論理は、前記ゼロ交差信号および前記フィードバック信号に応答して前記駆動論理出力信号を生成する、請求項1に記載のコントローラ。前記コントローラおよび前記スイッチは集積回路に含まれる、請求項1に記載のコントローラ。前記コントローラは、スイッチモード電源のための集積回路コントローラである、請求項1に記載のコントローラ。スイッチモード電源のためのコントローラであって、前記電源の入力電圧のゼロ交差の前に第1の信号を生成するように結合されるゼロ交差検出器と、前記電源の出力を表わすフィードバック信号に応答して駆動論理出力信号を生成するように結合されるべき駆動論理とを備え、前記駆動論理出力信号は初期オン時間を表わし、さらに前記電源に含まれるスイッチのスイッチングを制御するように駆動信号を生成するラッチを有するオン時間延長ブロックを備え、前記ラッチは前記駆動論理出力信号に応答してセットされるように結合され、前記駆動信号は、前記電源のフィルタコンデンサから電荷を除去するように前記コントローラに結合されるべきスイッチのスイッチングを制御するものであり、前記駆動信号は、前記初期オン時間と延長されたオン時間との和に等しい前記スイッチの全オン時間を表わし、前記延長されたオン時間は前記第1の信号に応答する、コントローラ。前記第1の信号は、前記電源の前記入力電圧の前記ゼロ交差について前提条件が存在するか否かを示す前提条件信号である、請求項10に記載のコントローラ。前記ラッチは、前記前提条件がもはや存在しないことを前記前提条件信号が示すか、または前記全オン時間がゼロ交差時間しきい値に達した場合のいずれかにリセットされるように結合される、請求項11に記載のコントローラ。前記ラッチは、前記駆動論理出力信号に応答してリセットされるようにさらに結合される、請求項12に記載のコントローラ。前記オン時間延長ブロックは、ゼロ交差時間しきい値を表わす期間を含むゼロ交差パルス信号を受けるように結合される、請求項10に記載のコントローラ。前記ゼロ交差検出器は、前記電源の前記入力電圧がゼロ交差電圧しきい値未満であることに応答して前記第1の信号を生成する、請求項10に記載のコントローラ。前記ゼロ交差検出器は、前記スイッチを通って流れるスイッチ電流がゼロ交差電流しきい値未満であることに応答して前記第1の信号を生成する、請求項10に記載のコントローラ。前記ゼロ交差検出器は、ゼロ交差条件が存在することを示すゼロ交差信号を生成するように結合され、前記駆動論理は、前記ゼロ交差信号および前記フィードバック信号に応答して前記駆動論理出力信号を生成する、請求項10に記載のコントローラ。前記コントローラおよび前記スイッチは集積回路に含まれる、請求項10に記載のコントローラ。前記コントローラは、スイッチモード電源のための集積回路コントローラである、請求項10に記載のコントローラ。スイッチモード電源であって、スイッチと、前記スイッチに結合され、入力電圧に応答して出力を生成するように結合されるエネルギ転送要素と、前記エネルギ転送要素および前記スイッチの両端に結合されるフィルタコンデンサと、前記入力電圧に応答して前記出力を調整するように結合されるコントローラとを備え、前記コントローラは、前記入力電圧のゼロ交差の前に第1の信号を生成するように結合されるゼロ交差検出器と、前記電源の出力を表わすフィードバック信号に応答して駆動論理出力信号を生成するように結合されるべき駆動論理とを含み、前記駆動論理出力信号は初期オン時間を表わし、さらに前記コントローラは、前記駆動論理出力信号に応答して駆動信号を生成するように前記ゼロ交差検出器および前記駆動論理に結合されるオン時間延長ブロックを含み、前記駆動信号は、前記フィルタコンデンサから電荷を除去して前記フィルタコンデンサの電圧が前記入力電圧の大きさに実質的に従うように前記フィルタコンデンサの前記電圧をプルダウンするように前記コントローラに結合されるべきスイッチのスイッチングを制御するものであり、前記駆動信号は、前記初期オン時間と延長されたオン時間との和に等しい前記スイッチの全オン時間を表わし、前記延長されたオン時間は前記第1の信号に応答する、スイッチモード電源。前記入力電圧が前記エネルギ転送要素から切り離されて前記入力電圧を調節する時間量を制御するように、前記エネルギ転送要素と前記電源の入力との間に結合される調光器回路をさらに備える、請求項20に記載の電源。前記調光器回路はトライアック調光器回路である、請求項21に記載の電源。前記トライアック調光器回路は、前記トライアック調光器回路がオフしないようにする最小保持電流を含み、前記オン時間延長ブロックは、前記トライアック調光器回路を通る電流が前記最小保持電流を下回らないように前記トライアック調光器回路を通る前記電流を維持するように構成される、請求項22に記載の電源。前記電源の前記出力は、発光ダイオードのアレイを含む負荷に結合されるものである、請求項20に記載の電源。前記第1の信号は、前記電源の前記入力電圧の前記ゼロ交差について前提条件が存在するか否かを示す前提条件信号である、請求項20に記載の電源。前記オン時間延長ブロックは、前記前提条件がもはや存在しないことを前記前提条件信号が示すまで、または前記全オン時間がゼロ交差時間しきい値に達するまで、前記スイッチの前記延長されたオン時間を増大するように適合される、請求項25に記載の電源。前記オン時間延長ブロックは、ゼロ交差時間しきい値を表わす期間を含むゼロ交差パルス信号を受けるように結合される、請求項20に記載の電源。前記ゼロ交差検出器は、前記電源の前記入力電圧がゼロ交差電圧しきい値未満であることに応答して前記第1の信号を生成する、請求項20に記載の電源。前記ゼロ交差検出器は、前記スイッチを通って流れるスイッチ電流がゼロ交差電流しきい値未満であることに応答して前記第1の信号を生成する、請求項20に記載の電源。前記ゼロ交差検出器は、ゼロ交差条件が存在することを示すゼロ交差信号を生成するように結合され、前記駆動論理は、前記ゼロ交差信号および前記フィードバック信号に応答して前記駆動論理出力信号を生成する、請求項20に記載の電源。前記コントローラおよび前記スイッチは集積回路に含まれる、請求項20に記載の電源。前記コントローラは集積回路コントローラである、請求項20に記載の電源。照明の適用例のための調光の1つの種類において、トライアック調光器回路は典型的に、ac入力電圧の一部を除去して、白熱灯に供給される電圧および電流の量を制限する。これは位相調光として公知である。なぜなら、度で測定されるac入力電圧の周期の分数の観点で、電圧が失われる位置を指定することがしばしば便利であるからである。一般的に、ac入力電圧は正弦波形であり、ac入力電圧の周期はフルラインサイクルと称される。したがって、ac入力電圧の周期の半分はハーフラインサイクルと称される。ac入力電圧の全周期は360度であり、ハーフラインサイクルは180度を有する。典型的に、位相角とは、各々のハーフラインサイクルの0度の基準から何度を調光器回路が除去するかの尺度である。位相角調光は変更されたacライン電圧を直接に受ける白熱灯とはうまく機能するが、これは典型的に発光ダイオードLEDランプについては問題を生じる。LEDランプは、ac電力線から調整された電流および電圧を与えるための調整された電源を必要とする。従来の調整された電源は典型的に、ac入力電圧の歪を無視するように設計されている。それらの目的は、低入力電圧のために完全に電源が遮断されるまで、一定の調整された出力を送達することである。したがって、従来の調整された電源はLEDランプを調光しないであろう。LEDランプ用の電源が所望の態様でトライアック調光器回路からの電圧を認識しかつこれに応答するように特に設計されなければ、トライアック調光器はLEDランプのちらつき、高い位相角でのLEDランプの点滅、およびLEDランプのカラーシフトなどの許容できない結果を生じやすい。このように、電源は、ac入力電圧を直接に検知してac入力電圧が調光回路によりいつ遮断されるかを判定することによってトライアック調光器回路に応答するように設計される、改良された従来の電源コントローラを含み得る。典型的に、ac入力電圧は、従来のコントローラの集積回路の外部の回路構成によって直接に検知される。検知されたac入力電圧は、検知されたac入力電圧を受ける専用の端子において、または複数の機能を果たす別の端子において、改良された従来のコントローラの集積回路によって受けられ得る。LEDランプと共にトライアック調光回路を用いる際の別の困難はトライアック自体の特徴に由来する。トライアックは、制御されたacスイッチとして振舞う半導体構成要素である。換言すると、これは、スイッチを閉じさせるトリガ信号を制御端子で受けるまで、ac電圧に対する開いたスイッチとして振舞う。スイッチは、スイッチを通る電流が保持電流と称される値を上回る限りは閉じたままである。大部分の白熱灯はac電力源から十分以上の電流を取得して、トライアックの信頼性ある一貫した動作を可能にする。しかしながら、ac電力源からLEDランプを駆動する効率的な電源によって取得される低電流は、acライン周期の予測される部分の間トライアックを導通した状態に保つには十分でない可能性がある。したがって、従来の電源コントローラ設計は通常、トライアックがトリガされた後にトライアックを導通した状態に保つために電源の入力から十分な余分電流を取得するために、時にはブリーダ回路と呼ばれるダミー負荷を含む電源に頼る。一般的に、従来のブリーダ回路は、従来の電源コントローラの集積回路の外部のものである。しかしながら、従来の電源コントローラの外部の従来のブリーダ回路の使用により余分の構成要素の使用が必要となり、これはコストおよび効率における関連の不利を伴ってしまう。電源の設計についての別の重要な考慮点は、ac入力電圧波形に対するac電力源から引き込まれる入力電流の形および位相である。ac電力源の電圧波形は公称では正弦波である。しかしながら、多くのスイッチング電源がac電力源に対して与える非線形負荷により、電源によってac電力源から引き込まれる電流の波形は非正弦波であるおよび/またはac入力電圧と位相がずれている。これは、ac電源分配システムにおける損失の増大に繋がり、世界の多くの地域では、電源によって引き込まれる入力電流が正弦波でありかつac入力電圧波形と位相が確実に合うように電源の製造者に強制する、法律で定められたまたは自発的な要件の主題に今やなっている。このような入力電流波形の補正は力率改善PFCと称され、しばしば、力率改善機能を実行するように特別に設計された、電源への入力段を必要とする。入力ac電流および電圧波形が正弦波でありかつ完全に位相が合っていれば、電源の力率は1である。換言すると、力率改善された入力は、ac源両端への可変抵抗の結合と同等の負荷をac源に与えるであろう。ac源電圧に対する入力電流の高調波歪および/または位相のずれが増大するにつれ、力率は1を下回っていく。力率の要件は典型的に0.9よりも大きな力率を要件とし、入力電流波形の高調波含有量についての要件を有することがある。電源の力率を増大させる一般的な方法は、ac源電圧と位相を合わせつつ理想的な正弦波形に近い入力電流波形を確立する昇圧コンバータまたはフライバックコンバータの使用を含む。電源の力率を増大させる別の方法はブリーダ回路を利用することである。スイッチモード電源は典型的に、スイッチモード電源のスイッチを通る高周波電流をフィルタリングするフィルタコンデンサを含む。ブリーダ回路はフィルタコンデンサの放電を容易にし得、これは、フィルタコンデンサ両端の電圧がac入力電圧の正の大きさに実質的に従うようにフィルタコンデンサに対する電圧をプルダウンするのを助ける。このように、ブリーダ回路は、ac源電圧と位相を合わせつつ理想的な正弦波形に近い入力電流波形を確立するのを助ける。しかしながら、多数の適用例については、従来のブリーダ回路は典型的に、電源コントローラの集積回路の外部の回路である。典型的に、従来のブリーダ回路は、電源の入力で結合される抵抗器によって実現される。しかしながら、以上述べたように、従来の電源コントローラの外部の従来のブリーダ回路を使用すると余分の構成要素を用いる必要があるため、コストおよび効率の点で関連の不利を伴ってしまう。本発明のいくつかの実施例の上記および他の局面、特徴および利点が以下の図面と関連して提示される以下のより特定的な説明からより明らかになるであろう。詳細な説明図面のいくつかの図を通して、対応の参照番号は対応の構成要素を示す。当業者は、図中の要素が簡潔さおよび明瞭さのために図示されており、かつ縮尺通りに必ずしも描かれていないことを認めるであろう。たとえば、図中の要素のうちいくつかの寸法は、本発明のさまざまな実施例の理解を向上させるのを助けるために他の要素に対して誇張されているかもしれない。また、商業的に見込みのある実施例で有用なまたは必要な、一般的であるが十分に理解される要素は、本発明のこれらのさまざまな実施例のより妨げられない見方を容易にするために、示されていないことがしばしばある。照明用LEDドライバのトライアック調光のための無損失集積ブリーダのための方法および装置の実施例が本明細書中に記載される。以下の説明では、実施例の完全な理解を与えるため、数多くの具体的な詳細を述べる。しかしながら、具体的な詳細のうち1つ以上がなくても、または他の方法、構成要素、材料などを用いて、本明細書中に記載の技術を実践可能であることを当業者は認識するであろう。他の事例では、ある局面を曖昧にすることを回避するため、周知の構造、材料または動作を詳細に示したり説明したりしていない。この明細書を通じて、一実施例、ある実施例、一例、またはある例に対する参照は、実施例または例と関連して説明される特定的な特徴、構造、または特性が本発明の少なくとも一実施例に含まれることを意味する。したがって、一実施例では、ある実施例では、一例、またはある例という、この明細書を通じてさまざまな場所に現われる文言は、必ずしも同じ実施例または例をすべて指しているわけではない。さらに、特定的な特徴、構造、または特性は、1つ以上の実施例または例において任意の好適な組合せおよび/または副次的組合せで組合されてもよい。さらに、ここで与えられる図は当業者への説明目的のためのものであり、図面は必ずしも縮尺通りに描かれているわけではないことが認められる。スイッチモード電源のいくつかの適用例について、dc入力電圧を検知して、ac入力電圧のゼロ交差を判定する。発光ダイオードLEDの位相調光適用例については、電源コントローラがライン入力電圧のゼロ交差の持続時間を検知するであろう。ac入力電圧のゼロ交差の持続時間の判定は、電源コントローラに調光器回路が利用されていることを示し、したがって電源の出力が調整される量を変更する。本発明の実施例については、電源コントローラはオン時間延長を利用してスイッチのオン時間を延長し、これによりライン入力電圧のゼロ交差の判定が容易になる。さらに、トライアック調光回路を利用するLEDの位相調光適用例については、ブリーダ回路を利用して、電源の入力から余分の電流を取得してトライアック調光器回路のトライアックを導通した状態に保つのを助け得る。トライアックは、制御されたacスイッチとして振舞う半導体構成要素である。換言すると、これは、スイッチを閉じるトリガ信号を制御端子で受けるまでは、ac電圧に対する開いたスイッチとして振舞う。スイッチは、スイッチを通る電流が保持電流と称される値を上回る限りは閉じたままである。大部分の白熱灯は、ac電力源から十分以上の電源を取得してトライアックの信頼性ある一貫した動作を可能にする。しかしながら、ac電力源からの、LEDを駆動する効率的な電源によって取得される低電流は、acライン周期の予測される部分の間トライアックを導通した状態に保つには十分でない可能性がある。ブリーダ回路を利用して、電源の入力から余分の電流を取得してトライアック調光器回路のトライアックを導通した状態に保つのを助け得る。一般的に、ブリーダ回路は電源コントローラの外部のものである。しかしながら、本発明の実施例については、スイッチのオン時間を延長するために電源コントローラによって利用されるオン時間延長はブリーダ回路としても機能し得る。オン時間延長により、電源のスイッチはその意図されるオン時間よりも長い間オンのまま留まることができる。このように、フィルタコンデンサからより多くの電荷が除去され、余分の電流が電源の入力から取得される。力率改善PFC目的のためにブリーダ回路も利用してもよい。電源の力率を増大させる1つの方法はブリーダ回路を利用することである。スイッチモード電源は典型的に、スイッチモード電源のスイッチを通る高周波電流をフィルタリングするフィルタコンデンサを含む。ブリーダ回路はフィルタコンデンサの放電を容易にし得、フィルタコンデンサ両端の電圧がac入力電圧の正の大きさに実質的に従うようにフィルタコンデンサに対する電圧をプルダウンするのを助ける。このように、ブリーダ回路は、ac源電圧と位相を合わせつつ理想的な正弦波形に近い入力電流波形を確立するのを助ける。しかしながら、多数の適用例については、ブリーダ回路は典型的に電源コントローラの集積回路の外部の回路である。典型的に、ブリーダ回路は、電源の入力で結合される抵抗器によって実現される。この解決策は望ましくないであろう。なぜならブリーダ回路は熱の形態でエネルギを損失するであろうからであり、またブリーダ回路のために余分の構成要素を用いる必要があるため、コストおよび効率の点で関連の不利を伴ってしまうからである。しかしながら、本発明の実施例については、スイッチのオン時間を延長するために電源コントローラにより利用されるオン時間延長もブリーダ回路として機能し得る。意図されるオン時間を過ぎてスイッチのオン時間を延長することにより、フィルタコンデンサからより多くの電荷が除去され、フィルタコンデンサ両端の電圧がac入力電圧の正の大きさに従う。さらに、典型的にac入力電圧は、従来のコントローラの集積回路の外部の回路構成によって直接に検知される。検知されたac入力電圧は、検知されたac入力電圧を専用に受ける端子において、または複数の機能を果たす別の端子において、従来のコントローラによって受けられてもよい。しかしながら、付加的な端子はスイッチモード電源の従来のコントローラに不要なコストおよびサイズを付加してしまう。従来のコントローラの集積回路の外部の回路構成はスイッチモード電源にもコストを付加してしまう。本発明の実施例では、入力電圧は、スイッチモード電源のスイッチを通る電流を用いて間接的に検知され得る。その結果、スイッチの一方端がac入力電圧を間接的に検知するのにも既に用いられている端子を用いれば、ac入力電圧を単に検知するだけの専用の端子の必要性をなくし、かつac入力電圧を検知するための外部回路構成の必要性もなくすであろう。まず図1を参照して、例示的なスイッチング電源100の機能ブロック図を図示する。これは、ac入力電圧VAC102、ブリッジ整流器104、整流された電圧VRECT106、エネルギ転送要素T1108、エネルギ転送要素T1108の1次巻線110、エネルギ転送要素T1108の2次巻線112、スイッチS1114、入力帰還116、クランプ回路118、フィルタコンデンサCF120、整流器D1122、出力コンデンサC1124、出力量UO、出力電圧VO、出力電流IO、フィードバック回路128、フィードバック信号UFB130、コントローラ138、駆動信号140、電流検知入力信号142、およびスイッチ電流ID144を含む。図1にはスイッチング電源100に結合された負荷126も図示する。図1に図示される例示的なスイッチング電源100は、本発明の教示から利するであろうスイッチング電源トポロジの一例であるフライバックレギュレータとして一般的に構成される。しかしながら、スイッチング電源レギュレータの他の公知のトポロジおよび構成も本発明の教示から利するであろうことが認められる。スイッチング電源100は未調整入力電圧から負荷126に出力電力を与える。一例では、入力電圧はac入力電圧VAC102である。別の例では、入力電圧は整流された電圧VRECT106などの整流されたac入力電圧である。示されるように、ブリッジ整流器104はac入力電圧VAC102を受け、整流された電圧VRECT106を生成する。ブリッジ整流器104はさらにエネルギ転送要素T1108に結合する。本発明のいくつかの実施例では、エネルギ転送要素T1108は結合されたインダクタであり得る。他の実施例では、エネルギ転送要素T1108は変圧器であり得る。図1の例では、エネルギ転送要素T1108は、2つの巻線、すなわち1次巻線110と2次巻線112とを含む。しかしながら、エネルギ転送要素T1108は2つよりも多くの巻線を有してもよいことが認められるべきである。1次巻線110はスイッチS1114にさらに結合され、これは次に入力帰還116にさらに結合される。一実施例では、スイッチS1114は、金属酸化物半導体電界効果トランジスタMOSFETなどのトランジスタであり得る。別の例では、コントローラ138は、モノリシック集積回路として実現されてもよく、または個別の電気的要素もしくは個別のおよび集積された要素の組合せによって実現されてもよい。コントローラ138およびスイッチS1114はハイブリッドまたはモノリシック集積回路のいずれかとして製造される集積回路146の一部を形成し得る。さらに、図1の実施例のクランプ回路118は、エネルギ転送要素T1108の1次巻線110の両端に結合されて図示される。フィルタコンデンサCF120は1次巻線110およびスイッチS1114の両端に結合し得る。換言すると、フィルタコンデンサCF120はブリッジ整流器104および入力帰還116に結合し得る。エネルギ転送要素T1108の2次巻線112は整流器D1122に結合される。図1の例では、整流器D1122はダイオードとして例示される。しかしながら、いくつかの実施例では、整流器D1122は、同期整流器として用いられるトランジスタであってもよい。出力コンデンサC1124および負荷126の両者とも図1では整流器D1122に結合されて示される。出力が負荷126に与えられ、調整された出力電圧VO、調整された出力電流IO、またはこの2つの組合せのいずれかとして与えられ得る。スイッチモード電源100はさらに、出力量UOとして例示される出力を調整する回路構成を備える。一般的に、調整された出力量UOは出力電圧VO、出力電流IO、またはその2つの組合せのいずれかである。フィードバック回路128は、スイッチモード電源100の出力量UOを検知するように結合され、フィードバック信号UFB130を生成する。他の実施例では、フィードバック信号UFB130は、出力量UOを表わす変圧器の入力側で1つ以上の量を検知することから導出され得る。フィードバック回路128は、コントローラ138がフィードバック信号UFB130を受けるように、コントローラ138の端子にさらに結合される。コントローラ138は、電流検知入力信号142を受けるための端子をさらに含む。電流検知入力信号142は、スイッチS1114のスイッチ電流ID144を表わす。さらに、スイッチS1114はコントローラ138から駆動信号140を受ける。動作の際、図1のスイッチング電源100は、ac入力電圧VAC102などの未調整入力から負荷126への出力電力を与える。ブリッジ整流器104がac入力電圧VAC102を受け、整流された電圧VRECT106を生成する。フィルタコンデンサCF120はスイッチS1114からの高周波電流をフィルタリングする。他の適用例については、フィルタコンデンサCF120は、dc電圧がエネルギ転送要素T1108に印加されるように十分に大きいものであってもよい。しかしながら、力率改善PFCを有する電源については、小さなフィルタコンデンサCF120を利用して、エネルギ転送要素T1108に印加される電圧が整流された電圧VRECT106に実質的に従うことを可能にし得る。そのため、フィルタコンデンサCF120の値は、フィルタコンデンサCF120の電圧が入力ライン電圧の各々のハーフラインサイクルの間実質的に0に達するように選択され得る。または、換言すると、フィルタコンデンサCF120の電圧は、ac入力電圧VAC102の正の大きさに実質的に従う。その結果、コントローラ138がゼロ交差条件を検出し得る。また、さらに論じられるように、コントローラ138が利用するオン時間延長によりフィルタコンデンサCF120からより多くの電荷が除去される。その結果、フィルタコンデンサCF120の放電は1次巻線110の電圧をプルダウンするのを助け、これはコントローラ138がac入力電圧VAC102のゼロ交差を検出するのを助け得る。スイッチング電源100はエネルギ転送要素T1108を利用して1次巻線110と2次巻線112との間で電圧を転送する。クランプ回路118は1次巻線110に結合されて、スイッチS1114の最大電圧を制限する。スイッチS1114は駆動信号140に応答して開閉される。閉じたスイッチは電流を導通し得、オンと考えられる一方で、開いたスイッチは電流を導通することができず、オフと考えられることが一般的に理解される。いくつかの実施例では、スイッチS1114はトランジスタであり得、スイッチS1114およびコントローラ138は集積回路146の一部を形成し得る。動作の際、スイッチS1114のスイッチングにより、整流器D1122において脈動電流が生成する。整流器D1122の電流は出力コンデンサC1124によってフィルタリングされ、負荷126において実質的に一定の出力電圧VO、出力電流IO、またはその2つの組合せを生成する。いくつかの実施例では、負荷126はLEDアレイである。フィードバック回路128は、電源100の出力量UOを検知して、コントローラ138にフィードバック信号UFB130を与える。フィードバック信号UFB130は電圧信号または電流信号であってもよく、出力量UOに関する情報をコントローラ138に与える。さらに、コントローラ138は、スイッチS1114中のスイッチ電流ID144を中継する電流検知入力信号142を受ける。スイッチ電流ID144は、たとえば、個別の抵抗器の両端の電圧、またはトランジスタが導通しているときのトランジスタの両端の電圧など、さまざまな態様で検知され得る。コントローラ138は、電流検知入力信号142が示すスイッチ電流ID144を利用して、ac入力電圧VAC102のゼロ交差を判定する。さらに論じられるように、コントローラ138は次に、ac入力電圧VAC102のゼロ交差についての情報を表わすゼロ交差信号を生成する。また、以下にさらに説明されるように、コントローラ138はスイッチS1114のオン時間延長を利用して、ac入力電圧VAC102がいつゼロ交差条件にあるのかを判定する。ゼロ交差信号を用いて、コントローラの内部周波数を較正したり、またはいつ位相調光回路が利用されるかを判定したりしてもよい。コントローラ138は駆動信号140を出力し、さまざまなシステム入力に応答してスイッチS1114を動作させ、出力量UOを所望の値に実質的に調整する。一実施例では、駆動信号140は、論理ハイおよび論理ローのセクションの長さが変化する矩形パルス波形であり得る。論理ハイの値が閉じたスイッチに対応し、論理ローが開いたスイッチに対応する。別の実施例では、駆動信号140は実質的に長さが固定された論理ハイまたはオンパルスを備え、かつ発振器サイクルの数毎にオンのパルスの数を変化させることによって調整され得る。次に図2Aを参照して、図1のスイッチング電源の整流された電圧VRECT106の例示的な波形の図を図示する。これは、ハーフラインサイクル202、ゼロ交差電圧しきい値204、ピーク電圧VP205、および部分206を含む。図2Bは、例示的な整流された電圧VRECT106の部分206および対応のゼロ交差信号208を図示する。一般的に、ac入力電圧VAC102は正弦波形であり、ac入力電圧VAC102の周期がフルラインサイクルと称される。数学的には、VACt=VPsin2πfLtである。式中、VP205がac入力電圧VAC102のピーク電圧であり、fLがライン入力電圧の周波数である。または、換言すると、fLはac入力電圧VAC102のライン周波数である。フルラインサイクルはライン周波数fLの逆数である、または数学的にはフルラインサイクル=1/fLであることが認められるべきである。以上で言及したように、整流された電圧VRECT106は、ブリッジ整流器104への入力がac入力電圧VAC102である場合の、ブリッジ整流器104の結果的な出力である。図2Aに示される例示的な整流された電圧VRECT106については、ブリッジ整流器104は、ブリッジ整流器104の出力が正の大きさとなるように、または数学的にはVRECT=|VAC|=|VPsin2πfLt|となるように、ac入力電圧VAC102を変換した。その結果、整流された電圧VRECT106はハーフラインサイクル202をすべて繰返す。図2Aはゼロ交差電圧しきい値VZC204も図示する。いくつかの実施例については、ゼロ交差電圧しきい値VZC204は実質的に0に等しい。他の実施例については、ゼロ交差電圧VZC204は、整流された電圧VRECT106のピーク電圧VP205の実質的に5分の1である。たとえば、整流された電圧VRECT106のピーク電圧VP205が実質的に125Vに等しい場合、ゼロ交差電圧しきい値VZC204は実質的に25Vに等しい。別の実施例では、ゼロ交差電圧しきい値VZC204は、整流された電圧VRECT106のピーク電圧VP205の実質的に4分の1である。ゼロ交差電圧しきい値VZC204の値がゼロ電圧に近づくにつれ、ゼロ交差信号208がより正確になることが認められるべきである。しかしながら、整流された電圧VRECT106の値がゼロ電圧に近づくにつれ、コントローラ138の実施例については、整流された電圧VRECT106の値を検知することがより難しくなるであろう。特に、コントローラ138は、整流された電圧VRECT106がゼロ電圧にあるまたはその近くにある場合、電流検知入力信号142が与えるスイッチ電流ID144を通して整流された電圧VRECT106の値を検知するのにいくらかの困難を有し得る。このように、コントローラ138の実施例は、整流された電圧VRECT106の値がゼロ電圧にあるまたはその近くにある場合にゼロ交差条件の検知を可能にするように、ゼロ交差電圧しきい値VZC204の非ゼロの値を有し得る。さらに、整流された電圧VRECT106は、部分的にはフィルタコンデンサCF120の選択された値により、ゼロに達しないかもしれない。図2Bは例示的な整流された電圧VRECT106の部分206および対応のゼロ交差信号208を図示する。コントローラ138は、ac入力電圧VAC102および整流された電圧VRECT106の値を検知してゼロ交差信号208を生成する。整流された電圧VRECT106がゼロ交差電圧しきい値VZC204未満である場合、ゼロ交差信号208は、ゼロ交差条件が存在することを示す状態に変化する。ゼロ交差信号208は、整流された電圧VRECT106がゼロ交差電圧しきい値VZC204を上回るまではその状態から変化しない。図2Bに示される例については、ゼロ交差信号208は、論理ハイおよび論理ローのセクションを有する矩形パルス波形である。整流された電圧VRECT106がゼロ交差電圧しきい値VZC204未満である場合、ゼロ交差信号208の値は論理ハイである。整流された電圧VRECT106がゼロ交差電圧しきい値VZC204を上回る場合、ゼロ交差信号208の値は論理ローである。ゼロ交差信号208がゼロ交差条件が存在すると示す時間の長さはゼロ交差パルス幅TZ210で示される。図2Bに示される例については、ゼロ交差パルス幅TZは、ゼロ交差信号208が論理ハイである時間の長さを示す。図2Aに示される整流された電圧VRECT106は、正の大きさまたは数学的にはVRECT=|VAC|=|VPsin2πfLt|であるac入力電圧VAC102である。整流された電圧VRECT106の値が0に近い電圧である時間は、ac入力電圧VAC102の値が交差ゼロ電圧、したがってゼロ交差という用語に近い場合に対応する。換言すると、整流された電圧VRECT106がいつ0に近い電圧であるかを検出することは、ac入力電圧VAC102がいつゼロ電圧と交差するかを検出することに対応する。図2Bに示されるように、整流された電圧VRECT106がゼロ交差電圧しきい値VZC204未満である場合、ゼロ交差信号208はハイのパルスを出力し、コントローラ138にゼロ交差条件を示す。換言すると、-VZC<VACt<VZCである場合、ゼロ交差信号208はハイのパルスを出力してゼロ交差条件を示す。本発明の実施例については、コントローラ138はスイッチS1114のオン時間延長を利用して、ac入力電圧VAC102のゼロ交差を判定する。図3にさまざまな動作モードのスイッチ電流を図示する。図1のスイッチモード電源の例示的なスイッチ電流波形の図を図示する。これは、スイッチング周期TS304、スイッチオン時間tON306、スイッチオフ時間tOFF308、台形310、および三角形312を含む。図3は、コントローラが連続導通モードCCMおよび不連続導通モードDCMの両方で動作している時間についてのスイッチ電流ID302の一般的な波形を図示する。スイッチ電流ID302の一般的な波形は、図1に図示されるスイッチ電流ID144の例を表わす。任意のスイッチング周期TS304の間、スイッチS1114はコントローラ138からの駆動信号140に応答して導通し、出力量UOを調整し得る。スイッチング周期TS304は、スイッチオン時間tON306およびスイッチオフ時間tOFF308の2つの時間のセクションに分けられ得る。スイッチオン時間tON306は、スイッチS1114が導通し得るスイッチング周期TS304の部分を示す。スイッチオフ時間tOFF308は、スイッチS1114が導通することができないスイッチング周期TS304の残余の部分を示す。図3の電流波形は2つの基本的な動作モードを図示する。台形310は連続導通モードCCMの特徴である一方で、三角形312は不連続導通モードDCMの特徴である。CCMの間、スイッチ電流ID302は、スイッチオン時間tON306の開始直後は実質的に非ゼロである。DCMでは、スイッチ電流ID302は、スイッチオン時間tON306の開始直後は実質的にゼロである。スイッチオフ時間tOFF308の間、スイッチ電流ID302はCCMおよびDCMの両方について実質的にゼロである。本発明の実施例に従うスイッチング電源100は、CCMまたはDCMのいずれかで動作し得る。次に図4Aを参照して、例示的なスイッチ電流波形および結果的に生じるゼロ交差信号432の図を図示する。これは、スイッチ電流ID144、電流リミットしきい値ILIM402、ゼロ交差電流しきい値IZC404、スイッチングサイクルT2406からT8426、およびゼロ交差パルスTZ434を含む。図4Aは、電源100が不連続導通モードDCMで動作している時間に亘るスイッチ電流ID144の一般的な波形の一例を実証する。一般的に、スイッチングサイクルT2406からT8426の各々はスイッチング周期TS304を有する。本発明のいくつかの実施例では、スイッチング周期TS304は一定の時間の長さであり得る。本発明の他の実施例では、コントローラ138はスイッチング周期TS304の長さを変えてもよい。本発明のさらなる実施例では、スイッチング周期TS304およびしたがってスイッチング周波数fS、ここでおよび意図されるスイッチオン時間tON306はすべて1つのハーフラインサイクル202の間一定に維持される。本発明の実施例については、コントローラ138は、スイッチS1114のオン時間延長を利用して、ac入力電圧VAC102がいつゼロ電圧と交差したかを判定する。図4Aは、いくつかのスイッチングサイクルT2406からT8426に亘るスイッチ電流ID144の例を図示する。電流リミットしきい値ILIM402は、スイッチS1114について許される最大電流を定める。スイッチ電流ID144が電流リミットしきい値ILIM402に達すれば、スイッチS1114はスイッチングサイクルの残余の間オフする。スイッチ電流ID144がある時間量までにゼロ交差電流しきい値IZC404に達しない場合、図5に関してさらに論じられるように、可能なゼロ交差条件が存在し得る。Nは、コントローラ138がゼロ交差条件が確かに存在すると判定する前に可能なゼロ交差条件として検出する連続したスイッチングサイクルの数であり、ゼロ交差信号432は、非ゼロ交差条件を示す状態からゼロ交差条件を示す状態に変化することが認められるべきである。さらに、ゼロ交差信号432がゼロ交差条件が存在すると示している場合、コントローラはN個の連続スイッチングサイクル待機して、コントローラ138がゼロ交差信号432の状態を変化させる前にゼロ交差条件が存在しないと決定できるようにして非ゼロ交差条件を示す。コントローラ138はN個の連続したスイッチングサイクル待機して、ゼロ交差条件の誤った検出に繋がり得る如何なるノイズリンギングもなくし得る。たとえば、Nが図4Bに示されるように4に等しい場合、コントローラ138は、可能なゼロ交差条件が4個の連続したスイッチングサイクルの間起こると、ゼロ交差条件が存在すると判定する。別の例では、Nが図4Aに示されるように1に等しい場合、コントローラ138は、可能なゼロ交差条件の最初の事象でゼロ交差条件が存在すると判定する。Nの値は、部分的に電源100の入力での予測されるノイズ量により、選択され得る。Nの値が小さいほど、コントローラ138はゼロ交差条件が存在するか存在しないかをより迅速に判定するが、ゼロ交差条件の判定は電源100の入力におけるノイズの影響をより受けやすくなり得る。このように、ゼロ交差信号432はゼロ交差条件を誤って示したり、またはac入力電圧VAC102の非ゼロ交差条件を誤って示したりし得る。しかしながら、Nの値は、ゼロ交差条件が存在するとコントローラ138が検出できないほど大きくなってはならない。なぜなら、整流された電圧VRECT106はゼロ交差電圧しきい値VZC204よりも下に降下し、次にNの値に達する前にゼロ交差電圧しきい値VZC204よりも上に上昇しているからである。一実施例では、ゼロ交差信号432の論理ローの値はゼロ交差条件が存在しないことを示す一方で、ゼロ交差信号432の論理ハイの値はゼロ交差条件が存在することを示す。別の実施例では、ゼロ交差信号432の論理ハイの値はゼロ交差条件が存在しないことを示す一方で、ゼロ交差信号432の論理ローの値はゼロ交差信号が存在することを示す。図4Aに示される例について、Nは1に等しく、コントローラ138は、可能なゼロ交差条件の最初の事象でゼロ交差条件が存在すると判定し、同じスイッチングサイクルの間にゼロ交差信号432の状態を変化させる。図4Aの例では、ゼロ交差信号432は、スイッチS1114がオフし、スイッチ電流ID144がゼロ電流に降下すると、ゼロ交差条件を示す状態に変化する。スイッチングサイクルT2406、T1408、およびT0410で、スイッチ電流ID144はゼロ交差電流しきい値IZC404を超え、その結果コントローラ138は非ゼロ交差条件を検出する。図4Aの例については、ゼロ交差条件が存在しない場合、ゼロ交差信号432は論理ローの値である。しかしながら、スイッチングサイクルT1412で、スイッチ電流ID144は、ある時間量内でゼロ交差電流しきい値IZC404に達しない。Nは図4Aの例では1に等しいので、コントローラ138はac入力電圧VAC102についてゼロ交差条件が存在すると判定する。その結果、ゼロ交差信号432は、スイッチングサイクルT1412の間にゼロ交差条件を示す状態に変化する。スイッチングサイクルT2414からT6422の間、スイッチ電流ID144は依然としてゼロ交差電流しきい値IZC404に達せず、コントローラ138はac入力電圧VAC102のゼロ交差条件が存在し続けていると判定する。その結果、ゼロ交差信号432は論理ハイの値に留まる。スイッチングサイクルT7424で、スイッチ電流ID144はゼロ交差電流しきい値IZC404を超え、コントローラ138はゼロ交差条件が存在しないと判定する。Nは1に等しいので、ゼロ交差信号432はスイッチングサイクルT7424の間に論理ローの値に変化する。図4Aの例については、ゼロ交差信号432は、スイッチS1114がスイッチングサイクルT7424の間オフし、スイッチ電流ID144がゼロ電流に降下すると、非ゼロ交差条件を示す状態に変化する。図4Aに示されるように、ゼロ交差パルス幅TZ434は、ゼロ交差信号432がゼロ交差条件を示す時間の長さである。次に図4Bを参照して、例示的なスイッチ電流波形および結果的に生じるゼロ交差信号432の別の図を図示する。これは、スイッチ電流ID144、電流リミットしきい値ILIM402、ゼロ交差電流しきい値IZC404、スイッチングサイクルT0410からT10430、ゼロ交差パルス幅TZ434、および遅延時間tX436を含む。図4Bは、電源100がDCMで動作している時間に亘るスイッチ電流ID144の一般的な波形の一例を実証する。図4Bは図4Aに示されるのと同じスイッチ電流ID144も図示するが、図4BについてはNが4に等しく、また図4Bは、図4Aに示されるようなスイッチングサイクルT2からT8よりもむしろスイッチングサイクルT0からT10を示す。コントローラ138は、ゼロ交差条件が確かに存在すると判定し、ゼロ交差信号432がゼロ交差条件を示す状態に変化する前に、可能なゼロ交差条件の後の4個の連続したスイッチングサイクル待機する。さらに、ゼロ交差信号432がゼロ交差条件が存在すると示す場合、コントローラ138は、コントローラ138がゼロ交差信号432の状態を変化させて非ゼロ交差条件を示す前に、非ゼロ交差条件を有する4個の連続したスイッチングサイクル待機する。コントローラ138は、4個の連続したスイッチングサイクルの間待機して、いずれのノイズリンギングもなくし、かつゼロ交差条件が確かに存在することを確実にする。図4BはNが4に等しいと図示するが、Nはいずれの正の整数であってもよい。しかしながら、Nの値は、ゼロ交差条件が存在するとコントローラ138が検出できないほど大きくなってはならない。なぜなら、スイッチ電流ID144はゼロ交差電流しきい値IZC404よりも下に降下し、次にNの値に達する前にゼロ交差電流しきい値IZC404よりも上に上昇しているからである。スイッチングサイクルT0410で、スイッチ電流ID144はゼロ交差電流しきい値IZC404を超え、その結果、コントローラ138はゼロ交差条件が存在すると判定せず、ゼロ交差信号432は論理ローの値に留まる。スイッチングサイクルT1412の間、スイッチ電流ID144はある時間量内でゼロ交差電流しきい値IZC404に達せず、コントローラ138は可能なゼロ交差条件が存在すると判定するが、ゼロ交差信号432は依然として論理ローの値に留まる。なぜなら、コントローラ138はゼロ交差条件が存在すると判定する前に可能なゼロ交差条件の4個の連続したスイッチングサイクル待機するからである。図4Bの例から、スイッチ電流ID144も、スイッチングサイクルT2414からT4418のある時間量内でゼロ交差電流しきい値IZC404に達しない。スイッチングサイクルT4418は、可能なゼロ交差条件が存在する4番目の連続したスイッチングサイクルである。したがって、コントローラ138は、ゼロ交差条件がac入力電圧VAC102について確かに存在すると判定し、ゼロ交差信号432は、ゼロ交差条件が存在すると示す状態に変化する。図4Bに示される例については、ゼロ交差信号432は、論理ローの値から論理ハイの値に遷移する。しかしながら、ゼロ交差信号432は遅延時間tX436の終わりまで論理ハイの値に遷移しない。遅延時間tX436は、コントローラ138がゼロ交差条件が確かに存在すると判定するのと、コントローラ138がゼロ交差信号432を更新するのとの間の時間の長さを示す。一実施例では、ゼロ交差信号が更新する遅延時間tX436は、数Nを実現するのに用いられるフィルタによるものであり得る。さらなる実施例では、遅延時間tX436は次のスイッチングサイクルまでゼロ交差信号432の更新を遅延させ得る。図4Aに戻ると、遅延時間tX436は実質的に0に等しい。本発明の実施例については、ゼロの遅延時間tX436が好ましいであろう。しかしながら、ゼロの遅延時間tX436を含むコントローラ138の実施例は、付加的な回路構成図示せずを要件とし得る。このように、コントローラ138のいくつかの実施例は、コストおよび/または回路の複雑さを低減するため、非ゼロ遅延時間tX436を含み得る。スイッチングサイクルT5420およびT6422の間、スイッチ電流ID144は依然としてゼロ交差電流しきい値IZC404に達しておらず、コントローラはac入力電圧VAC102のゼロ交差条件が存在し続けていると判定し、ゼロ交差信号432は論理ハイの値に留まる。スイッチングサイクルT7424で、スイッチ電流ID144はac入力電圧VAC102のゼロ交差条件がもはや存在していない可能性があることを示すある期間内にゼロ交差電流しきい値IZC404を超えるが、コントローラ138は、ac入力電圧VAC102がもはやゼロ交差条件にないと判定する前に、スイッチ電流ID144がゼロ交差条件がもはや存在しない可能性があることを示す4個の連続したスイッチングサイクル待機する。スイッチングサイクルT8426からT10430の間、スイッチ電流IDはある期間内にゼロ交差電流しきい値IZC404を超える。スイッチングサイクルT10430は、ゼロ交差条件がもはや存在しない可能性がある4番目の連続したスイッチングサイクルであり、コントローラ138はゼロ交差条件が存在しないと判定する。その結果、ゼロ交差信号432は、ゼロ交差条件が存在しないと示す状態に変化する。しかしながら、ゼロ交差信号432は、遅延時間tX436の終わりまで論理ローの値に遷移しない。遅延時間tX436は、コントローラ138がゼロ交差条件が存在しないことを判定するのと、コントローラ138がゼロ交差信号432を更新するのとの間の時間の長さを示す。さらなる実施例では、遅延時間tX436は、次のスイッチングサイクルまでゼロ交差信号432の更新を遅延させ得る。図4Bに示されるように、ゼロ交差パルス幅TZ434は、ゼロ交差信号432がゼロ交差条件が存在することを示す時間の長さである。次に図5を参照して、例示的なスイッチ電流波形および結果として生じるゼロ交差信号532の別の図を図示する。これは、スイッチ電流ID144、ゼロ交差電流しきい値IZC504、ゼロ交差時間しきい値tZC506、スイッチングサイクルTM508からTM3514、およびゼロ交差パルス幅TZ534を含む。さらに、各々のスイッチングサイクルTM508からTM3514の間に、スイッチS1114のオン時間tONおよび延長されたオン時間tONXが存在する。一般的に、スイッチングサイクルTM508からTM3514の各々はスイッチング周期TS304を有する。本発明のいくつかの実施例では、スイッチング周期TS304は一定の時間の長さであり得る。本発明の他の実施例では、コントローラ138はスイッチング周期TS304の長さを変え得る。図5に示される例示的なゼロ交差信号532については、Nの値は2であり、遅延時間tXは実質的に0に等しい。本発明の一実施例では、コントローラ138は、スイッチS1114のオン時間延長を利用して、ac入力電圧VAC102についてゼロ交差条件が存在するかどうかを判定する。さらに論じられるように、コントローラ138は無損失集積ブリーダ回路としてスイッチS1114のオン時間延長も利用する。コントローラ138は、スイッチ電流ID144がゼロ交差時間しきい値tZC506内にゼロ交差電流しきい値IZC504に達しない場合にゼロ交差条件が存在すると判定する。スイッチ電流ID144がスイッチS1114の初期オン時間tONの間にゼロ交差電流しきい値IZC504に達しない場合、コントローラ138はゼロ交差電流しきい値IZC504に達するまでまたは延長されたオン時間tONXがゼロ交差時間しきい値tZC506に達するまで、オン時間tONを延長する。オン時間tONが延長される時間量は、延長されたオン時間tONXと称される。いくつかの実施例については、ゼロ交差時間しきい値tZC506は実質的に5μsに等しい。ゼロ交差時間しきい値tZC506の値を選択する際、ゼロ交差時間しきい値tZC506は最小の意図されるオン時間tONよりも長くあるべきであるが、スイッチング周期TS304よりも大幅に長くなってはならない。一般的に、コントローラ138は、ゼロ交差時間しきい値tZC506の値がより大きくなると、スイッチ電流ID144をより正確に検知し得る。スイッチングサイクルTM508で、スイッチ電流ID144は、スイッチS1114の初期オン時間tON内にゼロ交差電流しきい値IZC504に達しない。スイッチS1114をオフする代わりに、スイッチS1114はオンのままであり、スイッチのオン時間tONは、スイッチ電流ID144がゼロ交差電流しきい値IZC504に達するまたは全オン時間たとえばオン時間tONと延長されたオン時間tONXとの和がゼロ交差時間しきい値tZC506に達するまで、延長される。スイッチングサイクルTM508の間、オン時間tONは延長されたオン時間tONXだけ延長されるが、スイッチ電流ID144は、オン時間tONと延長されたオン時間tONXとの和がゼロ交差時間しきい値tZC506に達する前にゼロ交差電流しきい値IZC504に達する。その結果、スイッチS1114は、スイッチ電流ID144がゼロ交差電流しきい値IZC504に達しスイッチ電流ID144が実質的に0に降下するときにオフされる。コントローラ138はゼロ交差条件を検出せず、その結果、ゼロ交差信号532は非ゼロ交差条件を示す。スイッチングサイクルTM1510で、スイッチ電流ID144は初期オン時間tON内にゼロ交差電流しきい値IZC504に達せず、コントローラ138は延長されたオン時間tONXだけオン時間tONを延長する。図示されるように、スイッチ電流ID144は延長されたオン時間tONXの間にゼロ交差電流しきい値IZC504に達する。スイッチングサイクルTM508とは異なり、スイッチ電流ID144は、オン時間tONと延長されたオン時間tONXとの和がゼロ交差時間しきい値tZC506に実質的に等しくなったときにゼロ交差電流しきい値IZC504に達する。コントローラ138はゼロ交差条件を検出せず、ゼロ交差信号532は論理ローの値に留まる。スイッチングサイクルTM2512で、スイッチ電流ID144は初期オン時間tON内にゼロ交差電流しきい値IZC504に達せず、コントローラ138は延長されたオン時間tONXだけオン時間tONを延長する。以上で言及されたように、コントローラ138は、延長されたオン時間tONXがゼロ交差時間しきい値tZC506に達しかつスイッチ電流ID144がゼロ交差電流しきい値IZC504未満であるときに、スイッチS1114をオフする。図5に示される例では、スイッチ電流ID144は初期オン時間tON内にゼロ交差電流しきい値IZC504に達せず、コントローラ138はスイッチS1114のオン時間を延長する。オン時間tONは、スイッチ電流ID144がゼロ交差電流しきい値IZC504に達するまでまたは延長されたオン時間tONXがゼロ交差時間しきい値tZC506に達するまで延長される。スイッチングサイクルTM2512の間に、延長されたオン時間tONXは、スイッチ電流144がゼロ交差電流しきい値IZC504に達しないうちにゼロ交差時間しきい値tZC506に達する。その結果、コントローラ138は可能なゼロ交差条件が存在し得ると判定する。しかしながら、ゼロ交差信号532は状態を変化させない。なぜなら、コントローラ138は、ゼロ交差条件が存在すると判定する前に可能なゼロ交差条件の2つの連続するスイッチングサイクル待機するからである。スイッチングサイクルTM3514で、スイッチ電流ID144は初期オン時間tON内にゼロ交差電流しきい値IZC504に達せず、コントローラ138は延長されたオン時間tONXだけオン時間tONを延長する。スイッチングサイクルTM2512と同様に、スイッチ電流ID144は、延長されたオン時間tONXがゼロ交差時間しきい値tZC506に達する前にゼロ交差電流しきい値IZC504に達しない。このように、スイッチングサイクルTM3514は、可能なゼロ交差条件を有する2番目の連続したスイッチングサイクルである。その結果、コントローラ138はゼロ交差条件が存在すると判定し、ゼロ交差信号532は状態を変化させる。ゼロ交差電流しきい値IZC504およびゼロ交差時間しきい値tZC506は、ゼロ交差電圧しきい値VZC204に対応するように選択される。以上で言及されたように、コントローラ138は、スイッチ電流ID144がゼロ交差時間しきい値tZC506までにゼロ交差電流しきい値IZC504に達しないときにゼロ交差条件を検出する。ゼロ交差電流しきい値IZC504およびゼロ交差時間しきい値tZC506は、ゼロ交差条件が、ゼロ交差電圧しきい値VZC204を下回る、整流された電圧VRECT106の値に対応するように固定される。換言すると、ゼロ交差電流しきい値IZC504およびゼロ交差時間しきい値tZC506は、ゼロ交差条件が正のゼロ交差電圧しきい値VZC204と負のゼロ交差電圧しきい値VZC204との間に降下するac入力電圧VAC102の値、または数学的には-VZC<VACt<VZC、に対応するように固定される。スイッチS1114がオンであるときのスイッチS1114の電圧と電流との間の関係はとして表現され得る。式中、LPが1次巻線110のインダクタンスである。DCMで動作する電源100については、いずれのスイッチングサイクルの間のこの関係もとしてさらに表わされ得る。式中、IPEAKはスイッチ電流ID144のピーク値である。しかしながら、1つのスイッチングサイクルにおいては、VACの値は、オン時間tONが入力電圧VAC102の周期に対して小さいために一定であると考えられ得る。以上で言及されたように、ゼロ交差電流しきい値IZC504およびゼロ交差時間しきい値tZC506は固定され、スイッチS1114がDCMでオンであるときのスイッチS1114の電圧と電流との間の関係、または数学的にはを利用して、ゼロ交差電圧しきい値VZC204に対応するように選択され得る。スイッチS1114がオンである時間が長いほど、フィルタコンデンサCF120からより多くの電荷が除去される。このように、ゼロ交差時間しきい値tZC506を定めるようにコントローラ138が利用するオン時間延長により、オン時間延長なしのコントローラよりも、フィルタコンデンサCF120からより多くの電荷が除去され得る。その結果、フィルタコンデンサCF120の放電は、力率改善PFCによりコントローラ138を助け得る1次巻線110における電圧をプルダウンし、かつac入力電圧VAC102のゼロ交差を検出するのを助ける。以上言及されたように、従来のスイッチング電源においては、ブリーダ回路は、電源100のフィルタコンデンサCF120の放電を容易にし、かつエネルギ転送要素T1108の1次巻線110の電圧をプルダウンするのを助けるように設けられる。しかしながら、従来のブリーダ回路は典型的に集積回路コントローラの外部のものである。コントローラ138の集積回路146の外部の回路構成はスイッチモード電源に不要なコストを追加し得る。さらに、典型的なブリーダ回路すなわち抵抗器は熱の形態でエネルギを損失し、スイッチモード電源の効率を低下させてしまう。コントローラ138が利用するオン時間延長は電源100にコントローラ138と共に集積されるブリーダ回路を設ける。このように、オン時間延長ブロック904は本明細書中で、コントローラ138内部のすなわちその中に集積されるブリーダ回路と称され得る。さらに、オン時間延長によりより多くの電流が1次巻線を流れることが可能になるので、伝統的なブリーダによって損失されたであろうエネルギは電源100の出力に転送される。このように、コントローラ138が利用するオン時間延長は無損失ブリーダ回路として働く。さらに、スイッチング周期TS304およびしたがってスイッチング周波数fS、なおおよび意図されるスイッチオン時間tONが1つのハーフラインサイクル202の間一定であると、コントローラ138によるオン時間延長は適合的な放出bleedingも可能にする。なぜなら、延長されたオン時間tONXの値は変化し得るからである。以上言及されたように、DCMで動作する電源100については、スイッチS1114の電圧と電流との間の関係はと表わせ得る。意図されるスイッチオン時間tONが全ハーフラインサイクル202の間一定であれば、スイッチ電流のピーク値IPEAKはac入力電圧VAC102の値に依存する。このように、ac入力電圧VACの値が高いほど、スイッチ電流のピーク値IPEAKがゼロ交差電流しきい値IZC504を上回る見込みがより高くなる。さらに、ac入力電圧VAC102の値がより高いほど、スイッチ電流ID144がより迅速にゼロ交差電流しきい値IZC504に到達する。このように、コントローラ138は、オン時間延長によって与えられる放出の量がac入力電圧VAC102の値に適合するようにac入力電圧VAC102の値に応答して延長されたオン時間tONXの量を変化させることによって適合的な放出を提供し得る。次に図6を参照して、調光器回路608を利用する例示的なスイッチング電源の機能ブロック図を示す。これは、ac入力電圧VAC102、エネルギ転送要素T1108、エネルギ転送要素T1108の1次巻線110、エネルギ転送要素T1108の2次巻線112、スイッチS1114、入力帰還116、クランプ回路118、フィルタコンデンサCF120、コントローラ138、駆動信号140、電流検知入力信号142、およびスイッチ電流ID144を含む。さらに、スイッチング電源は、整流器604、整流された電圧VRECT606、調光器回路608、調光器出力電圧VDO610、および入力電流IIN612をさらに含む。図6に示されるスイッチング電源は、図1に示されるスイッチング電源100に調光器回路608が追加されたものと同様であることが認められるべきである。エネルギ転送要素T1108、エネルギ転送要素T1108の1次巻線110、エネルギ転送要素T1108の2次巻線112、スイッチS1114、入力帰還116、クランプ回路118、フィルタコンデンサCF120、コントローラ138、駆動信号140、電流検知入力信号142、およびスイッチ電流ID144は上述のように結合しかつ機能する。調光器回路608はac入力電圧VAC102に結合し、調光器出力電圧VDO610を生成する。調光器回路608は整流器604にさらに結合する。整流器604は調光器出力電圧VDO610を受け、整流された電圧VRECT606を出力する。図6に示されるように、整流器604はフィルタコンデンサCF120の両端に結合される。本発明のいくつかの実施例については、整流器604は図1に図示されるようなブリッジ整流器である。調光器回路608は、電源に結合された負荷126が発光ダイオードLEDアレイである場合に利用され、電源に送達される電力の量を制限し得る。その結果、LEDアレイである負荷に送達される電流が制限され、LEDアレイが薄暗くなる。一実施例では、調光器回路608は位相調光器回路である。別の実施例では、トライアック調光器回路が調光器回路608として利用され得る。トライアック調光器は、ac入力電圧VAC102がゼロ電圧と交差する際に、電源からac入力電圧VAC102を切り離す。所与の時間量の後、トライアック調光器は、電源にac入力電圧VAC102を再接続する。求められる調光量に依存して、トライアック調光器は、ac入力電圧VAC102が電源から切り離される時間量を制御する。一般的に、より多くの調光は、トライアック調光器がac入力電圧VAC102を切り離すより長い期間に対応する。トライアック調光器回路を利用するLEDの位相調光適用例について、トライアックは、最小保持電流がトライアック自体をオフしないようにすることを要件とする。本発明の実施例に従うと、コントローラ138は、トライアックを通る電流すなわちIIN612がトライアックの保持電流を下回らないことを確実にするのを助ける無損失集積ブリーダ回路としてスイッチS1114のオン時間延長を利用する。図7Aおよび図7Bは、整流された電圧VRECT606およびその後のゼロ交差信号の例を図示する。図7Aは、図6に示される整流された電圧VRECT606の例示的な波形を図示し、これは、ハーフラインサイクル702、ゼロ交差電圧しきい値704、ピーク電圧VP705、および部分706を含む。図7Bは、整流された電圧VRECT606の部分706および対応のゼロ交差信号708を図示する。ハーフラインサイクル702、ゼロ交差電圧しきい値VZC704、およびゼロ交差信号708は、図2Aおよび図2Bのハーフラインサイクル202、ゼロ交差電圧しきい値VZC204、およびゼロ交差信号208のさらなる例である。以上論じたように、ac入力電圧VAC102は、フルラインサイクルと称されるac入力電圧VAC102の周期の正弦波形である。数学的にはVACt=VPsin2πfLtである。式中、VP705はac入力電圧VAC102のピーク電圧であり、fLはライン入力電圧の周波数である。整流された電圧VRECT606は、ブリッジ整流器604および調光回路608の結果的な出力である。図7Aの例については、整流された電圧VRECT606の各々のハーフラインサイクル702の開始時の電圧レベルは、調光器回路608がac入力電圧VAC102を電源から切り離すときに対応するゼロに実質的に等しい。調光器回路608がac入力電圧VAC102を電源に再接続する際、整流された電圧VRECT606はac入力電圧VAC102の正の大きさに実質的に従う。または、数学的にはVRECT=|VDO|である。図2Aと同様に、いくつかの実施例については、ゼロ交差電圧しきい値VZC704は実質的に0に等しい。他の実施例については、ゼロ交差電圧しきい値VZC704は、整流された電圧VRECT606のピーク電圧VP705の実質的に5分の1である。一例では、整流された電圧VRECT606のピーク電圧VP705が125Vに実質的に等しい場合、ゼロ交差電圧しきい値VZC704は実質的に25Vに等しい。別の実施例では、ゼロ交差電圧しきい値VZC704は、整流された電圧VRECT606のピーク電圧VP705の実質的に4分の1である。ゼロ交差電圧しきい値VZC704の値がゼロ電圧に近づくにつれ、ゼロ交差信号708がより正確になることが認められるべきである。しかしながら、図2Aに関して以上論じたように、ゼロ交差電圧しきい値VZC704について非ゼロの値が選択されてもよい。図7Bは、整流された電圧VRECT606の部分706および対応のゼロ交差信号708を図示する。本発明の実施例は、スイッチS1114のオン時間延長を利用して、ゼロ交差信号708を生成する。整流された電圧VRECT606がゼロ交差電圧しきい値VZC704未満である場合、ゼロ交差信号708はゼロ交差条件が存在すると示す。ゼロ交差信号708は、論理ハイおよび論理ローのセクションを有する矩形パルス波形である。図7Bに図示される例については、整流された電圧VRECT606がゼロ交差電圧しきい値VZC704未満である場合、ゼロ交差信号708の値は論理ハイである。整流された電圧VRECT606がゼロ交差電圧しきい値VZC704よりも大きい場合、ゼロ交差信号708の値は論理ローである。本発明の実施例については、コントローラ138はスイッチS1114のオン時間延長を利用して、ac入力電圧VAC102のゼロ交差を判定する。図2Bについて以上で言及されたように、整流された電圧VRECT606がいつゼロ電圧に近いかを検出することは、ac入力電圧VAC102がいつゼロ電圧と交差するかを検出することに対応する。図7Bに示されるゼロ交差信号708と図2Bに示されるゼロ交差信号208とを比較すると、図7Bのゼロ交差パルスTZ710は、調光器回路608によるac入力電圧VAC102の切り離しのために、図2Bのゼロ交差パルスTZ210よりも長くなっている。以上で言及されたように、調光量は、調光器回路608が電源からac入力電圧VAC102を切り離す時間の長さに対応する。調光器回路608がac入力電圧VAC102を電源から切り離した状態に保つ時間が長いほど、整流された電圧VRECT606が実質的にゼロ電圧に等しい時間が長くなる。その結果、ゼロ交差パルスTZ710の長さは、調光器回路608が与える調光量に対応する。次に図8Aを参照して、整流された電圧VRECT801の別の例示的な波形を図示する。これは、ハーフラインサイクル802、ゼロ交差電圧しきい値VZC804、ピーク電圧VP805、および部分806を含む。図8Bは、整流された電圧VRECT801の部分806および対応のゼロ交差信号808を図示する。整流された電圧VRECT801の例示的な波形は、図7Aに示される整流された電圧VRECT606と同様である。図7Aの例では、整流された電圧VRECT606は、調光器回路608および整流器604を通過したac入力電圧VAC102の結果である。図6、図7Aおよび図7Bに関して言及したように、整流された電圧VRECT606は、すべてのハーフラインサイクル802の開始時にac入力電圧VAC102を切り離すトライアック調光器などの調光器回路608の結果である。しかしながら、図8Aおよび図8Bに図示される整流された電圧VRECT801は、すべてのハーフラインサイクル802の終わりにac入力電圧VAC102を切り離す調光器回路608の結果である。その結果、整流された電圧VRECT801は、ハーフラインサイクル802の終わりにゼロ電圧に実質的に等しくなる。ハーフラインサイクル802の開始時に、整流された電圧VRECT801は、調光器回路608が電源からac入力電圧VAC102を切り離すまで、ac入力電圧VAC102の正の大きさに実質的に従う。整流された電圧VRECT801の値は次に、次のハーフラインサイクルの開始時まで、実質的にゼロ電圧まで放電する。図8Bは整流された電圧VRECT801の部分806および対応のゼロ交差信号808を図示する。ac入力電圧VAC102は、スイッチ電流ID144を通して間接的に検知されてゼロ交差信号808を生成する。整流された電圧VRECT801がゼロ交差電圧しきい値VZC804未満である場合、ゼロ交差信号808はゼロ交差条件が存在すると示す。本発明の実施例については、コントローラ138はスイッチS1114のオン時間延長を利用して、ac入力電圧VAC102のゼロ交差を判定する。図8Bに示されるゼロ交差信号808と図2Bに示されるゼロ交差信号208とを比較すると、図8Bのゼロ交差パルスTZ810は、調光器回路608によるac入力電圧VAC102の切り離しにより、図2Bのゼロ交差パルスTZ210よりも長くなっている。図8Bに示されるゼロ交差信号808と図7Bに示されるゼロ交差信号708とを比較すると、図8Bのゼロ交差パルスTZ810は、図7Bに示されるようなハーフラインサイクル802の開始時ではなく、ハーフラインサイクル802の終わりに向けて生じる。次に図9Aを参照して、コントローラ938の機能ブロック図を図示する。これは、フィードバック信号UFB930、駆動信号940、電流検知信号942、駆動論理ブロック902、オン時間延長ブロック904、ゼロ交差検出器906、ゼロ交差信号908、およびゼロ交差時間しきい値パルスZCP924を含む。ゼロ交差検出器906は、クロック信号910、比較器914、参照信号916、ANDゲート917、S-Rラッチ918、フリップフロップ922、およびオプションのゼロ交差フィルタ926をさらに含む。コントローラ938、フィードバック信号UFB930、駆動信号940、および電流検知信号942は、図1および図6に図示されるコントローラ138、フィードバック信号UFB130、駆動信号140、および電流検知信号142の例である。さらに、ゼロ交差信号908は、図2、図4A、図4B、図7B、および図8Bに示されるゼロ交差信号の一例である。一例では、駆動論理ブロック902およびオン時間延長ブロック904は本明細書中では駆動信号生成器と総称され得る。駆動論理出力DLO950、ゼロ交差時間しきい値パルスZCP924、および比較器出力CO952という信号表記も図9Aおよび図9Bに示される。それぞれの信号の波形は図10に図示する。コントローラ938、フィードバック信号UFB930、駆動信号940、および電流検知信号942は上述のように結合しかつ機能する。コントローラ938内では、駆動論理ブロック902は、オン時間延長ブロック904およびゼロ交差検出器906に結合する。駆動論理ブロック902は電流検知信号942およびフィードバック信号UFB930を受け、オン時間延長ブロック904へ駆動論理出力DLO950を出力する。駆動論理ブロック902はゼロ交差検出器906にさらに結合し、ゼロ交差信号908を受ける。ゼロ交差検出器906は電流検知信号942に結合しかつこれを受ける。さらに説明されるように、ゼロ交差検出器906は電流検知信号942を受け、駆動論理ブロック902にゼロ交差信号908を出力する。駆動論理ブロック902はフィードバック信号UFB930、電流検知信号942およびゼロ交差信号908を利用して、駆動信号940の状態およびコントローラ938の状態に関する情報をオン時間延長ブロック904に与える駆動論理出力信号DLO950を生成する。オン時間延長ブロック904はゼロ交差検出器906にさらに結合し、本明細書中では比較器出力CO952すなわち前提条件信号と称される比較器914の出力を受ける。さらに、オン時間延長ブロック904はゼロ交差時間しきい値パルスZCP924を受ける。ゼロ交差時間しきい値パルスZCP924は、論理ハイおよび論理ローのセクションを有する矩形パルス波形である。論理ローのセクションの長さはゼロ交差時間しきい値tZC506に実質的に等しく、ゼロ交差時間しきい値パルスZCP924の連続した立下がりエッジ同士の間の時間の長さはスイッチング周期TSに実質的に等しい。オン時間延長ブロック904は、受けた駆動論理出力DLO950、ゼロ交差時間しきい値パルスZCP924および比較器出力CO952を利用して、駆動信号940を出力する。以上で言及されたように、駆動信号940は、電源のスイッチたとえば図1のスイッチS1114のスイッチングを制御するのに利用される。ゼロ交差検出器906のフリップフロップ922も駆動信号940を受ける。さらに、オン時間延長ブロック904は、図5に関して論じたオン時間延長を実現する。駆動論理ブロック902は、電流検知信号942からのスイッチ電流ID144に関する情報およびフィードバック信号UFB930からの出力量UOに関する情報を、ゼロ交差信号908とともに受ける。この情報を利用して、駆動論理ブロック902は、意図される駆動信号に関する情報を与えて、スイッチS1114のオンおよびオフを制御する。一例では、駆動論理ブロック902は電流検知信号942を利用して、いつスイッチ電流ID144が電流リミットしきい値ILIM402に達して、スイッチS1114をオフするかを判定し得る。オン時間延長ブロック904は、比較器出力CO952およびゼロ交差時間しきい値パルスZCP924とともに、駆動論理出力DLO950を受ける。さらに論じられるように、比較器出力CO952およびゼロ交差時間しきい値パルスZCP924の値に依存して、オン時間延長ブロック904は、駆動論理ブロック902が与える意図される駆動信号のオン時間を延長し得る。ゼロ交差検出器906は、電流検知信号942および参照信号916を受ける比較器914をさらに含む。図9Aの例では、比較器914は、比較器914の非反転入力で電流検知信号942を受け、比較器914の反転入力で参照信号916を受ける。このように、一実施例では、電流検知信号942が参照信号916未満であることおよびしたがって、比較器914の出力がローであることが電源のゼロ交差条件の前提条件の存在をすなわちゼロ交差条件が存在し得ると示す。電流検知信号942および参照信号916は電流信号または電圧信号であり得る。電流検知信号942はスイッチ電流ID144に関する情報を与える。電流検知信号942が電流信号である場合、参照信号916はゼロ交差電流しきい値IZC404であり得、比較器914は電流比較器である。以上で言及されたように、スイッチ電流ID144は、たとえば個別の抵抗器の両端の電圧またはトランジスタが導通しているときのトランジスタの両端の電圧などのさまざまな態様で検知され得る。それらの例については、電流検知信号942は電圧信号である。電流検知信号942が電圧信号である場合、参照信号916はゼロ交差電流しきい値IZC404に対応する参照電圧であり、比較器914は電圧比較器である。比較器914はANDゲート917およびオン時間延長ブロック904にさらに結合される。比較器914の出力はオン時間延長ブロック904によって受けられる。ANDゲート917はゼロ交差時間しきい値パルスZCP924を受けるようにも結合される。比較器出力CO952を受けるANDゲート917の入力に結合される丸印は、ANDゲート917が反転された比較器出力CO952を受けるように、比較器914とANDゲート917との間に反転器が結合されることを示す。たとえば、ANDゲート917の出力は、ゼロ交差時間しきい値パルスZCP924が論理ハイの値にありかつ比較器出力CO952が論理ローの値にある場合、論理ハイの値にある。S-Rラッチ918は、本明細書中ではS-Rラッチ918のR入力とも称されるリセット入力でANDゲート917の出力を受ける。さらに、S-Rラッチ918は、本明細書中ではS入力とも称されるセット入力でクロック信号910を受ける。クロック信号910はスイッチング周期TSに関する情報を与え、いくつかの実施例では、発振器図示せずから入来し得る。クロック信号910は、論理ハイおよび論理ローのセクションの長さが変化する矩形パルス信号である。クロック信号910の連続した立上がりエッジ同士の間の時間の長さがスイッチング周期TSに実質的に等しい。クロック信号910が一旦論理ハイの値のパルスを出力すると、クロック信号910は論理ローの値に素早く立下がる。このように、S-Rラッチ918はクロック信号910の立上がりエッジでセットされる。しかしながら、S-Rラッチ918は、ANDゲート917の出力が論理ハイの値にあるとリセットする。換言すると、電流検知信号942によって与えられるスイッチ電流ID144が参照信号916によって与えられるゼロ交差電流しきい値IZC404を超えていないことを比較器出力CO952が示すと、ラッチ918はリセットする。図9Aの例では、S-Rラッチ918の出力はQバー出力から取得される。このように、S-Rラッチ918がセットされると、S-Rラッチ918の出力は論理ローの値である。S-Rラッチ918がリセットされると、S-Rラッチの出力は論理ハイの値である。フリップフロップ922はS-Rラッチ918に結合し、S-Rラッチ918の出力を受ける。一実施例では、フリップフロップ922はDフリップフロップである。フリップフロップ922はD入力でラッチ918の出力を受ける。さらに、フリップフロップ922はクロック入力で駆動信号940を受ける。駆動信号940は、論理ハイおよび論理ローのセクションの長さが変化する矩形パルス波形である。一実施例では、閉じているすなわちオンのスイッチS1114は駆動信号940の論理ハイの値に対応する一方で、開いているすなわちオフのスイッチS1114は駆動信号940の論理ローの値に対応する。フリップフロップ922のクロック入力に結合された丸印は、フリップフロップ922が駆動信号940の立下がりエッジで更新することを示す。換言すると、フリップフロップ922の出力は、スイッチS1114がオフするときに更新する。フリップフロップ922はゼロ交差フィルタ926にさらに結合される。図示されるように、ゼロ交差フィルタ926はフリップフロップ922の出力を受け、ゼロ交差信号908を出力する。フリップフロップ922の出力はゼロ交差信号908に実質的に等しいが、ゼロ交差フィルタ926は、フリップフロップ922の出力のノイズを低減するように結合される。さらに、ゼロ交差フィルタ926は、N個の連続したスイッチングサイクルが可能なゼロ交差条件を有していなければゼロ交差条件が存在するとゼロ交差信号908が示さないようにして、以上で論じたように数Nを実現する。しかしながら、Nが1に等しい場合は、ゼロ交差フィルタ926はゼロ交差検出器906から省略されてもよい。スイッチング周期TSの開始時に電流検知信号942は参照信号916未満であり、したがって比較器914の出力は論理ローである。換言すると、スイッチング周期TSの開始時に、スイッチ電流ID144はゼロ交差電流しきい値IZC404未満である。以上で言及したように、一実施例では、ゼロ交差電流しきい値IZC404は非ゼロの値であり、その結果、比較器914は、ac入力電圧VAC102のゼロ交差の前に前提条件信号すなわち比較器出力952を出力する。クロック信号910は、スイッチング周期TSの開始時に論理ハイの値のパルスを出力し、S-Rラッチ918の出力は論理ローの値にセットされる。クロック信号910は迅速に論理ローの値のパルスを出力し、S-Rラッチ918は以前の値を保持する。この例については、S-Rラッチ918は論理ローの値を保持する。フリップフロップ922はスイッチS1114が開くすなわちオフになると更新する。換言すると、フリップフロップ922は、フリップフロップ922の出力を更新して、駆動信号940の立下がりエッジでフリップフロップ922のD入力を反映する。一般的に、Dフリップフロップはクロック入力の立上がりエッジで更新する。しかしながら、フリップフロップ922のクロック入力における丸印が反転器を示す場合、フリップフロップ922は駆動信号940の立下がりエッジで更新する。電流検知信号942によって与えられるスイッチ電流ID144が、ゼロ交差時間しきい値パルスZCP924によって与えられるゼロ交差時間しきい値TM3に達する前にまたは換言すると、ゼロ交差時間しきい値パルスZCP924が論理ハイの値に遷移する前に参照信号916によって与えられるゼロ交差電流しきい値IZC404を超えなければゼロ交差条件が検出され、ANDゲート917の出力は論理ハイの値である。ANDゲート917の論理ハイの出力はS-Rラッチ918をリセットし、S-Rラッチ918の出力は論理ハイの値である。駆動信号940の立下がりエッジでフリップフロップ922が更新し、フリップフロップ922の出力はS-Rラッチ918の論理ハイの出力を転送する。一例では、フリップフロップ922の出力はゼロ交差フィルタ926によってフィルタリングされ、結果的に得られるゼロ交差信号908は論理ハイの値である。一実施例では、ゼロ交差フィルタ926の出力は、図4Bに関して論じられたように、遅延時間tX436の後で更新される。別の実施例では、ゼロ交差フィルタ926の出力は次のスイッチングサイクルで更新される。さらに、ゼロ交差フィルタ926は、ゼロ交差検出器906がゼロ交差条件が存在すると決定する前に可能なゼロ交差条件を有するN個の連続したスイッチングサイクルを実現してもよい。一例では、ゼロ交差フィルタ926は、フリップフロップ922の出力が論理ハイの値である連続したスイッチングサイクルの数を数える論理回路を含んでもよい。このように、ゼロ交差フィルタ926は、図4Bを参照して上述されたように、N回の可能なゼロ交差条件が生じた後でのみゼロ交差条件の存在を示すゼロ交差信号908を出力してもよい。一例では、ゼロ交差フィルタ926はフリップフロップおよびマルチプレクサを利用して数Nを実現してもよい。別の例では、ゼロ交差フィルタ926はカウンタを利用して数Nを実現してもよい。いくつかの例では、図4Bに関して論じられた遅延時間tX436は、ゼロ交差フィルタ926に利用される構成要素によるものであってもよい。本発明の実施例については、ゼロの遅延時間tX436が好ましいであろう。しかしながら、ゼロの遅延時間tX436を含むコントローラ138の実施例は付加的な回路構成を要件とし得る。このように、コントローラ138のいくつかの実施例は、コストおよび/または回路の複雑さを低減するために、非ゼロ遅延時間tX436を含んでもよい。電流検知信号942によって与えられるスイッチ電流ID144が、ゼロ交差時間しきい値パルスZCP924によって与えられるゼロ交差時間しきい値tZCに達する前にまたは換言すると、ゼロ交差時間しきい値パルスZCP924が論理ハイの値に遷移する前に参照信号916によって与えられるゼロ交差電流しきい値IZC404を超えるとゼロ交差条件が検出されず、ANDゲート917の出力は論理ローの値である。S-Rラッチ918はリセットされず、S-Rラッチ918の論理ローの値は駆動信号940の立下がりエッジでフリップフロップ922の出力に転送される。一例では、フリップフロップ922の出力はゼロ交差フィルタ926によってフィルタリングされ、結果的に得られるゼロ交差信号908は論理ローの値にある。一例では、ゼロ交差フィルタ926は、図4Bに関して論じられたように、遅延時間tX436の後にその出力を更新する。別の例では、ゼロ交差フィルタ926の出力は次のスイッチングサイクルで更新される。さらに、ゼロ交差フィルタ926は、ゼロ交差検出器906がゼロ交差条件がもはや存在しないと決定する前に非ゼロ交差条件を有するN個の連続したスイッチングサイクルを実現してもよい。たとえば、ゼロ交差フィルタ926は、フリップフロップ922の出力が論理ローの値である連続したスイッチングサイクルの数を数える論理回路を含んでもよい。このように、一例では、ゼロ交差フィルタ926は、図4Bを参照して上述されたように、非ゼロ交差条件を有するN個のスイッチングサイクルの後でのみ、ゼロ交差条件がもはや存在しないことを示すゼロ交差信号908を出力してもよい。次に図9Bを参照して、オン時間延長ブロック904のブロック図を図示する。これは、ゼロ交差時間しきい値パルスZCP924、駆動信号940、駆動論理出力DLO950、比較器出力CO952、オプションの単安定マルチバイブレータ954、反転器964、S-Rラッチ958、ORゲート960、立下がりエッジ遅延961、およびANDゲート968を含む。さらに、図9Bは、信号表記A962、B970、C956、および反転された駆動論理出力を図示する。それぞれの信号の波形は図10に図示する。ゼロ交差時間しきい値パルスZCP924、駆動信号940、駆動論理出力DLO950、および比較器出力CO952は上述のように結合しかつ機能する。さらに、オン時間延長ブロック904は、任意的に、駆動論理出力DLO950に結合しかつこれを受ける単安定マルチバイブレータ954を含んでもよい。上述のように、駆動論理出力DLO950は、コントローラの状態に関する情報および意図される駆動信号をオン時間延長ブロック904に与える。駆動論理出力DLO950は、論理ハイおよび論理ローのセクションの長さが変化する矩形パルス波形であり、連続した立上がりエッジ同士の間の時間の長さがスイッチング周期TSに実質的に等しい。単安定マルチバイブレータ954は駆動論理出力DLO950を受け、駆動論理出力DLO950の毎立上がりエッジにパルスを生成する。単安定マルチバイブレータ954の出力は信号C956と表記され、その例示的な波形が波形C1056として図10に図示される。単安定マルチバイブレータ954はS-Rラッチ958に結合する。図9Bに示される例については、単安定マルチバイブレータ954はS-Rラッチ958のS入力に結合する。S-Rラッチ958は、S入力で単安定マルチバイブレータ954の出力である信号C956を受ける。別の実施例では、信号C956は発振器図示せずによって生成されてもよい。さらに、オン時間延長ブロック904は比較器出力952およびゼロ交差時間しきい値パルスZCP924に結合する。遅延時間tDだけ比較器出力952の立下がりエッジを遅延させる立下がりエッジ遅延961が比較器出力952を受ける。立下がりエッジ遅延961はORゲート960にさらに結合し、ORゲート960の一方の入力で信号COと表記される立下がりエッジ遅延961の出力を受ける。ORゲート960の他方の入力はゼロ交差時間しきい値パルスZCP924を受ける。ORゲート960はANDゲート968にさらに結合し、ANDゲート968の一方の入力が信号A962と表記されるORゲート960の出力を受ける。さらに、ANDゲート968も反転器964に結合する。反転器964は駆動論理出力DLO950に結合しかつこれを受ける。反転された駆動論理出力が反転器964から出力され、ANDゲート968がこれを受ける。ANDゲート968はS-Rラッチ958のR入力にさらに結合する。S-Rラッチ958のR入力で信号B970と表記されるANDゲート968の出力を受ける。S-Rラッチ958はS入力およびR入力での値を利用して駆動信号940を出力する。図9Bに示されるように、比較器出力CO952が、スイッチ電流ID144がゼロ交差電流しきい値IZC未満であると示す場合、ORゲート960の出力は、ANDゲート968がS-Rラッチ958をリセットしないようにし得る。換言すると、比較器出力CO952が、スイッチ電流ID144がゼロ交差電流しきい値IZC未満であると示す場合、ORゲート960の出力は、S-Rラッチ958が論理ローの値を出力しないようにし、こうしてスイッチS1114のオン時間を延長し得る。図10にさらに図示されるように、ORゲート960の出力はS-Rラッチ958がリセットしないようにし、こうして比較器出力CO952が、スイッチ電流ID144がゼロ交差電流しきい値IZCに達したと示すか、またはゼロ交差時間電流しきい値ZCP924がゼロ交差時間しきい値tZCに達したと示すまで、スイッチS1114のオン時間を延長する。しかしながら、スイッチ電流ID144が、駆動論理出力DLO950が与える初期スイッチオン時間の間にゼロ交差電流しきい値IZCを超えれば、または換言すると駆動論理出力DLO950が論理ハイの値にある場合、S-Rラッチ958は駆動論理出力DLO950の立下がりエッジでリセットする。なぜなら、駆動論理出力DLO950は、意図される駆動信号に関する情報を与え、ANDゲート968の出力は、その入力の両者ともが同時に論理ハイになるとS-Rラッチ958のリセットのみを行なうからである。図9Aおよび図9Bに関して論じた信号のさまざまな波形を図10に図示する。次に図10を参照して、図9Aおよび図9Bに対応するさまざまな波形を図示する。図10は、コントローラ938およびゼロ交差検出のためのオン時間延長を実現するオン時間延長ブロック904のさまざまな波形同士の間の差を図示する。例示的な波形ID1044、DLO1050、、CO1052、ZCP1024、A1062、B1070、C1056、および駆動信号1040は、スイッチ電流ID144、駆動論理出力DLO950、反転器駆動論理出力、立下がりエッジ遅延比較器出力CO、ゼロ交差時間電流しきい値ZCP924、ならびに信号表記A962、B970、C956、および駆動信号940に対応する。さらに、図10は、スイッチングサイクル1002、1004、および1006を図示する。図示されるように、各々のスイッチングサイクルはスイッチング周期TSを有する。図10に示される例については、すべてのスイッチングサイクルの開始時に、駆動論理出力DLO1050は論理ハイの値にある。さらに、スイッチ電流ID1044がゼロ交差電流しきい値IZC未満であるため、比較器出力CO1052は論理ローの値にある。ゼロ交差時間しきい値パルスZCP1024は、すべてのスイッチングサイクルの開始時に論理ローの値にある。ORゲート960の出力である波形A1062は論理ローの値にある。ANDゲート968は波形A1062の論理ローの値および現在は論理ローの値にある反転された駆動論理出力を受け、その結果、波形B1070はすべてのスイッチングサイクルの開始時に論理ローの値である。単安定マルチバイブレータ954は駆動論理出力DLO1050を受け、波形C1056で示される論理ハイのパルスを出力する。すべてのスイッチングサイクルの開始時に波形C1056は論理ハイの値にある一方で、波形B1070は論理ローの値にある。その結果、S-Rラッチ958は論理ハイの値にある駆動信号1040を出力し、スイッチS1114がオンし、スイッチ電流ID1044が増加し始める。波形C1056は論理ローの値に迅速に立下がり、S-Rラッチ958は以前の値を保持する。すべてのスイッチングサイクルの開始時に、S-Rラッチ958は論理ハイの値を保持し、スイッチS1114はオンのままである。しかしながら、S-Rラッチ958は論理ローの値を出力し、したがってR入力の波形B1070が論理ハイの値のパルスを出力するとスイッチS1114をオフする。波形B1070が論理ハイの値のパルスを出力するさまざまな条件を以下にさらに論じる。スイッチングサイクル1002で、スイッチ電流ID1044は、駆動論理出力DLO1050が与える初期オン時間tONの間にゼロ交差電流しきい値IZCを超える。または換言すると、スイッチ電流ID1044は、駆動論理出力DLO1050の立下がりエッジの前にゼロ交差電流しきい値IZCを超える。スイッチ電流ID1044がゼロ交差電流しきい値IZCを超えると、比較器出力CO1052は論理ハイの値に遷移する。スイッチングサイクル1002の間、比較器出力CO1052が論理ハイの値に遷移しても波形ZCP1024は依然として論理ローの値にあり、その結果、波形A1062は論理ハイの値に遷移する。例示的なスイッチングサイクル1002について、波形B1070は、駆動論理出力DLO1050が論理ローの値に遷移すると論理ハイの値のパルスを出力する。なぜなら、ANDゲート968は、反転器964のために、反転された駆動論理出力を受けるからである。換言すると、波形B1070は、反転された駆動論理出力が論理ハイの値に遷移すると論理ハイの値に遷移する。駆動論理出力DLO1050の立下がりエッジで、波形Bは論理ハイの値に遷移し、S-Rラッチ958はリセットされ、駆動信号1040は論理ローの値に立下がる。このように、スイッチS1114はオフし、スイッチ電流ID1044は実質的に0に降下する。スイッチ電流ID1044がゼロ交差電流しきい値IZCを下回ると、比較器出力CO1052は論理ローの値に立ち下がる。しかしながら、比較器出力CO1052の立下がりエッジは、立下がりエッジ遅延961により遅延時間tDだけ遅延される。スイッチングサイクル1004で、スイッチ電流ID1044は、駆動論理出力DLO1050が与える初期オン時間tONの間にゼロ交差電流しきい値IZCを超えず、コントローラはスイッチS1114のオン時間を延長する。または換言すると、スイッチ電流ID1044は、駆動論理出力DLO1050の立下がりエッジの前にゼロ交差電流しきい値IZCを超えず、比較器出力CO1052は論理ローの値に留まる。図10に図示されるように、延長されたオン時間tONXは、駆動論理出力DLO1050の立下がりエッジと、スイッチS1114がオフするときとの間の時間の長さである。換言すると、延長されたオン時間tONXは、駆動論理出力DLO1050の立下がりエッジと、駆動信号1040の立下がりエッジとの間の時間の長さである。さらに、スイッチ電流ID1044は、ゼロ交差時間しきい値パルスZCP1024の立上がりエッジの前にゼロ交差電流しきい値IZCを確かに超える。スイッチ電流ID1044がゼロ交差電流しきい値IZCを超えると、比較器出力CO1052は論理ハイの値のパルスを出力し、ORゲート960は論理ハイの値に遷移する波形A1062として図10に図示される論理ハイの値を出力する。ANDゲート968の一方の入力は波形A1062からの論理ハイの値を受け、ANDゲート968の他方の入力は反転された駆動論理出力からの論理ハイの値を受ける。その結果、波形B1070は論理ハイの値に遷移し、ラッチ958をリセットする。駆動信号1040は論理ローの値に立下がり、スイッチS1114をオフし、スイッチ電流ID1044は実質的に0に降下する。スイッチ電流ID1044がゼロ交差電流しきい値IZCを下回ると、比較器出力CO1052は論理ローの値に立下がる。しかしながら、比較器出力CO1052の立下がりエッジは、立下がりエッジ遅延961により、遅延時間tDだけ遅延される。スイッチングサイクル1006で、スイッチ電流ID1044は、駆動論理出力DLO1050が与える初期オン時間tONの間にゼロ交差電流しきい値IZCを超えず、コントローラはスイッチS1114のオン時間を延長する。さらに、スイッチ電流ID1044は、ゼロ交差時間しきい値パルスZCP1024の立上がりエッジの前にゼロ交差電流しきい値IZCを超えない。示されるように、延長されたオン時間tONXは、駆動論理出力DLO1050の立下がりエッジとスイッチS1114がオフするときとの間の時間の長さである。比較器出力CO1052はスイッチングサイクル1006全体の間論理ローの値に留まる。したがって、波形Aはゼロ交差時間しきい値パルスZCP1024の立上がりエッジで論理ハイの値に遷移する。波形ZCP1024が論理ハイの値に遷移すると、波形B1070は論理ハイの値に遷移し、次にS-Rラッチ958がリセットし、駆動信号1040が論理ローの値に立下がり、スイッチS1114をオフし、スイッチ電流ID1044が実質的に0に降下する。本明細書中に開示された発明が、その具体的な実施例、例および適用例によって説明されたが、請求項に述べた発明の範囲から逸脱することなく、当業者によって本発明に対して数多くの修正および変形がなされ得る。