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