基于TLC5947的旋轉(zhuǎn)LED屏顯示控制器設(shè)計方案詳解
直角坐標(biāo)到圓坐標(biāo)轉(zhuǎn)換算法如下:
直角坐標(biāo)轉(zhuǎn)換完后,可以設(shè)置點的亮滅,接著用Bresenham直線演算法畫出直線。
程序的整體流程如圖2所示。系統(tǒng)上電后,首先讀取系統(tǒng)的初始狀態(tài),設(shè)置ARM和TLC5947的工作狀態(tài),開啟無線通信;然后等待旋轉(zhuǎn)屏幕穩(wěn)定,初始化菜單,等待輸入指令;利用Qtouch控制傳輸命令到STM32F103,執(zhí)行指令(用戶交互過程);執(zhí)行用戶命令操作。2.2TLC5947芯片時序
TLC5947時序如圖3所示,芯片的主要控制引腳有4個:數(shù)據(jù)輸入端SIN、外部時鐘輸入端SCLK、灰度寄存器控制端XLAT以及輸出控制端BLANK。通過數(shù)據(jù)輸入端口將所需要的灰度數(shù)據(jù)送到SIN端,然后通過控制時鐘信號SCLK將數(shù)據(jù)寫入到芯片內(nèi)部的灰度數(shù)據(jù)移位寄存器中,之后通過控制灰度寄存器的控制端XLAT的高低電平變換實現(xiàn)芯片TLC5947內(nèi)部灰度數(shù)據(jù)的更新。當(dāng)XLAT引腳的電平發(fā)生變化而產(chǎn)生一個上升沿時,TLC5947內(nèi)部灰度數(shù)據(jù)將被更新一次,即圖3中Grayscale LatchData 中被重新寫入數(shù)據(jù)。芯片的數(shù)據(jù)輸出分兩部分,一部分是串行數(shù)據(jù)輸出和恒流源數(shù)據(jù)輸出。串行數(shù)據(jù)輸出是接在灰度數(shù)據(jù)移位寄存器之后,當(dāng)寄存器的數(shù)據(jù)滿256位時,可以根據(jù)SCLK時鐘的變化通過一個DQ觸發(fā)器將數(shù)據(jù)從串行數(shù)據(jù)端口SOUT端輸出,這一端口主要是芯片級聯(lián)時后一級芯片的數(shù)據(jù)輸入;而恒流源數(shù)據(jù)輸出OUT0~OUT23則是通過輸出控制端口BLANK和芯片內(nèi)部自帶時鐘Oscillator Clock來共同控制,其中輸出電流大小則可以通過芯片的VREF引腳的外接到地電阻來控制,根據(jù)外接LED的自身限流參數(shù),保證LED正常工作。本系統(tǒng)中采用的是3.2kΩ電阻,所以該芯片的控制主要是4個引腳端口的控制,操作上比較簡單方便。
圖2 程序的整體流程
3結(jié)論
實驗中,通過主控制器STM32F103對兩片級聯(lián)的TLC5947芯片進(jìn)行了測試,外圍電路連接的是三色LED燈,外界供電電壓為5V穩(wěn)壓源,轉(zhuǎn)換之后系統(tǒng)的供電電壓為3.3V穩(wěn)壓源。當(dāng)寫入相對應(yīng)的程序控制字時,三色LED燈能夠正確顯示,單一色、混色兩種工作模式均成功得以實現(xiàn)。而且LED燈之間的變化時間可以通過程序來控制,只要主控制器的時鐘頻率合適,變換時間均在人眼識別能力之外,這樣就可以通過改變不同的程序控制字來實現(xiàn)全彩LED屏的設(shè)計。
圖3 TLC5947時序圖
led顯示器相關(guān)文章:led顯示器原理
脈寬調(diào)制相關(guān)文章:脈寬調(diào)制原理
評論