2 --> PCIE 协议栈的框架详解
(1). PCIe 协议栈总览
上图是整个 PCIe 的软件框架、PIPE-CompliantPHY 部分的 SERDES 模块、DWC PCIe Core 包含 Physical Layer (MAC)、 DATA Link Layer、 Transaction Layer 和 Application Dependent part of the Transaction Layer,此部分为 PCIe Core 内容。用户驱动部分内容是 Application Logic、Application Registers 内容。
(2)、PCIe 组件定义
包含4个重要的模块,CXPL、RADM、XADM、CDM。
(2.1) CXPL: Common ExpressPort Logic (CXPL) Module
CXPL是整个协议的核心部分,包含了物理层、数据链路层和传输层。
(2.2) XADM: TransmitApplication-Dependent Module
面向数据包发送的应用模块,主要包括以下3个功能:
a、 TLP(Transaction Layer Packet) arbitration,传输报仲裁
b、 TLP formation , 传输包格式
c、 Flow control credit checking, 流控审计
(2.3) RADM: ReceiveApplication-Dependent Module
面向数据包接收的应用模块,主要包括以下3个功能:
a、 Sorting/filtering of received TLPs. The filtering rules and routing are configurable.
b、Buffering and queuing of the received TLPs.
c、Routing of received TLP to the core’s receive interfaces.
(2.4) CDM : Configuration-Dependent Module
a、 Standard PCI Express configuration space
b、Core-specific register space (Port Logic Registers)
(3)、PCIe 的内部结构关系
作为用户,我认为需要知道以上各个接口的作用和用法,并且知道每个接口需要在整个传输中扮演的角色,对应驱动调试是非常有帮助的。
此框架的用户接口逻辑部分、更利于我们理解 PCIe 驱动程序的框架。
模块定义说明:
PMC: Power Management Controller
LBC : Local Bus Controller
DBI : Data Bus Interface
MSG_GEN: MessageGeneration Module
HOT PLUG:Hot Plug ControlModule
RBYP: Receive Bypass Interface
TRGT1: Receive Request Interface
ELBI: External Local Bus Interface
MSI: Message Signaled Interrupt (MSI) Interface,
MSI-X Interface,在DPDK中选择的中断模式,使用此接口。
XALI 0/1/2 : Transmit Interfaces 0/1/2
VMI : Vendor Message Interface
SII : System Information Interface
以上模块接口、在驱动中都有相应部分。
(4) Core operation 、驱动 初始化
1、 先disable link training
2、 通过DBI(data bus interface)配置core的stickyregisters,需要配置什么目前不知道??????
3、 Enable link training
4、 等待link完成。
5、 root Complex枚举Downstream Device(什么是Downstreamdevice????)
Ø 读取 Downstream device的配置空间
Ø 配置device的capabilites(具体配置什么???)
Ø 配置switch ports(???) 的base和limit寄存器,以反映devices enumerated downstream的BAR(Base Address Register)的范围。
Ø 配置endpoint的BAR。
6、 使能BME、MSE、ISE。
7、 开始传输数据。
参考连接:
https://www.synopsys.com/designware-ip/interface-ip/pci-express.html
https://blog.csdn.net/yijingjijng/article/details/48028809
2 --> PCIE 协议栈的框架详解相关推荐
- jQuery Validate验证框架详解
2019独角兽企业重金招聘Python工程师标准>>> 一.导入js库 <script type="text/javascript" src="& ...
- shiro放行_Shiro框架详解 tagline
部分面试资料链接:https://pan.baidu.com/s/1qDb2YoCopCHoQXH15jiLhA 密码:jsam 想获得全部面试必看资料,关注公众号,大家可以在公众号后台回复" ...
- [Cocoa]深入浅出 Cocoa 之 Core Data(1)- 框架详解
深入浅出 Cocoa 之 Core Data(1)- 框架详解 罗朝辉(http://blog.csdn.net/kesalin) CC 许可,转载请注明出处 Core data 是 Cocoa 中处 ...
- WebDriver自动化测试框架详解
webDriver自动化测试框架详解 一. 简介 WebDriver API相对于Selenium Remote Control API来说,虽然同样是控制浏览器,但它的编程接口更加简洁 WebDri ...
- atitit.jQuery Validate验证框架详解与ati Validate 设计新特性
atitit.jQuery Validate验证框架详解与ati Validate 设计新特性 1. AtiValidate的目标1 2. 默的认校验规则1 2.1. 使用方式 1.metadata用 ...
- Android 动画框架详解,第 1 部分
2019独角兽企业重金招聘Python工程师标准>>> Android 平台提供了一套完整的动画框架,使得开发者可以用它来开发各种动画效果,本文将向读者阐述 Android 的动画框 ...
- springboot2整合mysql5_SpringBoot2整合SSM框架详解
SpringBoot2整合SSM框架详解 发布时间:2019-01-15 21:33, 浏览次数:1218 , 标签: SpringBoot SSM <>开发环境 * 开发工具:Eclip ...
- Django REST FRAMEWORK swagger(一)框架详解
Django REST FRAMEWORK swagger(一.框架详解) 一.Django REST SWAGGER框架图 具体见下图 二.说明 RESTFul说明 每一个URI代表一种资源: 客 ...
- 框架详解_Qt开发技术:QtCharts(一)QtCharts基本介绍以及图表框架详解
若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/ ...
- iOS开发之Accounts框架详解
2019独角兽企业重金招聘Python工程师标准>>> iOS开发之Accounts框架详解 Accounts框架是iOS原生提供的一套账户管理框架,其支持Facebook,新浪微博 ...
最新文章
- java hashset应用_三.java集合的应用
- DebugView调试C#程序 学习总结
- Redis进阶-核心数据结构进阶实战
- c语言逗号占几个字符,C语言 scanf输入多个数字只能以逗号分隔的操作
- 我国高性能计算机发展,中国高性能计算机发展水平与趋势
- UOJ#218. 【UNR #1】火车管理 线段树 主席树
- linux脚本中如何读取文件,如何在Shell脚本中逐行读取文件
- springbank 开发日志 springbank是如何执行一个handler的requestMapping对应的方法的
- popToRootViewController & popToViewController
- 关于线性模型你可能还不知道的二三事
- 用户画像方法论与工程化解决方案 pdf_《用户画像》作者:赵宏田
- LTE下行物理层传输机制(5)-DCI格式的选择和DCI1A
- ImageBox显示方式设置、打开图片文件
- [CTF]Brainfuck/Ook!编码
- Prettier your project
- 卧槽!迅雷的代码结构竟然被扒了精光!
- fore-each操作数组
- 计算机其他图标删除,我的电脑其他图标删除方法介绍
- AI自己写代码让智能体进化!OpenAI的大模型有“人类思想”那味了
- Kafka 核心原理(贼全面)
热门文章
- u盘修复计算机系统,用u盘修复win7系统
- vscode最适合编程的 6 种字体
- FP-growth算法,fpgrowth算法详解
- fpgrowth算法实战 mlib_Spark MLlib FPGrowth关联规则算法
- 升压和升降压拓扑中IDC与IO的关系推导 // 《精通开关电源设计》P41式2-2
- 遗传算法原理及应用二(交叉算子、变异算子与运行参数选择)
- 字体和font-family对照表
- 怎样从altera下载软件与器件库
- 【Altera SoC体验之旅】+ 正式开启OpenCL模式
- Bolt界面引擎中XLUE布局XML文件节点属性配置详解