基于ARM的大型LED點(diǎn)陣顯示系統(tǒng)的設(shè)計(jì)
由于地址和數(shù)據(jù)總線上的狀態(tài)不斷變化,所以在對(duì)LED屏進(jìn)行寫操作時(shí),地址和數(shù)據(jù)信號(hào)應(yīng)進(jìn)行鎖存,主控板上分別使用U2、U3和U4鎖存對(duì) LED寫操作時(shí)的地址和數(shù)據(jù)總線的狀態(tài)。LED屏分配首址為0x2000000,當(dāng)對(duì)其進(jìn)行寫操作時(shí),S3C44B0X的nGCSl和nWE腳會(huì)出現(xiàn)可編程控制時(shí)延的有效低電平。nGCSl經(jīng)一個(gè)非門作U2、U3和U4的鎖存使能控制信號(hào),保證僅在對(duì)LED屏訪問時(shí),地址和數(shù)據(jù)總線上的信號(hào)才被鎖存。 nWE經(jīng)一個(gè)非門作屏端第一級(jí)列數(shù)據(jù)鎖存器(圖1中U4~U19) 的鎖存使能控制信號(hào),保證只有當(dāng)刷新數(shù)據(jù)穩(wěn)定出現(xiàn)在列數(shù)據(jù)鎖存其輸入端時(shí)才被鎖存。S3C44B0X的PC I0作所有屏端第二級(jí)鎖存器(圖1中U20~U35) 的鎖存使能控制信號(hào)線; S3C44BOX的PC [ 3∶0 ] 作16行驅(qū)動(dòng)譯碼器(圖1中U3) 的譯碼輸入。由于數(shù)據(jù)傳輸時(shí)只需要主控板對(duì)LED屏輸出控制,不需要信號(hào)反饋,所以接口電路采用廉價(jià)的5V供電的HCT電路芯片方案,就可滿足主控芯片313V到LED屏5V的邏輯電平轉(zhuǎn)換。
在DMA傳輸數(shù)據(jù)時(shí),更關(guān)心的是DMA的寫操作,時(shí)序如圖3所示。t1時(shí)刻DMA寫操作開始,地址和數(shù)據(jù)總線上出現(xiàn)LED屏相應(yīng)位置的地址和刷新數(shù)據(jù); t2時(shí)刻nGCS1引腳出現(xiàn)有效低電平,地址和數(shù)據(jù)總線上的數(shù)據(jù)被鎖存到U2~U4并輸出; t3時(shí)刻nWE引腳出現(xiàn)有效低電平,U2~U4的輸出數(shù)據(jù)被鎖存到屏端第一級(jí)列數(shù)據(jù)鎖存器并輸出。這樣主控制器就完成了一次列數(shù)據(jù)的刷新。
DMA的寫操作時(shí)序圖
圖3 DMA的寫操作時(shí)序圖。
2 軟件設(shè)計(jì)
2.1 LED屏顯示程序設(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)陣顯示。
評(píng)論