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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 多核DSP系統(tǒng)高速傳輸核心的IP設(shè)計

          多核DSP系統(tǒng)高速傳輸核心的IP設(shè)計

          作者: 時間:2013-04-22 來源:網(wǎng)絡 收藏

          3.1.1 發(fā)送緩沖IP模塊設(shè)計
          在雙口SRAM的外圍設(shè)計了較復雜的控制邏輯構(gòu)成發(fā)送緩沖區(qū),A口和B口的地址計數(shù)器的地址由兩部分組成:ID號和地址遞加計數(shù)邏輯。A口的輸入數(shù)據(jù)來自于封裝的數(shù)據(jù)幀,而B口的輸出數(shù)據(jù)又被送到了發(fā)送狀態(tài)機內(nèi),只不過B口的數(shù)據(jù)是需要重發(fā)的數(shù)據(jù)。
          因為數(shù)據(jù)幀最大為68個雙字,發(fā)送窗口數(shù)被設(shè)計成7,所以已經(jīng)發(fā)送的數(shù)據(jù)在這個雙口SRAM中是分段保存的。當RapidIO發(fā)送狀態(tài)機開始發(fā)送數(shù)據(jù),同時對數(shù)據(jù)進行封裝時,A口的寫信號有效,并且A口的計數(shù)器進行遞增計數(shù),遞增計數(shù)器和段地址構(gòu)成了A口的有效地址。這樣已發(fā)送的數(shù)據(jù)就被保存在這個以雙口SRAM為核的緩沖區(qū)隊列中(最多為476個雙字數(shù)據(jù))。在這個雙口SRAM的外圍設(shè)計了段指示變量用來指示在該段中保存字數(shù)據(jù)的個數(shù)(因為發(fā)送的數(shù)據(jù)可能有不夠256個字節(jié),即64個雙字的情況)。
          相鄰節(jié)點返回的數(shù)據(jù)響應幀內(nèi),包含相鄰節(jié)點希望接收的下一個數(shù)據(jù)幀的序號ID,當數(shù)據(jù)響應幀類型為datanot accept或data retry類型時,激活了發(fā)送狀態(tài)機內(nèi)的重發(fā)機制,B口當前地址和A口的段指示變量進行比較,當B口的當前地址和A口相應的段指示變量相等時,通知發(fā)送狀態(tài)機該數(shù)據(jù)已經(jīng)被重新發(fā)送完畢,結(jié)束幀的發(fā)送。只有該幀數(shù)據(jù)的正確的響應幀被接收到時,A口才能繼續(xù)發(fā)送新的數(shù)據(jù),并且發(fā)送緩沖區(qū)的窗口向前滑動。通過使用這種方法,已發(fā)送的數(shù)據(jù)就源源不斷地保存在這個緩沖區(qū)隊列中,而且不會丟失。
          3.1.2 接收緩沖IP模塊設(shè)計
          在雙口SRAM的周圍加入了一些外圍的控制電路構(gòu)成了接收緩沖區(qū)。雙口SRAM的A口和接收狀態(tài)機相連,雙口SRAM的B口和處理器接口相連。A口和B口分別使用了地址計數(shù)邏輯。接收緩沖IP模塊如圖5所示。

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

          e.JPG


          由于RapidIO的一個數(shù)據(jù)幀是以272字節(jié)封裝的,并且在數(shù)據(jù)幀的第80個字節(jié)處插入了一個CRC校驗序列,這樣就增加了判斷的難度。當接收機開始接收數(shù)據(jù)幀內(nèi)嵌入的第一個CRC校驗序列時,通過接收狀態(tài)機進行判斷:當接收到的第一個CRC校驗序列和接收狀態(tài)機本地產(chǎn)生的CRC一樣時,A口的地址計數(shù)電路繼續(xù)計數(shù);當接收到的第一個CRC校驗序列和接收狀態(tài)機本地產(chǎn)生的CRC不一樣時,說明前面接收到的數(shù)據(jù)是無效的,此時地址計數(shù)電路停止計數(shù),并且地址指示變量減去20。
          當接收完一個數(shù)據(jù)幀內(nèi)的所有有效數(shù)據(jù)時(不包括數(shù)據(jù)幀末尾的CRC校驗碼),地址計數(shù)電路停止計數(shù),同時在接收狀態(tài)機內(nèi)進行判斷:當接收到的數(shù)據(jù)幀末尾的CRC校驗序列和接收狀態(tài)機本地產(chǎn)生的CRC校驗序列一致時,地址指示變量的值不變;當接收到的數(shù)據(jù)幀末尾的CRC校驗序列和接收狀態(tài)機本地產(chǎn)生的CRC校驗序列不一致時,地址指示變量減63(標準的數(shù)據(jù)幀內(nèi)的有效數(shù)據(jù)是64個字)。通過這樣的方法在由這個雙口SRAM構(gòu)造的接收數(shù)據(jù)緩沖區(qū)內(nèi)保存了一個完整有效的數(shù)據(jù)幀。
          3.2 發(fā)送/接收狀態(tài)機
          發(fā)送狀態(tài)機和接收狀態(tài)機模塊包含了RapidIO協(xié)議的差錯控制和流量控制的功能。差錯控制功能主要是通過使用CRC校驗機制和定時器機制來完成的。發(fā)送狀態(tài)機和接收狀態(tài)機是通過相互交換內(nèi)部信息來實現(xiàn)對數(shù)據(jù)進行差錯控制和流量控制的,如圖6所示。

          f.JPG


          3.2.1 發(fā)送狀態(tài)機模塊設(shè)計
          如圖6所示,來自處理器接口的原始數(shù)據(jù)依次傳送到RapidIO的邏輯層和物理層時,在數(shù)據(jù)的頭部封裝了地址、序號和長度等頭部信息,同時發(fā)送狀態(tài)機得到每個數(shù)據(jù)的CRC碼;當數(shù)據(jù)大于80個字節(jié)時,在第80個字節(jié)的后面插入1個CRC碼,然后在該數(shù)據(jù)幀的尾部插入1個CRC碼,這樣就將一個原始的數(shù)據(jù)轉(zhuǎn)換成了1個RapidIO數(shù)據(jù)幀,然后將這個封裝的數(shù)據(jù)幀傳到串行化數(shù)據(jù)模塊進行發(fā)送。
          如果數(shù)據(jù)幀被對方節(jié)點正確的接收,則發(fā)送端口可以繼續(xù)發(fā)送數(shù)據(jù);如果數(shù)據(jù)幀被對方拒絕接收,則停止數(shù)據(jù)的繼續(xù)發(fā)送,并且接收端口和發(fā)送端口通過同步控制幀重新進行端口同步,當這種同步重新建立后發(fā)送端口才可以繼續(xù)發(fā)送數(shù)據(jù);在發(fā)送狀態(tài)機模塊中采用了滑動窗口技術(shù),一方面可大大提高數(shù)據(jù)的吞吐量;另一方面可以盡量避免由于接收方緩沖區(qū)資源不足而導致的多次發(fā)送失敗。
          3.2.2 接收狀態(tài)機模塊設(shè)計
          當接收到數(shù)據(jù)幀后,對接收到的數(shù)據(jù)幀通過CRC校驗機制進行錯誤檢查,同時得到幀的序號和設(shè)備號等信息,并且將數(shù)據(jù)幀的接收狀態(tài)通知本地發(fā)送端口,由本地發(fā)送端口根據(jù)接收數(shù)據(jù)的狀態(tài)作出判斷,然后向?qū)Ψ焦?jié)點設(shè)備發(fā)送響應幀信號。
          當接收狀態(tài)機接收到一個完整的消息后,則由接收狀態(tài)機向本地處理器接口發(fā)出中斷信號,通知處理器將接收緩沖區(qū)內(nèi)的數(shù)據(jù)取出;當接收狀態(tài)機接收到控制幀后,根據(jù)控制幀的類型作出判斷,如果是錯誤數(shù)據(jù)的響應幀,則本地發(fā)送端口和接收端口同時處于停止發(fā)送和接收數(shù)據(jù)狀態(tài),并且通知本地發(fā)送端口發(fā)送link請求幀和link相應幀,使得接收和發(fā)送鏈路重新建立連接;如果是用于鏈路控制的控制幀,則本地發(fā)送端口根據(jù)接收到的控制幀類型向相鄰節(jié)點發(fā)送相應的響應控制幀。
          3.3 時鐘信號設(shè)計
          RapidIO協(xié)議規(guī)定使用雙數(shù)據(jù)時鐘發(fā)送和接收數(shù)據(jù)。
          在專用電路內(nèi)的時鐘布局分為發(fā)送時鐘模塊和接收時鐘模塊兩大子模塊。對時鐘的分頻和倍頻是通過專用集成電路內(nèi)的數(shù)字時鐘管理器DCM完成的。來自處理器的輸出時鐘要驅(qū)動專用電路芯片和其他外設(shè),所以在專用電路的內(nèi)部加入PLL,保證輸出時鐘能提供足夠的時鐘頻率、驅(qū)動能力和較陡的時鐘邊沿。時鐘資源在專用電路內(nèi)的布局如圖7所示。

          g.JPG


          發(fā)送時鐘模塊的主要功能包括:
          ①使用DCM的相移功能,提供RapidIO發(fā)送數(shù)據(jù)合適的采樣時鐘相位,包括從發(fā)送緩沖區(qū)將數(shù)據(jù)提取出來,以及在發(fā)送數(shù)據(jù)前提供的較好的冗余時鐘相位,保證時鐘能正確地采集發(fā)送的數(shù)據(jù)和幀同步信號。
          ②在進行數(shù)據(jù)串行化的時候,通過DCM的倍頻功能將上層模塊的數(shù)據(jù)發(fā)送變成雙數(shù)據(jù)進行發(fā)送,即時鐘的上沿和下沿同時發(fā)送數(shù)據(jù)。
          ③通過差分引腳將LVTTL發(fā)送時鐘變?yōu)長VDS差分時鐘進行發(fā)送。
          接收時鐘模塊中的主要功能包括:
          ①接收到的差分LVDS時鐘轉(zhuǎn)換為LVTTL時鐘。
          ②對接收到的時鐘信號通過DCM對其進行分頻,以便能夠正確地將接收到的DDR數(shù)據(jù)轉(zhuǎn)化為SDR數(shù)據(jù)。
          ③對接收到的時鐘通過DCM進行相位移動,以便為接收緩沖區(qū)正確地接收數(shù)據(jù)提供正確的采樣時鐘相位。
          除了此處提到的模塊,RapidIO協(xié)議專用集成電路內(nèi)部還有串行和并行模塊,接口模塊等,在此就不一一介紹了。

          結(jié)語
          適用于系統(tǒng)的高速接口對于研究多核的體系結(jié)構(gòu)具有實際意義。研制滿足RapidIO協(xié)議的專用集成電路不僅可以快速實現(xiàn)網(wǎng)絡結(jié)構(gòu),而且可以降低系統(tǒng)的功耗,提高可靠性,具有很好的應用價值。


          上一頁 1 2 下一頁

          評論


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