這一篇文章來(lái)簡(jiǎn)單地介紹一下鏈路訓(xùn)練狀態(tài)機(jī)(Link Training and Status State Machine,LTSSM),并簡(jiǎn)要地介紹各個(gè)狀態(tài)的作用和實(shí)現(xiàn)機(jī)制。
LTSSM有11個(gè)狀態(tài)(其中又有多個(gè)子狀態(tài)),分別是Detect、Polling、Configuration、Recovery,L0、L0s、L1、L2(L3是可選的)、Hot Reset、Loopback和Disable狀態(tài)。系統(tǒng)進(jìn)行復(fù)位操作(Cold, Hot or Warm Reset)后,會(huì)自動(dòng)進(jìn)入Detect狀態(tài)。
這11個(gè)狀態(tài)又可以被分為以下五個(gè)類別:
1、鏈路訓(xùn)練狀態(tài)(Link Training State);
2、重訓(xùn)練狀態(tài)(Re-Training(Recovery) State);
3、軟件驅(qū)動(dòng)功耗管理狀態(tài)(Software Driven Power Management State);
4、活動(dòng)狀態(tài)功耗管理狀態(tài)(Active-State Power Management State,ASPM State);
5、其他狀態(tài)(Other State);
如下圖所示:
下面分別簡(jiǎn)要地介紹一下各個(gè)狀態(tài):
首先是Detect:
前面說(shuō)到,系統(tǒng)進(jìn)行復(fù)位操作(Cold, Hot or Warm Reset)后,會(huì)自動(dòng)進(jìn)入Detect狀態(tài)。在這個(gè)狀態(tài)中,PCIe設(shè)備會(huì)去檢測(cè)自己Link的另一端是否存在其他PCIe設(shè)備。換句話說(shuō),就是檢測(cè)有么有其他的PCIe設(shè)備與其相連接。如下圖所示:
Polling:
在該狀態(tài)中,PCIe設(shè)備會(huì)依次發(fā)送TS1OS和TS2OS以實(shí)現(xiàn)以下目標(biāo):
1、位鎖定(Bit Lock);
2、字符鎖定(Symbol Lock);
3、信號(hào)極性翻轉(zhuǎn)(Polarity Inversion),如果需要的話;
4、確定各個(gè)設(shè)備支持的速率(Data Rates)。
如下圖所示:
Configuration:
在該狀態(tài)中,PCIe設(shè)備會(huì)依次發(fā)送TS1OS和TS2OS以實(shí)現(xiàn)以下目標(biāo):
1、確定鏈路寬度(Link Width);
2、分配通道(Lane)號(hào);
3、通道位置翻轉(zhuǎn)(Lane Reversal),如果需要的話;
4、通道對(duì)齊(Lane-to-Lane De-skew)。
如下圖所示:
L0:
這是鏈路(Link)的正常狀態(tài)(Normal and Full-Active State),所有的TLP、DLLP和Ordered Sets都可以被正常的收發(fā)。該狀態(tài)下,速率可以是2.5GT/s或者是5GT/s(如果鏈路兩端設(shè)備都支持的話,且經(jīng)過(guò)了Re-Trainning)。
Recovery:
這個(gè)狀態(tài)用于Re-Trainning,因此Re-Trainning可能會(huì)改變?cè)械乃俾剩晕绘i定(Bit Lock)和符號(hào)鎖定(Symbol Lock)操作都會(huì)被重新進(jìn)行,但是花費(fèi)的時(shí)間要比第一次少很多。
其內(nèi)部的子狀態(tài)轉(zhuǎn)移圖如下圖所示:
L0s:
該ASPM狀態(tài)主要用于降低功耗,在總線空閑的時(shí)候可以進(jìn)入該狀態(tài),且從該狀態(tài)可以迅速地重新切換回L0狀態(tài)。當(dāng)在L0狀態(tài)是,鏈路上出現(xiàn)EIOS時(shí),則表明即將進(jìn)入L0s狀態(tài)。當(dāng)在L0s狀態(tài)時(shí),鏈路上出現(xiàn)FTS時(shí),鏈路會(huì)迅速地完成位鎖定和符號(hào)鎖定,并進(jìn)入L0狀態(tài)。
發(fā)送端如下圖所示:
接收端的示意圖如下:
L1:
相對(duì)于L0s狀態(tài),L1狀態(tài)下的功耗更低。進(jìn)入L1狀態(tài)需要鏈路兩端的PCIe進(jìn)行“溝通”,只有雙方都“同意”進(jìn)入該狀態(tài),鏈路才會(huì)進(jìn)入該狀態(tài)。一般有以下兩種方式:
1、第一種是由ASPM引導(dǎo),硬件自動(dòng)完成的。發(fā)送端發(fā)現(xiàn)鏈路上長(zhǎng)時(shí)間沒(méi)有TLP或者DLLP時(shí),便通過(guò)ASPM建議接收端進(jìn)入L1狀態(tài)。如果接收端“同意”了,則鏈路進(jìn)入L1狀態(tài);如果接收端“不同意”,則鏈路進(jìn)入L0s狀態(tài)。
2、第二種是有軟件引導(dǎo)的,軟件發(fā)送一系列的命令讓鏈路進(jìn)入低功耗狀態(tài)(D1,D2,or D3 Hot)。隨后,鏈路的上端設(shè)備會(huì)通知下端設(shè)備進(jìn)入L1狀態(tài),收到來(lái)自下端設(shè)備的應(yīng)答后,鏈路進(jìn)入L1狀態(tài)。
如下圖所示:
L2:
L2狀態(tài)下的鏈路功耗更低,因?yàn)槠渲槐A袅薞aux,關(guān)閉了鏈路的其他功能。此時(shí),需要Beacon信號(hào)或者WAKE#邊帶信號(hào)來(lái)喚醒系統(tǒng)。其中Beacon信號(hào)是一種低頻信號(hào)(30KHz~500MHz),其波形圖如下圖所示:
注:此外,還有一個(gè)L3狀態(tài),不過(guò)其實(shí)際上已經(jīng)不屬于LTSSM了。由于L3狀態(tài)連Vaux都關(guān)閉了,一旦進(jìn)入L3狀態(tài),實(shí)際上和直接關(guān)閉PCIe設(shè)備的電源沒(méi)有什么太大的差別了。
L2的子狀態(tài)轉(zhuǎn)移圖如下圖所示:
Loopback:
該狀態(tài)主要用于測(cè)試,這里就不詳細(xì)介紹了。
Disable:
該狀態(tài)中鏈路被禁止,此時(shí)發(fā)送端處于電氣空閑狀態(tài)(Electrical Idle State),而接收端處于低阻狀態(tài)(Low Impedance State)。進(jìn)入該狀態(tài)的原因可能是鏈路連接不穩(wěn)定,或者鏈路中的某個(gè)設(shè)備被移除,如PCIe卡從插槽中拔出。
Hot Reset:
軟件可以通過(guò)將橋控制寄存器(Bridge Control Register)中的Secondary Bus Reset位置位來(lái)復(fù)位鏈路。隨后,橋下端的PCIe設(shè)備發(fā)送TS1OS,其中的Training Control中包含了Hot Reset的信息。當(dāng)接收端發(fā)現(xiàn)連續(xù)的兩個(gè)TS1OS中都包含Hot Reset時(shí),鏈路隨后進(jìn)入復(fù)位狀態(tài)。
注:本文只是對(duì)LTSSM進(jìn)行了簡(jiǎn)單的介紹,關(guān)于具體的每一個(gè)狀態(tài)內(nèi)部是如何實(shí)現(xiàn)的,請(qǐng)參考PCIe Spec相關(guān)章節(jié)。
-
PCIe
+關(guān)注
關(guān)注
16文章
1322瀏覽量
84667 -
鏈路
+關(guān)注
關(guān)注
1文章
74瀏覽量
14195 -
功耗管理
+關(guān)注
關(guān)注
0文章
8瀏覽量
7223
原文標(biāo)題:【博文連載】PCIe掃盲——鏈路初始化與訓(xùn)練基礎(chǔ)(三)之LTSSM
文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
FPGA通過(guò)SPI對(duì)DAC進(jìn)行了配置,用頻譜儀測(cè)不到輸出是怎么回事?
請(qǐng)問(wèn)sv子程序是進(jìn)行了標(biāo)幺化處理嗎
請(qǐng)問(wèn)OSTickISR在UCOSII哪個(gè)文件進(jìn)行了定義?
HV857已針對(duì)各種應(yīng)用進(jìn)行了優(yōu)化
對(duì)結(jié)構(gòu)體成員進(jìn)行了賦值
在Virtex5-Q FPGA上進(jìn)行了哪些資格測(cè)試?
請(qǐng)問(wèn)一下Arm Cortex-M85性能的提升是對(duì)總線進(jìn)行了優(yōu)化嗎?
imx6q eim總線連接fpga,signal Tap顯示進(jìn)行了多次寫操作,為什么會(huì)這樣呢?
什么是LS1043 FIT率以及為得出FIT率進(jìn)行了哪些測(cè)試?
“黑匣子”收集了數(shù)百個(gè)傳感器參數(shù),幫助進(jìn)行了崩潰分析

對(duì)國(guó)內(nèi)的大硅片項(xiàng)目進(jìn)行了整理核分析

評(píng)論