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

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

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

變不可能為可能:如何實(shí)現(xiàn)DSP和SDRAM數(shù)據(jù)讀取

電子工程師 ? 來(lái)源:FPGA設(shè)計(jì)論壇 ? 作者:FPGA設(shè)計(jì)論壇 ? 2020-10-25 09:46 ? 次閱讀

DSP 應(yīng)用系統(tǒng)中,需要大量外擴(kuò)存儲(chǔ)器的情況經(jīng)常遇到。例如,在數(shù)碼相機(jī)和攝像機(jī)中,為了將現(xiàn)場(chǎng)拍攝的諸多圖片或圖像暫存下來(lái),需要將 DSP 處理后的數(shù)據(jù)轉(zhuǎn)移到外存中以備后用。從目前的存儲(chǔ)器市場(chǎng)看,SDRAM 由于其性能價(jià)格比的優(yōu)勢(shì),而被 DSP 開發(fā)者所青睞。DSP 與 SDRAM 直接接口是不可能的。

FPGA(現(xiàn)場(chǎng)可編程門陣列)由于其具有使用靈活、執(zhí)行速度快、開發(fā)工具豐富的特點(diǎn)而越來(lái)越多地出現(xiàn)在現(xiàn)場(chǎng)電路設(shè)計(jì)中。本文用 FPGA 作為接口芯片,提供控制信號(hào)和定時(shí)信號(hào),來(lái)實(shí)現(xiàn) DSP 到 SDRAM 的數(shù)據(jù)存取。

1 、SDRAM 介紹

本文采用的 SDRAM 為 TMS626812A,圖 1 為其功能框圖。它內(nèi)部分為兩條,每條 1M 字節(jié),數(shù)據(jù)寬度為 8 位,故存儲(chǔ)總?cè)萘繛?2M 字節(jié)。

所有輸入和輸出操作都是在時(shí)鐘 CLK 上升沿的作用下進(jìn)行的,刷新時(shí)鐘交替刷新內(nèi)部的兩條 RAM。TMS626812A 主要有六條控制命令,它們是:條激尖 / 行地址入口、列地址入口 / 寫操作、列地址入口 / 讀操作、條無(wú)效、自動(dòng)刷新、自動(dòng)刷新。SDRAM 與 TMS320C54x 接口中用到的命令主要有:MRS、DEAC、ACTV、WRT-P、READ-P 和 REFR。這里,設(shè)計(jì)目的就是產(chǎn)生控制信號(hào)來(lái)滿足這些命令的時(shí)序要求。關(guān)于 TMS626812A 的具體說(shuō)明可以查看其數(shù)據(jù)手冊(cè)。

2 、SDRAM 與 TMS320C54x 之間的通用接口

圖 2 是 DSP 與 SDRAM 的通用接口框圖,圖中 DSP I/F 代表 TMS320C54x 端接口單元,SDRAM CNTL 代表 SDRAM 端接口控制單元。SDRAM 被設(shè)置成一次性讀寫 128 個(gè)字節(jié),而 DSP 一次只讀寫一個(gè)字節(jié),因而建立了兩個(gè)緩沖區(qū) B0、B1 來(lái)緩存和中轉(zhuǎn)數(shù)據(jù)。B0、B1 大小都為 128 字節(jié),而且映射到 DSP 中的同一地址空間。

盡管 B0、B1 對(duì)應(yīng)于同一地址空間,但對(duì)兩個(gè)緩沖區(qū)不能在同一時(shí)刻進(jìn)行合法訪問(wèn)。實(shí)際上,當(dāng) B0 被 DSP 訪問(wèn)時(shí),B1 就被 SDRAM 訪問(wèn),反之也成立。若 DSP 向 B1 寫數(shù)據(jù),SDRAM 就從 B0 讀數(shù)據(jù);而當(dāng) SDRAM 的數(shù)據(jù)寫到 B0 中時(shí),DSP 就從 B1 讀數(shù)據(jù)。兩者同時(shí)從同一緩沖區(qū)讀或?qū)懚紝⒓ぐl(fā)錯(cuò)誤。上邊所述的數(shù)據(jù)轉(zhuǎn)移方式有兩種好處:一是加速了 TMS320C54x 的訪問(wèn)速度,二是解決了二者之間的時(shí)鐘不同步問(wèn)題。

3 、FPGA 中的硬件設(shè)計(jì)

TMS320C54x 為外部存儲(chǔ)器的擴(kuò)展提供了下列信號(hào):CLK、CS、AO~A15、D0~D15、RW、MATRB、ISTRB、IS,而 SDRAM 接收下列信號(hào):CLK、CKE、CS、CQM、W、RAS、CAS、A0~A11。由于兩端控制信號(hào)不同,需要在 DSP 與 SDRAM 之間加上控制邏輯,以便將從 DSP 過(guò)來(lái)的信號(hào)解釋成 SDRAM 能夠接收的信號(hào),圖 3 是用 FPGA 設(shè)計(jì)的頂層硬件接口圖。

圖中主要由三個(gè)模塊:DSP-IQ、DMA-BUF 和 SD-CMD。其中 DSP-IO 是 DSP 端的接口,用來(lái)解碼 TMS320C54x 發(fā)送的 SDRAM 地址和命令。DMA-BUF 代表緩沖區(qū) BO、B1。SD_CMD 模塊用來(lái)產(chǎn)生 SDRAM 訪問(wèn)所需的各種信號(hào)。

DSP_IO 模塊又包括 IO_DMA、DSP_BUF 和 DSP_READ。IO_DMA 產(chǎn)生 SDRAM 的命令信號(hào),即圖 3 中的 DSP_RDY、DSP_SD_RW、DSP_SD_BANK_SW、DSP_SD_ADDR[20..0]、DSP_SD_ADDR_RESET、DSP_SD_START。DSP_BUF 產(chǎn)生訪問(wèn) B0、B1 的地址、數(shù)據(jù)和控制信號(hào),圖 3 中指 DSP_SD_BUFCLKI、DSP_SD_BUFCLKO、DSP_SD_BUFWE、DSP_SD_BUFADDR[6..0]、DSP_SD_BUFIN[7..0]。DSP-READ 子模塊用來(lái)控制 DSP 的讀寫方向。

DMA_BUF 分為 B0、B1 兩個(gè)緩沖區(qū),用來(lái)進(jìn)行數(shù)據(jù)傳送,每個(gè)緩沖區(qū)的輸入輸出信號(hào)包括:CLKI、CLKO、WE、ADDR[6-0]、DATA_IN[7-0]、DATA_OUT[7-0]。BANK_SW 是一個(gè)開關(guān)信號(hào),用于 DSP 和 SDRAM 對(duì) B0、B1 的切換訪問(wèn)。

SD_CMD 模塊包括刷新、讀、寫功能。當(dāng) DSP 芯片發(fā)出 SDRAM 讀命令時(shí),128 字節(jié)的數(shù)據(jù)從 SDRAM 中讀出來(lái)并被存儲(chǔ)到 B0 或 B1 中,當(dāng) DSP 發(fā)出寫命令之時(shí),128 字節(jié)的數(shù)據(jù)傳到 B0 或 B1 之中并被最終寫到 SDRAM 中。

4 、軟件設(shè)計(jì)

TMS626812A SDRAM 有兩兆字節(jié)的存儲(chǔ)容量。所以 DSP 用兩個(gè) I/O 地址向 FPGA 傳送訪問(wèn) SDRAM 的高低地址。此文中,該兩個(gè) I/O 地址對(duì)應(yīng)用圖 4 中的 03h(DMA_ADDH)和 04h(DMA_ADDL)。另外,還有一個(gè) I/O 地址(圖 4 中的 05h)用來(lái)向 FPGA 傳送命令產(chǎn)生 SDRAM 訪問(wèn)的信號(hào)。

DSP 向 SDRAM 寫數(shù)據(jù)時(shí)的操作步驟如下:

(1)數(shù)據(jù)先被寫到 B0 或 B1。

(2)SDRAM 的訪問(wèn)地址經(jīng)由 DSP 的 I/O 地址 DMA_ADDH 和 DMA_ADDL 發(fā)送到 FPGA 中。

(3)DSP 向 FPGA 發(fā)出一個(gè)命令(I/O 地址為 DMA_CTL)產(chǎn)生控制信號(hào),使 SDRAM 從 B0 或 B1 中讀取數(shù)值。

DSP 從 SDRAM 讀數(shù)據(jù)的操作步驟如下:

(1)DSP 傳送訪問(wèn) SDRAM 的地址。

(2)DSP 經(jīng)由 FPGA 傳送一個(gè)命令,使得數(shù)據(jù)從 SDRAM 中讀到 FPGA 中。

(3)DSP 從 B0 或 B1 中讀得數(shù)據(jù)。

圖 4 為 DSP 中與數(shù)據(jù)傳送相關(guān)的各類存儲(chǔ)器的分配情況。

具體設(shè)計(jì)時(shí),應(yīng)參考相關(guān)資料進(jìn)行補(bǔ)充。不同的 DSP 與不同類型的 SDRAM 接口時(shí),會(huì)有細(xì)微的區(qū)別,電路設(shè)計(jì)完畢后要進(jìn)行認(rèn)真而多方面的測(cè)試。

責(zé)任編輯:xj

原文標(biāo)題:將FPGA作為接口芯片,如何實(shí)現(xiàn)DSP和SDRAM數(shù)據(jù)讀取?

文章出處:【微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    554

    文章

    8058

    瀏覽量

    349584
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21777

    瀏覽量

    604733
  • 芯片
    +關(guān)注

    關(guān)注

    456

    文章

    51045

    瀏覽量

    425556
  • SDRAM
    +關(guān)注

    關(guān)注

    7

    文章

    429

    瀏覽量

    55291

原文標(biāo)題:將FPGA作為接口芯片,如何實(shí)現(xiàn)DSP和SDRAM數(shù)據(jù)讀取?

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    HDC1080損壞的可能原因有哪些?

    值為99%,出現(xiàn)溫度正常,濕度不正常的現(xiàn)象。 問(wèn)題一:該芯片是否需要進(jìn)行某種溫度或者濕度條件的老化? 問(wèn)題二:芯片對(duì)何種環(huán)境極為敏感?(比如靜電等)且使用環(huán)境閾值為多少? 問(wèn)題三:芯片損壞的可能原因有哪些? (PS:數(shù)據(jù)為自己通電(3.3v)下經(jīng)行的高溫實(shí)驗(yàn))
    發(fā)表于 12-02 07:59

    LabView怎么保存已經(jīng)讀取數(shù)據(jù)方便下次接著用

    我做實(shí)驗(yàn)的時(shí)候使用LabView進(jìn)行數(shù)據(jù)的迭代,但是試驗(yàn)器材容易損壞,因此有時(shí)候不得不把程序停止,但是重啟程序的時(shí)候怎么把已經(jīng)生成的數(shù)據(jù)再導(dǎo)入進(jìn)去用呢。生成的數(shù)據(jù)在顯示面板上,怎么放進(jìn)輸入面板呢,
    發(fā)表于 10-31 16:21

    無(wú)論多少G以后,都不可能沒(méi)有200G

    在信息技術(shù)日新月異的今天,數(shù)據(jù)中心的網(wǎng)絡(luò)帶寬需求如同脫韁的野馬,不斷奔騰向前。從10G到100G,再到如今熱議的400G乃至800G,技術(shù)的每一次飛躍都標(biāo)志著數(shù)據(jù)傳輸速度的新里程碑。然而,在這場(chǎng)速度競(jìng)賽中,有一個(gè)聲音堅(jiān)定而清晰:“無(wú)論多少G以后,都
    的頭像 發(fā)表于 10-28 18:10 ?295次閱讀
    無(wú)論多少G以后,都<b class='flag-5'>不可能</b>沒(méi)有200G

    PCM1864采樣音頻數(shù)據(jù)的諧波及底噪可能會(huì)是由什么引入的呢?

    把ADC教接地,也有-60dB左右底噪。 請(qǐng)問(wèn) 1.有辦法測(cè)試codec I2S輸出數(shù)據(jù)噪聲,諧波數(shù)據(jù)嗎?(方便判斷是PCM1864引入還是DSP C5517引入) 2.諧波及底噪可能
    發(fā)表于 10-15 06:17

    AI賦能TRIZ:跨界融合,共赴“不可能”挑戰(zhàn)之旅

    。這不僅僅是技術(shù)的簡(jiǎn)單疊加,而是智慧與創(chuàng)造力的深度碰撞,它們攜手并進(jìn),共同挑戰(zhàn)那些曾被視為“不可能”的難題,引領(lǐng)我們步入一個(gè)創(chuàng)新無(wú)界的新紀(jì)元。具體如深圳天行健企業(yè)管理咨詢公司下文所述: AI遇見TRIZ:創(chuàng)新的火花四濺 TRIZ,自上世紀(jì)中葉誕生以來(lái),便以其系統(tǒng)化、科學(xué)化的方
    的頭像 發(fā)表于 09-11 11:02 ?637次閱讀

    電器電阻增大可能原因和影響

    老化 導(dǎo)體材料 :隨著時(shí)間的推移,導(dǎo)體材料可能會(huì)因?yàn)檠趸?、腐蝕或機(jī)械磨損而導(dǎo)致電阻增加。 絕緣材料 :絕緣材料的老化可能導(dǎo)致電阻降低,但也可能因?yàn)椴牧献冇不?b class='flag-5'>變脆而導(dǎo)致電阻增加。 2.
    的頭像 發(fā)表于 08-27 09:37 ?2816次閱讀

    是否有可能讀取ESP當(dāng)前連接到的站點(diǎn)的RSSI?

    我想知道是否有可能讀取 ESP 當(dāng)前連接到的站點(diǎn)的 RSSI?我知道我可以對(duì)所有站點(diǎn)進(jìn)行掃描,但我想知道是否可以不進(jìn)行掃描?
    發(fā)表于 07-12 07:46

    AD7691讀取的后4位總是0,請(qǐng)問(wèn)可能是什么原因造成的?

    讀取的18位AD7691,后4位總是0,請(qǐng)問(wèn)可能是什么原因造成的。
    發(fā)表于 07-02 07:28

    bytes at port 輸出的值一直為0,串口助手可以讀取數(shù)據(jù),求問(wèn)可能是什么問(wèn)題?

    連接bytes at port時(shí) 輸出的值恒定為零,不用這個(gè)屬性節(jié)點(diǎn)又會(huì)報(bào)錯(cuò)超時(shí),用串口助手可以讀取數(shù)據(jù),求問(wèn)可能是什么問(wèn)題?
    發(fā)表于 05-22 19:17

    《合宙的第一個(gè)10年》故事連載07:不可能的行動(dòng)變成可能,也有方法

    上文《成功有秘訣嗎?還真有》分享了侯總的故事,又有多少人曾一樣踩過(guò)無(wú)數(shù)坑,付過(guò)N多學(xué)費(fèi),在跌跌撞撞的創(chuàng)業(yè)之路,摸索著各種通向成功的方法。如何把不可能的行動(dòng)變成可能?其實(shí),也有方法。1一拖再拖的銷售
    的頭像 發(fā)表于 03-23 08:04 ?349次閱讀
    《合宙的第一個(gè)10年》故事連載07:<b class='flag-5'>不可能</b>的行動(dòng)變成<b class='flag-5'>可能</b>,也有方法

    MES系統(tǒng)能為企業(yè)實(shí)現(xiàn)什么

    實(shí)現(xiàn)對(duì)生產(chǎn)現(xiàn)場(chǎng)的管理,了解車間現(xiàn)場(chǎng)的最新情況,但是不可能一直去現(xiàn)場(chǎng),這也是浪費(fèi)時(shí)間和不必要的。然而MES系統(tǒng)則能幫助企業(yè)實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)生產(chǎn)的透明化管理。生產(chǎn)管理者可實(shí)時(shí)查看準(zhǔn)備情況、工序狀態(tài)、在制品信息、質(zhì)檢信息和生
    發(fā)表于 02-27 16:05 ?0次下載

    是否有可能訪問(wèn)我正在編寫的代碼中的構(gòu)建變量?

    我只是想知道是否有可能訪問(wèn)我正在編寫的代碼中的構(gòu)建變量。 到目前為止我還沒(méi)找到出路。 起初,這些變量?jī)H用于自動(dòng)創(chuàng)建我想要的格式的圖像文件。 現(xiàn)在,我想通過(guò)發(fā)送給賽普拉斯的控制權(quán)轉(zhuǎn)移來(lái)訪問(wèn)它們。 如果這不可能,你知道其他方法可以做到這一點(diǎn)并滿足我的兩個(gè)需求嗎?
    發(fā)表于 02-26 06:36

    ez-click--contecy3280-MBR3-demo無(wú)法連接,I2C都不可能通訊怎么解決?

    ez-click--contecy3280-MBR3-demo無(wú)法連接,I2C都不可能通訊,這個(gè)需要重新安裝嗎?
    發(fā)表于 02-04 09:27

    基礎(chǔ)模型能為機(jī)器人帶來(lái)怎樣的可能性?

    機(jī)器人是一種擁有無(wú)盡可能性的技術(shù),尤其是當(dāng)搭配了智能技術(shù)時(shí)。近段時(shí)間創(chuàng)造了許多變革性應(yīng)用的大模型有望成為機(jī)器人的智慧大腦,幫助機(jī)器人感知和理解這個(gè)世界并制定決策和進(jìn)行規(guī)劃。
    發(fā)表于 01-26 14:47 ?242次閱讀
    基礎(chǔ)模型<b class='flag-5'>能為</b>機(jī)器人帶來(lái)怎樣的<b class='flag-5'>可能</b>性?

    SQL為什么不可能跑得快

    我們討論過(guò)代碼編寫的難和繁的原理問(wèn)題,現(xiàn)在關(guān)注性能問(wèn)題,運(yùn)行速度當(dāng)然是非常重要的事情。
    的頭像 發(fā)表于 01-24 09:41 ?362次閱讀