PCIe PCS sublayer

  1. Byte striping: 把每个byte依次分发到不同的lane,避免不同lane传输数据长度不同
  2. scrambler:PRBS加扰,消除重复的pattern,因为重复的pattern在频谱上能量集中,会产生很大的EMI噪声;TLP/DLLP中的D character被scramble,而OS则不被scramble
  3. character:8bit uncoded byte;symbol:10bit encoded character;8b10b的作用是产生足够多的10/01变化边沿,每10个bit中不超过5个连续的0或1;接收端的decoder同时可以检测是否有symbol error;DC balancing;embedded clock;Encoding of special Control Characters;Error detection
  4. TX buffer根据data link layer送来packet的“Control”码来给packet加Start/End frame;TLP开头的K-character是STP,DLLP开头是SDP,good TLP/DLLP的结尾是END,bad TLP是EDB;Logical Idle sequence之后的packet的STP/SDP必须分配给lane0,如果是连续的back-to-back transmission of packet,STP/SDP必须分给0/4/8/16/32
  5. Ordered-Sets:多个重复的4 character sequences,开头是COM;Link training阶段,发TS1/TS2;TX周期性地发送SKIP Oerderd-Sets用于补偿TX/RX时钟频差;TX进EIDLE状态要发electrical idle OS;从L0s到L0,要发FTS。OS以K character开头,中间可能包含D character;Logical Idle Sequence在没有packet时发送,保证RX的bit/symbol lock
  6. bit lock:指CDR锁定,此时只是锁到bit,但不知道哪个是bit0
  7. symbol lock:通过Oerdered-Sets中的COM,找到symbol0,此过程只在link training,进recovery,和出L0s时发FTS阶段完成
  8. Elastic Buffer用于补偿SSC频差,TX每1180~1538个cycle要发一次SKIP OS(包括一个COM,3个SKIP)
  9. lane-to-lane deskew:TS1/TS2/FTS阶段,左右lane都找COM,然后同时打出去

猜你喜欢

转载自blog.csdn.net/maxwell2ic/article/details/92075661