CN110134180A - 基于SMBus总线BMC时间同步***及方法 - Google Patents
基于SMBus总线BMC时间同步***及方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling 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时间同步***及方法。
背景技术
服务器主板***,查看时间功能已经成为用户对产品的基本功能需求。在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时间字节寄存器当中。
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)
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时间跳变的方法、*** |
-
2019
- 2019-04-24 CN CN201910334386.2A patent/CN110134180A/zh not_active Withdrawn
Cited By (6)
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通信接口的方法 | |
US20120084355A1 (en) | Method and apparatus for maintaining operability with a cloud computing environment | |
CN103019788A (zh) | 一种基于can总线的远程在线升级方法 | |
CN105204880B (zh) | 计算机***及基本输入输出***的设定方法 | |
US20090259881A1 (en) | Failsafe recovery facility in a coordinated timing network | |
CN111338662A (zh) | 从站的固件升级方法、固件升级装置及终端 | |
CN114035842B (zh) | 固件配置方法、计算***配置方法、计算装置以及设备 | |
CN105653306A (zh) | 显示启动设置界面的方法和装置 | |
CN110968352A (zh) | 一种pcie设备的复位***及服务器*** | |
CN112491047A (zh) | 一种变电站二次设备的故障定位方法、装置及设备 | |
CN103176930B (zh) | 一种基于标准PCIe上行端口的IO扩展架构方法 | |
CN105912414A (zh) | 一种服务器管理的方法及*** | |
CN114281890B (zh) | 一种bios带外管理***及方法 | |
US20060123165A1 (en) | Method and apparatus for determining compatibility between devices | |
CN104656604B (zh) | 一种利用modbus通信协议实现人机交互的电网安全稳定控制装置及其方法 | |
CN115729742A (zh) | 一种错误处理方法、装置、电子设备及存储介质 | |
CN110554731B (zh) | 一种时钟同步控制方法、智能终端及存储介质 | |
CN115129643A (zh) | Bmc与cmc间传输频宽提升方法、装置、设备及存储介质 | |
CN101990662A (zh) | 程序执行装置以及其控制方法 | |
CN108765703A (zh) | 计时方法、装置、存储介质及自助设备 | |
CN114510259A (zh) | 一种基于bmc导入导出bios配置的方法及装置 | |
CN115967659A (zh) | 资源池设备的检查方法及装置 | |
EP4199385A1 (en) | Clock synchronization method and device in distributed system, and system | |
CN116880896B (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 |