本應用筆記解釋了如何計算DS31256 HDLC控制器的總線帶寬。顯示了實驗室測試示例。總線利用率計算器電子表格已解釋,可應要求提供。
概述
DS31256 HDLC控制器訪問PCI總線,在發送和接收HDLC數據包時獲取和存儲這些數據包。本應用筆記解釋了如何計算DS31256正常工作所需的可用總線帶寬。本應用筆記中使用的術語將在一開始就定義。
根據本應用筆記中提供的信息,用戶可以修改計算器電子表格中的數字(可根據要求提供),以適應其特定應用。
變量 | 定義 | 有效范圍 |
B | 主機更新接收空閑隊列和傳輸掛起隊列或讀取接收完成隊列和傳輸完成隊列之前處理的平均數據包數 | 1, 2, 3, . . . . |
C | 每個數據包所需的平均總線周期數 | 1, 2, 3, . . . . |
D | 傳輸數據所需的總線周期數 | 1, 2, 3, . . . . |
P | 數據包大小(以字節為單位) | 64 |
R | 由于 RAM 訪問延遲而增加的平均總線周期數 | 0, 1, 2, . . . . |
X | 向數據緩沖區發送或獲取數據包數據所需的平均總線訪問次數 | 1, 2, 3, . . . . |
巴士訪問的類型
DS31256或主機執行四種類型的總線訪問,以支持DS31256中的直接存儲器訪問(DMA)。在下面的描述中,變量 D 定義為數據周期數,變量 R 定義為由于 RAM 訪問延遲而需要的總線周期數。
訪問類型 1:DMA 從主機 RAM 突發讀取
從主機 RAM 讀取 DMA 突發時所需的總線周期總數為 [3+R+D]。該公式由圖1和表2推導出來。
周期 | 不。所需周期 |
地址周期 | 1 |
周轉周期 | 1 |
內存訪問延遲周期 | R |
數據周期 | D |
周轉周期 | 1 |
圖1.DS31256 PCI總線讀取
訪問類型 2:DMA 對主機 RAM 的突發寫入
DMA 突發寫入主機 RAM 時所需的總線周期總數為 [2+R+D]。該公式由圖2和表3推導而來。
周期 | 不。所需周期 |
地址周期 | 1 |
內存訪問延遲周期 | R |
數據周期 | D |
周轉周期 | 1 |
圖2.DS31256 PCI總線寫入周期
訪問類型3:由主機寫入DS31256
主機寫入DS31256時所需的總線周期總數為7。
訪問類型4:主機讀取DS31256
主機從DS31256讀取數據時所需的總線周期總數為7。
注意:對于訪問類型3和4,7周期訪問是DS31256固有的,不能更改。
每個數據包所需的總線周期數
要計算總線利用率,必須知道所需的總線周期數。為了獲得這個數字,做了幾個假設,并在表4中列出。圖 3 顯示了主機和 DMA 對于接收或傳輸的每個數據包將遵循的標準序列。從圖3中,可以創建一個公式來計算每個數據包所需的平均總線周期數,即變量C。
傳輸側
發送端周期 = 讀掛起隊列 + 寫水平描述符鏈 + 讀描述符 + 從主機內存讀取數據包 + 寫完成隊列 + 讀/寫寄存器。
Ct = [(3 + R + 12)/12] + [2 + R + 1] + [3 + R + 4] + [(P/4) + (3 + R)X] + [(2 + R + 6)/6] + [4(7/B)]
接收端
接收端周期 = 讀取空閑隊列 + 將數據包寫入主機內存 + 寫入描述符 + 寫入完成隊列 + 讀/寫寄存器。
Cr = [(3 + R + 24)/12] + [(P/4) + (2 + R)X] + [2 + R + 3] + [(2 + R + 6)/6] + [4(7/B)]
總公式
Ct + Cr = 21.16 + 3.5R + 0.5P + (5 + 2R)X + 56/B
1 | 所有數據包均為 64 字節(被視為最壞情況)。 |
2 | HDLC 數據包的幀校驗序列 (FCS) 不會傳輸到 PCI 總線或從 PCI 總線傳輸。 |
3 | 在接收端,僅使用大型緩沖區(禁用小型緩沖區)。 |
4 | 接收 DMA 將突發讀取空閑隊列并突發寫入已完成隊列。 |
5 | 傳輸 DMA 將突發讀取掛起隊列,并突發寫入已完成隊列。 |
6 | 所有數據包都適合單個緩沖區(即只有一個描述符)。這是合理的,因為數據包是 64 字節。 |
7 | 所有物理層鏈路都充滿了數據包;不發送或接收空閑代碼。 |
8 | 不考慮中斷例程和開銷(如對本地總線的訪問)。 |
圖3.每個數據包的總線周期流程圖。
筆記:
12 個描述符 x 1 個雙字 = 12 個傳輸掛起隊列描述符雙字
數據包數據(以字節為單位)= 4 字節/數據周期
6 個描述符 x 1 個雙字 = 6 個傳輸完成隊列描述符雙字
圖3.(續)
筆記:
12 個描述符 x 2 個雙字 = 24 個接收自由隊列描述符雙字
數據包數據(以字節為單位)= 4 字節/數據周期
6 個描述符 x 1 個雙字 = 6 個接收完成隊列描述符雙字
PCI 總線利用率
總線利用率定義為DS31256每秒所需的總線周期數除以每秒可用的總線周期總數。可以針對特定的 HDLC 配置和流量負載計算總線利用率。計算假設PCI總線時鐘速率為33MHz(33,000,000Hz),并且使用一個DS31256。以下是 PCI 總線利用率的詳細計算。
公式 1:
公式2:
筆記:
例子
PCI總線利用率實驗室測試是為了表征DS31256的PCI總線利用率。假設所有傳入和傳出數據包的長度均為 56 字節 (P = 56)。結果總結在表5中。可根據要求提供計算總線利用率的電子表格(如表 6 所示)。(請聯系模擬技術支持團隊)
B | P | R | |||||||
模式 | 不。端口數量 | 平均編號已完成隊列 已處理的條目 | 像素大小(字節) | 平均內存訪問延遲周期 | 不。的高密度LCC通道 | 合計編號頻道數量 | 通道數據速率(千字節) | PCI 時鐘速率 (兆赫) | PCI 總線利用率(%) |
高速 | 3 | 14.17 | 56 | 8.35 | 1 | 3 | 52 | 52 | 47.55 |
非通道化 | 3 | 35.53 | 56 | 8.50 | 1 | 3 | 29 | 29 | 49.06 |
低速 | 16 | 100.46 | 56 | 10.60 | 1 | 16 | 12 | 12 | 55.27 |
非通道化 | 16 | 24.30 | 56 | 10.24 | 1 | 16 | 10 | 10 | 52.54 |
T1 | 16 | 8.081 | 56 | 7.1375 | 12 | 192 | 128 * | 1.544 | 18.26 |
E1 | 16 | 8.154 | 56 | 7.8645 | 16 | 256 | 128 | 2.048 | 28.07 |
2E1 | 16 | 10.894 | 56 | 8.003 | 16 | 256 | 256 | 4.096 | 55.82 |
4E1 | 16 | 381.207 | 56 | 8.3123 | 8 | 128 | 1024 | 8.192 | 50.97 |
*筆記: 每個 T1 幀有 193 位 = [(24 個時隙 x 8 位)+ 1 個同步位]。 每個時隙的數據速率為 64,000 位/秒。 (64,000 位/秒)/8 位 = 8,000 幀/秒 T1 幀將每 125 微秒到達一次 =1/(8,000 幀)/秒。 數據速率為 1,536,000 位/秒 = 24 通道 x(8 位/通道/幀)x(8,000 幀/秒)。 總線速為 1,544,000 位/秒 = [(24 通道 x (8 位/通道)) + (1 個同步(位/幀))] x(8,000 幀/秒)。 |
輸入變量 | ||
B | 14.17 | 主機更新接收空閑隊列和傳輸掛起隊列或讀取接收/傳輸完成隊列之前處理的平均數據包數。 |
P | 56 | 數據包的大小(以字節為單位)。 |
R | 8.35 | 由于 RAM 訪問延遲而增加的平均總線周期數。 |
每個DS31256的HDLC通道數 | 3 | 在非通道化模式下運行時,每個活動端口使用 1 個。 |
通道數據速率(千字節) | 52,000.00 | 請注意,T1 速度 == 1536kbps。 |
渠道利用率 | 39.5% | 在實際應用程序中,數據包之間可能有時間。 |
PCI 時鐘速率 (兆赫) | 33 | |
PCI 延遲/事務 | 10 | 這是基于執行與處理數據包關聯的每個事務所需的平均周期數。我們的設計師在模擬中使用了 10,這是相當保守的。 |
總線上的DS31256數量 | 1 | |
中間變量 | ||
C | 104.04 | 每個數據包所需的平均總線周期數。 |
X | 1.00 | 向/從數據緩沖區發送/獲取數據包數據所需的平均總線訪問次數。 |
數據包/秒/通道 | 45,871.43 | |
總 PCI 延遲 | 1,376,142.86 | |
不。所需總線周期數/秒 | 15,693,122 | |
半雙工 | 全雙工 | |
總線利用率 | 47.6% | 95.11% |
總線容量(千兆字節) | 264 | |
總線吞吐量 (Mbps) | 125.54 | 251.09 |
注意:
其中 1024 個塊是 FIFO 大小,FIFO 高水位線和低水位線設置為 50%。
結論
本應用筆記解釋了如何計算DS31256在給定應用中所需的總線帶寬。提供了一些實驗室測試示例。可根據要求提供用于執行計算的電子表格。
審核編輯:郭婷
-
控制器
+關注
關注
112文章
16445瀏覽量
179444 -
PCI
+關注
關注
4文章
671瀏覽量
130473 -
總線
+關注
關注
10文章
2903瀏覽量
88387
發布評論請先 登錄
相關推薦
DS31256 Envoy - 寄存器轉儲例程
DS31256,pdf,datasheet (256-Cha
DS31256的PCI總線利用率
![<b class='flag-5'>DS31256</b>的<b class='flag-5'>PCI</b><b class='flag-5'>總線</b><b class='flag-5'>利用率</b>](https://file1.elecfans.com//web2/M00/A4/C5/wKgZomUMNZ6ACiJrAAACVydaEl8761.gif)
Examples of DS31256 Applicatio
![Examples of <b class='flag-5'>DS31256</b> Applicatio](https://file1.elecfans.com//web2/M00/A4/C5/wKgZomUMNZ6AfE_6AAAn2-AdTMw602.gif)
DS31256 HDLC Controller Step-b
![<b class='flag-5'>DS31256</b> HDLC Controller Step-b](https://file1.elecfans.com//web2/M00/A4/C5/wKgZomUMNZ-ATxaXAABP33qtHKE807.gif)
DS31256 Loopback Modes
![<b class='flag-5'>DS31256</b> Loopback Modes](https://file1.elecfans.com//web2/M00/A4/C5/wKgZomUMNZ-AfVjIAACLBY0aE-Y813.gif)
DS31256 Gapped Clock Applicati
![<b class='flag-5'>DS31256</b> Gapped Clock Applicati](https://file1.elecfans.com//web2/M00/A4/C5/wKgZomUMNZ-AGavdAABs0GBc-94915.gif)
DS31256的初始化步驟
DS31256 and T1/E1 Interface
![<b class='flag-5'>DS31256</b> and T1/E1 Interface](https://file1.elecfans.com//web2/M00/A4/C6/wKgZomUMNaSAfUDFAACHM06WWgA020.gif)
DS31256 HDLC控制器的配置步驟—橋接模式
![<b class='flag-5'>DS31256</b> HDLC控制器的配置步驟—橋接模式](https://file1.elecfans.com//web2/M00/A4/C9/wKgZomUMNbGAdFRyAABP33qtHKE817.gif)
DS31256 -256通道、高吞吐率HDLC控制器
![<b class='flag-5'>DS31256</b> -256通道、高吞吐率HDLC控制器](https://file1.elecfans.com//web2/M00/A4/CA/wKgZomUMNbOAUAB6AABt_dstPqE708.gif)
如何利用DS31256 HDLC控制器實現間隔時鐘應用
![如何<b class='flag-5'>利用</b><b class='flag-5'>DS31256</b> HDLC控制器實現間隔時鐘應用](https://file.elecfans.com//web2/M00/8A/81/poYBAGPAwRuASPiQAAA47mIqqvk854.gif)
DS31256 接口 - 電信
![<b class='flag-5'>DS31256</b> 接口 - 電信](https://file.elecfans.com/web2/M00/70/70/pYYBAGNH-I2AMV23AAAJwg3rnZc603.png)
DS31256的分數級T1 (FT1)環回檢測
![<b class='flag-5'>DS31256</b>的分數級T1 (FT1)環回檢測](https://file1.elecfans.com//web2/M00/89/DF/wKgaomSMEM6AcUDOAABR_FvcsyQ691.gif)
評論