編輯:新雨 [ 2011-4-7 9:09:35 ] 文章來源:LED大屏網(wǎng)
 |
|
內(nèi)容導(dǎo)航:
led顯示屏控制系統(tǒng)設(shè)計(jì)
led顯示屏控制電路。為了提高數(shù)據(jù)輸出效率,采用Ramtron公司的帶SPI功能模塊的VRS51L3074單片機(jī)。VRS51L3074的時(shí)鐘頻率為40 M-Hz,指令周期短,處理速度快,效率高;工作電壓在3.3 V左右,但是可以兼容5 V。SST25VF016B是一款具有SPI接口的8引腳串行Flash。7 4LSl64為移位寄存器。
1、 VRS51L3074的SPI功能模塊
VRS51L3074的SPI時(shí)鐘頻率可以在SysClk/2~SysClk/1024范圍內(nèi)調(diào)整,SPI時(shí)鐘頻率最高可以達(dá)到20MHz。當(dāng)VRS51L3074作為SPI主機(jī)時(shí),可以對SPI運(yùn)行控制、配置和狀態(tài)監(jiān)控以及其他的一些工作環(huán)境進(jìn)行設(shè)置。
配置寄存器SPICONFIG:主要對片選信號控制模式、SPI中斷進(jìn)行設(shè)置。
狀態(tài)寄存器SPISTATUS:主要用于對SPI運(yùn)行狀態(tài)的監(jiān)控。
傳輸字長寄存器SPISIZE:設(shè)置傳輸字長,本文設(shè)置為16位,即每次輸出16位數(shù)據(jù)。
控制寄存器SPICTRL:對SPI時(shí)鐘速率、時(shí)鐘相位/極性、片選信號,以及SPI時(shí)鐘頻率進(jìn)行設(shè)置。
數(shù)據(jù)寄存器SPIRXTX0~SPIRXTX3:用于對SPI接口32位收發(fā)緩沖器的訪問,對數(shù)據(jù)寄存器執(zhí)行寫操作是將數(shù)據(jù)送入發(fā)送緩沖器中,對數(shù)據(jù)寄存器執(zhí)行讀操作是從接收緩沖器中取出收到的數(shù)據(jù)。SPI接口的發(fā)送和接收緩沖器都采用雙緩沖結(jié)構(gòu),從硬件上減少數(shù)據(jù)沖突并提高數(shù)據(jù)傳輸效率。在主模式下對SPIRXTX0寄存器執(zhí)行寫入操作將啟動(dòng)SPI傳輸。當(dāng)傳輸字各行長大于8時(shí),應(yīng)最后向SPIRXTX0寄存器寫入。
向串行Flash輸入控制信號和數(shù)據(jù)地址后,啟動(dòng)串行Flash傳輸數(shù)據(jù),在SPI時(shí)鐘驅(qū)動(dòng)下輸出顯示數(shù)據(jù),并且可以用單片機(jī)模擬串行Flash時(shí)鐘信號控制任意位數(shù)據(jù)輸出。
2、 數(shù)據(jù)選擇控制電路
led顯示屏控制系統(tǒng)如圖3所示,VRS51L3074單片機(jī)內(nèi)部自帶精確的40 MHz振蕩器,不需要外部晶振電路提供系統(tǒng)時(shí)鐘。數(shù)據(jù)顯示采用內(nèi)存為16 Mb的SST25VF016B。雙RAM技術(shù)輸出顯示數(shù)據(jù)的時(shí)候,是將兩塊RAM中相同地址的兩個(gè)數(shù)據(jù)同時(shí)輸出,所以,將兩塊RAM的顯示數(shù)據(jù)存放在一塊串行存儲(chǔ)器中時(shí),偶地址單元應(yīng)存儲(chǔ)RAM0的數(shù)據(jù),奇地址單元存儲(chǔ)RAMl的數(shù)據(jù),數(shù)據(jù)輸出時(shí)每次輸出16位數(shù)據(jù)。串行存儲(chǔ)器和單片機(jī)的工作電壓都在3.3 V左右,但是VRS51L3074可以兼容5V,簡化了控制電路。控制信號和顯示數(shù)據(jù)在輸出到寄存器74LS164和顯示屏的時(shí)候,需要用74LVC07進(jìn)行電平轉(zhuǎn)換。

控制系統(tǒng)控制顯示數(shù)據(jù)輸出的流程為:
①將掃描線行地址通過P2端口的低4位送給led顯示屏。
②通過顯示數(shù)據(jù)在顯示區(qū)域中的位置,計(jì)算顯示數(shù)據(jù)在存儲(chǔ)器中的地址,并計(jì)算出數(shù)據(jù)選擇的位數(shù)i。
③通過單片機(jī)P3.0口模擬移位脈沖,輸出到串行Flash時(shí)鐘信號,移位脈沖數(shù)由數(shù)據(jù)選擇位數(shù)i決定。使輸出數(shù)據(jù)產(chǎn)生錯(cuò)位,正確地選擇輸出顯示數(shù)據(jù)。
④啟動(dòng)SPI讀取顯示數(shù)據(jù),SPI傳輸字長設(shè)置為16位。模擬脈沖已經(jīng)輸出到串行Flash使數(shù)據(jù)產(chǎn)生了錯(cuò)位,輸出16位數(shù)據(jù)[Di,Di+1,…,D7,…,D15,D0,…,Di-1],輸出到顯示屏的數(shù)據(jù)[D8+i,…,D15,D0,…,Di-1]在高8位,經(jīng)過移位剛好可以存放在移位寄存器中。每行第一個(gè)數(shù)據(jù)輸出后,此行各列數(shù)據(jù)都直接輸出。
⑤16位數(shù)據(jù)輸出完畢后,通過P3.1腳產(chǎn)生一個(gè)SCK脈沖,將移位寄存器74LSl64中的數(shù)據(jù)輸出移入到單元板的串行移位寄存器74HC595中。
⑥重復(fù)第④至⑤步,直到一行數(shù)據(jù)全部輸出完畢后,由P3.2產(chǎn)生一個(gè)RCK脈沖,讀取的一行數(shù)據(jù)將輸出顯示,然后掃描線下移一行。
⑦重復(fù)第①至⑥步。
此電路有這樣幾個(gè)特點(diǎn):顯示數(shù)據(jù)從串行Flash輸出后,不經(jīng)單片機(jī)的處理,直接以DMA方式輸出到移位寄存器74LSl64,同時(shí)實(shí)現(xiàn)串并轉(zhuǎn)換,既節(jié)省數(shù)據(jù)處理時(shí)間,又提高顯示效率。在每場數(shù)據(jù)輸出之前,通過信息在顯示區(qū)域中的地址計(jì)算數(shù)據(jù)選擇位數(shù)i,并通過P3.O端口模擬i個(gè)脈沖輸出到串行Flash,移出i位數(shù)據(jù),數(shù)據(jù)產(chǎn)生錯(cuò)位,使輸出顯示的數(shù)據(jù)在16位輸出數(shù)據(jù)的高8位,可以直接存放在移位寄存器中,輸出到顯示屏。以后同行各列的顯示數(shù)據(jù)輸出時(shí),無需再進(jìn)行數(shù)據(jù)選擇位的判斷,直接將顯示數(shù)據(jù)從存儲(chǔ)器中輸出到顯示屏。
存儲(chǔ)器效率分析如表1所列。

由表1可知,采用雙RAM技術(shù)輸出顯示大大提高了存儲(chǔ)器效率,降低了顯示數(shù)據(jù)存儲(chǔ)器的占用。當(dāng)顯示信息量較大時(shí),動(dòng)態(tài)數(shù)據(jù)組織使用的存儲(chǔ)器比較多、利用率低,而采用雙RAM技術(shù)正好解決了這個(gè)問題。一塊RAM(靜態(tài)顯示時(shí))的存儲(chǔ)器效率是100%,雙RAM的效率是50%。當(dāng)有N塊RAM時(shí),效率為(N-1)/N。
針對圖3所示控制電路,按照數(shù)據(jù)輸出控制流程編寫了程序代碼。隨機(jī)顯示一屏信息,顯示數(shù)據(jù)已按順序存儲(chǔ)在串行Flash中。
頁碼:
上一頁
1
2
3
下一頁
有意與本網(wǎng)合作者請與《LED大屏網(wǎng)》聯(lián)系。未經(jīng)《LED大屏網(wǎng)》書面授權(quán),請勿轉(zhuǎn)載或建立鏡像,否則即為侵權(quán)。
LED顯示屏