CN110134180A - 基于SMBus总线BMC时间同步系统及方法 - Google Patents

基于SMBus总线BMC时间同步系统及方法 Download PDF

Info

Publication number
CN110134180A
CN110134180A CN201910334386.2A CN201910334386A CN110134180A CN 110134180 A CN110134180 A CN 110134180A CN 201910334386 A CN201910334386 A CN 201910334386A CN 110134180 A CN110134180 A CN 110134180A
Authority
CN
China
Prior art keywords
smbus
bmc
time
data
equipment
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.)
Withdrawn
Application number
CN201910334386.2A
Other languages
English (en)
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.)
Shenzhen Guo Xinheng Space Science And Technology Ltd
Original Assignee
Shenzhen Guo Xinheng Space Science And Technology Ltd
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 Shenzhen Guo Xinheng Space Science And Technology Ltd filed Critical Shenzhen Guo Xinheng Space Science And Technology Ltd
Priority to CN201910334386.2A priority Critical patent/CN110134180A/zh
Publication of CN110134180A publication Critical patent/CN110134180A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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

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)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明提供一种基于SMBus总线BMC时间同步系统及方法,属于时间同步技术领域。本发明系统包括BMC和PHC,其中,所述BMC的SMBus总线中的时钟信号线和数据信号线分别与PHC的时钟信号线和数据信号线相连,所述BMC的SMBus控制器作为主控器,PCH的SMBus设备作为从设备,所述SMBus主控器通过时钟信号线从PCH的SMBus从设备读取时间信息,对所述时间信息处理并显示。本发明的有益效果为:BMC周期性读取BMC RTC时间寄存器,实时显示时间信息。定时对BMC RTC时间进行校准,能够确保主板系统和BMC系统的时间同步。

Description

基于SMBus总线BMC时间同步系统及方法
技术领域
本发明涉及时间同步,尤其涉及一种基于SMBus总线BMC时间同步系统及方法。
背景技术
服务器主板系统,查看时间功能已经成为用户对产品的基本功能需求。在BIOS设置界面首页里,可以动态显示实时时间,在操作系统任务栏最右侧也将显示实时时间,用户可以随时查看时间。BIOS和操作系统都是通过实时读取RTC时间,来完成时间实时显示功能的。BIOS在开机启动过程和BMC会同步时间信息,进入操作系统下,在服务器接入互联网的情况下,BMC通过互联网同步时间信息,并将日时间信息显示在BMC管理界面上。BMC(Baseboard Management Controller)为基板管理控制器,一般内置在主板上,支持行业标准的 IPMI 规范。BMC提供的功能包括:本地和远程诊断、控制台支持、配置管理、硬件管理和故障排除。
BIOS初次启动过程时,时间信息是BIOS预先设置的默认值,同步给BMC的也是默认时间, BMC会根据时区信息,对时间信息进行加减校正,默认时间不是当前的正确时间,因此时间数据没有意义。进入操作系统后,如果服务器接入互联网,操作系统和BMC都会利用互联网同步时间信息,对时间信息进行修正;出于网络安全的考虑,服务器BMC管理网口都是在局域网内使用,不会接入互联网,BMC无法通过互联网同步时间信息。如果系统网口没有接入互联网,需要用户手动校正操作系统和BMC时间信息,如果系统网口接入互联网,需要用户手动校正BMC时间信息,时间是实时变化的,如果用户进行时间校正,操作系统和BMC的时间信息难以保证是一致的,对于时间准确性要求严格的应用场景,是无法满足要求的。
发明内容
为解决现有技术中的问题,本发明提供一种基于SMBus总线BMC时间同步系统及方法。
本发明基于SMBus总线BMC时间同步系统包括BMC和PHC,其中,所述BMC的SMBus总线中的时钟信号线和数据信号线分别与PHC的时钟信号线和数据信号线相连,所述BMC的SMBus控制器作为主控器,PCH的SMBus设备作为从设备,所述SMBus主控器通过时钟信号线从PCH的SMBus从设备读取时间信息,对所述时间信息处理并显示。
本发明作进一步改进,通过数据信号线将PCH PLTRST#信号连接到BMC的GPIO信号上,BMC通过GPIO信号来判断PCH的系统是否开机,当所述PCH的系统开机后,BMC SMBus主控器开始读取PCH SMBus从设备的时间信息。
本发明还提供一种基于所述基于SMBus总线BMC时间同步系统的方法,包括如下步骤:
S1:开始,初始化GPIO控制器;
S2:SMBus控制器初始化;
S3:判断SMBus从设备是否开机,如果是,配置SMBus从设备信息,读取并存储时间信息,然后执行步骤S4,如果否,循环执行步骤S3;
S4:时间翻转计算,判断是否产生翻转,如果否,执行步骤S5,如果是,读取时间信息,然后执行步骤S5;
S5:更新BMC的RTC时钟时间,动态显示时间信息。
本发明作进一步改进,还包括步骤S6:间隔设定时间,读取SMBus从设备的时间信息,对BMC的时间信息进行校准。
本发明作进一步改进,在步骤S3中,间隔T读取两次时间信息,第一次读取的数据设定为X,第二次读取的数据设定为Y,在步骤S4中,对数据X和数据Y的时间差值与T比较,如果误差大于设定值,则判定发生翻转,再重复将SMBus从设备的寄存器的时间字节读取出来,将时间字节数据更新到BMC RTC时间字节寄存器当中,如果误差不大于设定值,则没有发生翻转,将数据Y更新到到BMC RTC时间字节寄存器当中。
与现有技术相比,本发明的有益效果是:BMC周期性读取BMC RTC时间寄存器,实时显示时间信息。定时对BMC RTC时间进行校准,能够确保主板系统和BMC系统的时间同步。
附图说明
图1为本发明系统连接示意图;
图2为本发明方法流程图。
具体实施方式
下面结合附图和实施例对本发明做进一步详细说明。
如图1所示,在PCH(Platform Controller Hub,英特尔公司的集成南桥)内部,SMBus从设备的寄存器从0x09到0x0F存放时间信息,在每当RTC时间不变且SMBus总线空闲时,PCH芯片硬件会对时间字节进行锁存,确保从SMBus从设备读取的时间字节信息是有效的,当PCH芯片硬件进行更新时,RTC时间字节将改变。本发明基于此,将BMC的SMBus总线(System Management Bus,系统管理总线,一种两线制低速率通讯接口)的时钟信号线(SMBCLK)和数据信号线(SMBDAT)连接到PCH的SMBus的时钟信号线和数据信号线上,BMCSMBus控制器作为主控制器(Host),PCH的SMBus设备作为从设备(Slave),BMC SMBus主控器通过读取PCH的SMBus从设备来实时读取时间信息。将PCH PLTRST#信号(系统平台重启信号)连接到BMC的GPIO(通用输入/输出)信号上,BMC通过GPIO信号来判断系统是否开机,开机以后,BMC SMBus主控器才能开始读取PCH SMBus从设备的RTC时间信息。
如图2所示,本发明的基于SMBus总线BMC时间同步的方法的详细实现方法为:
BMC启动以后,进行硬件自检、硬件初始化工作,先初始化GPIO控制器,配置硬件引脚的GPIO功能,设置GPIO为输入模式,禁止GPIO中断功能,再初始化SMBus控制器,配置时钟频率,开启控制器主控模式功能,开启中断功能,配置传输字节模式。
初始化完成以后,BMC循环程序开始周期性循环检测GPIO输入值,如果输入值为低电平,则PLTRST#为低电平,主机系统处于未开机状态,如果GPIO输入值为高电平,则PLTRST#为高电平,主机系统处于开机状态。
系统开机以后,BMC程序配置SMBus从设备地址、寄存器偏移地址,由于SMBus从设备只支持字节读取,因此时间字节寄存器地址从0x09开始,配置读取字节数据命令,等待SMBus从设备返回时间字节数据,处理中断事件,返回数据成功后,清除中断状态,将字节信息保存起来,配置下一个时间字节寄存器的地址0x0A,读取成功后再把字节信息保存起来,直到寄存器0x0F读取成功并保存,所有时间字节数据读取完成,以上读取时间字节操作为一次完整的时间字节信息读取操作,将时间信息数据标记为数据X。等待200ms以后,再重复上述操作,将时间信息数据标记为数据Y,通过两次读取时间信息数据X和Y,计算时间信息数据是否存在时间翻转。
举例来说,当开始读取时间字节时,RTC时间为11时59分59秒,当读取完时的字节11后,RTC时间增加了1秒,此时的RTC时间为12时0分0秒,程序读取分钟字节和秒钟字节的数据均为0,得到的时间为11时0分0秒,为错误时间。通过本发明的翻转计算,可以避免时间翻转的错误,将间隔为200ms两次读取的时间信息数据X和Y,进行比较,如果X和Y发生同一秒内的操作,则X和Y数据信息相同,如果X和Y发生相邻两秒内的操作,则X和Y数据差值相差1秒,而发生时间翻转时,X和Y数据差值最小间隔为1分钟,与200ms的读取间隔存在巨大误差。
根据以上计算时间翻转,对X和Y数据进行翻转计算处理,如果发生翻转,再重复将0x09寄存器到0x0F寄存器的时间字节读取出来,将时间字节数据更新到BMC RTC时间字节寄存器当中,如果没有发生翻转,将数据Y更新到到BMC RTC时间字节寄存器当中。BMC将RTC里面的时间数据周期性读取出来,实时显示在BMC管理界面。经过固定时间长度,BMC重新调用程序,读取SMBus从设备的时间信息,更新到BMC RTC时间字节中,对时间信息进行校准,确保如果PCH RTC时间被修改,BMC RTC时间也同步更新修改。
本发明在现有元器件的基础上,搭建硬件系统,并通过软件策略,实现BMC时间同步的功能。以PCH RTC为基准,BMC软件将时间信息数据自动同步到BMC RTC时间寄存器当中。时间翻转计算,间隔200ms的两次时间数据X和Y,差值不大于1秒为未翻转,算法简单有效。BMC周期性读取BMC RTC时间寄存器,实时显示时间信息。定时对BMC RTC时间进行校准,能够确保主板系统和BMC系统的时间同步。
以上所述之具体实施方式为本发明的较佳实施方式,并非以此限定本发明的具体实施范围,本发明的范围包括并不限于本具体实施方式,凡依照本发明所作的等效变化均在本发明的保护范围内。

Claims (5)

1.基于SMBus总线BMC时间同步系统,其特征在于:包括BMC和PHC,其中,所述BMC的SMBus总线中的时钟信号线和数据信号线分别与PHC的时钟信号线和数据信号线相连,所述BMC的SMBus控制器作为主控器,PCH的SMBus设备作为从设备,所述SMBus主控器通过时钟信号线从PCH的SMBus从设备读取时间信息,对所述时间信息处理并显示。
2.根据权利要求1所述的基于SMBus总线BMC时间同步系统,其特征在于:通过数据信号线将PCH PLTRST#信号连接到BMC的GPIO信号上,BMC通过GPIO信号来判断PCH的系统是否开机,当所述PCH的系统开机后,BMC SMBus主控器开始读取PCH SMBus从设备的时间信息。
3.基于权利要求1或2所述的基于SMBus总线BMC时间同步系统的方法,其特征在于,包括如下步骤:
S1:开始,初始化GPIO控制器;
S2:SMBus控制器初始化;
S3:判断SMBus从设备是否开机,如果是,配置SMBus从设备信息,读取并存储时间信息,然后执行步骤S4,如果否,循环执行步骤S3;
S4:时间翻转计算,判断是否产生翻转,如果否,执行步骤S5,如果是,读取时间信息,然后执行步骤S5;
S5:更新BMC的RTC时钟时间,动态显示时间信息。
4.根据权利要求3所述的方法,其特征在于:还包括步骤S6:间隔设定时间,读取SMBus从设备的时间信息,对BMC的时间信息进行校准。
5.根据权利要求3或4所述的的方法,其特征在于:在步骤S3中,间隔T读取两次时间信息,第一次读取的数据设定为X,第二次读取的数据设定为Y,在步骤S4中,对数据X和数据Y的时间差值与T比较,如果误差大于设定值,则判定发生翻转,再重复将SMBus从设备的寄存器的时间字节读取出来,将时间字节数据更新到BMC RTC时间字节寄存器当中,如果误差不大于设定值,则没有发生翻转,将数据Y更新到到BMC RTC时间字节寄存器当中。
CN201910334386.2A 2019-04-24 2019-04-24 基于SMBus总线BMC时间同步系统及方法 Withdrawn CN110134180A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910334386.2A CN110134180A (zh) 2019-04-24 2019-04-24 基于SMBus总线BMC时间同步系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910334386.2A CN110134180A (zh) 2019-04-24 2019-04-24 基于SMBus总线BMC时间同步系统及方法

Publications (1)

Publication Number Publication Date
CN110134180A true CN110134180A (zh) 2019-08-16

Family

ID=67570979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910334386.2A Withdrawn CN110134180A (zh) 2019-04-24 2019-04-24 基于SMBus总线BMC时间同步系统及方法

Country Status (1)

Country Link
CN (1) CN110134180A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579506A (zh) * 2021-01-08 2021-03-30 中电科技(北京)有限公司 Bios与bmc通信的方法、bios、bmc和服务器
CN112579507A (zh) * 2021-01-08 2021-03-30 中电科技(北京)有限公司 宿主机与bmc通信的方法、bios、操作系统、bmc和服务器
CN113655846A (zh) * 2021-07-14 2021-11-16 浪潮商用机器有限公司 一种OpenPOWER服务器时间同步方法及系统
CN113835468A (zh) * 2021-09-16 2021-12-24 苏州浪潮智能科技有限公司 一种监测rtc时间跳变的方法、系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579506A (zh) * 2021-01-08 2021-03-30 中电科技(北京)有限公司 Bios与bmc通信的方法、bios、bmc和服务器
CN112579507A (zh) * 2021-01-08 2021-03-30 中电科技(北京)有限公司 宿主机与bmc通信的方法、bios、操作系统、bmc和服务器
CN113655846A (zh) * 2021-07-14 2021-11-16 浪潮商用机器有限公司 一种OpenPOWER服务器时间同步方法及系统
CN113655846B (zh) * 2021-07-14 2023-05-26 浪潮商用机器有限公司 一种OpenPOWER服务器时间同步方法及系统
CN113835468A (zh) * 2021-09-16 2021-12-24 苏州浪潮智能科技有限公司 一种监测rtc时间跳变的方法、系统
CN113835468B (zh) * 2021-09-16 2023-07-14 苏州浪潮智能科技有限公司 一种监测rtc时间跳变的方法、系统

Similar Documents

Publication Publication Date Title
CN110134180A (zh) 基于SMBus总线BMC时间同步系统及方法
CN102546843B (zh) 一种通过软件模拟实现多个uart通信接口的方法
US9058229B2 (en) Method and apparatus for maintaining operability with a cloud computing environment
US7925916B2 (en) Failsafe recovery facility in a coordinated timing network
CN110399267A (zh) 一种服务器pcie设备监控方法、系统、设备及可读存储介质
CN105204880B (zh) 计算机系统及基本输入输出系统的设定方法
US20090070512A1 (en) Apparatus for determining compatibility between devices
CN114035842B (zh) 固件配置方法、计算系统配置方法、计算装置以及设备
CN111338662A (zh) 从站的固件升级方法、固件升级装置及终端
CN115904520B (zh) 基于pcie拓扑状态变更的配置保存方法及相关设备
CN109471660A (zh) 扩展坞装置、电子装置及mac位址复制方法
CN105607940A (zh) 一种arm平台中bdk向uefi bios传递信息的方法
CN103176930B (zh) 一种基于标准PCIe上行端口的IO扩展架构方法
CN105912414A (zh) 一种服务器管理的方法及系统
FI91108C (fi) Multiprosessorijärjestelmän hallintalaite
CN114281890B (zh) 一种bios带外管理系统及方法
CN104656604B (zh) 一种利用modbus通信协议实现人机交互的电网安全稳定控制装置及其方法
CN115729742A (zh) 一种错误处理方法、装置、电子设备及存储介质
CN101990662A (zh) 程序执行装置以及其控制方法
CN108765703A (zh) 计时方法、装置、存储介质及自助设备
CN110554731A (zh) 一种时钟同步控制方法、智能终端及存储介质
EP4199385A1 (en) Clock synchronization method and device in distributed system, and system
CN117439838B (zh) 一种面向边缘计算网关主从机自适应快速组网方法
CN116880896B (zh) 一种长晶炉控制机的恢复方法、系统、终端及存储介质
CN115987835B (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20190816

WW01 Invention patent application withdrawn after publication