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