《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 模塊化LED大屏幕顯示器的設(shè)計(jì)
模塊化LED大屏幕顯示器的設(shè)計(jì)
崔 琳 張進(jìn)明
摘要: 針對(duì)現(xiàn)有的LED大屏幕顯示器需重復(fù)設(shè)計(jì),、成本高等問題,,提出了一種模塊化設(shè)計(jì)的LED大屏幕顯示器,可以實(shí)現(xiàn)靈活配置、脫機(jī)運(yùn)行,、特效顯示等,,并簡(jiǎn)要介紹了其硬件結(jié)構(gòu)和軟件功能,。
Abstract:
Key words :

  摘  要: 針對(duì)現(xiàn)有的LED大屏幕顯示器需重復(fù)設(shè)計(jì),、成本高等問題,提出了一種模塊化設(shè)計(jì)的LED大屏幕顯示器,,可以實(shí)現(xiàn)靈活配置,、脫機(jī)運(yùn)行、特效顯示等,,并簡(jiǎn)要介紹了其硬件結(jié)構(gòu)和軟件功能,。

  關(guān)鍵詞: LED  大屏幕  模塊  I2C總線

  LED大屏幕顯示器由于其醒目、內(nèi)容靈活多變等特點(diǎn),,已經(jīng)越來越多地應(yīng)用于廣告,、信息發(fā)布、交通指示等公共場(chǎng)所,,取得了良好效果,。LED顯示屏主要分為數(shù)碼顯示和點(diǎn)陣顯示兩大類,,本文只討論點(diǎn)陣顯示。目前的LED顯示屏基本上都是先由用戶提出要求,,生產(chǎn)廠家根據(jù)需要訂做,。每次都要重復(fù)設(shè)計(jì)電路和機(jī)械結(jié)構(gòu),造成資源浪費(fèi),,而且若用戶的需求改變,改動(dòng)將十分困難,。

  實(shí)際上不論顯示屏的大小,,其原理都是相同的,因此完全可以設(shè)計(jì)出一種標(biāo)準(zhǔn)化,、模塊化的LED顯示屏,,針對(duì)不同的需要,只需要簡(jiǎn)單組合相應(yīng)的模塊即可,。本文介紹的就是一種模塊化的LED顯示屏,,可以根據(jù)需要靈活改變大小,并可以脫離計(jì)算機(jī)獨(dú)立運(yùn)行,,還可以實(shí)現(xiàn)如閃爍,、滾動(dòng)顯示等特效。對(duì)整體式顯示屏刷新率不足發(fā)生閃爍的常見問題,,在這個(gè)設(shè)計(jì)中由于被分割成小模塊,,不再成為問題。

1 基本原理

  基本的設(shè)計(jì)思路是把整個(gè)顯示屏分成若干相同大小,、相同功能的顯示模塊,,而另外用一個(gè)中央控制模塊控制,同步所有顯示模塊的運(yùn)行,,實(shí)現(xiàn)整體協(xié)調(diào)的顯示,。

  所以本系統(tǒng)主要由兩部分組成:顯示模塊和控制模塊。

  顯示模塊實(shí)際都是相同大小的小LED驅(qū)動(dòng)板,,能夠驅(qū)動(dòng)LED陣列,,具有基本的顯示功能,并可以接收來自控制模塊的數(shù)據(jù)和命令,,此外一些常用的顯示效果如閃爍,、滾動(dòng)等也包括在顯示模塊中。現(xiàn)有國(guó)標(biāo)點(diǎn)陣漢字庫有16×16和24×24兩種,,考慮到軟件編寫的方便和硬件的能力,,我們把顯示模塊作成16×16點(diǎn)陣大小。

  控制模塊負(fù)責(zé)控制各顯示模塊,,向各顯示模塊發(fā)送數(shù)據(jù)和命令,??刂颇K儲(chǔ)存要顯示的點(diǎn)陣數(shù)據(jù)信息,定時(shí)向各顯示模塊下傳,??刂颇K上還帶有小鍵盤和通用異步串行口,既可以用鍵盤操作,,也可以用計(jì)算機(jī)控制,,還可以用計(jì)算機(jī)更新控制模塊內(nèi)的數(shù)據(jù)。

  顯示模塊和控制模塊之間用總線的方式連接,,我們選用了I2C總線,。

  整個(gè)系統(tǒng)的設(shè)計(jì)使應(yīng)用有很大的自由度:控制模塊控制的顯示模塊數(shù)量可以改變,顯示模塊的排列方式也可以改變(如16個(gè)顯示模塊,,既可以是2×8也可以是4×4),,對(duì)同一塊顯示屏可以保存若干條常用信息分別顯示,每條信息的點(diǎn)陣大小可以不同,,超過屏幕大小的信息可以滾動(dòng)顯示出來,。這樣基本可以滿足多種多樣的需求。

2 電路結(jié)構(gòu)

    控制模塊的原理如圖1所示,。

 

  采用PIC16C73作為中央控制器,。該單片機(jī)內(nèi)置I2C接口、串行口,,而且具有比較強(qiáng)的口線驅(qū)動(dòng)能力(每根口線25mA),,使用它可以簡(jiǎn)化很多外圍電路。

  數(shù)據(jù)存儲(chǔ)使用兩片EEPROM:X24256共提供64K字節(jié)的數(shù)據(jù)空間,,可以反復(fù)擦除重寫,,掉電數(shù)據(jù)不丟失。如果全部用來顯示16×16點(diǎn)陣的漢字,,可以顯示2000個(gè)左右,。數(shù)據(jù)存儲(chǔ)器與各個(gè)顯示模塊共用I2C總線,依靠各自的地址區(qū)分究竟是存儲(chǔ)器還是顯示模塊,。

  小鍵盤外接4個(gè)限流電阻直接接到CPU的口線上,,對(duì)鍵盤采用4×4掃描方式。

  控制模塊與計(jì)算機(jī)的連接使用RS232串行口,,用一片MAX202做電平轉(zhuǎn)換,。

  此外控制模塊還帶有一個(gè)光強(qiáng)度傳感器,其作用是調(diào)節(jié)顯示屏的亮度,。由于白天和夜晚的環(huán)境光強(qiáng)差異很大,,白天覺得合適的亮度到了晚上可能會(huì)很刺眼,因此根據(jù)外界的光強(qiáng)使用這個(gè)傳感器自動(dòng)調(diào)節(jié)顯示屏的亮度,。這里使用的是TI公司的TSL235光頻轉(zhuǎn)換元件,。

  顯示模塊的原理如圖2所示,。

 

  每個(gè)顯示模塊要驅(qū)動(dòng)一塊16×16的LED陣列,由于單片機(jī)的口線數(shù)量少,,使用靜態(tài)顯示是不可能的,,這里使用了動(dòng)態(tài)掃描顯示??紤]到刷新速度的因素,,使用16行掃描刷新可能會(huì)有閃爍,所以使用8行掃描,、32位數(shù)據(jù)的方式,。

  每條數(shù)據(jù)線每個(gè)時(shí)刻只對(duì)應(yīng)一個(gè)發(fā)光單元,要求電流較小;而當(dāng)顯示屏全開的時(shí)候,,8路共陽極掃描線將會(huì)對(duì)應(yīng)32個(gè)發(fā)光單元,電流要求大,,所以兩端的驅(qū)動(dòng)電路是分別設(shè)計(jì)的,。數(shù)據(jù)線端使用TI公司的4片TPIC6B595。掃描端使用Allegro公司的兩片2944,。

  顯示模塊與控制模塊用I2C總線相連,。由于顯示模塊的任務(wù)只是顯示,所以不另外增加存儲(chǔ)器,,只用內(nèi)部的RAM單元保存欲顯示的點(diǎn)陣數(shù)據(jù),,并不停地掃描顯示到LED陣列上。諸如滾動(dòng),、閃爍等顯示效果只是對(duì)顯示數(shù)據(jù)做額外處理,,如滾動(dòng)顯示實(shí)際對(duì)應(yīng)數(shù)據(jù)的移位操作。這些功能也編寫在顯示模塊中,,由控制模塊發(fā)送命令激活這些功能,。

  此外需說明的是,顯示模塊的驅(qū)動(dòng)電路與LED陣列可以看作分離的兩部分,,只要在驅(qū)動(dòng)電路的驅(qū)動(dòng)能力范圍內(nèi),,可以使用發(fā)光單元不同的LED陣列,如1個(gè)發(fā)光單元僅為1個(gè)LED的小型顯示牌或者1個(gè)發(fā)光單元包括5~7個(gè)LED的大型顯示牌等,。

3 軟件設(shè)計(jì)

  本系統(tǒng)的軟件包括三部分:顯示模塊,、控制模塊和PC機(jī)。

  顯示模塊的軟件主要包括掃描顯示,、特效處理和I2C通信三部分,。在顯示模塊CPU的RAM中開辟出32字節(jié)作為顯示緩沖區(qū),掃描顯示程序只是定時(shí)從顯示緩沖區(qū)中取數(shù)據(jù)發(fā)往移位寄存器,,并設(shè)置相對(duì)應(yīng)的掃描線,,實(shí)現(xiàn)一次掃描,。掃描顯示并不識(shí)別緩沖區(qū)里的數(shù)據(jù)是什么。掃描是利用了人眼的圖象滯留效果,,如果掃描頻率達(dá)到60Hz以上,,對(duì)掃描頻率的波動(dòng)就不大敏感了,所以這里的掃描顯示程序沒有使用定時(shí)器中斷,,僅由循環(huán)完成,。

  特效處理是指對(duì)掃描緩沖區(qū)的數(shù)據(jù)做移位的操作,主要對(duì)應(yīng)滾動(dòng)顯示效果,。滾動(dòng)時(shí)每次滾動(dòng)一個(gè)像素行或列,,大部分?jǐn)?shù)據(jù)已經(jīng)存在于顯示模塊中,控制模塊發(fā)送滾動(dòng)命令時(shí)附加兩個(gè)字節(jié)(1行或1列)的新數(shù)據(jù),。由于使用的掃描方式是32×8的方式,,因此數(shù)據(jù)存放并非完全線性,而有跳躍存儲(chǔ)的部分,,加之字符滾動(dòng)顯示有上下左右四個(gè)方向,,要把新來的數(shù)據(jù)移入緩沖區(qū)并移出兩字節(jié)的舊數(shù)據(jù),因而需要比較繁復(fù)的RAM地址計(jì)算,。

  I2C通信是PIC16C73內(nèi)部硬件實(shí)現(xiàn)的功能,,比較簡(jiǎn)單,只用中斷就可實(shí)現(xiàn),。

  顯示亮度的調(diào)節(jié)功能是通過調(diào)節(jié)發(fā)光單元點(diǎn)亮?xí)r間實(shí)現(xiàn)的,。具體來講,由于是掃描顯示,,每個(gè)發(fā)光單元最多只有1/8的時(shí)間可以點(diǎn)亮,,如果這1/8的時(shí)間全部點(diǎn)亮,其效果就是最大亮度,,如果在這1/8的時(shí)間以內(nèi)仍有部分時(shí)間不亮,,則總體的顯示亮度就下降。顯示模塊從控制模塊接收環(huán)境亮度數(shù)據(jù),,調(diào)節(jié)這個(gè)點(diǎn)亮?xí)r間的比例,,以實(shí)現(xiàn)調(diào)節(jié)亮度的功能。

  控制模塊的程序包括與顯示模塊的I2C通信,,與EEPROM的I2C通信,,與計(jì)算機(jī)的串行通信,數(shù)據(jù)的地址計(jì)算,,外界光強(qiáng)度檢測(cè)幾個(gè)部分,。

  兩個(gè)I2C通信部分和串行通信由硬件支持,比較容易。外界光強(qiáng)度傳感器直接把光強(qiáng)轉(zhuǎn)化成頻率送入CPU,,所以只要定時(shí)計(jì)數(shù)即可,。比較復(fù)雜的部分是數(shù)據(jù)的地址計(jì)算。由于本系統(tǒng)的自由度,、數(shù)據(jù)使用索引的辦法在EEPROM中存儲(chǔ),,地址計(jì)算邏輯上簡(jiǎn)單但實(shí)現(xiàn)起來比較繁復(fù),要對(duì)每個(gè)顯示模塊發(fā)送不同的內(nèi)容,。對(duì)于滾動(dòng)顯示的情況則更加復(fù)雜,。

  如果是靜態(tài)顯示,則控制模塊僅接收到命令后傳送一次數(shù)據(jù)就進(jìn)入空閑等待:如果是閃爍,、滾動(dòng)等顯示,,則需要定時(shí)從EEPROM中取數(shù)據(jù)發(fā)往各顯示模塊。

  PC機(jī)部分的程序主要是點(diǎn)陣編輯功能和RS232通信功能,。點(diǎn)陣編輯不僅可以寫各種字體的字符,,還可以繪制簡(jiǎn)單圖形;RS232通信不僅包括所有可以用鍵盤實(shí)現(xiàn)的功能外,還可以直接在顯示屏上顯示圖形而不用先保存到控制模塊中,,實(shí)現(xiàn)即時(shí)的信息發(fā)布,。

  本系統(tǒng)對(duì)常用的LED大屏幕顯示裝置作了規(guī)范化、模塊化的有益嘗試,,并已應(yīng)用在交通狀況顯示場(chǎng)合,取得了良好效果,,證明該設(shè)計(jì)是合理可行的,。由于設(shè)計(jì)時(shí)為使用保留了很大自由度,使得它可以靈活組合運(yùn)用于各種不同需求的場(chǎng)合,,而不必重復(fù)設(shè)計(jì),,有效節(jié)約了資源。由于最初本系統(tǒng)對(duì)應(yīng)一個(gè)比較小的顯示屏,,所以選用了I2C總線,,如果要做相當(dāng)大的顯示屏還可以換成RS485等總線,提供更大的擴(kuò)展余地,。此外基于這個(gè)設(shè)計(jì)思路,,還可以進(jìn)一步開發(fā)彩色LED大屏幕顯示屏等產(chǎn)品。

 

參考文獻(xiàn)

1 楊衛(wèi)中,,霍利民,,蔡振江,張曙光. LED大屏幕信息顯示系統(tǒng)的設(shè)計(jì).河北工業(yè)大學(xué)學(xué)報(bào),,1998,;3

2 李愛國(guó).一種基于I2C總線的LED數(shù)碼顯示屏的實(shí)現(xiàn).國(guó)外電子元器件,1998;1

3 梁采,高勝東,,張宏富.中斷在LED大屏幕顯示系統(tǒng)中的應(yīng)用.四川大學(xué)學(xué)報(bào)(自然科學(xué)版),,1999;8

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。