CN115098427B - 一种链路宽度自适应的实现方法 - Google Patents

一种链路宽度自适应的实现方法 Download PDF

Info

Publication number
CN115098427B
CN115098427B CN202210723815.7A CN202210723815A CN115098427B CN 115098427 B CN115098427 B CN 115098427B CN 202210723815 A CN202210723815 A CN 202210723815A CN 115098427 B CN115098427 B CN 115098427B
Authority
CN
China
Prior art keywords
link
state machine
mode
ltssm
machine module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210723815.7A
Other languages
English (en)
Other versions
CN115098427A (zh
Inventor
张磊
姜若旭
林凡淼
邵健
邓佳伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 58 Research Institute
Original Assignee
CETC 58 Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 58 Research Institute filed Critical CETC 58 Research Institute
Priority to CN202210723815.7A priority Critical patent/CN115098427B/zh
Publication of CN115098427A publication Critical patent/CN115098427A/zh
Application granted granted Critical
Publication of CN115098427B publication Critical patent/CN115098427B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及一种链路宽度自适应的实现方法,所述实现方法基于链路宽度自适应装置系统,且装置系统包括:轮询方式选择装置、LTSSM状态机模块、链路训练状态判断模块,端口间采用轮询的方式进行链路训练:从最大链路宽度开始,若linkup不成功,则以逐步递减的轮询模式进行链路训练,直到以某一链路宽度linkup成功;且轮询模式中采用链路协商机制,链路协商机制通过LTSSM状态机模块跳转实现,LTSSM状态机模块控制着PCIE链路协商的整个过程。本发明所述的实现方法可使正确的链路训练过程不需要依赖于PHY检测链路远端是否存在接收设备的正确结果。

Description

一种链路宽度自适应的实现方法
技术领域
本发明涉及电子技术领域,尤其是指一种规避PHY无法自适应训练链路宽度的方法。
背景技术
PCIExpress是用来互联诸如计算和通信平台应用中外围设备的第三代高性能I/O总线。为了提高总线性能,减少整个系统的成本并利用计算机设计方面新的开发成果,PCIExpress在原有总线的基础上进行大量的重新设计,相较于PCI与PCI-X两种多点并行互联总线,PCIExpress实现两台设备之间通信的串行、点对点类型的互联,多台PCIExpress设备使用桥片(switch)实现互联,这意味着在一个系统中可以连接许多设备;另一方面,与原有总线相比PCIExpress总线的带宽有了显著的提升,PCIE1.0的带宽为2.5Gbps、PCIE2.0的带宽为5Gbps,同时互联的PCIE设备间可以存在多条链路,实现带宽数的倍增,因此需要相应的链路协商机制来控制链路的正常工作。
链路协商机制由LTSSM状态机模块进行实现,LTSSM状态机模块控制着链路协商的整个过程,例如:PCIELTSSM状态机模块主要包括以下几种状态:Detect、Polling、Configuration、L0、L0s、L1、L2、Recovery、Loopback、Hot Reset、Disabled,中Detect状态就是通过PHY检测链路远端是否存在接收设备,从而决定状态机的下一个状态:若PHY检测链路远端设备的功能正常,则检测到接收器的通道数(lane)与链路协商的结果相符,则下一状态为Polling.Active子状态,从而LTSSM状态机模块可以正常跳转直至L0状态,linkup成功;否则,下一状态又跳转回为Detect.Quiet状态机子状态,从而陷入死循环,导致无法link up。
但是存在部分PCIEPHY无法正确进行检测这一过程,当两个PCIE设备间链路(lane)宽度不一致时,PCIE设备的控制器检测到接收器的通道数(lane)与链路协商的结果不符,造成LTSSM状态机模块无法正常跳转至下一状态Polling.Active子状态,从而无法正确进行链路训练。在这种情况下,应该采用某种规避方法使链路训练正确进行。
发明内容
为解决上述技术问题,本发明的一种链路宽度自适应的实现方法,通过更改PHY发起接收器检测序列请求的方法进行链路训练的方式,所述实现方法基于链路宽度自适应装置系统,且装置系统包括:轮询方式选择装置、LTSSM状态机模块、链路训练状态判断模块,,所述的轮询方式选择装置中轮询模式通过外部装置配置;同时若轮询模式使能,则进入轮询模式下的LTSSM状态机模块跳转,否则,则进入普通的LTSSM状态机模块跳转;且轮询模式中采用链路协商机制,链路协商机制通过LTSSM状态机模块跳转实现,LTSSM状态机模块控制着PCIE链路协商的整个过程。
在本发明的一个实施例中,所述的轮询模式过程中最大宽度和异常次数阈值参数通过通过外部装置配置,或直接使用默认参数值。
在本发明的一个实施例中,所述的链路协商机制包括以下几种状态:Detect、Polling、Configuration、L0、L0s、L1、L2、Recovery、Loopback、Hot Reset、Disabled,而轮询模式下的链路协商过程中,Detect状态不需要依赖PHY检测链路远端是否存在接收设备。
在本发明的一个实施例中,所述的轮询模式下,在循环最开始的状态,将根据当前链路训练状态判断模块决定是否继续该轮循环模式,若当前链路训练不成功的循环的次数已超过某个阈值,则退出该循环,链路训练结果link up不成功,否则继续该轮循环。
在本发明的一个实施例中,循环模式下,包含如下步骤:
步骤S1:采用最大链路宽度X2n模式进行链路训练(n的默认值取决于设备支持的最大链路宽度,可通过外部配置,通过直接使用默认参数值,例如:设备支持的最大链路宽度为32,则n=5);
步骤S2:若LTSSM状态机模块正常跳转至L0状态,则link up成功;否则,若超过一定的时间期限或者LTSSM状态机模块跳转出现异常的次数超过某个值后,仍未link up成功,则继续改用X2n-1的链路宽度进入链路训练模式;
步骤S3:在X2n-1链路宽度模式下进行链路训练,重复上述步骤S2,若超过一定的时间期限或者LTSSM状态机模块跳转出现异常的次数超过阈值后,仍未link up成功,则逐步递减的轮询方式进行链路训练(X2n-2,X2n-3,…X1),直到以某一链路宽度link up成功;
步骤S4:若递减到X1模式,仍未link up成功,则返回循环最开始的判断状态,根据当前链路训练状态判断模块决定是否继续该轮循环模式。
本发明的上述技术方案相比现有技术具有以下优点:PCIE链路协商机制通过LTSSM状态机模块跳转实现,LTSSM状态机模块控制着PCIE链路协商的整个过程,其主要包括以下几种状态:Detect、Polling、Configuration、L0、L0s、L1、L2、Recovery、Loopback、Hot Reset、Disabled,其中Detect状态就是通过PHY检测链路远端是否存在接收设备,从而决定状态机的下一个状态:若PHY检测链路远端设备的功能正常,则检测到接收器的通道数(lane)与链路协商的结果相符,则下一状态为Polling.Active子状态,从而LTSSM状态机模块可以正常跳转直至L0状态,link up成功;否则,下一状态又跳转回为Detect.Quiet状态机子状态,从而陷入死循环,导致无法link up。如果PCIEPHY无法正确检测链路远端是否存在接收设备时,当两个PCIE设备间链路(lane)宽度不一致时,检测到接收器的通道数(lane)与链路协商的结果不符,造成LTSSM状态机模块无法正常跳转至下一状态Polling.Active子状态,从而无法正确进行链路训练。在这种情况下,本发明所述的链路宽度自适应的实现方法,克服了上述技术中的不足,使正确的链路训练过程不需要依赖于PHY检测链路远端是否存在接收设备的正确结果。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明。
图1是本发明在链路宽度自适应的实现方法在实施方式中的流程示意图;
图2是本发明在链路宽度自适应的实现方法在实施方式中的结构框图。
具体实施方式
如图1和图2所示,本实施例提供一种链路宽度自适应的实现方法,所述实现方法基于链路宽度自适应装置系统,且链路宽度自适应装置100主要包括:轮询方式选择装置110;LTSSM状态机模块120;链路训练状态判断模块130。
链路宽度自适应装置100包括轮询方式选择装置110,其用于选择是否进入轮询模式,选择结果SWMODE发送给LTSSM状态机模块120,LTSSM状态机模块120根据选择结果SWMODE进行LTSSM状态机的跳转方式;LTSSM状态机的跳转的过程状态,即链路训练状态LKSTS传递给链路训练状态判断模块130,链路训练状态判断模块130回复判断结果T给LTSSM状态机模块120,LTSSM状态机模块120根据回复结果T进行LTSSM状态机的跳转方式,最终输出链路宽度自适应装置100的运行结果,即Link up状态。
轮询方式选择装置110可以是拨码开关、或EEPROM、Flash等,链路宽度自适应装置100上电启动后,首先通过轮询方式选择装置110选择是否进入轮询模式。轮询方式选择装置110通过接口150向LTSSM状态机模块120发送选择结果,例如:EEPROM通过I2C接口,或Flash通过SPI接口,加载相关寄存器,由该寄存器控制LTSSM状态机模块120中的状态机跳转方式。
LTSSM状态机模块120包括最大宽度配置和异常次数阈值配置端口180,和轮询方式选择端口150,根据配置端口180和选择端口150的输入,LTSSM状态机按特定方式跳转,跳转的流程如图2所示。
LTSSM状态机模块120中的LTSSM状态机的跳转的过程状态,即链路训练状态LKSTS,将发送给链路训练状态判断模块130,链路训练状态判断模块130最终的判断结果T反馈回LTSSM状态机模块120,根据回复的判断结果T,LTSSM状态机按特定方式跳转,跳转的流程如图1所示。
如图2所示,LTSSM状态机模块120中,若轮询模式使能,则进入轮询模式下的LTSSM状态机跳转,否则,则进入普通的LTSSM状态机跳转:跳转状态Detect将通过PHY检测链路远端是否存在接收设备,从而决定状态机的下一个状态,若正常跳转至L0状态,则link up成功,否则,链路训练结果link up不成功。
如图1所示,进入轮询模式后,将根据链路训练状态判断模块130最终的判断结果T决定是否继续该轮循环模式,其中,判断结果T的判据为:若当前链路训练不成功循环的次数小于某个阈值,则继续该轮循环,否则,则退出该循环,链路训练结果link up不成功。
如图2所示,循环模式下,包含如下步骤:
步骤S1:采用最大链路宽度X2n模式进行链路训练(n的默认值取决于设备支持的最大链路宽度,通过通过外部配置,例如:设备支持的最大链路宽度为32,则n=5);
步骤S2:若LTSSM状态机正常跳转至L0状态,则link up成功。否则,若超过一定的时间期限或者LTSSM状态机跳转出现异常的次数超过某个值后,仍未link up成功,则继续改用X2n-1的链路宽度进入链路训练模式;
步骤S3:在X2n-1链路宽度模式下进行链路训练,重复上述步骤S2,若超过一定的时间期限或者LTSSM状态机跳转出现异常的次数超过某个值后,仍未link up成功,则逐步递减的轮询方式进行链路训练(X2n-2,X2n-3,…X1),直到以某一链路宽度link up成功;
步骤S4:若递减到X1模式,仍未link up成功,则返回循环最开始的状态:根据链路训练状态判断模块130最终的判断结果T决定是否继续该轮循环模式。
显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (3)

1.一种链路宽度自适应的实现方法,所述实现方法基于链路宽度自适应装置系统,且装置系统包括:轮询方式选择装置、LTSSM状态机模块、链路训练状态判断模块,其特征在于,所述的轮询方式选择装置中轮询模式通过外部装置配置;同时若轮询模式使能,则进入轮询模式下的LTSSM状态机模块跳转,否则,则进入普通的LTSSM状态机模块跳转;且轮询模式中采用链路协商机制,链路协商机制通过LTSSM状态机模块跳转实现,LTSSM状态机模块控制着PCIE链路协商的整个过程;
所述的轮询模式下,在循环最开始的状态,将根据当前链路训练状态判断模块决定是否继续该轮循环模式,若当前链路训练不成功的循环的次数已超过某个阈值,则退出该循环,链路训练结果link up不成功,否则继续该轮循环;
具体循环模式下,包含如下步骤:
步骤S1:采用最大链路宽度X2n模式进行链路训练;
步骤S2:若LTSSM状态机模块正常跳转至L0状态,则link up成功;否则,若超过一定的时间期限或者LTSSM状态机模块跳转出现异常的次数超过某个值后,仍未link up成功,则继续改用X2n-1的链路宽度进入链路训练模式;
步骤S3:在X2n-1链路宽度模式下进行链路训练,重复上述步骤S2,若超过一定的时间期限或者LTSSM状态机模块跳转出现异常的次数超过阈值后,仍未link up成功,则逐步递减的轮询方式进行链路训练(X2n-2,X2n-3,…X1),直到以某一链路宽度link up成功;
步骤S4:若递减到X1模式,仍未link up成功,则返回循环最开始的判断状态,根据当前链路训练状态判断模块决定是否继续该轮循环模式。
2.根据权利要求1所述的链路宽度自适应的实现方法,其特征在于:所述的轮询模式过程中最大宽度和异常次数阈值参数通过外部装置配置,或直接使用默认参数值。
3.根据权利要求1所述的链路宽度自适应的实现方法,其特征在于:所述的链路协商机制包括以下几种状态:Detect、Polling、Configuration、L0、L0s、L1、L2、Recovery、Loopback、Hot Reset、Disabled,而轮询模式下的链路协商过程中,Detect状态不需要依赖PHY检测链路远端是否存在接收设备。
CN202210723815.7A 2022-06-24 2022-06-24 一种链路宽度自适应的实现方法 Active CN115098427B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210723815.7A CN115098427B (zh) 2022-06-24 2022-06-24 一种链路宽度自适应的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210723815.7A CN115098427B (zh) 2022-06-24 2022-06-24 一种链路宽度自适应的实现方法

Publications (2)

Publication Number Publication Date
CN115098427A CN115098427A (zh) 2022-09-23
CN115098427B true CN115098427B (zh) 2024-05-07

Family

ID=83292253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210723815.7A Active CN115098427B (zh) 2022-06-24 2022-06-24 一种链路宽度自适应的实现方法

Country Status (1)

Country Link
CN (1) CN115098427B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118012812B (zh) * 2024-04-10 2024-06-18 芯瞳半导体技术(山东)有限公司 Pcie链路训练方法、装置、电子设备及计算机存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136953B1 (en) * 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization
US7426597B1 (en) * 2003-05-07 2008-09-16 Nvidia Corporation Apparatus, system, and method for bus link width optimization of a graphics system
CN103514133A (zh) * 2013-10-12 2014-01-15 江苏华丽网络工程有限公司 一种用于pcie高速链路管理的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136953B1 (en) * 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization
US7426597B1 (en) * 2003-05-07 2008-09-16 Nvidia Corporation Apparatus, system, and method for bus link width optimization of a graphics system
CN103514133A (zh) * 2013-10-12 2014-01-15 江苏华丽网络工程有限公司 一种用于pcie高速链路管理的方法

Also Published As

Publication number Publication date
CN115098427A (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
CN115098427B (zh) 一种链路宽度自适应的实现方法
US8036245B2 (en) System and method for packet based communications and arrangement therefor
US20190171609A1 (en) Non-destructive outside device alerts for multi-lane i3c
CN109932891A (zh) 一种异构冗余的拟态mcu
CN109074294A (zh) 通信装置和通信系统
CN112039516A (zh) 一种芯片引脚复用电路和方法
JP5041070B2 (ja) 受信装置、伝送装置及び伝送方法
CN112713938B (zh) 光模块控制方法、装置和设备
CN109074343B (zh) 通信设备、通信方法、程序、以及通信系统
US20070220296A1 (en) Data processing apparatus
US5636343A (en) Microcomputer with built-in serial input-output circuit and collision detection circuit responsive to common input-output line being occupied
CN104253667A (zh) 一种应用于手机平台的串行同步总线校验反馈系统和方法
US7848856B2 (en) Communication system and electronic control unit including communication system for vehicle control
JP5644570B2 (ja) 通信方法、通信システム及びそのデバイス
JP4822171B2 (ja) 送信装置および画像データ伝送システム
CN113830009B (zh) 一种信号传输方法、装置及电动汽车
JP6344302B2 (ja) 組電池制御装置
KR101539579B1 (ko) Rs232c 직렬 통신 하드웨어 이상 감지 처리장치 및 그 방법
US10574514B2 (en) Duplex control device and duplex system
US11876192B2 (en) Assembled battery monitoring apparatus
US20100158007A1 (en) Method and apparatus for aggregating single packets in a single session
KR101172387B1 (ko) 직렬 주변장치 인터페이스 통신을 이용한 마이크로제어장치의 계산 오류 검사장치
CN212367252U (zh) 一种芯片引脚复用电路
EP4266585A1 (en) Data error correction circuit and data transmission method
CN112162895B (zh) 一种异常状态检测方法、装置、系统、设备和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant