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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP的存儲(chǔ)器共享與快速訪問(wèn)技術(shù)設(shè)計(jì)

          基于DSP的存儲(chǔ)器共享與快速訪問(wèn)技術(shù)設(shè)計(jì)

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

          本文介紹了在多個(gè)之間或者與其他CPU之間共享技術(shù)的基本設(shè)計(jì)方法,重點(diǎn)介紹了如何在設(shè)計(jì)上提高的訪問(wèn)速度和克服訪問(wèn)競(jìng)爭(zhēng)的方法。
          在多任務(wù)信號(hào)處理系統(tǒng)中,為了提高信號(hào)的處理速度,往往使用幾個(gè)協(xié)同工作,為此,必須要解決好幾個(gè)DSP對(duì)共享的高速訪問(wèn)問(wèn)題。具體來(lái)說(shuō),主要要解決好兩個(gè)問(wèn)題:
            
          (1)通過(guò)建立競(jìng)爭(zhēng)仲裁機(jī)制解決存儲(chǔ)器訪問(wèn)共享競(jìng)爭(zhēng)問(wèn)題;
          (2)解決批量數(shù)據(jù)高速訪問(wèn)問(wèn)題。DSP對(duì)批量數(shù)據(jù)的訪問(wèn)一般都是通過(guò)啟動(dòng)DMA完成,而DMA一旦啟動(dòng),數(shù)據(jù)的傳輸就不受DSP控制,因此,要設(shè)計(jì)專門控制電路和緩沖區(qū)來(lái)確保高速數(shù)據(jù)傳輸?shù)姆€(wěn)定性和可靠性。

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

          本文重點(diǎn)介紹了兩個(gè)TMS320C5402之間共享SRAM和DDRSDRAM的設(shè)計(jì)方法。

          1 SRAM的共享訪問(wèn)
            
          圖1是2片TMS320C5402共享SRAM的原理圖。為了保證對(duì)SRAM訪問(wèn)的可靠性,2片DSP共用同一個(gè)系統(tǒng)時(shí)鐘和具有相同的訪問(wèn)優(yōu)先級(jí)。當(dāng)2片DSP同時(shí)對(duì)共享存儲(chǔ)器發(fā)出訪問(wèn)需求時(shí),F(xiàn)PGA中的共享仲裁控制邏輯會(huì)在第1個(gè)存儲(chǔ)器訪問(wèn)周期允許第1片DSP對(duì)SRAM進(jìn)行訪問(wèn),同時(shí)向第2片DSP發(fā)出READY等待信號(hào),然后在下一個(gè)存儲(chǔ)器訪問(wèn)周期撤銷該等待信號(hào),允許第2片DSP對(duì)SDRAM進(jìn)行訪問(wèn)。如果進(jìn)行批量數(shù)據(jù)傳輸,則2片DSP對(duì)應(yīng)的READY信號(hào)會(huì)交替啟動(dòng)。FPGA中的2個(gè)雙向緩沖器是互相禁止的。另外,在DSP的軟件編程時(shí)要注意,在軟件等待周期寄存器被寫入后至少要等待2個(gè)時(shí)鐘周期DSP才會(huì)啟動(dòng)對(duì)READY信號(hào)的檢測(cè)。



          2 DDRSDRAM的高速共享訪問(wèn)
            
          在上述方式中,如果2片DSP同時(shí)要對(duì)共享存儲(chǔ)器進(jìn)行訪問(wèn),其訪問(wèn)速度將會(huì)降低一倍。在實(shí)際的信號(hào)處理系統(tǒng)中,特別是在連續(xù)視頻信號(hào)的編碼、壓縮與速訪問(wèn),如果采用大容量雙口RAM,其硬件成本開銷太大?,F(xiàn)在PC機(jī)中大量使用的雙速數(shù)據(jù)同步動(dòng)態(tài)存儲(chǔ)器(Double Data Rate Synchronous,DRAM)具有存儲(chǔ)容量大、訪問(wèn)速度快、價(jià)格低廉等特點(diǎn),因此在大容量高速數(shù)字信號(hào)處理系統(tǒng)中,只要解決好對(duì)DDRSDRAM的讀寫訪問(wèn)控制問(wèn)題,就能解決好大容量高速存儲(chǔ)器的共享訪問(wèn)問(wèn)題。

          2.1 DDRSDRAM的讀寫訪問(wèn)特性
            
          圖2為現(xiàn)代公司的HY5DV651622雙速同步動(dòng)態(tài)存儲(chǔ)器的功能框圖。其存儲(chǔ)容量為8 Mb,數(shù)據(jù)寬度為16 B,分為4個(gè)頁(yè)面,采用行列地址復(fù)用方式。在時(shí)鐘的上升和下降沿均可以進(jìn)行數(shù)據(jù)的讀寫操作。對(duì)DRAM的控制包括命令控制和數(shù)據(jù)讀寫控制,在命令控制中主要包括模式寄存器設(shè)置、存儲(chǔ)器自動(dòng)刷新控制等,通過(guò)模式寄存器的設(shè)置可以使存儲(chǔ)器工作于猝發(fā)讀寫方式,讀寫長(zhǎng)度可以達(dá)到256個(gè)地址?!?/p>



          2.2 共享DDRSDRAM的工作過(guò)程
            
          為了保證DSP對(duì)SDRAM大數(shù)據(jù)量訪問(wèn)的高效性,將SDRAM設(shè)置為猝發(fā)讀寫模式,DSP設(shè)置為DMA方式,在FPGA中設(shè)置容量均為128 b的SRAM緩沖區(qū)B0和B1做為數(shù)據(jù)緩存區(qū),從SDRAM中輸出的數(shù)據(jù)或輸入至SDRAM的數(shù)據(jù)都要經(jīng)過(guò)B0和B1,通過(guò)控制寄存器的設(shè)置將B0和B1都映射到2片DSP中地址為FF00H到FF80H的數(shù)據(jù)區(qū)間,但同一時(shí)刻1片DSP只能訪問(wèn)B0或B1中的1個(gè)。

          在實(shí)際工作中,當(dāng)一片DSP訪問(wèn)B0時(shí),另一片DSP或SDRAM訪問(wèn)B1;相應(yīng)地當(dāng)一片DSP訪問(wèn)B1時(shí),另一片DSP或SDRAM則訪問(wèn)B0。如果SDRAM和DSP同時(shí)向同一個(gè)數(shù)據(jù)緩沖區(qū)B0或B1寫入或讀出數(shù)據(jù),F(xiàn)PGA會(huì)自動(dòng)禁止,并通過(guò)控制寄存器向DSP傳遞數(shù)據(jù)讀寫狀態(tài)錯(cuò)誤信息。這種數(shù)據(jù)傳遞方式不僅加速了DSP對(duì)數(shù)據(jù)的訪問(wèn)速度,而且解決了DSP和SDRAM之間時(shí)鐘頻率不同步問(wèn)題,不用像圖1那樣讓2片DSP共享同一個(gè)時(shí)鐘。SDRAM與雙DSP的接口如圖3所示?!?/p>



            
          具體來(lái)說(shuō),DSP對(duì)SDRAM的訪問(wèn)分以下兩種情況:
            
          (1)同時(shí)只有1片DSP對(duì)SDRAM訪問(wèn) 此時(shí)B0,B1均屬于該DSP所有,以讀數(shù)據(jù)為例,首先DSP將需要對(duì)SDRAM訪問(wèn)的首末地址通過(guò)控制寄存器寫入FPGA,并且設(shè)置B0,B1為空的標(biāo)志,然后起動(dòng)數(shù)據(jù)傳送命令,F(xiàn)PGA在收到該命令后讀入128字入B0,并設(shè)置B0的標(biāo)志為滿,隨后再讀入128字入B1,并設(shè)置B1的標(biāo)志為滿;接著判斷B0的標(biāo)志是否為空,若為空則讀出128字入B0,并設(shè)置B0的標(biāo)志為滿,否則等待直到B0的標(biāo)志為空,判斷B1的標(biāo)志是否為空,若為空則讀出128字入B1,并設(shè)置B1的標(biāo)志為滿,否則等待直到B1的標(biāo)志為空。如此反復(fù),直到讀取數(shù)據(jù)結(jié)束或收到數(shù)據(jù)讀取結(jié)束命令為止。對(duì)DSP來(lái)說(shuō),他在發(fā)出起動(dòng)數(shù)據(jù)傳送命令后,判斷B0標(biāo)志是否為滿,若為滿,則起動(dòng)DMA讀取該128字,讀取結(jié)束后設(shè)置B0的標(biāo)志為空,然后用同樣的方法去讀取B1中的數(shù)據(jù)。如此反復(fù)直到將規(guī)定的數(shù)據(jù)讀取完畢為止。

          (2)2片DSP同時(shí)對(duì)SDRAM訪問(wèn) 與單片DSP的訪問(wèn)方法類似,通過(guò)B0、B1及相應(yīng)的標(biāo)志位設(shè)定完成數(shù)據(jù)的訪問(wèn)。

          2.3 共享DDRSDRAM的讀寫訪問(wèn)邏輯設(shè)計(jì)
            
          DSP提供下列信號(hào)給外部存儲(chǔ)器用以完成外部控制:CLK,CS,A0~A15,D0~D15,R/W,MSTRB,ISTRB和IS,但是DDRSDRAM使用的控制信號(hào)為:CLK,/CLK,CKE,/CS,/RAS,/CAS,/WE,數(shù)據(jù)總線DQ0~DQ15和地址總線A0~A11。由于控制信號(hào)的不同,因此在DSP和SDRAM的接口電路中需要用邏輯電路根據(jù)DSP的命令產(chǎn)生SDRAM的控制信號(hào)。正是由于接口電路的這種復(fù)雜性,在設(shè)計(jì)SDRAM和DSP的接口過(guò)程中才需要用FPGA來(lái)完成。

          從圖3可以看到,F(xiàn)PGA的控制主要包含3個(gè)部分:控制寄存器接口、緩沖區(qū)接口和SDRAM控制接口。
            
          (1)控制寄存器接口 主要包括對(duì)DSP地址信號(hào)和控制信號(hào)的解碼;SDRAM的讀寫模式選擇;B0和B1的地址、數(shù)據(jù)的切換選擇及標(biāo)志控制;讀寫首末地址的設(shè)置等。
            
          (2)緩沖區(qū)接口 主要代表2個(gè)緩沖區(qū)B0和B1的相關(guān)信號(hào)產(chǎn)生,主要有:讀寫信號(hào);地址信號(hào)(ADDR[6-0]);數(shù)據(jù)輸入輸出信號(hào)(DATA-IN[15-0]和DATA-OUT[15-0])等。
            
          (3)SDRAM控制接口 產(chǎn)生SDRAM的控制信號(hào)、地址信號(hào)與數(shù)據(jù)總線信號(hào),完成SDRAM的3項(xiàng)功能:刷新、讀、寫。其中讀、寫主要通過(guò)猝發(fā)方式進(jìn)行。由于SDRAM是動(dòng)態(tài)RAM,為了防止數(shù)據(jù)丟失,必須對(duì)其進(jìn)行動(dòng)態(tài)刷新。在SDRAM控制接口部分設(shè)計(jì)了專門的刷新電路來(lái)完成這項(xiàng)功能。

          3 結(jié) 論

          由于FPGA內(nèi)的SRAM訪問(wèn)速度可以達(dá)到10 ns以上,而DDRSDRAM的訪問(wèn)速度比普通的SDRAM快一倍,因此,在采用DDRSDRAM實(shí)施存儲(chǔ)器共享后,不僅大大節(jié)省了系統(tǒng)成本,而且通過(guò)提高FPGA對(duì)DDRSDRAM的訪問(wèn)速度后,系統(tǒng)對(duì)數(shù)據(jù)的訪問(wèn)速度并沒(méi)有受到影響,可以達(dá)到100 Mb/s以上。



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