新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CPLD和ARM的異步LED顯示屏控制系統(tǒng)設(shè)計(jì)

基于CPLD和ARM的異步LED顯示屏控制系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2011-08-29 來源:網(wǎng)絡(luò) 收藏
基于技術(shù)的大屏幕顯示屏已經(jīng)廣泛用于廣場(chǎng)、機(jī)場(chǎng)、體育場(chǎng)館和車站等公共場(chǎng)所,在大屏幕上顯示文字、動(dòng)畫、圖像以及視頻等多媒體信息。大屏幕控制系統(tǒng)在顯示信息時(shí),不需要經(jīng)過計(jì)算機(jī)對(duì)數(shù)據(jù)進(jìn)行處理,是直接讀取存放在顯示器緩沖區(qū)中的信息來顯示的,當(dāng)需要更新信息時(shí),顯示屏的數(shù)據(jù)采集模塊向顯示模塊發(fā)送新數(shù)據(jù)。本文利用高速數(shù)據(jù)存儲(chǔ)和處理的技術(shù)方法,設(shè)計(jì)了一種彩色異步大屏幕顯示屏控制系統(tǒng)。

  1系統(tǒng)設(shè)計(jì)

  1.1系統(tǒng)的總體框架

  本文設(shè)計(jì)的LED大屏幕顯示屏控制系統(tǒng)總體框架如圖1所示?! ?/P>

基于CPLD和ARM的異步LED顯示屏控制系統(tǒng)設(shè)計(jì)
圖1LED大屏幕控制系統(tǒng)結(jié)構(gòu)圖

  從圖中可以看出,系統(tǒng)主要包括以下4個(gè)組成部分:

  1)上位機(jī)用戶控制平臺(tái)部分,主要用于對(duì)圖像數(shù)據(jù)進(jìn)行壓縮和對(duì)顯示信息的修改;

  2)基于的屏幕通信接口部分,用于實(shí)現(xiàn)與上位機(jī)通信,接收上位機(jī)部分的圖像數(shù)據(jù)和控制信號(hào);

  3)基于的大屏幕主控制器部分,實(shí)現(xiàn)圖像灰度調(diào)制和重構(gòu);

  4)大屏幕顯示驅(qū)動(dòng)電路部分,是為大屏幕的LED燈管提供驅(qū)動(dòng)恒定的電流。

  如圖2所示為系統(tǒng)的數(shù)據(jù)流圖?! ?/P>

基于CPLD和ARM的異步LED顯示屏控制系統(tǒng)設(shè)計(jì)
圖2LED大屏幕控制系統(tǒng)數(shù)據(jù)流圖

  1.2系統(tǒng)硬件設(shè)計(jì)

  目前有兩種主流主處理器供顯示屏控制系統(tǒng)使用,一種是,另一種是ATMEL公司生產(chǎn)的89055。因?yàn)锳RM不但運(yùn)算速度快,還可以對(duì)各種數(shù)字信號(hào)進(jìn)行實(shí)時(shí)處理,很適合LED大屏幕控制系統(tǒng)的主處理器在運(yùn)行過程中需要對(duì)大量數(shù)據(jù)進(jìn)行搬移的特點(diǎn),同時(shí)也為設(shè)計(jì)后期的軟件編程留有充裕的時(shí)間空間。因此我們選定ARM為本系統(tǒng)的主處理器。

  1.2.1通信模塊設(shè)計(jì)

  在異步LED大屏幕控制系統(tǒng)中,可以在脫機(jī)狀態(tài)顯示不同的信息。因此,實(shí)現(xiàn)對(duì)大屏幕顯示內(nèi)容的實(shí)時(shí)更新和調(diào)整是LED大屏幕控制系統(tǒng)設(shè)計(jì)中必須要進(jìn)行的重要環(huán)節(jié)。對(duì)于LED顯示器與上位機(jī)的通信功能進(jìn)行設(shè)計(jì)與研究,其目的是為了快速、可靠地獲得調(diào)整后的顯示內(nèi)容。因此,本文設(shè)計(jì)的系統(tǒng)提供了3種通信方式,分別是以太網(wǎng)通信、串口通信和無線射頻通信。這3種通信方式不但增強(qiáng)了通信的性能,而且方便了用戶的使用。

  1.2.2顯示控制模塊設(shè)計(jì)

  屏幕控制電路是LED大屏幕控制系統(tǒng)中的一個(gè)重要組成部分,顯示屏控制邏輯電路生成讀寫控制信號(hào)和訪問顯示緩沖區(qū)數(shù)據(jù)的地址,讀取出來的顯示數(shù)據(jù)通過顯示驅(qū)動(dòng)程序發(fā)送到LED顯示屏顯示。顯示控制模塊主要由讀/寫地址產(chǎn)生器、計(jì)數(shù)器、讀/寫地址選擇器、讀/寫選擇器、讀/寫信號(hào)產(chǎn)生器、移位鎖存器和同步控制器等部分組成。

  要在LED大屏幕上顯示一幅完整的圖形圖像,和ARM必須要協(xié)同一致工作,完成顯示存儲(chǔ)器中圖形圖像數(shù)據(jù)的讀取、解壓,圖像顯示效果的制作、灰度調(diào)制和生成顯示屏的驅(qū)動(dòng)邏輯等各個(gè)部分的功能。顯示控制模塊的硬件結(jié)構(gòu)圖如圖3所示。  

基于CPLD和ARM的異步LED顯示屏控制系統(tǒng)設(shè)計(jì)
圖3LED顯示屏主控制器電路圖

  在控制電路中,數(shù)據(jù)總線將與ARM之間連接起來,通過芯片2選通CPLD中的數(shù)據(jù)緩沖區(qū),所以ARM輸出數(shù)據(jù)的基地址為0x40000000。ARM首先將FLASH中保存的圖像數(shù)據(jù)復(fù)制到SDRAM中,經(jīng)過相關(guān)處理后,調(diào)用不同的動(dòng)態(tài)顯示效果程序?qū)DRAM中的圖像數(shù)據(jù)循環(huán)寫入CPLD緩沖區(qū),CPLD生成相應(yīng)的時(shí)序轉(zhuǎn)換,串行輸出至LED驅(qū)動(dòng)電路。

  2LED大屏幕控制系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)

  考慮到系統(tǒng)硬件驅(qū)動(dòng)程序的運(yùn)行效率以及軟件的開發(fā)周期,本系統(tǒng)采用C語(yǔ)言作為軟件的開發(fā)工具。

  設(shè)計(jì)的應(yīng)用程序要實(shí)現(xiàn)與顯示屏硬件的連接功能,一要與系統(tǒng)底層的硬件驅(qū)動(dòng)程序進(jìn)行通信,二要為用戶提供控制界面并可以接收用戶輸入的各種指令。為此,采用VisualC++作為系統(tǒng)應(yīng)用程序的開發(fā)工具。通信應(yīng)用程序使用MSComm(MicrosoftCommunicationsControl)控件來編寫,MSComm是微軟公司為用戶提供的簡(jiǎn)化Window、下串行的通信編程ActiveX控件。MSComm控件通過外部設(shè)備的串行端口進(jìn)行數(shù)據(jù)的傳輸和接收,可以為應(yīng)用程序提供串行的通信功能。利用MSComm控件進(jìn)行串口的編程非??旖荨⒎奖?。MSComm控件是基于事件驅(qū)動(dòng)的,在一般情況下,在事件發(fā)生時(shí)必須要得到通知。在實(shí)際編程中,可以在OnComm事件處理函數(shù)中加入自己編寫的處理代碼,OnComm事件處理函數(shù)還可以檢查和處理程序在運(yùn)行過程中出現(xiàn)通信錯(cuò)誤。OnComm控件的最大優(yōu)點(diǎn)是程序響應(yīng)的時(shí)間非常短,可靠性較高。每個(gè)MSComm控件于一個(gè)串行端口對(duì)應(yīng)。如果應(yīng)用程序需要訪問多個(gè)串行端口,就要使用多MSComm控件。MSComm控件的行為是由其各種屬性決定的。在VC++中可以通過一系列的成員函數(shù)設(shè)置這些屬性,從而控制串行口的數(shù)據(jù)格式、波特率等特征。另外,在VC++中,MSComm控件是作為CWND類的派生類出現(xiàn)的,在系統(tǒng)初始化時(shí)必須創(chuàng)建這個(gè)窗口,并使用成員函數(shù)設(shè)置其屬性,使它和下位機(jī)使用相同的通訊格式,否則是不能建立正確的串行通訊的。

  3結(jié)論

  目前,現(xiàn)有的LED大屏幕控制系統(tǒng)中,還有很多是采用8位或者16位單片機(jī)作為系統(tǒng)的主處理器,系統(tǒng)存在運(yùn)算速度慢、存儲(chǔ)空間較小、通信方式單一以及數(shù)據(jù)傳輸速度慢等缺點(diǎn)。針對(duì)上述存在的問題,本文設(shè)計(jì)了一種新的LED大屏幕控制系統(tǒng),系統(tǒng)采用ARM作為主處理器,結(jié)合可編程邏輯器件設(shè)計(jì)了系統(tǒng)的驅(qū)動(dòng)電路,實(shí)現(xiàn)了異步LED大屏幕的彩色圖像、文字和視頻等的顯示。





關(guān)鍵詞: CPLD ARM LED S3C44B0X

評(píng)論


相關(guān)推薦

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

關(guān)閉