<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM的大型LED點(diǎn)陣顯示系統(tǒng)的設(shè)計(jì)

          基于ARM的大型LED點(diǎn)陣顯示系統(tǒng)的設(shè)計(jì)

          作者: 時(shí)間:2011-01-05 來源:網(wǎng)絡(luò) 收藏


          由于地址和數(shù)據(jù)總線上的狀態(tài)不斷變化,所以在對(duì)屏進(jìn)行寫操作時(shí),地址和數(shù)據(jù)信號(hào)應(yīng)進(jìn)行鎖存,主控板上分別使用U2、U3和U4鎖存對(duì) 寫操作時(shí)的地址和數(shù)據(jù)總線的狀態(tài)。屏分配首址為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.jpg
          圖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)陣顯示。


          關(guān)鍵詞: LED ARM

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();