pcie初始化过程

1.上电reset

2.设置超时时间

3.进入training过程。主要解决问题有:link rate的双方谈判。每条lane上的bit lock。lane的polarity。每条lane上的symbol lock/block aliagnment。一个link上的多条lane的排列顺序,link width的双方谈判,对于多条lane组合成的一个link怎么做lane-to-lane的de-skew。

4. 状态机进入l0,正常工作。

5.若没有达到指定的rate,双方继续谈判在ltssm里面的recovery状态,最后双方都同意提速进入新的rate,ltssm又会跳转到l0.

pcie电源管理的理解

1.电源管理PM。

电源管理状态有4中D0~D3.

D0-无电源限制,有D0 unitialized 和D0 Actived 两个子状态

D1-轻待机状态

D2-重待机状态

D3-完全关闭状态,有D3 cold和D3 hot两个子状态

每个pcie都要提供D0和D3状态,其他两个状态可选

电源管理的软件控制状态

pcie协议中发memory读对于对界和不对界,firstbe和lastbe的理解

memr地址,len_DW, first_be, last_be

memr的长度为1DW时,first be的值不能为‘b0000. last be的值是'b0001-'b1111随机

如果len_DW大于等于2,小于等于1024时,memr[3]是0(即2DW对界时) firstbe和lastbe的值是1-15.随机。

                                   若memr[3]不为0,则firstbe和lastbe是连续的。

如下:firstbe可选'b1000, 对应lastbe 'b0111.

                        'b1100对应lastbe  'b0011.

                        'b1110对应lastbe  'b0001.

                        'b1111对应lastbe  'b0000

         lastbe可选 ‘b0001对应 firstbe 'b1110

                          'b0011对应 firstbe 'b1100

                          'b0111对应firstbe  'b1000

                          'b1111对应firstbe 'b0000

当len_DW为1024时,跟长度为len_DW为0时的作用是等效的。都会取1024个DW数据回来。

pcie协议TL层知识梳理

TL=Trasacation Layer.所处位置为数据链路层的上面。
Transaction <-Data Link<-Physical A<=>Physical B->Data Link->Transaction
主要的transaction type 有:
1.memory地址空间 有 读和写 两种传输类型。主要使用在传输数据输入或输出到有mem map的地方。
2.I/O地址空间 有 读和写 两种传输类型。主要使用在 传输数据 输入或输出 到有I/O map的地方。
3.configuration地址空间 有 读和写两种传输类型。主要使用在设备功能的配置以及setup。
4.message地址空间 有 读和写两种传输类型。从事件信号的状态机来产生目的性消息。
memory传输的类型,读请求及完成,写请求,原子请求以及完成。有32位地址划分和64位地址划分。
I/O传输的类型。读请求及完成,写请求及完成,只有32位编址的格式。
configuration传输的类型,读请求及完成,写请求及完成。
message传输的类型,device之间的交流。
np和p

p类有memory w和message类型,不会等complecation的。个人记忆p只邮送,邮到目的地不等回信

np类,除p类的都是np类型 需要等complecation。两人一发一确认。