CN109558371A - 管理控制器与微控制器之间的串行连接 - Google Patents

管理控制器与微控制器之间的串行连接 Download PDF

Info

Publication number
CN109558371A
CN109558371A CN201811113337.8A CN201811113337A CN109558371A CN 109558371 A CN109558371 A CN 109558371A CN 201811113337 A CN201811113337 A CN 201811113337A CN 109558371 A CN109558371 A CN 109558371A
Authority
CN
China
Prior art keywords
signal
microcontroller
uart
bmc
bridging chip
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.)
Granted
Application number
CN201811113337.8A
Other languages
English (en)
Other versions
CN109558371B (zh
Inventor
A·布朗
D·海因里克
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of CN109558371A publication Critical patent/CN109558371A/zh
Application granted granted Critical
Publication of CN109558371B publication Critical patent/CN109558371B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7803System on board, i.e. computer system on one or more PCB, e.g. motherboards, daughterboards or blades
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4213Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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
    • 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
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • 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
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

Abstract

本公开涉及管理控制器与微控制器之间的串行连接。示例计算系统包括基板管理控制器(BMC)、主板以及通信地耦接到主板的子板。BMC包括串行接口。子板包括通用异步接收器/发送器(UART)端子、桥接芯片以及通过桥接芯片通信地耦合到BMC的微控制器。通过串行接口和UART端子,BMC建立与微控制器的串行连接。

Description

管理控制器与微控制器之间的串行连接
背景技术
在某些计算系统中,基板管理控制器(BMC)被安装,用于为计算系统提供远程管理功能。管理员可以(例如,通过单独的管理网卡)登录BMC并从计算系统收集状态信息。BMC可以能够使用多种通信协议与计算系统通信。
附图说明
为了更完整地理解本公开,参考下面结合附图的详细描述可以更容易理解根据本文描述的各种特征的示例,其中相同的附图标记表示相同的结构元素,并且其中:
图1图示了包括基板管理控制器(BMC)、主板和子板的示例计算系统;
图2图示了包括桥接芯片和微控制器的示例子板;
图3A至图3D图示了通过串行连接通信的示例计算系统;
图3E图示了在处理器与微控制器之间通信的示例计算系统;
图4是描述用于通过串行连接通信的示例方法的流程图;
图5是描述用于与微控制器通信的示例方法的流程图;
某些示例具有作为上述附图中所示特征的补充或替代的特征。
具体实施方式
在某些计算系统(包括服务器)中,管理员可以远程管理系统。在一些系统中,这种远程管理是通过管理网络实现的。管理网络可以包括基板管理控制器(BMC),BMC包括与服务器的数据连接NIC分离的网络接口卡(NIC)。BMC使管理员能够访问与服务器有关的状态信息并能够通过BMC将管理命令发送到服务器。管理员可以通过安全外壳(SSH)连接将管理员设备连接到BMC。
某些计算系统包括接收计算系统的中央处理单元(CPU)和其他组件的主板。一些主板包括与子板接口的适配器,适配器可以扩展计算系统的能力。一种常见类型的子板为外围组件快速互连(PCI-E)卡。PCI-E卡可以包括电迹线、电气组件和集成电路。在一些示例中,PCI-E卡包括微控制器,微控制器在计算系统通电时以高电力模式操作,并且在计算系统断电时以低电力模式操作。这样的PCI-E卡可以包括一旦微控制器以高电力模式操作就被启用的管理组件传输协议(MCTP)接口。在某些示例中,在“上电”程序的一部分由微控制器执行以从低电力模式转换成高电力模式之后,MCTP接口被启用。微控制器可以执行指令以启用MCTP接口。在一些示例中,微控制器包含能够交互式双向通信的通用异步接收器/发送器(UART)端子。
微控制器的UART端子可以不对应于PCI-E卡与主板之间的接口。然而,在某些示例中,PCI-E卡包括到主板的内部集成电路(I2C)接口。这样的PCI-E卡可以包括用于将I2C信号转换成UART信号的桥接芯片,并且反之亦然,以允许建立与用于管理任务的微控制器的串行连接,即使MCTP接口未被启用。在某些计算系统中,BMC与主板之间的串行接口(例如,I2C接口)耦接到主板与PCI-E卡之间的串行接口(例如,I2C接口),允许已认证的管理员建立与PCI-E卡的微控制器的串行连接。与串行连接相关联的数据可以通过管理员与BMC之间的SSH连接、BMC与主板之间的I2C接口、主板与PCI-E卡之间的I2C接口、PCI-E卡的桥接芯片以及微控制器的UART端子。在本公开中,术语“接口”用于从一个电路板传递到另一个电路板的数据线。例如,BMC与主板之间的I2C接口是指BMC上的电耦接到主板上的对应数据线的一条或多条数据线。在本公开中,术语“端子”用于适用于数据通信的电气组件的一个或多个引脚。例如,微控制器的UART端子是指微控制器的专用于收发UART信号的一个或多个引脚。
在示例操作中,在计算系统的初始化期间,子板的微控制器可以检测存在错误。一旦检测到错误,微控制器还未启用MCTP,因此在该方法中无法传送错误记录信息。然而,微控制器的UART端子被启用,并且计算系统的I2C系统也被启用。微控制器通过UART端子将错误记录信息发送到BMC,其中管理员可以访问错误记录信息。
在另一示例操作中,管理员设备建立与BMC的已认证连接(例如,SSH连接)。管理员设备通过BMC将命令发送到子板的微控制器以询问微控制器。管理员设备可以请求错误日志、状态信息、标识信息以及微控制器通过其UART端子能够提供的任何其他信息。管理员设备也通过BMC将命令发送到子板的微控制器以重新配置微控制器。管理员设备可以改变微控制器的记录级别,在高电力模式与低电力模式之间触发微控制器,并且改变能够通过微控制器的UART端子改变的任何其他配置参数。
图1图示了包括BMC和子板的示例计算系统。计算系统100包括主板102、BMC 104和子板106。在一些示例中,主板102包括处理器、存储器和其他计算系统组件。主板102可以包括与子板耦接的适配器。一个这样的适配器可以接收BMC 104上的互补适配器,以创建BMC104与主板102之间的接口。另一个这样的适配器可以接收子板106上的互补适配器,以创建主板102与子板106之间的接口。在本公开中,在计算系统的一个组件的适配器与计算系统的另一组件的互补适配器电耦接时,“接口”被创建。视给定上下文的情况,术语“接口”可以描述耦接适配器的全部或者在适配器彼此耦接时建立的电气连接的子集。
在一些示例中,子板106为PCI-E卡。在这样的示例中,子板106与主板102上的PCI-E适配器耦接,PCI-E适配器可以连接到相关的PCI组件(例如,总线、控制器)。PCI-E卡可以通过主板102上的北桥或类似组件间接地连接到主板102的CPU和其他组件(包括BMC 104)。在某些示例中,BMC 104为主板102的组件。在某些其他示例中,BMC 104为耦接到主板102的子板。在又一些示例中,BMC 104为被保持在模块化服务器外壳中并且(例如,通过背板或中间背板)电耦接到主板102的模块化服务器的模块(例如,刀片系统、融合系统、可组合系统)。在某些示例中,BMC 104与主板102之间的接口包括I2C接口108。I2C接口108可以包括多个电气连接。在一些示例中,I2C接口108包括串行数据线(SDA)和串行时钟线(SCL),SDA和SCL中的每个是双向的。
在某些示例中,I2C接口108电耦接到另一I2C接口110,I2C接口110包括主板102的第一触点112和子板106的第二触点114。I2C接口110可以包括图1中未示出的附加触点。在主板102与子板106耦接时,电气连接可以形成在第一触点112与第二触点114之间,以创建I2C接口110。I2C接口110与I2C接口108结合提供BMC 104与子板106的通信耦接。
在一些示例中,BMC 104穿过I2C接口108、通过主板102的组件以及通过I2C接口110将I2C信号传送到子板106的桥接芯片116。桥接芯片116可以包括信号缓冲器,用于保持传送给信号缓冲器的数据直到目标组件表示它准备好接收数据。桥接芯片116可以将I2C信号转换成UART信号,并且反之亦然。在一些示例中,桥接芯片116建立与BMC 104的第一串行连接以及与微控制器120的第二串行连接。在一些其他示例中,桥接芯片116仅转换数据而不用作中介,意味着BMC 104直接建立与微控制器120的串行连接。在I2C信号在桥接芯片116处从BMC 104被接收时,桥接芯片116可以在缓冲器中累积信号的部分,直到足够数据被接收,以产生对应UART信号。桥接芯片116然后可以通过数据线118将转换UART信号传送到微控制器120的UART端子。在一些示例中,多于一条数据线118可以被用于收发UART信号。在某些示例中,一条数据线118将来自桥接芯片116的信号运送到微控制器120,并且另一条数据线118将来自微控制器120的信号运送到桥接芯片116。在UART信号在桥接芯片116处从微控制器120被接收时,桥接芯片116可以在缓冲器中累积信号的部分,直到足够数据被接收,以产生对应I2C信号。桥接芯片116然后可以穿过I2C接口108和110将转换I2C信号传送到BMC 104。
在一些示例中,BMC 104与微控制器120之间的串行连接是交互式的,意味着BMC104能发送命令,并且微控制器120将发送对命令的响应。例如,BMC 104可以发送用于请求微控制器120的型号的命令,并且微控制器120将发送包括其型号的响应。在某些示例中,BMC 104建立与管理员设备的第一串行连接以及与微控制器120的第二串行连接。在这样的示例中,BMC 104可以用作管理员设备与微控制器120之间的中介。BMC 104可以从管理员设备接收与微控制器120有关的命令,并且可以将这些命令转换成要通过I2C接口108发送的合适的I2C信号。
图2图示了包括微控制器和桥接芯片的示例子板。子板200包含桥接芯片202、微控制器204和触点206。桥接芯片202包含缓冲器208。微控制器204包含端子210和212。在一些示例中,桥接芯片202和微控制器204二者驻留在单一集成电路上。在一些其他示例中,桥接芯片202是与微控制器204分离的组件。触点206通过I2C迹线214通信地耦接到桥接芯片202。触点206通过I2C迹线218通信地耦接到微控制器204的端子212。桥接芯片202通过UART迹线216通信地耦接到微控制器204的端子210。在本公开中,术语“迹线”用于意指在两个组件之间传输电信号的导电连接。在一些示例中,“迹线”为印刷电路板上的电气线路。在一些其他示例中,“迹线”可以是集成电路中的导通孔,或焊接到子板200的导线。
在一些示例中,触点206电耦接到计算系统的主板上的互补触点,以创建I2C接口。在触点206处从互补触点接收的I2C信号可以穿过I2C迹线214被转发到桥接芯片202。在一些示例中,在触点206处从互补触点接收的所有信号分别通过I2C迹线218和214被转发到端子212和桥接芯片202二者。在一些其他示例中,子板200的路由组件(未示出)将接收的与在微控制器204与BMC之间建立的串行连接相关联的信号发送到桥接芯片202,并且将所有其他接收的信号发送到端子212。
在某些示例中,在信号在桥接芯片202处被接收时,信号的部分被缓存在缓冲器208中。在一些示例中,缓冲器208包括用于UART到I2C转换的UART缓冲器以及用于I2C到UART转换的I2C缓冲器。在一些其他示例中,缓冲器208为单一双向缓冲器。桥接芯片202可以接收来自I2C迹线214的I2C信号,并且可以开始将I2C信号的部分缓存在缓冲器208中。在一些示例中,在填充缓冲器208超过某一阈值时,桥接芯片202将UART迹线216上的转换UART信号输出到UART端子210。在一些其他示例中,桥接芯片202在接收到来自微控制器204的用于获取转换UART信号的请求之后输出转换UART信号。缓冲器208可以被调整大小,使得它可以保持来自I2C信号的足够数据,以产生要通过UART发送的完整数据分组。类似地,桥接芯片202可以接收来自UART迹线216的UART信号,并且可以开始将UART信号的部分缓存在缓冲器208中。在一些示例中,在填充缓冲器208超过某一阈值时,桥接芯片202将I2C迹线214上的转换I2C信号输出到触点206。在一些其他示例中,桥接芯片202在接收到来自BMC的用于获取转换I2C信号的请求之后输出转换I2C信号。缓冲器208可以被调整大小,使得它可以保持来自UART信号的足够数据,以产生要通过I2C发送的完整数据分组。
在触点206处从主板的互补触点接收的某些I2C信号可以不与在微控制器204与BMC之间建立的串行连接相关联。这些I2C信号可以通过BMC与除了管理以外的处理有关。在一些示例中,这些I2C信号可以通过I2C迹线218以及通过I2C迹线214被转发,以促使桥接芯片202过滤这些I2C信号并且不通过UART迹线216发送它们。在一些其他示例中,子板200的路由组件(未示出)可以通过I2C迹线218将这些I2C信号发送到I2C端子212。
图3图示了流过示例计算系统的示例信号。为了清楚起见,计算系统的某些组件(例如主板)已被省略。计算系统300包括BMC 302和子板304。BMC 302通过I2C线路306通信地耦接到子板304。在一些示例中,I2C线路306可以包括多于一条电气线路。例如,I2C线路306可以包括SDA线路和SCL线路。在某些示例中,I2C线路306穿过I2C接口以及在BMC 302与子板304之间的主板。I2C线路306耦接到桥接芯片308,桥接芯片308又耦接到UART线路312。与I2C线路306类似,UART线路312可以包括多条电气线路。例如,UART线路312可以包括用于从桥接芯片308传送到微控制器310的信号的数据线以及用于从微控制器310传送到桥接芯片308的信号的第二数据线。
在图3A中,示例I2C信号通过示例计算系统300被发送。BMC 302穿过I2C线路306将I2C信号314发送到桥接芯片308。在一些示例中,BMC 302已经建立与微控制器310的串行连接,并且I2C信号314与串行连接相关联。例如,I2C信号314可以包含将其与串行连接相关联的识别信息。在某些示例中,BMC 302已经建立与管理员设备的第二串行连接,并且BMC 302基于从管理员设备接收的命令产生I2C信号314。在一些示例中,I2C信号314包括多个分组,多个分组中的每个包含去往微控制器310的命令的部分。在一些其他示例中,I2C信号314是包含去往微控制器310的命令的整体的数据的单一串行传输。
在接收到I2C信号314时,桥接芯片308可以保持来自I2C信号314的数据。在一些示例中,来自I2C信号314的数据与来自在桥接芯片308处接收的其他I2C信号的数据相结合,以创建由BMC 302发送的整个命令。在一些其他示例中,I2C信号314需要相当数量的时钟周期以被完全接收,并且桥接芯片308保持I2C信号314的部分,直到足够数据被接收以使得保持在缓冲器中的数据作为UART信号被传送。在某些示例中,桥接芯片308将来自I2C信号314的数据保持在缓冲器中,直到微控制器310请求接收数据。
在图3B中,示例转换UART信号通过示例计算系统300被发送。UART信号316转换自在桥接芯片308处接收的I2C信号314。UART信号316包含从BMC 302发送并且去往微控制器310的命令。命令与在BMC 302与微控制器310之间建立的串行连接相关联。在一些示例中,UART信号316包含多个数据分组,每个数据分组包括命令的一部分。在这样的示例中,微控制器310保持来自每个分组的数据,并且在命令的全部被接收时合成命令。在一些其他示例中,UART信号316需要相当数量的时钟周期以被完全接收,并且微控制器310保持UART信号316的部分直到命令的全部被接收。
在图3C中,示例UART信号通过示例计算系统300被发送。UART信号318通过UART线路312从微控制器310的UART端子被发送到桥接芯片308。在一些示例中,UART信号318为对从BMC 302接收的命令的应答。在一些其他示例中,UART信号318的传送由检测错误状况的微控制器310来启动。UART信号318包括从微控制器310到BMC 302的消息,该消息与在微控制器310与BMC 302之间建立的串行连接相关联。UART信号318可以包括来自微控制器310的记录数据。在一些示例中,UART信号318包括在从BMC 302接收的命令中请求的配置改变的确认。在一些示例中,UART信号318包含多个数据分组,每个数据分组包括数据的部分。在这样的示例中,桥接芯片308将来自每个分组的数据保持在缓冲器中。在一些示例中,来自UART信号318的数据与来自在桥接芯片308处接收的其他UART信号的数据相结合,以创建由微控制器310发送的整个消息。在一些其他示例中,UART信号318需要相当数量的时钟周期以被完全接收,并且桥接芯片308保持UART信号318的部分,直到足够数据被接收以使得保持在缓冲器中的数据作为I2C信号被传送。在某些示例中,桥接芯片308将来自UART信号318的数据保持在缓冲器中,直到BMC 302请求接收数据。
在图3D中,示例转换I2C信号通过示例计算系统300被发送。I2C信号320转换自在桥接芯片308处接收的UART信号318。I2C信号320包含从微控制器310发送并且去往BMC 302的消息。消息与在BMC 302与微控制器310之间建立的串行连接相关联。在一些示例中,I2C信号320包含多个数据分组,每个数据分组包括消息的部分。在这样的示例中,BMC 302保持来自每个分组的数据,并且在消息的全部被接收时合成消息。在一些其他示例中,I2C信号320需要相当数量的时钟周期以被完全接收,并且BMC 302保持I2C信号320的部分,直到消息的全部被接收。在某些示例中,BMC 302将请求发送到桥接芯片308以接收消息,以促使桥接芯片308发送I2C信号320。
在图3E中,示例I2C信号通过示例计算系统300被发送。I2C信号326通过I2C线路324从处理器322发送到微控制器310。在一些示例中,I2C线路324使用与I2C线路306相同的电触点在主板与子板304之间经过。在这样的示例中,主板和子板304可以包含用于将I2C信号从合适的目的地路由以及将I2C信号路由到合适的目的地的组件。在一些其他示例中,I2C线路324与I2C线路306完全分离。I2C信号326与在BMC 302与微控制器310之间的串行连接无关。I2C信号326不在微控制器310的UART端子处被微控制器310接收,而是在微控制器310的I2C端子处被微控制器310接收。I2C信号326绕过桥接芯片308。
图4是图示用于通过示例计算系统收发信号的示例方法的流程图。方法400描述了在BMC与微控制器之间发送和接收的信号。
在步骤402中,桥接芯片接收来自BMC的第一信号。在一些示例中,第一信号是来自管理员设备的命令。在某些示例中,第一信号包括用于在BMC与计算系统的子板(例如,PCI-E卡)上的微控制器之间建立交互式双向串行连接的命令。命令可以询问微控制器以获取信息,或者命令可以重新配置微控制器。第一信号使用第一协议(例如,I2C)传送,并且可以穿过至少一个接口(例如,BMC与计算系统的主板之间的接口,主板与子板之间的接口)。在接收到第一信号时,桥接芯片可以将包括在第一信号中的数据的部分保持在缓冲器中。
在步骤404中,第一信号被转换成第二转换信号。在保持第一信号的足够数据以将数据的一部分转换成第二协议(例如,UART)时,桥接芯片开始将第一信号转换成第二转换信号。在一些示例中,第一信号大体实时地被转换,其中桥接芯片的缓冲器在桥接芯片在接收到信号的下一部分之前不能转换整个接收信号时使用。在一些其他示例中,第一信号被划分成离散数据分组,并且桥接芯片将数据分组的部分保持在缓冲器中,直到在转换数据分组之前接收到整个数据分组。在又一些示例中,桥接芯片保持第一信号中的一些或全部,直到用于接收第一信号的请求从微控制器发送到桥接芯片。
在步骤406中,桥接芯片将第二转换信号传送到微控制器。在一些示例中,在接收第一信号的全部之前,桥接芯片开始将第二转换信号传送到微控制器。在一些其他示例中,在接收到用于从微控制器接收第一信号的请求时,桥接芯片开始传送第二转换信号。桥接芯片耦接到微控制器的能够收发第二协议的信号的端子。在一些示例中,端子耦接到单条数据线。在一些其他示例中,端子耦接到多于一条数据线。
在步骤408中,微控制器将第三信号传送到桥接芯片。第三信号为第二协议的形式。在一些示例中,第三信号包括对第一信号的命令应答的消息。在一些其他示例中,第三信号包括信息数据(例如,错误日志)。微控制器可以在从低电力模式转换到高电力模式期间(例如,在计算系统通电时)在检测到错误状况时传送第三信号。在一些示例中,微控制器在传送第三信号之前还未执行用于启用MCTP通信的指令。在从低电力模式到高电力模式的整个转换期间,可以启用能够收发第二协议的信号的微控制器的端子。
在步骤410中,桥接芯片将第二协议的第三信号转换成第一协议的第四转换信号。在保持第三信号的足够数据以将数据的一部分转换成第一协议(例如,I2C)时,桥接芯片开始将第三信号转换成第四转换信号。在一些示例中,第三信号大体实时地被转换,其中桥接芯片的缓冲器在桥接芯片在接收到信号的下一部分之前不能转换整个接收信号时使用。在一些其他示例中,第三信号被划分成离散数据分组,并且桥接芯片将数据分组的部分保持在缓冲器中,直到在转换数据分组之前接收到整个数据分组。在又一些示例中,桥接芯片保持第三信号中的一些或全部,直到用于接收第三信号的请求从BMC发送到桥接芯片。
在步骤412中,桥接芯片通过接口将第四转换信号传送到BMC。在一些示例中,接口是能够在子板与主板之间传递第一协议的信号(例如,I2C)的电耦接。在一些示例中,在接收到第三信号的全部之前,桥接芯片开始将第四转换信号传送到BMC。在一些其他示例中,在接收到用于从BMC接收第三信号的请求时,桥接芯片开始传送第四转换信号。桥接芯片耦接到在子板与主板之间的接口,该接口又耦接到主板与BMC之间的接口。在一些示例中,接口包括单条数据线。在一些其他示例中,接口包括多于一条数据线。
图5图示了在示例计算系统内部收发信号的示例方法的流程图。方法500描述了在BMC与微控制器之间发送和接收的信号。
在步骤502中,桥接芯片接收来自BMC的第一I2C信号。在一些示例中,第一I2C信号是来自管理员设备的命令。在某些示例中,第一I2C信号包括用于在BMC与计算系统的子板(例如,PCI-E卡)上的微控制器之间建立交互式双向串行连接的命令。命令可以询问微控制器以获取信息,或者命令可以重新配置微控制器。第一I2C信号使用I2C传送,并且可以穿过至少一个I2C接口(例如,BMC与计算系统的主板之间的接口,主板与子板之间的接口)。在接收到第一I2C信号时,桥接芯片可以将包括在第一I2C信号中的数据的部分保持在缓冲器中。
在步骤504中,第一I2C信号被转换成第二转换UART信号。在保持第一I2C信号的足够数据以将数据的一部分转换成UART时,桥接芯片开始将第一I2C信号转换成第二转换UART信号。在一些示例中,第一I2C信号大体实时地被转换,其中桥接芯片的缓冲器在桥接芯片在接收到信号的下一部分之前不能转换整个接收信号时使用。在一些其他示例中,第一I2C信号被划分成离散数据分组,并且桥接芯片将数据分组的部分保持在缓冲器中,直到在转换数据分组之前接收到整个数据分组。在又一些示例中,桥接芯片保持第一I2C信号中的一些或全部,直到用于接收第一I2C信号的请求从微控制器发送到桥接芯片。
在步骤506中,桥接芯片将第二转换UART信号传送到微控制器。在一些示例中,在接收第一I2C信号的全部之前,桥接芯片开始将第二转换UART信号传送到微控制器。在一些其他示例中,在接收到用于从微控制器接收第一I2C信号的请求时,桥接芯片开始传送第二转换UART信号。桥接芯片耦接到微控制器的能够收发UART的信号的端子。在一些示例中,端子耦接到单条数据线。在一些其他示例中,端子耦接到多于一条数据线。
在步骤508中,微控制器将第三UART信号传送到桥接芯片。在一些示例中,第三UART信号包括对第一I2C信号的命令应答的消息。在一些其他示例中,第三UART信号包括信息数据(例如,错误日志)。微控制器可以在从低电力模式转换到高电力模式期间(例如,在计算系统通电时)在检测到错误状况时传送第三UART信号。在一些示例中,微控制器在发送第三UART信号之前还未执行用于启用MCTP通信的指令。在从低电力模式到高电力模式的整个转换期间,可以启用能够收发UART的信号的微控制器的端子。
在步骤510中,桥接芯片将第三UART信号的部分保持在缓冲器中。在一些示例中,第三UART信号包括多个数据分组,并且桥接芯片保持包含在每个数据分组中的数据。在一些其他示例中,第三UART信号为数据流,并且桥接芯片在第三UART信号被接收时保持数据。
在步骤512中,桥接芯片接收来自BMC的消息,该消息请求要被发送到BMC的第三UART信号。在一些示例中,来自BMC的消息为与第一I2C信号类似的I2C信号。在某些示例中,第一I2C信号可以用作请求第三UART信号的消息,并且桥接芯片可以立即转换用于发送到BMC的第三UART信号。
在步骤514中,桥接芯片将第三UART信号转换成第四转换I2C信号。在保持第三UART信号的足够数据以将数据的一部分转换成I2C时,桥接芯片开始将第三UART信号转换成第四转换I2C信号。在一些示例中,第三UART信号大体实时地被转换,其中桥接芯片的缓冲器在桥接芯片在接收到信号的下一部分之前不能转换整个接收信号时使用。在一些其他示例中,第三UART信号被划分成离散数据分组,并且桥接芯片将数据分组的部分保持在缓冲器中,直到在转换数据分组之前接收到整个数据分组。在又一些示例中,桥接芯片保持第三UART信号中的一些或全部,直到用于接收第三UART信号的请求从BMC发送到桥接芯片。此时,桥接芯片将第三UART信号转换成第四转换I2C信号。
在步骤516中,桥接芯片通过子板与主板之间的第一I2C接口以及通过主板与BMC之间的第二I2C接口传送第四转换I2C信号。在一些示例中,I2C接口是分别能够在子板与主板之间或主板与BMC之间传递I2C信号的电耦接。在接收到用于从BMC接收第三UART信号的请求时,桥接芯片开始传送第四转换I2C信号。
在步骤518中,微控制器执行存储在存储器中的指令,该指令使微控制器启用MCTP通信功能。在一些示例中,MCTP功能的启用在计算系统的上电过程期间发生。在某些示例中,MCTP在上电过程中太晚被启用而不能将与上电过程相关联的错误记录信息提供给管理员。
在步骤520中,第一I2C接口接收来自主板的处理器的第五I2C信号。第五I2C信号与在BMC与微控制器之间的交互式双向串行连接无关。在一些示例中,第五I2C信号在与第一I2C信号不同的电触点处被接收。在一些其他示例中,第五I2C信号在与第一I2C信号相同的电触点处被接收。
在步骤522中,第五I2C信号绕过桥接芯片从第一I2C接口被传送到微控制器。信号被传送到微控制器的I2C端子,从而不需要转换成UART。在一些示例中,主板的路由组件将第五I2C信号路由到微控制器的I2C端子。在一些其他示例中,由微控制器执行的指令忽略在UART端子处接收的桥接芯片的输出,并且处理在I2C端子处接收的第五I2C信号。第五I2C信号可以是对信息的请求、重新配置微控制器的命令或从处理器发送到微控制器的任何其他合适的消息。
尽管已经具体描述了本公开,但是应当理解,在不脱离本公开的精神和范围的情况下,可以进行各种改变、替换和变更。关于本公开的特征的词语“可以”或“可能”的任何使用指示某些示例包括该特征,而某些其他示例不包括该特征,视给定上下文的情况。关于本公开的特征的词语“或”和“和”的任何使用指示示例可以包含所列特征的任意组合,视给定上下文的情况。
以“例如”开头的短语和括号用于仅为了清楚的目的而提供示例。本公开不旨在受这些短语和括号中提供的示例限制。本公开的范围和理解可以包括未在这些短语和括号中公开的某些示例。

Claims (20)

1.一种计算系统,包括:
基板管理控制器BMC,包括串行接口;
主板;以及
子板,通信地耦接到所述主板,所述子板包括:
通用异步接收器/发送器UART端子;
桥接芯片;以及
微控制器,通过所述桥接芯片通信地耦接到所述BMC,其中所述BMC通过所述串行接口和所述UART端子建立与所述微控制器的串行连接。
2.根据权利要求1所述的系统,其中所述桥接芯片为内部集成电路I2C到通用异步接收器/发送器UART桥。
3.根据权利要求2所述的系统,其中所述I2C到UART桥将从所述BMC的所述串行接口传送的I2C信号转换成被所述微控制器接收的UART信号,并且其中所述I2C到UART桥将从所述微控制器传送的UART信号转换成在所述BMC的所述串行接口处接收的I2C信号。
4.根据权利要求3所述的系统,其中所述子板为通信地耦接到所述主板的外围组件快速互连PCI-E卡。
5.根据权利要求4所述的系统,其中所述I2C到UART桥位于所述PCI-E卡上,使得所述PCI-E卡与所述主板之间的接口包括所述I2C到UART桥与所述BMC之间的通信线。
6.根据权利要求5所述的系统,其中通过穿过所述接口的所述通信线运送的信号为I2C信号。
7.根据权利要求1所述的系统,其中所述BMC与所述微控制器之间的所述串行连接为交互式双向连接。
8.根据权利要求7所述的系统,其中在所述微控制器执行用于启用管理组件传输协议MCTP通信的指令之前,所述串行连接被建立。
9.根据权利要求1所述的系统,其中所述BMC建立与管理员设备的第二串行连接。
10.一种用于与微控制器通信的方法,包括:
在通过接口通信地耦接到主板的子板的桥接芯片处,接收来自计算系统的基板管理控制器BMC的第一信号;
在所述子板的所述桥接芯片处,将所接收的第一信号转换成第二转换信号;
将所述第二转换信号从所述桥接芯片传送到所述子板的微控制器;
将第三信号从所述微控制器传送到所述桥接芯片;
在所述桥接芯片处,将所述第三信号转换成第四转换信号;以及
将所述第四转换信号通过所述接口从所述桥接芯片传送到所述BMC。
11.根据权利要求10所述的方法,其中所述第一信号包括来自管理员设备的命令,用于改变所述微控制器的记录级别配置参数。
12.根据权利要求10所述的方法,进一步包括:在所述桥接芯片处,将所述第三信号的部分保持在所述桥接芯片的缓冲器中直到被所述BMC获取。
13.根据权利要求10所述的方法,进一步包括:
在所述接口处,接收来自所述主板的处理器的第五信号;以及
通过绕过所述桥接芯片,将所述第五信号传送到所述微控制器。
14.根据权利要求11所述的方法,其中所述第二转换信号和所述第三信号为通用异步接收器/发送器UART信号。
15.根据权利要求14所述的方法,其中所述第二转换信号在所述微控制器的UART端子处被接收,并且其中所述第三信号为对所述第一信号的应答。
16.根据权利要求15所述的方法,其中在所述微控制器执行用于启用管理组件传输协议MCTP通信的指令之前,所述第二转换信号在所述微控制器处被接收并且所述第三信号从所述微控制器被发送。
17.一种子板,包括:
电触点,用于与主板的对应电触点通信地耦接;
微控制器;以及
内部集成电路I2C到通用异步接收器/发送器UART桥接芯片,与所述子板的所述电触点以及所述微控制器通信地耦接,用于将在所述电触点处接收的第一I2C信号转换成要被发送到所述微控制器的UART端子的第一UART信号,以及用于将从所述微控制器的所述UART端子发送的第二UART信号转换成要被发送到所述电触点的第二I2C信号,其中在所述I2C到UART桥接芯片处转换的信号包括与基板管理控制器BMC和所述微控制器之间的串行连接相对应的消息。
18.根据权利要求17所述的子板,其中所述BMC与所述微控制器之间的所述串行连接为交互式双向连接。
19.根据权利要求17所述的子板,其中所述I2C到UART桥接芯片缓存所述第二UART信号的部分直到被所述BMC获取。
20.根据权利要求17所述的子板,进一步包括所述微控制器的I2C端子,其中在第三I2C信号在所述电触点处被接收并且所述第三I2C信号不包括与所述BMC和所述微控制器之间的所述串行连接相对应的数据时,所述第三I2C信号绕过所述I2C到UART桥接芯片被发送到所述微控制器的所述I2C端子。
CN201811113337.8A 2017-09-27 2018-09-25 用于与微控制器通信的方法、以及计算系统 Active CN109558371B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/716,934 US10671560B2 (en) 2017-09-27 2017-09-27 Serial connection between management controller and microcontroller
US15/716,934 2017-09-27

Publications (2)

Publication Number Publication Date
CN109558371A true CN109558371A (zh) 2019-04-02
CN109558371B CN109558371B (zh) 2023-11-21

Family

ID=63579112

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811113337.8A Active CN109558371B (zh) 2017-09-27 2018-09-25 用于与微控制器通信的方法、以及计算系统

Country Status (3)

Country Link
US (2) US10671560B2 (zh)
EP (1) EP3462328B1 (zh)
CN (1) CN109558371B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416298A (zh) * 2019-08-23 2021-02-26 爱思开海力士有限公司 闪速存储器的基于原始读取的物理不可克隆功能
CN113177019A (zh) * 2021-04-25 2021-07-27 山东英信计算机技术有限公司 一种switch板和服务器
CN114840456A (zh) * 2022-06-02 2022-08-02 三星(中国)半导体有限公司 存储设备的带外管理方法、基板管理控制器和存储设备

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10614005B1 (en) * 2018-11-21 2020-04-07 Hamilton Sunstrand Corporation Embedded controllers with modular architecture
US11011876B2 (en) * 2018-12-24 2021-05-18 Dell Products L.P. System and method for remote management of network interface peripherals
US10929320B1 (en) * 2019-12-06 2021-02-23 Quanta Computer Inc. Control circuit for dynamic bifurcation control
US11360783B2 (en) * 2019-12-27 2022-06-14 Quanta Computer Inc. Method and system for booting from a split BIOS image
US11604088B2 (en) * 2020-07-09 2023-03-14 The Florida State University Research Foundation, Inc. Automated device for in-situ measurements of groundwater fluxes to surface water bodies
US11759722B2 (en) * 2020-10-02 2023-09-19 Universal City Studios Llc System and method for repeatable switching between an animated figure and a free motion figure
US11847082B2 (en) * 2020-10-13 2023-12-19 Dell Products L.P. System and method for secure management of non-registered components of an information handling system using a baseboard management controller

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280586A (en) * 1991-10-03 1994-01-18 Compaq Computer Corp. Expandable communication system using data concentration
WO1996026489A1 (en) * 1995-02-20 1996-08-29 Cirrus Logic, Inc. Method and apparatus for interfacing between peripherals of multiple formats and a single system bus
US5909559A (en) * 1997-04-04 1999-06-01 Texas Instruments Incorporated Bus bridge device including data bus of first width for a first processor, memory controller, arbiter circuit and second processor having a different second data width
CN101076788A (zh) * 2004-04-26 2007-11-21 爱特梅尔股份有限公司 通信控制用的双向串行接口
CN101398801A (zh) * 2008-10-17 2009-04-01 北京星网锐捷网络技术有限公司 扩展内部集成电路总线的方法及装置
CN103293995A (zh) * 2013-06-09 2013-09-11 南车株洲电力机车研究所有限公司 基于微控制器的现场总线通信模块
CN203376909U (zh) * 2013-01-05 2014-01-01 北京工业大学 基于fpga的新型微机原理与接口实验系统
US20140215489A1 (en) * 2013-01-25 2014-07-31 American Megatrends, Inc. Interface specific and parallel ipmi message handling at baseboard management controller
CN204046631U (zh) * 2014-08-06 2014-12-24 浪潮电子信息产业股份有限公司 一种基于mctp技术的bmc快速管理系统
US20160080210A1 (en) * 2014-09-11 2016-03-17 Quanta Computer Inc. High density serial over lan managment system
CN106569416A (zh) * 2016-10-28 2017-04-19 珠海格力电器股份有限公司 一种微控制器的串行接口与仿真调试接口复用方法及装置
US20170131753A1 (en) * 2015-11-09 2017-05-11 Dell Products, Lp System and Method for Provisioning a Powered Off Server in a Data Center
EP3168752A1 (en) * 2015-11-13 2017-05-17 VIA Alliance Semiconductor Co., Ltd. Chipset and server system using the same

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020059492A1 (en) * 2000-09-08 2002-05-16 Sabotta Michael L. Method and apparatus for adapting a card for use with multiple protocols
US8713295B2 (en) * 2004-07-12 2014-04-29 Oracle International Corporation Fabric-backplane enterprise servers with pluggable I/O sub-system
US20070011507A1 (en) 2005-06-03 2007-01-11 Intel Corporation System and method for remote system support
JP2008545319A (ja) 2005-06-30 2008-12-11 エヌエックスピー ビー ヴィ Rs−232/i2c変換icとホスト間の通信用ソフトウェア層
US7865746B2 (en) * 2006-12-27 2011-01-04 International Business Machines Corporation Power state control for a desktop blade in a blade server system
US7873847B2 (en) * 2006-12-27 2011-01-18 International Business Machines Corporation Method of power state control for a server blade in a blade—server chassis system
US10020847B2 (en) * 2011-11-15 2018-07-10 Famoco NFC device and connection system of NFC devices
CN104021060A (zh) 2013-02-28 2014-09-03 鸿富锦精密工业(深圳)有限公司 Bmc串口调试系统及方法
CN204215266U (zh) 2014-12-05 2015-03-18 国家电网公司 用于远程调试系统的远程调试器
US9954727B2 (en) * 2015-03-06 2018-04-24 Quanta Computer Inc. Automatic debug information collection
US9916270B2 (en) * 2015-03-27 2018-03-13 Intel Corporation Virtual intelligent platform management interface (IPMI) satellite controller and method
US10054636B2 (en) 2015-10-23 2018-08-21 Intel IP Corporation Device, system and method to support communication of test, debug or trace information with an external input/output interface
US9929901B2 (en) * 2015-11-10 2018-03-27 Dell Products, Lp System and method for providing proxied virtual wireless end points in a server rack of a data center
US10241555B2 (en) * 2015-12-04 2019-03-26 Dell Products, Lp System and method for monitoring a battery status in a server in a data center
US9967139B2 (en) * 2015-12-15 2018-05-08 Quanta Computer Inc. Remote zone management of JBOD systems

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280586A (en) * 1991-10-03 1994-01-18 Compaq Computer Corp. Expandable communication system using data concentration
WO1996026489A1 (en) * 1995-02-20 1996-08-29 Cirrus Logic, Inc. Method and apparatus for interfacing between peripherals of multiple formats and a single system bus
US5909559A (en) * 1997-04-04 1999-06-01 Texas Instruments Incorporated Bus bridge device including data bus of first width for a first processor, memory controller, arbiter circuit and second processor having a different second data width
CN101076788A (zh) * 2004-04-26 2007-11-21 爱特梅尔股份有限公司 通信控制用的双向串行接口
CN101398801A (zh) * 2008-10-17 2009-04-01 北京星网锐捷网络技术有限公司 扩展内部集成电路总线的方法及装置
CN203376909U (zh) * 2013-01-05 2014-01-01 北京工业大学 基于fpga的新型微机原理与接口实验系统
US20140215489A1 (en) * 2013-01-25 2014-07-31 American Megatrends, Inc. Interface specific and parallel ipmi message handling at baseboard management controller
CN103293995A (zh) * 2013-06-09 2013-09-11 南车株洲电力机车研究所有限公司 基于微控制器的现场总线通信模块
CN204046631U (zh) * 2014-08-06 2014-12-24 浪潮电子信息产业股份有限公司 一种基于mctp技术的bmc快速管理系统
US20160080210A1 (en) * 2014-09-11 2016-03-17 Quanta Computer Inc. High density serial over lan managment system
US20170131753A1 (en) * 2015-11-09 2017-05-11 Dell Products, Lp System and Method for Provisioning a Powered Off Server in a Data Center
EP3168752A1 (en) * 2015-11-13 2017-05-17 VIA Alliance Semiconductor Co., Ltd. Chipset and server system using the same
CN106569416A (zh) * 2016-10-28 2017-04-19 珠海格力电器股份有限公司 一种微控制器的串行接口与仿真调试接口复用方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XY TAN 等: "A Method for Communication with PIC Microcontrollers Based on PCI Local Bus", 《TELECOMMUNICATION ENGINEERING》 *
王元奎, 赵文兵, 杨建宁: "用VHDL设计通用异步接收/发送器", 电子工程师, no. 12 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416298A (zh) * 2019-08-23 2021-02-26 爱思开海力士有限公司 闪速存储器的基于原始读取的物理不可克隆功能
CN113177019A (zh) * 2021-04-25 2021-07-27 山东英信计算机技术有限公司 一种switch板和服务器
CN114840456A (zh) * 2022-06-02 2022-08-02 三星(中国)半导体有限公司 存储设备的带外管理方法、基板管理控制器和存储设备

Also Published As

Publication number Publication date
EP3462328B1 (en) 2020-07-22
US20190095377A1 (en) 2019-03-28
CN109558371B (zh) 2023-11-21
US10671560B2 (en) 2020-06-02
EP3462328A1 (en) 2019-04-03
US11100036B2 (en) 2021-08-24
US20200265004A1 (en) 2020-08-20

Similar Documents

Publication Publication Date Title
CN109558371A (zh) 管理控制器与微控制器之间的串行连接
US7096308B2 (en) LPC transaction bridging across a PCI—express docking connection
CN102541791A (zh) 数据传送装置及其控制方法
CN100573490C (zh) 模块互连结构
CN103729333A (zh) 多路时隙共享的背板总线结构及其实现方法
KR101767181B1 (ko) 다목적 어댑터 카드 및 그 통합 방법
CN205103813U (zh) 一种基于PCI接口的SpaceWire总线节点通讯模块
CN104678809A (zh) 可通用传感器控制设备及系统
CN212274951U (zh) 一种基于poe供电与通讯的一体式磁编码器
CN205091734U (zh) 一种基于CPCI接口的SpaceWire总线节点通讯模块
CN109359082B (zh) 一种基于fpga的usb数据实时监听系统及方法
CN104360977B (zh) 一种管理高速串行传输接口的方法及系统
CN108664443B (zh) 数据通讯同步方法及系统
CN1983977A (zh) 实现远程加载单板固件的方法和系统
CN110096002A (zh) 一种基于canfd总线的自动化测试系统及测试方法
CN111414327B (zh) 网络设备
CN116055347A (zh) 运算系统及网络装置管理方法
CN107070547A (zh) 一种具有故障监控能力的cpci型千兆以太网装置
CN106584862A (zh) 一种内置Web服务的3D打印WIFI控制系统及其控制方法
TWI485566B (zh) 具有用於連接伺服器系統之介面的伺服器及伺服器系統
CN107659413B (zh) 小型通信设备
JP5800371B2 (ja) 接続診断装置、判定回路および接続診断方法
CN107643990B (zh) 可配置架构的通信设备
CN109582620A (zh) 一种uart接口转换装置及接口转换方法
CN103019995A (zh) 基于1553b总线的接口板卡

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