基于LED顯示屏軟件設(shè)計
編輯:天涯 [ 2010-6-23 14:11:54 ] 文章來源:LED大屏網(wǎng)
1.LED顯示屏顯示程序的設(shè)計
使用S3C44BOX內(nèi)部的DMA控制器進行數(shù)據(jù)的傳輸與控制,使顯示程序得到簡化,其程序流程如圖所示。點陣碼的傳輸全由DMA控制器完成,只需 在啟動DMA數(shù)據(jù)傳輸前將點陣碼的首址、LED顯示屏的首址及傳輸數(shù)據(jù)量的值分別賦給相應(yīng)的控制字,啟動DMA操作即可。完成所有本同名行點陣 碼傳輸后,將刷新的數(shù)據(jù)鎖存到第二級列數(shù)據(jù)鎖存器并輸出,驅(qū)動本同名行顯示。這樣,循環(huán)顯示16個同名行后就完成了一幀點陣顯示。
2.點陣排序
由于LED顯示模塊的電路結(jié)構(gòu)以及使用了16位并行總線和DMA數(shù)據(jù)傳輸技術(shù),在顯示時點陣碼的排放順序,需要滿足如下要求:
①兩相鄰的縱向級聯(lián)的一系列橫向級聯(lián)級應(yīng)按①和②條中的原則進行點陣碼排序。
圖 顯示程序流程圖
②由于顯示驅(qū)動模塊的第一級列數(shù)據(jù)鎖存器譯碼選通電路的結(jié)構(gòu)和DMA數(shù)據(jù)傳輸要求,對同一顯示驅(qū)動模塊的上下兩部伊的同名行點陣應(yīng)按列 數(shù)據(jù)鎖存器的選通順序依次連續(xù)存放。
③16位并行總線一次數(shù)據(jù)傳輸,即一次DM寫操作傳輸兩個字節(jié)的點陣碼,低位和高位字節(jié)分別傳送到兩相鄰的縱向級聯(lián)模塊的同名行和同名列數(shù)據(jù)鎖存器中,因此相鄒的縱向級聯(lián)模塊的同名行和同名列點陣碼應(yīng)連續(xù)存放。
④在16行掃描顯示方式下,一個大型LED胼分為16個同名行,每一個同名行按照①、②、③、④條中的原則進行點陣排序。
⑤各縱向級聯(lián)級依次按①、②、③條中的原則進行點陣碼排序。
以一個128×64像素的點陣屏的第一個同名行的數(shù)據(jù)排序為例(如圖所示),第一個同名行的點陣碼的存放順序應(yīng)依次為:a、b……z、A、B ……Z……
圖 128×64像素的點陣屏的第一個同名行點陣碼排序圖
使用并行總線DMA數(shù)據(jù)傳輸技術(shù),簡化了LED 顯示系統(tǒng)的軟、硬件設(shè)計,降低了系統(tǒng)成本,能夠取得很好的顯示質(zhì)量。在22.118 4MHz的系統(tǒng) 時鐘下,512×256像素的單色點陣屏的顯示幀頻達到250Hz,平均l20ns傳送1個字節(jié),達到了使用唯CPU系統(tǒng)代替多機系統(tǒng)控制LED顯示系統(tǒng)的日的。但為了使上一代的顯示驅(qū)動板 仍能夠使用,點陣碼需要排序,顯示時只能以頁面方式顯示,這樣在多頁動態(tài)滾屏顯示時需要大容量的存儲器。對于512×256像素的單色點陣 屏來說需要數(shù)十兆字節(jié)的容最,使用32位ARMTTDM 1內(nèi)核的先進控制器S3C44BOX和廉價的大容量SDRAM 可以使該問題得到很好的解決。
若使用針對DMA控制顯示設(shè)計的顯示驅(qū)動板時,點陣碼就不需要排序,一片數(shù)百千字節(jié)的SRAM就能滿足系統(tǒng)要求了。
所謂DMA(存儲器直接訪問),是一種高速的數(shù)據(jù)傳輸操作,允許在外部設(shè)各和存儲器之間直接讀寫數(shù)據(jù),既不通過CPU,也不需要CPU十預(yù)。 整個數(shù)據(jù)傳輸操作在一個稱為“DMA控制器”的控制下進行。CPU除了在數(shù)據(jù)傳輸開始和結(jié)束時做一點處理外,在傳輸過程中CPU可以進行其他的 工作。這樣,在大部分時問里,CPU和輸入、輸出都處于并行操作狀態(tài)。因此,整個系統(tǒng)的效率大大提高。因為DMA允許外設(shè)苴接訪問內(nèi)存,從 而形成對總線的獨占,這在實時性強的硬實時系統(tǒng)的嵌入式開發(fā)中將會造成中斷延時過長,這在一些藁要場合(如政府首腦機關(guān)、金融、軍事 等)的系統(tǒng)中是不允許使用的。
LED顯示屏LED顯示屏|LED大屏幕565x80