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