基于S3C4480X的大翟LED顯示系統(tǒng)設(shè)計(jì)
1.2 主控電路與LED屏的接口設(shè)計(jì)
本顯示系統(tǒng)選用基于ARM7TDMI內(nèi)核并帶有內(nèi)部DMA控制器的S3C44BOX作主控制器,使其工作在ARM狀態(tài),并使用16位總線。由于把LED屏虛擬的視為一段連續(xù)的存儲單元,故為其分配地址空間0x2000000~Ox4000000。
主控電路與I。ED屏接口應(yīng)能實(shí)現(xiàn)以下功能:
◆選通任意位置的顯示模塊及該模塊上的第一級列數(shù)據(jù)鎖存器。將該位置要顯示的點(diǎn)陣碼準(zhǔn)確鎖存,并能在第一級列數(shù)據(jù)鎖存器數(shù)據(jù)刷新后,將刷新數(shù)據(jù)鎖存到第二級列數(shù)據(jù)鎖存器并輸出。
◆能控制選通驅(qū)動(dòng)16行同名行中的一行進(jìn)行逐行掃描顯示。
◆實(shí)現(xiàn)主控芯片3.3 V到LED屏5 V的邏輯電平轉(zhuǎn)換。
主控板與LED屏接口電路原理圖如圖2所示。
一個(gè)大型LED屏的結(jié)構(gòu)可分為縱向級聯(lián)和橫向級聯(lián),這種結(jié)構(gòu)類似于一個(gè)三維數(shù)組。假設(shè)一個(gè)三維數(shù)組LED[i][j][k]其中:
i=O,1,2…,m表示LED屏縱向級聯(lián)級的序號。
j=O,l,2…n 表示LED屏橫向級聯(lián)級的序號。
k=O,1,2….,16 表示顯示模塊上16個(gè)第一級列數(shù)據(jù)鎖存器的序號。
由于系統(tǒng)使用16位并行總線數(shù)據(jù)傳輸方式,并將LED屏視為一段連續(xù)的存儲單元,故使用A[4:1]作顯示模塊上選通第一級列數(shù)據(jù)鎖存器譯碼器(圖1中u2)的譯碼輸入,即為三維數(shù)組的k變量;使用A[8:5]作選通橫向級聯(lián)顯示模塊的譯碼器(圖2中U7)譯碼輸入,即為三維數(shù)組的j變量;由于LED屏要具有良好的靈活性,又由于采用DMA傳輸數(shù)據(jù)要求點(diǎn)陣碼存放順序的技術(shù)要求,縱向級聯(lián)級選通不滿足使用地址總線譯碼選通的條件,所以使用S3C44BOX的PG[2:0]作縱向級聯(lián)級選通譯碼器的譯碼輸人,即三維數(shù)組的i變量。
由于地址和數(shù)據(jù)總線上的狀態(tài)不斷變化,所以在對LED屏進(jìn)行寫操作時(shí),地址和數(shù)據(jù)信號應(yīng)進(jìn)行鎖存,主控板上分別使用U2、U3和U4鎖存對LED寫操作時(shí)的地址和數(shù)據(jù)總線的狀態(tài)。LED屏分配首址為0x2000000,當(dāng)對其進(jìn)行寫操作時(shí),S3C44BOX的nGCSl和nWE腳會出現(xiàn)可編程控制時(shí)延的有效低電平。nGCSl經(jīng)一個(gè)非門作U2、U3和U4的鎖存使能控制信號,保證僅在對LED屏訪問時(shí),地址和數(shù)據(jù)總線上的信號才被鎖存。nWE經(jīng)一個(gè)非門作屏端第一級列數(shù)據(jù)鎖存器(圖1中U3~U19)的鎖存使能控制信號,保證只有當(dāng)刷新數(shù)據(jù)穩(wěn)定出現(xiàn)在列數(shù)據(jù)鎖存其輸入端時(shí)才被鎖存。S3C44BOX的PCl0作所有屏端第二級鎖存器(圖l中U20~U35)的鎖存使能控制信號線;S3C44BOX的PC[3:O]作16行驅(qū)動(dòng)譯碼器(圖l中U1)的譯碼輸入。由于數(shù)據(jù)傳輸時(shí)只需要主控板對LED屏輸出控制,不需要信號反饋,所以接口電路采用廉價(jià)的5 V供電的HCT電路芯片方案,就可滿足主控芯片3.3 V到LED屏5 V的邏輯電平轉(zhuǎn)換。
在DMA傳輸數(shù)據(jù)時(shí),更關(guān)心的是DMA的寫操作,時(shí)序如圖3所示。t1時(shí)刻DMA寫操作開始,地址和數(shù)據(jù)總線上出現(xiàn)I,ED屏相應(yīng)位置的地址和刷新數(shù)據(jù);t2時(shí)刻nGCSl引腳出現(xiàn)有效低電平,地址和數(shù)據(jù)總線上的數(shù)據(jù)被鎖存到U2~U4并輸出;t3時(shí)刻nWE引腳出現(xiàn)有效低電平,u2~u4的輸出數(shù)據(jù)被鎖存到屏端第一級列數(shù)據(jù)鎖存器并輸出。這樣主控制器就完成了一次列數(shù)據(jù)的刷新。
2 軟件設(shè)計(jì)
2.1 LED屏顯示程序設(shè)計(jì)
由于使用了S3C4480X內(nèi)部DMA控制器進(jìn)行數(shù)據(jù)的傳輸與控制,顯示程序得到很大簡化,程序流程如圖4所示。點(diǎn)陣碼的傳輸全由DMA控制器完成,只需在啟動(dòng)DMA數(shù)據(jù)傳輸前將點(diǎn)陣碼的首址、LED屏的首址及傳輸數(shù)據(jù)量的值分別賦給相應(yīng)的控制字后,啟動(dòng)DMA操作即可。完成所有本同名行點(diǎn)陣碼傳輸后,將刷新的數(shù)據(jù)鎖存到第二級列數(shù)據(jù)鎖存器輸出,并驅(qū)動(dòng)本同名行顯示。這樣循環(huán)顯示16行同名行后就完成了一幀點(diǎn)陣顯示。
評論