電容式感應(yīng)與LED照明相結(jié)合的設(shè)計(jì)方案(二)
我們在第一部分中通過實(shí)際使用案例介紹了電容式感應(yīng)型UI應(yīng)用中所采用的不同LED照明技術(shù)。下面我們將了解一下實(shí)現(xiàn)脈沖寬度調(diào)制(PWM,面向LED控制應(yīng)用的關(guān)鍵技術(shù))的各種不同方法。
本文引用地址:http://m.butianyuan.cn/article/201612/325864.htmPWM有兩大屬性:
頻率:用PWM信號快速開關(guān)LED,由于開關(guān)頻率會(huì)產(chǎn)生LED閃爍,因此PWM頻率應(yīng)大于100 Hz,確保人眼不會(huì)感覺到閃爍。
占空比:PWM通過改變占空比、保持負(fù)載電流恒定以控制LED的亮度。LED的平均電流取決于占空比。平均電流會(huì)隨占空比的提升而升高,進(jìn)而提高亮度。占空比在0%和100%之間的步長數(shù)量應(yīng)滿足應(yīng)用中需要調(diào)節(jié)的不同亮度級數(shù)量要求。舉例來說,如果應(yīng)用在完全關(guān)閉(0%)到完全開啟(100%)之間需要20個(gè)亮度級,那么就應(yīng)支持5%的步長(除完全關(guān)閉之外包含20個(gè)步長)。
用微控制器實(shí)現(xiàn)PWM有兩種方法。我們可用簡單的定時(shí)器/計(jì)數(shù)器在固件中實(shí)現(xiàn)整個(gè)PWM邏輯,也可以選擇集成硬件PWM功能的高級控制器來實(shí)現(xiàn)。
基于固件的PWM實(shí)現(xiàn)方案
簡單的固件實(shí)現(xiàn)方案需要定時(shí)器和中斷服務(wù)子程序(ISR)。定時(shí)器在與占空比每個(gè)步長大小的相同時(shí)間內(nèi)創(chuàng)造中斷。舉例來說,如果PWM周期為10ms(100Hz)而步長大小為1ms(10%的占空比),那么定時(shí)器就要每1ms對CPU發(fā)出中斷,即:定時(shí)器周期 = 脈沖寬度/步長大小。
圖1給出了ISR中的邏輯。PULSE_WIDTH和ON_TIME代表PWM步長數(shù)量的脈沖寬度和開啟時(shí)間。舉例來說,PULSE_WIDTH = 5即滿足5個(gè)亮度級的要求,而ON_TIME = 2則滿足40%的占空比要求。ISR變量isrVar控制輸出何時(shí)切換開/關(guān)。該邏輯可方便地進(jìn)行擴(kuò)展,從而支持多個(gè)LED引腳,而每個(gè)LED都有不同的占空比。
圖1:固件PWM ISR邏輯
基于硬件的PWM實(shí)現(xiàn)方案
高級控制器有驅(qū)動(dòng)PWM的專用硬件塊。舉例來說,賽普拉斯的PSoC4有一個(gè)TCPWM硬件塊,能實(shí)現(xiàn)基于硬件的PWM驅(qū)動(dòng)。通常說來,我們用帶有比較功能的定時(shí)器來實(shí)現(xiàn)它,邏輯類似于上面討論的固件邏輯。定時(shí)器將采用比較寄存器和周期寄存器。周期寄存器載入的值等于脈沖寬度,而比較寄存器載入的值等于開啟時(shí)間。只要比較值大于tick值,定時(shí)器輸出就會(huì)走高,反之就會(huì)走低。此外,tick值達(dá)到最大(16位定時(shí)器為65535)時(shí),會(huì)自動(dòng)回滾為零。當(dāng)輸出布線到端口引腳,從而能用硬件塊直接驅(qū)動(dòng)LED。
表1總結(jié)了基于固件和基于硬件的PWM實(shí)現(xiàn)方案之間的差別。
表1:基于固件和基于硬件的PWM實(shí)現(xiàn)方案
我們在本部分分析了實(shí)現(xiàn)PWM的不同方法。在第三部分中,我們將探討設(shè)計(jì)具有電容式感應(yīng)和LED照明的系統(tǒng)時(shí)所遇到的常見挑戰(zhàn),以及應(yīng)對方法。
評論