基於USB接口的LED顯示係統設計
發布時間:2011-02-09 來源:維庫
中心議題:
- 基於USB接口的LED顯示係統設計
解決方案:
- 顯示和驅動設計
- 控製設計
- 固件程序設計
- 驅動程序設計
- 應用軟件設計
配合驅動LED顯示屏實現高速數據傳輸。應用軟件處理文字信息,並與USB設備通信。本設計經測試能動態地顯示文字信息。
1 引 言
LED顯示屏是由若幹發光二極管排列組成的顯示器件。它采用低電壓掃描驅動,具有耗電省、使用壽命長、成本低、亮度高、視角大、可視距離遠、規格品種多等優點,被廣泛地應用於許多公共場合的提示、說明、廣告等。
本設計包括硬件和軟件。硬件包括LED顯示屏的驅動和控製。驅動部分負責根據行列選通信號向指定的LED發光器件提供合適的驅動電流;控製部分采用集成USB2. 0的微處理器CY7C68013A, 實現USB通信和對行列移位寄存係統的控製。軟件包括Keil C51環境下編寫的固件程序、驅動程序和應用軟件。固件程序控製硬件完成相應的功能;驅動程序提供了連接到計算機的硬件設備的軟件接口;應用軟件處理圖文信息並與USB設備通信。本設計的結構框圖如圖1所示。
2 硬件設計
2. 1 顯示和驅動設計
本設計的LED顯示屏如圖1中64 ×16 LED點陣顯示屏所示,采用16塊8 ×8模塊,組成4個16 ×16點陣。每個16 ×16 點陣顯示一個漢字, 因此LED顯示屏可以顯示4個漢字。
由於CY7C68013A I/O 口的個數有限( 5 個8位I/O口) ,也考慮到今後方便擴展的需要, LED顯示屏的行列驅動係統均選用8位串行輸入轉並行輸出移位寄存器芯片74HC595。其優點是可以采用很少的I/O口控製盡量多的行或列,且可以克服直接采用I/O口控製或采用I/O口和譯碼器共同控製時難以克服的一些問題,如“鬼影”的消除。

由於I/O口的驅動能力有限,列驅動采用了PNP型晶體管。點亮每一個LED器件大約需要20mA驅動電流,為了滿足同時點亮16個LED大約需要320mA的驅動電流,采用PNP型晶體管的發射極接電源,集電極接LED陽極,基極經限流電阻接74HC595輸出端。這樣利用晶體管的電流放大作用, 74HC595的輸出端僅需提供幾毫安的驅動電流就可控製對應LED的亮滅了。部分驅動電路如圖2所示。

[page]
2. 2 控製設計
本設計的USB接口采用集成USB2. 0的微處理器CY7C68013A,其優點是集成了USB2. 0收發器、智能SIE、增強的8051微控製器和可編程的外圍接口, 數據傳輸率達到56MByte / s, 可以硬件處理USB1. 1和USB2. 0協議,從而減少開發時間、確保USB的兼容性、提高硬件的集成度和可靠性 。
CY7C68013A的外圍電路主要包括供電( 5V -3. 3V轉換)電路,串行I2C總線電路以及複位和喚醒電路 。具體電路可參考文獻。
LED顯示屏的基本工作原理是動態掃描。動態掃描又分為行掃描和列掃描兩種方式。本設計采用行掃描工作方式。
同一行8個8 ×8點陣模塊的同名行控製引腳是接在一條線上的,共16條線,連接在行移位寄存係統上。同一列2個8 ×8點陣模塊的同名列控製引腳也是接在一條線上的,共64條線,連接在列移位寄存係統上。行移位寄存係統由2 片74HC595組成,列移位寄存係統由8片74HC595組成。
以行移位寄存係統為例:將第一片的DS (串行數據輸入)端由一個CY7C68013A 的I/O 口控製;第一片和第二片74HC595的SH_CP (移位寄存器的時鍾脈衝) 、ST_CP (存儲寄存器的時鍾脈衝)和OE(輸出使能端)端分別接在一起,各由一個I/O口控製;第一片的Q7 (串行輸出)端與第二片的DS連接;MR (芯片複位)端接高電平; O1 - O7 (並行數據輸出)端分別與對應的LED行控製引腳相連接。
CY7C68013A在SH_CP端產生連續的16個時鍾脈衝上升沿,將16位二進製數0x01依次送入兩個移位寄存器中,並鎖存在鎖存器中, 然後在ST_CP端產生1個時鍾脈衝上升沿,將0x01並行輸出到對應的16根行控製引腳線上,使得第一行LED陰極為低電平,其它行LED陰極均為高電平。此時將對應的字模送到列驅動係統,若該列的LED陽極為高電平,則對應的LED被點亮,若該列的LED陽極為低電平,則對應的LED為暗。依次選擇第二至十六行,將對應的字模送到列驅動係統, 點亮相應的LED。當顯示完第十六行的字模後,又從第一行開始顯示,這樣LED顯示屏就會顯示相應的漢字。
按照這種工作方式, LED顯示屏是一行一行點亮的,每次都隻有一行亮,但由於人眼視覺暫留時間最長為1 /16 s,隻要設計的掃描周期時間(從第一列到最後一列所花費的時間)小於1 /16 s,看到的還是全屏穩定的圖像。
3 軟件設計
3. 1 固件程序設計
固件程序是指運行在設備CPU中的程序。隻有在該程序運行時,外設才能被稱為具有給定功能的外部設備。固件程序在Keil C51環境下編寫。
C51編譯器包可以用在所有的8051係列處理器上,可以在W INDOWS 32 位命令行中執行 。本設計的固件程序流程圖如圖3所示。

硬件設備上電/複位後,工作分配器函數TD _Init ( )完成對微處理器的初始化,然後通過調用工作分配器函數TD _Poll ( )啟動采樣,判斷是否有EP2OUT中斷發生。若有中斷發生,則進入中斷處理函數INT_Ep2out ( ) ,將上位機通過USB 總線傳來的數據放在EP2OUTBUF中,根據這些數據依次驅動LED顯示屏的行和列,更新LED 顯示。中斷處理完畢後又回到啟動采樣階段,重複判斷是否有中斷過程。若沒有中斷發生,則繼續保持LED的顯示,然後也回到啟動采樣階段,重複判斷是否有中斷過程。
其中顯示第i行字模的函數如下:
chooseraw_5950 ( i) ; / /選擇第i行
chooseline_5951 ( a, b) ; / /第一個字對應第i行的字模
chooseline_5951 ( c, d) ; / /第二個字對應第i行的字模
chooseline_5952 ( e, f) ; / /第三個字對應第i行的字模
chooseline_5952 ( g, h) ; / /第四個字對應第i行的字模
stcp0 = 0; stcp1 = 0; stcp2 = 0;
stcp0 = 1; stcp1 = 1; stcp2 = 1; / / st_cp 端產生一個脈衝上升沿,數據並行輸出
delay_ms (3) ; / /延時3ms
}
3. 2 驅動程序設計
采用DDK來開發驅動程序, DDK的編譯工具build來進行驅動程序的編譯,DriverStudio工具包中的SoftIce用來對驅動程序進行調試[ 5 ] 。
驅動程序使用的例程包括:驅動程序入口例程、即插即用例程、分發例程、電源管理例程、卸載例程。
驅動程序的編寫與固件中定義的USB 傳輸方式等信息有關,在固件中,采用端點EP2作為OUT方向的批量傳輸端點,負責儲存要發往外設的數據。
3. 3 應用軟件設計
因為涉及到與USB通信的問題,所以本設計采用了動態鏈接庫(DLL)和應用程序相結合的方式編寫應用軟件。動態鏈接庫利用驅動程序建立起與底層硬件的通信,應用程序為用戶提供一個直觀的軟件界麵以方便操作。
應用程序可采用不同的算法,實現文字的滾動顯示,如左移、右移、上翻、下翻等。
4 結束語
本設計的LED顯示係統,采用USB總線通信,實現了文字的靜態和動態顯示,達到了設計要求。
采用USB接口與串口相比能提高數據傳輸的速率。
LED顯示屏的行列驅動係統均選用串行輸入轉並行輸出移位寄存器,使得擴展變得很方便。調用不同的文字庫,本係統可以顯示不同字體的漢字、數字、字母和符號,還可以顯示自定義圖片。
軟件界麵如圖4所示。顯示效果如圖5所示。

- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 貿澤EIT係列新一期,探索AI如何重塑日常科技與用戶體驗
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
- 創新不止,創芯不已:第六屆ICDIA創芯展8月南京盛大啟幕!
- AI時代,為什麼存儲基礎設施的可靠性決定數據中心的經濟效益
- 矽典微ONELAB開發係列:為毫米波算法開發者打造的全棧工具鏈
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall





