基于TLC5947的旋轉LED屏顯示控制器設計
1.1 STM32F103簡介
選用了STM32F103控制器,STM32F103是增強型系列,最高工作時鐘頻率可達72 MHz,具有ARM Cortex-M3內核、128~256 KB Flash、20~48 KB RAM、8 MHzCPU晶振、32.768 kHz RTC晶振以及豐富的外設(64個快速I/O口)和4 GB的線性地址空間。ARM采用的仿真器很貴,而單片機的調試工具則非常便宜。相較之下,Cortex-M3參考單片機,專門拿出一個引腳來做調試,從而節(jié)約了大量的人力物力。Cortex-M3集成了大多數(shù)的存儲器控制器,這樣就可以直接在MCU外連接Flash,降低了設計難度和應用障礙。Cortex-M3處理器結合了多種突破性技術,使得它能實現(xiàn)低功耗、低成本、高性能三者(或二者)的結合。編程支持ISP下載功能,能通過USB端口和JLINK仿真器供電,使用起來非常方便。
1.2 TLC5947簡介
TLC5947是TI(德州儀器)公司推出的24通道,具有內部晶振的12位PWM脈寬調制的LED驅動芯片。TLC5947采用超小32引腳QFN的高級封裝。它為LED提供了精確的恒流值,通道與芯片之間的差異值只有±2%;高速的傳輸速率(單片芯片時30 MHz,級聯(lián)為15 MHz);輸出通道之間交錯時間遲滯,避免出現(xiàn)傳輸誤差;該芯片內部具有溫度檢測系統(tǒng),當芯片的溫度過高時為了保護芯片,它會自動斷開所有的輸出通道,當溫度恢復正常,芯片正常工作;該芯片支持級聯(lián),可以多個芯片共同工作以驅動更大規(guī)模的LED顯示屏幕。24個通道的當前電流值是通過外部IREF與地之間的阻值來設置的,驅動電路中的電阻由所驅動LED燈的電流決定。芯片具有寬泛的操作電壓3.0~5.5 V,含有4 MHz的內部晶振。TLC5947適用驅動全彩LED和顯示屏。
1.3 LED顯示屏
選用三色(RGB)LED燈,實現(xiàn)多重色彩光源,絢麗多彩的輸出。同時,LED本身也具備相當?shù)姆€(wěn)定度、高效率、單色彩純度高、光強度可調等功能。LED與ARM處理器相連接,通過ARM處理器對觸摸信號的處理來實現(xiàn)LED燈的顯示樣式的變化,從基態(tài)的指針式時鐘變?yōu)閿?shù)字顯示式,以及改變其顯示的背景,還可以進行時間的校準操作。
2 系統(tǒng)軟件設計
2.1 點亮點-線-圓的設計及其算法和公式
點設計主要應用直角坐標到圓坐標轉換,通過坐標轉換點亮任何位置的燈。線設計源于點設計,在點設計基礎上采用Bresenham直線演算法畫出所需的直線、斜線、曲線。在線設計基礎上衍生出矩形繪畫、繪圖、填充等功能。
程序初始化完了,接著定義由直角坐標轉換到極坐標,在程序中將弧度轉到角度,在轉換的時候考慮到會有負數(shù)數(shù)據(jù)的輸入,加入360+ 0.5均是為了優(yōu)化程序,防止出現(xiàn)誤差。程序中距離


直角坐標到圓坐標轉換算法如下:

直角坐標轉換完后,可以設置點的亮滅,接著用Bresenham直線演算法畫出直線。本文引用地址:http://www.ex-cimer.com/article/168257.htm
程序的整體流程如圖2所示。系統(tǒng)上電后,首先讀取系統(tǒng)的初始狀態(tài),設置ARM和TLC5947的工作狀態(tài),開啟無線通信;然后等待旋轉屏幕穩(wěn)定,初始化菜單,等待輸入指令;利用Qtouch控制傳輸命令到STM32F103,執(zhí)行指令(用戶交互過程);執(zhí)行用戶命令操作。
評論