LED在便攜設備中一般用于顯示電源狀態、電池狀態,或藍牙連接的活動。LED可以是決定電池壽命的主要因素,因為它們的亮度與功耗成正比。采用一種簡單的電路,Altera公司的MAX IIZ CPLD可以測量其所處環境的模擬光照水平,然后以一個成比例的模擬強度水平驅動一只LED發光。一只LED和偏置電阻可以同時完成測光與發光。圖1中的電路只需要45只邏輯元件,而CPLD的編程能力使之能夠快速調節電路參數,以適應任何LED的特性。 圖1,這款簡單的MAX IIZ電路用一只LED作發光器和傳感器。 通過增加閃光周期、減少閃爍脈沖寬度,或降低光強,還可以節省一個閃爍LED的功耗。根據環境光來控制LED的亮度,將LED的能耗降低47% 以上,而不影響其外觀。圖1的電路采用Altera EMP240ZM100C7N CPLD、LED、電阻和時鐘源,使LED按與環境光成正比的強度作閃爍。電路包含一個驅動LED的PWM(脈寬調制器)、一個光強測量塊、以及一個控制狀態機和定時器。 狀態機包括一個熱態,由一個初始為二進制00000001的8 bit移位寄存器構成。12位計數器Count 12的進位生成一個8Hz的使能信號,給狀態機Shift8。因此,狀態機八個狀態中,每一個都持續有效125 ms。在復位態State 0時,PWM Count4與光測量塊Count 8被復位。State 1是光強測量態,它使能一個頻率計數器Count 8。Count 8被使能125 ms,計算離開光傳感器的循環。電路探測光是通過偏置LED和限流電阻,使LED的負極端為邏輯1。正極連接到一個張弛振蕩器,使正極開始時為邏輯0。 LED根據照射到LED上的光線量,成比例地拉高正極。反偏的LED作為一個太陽電池芯,輸出電流與光強成正比。一旦慢速上升的正極信號達到輸入緩沖的閾值,則Pin 1信號變為零,D觸發器DFF翻轉為零,將正極信號驅動至零,使Pin 1腳為邏輯1,并在下個時鐘周期上使輸入緩沖為三態,使正極信號再次上升。 振蕩器1的頻率與光強成正比,亮光下的典型頻率約2000 Hz。振蕩器1的信號驅動Count 8的時鐘。Count 8在State 0復位,然后在State 1 使能125 ms。在亮光下,Count 8可以在測量結束時計數到250,而在弱光下,它可能只計數到16。計數器的COUT信號反饋給使能端,計數為255時飽和,防止過強的光使計數器反轉回零,從而導致虛假測量。 State 2是LED的閃爍態。這個狀態以PWM控制亮度,使LED閃爍125 ms。在State 2時,負極和正極腳均偏置為發光模式。發光模式將正極信號強拉至VCC。負極連接至PWM的輸出。負極上的邏輯0使LED發光,而邏輯1則使之熄滅。負極信號是PWM輸出的反相形式。 在本例中,PWM為4位分辨率,但也可以使用更多的位或更少的位。PWM包括二進制計數器Count 4和一個二進制4位加法器。Count 4計數器在State 2使能,而循環輸出連接到4位加法器的A輸入。加法器的B輸入端連接到光傳感器頻率計數器的四個MSB(最高有效位)上。加法器的進位輸出是PWM輸出。加法器的進位輸入是一個恒定的邏輯1。 下面舉例說明PWM的工作方法: 當Count 4為0~14時,來自亮度測量的邏輯0都在進位端得到一個邏輯0,而當Count 4為15時則是邏輯1。這種6.25%的占空比是一個極低亮度水平。 當Count 4為0~7時,亮度測量值7可在進位端得到一個邏輯0,而當Count 4為8~15時則是邏輯1。這種50%的占空比是一個中等亮度水平。 對任何Count 4值,亮度測量15在進位端都得不到邏輯0,而當Count 4為0~15時,均為邏輯1。這種100%的占空比是一個滿亮度水平。 State 3~7的唯一功能是等待下一個LED閃爍周期。你可以增加或刪除狀態,修改閃爍的速率。 |