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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的LCD顯示遠(yuǎn)程更新

          基于FPGA的LCD顯示遠(yuǎn)程更新

          作者: 時(shí)間:2014-11-18 來(lái)源:網(wǎng)絡(luò) 收藏

            1 項(xiàng)目背景

          本文引用地址:http://www.ex-cimer.com/article/265561.htm

            1.1 研究背景

            顯示屏的應(yīng)用越來(lái)越廣,數(shù)量越來(lái)越多。顯示屏應(yīng)用廣泛,無(wú)處不在。小到家庭各種電器設(shè)備,大到軍事設(shè)備。更常見(jiàn)是用于各種公共場(chǎng)合如體育館、廣場(chǎng)等商業(yè)用途。給我們傳遞一種更為直觀、生動(dòng)的信息。從此我們的生活發(fā)生了巨大改變。巨大的應(yīng)用巨大的市場(chǎng)帶來(lái)了巨大的商機(jī)。傳統(tǒng)的顯示器大多采用控制系統(tǒng)與顯示界面集成在一起的方案,不便于實(shí)時(shí)管理與有效維護(hù),不便于及時(shí)更新;也不便于人親臨惡劣的工作環(huán)境下進(jìn)行人為操控。LED顯示屏用戶迫切需要實(shí)現(xiàn)對(duì)LED顯示屏的遠(yuǎn)程控制。

            基于顯示的是為了通過(guò)中央服務(wù)器可以實(shí)現(xiàn)有效地更新廣泛分布的LCD顯示屏,達(dá)到便于操縱,低成本,高效數(shù)據(jù)傳輸?shù)忍攸c(diǎn)。

            1.2 基于的LCD顯示的的優(yōu)越性

            本項(xiàng)目通過(guò)與遠(yuǎn)程控制進(jìn)行通信,便且使用FTP協(xié)議來(lái)更新LCD顯示內(nèi)容。使中央服務(wù)器與分布在其他區(qū)域的LCD顯示器組成網(wǎng)絡(luò)并IP編址,可以通過(guò)中央服務(wù)器進(jìn)行高效、方便、可靠地管理和維護(hù)LCD顯示器。具有以下優(yōu)勢(shì):

            采用可編程的進(jìn)行設(shè)計(jì),便于設(shè)計(jì)的更新與升級(jí),節(jié)約成本。

            通過(guò)使用TCP/IP服務(wù),使系統(tǒng)在傳輸數(shù)據(jù)和接受數(shù)據(jù)的過(guò)程中穩(wěn)定性和可靠性得到有效地保證。

            采用SOPC集成系統(tǒng)的設(shè)計(jì),是整個(gè)系統(tǒng)的復(fù)雜性大為降低。

            LCD體積小、質(zhì)量輕、功耗低,可以用大規(guī)模集成電路直接驅(qū)動(dòng),可以在明亮環(huán)境下顯示,不含射線傷害。

            2 項(xiàng)目方案

            2.1 實(shí)現(xiàn)功能

            1、系統(tǒng)采用FPGA嵌入軟核Microblaze作為微控制器,用于發(fā)送需要傳輸?shù)臄?shù)據(jù)。

            2、通過(guò)有效地實(shí)現(xiàn)與遠(yuǎn)程LCD接收端進(jìn)行通信。

            3、在接收端,對(duì)收到的FTP數(shù)據(jù)進(jìn)行存儲(chǔ)并實(shí)現(xiàn)對(duì)LCD屏顯示內(nèi)容的更新。

            2.2方案設(shè)計(jì)原理

            該方案使用Atlys Spartan?-6 FPGA 開發(fā)套件硬件平臺(tái),系統(tǒng)原理框圖如下:



            本方案做的是有線數(shù)據(jù)接收,首先使用FPGA嵌入軟核Microblaze作為微控制器,然后通過(guò)與遠(yuǎn)程控制進(jìn)行通信,在接受端接收到發(fā)送過(guò)來(lái)的信號(hào),并存入RAM存儲(chǔ)器中,同時(shí)對(duì)LCD顯示屏進(jìn)行更新。

            2.3硬件設(shè)計(jì)

            通過(guò)上面對(duì)整個(gè)系統(tǒng)功能要求, 性能要求的分析, 我們可以確定系統(tǒng)的基本硬件結(jié)構(gòu), 其組成框圖如下所示::



            從上面的系統(tǒng)硬件框圖中我們可以看到, 整個(gè)系統(tǒng)由Microblaze組成的微控制器, PLB外設(shè)總線, LCD控制器, 以太網(wǎng)、以及片上RAM等組成。Microblaze微控制器作為控制器,通過(guò)PLB總線與各部分控制器以及外圍聯(lián)接,負(fù)責(zé)整個(gè)系統(tǒng)的運(yùn)行。片上SDRAM作為Microblaze微控制器執(zhí)行指令的存儲(chǔ)空間,在LCD更新過(guò)程中也需要保存接收到的FTP數(shù)據(jù)。整個(gè)系統(tǒng)最主要就是LCD控制IP核以及以太網(wǎng)通信部分。

            LCD控制IP核主要由地址發(fā)生模塊、顯存讀取模塊、時(shí)序發(fā)生模塊、幀存控制模塊、行緩存等模塊組成。

            ·地址發(fā)生模塊

            地址發(fā)生模塊為顯存讀取模塊提供了一張顯存地址表,地址表上涵蓋了LCD上每個(gè)像素點(diǎn)的訪問(wèn)地址,地址發(fā)生模塊設(shè)計(jì)保證在LCD顯示掃描時(shí)鐘進(jìn)行到某一像素點(diǎn)時(shí),恰好向顯存讀取模塊提供該像素點(diǎn)的地址,顯存讀取模塊據(jù)此地址從顯存讀取相應(yīng)的像素點(diǎn)信息。地址發(fā)生模塊動(dòng)態(tài)地向顯存讀取模塊提供地址的行為與顯存讀取模塊的讀操作是同步進(jìn)行的,同步時(shí)鐘為像素點(diǎn)時(shí)鐘D—CLK,觸發(fā)信號(hào)是來(lái)自時(shí)序發(fā)生模塊的數(shù)據(jù)使能信號(hào)Data—EN,復(fù)位信號(hào)為時(shí)序發(fā)生模塊的場(chǎng)同步消隱信號(hào)HB。

            ·顯存讀取模塊

            顯示讀取子模塊通過(guò)16 bit并行數(shù)據(jù)總線訪問(wèn)顯存SRAM,對(duì)FPGA“調(diào)色板”顏色處理子模塊提供4 bit并行數(shù)據(jù)接口。本模塊的輸入時(shí)鐘頻率是LCD像素點(diǎn)時(shí)鐘信號(hào)D—CLK的4倍,觸發(fā)信號(hào)為L(zhǎng)CD數(shù)據(jù)使能信號(hào)Data—EN,每4 bit顯存內(nèi)容描述一個(gè)像素點(diǎn),可顯示16種顏色(顏色及色深可根據(jù)系統(tǒng)的要求,適時(shí)擴(kuò)充)。顯存讀取狀態(tài)機(jī)循環(huán)1次可讀取4個(gè)像素點(diǎn)的信息,在時(shí)鐘信號(hào)的觸發(fā)下,依次將點(diǎn)像素信息輸送至“調(diào)色板”顏色處理子模塊。將以上操作分解為如下步驟:(1)消隱:每行或每場(chǎng)的非顯示階段,此階段送至LCD的圖像信息無(wú)效;(2)SO:取每包圖像信息的第1個(gè)像素點(diǎn)信息,并送至“調(diào)色板”顏色處理子模塊;(3)s1:取每包圖像信息的第2個(gè)像素點(diǎn)信息,并送至“調(diào)色板”顏色處理子模塊;(4)S2:取每包圖像信息的第3個(gè)像素點(diǎn)信息,并送至“調(diào)色板”顏色處理子模塊;(5)s3:取每包圖像信息的第4個(gè)像素點(diǎn)信息,并送至“調(diào)色板”顏色處理子模塊。

            ·時(shí)序發(fā)生模塊

            時(shí)序發(fā)生模塊主要產(chǎn)生數(shù)字TFT—LCD所需的像素點(diǎn)時(shí)鐘D—CLK、行同步信號(hào)H—SYNC、場(chǎng)同步信號(hào)V—SYNC、行同步信號(hào)H—SYNC、數(shù)據(jù)使能信號(hào)Data—EN信號(hào)。隨著FPGA的出現(xiàn),利用編程邏輯方法產(chǎn)生行場(chǎng)掃描時(shí)序是一個(gè)發(fā)展方向。這種方法具有電路簡(jiǎn)單、功能強(qiáng)、修改方便、可靠性高等優(yōu)點(diǎn),只需在代碼中修改一些時(shí)序參數(shù)就能產(chǎn)生任意時(shí)序的波形,可以支持各種接口時(shí)序要求的TFT. — LCD顯示器。

            ·幀存控制模塊

            幀存控制模塊實(shí)現(xiàn)2個(gè)幀存SRAM的“乒乓”切換,當(dāng)DSP向其中一個(gè)幀存寫顯示信息時(shí),由FPGA構(gòu)成的幀存控制模塊將另一個(gè)幀存的控制權(quán)交給LCD顯示控制器圖像處理模塊,反之亦然。

            ·軟件設(shè)計(jì)

            TCP/IP是一種網(wǎng)絡(luò)通信協(xié)議,它規(guī)范了網(wǎng)絡(luò)上所有通信設(shè)備,尤其是一個(gè)主機(jī)與另一個(gè)主機(jī)之間的數(shù)據(jù)往來(lái)格式及傳送方式。TCP/IP是Internet的基礎(chǔ)協(xié)議,也是一種計(jì)算機(jī)數(shù)據(jù)打包和尋址的標(biāo)準(zhǔn)方法。在Intemet中幾乎可以無(wú)差錯(cuò)地傳送數(shù)據(jù)。

            LWIP是瑞士計(jì)算機(jī)科學(xué)院的Adam Dunkels等開發(fā)的一套用于嵌入式系統(tǒng)的開放源代碼TCP/IP協(xié)議棧。LWIP既可以移植到操作系統(tǒng)上,也可以在無(wú)操作系統(tǒng)的情況下獨(dú)立運(yùn)行。LWIP TCP/IP實(shí)現(xiàn)的重點(diǎn)是在保持TCP協(xié)議主要功能的基礎(chǔ)上減少對(duì)RAM的占用,一般它只需要幾十kB的RAM和50 kB左右的ROM就可以運(yùn)行,使得LWIP協(xié)議棧適合在嵌入式系統(tǒng)中使用。

            LWIP的特性如下:

            (1)支持多網(wǎng)絡(luò)接口下的IP轉(zhuǎn)發(fā);

            (2)支持ICMP協(xié)議;

            (3)包括實(shí)驗(yàn)性擴(kuò)展的的UDP(用戶數(shù)據(jù)報(bào)協(xié)議);

            (4)包括阻塞控制,I T估算,以及快速恢復(fù)和轉(zhuǎn)發(fā)的TCP(傳輸控制協(xié)議);

            (5)提供專門的內(nèi)部回調(diào)接口(Raw API)用于提高應(yīng)用程序性能;

            (6)可選擇的Berkeley接121API(多線程情況下);

            (7)在最新的版本中支持PPP;

            (8)新版本中增加了的IP fragment的支持;

            (9)支持DHCP協(xié)議,動(dòng)態(tài)分配IP地址。

            在Xilinx的Spartan 6 FPGA上實(shí)現(xiàn)的LWIP TCP/IP采用的是LWIP的版本V1.1.1,提出和采用以下幾種移植和運(yùn)行方式:

            (1 )TCP/IP協(xié)議的每一層是一個(gè)單獨(dú)進(jìn)程,鏈路層是一個(gè)進(jìn)程,IP層是一個(gè)進(jìn)程,TCP層是一個(gè)進(jìn)程。這樣的優(yōu)勢(shì)是網(wǎng)絡(luò)協(xié)議的每一層都非常清晰,代碼的調(diào)試和理解都非常容易;最大的缺點(diǎn)是數(shù)據(jù)跨層傳遞時(shí)會(huì)引起上下文切換。接收一個(gè)TCP信息段要引起3次上下文切換(從網(wǎng)卡驅(qū)動(dòng)程序到鏈路層進(jìn)程,從鏈路層進(jìn)程到IP層進(jìn)程,從IP層進(jìn)程~]TCP進(jìn)程)。對(duì)于操作系統(tǒng)來(lái)說(shuō),任務(wù)切換是要浪費(fèi)時(shí)間的。過(guò)頻的上下文切換使得系統(tǒng)運(yùn)行比較沉重,這是不可取的。

            (2) TCP/IP協(xié)議棧在操作系統(tǒng)內(nèi)核當(dāng)中,應(yīng)用程序通過(guò)操作系統(tǒng)的系統(tǒng)調(diào)用和協(xié)議棧來(lái)進(jìn)行通訊,這樣TCP/IP的協(xié)議棧就限定于特定的操作系統(tǒng)內(nèi)核了。此法理論上可以實(shí)現(xiàn),但代碼不具有通用性,不便于將來(lái)的維護(hù)和再移植,同樣也是不太可取的。

            (3)TCP/IP協(xié)議棧都在一個(gè)進(jìn)程當(dāng)中,這樣TCP/IP協(xié)議棧就和操作系統(tǒng)內(nèi)核分開了,而應(yīng)用層程序既可以是單獨(dú)的進(jìn)程也可以駐留在TCP/IP進(jìn)程中。如果應(yīng)用程序是單獨(dú)的進(jìn)程,可以通過(guò)操作系統(tǒng)的郵箱、消息隊(duì)列等和TCP/IP進(jìn)程進(jìn)行通訊。此種方式移植層次清晰,移植代碼量適中,是比較好的思路,并且在此基礎(chǔ)上移植調(diào)試成功,證明此思路是切實(shí)可行的,但缺點(diǎn)是依賴于操作系統(tǒng)的任務(wù)通信機(jī)制,不能得到很高的性能。

            (4)把應(yīng)用層程序駐留TCP/IP進(jìn)程中,則應(yīng)用層程序就利用內(nèi)部回調(diào)函數(shù)口(Raw API)和TCP/IP協(xié)議棧通訊。應(yīng)用層程序既可以是獨(dú)立的任務(wù),也可以在TCP/IP線程中利用內(nèi)部回調(diào)函數(shù)n(Raw API)和TCP/IP協(xié)議棧通訊。此方式不依賴實(shí)時(shí)操作系統(tǒng),能在無(wú)操作系統(tǒng)的情況下運(yùn)行。經(jīng)過(guò)對(duì)LWIP協(xié)議棧源碼的徹底消化,改寫其接口代碼,經(jīng)多次調(diào)試移植成功,測(cè)試性能得到了很大提升。

            2.4 軟件設(shè)計(jì)流程圖

            軟件設(shè)計(jì)分為發(fā)送部分和接受部分。

            程序流程圖如下:

            發(fā)送端流程圖 接收端流程圖


          LCD顯示屏相關(guān)文章:lcd顯示屏原理


          fpga相關(guān)文章:fpga是什么


          tcp/ip相關(guān)文章:tcp/ip是什么


          led顯示器相關(guān)文章:led顯示器原理


          lcd相關(guān)文章:lcd原理


          評(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); })();