<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 基于S3C4480X的大型LED顯示系統設計

基于S3C4480X的大型LED顯示系統設計

——
作者:中南大學(xué) 粟梅 林曠 時(shí)間:2007-01-26 來(lái)源:《單片機與嵌入式系統應用》 收藏

大型led顯示系統已經(jīng)廣泛應用于各種室內外場(chǎng)合,但由于其多采用多機系統,提高了系統成本和軟硬件設計復雜度。多機系統工作時(shí),本質(zhì)上相當于一個(gè)高總線(xiàn)寬度的計算機系統。其技術(shù)難點(diǎn)如下:

◆大型led顯示屏上的像素數以萬(wàn)計,隨著(zhù)顯示面積增大,電路結構隨之增大。

本文引用地址:http://dyxdggzs.com/article/21261.htm

◆為了保證一定的顯示質(zhì)量,幀頻應在30幀/s以上。對于一個(gè)512×252的單色led屏,每秒的數據傳輸量至少為480 kb以上,對于彩屏及顯示質(zhì)量高的場(chǎng)合,數據傳輸量還將按整數倍增長(cháng)。

◆當led屏位于室外時(shí),上下位機通信可能在百米甚至千米以上,要求通信速度快且可靠。

鑒于上述前兩個(gè)技術(shù)難點(diǎn),為能夠使用單cpu系統代替多機系統控制大型led顯示系統,采取的應對策略如下:

◆大型的led屏由通用的顯示模塊組成,顯示模塊具有良好的通用性和可嵌入性。

◆使用16位并行總線(xiàn)數據傳輸方式,要顯示相應位置的顯示模塊,模塊上的列鎖存單元能夠準確選通,使橫向級聯(lián)的led顯示模塊能夠被視為一段連續的存儲單元。

◆使用s3c44box內部的dma控制器進(jìn)行數據的傳輸和控制,節省了使用指令傳輸數據的cpu取指和譯指時(shí)間以及使用指令傳輸數據附帶的計數、比較、跳轉等軟件開(kāi)銷(xiāo),從而能夠在連續的讀寫(xiě)操作中完成數據的傳輸,提高了數據傳輸的速度和效率。

1 硬件結構及原理

大型led顯示系統一般分為主控板和顯示驅動(dòng)模塊兩部分。

1.1 顯示模塊

現今,大型led顯示系統是利用人眼視覺(jué)特點(diǎn)采用逐行掃描和列驅動(dòng)方式以節省硬件開(kāi)支的,本系統采用1/16逐行掃描方式,所以整個(gè)大型led屏被分為16行同名行,顯示模塊原理圖如圖1所示。

每個(gè)顯示模塊為1個(gè)64×32的小點(diǎn)陣屏,分為兩部分,上下各16行,每部分有8組列數據鎖存器。上下兩部分復用1個(gè)4—16譯碼器u1,選通驅動(dòng)1/16逐行掃描顯示,并需要16組列驅動(dòng)鎖存器鎖存列顯示數據。采用并行總線(xiàn)數據傳輸方式時(shí),需要1個(gè)4—16譯碼器u2選通使能列鎖存器。在點(diǎn)陣刷新時(shí),需要使用兩級鎖存器鎖存列顯示數據,否則會(huì )出現顯示拖尾現象。本次正在顯示的數據存在第二級鎖存器中,主控板對屏端第一級鎖存器寫(xiě)下一行要顯示的數據進(jìn)行列數據刷新,當下一行要顯示的數據傳輸完畢后,一起鎖存到第二級鎖存器輸出并選通驅動(dòng)下一行顯示。采用并行總線(xiàn)方式下二級鎖存器仍比數據串行傳輸再轉成并行輸出的方案經(jīng)濟。

顯示模塊與模塊之間橫向級聯(lián)時(shí),運用錯位級聯(lián)的思想,使其具有良好的通用性和可嵌入性。如圖1所示,選通線(xiàn)每到一級時(shí)就會(huì )錯位一次并傳到下一級,總是使第一根選通線(xiàn)blk_en0作第一級列鎖存器譯碼器的使能控制線(xiàn),這樣n根選通線(xiàn)就能依次選通n級橫向級聯(lián)模塊。這樣就可以用相同的顯示模塊任意組合成橫向級聯(lián)的條屏。

運用錯位級聯(lián)思想,使橫向級聯(lián)的顯示模塊上的第一級鎖存器的譯碼器u2能夠依次選通,該譯碼器又能依次選通第一級列數據鎖存器,這樣橫向級聯(lián)屏上的第一級列數據鎖存器就能看成一段連續的存儲單元,這是使用dma并行數據傳輸控制的基礎。

1.2 主控電路與led屏的接口設計

本顯示系統選用基于arm7tdmi內核并帶有內部dma控制器的s3c44box作主控制器,使其工作在arm狀態(tài),并使用16位總線(xiàn)。由于把led屏虛擬的視為一段連續的存儲單元,故為其分配地址空間0x2000000~ox4000000。

主控電路與led屏接口應能實(shí)現以下功能:

◆選通任意位置的顯示模塊及該模塊上的第一級列數據鎖存器。將該位置要顯示的點(diǎn)陣碼準確鎖存,并能在第一級列數據鎖存器數據刷新后,將刷新數據鎖存到第二級列數據鎖存器并輸出。

◆能控制選通驅動(dòng)16行同名行中的一行進(jìn)行逐行掃描顯示。

◆實(shí)現主控芯片3.3 v到led屏5v的邏輯電平轉換。

主控板與led屏接口電路原理圖如圖2所示。

一個(gè)大型led屏的結構可分為縱向級聯(lián)和橫向級聯(lián),這種結構類(lèi)似于一個(gè)三維數組。假設一個(gè)三維數組led[i][j][k],其中:

i=0,1,2,…,m 表示led屏縱向級聯(lián)級的序號。

j=0,1,2,…,n 表示led屏橫向級聯(lián)級的序號。

k=o,1,2,…,16 表示顯示模塊上16個(gè)第一級列數據鎖存器的序號。

由于系統使用16位并行總線(xiàn)數據傳輸方式,并將led屏視為一段連續的存儲單元,故使用a[4:1]作顯示模塊上選通第一級列數據鎖存器譯碼器(圖1中u2)的譯碼輸入,即為三維數組的k變量;使用a[8:5]作選通橫向級聯(lián)顯示模塊的譯碼器(圖2中u7)譯碼輸入,即為三維數組的j變量;由于led屏要具有良好的靈活性,又由于采用dma傳輸數據要求點(diǎn)陣碼存放順序的技術(shù)要求,縱向級聯(lián)級選通不滿(mǎn)足使用地址總線(xiàn)譯碼選通的條件,所以使用s3c44box的pg[2:0]作縱向級聯(lián)級選通譯碼器的譯碼輸入,即三維數組的i變量。

由于地址和數據總線(xiàn)上的狀態(tài)不斷變化,所以在對led屏進(jìn)行寫(xiě)操作時(shí),地址和數據信號應進(jìn)行鎖存,主控板上分別使用u2、u3和u4鎖存對led寫(xiě)操作時(shí)的地址和數據總線(xiàn)的狀態(tài)。led屏分配首址為ox2000000,當對其進(jìn)行寫(xiě)操作時(shí),s3c44box的ngcsl和nwe腳會(huì )出現可編程控制時(shí)延的有效低電平。ngcsl經(jīng)一個(gè)非門(mén)作u2、u3和u4的鎖存使能控制信號,保證僅在對led屏訪(fǎng)問(wèn)時(shí),地址和數據總線(xiàn)上的信號才被鎖存。nwe經(jīng)一個(gè)非門(mén)作屏端第一級列數據鎖存器(圖1中u3~u19)的鎖存使能控制信號,保證只有當刷新數據穩定出現在列數據鎖存其輸入端時(shí)才被鎖存。s3c44box的pci0作所有屏端第二級鎖存器(圖1中u20~u35)的鎖存使能控制信號線(xiàn);s3c44box的pc[3:o]作16行驅動(dòng)譯碼器(圖1中u1)的譯碼輸入。由于數據傳輸時(shí)只需要主控板對led屏輸出控制,不需要信號反饋,所以接口電路采用廉價(jià)的5v供電的hct電路芯片方案,就可滿(mǎn)足主控芯片3.3v到led屏5v的邏輯電平轉換。

在dma傳輸數據時(shí),更關(guān)心的是dma的寫(xiě)操作,時(shí)序如圖3所示。t1時(shí)刻dma寫(xiě)操作開(kāi)始,地址和數據總線(xiàn)上出現led屏相應位置的地址和刷新數據;t2時(shí)刻ngcs1引腳出現有效低電平,地址和數據總線(xiàn)上的數據被鎖存到u2~u4并輸出;t3時(shí)刻nwe引腳出現有效低電平,u2~u4的輸出數據被鎖存到屏端第一級列數據鎖存器并輸出。這樣主控制器就完成了一次列數據的刷新。

2 軟件設計

2.1 led屏顯示程序設計

由于使用了s3c4480x內部dma控制器進(jìn)行數據的傳輸與控制,顯示程序得到很大簡(jiǎn)化,程序流程如圖4所示。點(diǎn)陣碼的傳輸全由dma控制器完成,只需在啟動(dòng)dma數據傳輸前將點(diǎn)陣碼的首址、led屏的首址及傳輸數據量的值分別賦給相應的控制字后,啟動(dòng)dma操作即可。完成所有本同名行點(diǎn)陣碼傳輸后,將刷新的數據鎖存到第二級列數據鎖存器輸出,并驅動(dòng)本同名行顯示。這樣循環(huán)顯示16行同名行后就完成了一幀點(diǎn)陣顯示。

2.2 點(diǎn)陣排序

由于led顯示模塊的電路結構以及使用了16位并行總線(xiàn)和dma數據傳輸技術(shù),在顯示時(shí)點(diǎn)陣碼的排放順序,需要滿(mǎn)足如下要求:

①16位并行總線(xiàn)一次數據傳輸,即一次dma寫(xiě)操作傳輸兩個(gè)字節的點(diǎn)陣碼,低位和高位字節分別傳送到兩相鄰的縱向級聯(lián)模塊的同名行和同名列數據鎖存器中,因此相鄰的縱向級聯(lián)模塊的同名行和同名列點(diǎn)陣碼應連續存放。

②由于顯示模塊的第一級列數據鎖存器譯碼選通電路結構和dma數據傳輸要求,對同一顯示模塊的上下兩部分的同名行點(diǎn)陣應按列數據鎖存器的選通順序依次連續存放。

③兩相鄰的縱向級聯(lián)級的一系列橫向級聯(lián)級應按①和②原則進(jìn)行點(diǎn)陣碼排序。

④各縱向級聯(lián)級依次按①、②、③原則進(jìn)行點(diǎn)陣碼排序。

⑤16行掃描顯示方式下,一個(gè)大型led屏分為16行同名行,每一同名行按照①、②、③、④原則進(jìn)行點(diǎn)陣排序。

以一個(gè)128×64的點(diǎn)陣屏第一行同名行的數據排序為例,如圖5所示,第一行同名行的點(diǎn)陣碼的存放順序應依次為:a,b……z,a,b,……z……。

3 結 論

使用并行總線(xiàn)dma數據傳輸技術(shù)簡(jiǎn)化了led顯示系統的軟硬件設計,降低了系統成本,取得了很好的顯示質(zhì)量,在22.1184mhz的系統時(shí)鐘下,512×256(8m2)單色點(diǎn)陣屏顯示幀頻達到250hz,平均120ns傳送1個(gè)字節,達到了使用單cpu系統代替多機系統控制led顯示系統的目的。但為了使上一代的顯示驅動(dòng)板仍能夠使用,點(diǎn)陣碼需要排序,顯示時(shí)只能使用頁(yè)面方式顯示,這樣在多頁(yè)動(dòng)態(tài)滾屏顯示時(shí)需要大容量的存儲器。對于512×256單色點(diǎn)陣屏需要數十兆的容量,使用32位arm7tdml內核先進(jìn)控制器s3c44box和廉價(jià)的大容量sdram存儲器可以使該問(wèn)題得到很好的解決。若使用針對dma控制顯示設計的顯示驅動(dòng)板顯示時(shí),點(diǎn)陣碼就不需要排序,一片數百kb的sram就能滿(mǎn)足系統要求了。



關(guān)鍵詞: 發(fā)光二極管 LED

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>