0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DS31256 PCI总线利用率

星星科技指导员 来源:ADI 作者:ADI 2023-01-11 14:08 次阅读

本应用笔记解释了如何计算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

poYBAGO-UniASMwxAAAjF1hKkR8242.gif?imgver=1

图1.DS31256 PCI总线读取

访问类型 2:DMA 对主机 RAM 的突发写入

DMA 突发写入主机 RAM 时所需的总线周期总数为 [2+R+D]。该公式由图2和表3推导而来。

周期 不。所需周期
地址周期 1
内存访问延迟周期 R
数据周期 D
周转周期 1

pYYBAGO-UnmAS9-hAAAiQbM9g1o790.gif?imgver=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 不考虑中断例程和开销(如对本地总线的访问)。

poYBAGO-UnqACElxAABRLOZieXU910.gif?imgver=1

图3.每个数据包的总线周期流程图。

笔记:

12 个描述符 x 1 个双字 = 12 个传输挂起队列描述符双字

数据包数据(以字节为单位)= 4 字节/数据周期

6 个描述符 x 1 个双字 = 6 个传输完成队列描述符双字

poYBAGO-UnyAe7SjAAA8CqGByVw320.gif?imgver=1

图3.(续)

笔记:

12 个描述符 x 2 个双字 = 24 个接收自由队列描述符双字

数据包数据(以字节为单位)= 4 字节/数据周期

6 个描述符 x 1 个双字 = 6 个接收完成队列描述符双字

PCI 总线利用率

总线利用率定义为DS31256每秒所需的总线周期数除以每秒可用的总线周期总数。可以针对特定的 HDLC 配置和流量负载计算总线利用率。计算假设PCI总线时钟速率为33MHz(33,000,000Hz),并且使用一个DS31256。以下是 PCI 总线利用率的详细计算。

公式 1:

pYYBAGO-Un2AQ1JRAAAQAsr9etU811.gif?imgver=1

公式2:

pYYBAGO-Un-AHReGAAAK_A78Jd0509.gif?imgver=1

笔记:

poYBAGO-UoCAAa-9AAAxnu34SoI860.gif?imgver=1

例子

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

pYYBAGO-UoKAOYd-AAAFyA_FPzE192.gif?imgver=1

注意:

其中 1024 个块是 FIFO 大小,FIFO 高水位线和低水位线设置为 50%。

结论

本应用笔记解释了如何计算DS31256在给定应用中所需的总线带宽。提供了一些实验室测试示例。可根据要求提供用于执行计算的电子表格。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16302

    浏览量

    177783
  • PCI
    PCI
    +关注

    关注

    4

    文章

    663

    浏览量

    130241
  • 总线
    +关注

    关注

    10

    文章

    2877

    浏览量

    88043
收藏 人收藏

    评论

    相关推荐

    DS31256 Envoy - 寄存器转储例程

    本应用笔记提供了将DS31256的寄存器、排队程序、描述符和FIFO RAM的内容转储到一个文件的程序代码。这些数据在DS31256无法正常工作时非常关键,为进一步的研究和调试提供了重要信
    发表于 04-18 11:27 28次下载

    DS31256,pdf,datasheet (256-Cha

    The DS31256 Envoy is a 256-channel HDLC controller that can handle up to 60 T1 or 64 E1 data
    发表于 04-21 23:49 18次下载

    DS31256PCI总线利用率

    要:本应用笔记说明了如何计算DS31256 HDLC控制器的总线带宽。并展示了一个实验室实测的结果。同时演示了一个总线利用率速算表,该速算表如果需要可以索要。
    发表于 04-18 11:24 1330次阅读
    <b class='flag-5'>DS31256</b>的<b class='flag-5'>PCI</b><b class='flag-5'>总线</b><b class='flag-5'>利用率</b>

    Examples of DS31256 Applicatio

    Abstract: App Note 3345 provides application examples for the DS31256 HDLC Controller.
    发表于 04-18 11:25 758次阅读
    Examples of <b class='flag-5'>DS31256</b> Applicatio

    DS31256 HDLC Controller Step-b

    Abstract: This application note provides an example of how to configure a single T1 port on DS31256
    发表于 04-18 11:29 1192次阅读
    <b class='flag-5'>DS31256</b> HDLC Controller Step-b

    DS31256 Loopback Modes

    Abstract: This application note shows how to configure various loopback modes of the DS31256 HDLC
    发表于 04-18 11:31 856次阅读
    <b class='flag-5'>DS31256</b> Loopback Modes

    DS31256 Gapped Clock Applicati

    Abstract: This application note discusses how to realize gapped clock applications with the DS31256
    发表于 04-18 11:32 1035次阅读
    <b class='flag-5'>DS31256</b> Gapped Clock Applicati

    DS31256的初始化步骤

    摘要:DS31256 Envoy HDLC控制器在发送数据包之前的初始化顺序。 概述按照设计,DS31256上电以后不会控制PCI总线。所有的物理端口(端口0至15)发送全1 (非
    发表于 04-20 09:02 976次阅读

    DS31256 and T1/E1 Interface

    Abstract: This application note discusses how to connect the DS31256 HDLC Controller to the DS
    发表于 04-20 09:26 1595次阅读
    <b class='flag-5'>DS31256</b> and T1/E1 Interface

    DS31256 HDLC控制器的配置步骤—桥接模式

    DS31256 HDLC控制器的配置步骤—桥接模式 本应用笔记提供了怎样配置桥接模式下DS31256 HDLC控制器T1端口的例子。文章提供了一个实际例程,以方便最终用户使用,帮助他
    发表于 04-21 14:59 1524次阅读
    <b class='flag-5'>DS31256</b> HDLC控制器的配置步骤—桥接模式

    DS31256 -256通道、高吞吐率HDLC控制器

    DS31256 -256通道、高吞吐率HDLC控制器 概述 DS31256是一款256通道高层数据链路控制器(HDLC),
    发表于 04-21 23:17 1395次阅读
    <b class='flag-5'>DS31256</b> -256通道、高吞吐率HDLC控制器

    如何利用DS31256 HDLC控制器实现间隔时钟应用

    DS31256有16个物理端口(16 Tx和16 Rx)或链路,可配置为信道化或非信道化。通道化端口可以处理一个、两个或四个 T1 或 E1 数据链路。这些端口或链路的时钟可以支持间隔时钟。本应用笔记介绍如何在256通道HDLC控制器DS31256中实现间隙时钟应用。
    的头像 发表于 01-13 10:25 879次阅读
    如何<b class='flag-5'>利用</b><b class='flag-5'>DS31256</b> HDLC控制器实现间隔时钟应用

    如何在PCI总线上使用DS31256 HDLC控制器

    本应用笔记介绍了如何在PCI总线上使用DS31256 HDLC控制器,利用DS21FF44成帧器配置交错
    的头像 发表于 01-13 11:47 1857次阅读
    如何在<b class='flag-5'>PCI</b><b class='flag-5'>总线</b>上使用<b class='flag-5'>DS31256</b> HDLC控制器

    DS31256 接口 - 电信

    电子发烧友网为你提供Maxim(Maxim)DS31256相关产品参数、数据手册,更有DS31256的引脚图、接线图、封装手册、中文资料、英文资料,DS31256真值表,DS31256
    发表于 01-14 19:46
    <b class='flag-5'>DS31256</b> 接口 - 电信

    DS31256的分数级T1 (FT1)环回检测

    这篇应用笔记介绍了利用DS31256的接收BERT功能实现分数级T1 (FT1)上环回或下环回检测(V.54)的方法,详细说明请参考分数级T1.403附录B规范。所提供的算法和示例代码简化了DS31256最终用户的设计。
    的头像 发表于 06-16 15:35 798次阅读
    <b class='flag-5'>DS31256</b>的分数级T1 (FT1)环回检测