高效提升控制效率 | 基于ACM32 MCU的(de)LED燈箱(xiang)控制器方案
前言
LED燈(deng)箱上各種文字、圖(tu)案有序跳躍、交替輝(hui)映,產生強烈的視(shi)覺沖(chong)擊力(li),被(bei)廣泛(fan)應用于商(shang)場、美(mei)容(rong)美(mei)發、賓館、娛樂場所等地(di)方(fang)。
鎖存器的工作原理
在LED和數碼管顯(xian)示方面,要維持(chi)一個數據的(de)(de)(de)顯(xian)示,往(wang)往(wang)要持(chi)續(xu)的(de)(de)(de)快(kuai)速的(de)(de)(de)刷(shua)新(xin)。尤其是(shi)在四段八位(wei)數碼管等這(zhe)些要選通的(de)(de)(de)顯(xian)示設備上。在人類能(neng)夠(gou)接受的(de)(de)(de)刷(shua)新(xin)頻率(lv)之內,大(da)概每三十毫秒就要刷(shua)新(xin)一次。這(zhe)就大(da)大(da)占用了(le)(le)處(chu)(chu)理(li)(li)(li)器的(de)(de)(de)處(chu)(chu)理(li)(li)(li)時間,消耗了(le)(le)處(chu)(chu)理(li)(li)(li)器的(de)(de)(de)處(chu)(chu)理(li)(li)(li)能(neng)力,還浪費了(le)(le)處(chu)(chu)理(li)(li)(li)器的(de)(de)(de)功(gong)耗。
鎖(suo)(suo)存(cun)器(qi)的(de)(de)(de)(de)(de)使用可(ke)以(yi)大(da)大(da)的(de)(de)(de)(de)(de)緩解處(chu)(chu)(chu)(chu)(chu)理(li)(li)器(qi)在這方(fang)面(mian)的(de)(de)(de)(de)(de)壓力(li)。當處(chu)(chu)(chu)(chu)(chu)理(li)(li)器(qi)把數(shu)據(ju)傳輸到鎖(suo)(suo)存(cun)器(qi)并將其(qi)鎖(suo)(suo)存(cun)后(hou),鎖(suo)(suo)存(cun)器(qi)的(de)(de)(de)(de)(de)輸出(chu)引腳便(bian)會一直(zhi)保持數(shu)據(ju)狀態直(zhi)到下一次鎖(suo)(suo)存(cun)新的(de)(de)(de)(de)(de)數(shu)據(ju)為止。這樣在數(shu)碼管的(de)(de)(de)(de)(de)顯示(shi)內容不變之前,處(chu)(chu)(chu)(chu)(chu)理(li)(li)器(qi)的(de)(de)(de)(de)(de)處(chu)(chu)(chu)(chu)(chu)理(li)(li)時(shi)間(jian)和IO引腳便(bian)可(ke)以(yi)釋放。可(ke)以(yi)看出(chu),處(chu)(chu)(chu)(chu)(chu)理(li)(li)器(qi)處(chu)(chu)(chu)(chu)(chu)理(li)(li)的(de)(de)(de)(de)(de)時(shi)間(jian)僅限(xian)于顯示(shi)內容發生變化(hua)的(de)(de)(de)(de)(de)時(shi)候,這在整個顯示(shi)時(shi)間(jian)上只是非常少的(de)(de)(de)(de)(de)一個部分。而處(chu)(chu)(chu)(chu)(chu)理(li)(li)器(qi)在處(chu)(chu)(chu)(chu)(chu)理(li)(li)完(wan)后(hou)可(ke)以(yi)有更(geng)多的(de)(de)(de)(de)(de)時(shi)間(jian)來執行其(qi)他(ta)的(de)(de)(de)(de)(de)任務。這就是鎖(suo)(suo)存(cun)器(qi)在LED和數(shu)碼管顯示(shi)方(fang)面(mian)的(de)(de)(de)(de)(de)作(zuo)用:節(jie)省了(le)寶貴(gui)的(de)(de)(de)(de)(de)MCU時(shi)間(jian)。
LED單(dan)(dan)元(yuan)(yuan)(yuan)板(ban)的(de)(de)(de)最基本元(yuan)(yuan)(yuan)件(jian)74HC595是8位(wei)(wei)串行(xing)(xing)移(yi)(yi)位(wei)(wei)寄(ji)(ji)存(cun)器(qi)和(he)8位(wei)(wei)存(cun)儲/輸(shu)出(chu)(chu)寄(ji)(ji)存(cun)器(qi)組成,移(yi)(yi)位(wei)(wei)寄(ji)(ji)存(cun)器(qi)負(fu)責在時(shi)(shi)鐘脈沖的(de)(de)(de)每個上(shang)升沿接(jie)收輸(shu)入的(de)(de)(de)數據,而存(cun)儲/輸(shu)出(chu)(chu)寄(ji)(ji)存(cun)器(qi)負(fu)責將輸(shu)入的(de)(de)(de)8bit數據并(bing)行(xing)(xing)輸(shu)出(chu)(chu)到引腳(jiao)(Q0~Q7)。因(yin)此適(shi)當的(de)(de)(de)設(she)計MCU的(de)(de)(de)SPI和(he)LED單(dan)(dan)元(yuan)(yuan)(yuan)板(ban)的(de)(de)(de)連接(jie)可(ke)以(yi)高速將顯示數據傳送到LED顯示屏。顯然將MCU的(de)(de)(de)一(yi)個SPI模塊對(dui)應于LED單(dan)(dan)元(yuan)(yuan)(yuan)板(ban)的(de)(de)(de)一(yi)條掃(sao)(sao)描(miao)(miao)線可(ke)最大限度(du)(du)發(fa)揮(hui)SPI的(de)(de)(de)速度(du)(du)優(you)勢。對(dui)于一(yi)個掃(sao)(sao)描(miao)(miao)線不(bu)多而每條掃(sao)(sao)描(miao)(miao)線又很長的(de)(de)(de)情況下(超(chao)長LED條屏),使用SPI對(dui)應于單(dan)(dan)元(yuan)(yuan)(yuan)板(ban)的(de)(de)(de)一(yi)條掃(sao)(sao)描(miao)(miao)線可(ke)輸(shu)出(chu)(chu)速度(du)(du)高達系統時(shi)(shi)鐘的(de)(de)(de)1/4或更高。
74HC595引腳圖
LED燈箱控制器方(fang)案
上海航芯LED燈箱控制(zhi)器(qi)方案以(yi)ACM32F070CBT7為主控芯片,主頻64MHz,128KB eFlash和(he)32KB SRAM,帶(dai)有兩路高達50Mbps的(de)SPI接口。SPI模(mo)塊(kuai)支持1線(xian)(xian)、2線(xian)(xian)、4線(xian)(xian)傳輸模(mo)式,在4線(xian)(xian)傳輸模(mo)式下,每個(ge)時(shi)(shi)鐘周(zhou)期可(ke)同時(shi)(shi)輸出(chu)4bit數(shu)據,每根SPI數(shu)據線(xian)(xian)可(ke)作為一(yi)路鎖存器(qi)的(de)串行輸入,因(yin)此一(yi)個(ge)SPI模(mo)塊(kuai)可(ke)同時(shi)(shi)輸出(chu)控制(zhi)32個(ge)LED或(huo)者數(shu)碼管(guan)的(de)引腳,大(da)大(da)的(de)提高了控制(zhi)效率,可(ke)以(yi)為MCU節省(sheng)大(da)量(liang)的(de)時(shi)(shi)間去處(chu)理其他任務。
SPI四線模式時序圖
LED燈箱控制器方案框圖