一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用FPGA對(duì)VGA圖形控制器的Verilog設(shè)計(jì)方法

FPGA之家 ? 來(lái)源:陳翠 ? 2019-06-29 10:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

VGA(視頻圖形陣列)作為一種標(biāo)準(zhǔn)的顯示接口得到廣泛的應(yīng)用。依據(jù)VGA顯示原理,介紹了利用FPGA實(shí)現(xiàn)對(duì)VGA圖形控制器Verilog設(shè)計(jì)方法。詳細(xì)描述了各硬件模塊的工作原理及實(shí)現(xiàn)途徑,并給出了軟件設(shè)計(jì)思路。

隨著可編程邏輯器件的不斷發(fā)展及其價(jià)格的不斷下降,EDA開(kāi)發(fā)軟件的不斷完善,可編程邏輯設(shè)計(jì)的應(yīng)用優(yōu)勢(shì)逐漸顯示出來(lái),特別是大規(guī)模可編程器件。而FPGA具有功能強(qiáng)大,開(kāi)發(fā)過(guò)程投資小、周期短等特點(diǎn),成為當(dāng)今硬件設(shè)計(jì)的首選方式之一。VGA(視頻圖形陣列)作為一種標(biāo)準(zhǔn)的顯示接口得到廣泛地應(yīng)用。利用FPGA芯片和EDA設(shè)計(jì)方法,可以靈活地根據(jù)用戶需求,設(shè)計(jì)出針對(duì)性強(qiáng)的VGA顯示控制器,不僅降低了生產(chǎn)成本也可以方便快速地對(duì)產(chǎn)品進(jìn)行升級(jí)換代。設(shè)計(jì)采用 Quartus II 軟件工具,并以 Altera公司的Cyclone系列FPGA的器件為主實(shí)現(xiàn)硬件平臺(tái)的設(shè)計(jì)。

1. 硬件系統(tǒng)框圖采用模塊化設(shè)計(jì)方法。

本設(shè)計(jì)的VGA控制器主要由以下模塊組成:VGA 時(shí)序控制模塊、內(nèi)部時(shí)鐘產(chǎn)生模塊、SDRAM控制模塊、串行Flash讀取模塊等,如圖1所示。

圖1 系統(tǒng)框圖

2. 主要模塊設(shè)計(jì)

2.1 VGA 時(shí)序控制模塊

VGA時(shí)序控制模塊是整個(gè)顯示控制器的關(guān)鍵部分,其實(shí)質(zhì)就是完成VGA顯示卡的功能。主要作用就是在一定的工作頻率下,產(chǎn)生準(zhǔn)確的時(shí)序關(guān)系(VS-垂直同步信號(hào),HS-水平同步信號(hào),消隱信號(hào)之間的關(guān)系)。及其在準(zhǔn)確的時(shí)序下對(duì)數(shù)據(jù)緩存區(qū)對(duì)數(shù)據(jù)進(jìn)行讀取,讀完數(shù)據(jù)后使 SDRAM 控制器及時(shí)的刷新緩存區(qū)的數(shù)據(jù)。其中產(chǎn)生準(zhǔn)確的時(shí)序關(guān)系為此模塊重點(diǎn),在VGA顯示過(guò)程中,完成一行掃描所需要的時(shí)間稱為水平掃描時(shí)間,完成一幀掃描所需要的時(shí)間稱為垂直掃描時(shí)間。每掃描完一行用行同步信號(hào)進(jìn)行同步;掃描完所有行后用場(chǎng)同步信號(hào)進(jìn)行同步。本設(shè)計(jì)采用的是800Hz x 600Hz x 60Hz模式。依據(jù)時(shí)序標(biāo)準(zhǔn),每顯示行包含1056點(diǎn),其中800點(diǎn)為有效顯示區(qū),256點(diǎn)為消隱區(qū),每行的行同步脈沖低電平寬度為128個(gè)像素點(diǎn);同理每場(chǎng)有628行,有效行為600行,其中場(chǎng)同步脈沖低電平寬度為4行。其行、場(chǎng)時(shí)序如表 1 。

表 1 行掃描、場(chǎng)掃描時(shí)序

圖2 HS時(shí)序

圖3 VS時(shí)序

其中圖2,td=800,tg=1056,ta=80,te+tf=80,tb+tc=128,單位為一個(gè)像素時(shí)鐘周期。

其中圖3,td=600,tg=628,ta=1,te+tf=23,tb+tc=4,單位為一個(gè)line時(shí)間。

依據(jù)這個(gè)標(biāo)準(zhǔn),外部50MHz時(shí)鐘經(jīng)過(guò)FPGA內(nèi)部PLL得到所需要的40MHz像素時(shí)鐘,并進(jìn)行對(duì)應(yīng)的像素點(diǎn)數(shù)和掃描行數(shù)進(jìn)行分頻處理,可以得到符合要求的行頻率、場(chǎng)頻率和消隱信號(hào)。

2.2 SDRAM控制模塊及動(dòng)態(tài)數(shù)字顯示方法

在基于FPGA的圖像顯示系統(tǒng)中,常常需要用到大容量、高速度的存儲(chǔ)器。而在各種隨機(jī)存儲(chǔ)器件中,SDRAM的價(jià)格低、速度快、容量大是比較理想的器件。但SDRAM控制邏輯較為復(fù)雜,要采用狀態(tài)機(jī)的設(shè)計(jì)方法來(lái)實(shí)現(xiàn) SDRAM 的控制模塊(也可以使用SDRAM IP核實(shí)現(xiàn))。其 SDRAM控制狀態(tài)機(jī)如圖 4 。

圖4 SDRAM狀態(tài)機(jī)

其中包含了9個(gè)狀態(tài),其中從Precharge到ModeSet為SDRAM上電后的初始化過(guò)程,其余狀態(tài)為SDRAM的正常讀寫(xiě)及刷新操作過(guò)程。對(duì)于SDRAM自身的操作本文不做詳細(xì)介紹,下面具體介紹動(dòng)態(tài)顯示數(shù)字的方法。

系統(tǒng)上電后,SDRAM上電后的初始化完成后。先通過(guò)Flash讀寫(xiě)控制模塊,把Flash中的靜態(tài)圖片讀取出來(lái),然后寫(xiě)入SDRAM中直到Flash中的圖片完全存入SDRAM。此時(shí)啟動(dòng)VGA時(shí)序控制模塊進(jìn)行圖片的顯示。

對(duì)于動(dòng)態(tài)顯示數(shù)字方法,可以先利用字模提取軟件把字模信息提取出來(lái)。而 Altera公司的FPGA器件內(nèi)均內(nèi)置了嵌入式陣列塊,通過(guò)調(diào)用其中的LPM_ROM模塊??梢匀我庠O(shè)置參數(shù),構(gòu)成內(nèi)置的ROM存儲(chǔ)器,存儲(chǔ)所摘要的字模信息。本系統(tǒng)的字模為16pixels長(zhǎng) x 16pixels寬 x 16位色(R5G6B5),所以利用LPM_ROM模塊,占用了將近10個(gè) M4K(FPGA內(nèi)置 塊ram)。

本系統(tǒng)通過(guò)接受外部 MCU 發(fā)來(lái)的命令來(lái)確定顯示數(shù)字的區(qū)域及要顯示的數(shù)字。因?yàn)閂GA時(shí)序中存在較長(zhǎng)的消隱期間,其期間是沒(méi)有顯示數(shù)據(jù)傳遞的。所以可以通過(guò)消隱期間實(shí)行對(duì)SDRAM的寫(xiě)操作,對(duì)圖片固定地址寫(xiě)入字模信息。其具體步驟:

(1)、確定要顯示數(shù)字的圖像區(qū)域首地址;

(2)、確定要顯示數(shù)字信息位于ROM中的地址;

(3)、啟動(dòng) SDRAM 寫(xiě)操作;

(4)、SDRAM 寫(xiě)操作地址增加16后,地址繼續(xù)增加800(即一行),而 ROM地址每次增加 1;

(5)、如此循環(huán)16 次(字模為 16 x16)后,如果還有要寫(xiě)的數(shù)字則繼續(xù)(1)步驟,否則停止寫(xiě)操作。

因?yàn)橹皇莿?dòng)態(tài)的改變數(shù)字,所以對(duì)原圖像改動(dòng)的數(shù)據(jù)量不是很大,所以不會(huì)造成圖像閃爍現(xiàn)象。此方法缺點(diǎn)就是字模占用的 塊RAM 資源較多,如果字模只是固定顏色的情況,則 塊RAM 資源只用到 1 個(gè) M4K,所以在資源緊張的情況下還得需要各方面比較,得到最合適的顏色分配。

2.3 Flash 的讀寫(xiě)模塊

現(xiàn)在數(shù)字電路設(shè)計(jì)中,經(jīng)常需要保存大量數(shù)據(jù),F(xiàn)lash Memory 以其集成度高、低成本、使用方便等優(yōu)點(diǎn),因此也成為設(shè)計(jì)人員的首選。

Flash可以分兩類:并行和串行。并行存儲(chǔ)量大,速度快;而串行存儲(chǔ)量相對(duì)較小,但體積小連線簡(jiǎn)單,可減少電路面積,節(jié)約成本,二者各有優(yōu)缺點(diǎn),根據(jù)實(shí)際需要選取。本系統(tǒng)對(duì)速度要求不是很高,所以選用了串行 Flash,為意法半導(dǎo)體推出的 M25P32。M25P32為SPI 接口,具有 4MB 容量,對(duì)與本設(shè)計(jì)每幅圖片接近 1MB,則可以存儲(chǔ) 4 副圖片,可以進(jìn)行 4 個(gè)界面的切換顯示。

其模塊設(shè)計(jì)必須嚴(yán)格按照 Flash 的時(shí)序控制信號(hào)。對(duì)于首次使用 Flash,先需要進(jìn)行擦除操作,編程指令可以將 1 變成 0。往 Flash 寫(xiě)入圖片數(shù)據(jù)時(shí),還是需要調(diào)用 FPGA 中的宏模塊制作一個(gè) ROM,但是由于 Flash 容量較大,一般FPGA沒(méi)有這么大的存儲(chǔ)空間,所以數(shù)據(jù)需要分多次寫(xiě)入。FPGA的ROM數(shù)據(jù)保存在.mif文中,.mif 由 Matlab 直接生成.mif文件,也可以在 Quartus II 中生成。

在對(duì) M25P32 的操作中,需要注意的是一些指令在操作完成后,需要留出一段時(shí)間 Flash進(jìn)行數(shù)據(jù)處理,比如寫(xiě)寄存器為 5ms~15ms等,如果沒(méi)有等待這段處理過(guò)程,則會(huì)出現(xiàn)一些誤操作。

FLASH操作步驟:

(1)、FLASH擦除,一般通過(guò)SPI發(fā)FLASH擦除命令,等待結(jié)束。

(2)、FLASH寫(xiě),發(fā)送寫(xiě)命令,寫(xiě)地址,數(shù)據(jù)。一般FLASH保存一些參數(shù),或者數(shù)據(jù)存儲(chǔ)用,如果FLASH內(nèi)已經(jīng)有可用的數(shù)據(jù),可以根據(jù)實(shí)際情況,也可以先讀FLASH。

(3)、FLASH讀,發(fā)送讀命令,讀地址。

3、驗(yàn)證

利用可編程邏輯器件(FPGA)可以很方便地實(shí)現(xiàn)數(shù)字系統(tǒng)設(shè)計(jì),而在Altera的QuartusII軟件平臺(tái)下,F(xiàn)PGA 設(shè)計(jì)的各個(gè)階段都得到了很好的支持,兩者有效結(jié)合使得數(shù)字系統(tǒng)的設(shè)計(jì)更加方便快捷。

通過(guò)硬件平臺(tái)的驗(yàn)證,基于 FPGA 的VGA圖形顯示器已達(dá)到設(shè)計(jì)要求,可以穩(wěn)定地實(shí)現(xiàn)界面的顯示,并可以在界面上根據(jù)需要進(jìn)行數(shù)字的動(dòng)態(tài)改變顯示,對(duì)于一些工業(yè)監(jiān)控場(chǎng)合的應(yīng)用,尤其數(shù)據(jù)量不是很大的場(chǎng)合尤為適合,不僅可以及時(shí)顯示當(dāng)前狀態(tài),還可以保存關(guān)機(jī)時(shí)狀態(tài)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618540
  • 圖形控制器
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    11351

原文標(biāo)題:基于FPGA的VGA圖形控制器的設(shè)計(jì)

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    PIC32MZDA圖形控制器問(wèn)題

    嗨,伙計(jì)們,我對(duì)此有點(diǎn)困惑。在PIC32MZDA手冊(cè)頁(yè)583中,它提到了內(nèi)部圖形控制器:-高達(dá)800x480(WVGA)靜止圖像高達(dá)1280x1024。這是否意味著最大res是800x480或最大res是1280x1024?Pete:)
    發(fā)表于 03-11 10:55

    如何使用Verilog實(shí)現(xiàn)基于FPGA的SDRAM控制器?

    本文提出了一種基于FPGA的SDRAM控制器的設(shè)計(jì)方法,并用Verilog給于實(shí)現(xiàn),仿真結(jié)果表明通過(guò)該方法設(shè)計(jì)實(shí)現(xiàn)的
    發(fā)表于 04-15 06:46

    請(qǐng)問(wèn)一下怎么用FPGA實(shí)現(xiàn)汽車視頻和圖形控制?

    請(qǐng)問(wèn)一下怎么用FPGA實(shí)現(xiàn)汽車視頻和圖形控制
    發(fā)表于 04-29 06:12

    基于FPGA圖形式AMLCD控制器該如何去設(shè)計(jì)?

    基于FPGA圖形式AMLCD控制器該如何去設(shè)計(jì)?怎樣去設(shè)計(jì)一種VGA視頻接口電路?
    發(fā)表于 06-08 06:57

    基于FPGA的LCD&VGA控制器設(shè)計(jì)

    介紹了基于FPGA圖形式LCD&VGA控制器的設(shè)計(jì),詳細(xì)討論了
    發(fā)表于 07-21 17:25 ?0次下載

    基于FPGA的LCD&VGA控制器設(shè)計(jì)

    摘要:介紹了基于FPGA圖形式LCD&VGA控制器的設(shè)計(jì),詳細(xì)討論了用VHDL設(shè)計(jì)行場(chǎng)掃描時(shí)序的方法,這種設(shè)計(jì)
    發(fā)表于 06-20 13:28 ?1598次閱讀
    基于<b class='flag-5'>FPGA</b>的LCD&<b class='flag-5'>VGA</b><b class='flag-5'>控制器</b>設(shè)計(jì)

    VGA圖形控制器FPGA實(shí)現(xiàn)

    經(jīng)過(guò)硬件平臺(tái)的驗(yàn)證,基于FPGAVGA 圖形顯示已達(dá)到設(shè)計(jì)要求,可實(shí)現(xiàn)彩條、漢字、小圖像和大圖像的顯示,并可實(shí)現(xiàn)FPGA 器件對(duì)顯示
    發(fā)表于 06-08 09:55 ?2345次閱讀
    <b class='flag-5'>VGA</b><b class='flag-5'>圖形控制器</b>的<b class='flag-5'>FPGA</b>實(shí)現(xiàn)

    基于FPGAVGA圖形控制器設(shè)計(jì)

    VGA(視頻圖形陣列)作為一種標(biāo)準(zhǔn)的顯示接口得到廣泛的應(yīng)用。利用FPGA 芯片和EDA 設(shè)計(jì)方法,可以因地制宜,根據(jù)用戶的特定需要,設(shè)計(jì)出針對(duì)性強(qiáng)的
    發(fā)表于 09-23 16:31 ?4501次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>VGA</b><b class='flag-5'>圖形控制器</b>設(shè)計(jì)

    基于FPGA圖形式AMLCD控制器的設(shè)計(jì)

    本文詳細(xì)介紹了已在實(shí)際項(xiàng)目中應(yīng)用的基于FPGA圖形式AMLCD控制器設(shè)計(jì),這種設(shè)計(jì)方法稍作修改即可應(yīng)用于常見(jiàn)VGA視頻接口電路的設(shè)計(jì)。
    發(fā)表于 12-21 10:38 ?1631次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>圖形</b>式AMLCD<b class='flag-5'>控制器</b>的設(shè)計(jì)

    基于FPGAVGA圖像控制器的設(shè)計(jì)與實(shí)現(xiàn)

    基于FPGAVGA圖像控制器的設(shè)計(jì)與實(shí)現(xiàn)
    發(fā)表于 08-30 15:10 ?13次下載

    帶有圖形控制器和USB OTG的64/100引腳16位閃存單片機(jī)

    帶有圖形控制器和USB OTG的64/100引腳16位閃存單片機(jī)手冊(cè)。
    發(fā)表于 05-20 10:38 ?8次下載

    RA8889ML3N TFT LCD文字圖形控制器規(guī)格書(shū)

    RA8889ML3N TFT LCD文字圖形控制器規(guī)格書(shū)
    發(fā)表于 02-17 11:42 ?5次下載

    初級(jí)用戶手冊(cè) UPD72256、UPD72257 圖形控制器硬件

    初級(jí)用戶手冊(cè) UPD72256、UPD72257 圖形控制器硬件
    發(fā)表于 04-21 18:46 ?0次下載
    初級(jí)用戶手冊(cè) UPD72256、UPD72257 <b class='flag-5'>圖形控制器</b>硬件

    Ravin-E 圖形控制器用戶手冊(cè)

    Ravin-E 圖形控制器用戶手冊(cè)
    發(fā)表于 05-09 18:49 ?0次下載
    Ravin-E <b class='flag-5'>圖形控制器</b>用戶手冊(cè)

    Ravin-E 圖形控制器用戶手冊(cè)

    Ravin-E 圖形控制器用戶手冊(cè)
    發(fā)表于 06-27 20:11 ?0次下載
    Ravin-E <b class='flag-5'>圖形控制器</b>用戶手冊(cè)