采用S3C44B0X的大型LED顯示系統(tǒng)設(shè)計(jì)
2 軟件設(shè)計(jì)
2.1 LED屏顯示程序設(shè)計(jì)
由于使用了S3C44B0X內(nèi)部DMA控制器進(jìn)行數(shù)據(jù)的傳輸與控制,顯示程序得到很大簡化,程序流程如圖4所示。點(diǎn)陣碼的傳輸全由DMA控制器完成,只需在啟動DMA數(shù)據(jù)傳輸前將點(diǎn)陣碼的首址、LED屏的首址及傳輸數(shù)據(jù)量的值分別賦給相應(yīng)的控制字后,啟動DMA操作即可。完成所有本同名行點(diǎn)陣碼傳輸后,將刷新的數(shù)據(jù)鎖存到第二級列數(shù)據(jù)鎖存器輸出,并驅(qū)動本同名行顯示。這樣循環(huán)顯示16行同名行后就完成了一幀點(diǎn)陣顯示。
2.2 點(diǎn)陣排序
由于LED顯示模塊的電路結(jié)構(gòu)以及使用了16位并行總線和DMA數(shù)據(jù)傳輸技術(shù),在顯示時(shí)點(diǎn)陣碼的排放順序,需要滿足如下要求:
①16位并行總線一次數(shù)據(jù)傳輸,即一次DMA寫操作傳輸兩個(gè)字節(jié)的點(diǎn)陣碼,低位和高位字節(jié)分別傳送到兩相鄰的縱向級聯(lián)模塊的同名行和同名列數(shù)據(jù)鎖存器中,因此相鄰的縱向級聯(lián)模塊的同名行和同名列點(diǎn)陣碼應(yīng)連續(xù)存放。
②由于顯示模塊的第一級列數(shù)據(jù)鎖存器譯碼選通電路結(jié)構(gòu)和DMA數(shù)據(jù)傳輸要求,對同一顯示模塊的上下兩部分的同名行點(diǎn)陣應(yīng)按列數(shù)據(jù)鎖存器的選通順序依次連續(xù)存放。
③兩相鄰的縱向級聯(lián)級的一系列橫向級聯(lián)級應(yīng)按①和②原則進(jìn)行點(diǎn)陣碼排序。
④各縱向級聯(lián)級依次按①、②、③原則進(jìn)行點(diǎn)陣碼排序。
⑤16行掃描顯示方式下,一個(gè)大型LED屏分為16行同名行,每一同名行按照①、②、③、④原則進(jìn)行點(diǎn)陣排序。 本文引用地址:http://2s4d.com/article/167918.htm
以一個(gè)128×64的點(diǎn)陣屏第一行同名行的數(shù)據(jù)排序?yàn)槔鐖D5所示,第一行同名行的點(diǎn)陣碼的存放順序應(yīng)依次為:a,b……z,A,B,……z……。
3 結(jié) 論
使用并行總線DMA數(shù)據(jù)傳輸技術(shù)簡化了LED顯示系統(tǒng)的軟硬件設(shè)計(jì),降低了系統(tǒng)成本,取得了很好的顯示質(zhì)量,在22.1184MHz的系統(tǒng)時(shí)鐘下,512×256(8m2)單色點(diǎn)陣屏顯示幀頻達(dá)到250Hz,平均120ns傳送1個(gè)字節(jié),達(dá)到了使用單CPU系統(tǒng)代替多機(jī)系統(tǒng)控制LED顯示系統(tǒng)的目的。但為了使上一代的顯示驅(qū)動板仍能夠使用,點(diǎn)陣碼需要排序,顯示時(shí)只能使用頁面方式顯示,這樣在多頁動態(tài)滾屏顯示時(shí)需要大容量的存儲器。對于512×256單色點(diǎn)陣屏需要數(shù)十兆的容量,使用32位ARM7TDMl內(nèi)核先進(jìn)控制器S3C44BOX和廉價(jià)的大容量SDRAM存儲器可以使該問題得到很好的解決。若使用針對DMA控制顯示設(shè)計(jì)的顯示驅(qū)動板顯示時(shí),點(diǎn)陣碼就不需要排序,一片數(shù)百KB的SRAM就能滿足系統(tǒng)要求了。
評論