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