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