<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > DSP中的存儲器共享與快速訪(fǎng)問(wèn)技術(shù)設計

DSP中的存儲器共享與快速訪(fǎng)問(wèn)技術(shù)設計

作者: 時(shí)間:2007-06-27 來(lái)源:網(wǎng)絡(luò ) 收藏
 :介紹了在多個(gè)之間或者與其他CPU之間的基本方法,重點(diǎn)介紹了如何在上提高速度和克服競爭的方法。
關(guān)鍵詞;;競爭;SDRAM;猝發(fā)讀寫(xiě)

  在多任務(wù)信號處理系統中,為了提高信號的處理速度,往往使用幾個(gè)DSP協(xié)同工作,為此,必須要解決好幾個(gè)DSP對存儲器的高速訪(fǎng)問(wèn)問(wèn)題。具體來(lái)說(shuō),主要要解決好兩個(gè)問(wèn)題:
 ?。?)通過(guò)建立競爭仲裁機制解決存儲器訪(fǎng)問(wèn)共享競爭問(wèn)題;
 ?。?)解決批量數據高速訪(fǎng)問(wèn)問(wèn)題。DSP對批量數據的訪(fǎng)問(wèn)一般都是通過(guò)啟動(dòng)DMA完成,而DMA一旦啟動(dòng),數據的傳輸就不受DSP控制,因此,要專(zhuān)門(mén)控制電路和緩沖區來(lái)確保高速數據傳輸的穩定性和可靠性。

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

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

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

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

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

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

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

 ?。?)2片DSP同時(shí)對SDRAM訪(fǎng)問(wèn) 與單片DSP的訪(fǎng)問(wèn)方法類(lèi)似,通過(guò)B0、B1及相應的標志位設定完成數據的訪(fǎng)問(wèn)。

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

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

3
 

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

參考文獻

[1] 劉仁普,譯.摩托羅拉動(dòng)態(tài)存儲器手冊.摩托羅拉公司,5-97~5-116.
[2] TMS320VC5402 datasheet.TICorporation.2000(1):1~61.
[3] TMS626162,TMS626812 16Mb synchronousDRAMs technical reference,TICorporation,1996:3-1~3-52.
[4] Shared Memory Interface with theTMS320C54x DSP,TI Corporation,1998(4):1~17


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>