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。两人一发一确认。