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