日韩无码一区,老翁h狠狠躁死你h乔舒,人妻精品久久无码区洗澡,被伦流澡到高潮苏软软

我的訂單購物車(0)會(huì)員中心 聯(lián)系客服 幫助中心供應(yīng)商合作 嘉立創(chuàng)產(chǎn)業(yè)服務(wù)群
領(lǐng)券中心備貨找料立推專區(qū)爆款推薦PLUS會(huì)員BOM配單品牌庫PCB/SMT工業(yè)品面板定制

基于FPGA的SD NAND圖片顯示實(shí)現(xiàn)

2024-11-05 17:40:03閱讀量:123

1、目標(biāo)

 

使用 SD NAND數(shù)據(jù)讀寫控制器讀取事先存儲(chǔ)在 SD NAND的圖片數(shù)據(jù),將讀取的圖片數(shù)據(jù)通過SDRAM 數(shù)據(jù)讀寫控制器暫存在 SDRAM 芯片中,通過 VGA 顯示器將暫存在 SDRAM 的圖片顯示出來。 SD 卡內(nèi)存儲(chǔ)兩張圖片,其交替顯示在 VGA 顯示器上,分辨率為 640*480。

 

 SD NAND

SD NAND

SD NAND在SD2.0版本協(xié)議下,SPI模式的理論最大傳輸速率為50Mbps,加上命令號(hào)以及等待返回響應(yīng)信號(hào)的時(shí)間,實(shí)際上的傳輸速率還會(huì)下降。對(duì)于采用分辨率為640*480@60Hz 的顯示器來說,一幅圖像的數(shù)據(jù)量達(dá)到640*480*16bit = 4915200bit = 4800Kbit(1Kbit=1024bit), 每秒鐘刷新60次,那么每秒鐘需要傳輸?shù)臄?shù)據(jù)量達(dá)到4800Kbit*60 = 288000Kbit =281.25Mbit (1Mbit=1024Kbit)。由此可以看出,SD卡的讀寫速度完全跟不上VGA的數(shù)據(jù)發(fā)送速度,因此必須先緩存一幅圖像到內(nèi)部或外部存儲(chǔ)器,再通過VGA接口顯示。FPGA的片內(nèi)存儲(chǔ)資源較少,對(duì)于緩存如此大量的數(shù)據(jù),只能使用SDRAM或DDR3緩存數(shù)據(jù)。

 

2、圖片的預(yù)處理

首先選取要顯示的圖片兩張,使用 Window 系統(tǒng)自帶的畫圖工具對(duì)圖片進(jìn)行處理,將圖片處理為分辨率 640*480。

 

VGA的顯示格式為16位RGB565格式,為了使SD NAND讀出的數(shù)據(jù)可以直接在VGA上顯示,需要將圖片通過 “ IMG2LCD ” 上位機(jī)軟件轉(zhuǎn)成16位的RGB565格式的bin文件,再將bin文件導(dǎo)入SD NAND中。

 

使用 “ IMG2LCD ” 上位機(jī)軟件打開兩張圖片,按如下設(shè)置相關(guān)參數(shù),然后點(diǎn)擊保存,就生成了兩個(gè)圖片的二進(jìn)制文件(像素值)。

 

SD NAND 

 

3、SD NAND的預(yù)處理

 SD NAND在經(jīng)過多次存放數(shù)據(jù)與刪除數(shù)據(jù)之后,存入的文件有可能不是按照連續(xù)的扇區(qū)地址存儲(chǔ)的,為了避免圖片顯示錯(cuò)誤,我們將bin文件導(dǎo)入SD NAND之前,需要對(duì)SD NAND進(jìn)行一個(gè)格式化處理。

 

首先得找個(gè)讀卡器,再把所用到的SD NAND開發(fā)板插到讀卡器上邊,通過USB接口與PC建立鏈接。

 SD NAND

 

本次實(shí)驗(yàn)我依然選用的是深圳雷龍公司的一款SD NAND產(chǎn)品----CSNP32GCR01-AOW。 可以看到這款SD NAND開發(fā)板設(shè)計(jì)得很巧妙,把對(duì)外接口設(shè)計(jì)成了通用的micro接口,兼容性非常強(qiáng),不管是插讀卡器還是直接插FPGA開發(fā)板,都是即插即用,十分方便。

 

【32Gb SD NAND 二代】商品購買

 

接著說回來對(duì)SD NAND的初始化處理。插上讀卡器后,選擇對(duì)應(yīng)的磁盤,點(diǎn)擊“格式化”,并點(diǎn)擊“開始”

 

 指引

格式化完成后,將前面生成的兩張圖片對(duì)應(yīng)的bin文件存入對(duì)應(yīng)的SD NAND磁盤中:

 指引

  

SD NAND內(nèi)部的存儲(chǔ)資源是以扇區(qū)的形式進(jìn)行劃分的,為了將圖片的bin數(shù)據(jù)從SD NAND中讀取出來,我們需要找到圖片存儲(chǔ)對(duì)應(yīng)的扇區(qū)地址。扇區(qū)地址可以用“WinHex 軟件”來查看。

 

以管理員身份運(yùn)行軟件 WinHex 軟件,點(diǎn)擊“工具 ”,然后點(diǎn)擊“打開磁盤”:

 指引

 

雙擊打開對(duì)應(yīng)的SD NAND,記錄下兩個(gè) bin文件的第一扇區(qū)地址:

指引

指引

 

 此時(shí)查詢到的扇區(qū)地址就是bin文件存放的起始扇區(qū)地址,我們只需要按照這個(gè)起始扇區(qū)地址,按順序讀出SD NAND中的數(shù)據(jù)即可,直到讀完一張圖片中的所有數(shù)據(jù)。SD NAND中一個(gè)扇區(qū)存放512個(gè)字節(jié),也就是256個(gè)16位數(shù)據(jù),對(duì)于分辨率為640*480的圖片來說,共需要讀出1200(640*480/256)個(gè)扇區(qū)數(shù)據(jù)。

 

4、FPGA實(shí)現(xiàn)

       

先說下總體思路:

· SD NAND中存有兩幅圖片,一副為雷龍公司的官網(wǎng)截圖,另一幅則是本博客的頭像

· FPGA從SD NAND中讀取這兩幅圖片的像素信息,并緩存到SDRAM中

· 將SDRAM中的數(shù)據(jù)(兩幅圖片的像素信息)通過VGA接口顯示在顯示器上 

   根據(jù)這個(gè)思路,可以對(duì)應(yīng)的畫對(duì)應(yīng)的系統(tǒng)框圖:

系統(tǒng)框圖

 

FPGA頂層模塊例化了以下五個(gè)模塊:PLL時(shí)鐘模塊、SD NAND讀取圖片控制模塊、SD NAND控制器模塊、SDRAM控制器模塊和VGA驅(qū)動(dòng)模塊。 

 

【32Gb SD NAND 二代】商品購買

 

4.1、詳細(xì)設(shè)計(jì)

 

(1) 頂層模塊

頂層模塊:頂層模塊主要完成對(duì)其余各模塊的例化,實(shí)現(xiàn)各模塊之間的數(shù)據(jù)交互。需要注意的是,系統(tǒng)初始化完成是在SD NAND以及SDRAM都初始化完成后才開始拉高的,該信號(hào)控制著SD NAND讀取圖片控制模塊的復(fù)位信號(hào),因此SD NAND讀取圖片控制模塊是在系統(tǒng)初始化完成后才工作的,防止因SD NAND或者SDRAM初始化未完成導(dǎo)致數(shù)據(jù)錯(cuò)誤。

 

(2) PLL時(shí)鐘模塊

PLL時(shí)鐘模塊:PLL時(shí)鐘模塊通過調(diào)用鎖相環(huán)(PLL)IP核實(shí)現(xiàn),總共輸出五個(gè)時(shí)鐘,頻率分別為100Mhz、100Mhz(相位偏移-180度)、50Mhz、50Mhz(相位偏移180度)和25Mhz。 兩個(gè)100Mhz的時(shí)鐘用于為SDRAM控制器模塊提供驅(qū)動(dòng)時(shí)鐘;兩個(gè)50Mhz的時(shí)鐘用于為SD NAND控制器模塊提供驅(qū)動(dòng)時(shí)鐘;25Mhz用于為VGA驅(qū)動(dòng)模塊提供驅(qū)動(dòng)時(shí)鐘。

 

(3) SD NAND讀取圖片控制模塊

SD NAND讀取圖片控制模塊:SD NAND讀取圖片控制模塊通過控制SD NAND控制器的讀接口,從SD NAND中讀取圖像數(shù)據(jù),并在讀完一張圖片后延時(shí)一段時(shí)間,再去讀取另一張圖片數(shù)據(jù),實(shí)現(xiàn)兩張圖片的循環(huán)切換讀取。

 

 

(4)SD NAND控制器模塊

SD NAND控制器模塊:SD NAND控制器模塊負(fù)責(zé)驅(qū)動(dòng)SD NAND,該模塊將SD NAND的讀寫操作封裝成方便用戶使用的接口。關(guān)于SD NAND讀寫控制器模塊在上一篇文章中已經(jīng)詳細(xì)說明了,可參考: 基于FPGA的SD卡的數(shù)據(jù)讀寫實(shí)現(xiàn)(SD NAND FLASH)

 

(5)SDRAM讀寫控制模塊

SDRAM讀寫控制模塊:SDRAM讀寫控制器模塊負(fù)責(zé)驅(qū)動(dòng)SDRAM存儲(chǔ)器,緩存圖像數(shù)據(jù)。該模塊將SDRAM復(fù)雜的讀寫操作封裝成類似FIFO的用戶接口, 非常方便用戶的使用。關(guān)于此部分,有詳盡的系列文章供參考:相信我,SDRAM真的不難----匯總篇

 

(6)VGA驅(qū)動(dòng)模塊

 VGA驅(qū)動(dòng)模塊根據(jù)VGA時(shí)序參數(shù)輸出行、場(chǎng)同步信號(hào);同時(shí)它還要輸出數(shù)據(jù)請(qǐng)求信號(hào)用于讀取SDRAM中的圖片數(shù)據(jù),并將圖片通過VGA接口在顯示器上顯示。關(guān)于此部分,有詳盡的文章供參考:如何用VGA接口乳法?

 

4.2、仿真

        一般的測(cè)試中,我們都需要先進(jìn)行仿真來觀察時(shí)序等測(cè)試行為。此次實(shí)驗(yàn)由于找不到好的SD NAND的Verilog模型,所以仿真測(cè)試略。

4.3、實(shí)驗(yàn)結(jié)果

        編譯工程,把程序下載到FPGA開發(fā)板,通過VGA接口連接VGA線到顯示器,如下:

實(shí)驗(yàn)結(jié)果 

接著觀察顯示器是否會(huì)交替顯示我們事先保存的兩幅圖片。實(shí)驗(yàn)現(xiàn)象果然與預(yù)期一致:

  

SD NAND 

 

  

好啦,本次實(shí)驗(yàn)就做完啦。如果屏幕前的你也有存儲(chǔ)產(chǎn)品方面的需求的話,你都可以試試?yán)埞镜腟D NAND產(chǎn)品哦。

 

這是一家專業(yè)做存儲(chǔ)產(chǎn)品的公司,NAND Flash是其主要產(chǎn)品。 該公司專注NAND Flash設(shè)計(jì)研發(fā)13年,在這一塊可以說是相當(dāng)專業(yè)。如果你對(duì)NAND Flash仍有疑惑的問題,或者你想在你的設(shè)計(jì)中使用NAND Flash產(chǎn)品,都可以直接聯(lián)系我們

 

 SD NAND

 

【32Gb SD NAND 二代】商品購買

標(biāo)簽圖標(biāo)
CS(創(chuàng)世) | SD NAND
主站蜘蛛池模板: 青岛市| 封丘县| 江华| 灯塔市| 青田县| 东阳市| 万全县| 邵阳县| 长武县| 平阳县| 武夷山市| 中方县| 嘉禾县| 罗平县| 麟游县| 康马县| 修文县| 阳朔县| 新田县| 黄浦区| 介休市| 图木舒克市| 神农架林区| 万山特区| 霍城县| 措美县| 慈利县| 磴口县| 墨江| 拉孜县| 长丰县| 甘德县| 兴文县| 苏州市| 威信县| 盘锦市| 久治县| 友谊县| 贺兰县| 绥棱县| 县级市|