国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于雙串行RAM的超長LED顯示屏實時控制系統(tǒng)

2015-07-22 22:11:37鄔芝權(quán)靳桅
現(xiàn)代電子技術(shù) 2015年14期

鄔芝權(quán)+靳桅

摘 要: 利用ARM處理器SPI和DMA的工作特點,設(shè)計輔助電路對兩組RAM進行邏輯控制,使得修改超長LED顯示屏數(shù)據(jù)時不影響顯示效果??刂葡到y(tǒng)設(shè)計2組串行RAM,通過控制2組串行RAM的邏輯和時序,可以實現(xiàn)同步刷新、異步修改和DMA方式高速輸出等多種功能。在顯示輸出時采用SPI接口的DMA輸出方式,實現(xiàn)了超長LED顯示屏的控制。同時,闡述了該控制系統(tǒng)的設(shè)計理念、電路原理圖及編程方法,并給出實測實驗結(jié)果。實驗結(jié)果表明,此設(shè)計具有很高的實用價值。

關(guān)鍵詞: 串行RAM; DMA; SPI; SQI; LED顯示屏

中圖分類號: TN710?34; TP391.1 文獻標識碼: A 文章編號: 1004?373X(2015)14?0048?04

0 引 言

當前現(xiàn)實生活中,LED顯示屏在城市亮化、廣告、信息發(fā)布等方面的應(yīng)用有目共睹,已然成為城市中一道亮麗的風(fēng)景。LED顯示屏的物理尺寸形狀多樣,都是由各種尺寸單元板級聯(lián)構(gòu)成,隨著技術(shù)的發(fā)展和應(yīng)用需求,如何實時控制超長LED顯示屏成為一個越來越引起注目的研究課題。對超長LED顯示屏的實時控制要解決兩個問題:一是提高LED顯示屏單元板上串行移位脈沖速度;二是在修改數(shù)據(jù)時不影響顯示屏正常顯示??刂葡到y(tǒng)的通常做法是采用ARM+FPGA+大容量并行RAM電路結(jié)構(gòu),同時將并行RAM的讀信號作為LED顯示屏單元板上串行移位寄存器的串行移位脈沖。并行RAM基本結(jié)構(gòu)是“地址線+數(shù)據(jù)線+讀/寫信號+片選”,想要達到移位一次顯示數(shù)據(jù)需要并行RAM:地址加1和讀顯示數(shù)據(jù)。存儲器RAM內(nèi)保存的是顯示數(shù)據(jù),既要寫入修改數(shù)據(jù),又要不斷地讀出數(shù)據(jù)至LED顯示屏,這2個操作非常頻繁并且不能同時操作。解決這個矛盾的傳統(tǒng)做法是在行數(shù)據(jù)輸出間隔時間內(nèi)預(yù)留一部分時間用于修改顯示數(shù)據(jù),這樣勢必會影響驅(qū)動LED顯示屏的長度?;赟PI接口的串行RAM的操作時序,可以方便地將上述兩個步驟合為一個步驟,提高了顯示數(shù)據(jù)的輸出速度,增加了驅(qū)動LED顯示屏的長度。同時,串行RAM引腳少,電路布線少,降低了系統(tǒng)設(shè)計的復(fù)雜性,簡化了雙RAM設(shè)計的難度。

23LC1024是Microchip(美國微芯科技公司)2012年8月推出的串行SRAM芯片,該芯片通過4路SPI(SQI)協(xié)議可實現(xiàn)高達80 Mb/s的讀/寫速度,足以滿足LED顯示屏數(shù)據(jù)移位時鐘的需要。本文在研究分析該芯片特點的基礎(chǔ)上,提出一種顯示數(shù)據(jù)以DMA方式高速輸出、同步刷新及異步修改的超長LED顯示屏控制系統(tǒng)。下面分幾步對該控制系統(tǒng)的設(shè)計理念、電路設(shè)計及實測結(jié)果進行介紹。

1 串行SRAM芯片23LC1024工作時序

23LC1024芯片有8個引腳,引腳定義見圖1。

圖1 23LC1024引腳圖

通過設(shè)置可以使該芯片工作于傳統(tǒng)的SPI模式、SDI(雙SPI)模式或SQI(4路SPI) 模式。圖2為23LC1024工作于SQI模式的單字節(jié)讀/寫時序,讀/寫時序表明:除了命令字和讀操作時有兩個空周期不同外,所有讀/寫操作均在主機SCK脈沖驅(qū)動下完成。23LC1024的數(shù)據(jù)輸入(寫)發(fā)生在主機SCK時鐘上升沿,而數(shù)據(jù)的輸出(讀)發(fā)生在主機SCK時鐘的下降沿。

圖2 23LC1024芯片SQI模式讀/寫時序

圖3為23LC1024連續(xù)多字節(jié)讀/寫時序,其中C1,C0分別為命令字高、低半個字節(jié),例如:讀命令字0x03其C1=0x0,C0=0x3。24位地址A5~A0、數(shù)據(jù)H0,L0均對應(yīng)8位字節(jié)的高、低半個字節(jié)(4位)。23LC1024串行RAM的SQI字節(jié)讀/寫時序看似煩瑣,但卻解決了一個根本問題:在片選、命令字、讀/寫地址給定的條件下,每送一個SCK脈沖完成一次半字節(jié)(4位)數(shù)據(jù)讀/寫,如果2片23LC1024“并聯(lián)”使用,可等效8位并行RAM的讀/寫,4片、8片“并聯(lián)”使用可等效16,32位并行RAM的讀/寫。對“并聯(lián)”后的23LC1024讀/寫只需一個步驟,就是主機輸出一個SCK脈沖。當輸出數(shù)據(jù)的長度達到(LED顯示的水平方向點數(shù))1 024,2 048,4 096或更長時,前面送命令、地址所花的時間均可忽略不計。如果輸出數(shù)據(jù)的SCK脈沖由ARM芯片的SPI_SCK采用DMA信號產(chǎn)生,其顯示數(shù)據(jù)的平均輸出速率快且不占用CPU處理時間,這正是本文超長LED顯示屏控制系統(tǒng)的設(shè)計理念。

圖3 SQI模式連續(xù)讀寫N個字節(jié)時序圖

2 控制系統(tǒng)硬件電路

在對超長屏實時控制時,由于保存在RAM中的顯示數(shù)據(jù)不斷送至LED顯示屏,RAM被長時間占用,留給CPU修改RAM數(shù)據(jù)的時間不足。本文提出雙RAM系統(tǒng),RAM1與MCU連接,在顯示數(shù)據(jù)不修改的情況下,RAM2保存有和RAM1一致的數(shù)據(jù),采用DMA方式將RAM2的顯示數(shù)據(jù)送至LED顯示屏。在顯示內(nèi)容變化時,修改RAM1中的數(shù)據(jù),然后將RAM1的數(shù)據(jù)送至LED顯示屏,同時也數(shù)據(jù)同步備份至RAM2。根據(jù)這個思路,控制系統(tǒng)硬件電路有兩組RAM、用于切換的邏輯轉(zhuǎn)換電路和驅(qū)動電路,電路如圖4所示。

圖4 具有高速輸出和刷新功能8位輸出的控制系統(tǒng)框圖

將U1和U3拼成8位的串行RAM1,U2和U4拼成8位的串行RAM2。通過對RAM1,RAM2,U5,U6引腳的邏輯控制,控制系統(tǒng)可以使RAM1和RAM2處在不同狀態(tài),達到預(yù)設(shè)的功能。

當U5關(guān)斷時,RAM1,RAM2的數(shù)據(jù)口和控制引腳完全隔離,沒有沖突,MCU可以單獨對RAM1和RAM2進行讀/寫操作,如圖5(a)所示。

圖5 RAM1,RAM2工作流程示意圖

當U5,U6關(guān)斷,CPU可以讀/寫RAM1,RAM2,通過08接口和LED顯示屏相連,如圖5(b)所示。當U5選通,U6關(guān)斷時,RAM1和RAM2相互連接,可以進行數(shù)據(jù)交換,如圖5(c)所示。當U5選通,U6關(guān)斷時,控制08接口的RCK信號和RAM1和RAM2的讀/寫信號,可以將RAM1的數(shù)據(jù)同時送至RAM2和LED顯示屏,如圖5(d)所示。在顯示屏不修改的情況下,每行數(shù)據(jù)的處理流程是先按圖5(a)模式分別設(shè)置RAM1和RAM2的地址,然后按圖5(b)所示輸出顯示數(shù)據(jù)。由于RAM2至LED顯示屏的數(shù)據(jù)是采用DMA方式輸出,不需要占用CPU,所以CPU的主要任務(wù)是修改RAM1中的顯示數(shù)據(jù)。RAM2顯示完一串數(shù)據(jù)后,如果RAM1中的顯示數(shù)據(jù)有修改,則需要按圖5(d)輸出顯示數(shù)據(jù),在行數(shù)據(jù)輸出時,也是先設(shè)置RAM1和RAM2的地址,再讀RAM1,將數(shù)據(jù)輸出至LED顯示屏和RAM2,行數(shù)據(jù)輸出時序如圖6所示。

圖6 從RAM1輸出數(shù)據(jù)RAM2序列圖

一串數(shù)據(jù)結(jié)束后,再切換到圖5(b)模式工作,直至新的修改內(nèi)容出現(xiàn)。

3 應(yīng)用實例及測試結(jié)果

由于教學(xué)科研需要建一個以[Φ3.75],[116]掃描3 712×256雙色LED實時控制顯示屏,LED顯示屏體采用464塊64×32雙色單元板級聯(lián),主要用于表示各種設(shè)備的運行狀態(tài)。圖7為其電路原理框圖。

該系統(tǒng)核心采用1片LQFP144腳的ARM芯片STM23F103ZE,使用PF0~15、PG0~15兩個16位端口(4個8位口)作RAM1的命令、地址及數(shù)據(jù)口,用PE0~7口給RAM2旁路送命令字和地址,用PD口的I/O做片選、時鐘及245選通控制線,DMA時鐘由PA5(SPI1_SCK)提供。08接口的245驅(qū)動、通信及FLASH存儲部分鑒于篇幅限制省略。通過分析圖7應(yīng)用實例電路可以得到以下幾點結(jié)論:

(1)使用SQI串行RAM,使連續(xù)順序輸出數(shù)據(jù)的速度大幅提高。

(2)最大限度地降低CPU在輸送數(shù)據(jù)中所占用的時間,CPU主要用于數(shù)據(jù)接收和修改。

(3)SQI串行RAM命令、地址及數(shù)據(jù)復(fù)用4條I/O線,使占用CPU的I/O口數(shù)量減少。

(4)當LED顯示屏垂直方向擴展時只需增加數(shù)據(jù)口和模塊數(shù)量,系統(tǒng)擴展非常方便。

(5)該控制系統(tǒng)更新速度快,特別適用于實時控制的LED顯示屏。

(6)與并行RAM相比,隨機訪問時需要拼湊命令字、地址及數(shù)據(jù),讀/寫速度較慢。

硬件控制系統(tǒng)經(jīng)兩次改進已經(jīng)定型,在調(diào)試過程中發(fā)現(xiàn)系統(tǒng)軟件也有很多地方可以優(yōu)化。例如在如圖7時序刷新時RAM1,RAM2除讀/寫控制字低4位和空操作不同外,其余部分完全一致,所以圖7時序可改進為讀/寫控制字低4位和空周期RAM1,RAM2異步操作,其余部分RAM1,RAM2同步操作。除DMA傳輸外,RAM1,RAM2送讀/寫控制字、地址及空操作部分所占用的時間為7.27 μs,對于1 000 μs的行掃描時間可以忽略不計,實驗發(fā)現(xiàn)最后的輸出速度主要是受LED單元板最大速度的限制,一般至少要將ARM的SPI_SCK時鐘4分頻后才可正常顯示。所以本控制系統(tǒng)在[116]掃描的情況下,輸出的屏長理論上可達到16 384點,屏的高度只會影響數(shù)據(jù)修改的速度,沒有多大關(guān)系。

經(jīng)測試后,顯示屏顯示正常,沒有抖動情況,使用邏輯分析儀測試其刷新率,如圖8(a)所示,信號A的電平寬度代表顯示一行所需要的時間,其寬度為1.000 11 ms,顯示一幀的時間為[16×1.000 11 ms=16 ms],所以LED顯示屏的刷新率為[116 ms=62.5 Hz],滿足正常顯示要求。分析一行數(shù)據(jù)輸出的SCK信號,如圖8(b)所示,信號前序部分為RAM1、RAM2送讀/寫控制字、地址及空操作部分,所占用的時間為7.27 μs,后續(xù)部分為3 712個SCK周期信號,所用時間為412 μs,SCK電平變換時間僅為55 ns。根據(jù)SCK時鐘輸出速度,8 192個SCK周期的時間為8 192×55×2 ns=0.911 ms,該時間小于1行所需時間寬度;因此,控制卡控制LED顯示屏的長度可以達到8 192點。

圖8 LED屏測試時序

4 結(jié) 語

在控制系統(tǒng)研制過程中發(fā)現(xiàn),傳統(tǒng)的SPI總線串行FLASH產(chǎn)品非常多,而串行RAM卻很少,SQI串行RAM產(chǎn)品只有Microchip在產(chǎn),其他只有ON Semiconductor與23LC1024同類產(chǎn)品N01S830HA僅見于新品目錄,如果有8,16線串行RAM芯片用于控制系統(tǒng)設(shè)計將大大提升單塊控制卡控制LED顯示屏區(qū)域的大小,本文雖以控制雙色LED屏為例,實際只加一個接口轉(zhuǎn)換板就可驅(qū)動全彩LED屏??刂葡到y(tǒng)中RAM1、RAM2也可看成一個大容量的“雙端口RAM”,正常時分別工作,刷新時同步工作。關(guān)于該控制系統(tǒng)改進有待進一步研究與實驗。

參考文獻

[1] 劉志龍,吳昊.STM32F103ZET6芯片在LED顯示屏控制應(yīng)用中的探索[J].科技創(chuàng)新與應(yīng)用,2014(4):30?31.

[2] 楊雪君.LED點陣顯示屏控制與設(shè)計[J].山東工業(yè)技術(shù),2013(12):217?217.

[3] 李秀忠.大屏幕LED顯示屏控制系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2012,35(19):135?138.

[4] 陳蘭,薛超.《LED顯示屏通用規(guī)范》解讀[J].信息技術(shù)與標準化,2012(10):60?63.

[5] 潘磊.基于ARM的多個LED顯示屏無線控制系統(tǒng)設(shè)計[J].電子技術(shù),2013(4):37?39.

[6] 袁勝春,劉延,趙小明.PWM調(diào)制LED顯示屏高灰度高刷新的一種方案[J].光電工程,2013(5):145?150.

[7] 靳桅,朱云芳,鄔芝權(quán),等.LED顯示屏多掃描線數(shù)據(jù)組織的通用方法[J].西南交通大學(xué)學(xué)報,2013,48(2):257?263.

[8] 樊梅香,崔琳.單片機控制LED顯示屏動態(tài)顯示的設(shè)計[J].河北工業(yè)科技,2011,28(5):306?308.

[9] 祝宇琳.LED顯示屏主要技術(shù)指標及檢測方法[J].信息技術(shù),2011(10):216?218.

[10] 呂曉雯.LED顯示屏設(shè)計與應(yīng)用[J].寧波工程學(xué)院學(xué)報,2011,23(4):77?82.

[11] 鄔芝權(quán),靳桅,朱云芳,等.基于多端口串行Flash的超長條形LED顯示屏控制[J].西南交通大學(xué)學(xué)報,2012,47(3):433?438.

[12] 徐文權(quán),張齊.LED顯示屏硬件控制系統(tǒng)設(shè)計[J].工業(yè)控制計算機,2012(5):43?44.

[13] 李衛(wèi)衛(wèi),錢劍敏.基于ARM的LED顯示屏多功能控制卡設(shè)計[J].電子設(shè)計工程,2012(17):172?174.

盘山县| 汕尾市| 榆林市| 甘洛县| 花莲市| 海口市| 万年县| 北辰区| 雷山县| 铁岭县| 蒲城县| 精河县| 苍山县| 田阳县| 阳朔县| 永济市| 新郑市| 河源市| 周口市| 黎川县| 龙州县| 平阴县| 奉贤区| 秦皇岛市| 昌江| 滨州市| 阿荣旗| 新宾| 大悟县| 抚远县| 连南| 永修县| 班戈县| 清徐县| 永丰县| 民丰县| 响水县| 珠海市| 潮安县| 临沂市| 扬州市|