CN106959935B - 一种兼容i2c通信与ipmb通信的方法 - Google Patents

一种兼容i2c通信与ipmb通信的方法 Download PDF

Info

Publication number
CN106959935B
CN106959935B CN201710145447.1A CN201710145447A CN106959935B CN 106959935 B CN106959935 B CN 106959935B CN 201710145447 A CN201710145447 A CN 201710145447A CN 106959935 B CN106959935 B CN 106959935B
Authority
CN
China
Prior art keywords
data
communication
bmc
sends
writing
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
CN201710145447.1A
Other languages
English (en)
Other versions
CN106959935A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201710145447.1A priority Critical patent/CN106959935B/zh
Publication of CN106959935A publication Critical patent/CN106959935A/zh
Application granted granted Critical
Publication of CN106959935B publication Critical patent/CN106959935B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

本发明提供一种兼容I2C通信与IPMB通信的方法,当与I2C从设备进行通信的时候,进行标准I2C读写数据操作,按照需求进行读指令和写指令的传递。此时由BMC控制产生I2C时钟,并且拉低数据线产生起始信号,随后按照协议发送地址和数据,在传输完成后发出停止信号完成一次命令的发出;当与ME通信的时候,按照IPMB协议,写数据走的依然是正常的I2C写寄存器流程,而当进行读数据操作的时候,ME会给BMC发送起始信号,产生时钟和写请求。它具实现I2C主从模式的快速切换,同时保证数据链路的简洁,不占用额外的链路,该模块完全兼容正常I2C通信与IPMB通信,极大地提高了资源利用率的优点。

Description

一种兼容I2C通信与IPMB通信的方法
技术领域
本发明涉及一种串行总线通信方法。
背景技术
I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。
I2C通过串行数据(SDA)线和串行时钟(SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别,而且都可以作为一个发送器或接收器(由器件的功能决定)。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时,任何被寻址的器件都被认为是从机。
IPMI(Intelligent Platform Management Interface)是一个智能平台管理接口。用户可以利用IPMI 监视服务器等设备的物理特征,如各部件的温度、电压、风扇工作状态、电源供应以及机箱入侵等。
IPMB使用“请求——应答”协议,发送一条请求消息给一个智能设备,该设备会返回一个独立的应答消息。任何传输协议都是有限制的,IPMB总线直接支持有15个内部节点的系统,系统应用应该努力减轻总线的占用时间,例如,每秒钟少于6条消息,这样做,可以确保节点可以成功在要求的重试次数内抢占总线。请求消息和应答消息都是通过I2C总线的“主写”(Master Write)模式传输的,也就是说,一条请求消息是从一个作为I2C主端(Master)的节点发出,被一个作为I2C从设备的节点接收;对应的应答消息是从一个作为I2C主端的应答设备发出,被一个作为I2C从设备的请求发起者接收。
IPMB点对点传输,数据包包含IPMB connection headers、command、和data字节。如图1所示。
如图2所示,I2C总线写寄存器的标准流程为:
1.Master发起起始信号
2.Master发送I2C addr(7bit)和w操作0(1bit),等待ACK
3.Slave发送ACK
4.Master发送reg addr(8bit),等待ACK
5.Slave发送ACK
6.Master发送data(8bit),即要写入寄存器中的数据,等待ACK
7.Slave发送ACK
8.第6步和第7步可以重复多次,即顺序写多个寄存器
9.Master发起停止信号
IPMB总线协议中I2C是用作媒介和物理层的。协议严格按照下列条件使用I2C服务:
1、只使用主写模式(Master Write)(I2C从地址的R/W位一直是0)。
2、不使用10_bit寻址。
3、每次传输只用一个从地址。
4、不使用Repeated Starts,Repeated Starts是I2C协议为了在传输的过程中改变总线方向而定义的。由于IPMB协议只用到主写模式,所以就不需要Repeated Starts 了,不过在非IPMB协议的设备中还是要继续使用Repeated Starts的。
5、I2C的通知机制(ACK bit)只表示字节被从端接收,不能保证接收的数据的完整性和正确性。
ME(Management Engine)是英特尔的管理引擎驱动,该驱动为Intel针对其桌面系列芯片组推出的一款热能管理驱动。它介于固件和系统驱动之间,类似于一种接口(Interface),通过这个接口,系统可以和固件之间相互作用,从而达到改善热能管理的目的。
公开号为CN104483913A的中国发明专利提供一种应用I2C总线实现龙芯刀片服务器电源状态监控的方法,本发明采用I2C总线进行IPMB命令传输,将采集到的电源模块状态信息通过I2C端口扩展芯片连接至管理控制单元中的BMC模块,远程管理用户通过网络与BMC模块通信,实现远程用户对电源在位信息、工作状态信息、电压信息、电流信息等的实时监控。该技术使用了额外的扩展芯片来实现IPMB的兼容,不仅占用了电路板资源,还可能会产生额外的时延,影响通信性能。
发明内容
本发明为解决上述技术问题,为此,本发明提供一种兼容I2C通信与IPMB通信的方法,它具实现I2C主从模式的快速切换,同时保证数据链路的简洁,不占用额外的链路,该模块完全兼容正常I2C通信与IPMB通信,极大地提高了资源利用率的优点。
为了实现上述目的,本发明采用如下技术方案。
一种兼容I2C通信与IPMB通信的方法,当与I2C从设备进行通信的时候,进行标准I2C读写数据操作,按照需求进行读指令和写指令的传递。此时由BMC控制产生I2C时钟,并且拉低数据线产生起始信号,随后按照协议发送地址和数据,在传输完成后发出停止信号完成一次命令的发出;
当与ME通信的时候,按照IPMB协议,写数据走的依然是正常的I2C写寄存器流程,而当进行读数据操作的时候,ME会给BMC发送起始信号,产生时钟和写请求。
优选的,系统一直检测I2C总线信号,当总线上有起始信号的时候,会进行内部的自我判定,判断该信号是BMC发出的命令还是外部发给BMC的写请求,如果判断确定是外部的写请求,就进入地址的校验流程,根据ME提供的时钟信号,记录每个bit字节,得出ME发送的地址,之后与预先设定的BMC地址对比校验是否一致,校验通过则进入数据记录环节,记录收到的数据,经过格式和链路的处理,发送到读寄存器中,并按照BMC要求进行数据的转发和上传。
优选的,数据传输完成后,ME会发送停止信号,此时本模块将最后1byte数据发出,进入停止状态,并立即恢复IDLE等待下一次读写。
本发明的有益效果:具实现I2C主从模式的快速切换,同时保证数据链路的简洁,不占用额外的链路,该模块完全兼容正常I2C通信与IPMB通信,极大地提高了资源利用率的优点。
附图说明
图1是IPMB点对点传输数据包示意图。
图2是I2C总线写方式数据包示意图。
图3是本实施例方法流程图。
图4是本实施例状态转换流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
如图3、图4所示,一种兼容I2C通信与IPMB通信的方法,当与I2C从设备进行通信的时候,进行标准I2C读写数据操作,按照需求进行读指令和写指令的传递。此时由BMC控制产生I2C时钟,并且拉低数据线产生起始信号,随后按照协议发送地址和数据,在传输完成后发出停止信号完成一次命令的发出;
当与ME通信的时候,按照IPMB协议,写数据走的依然是正常的I2C写寄存器流程,而当进行读数据操作的时候,ME会给BMC发送起始信号,产生时钟和写请求。
系统一直检测I2C总线信号,当总线上有起始信号的时候,会进行内部的自我判定,判断该信号是BMC发出的命令还是外部发给BMC的写请求,如果判断确定是外部的写请求,就进入地址的校验流程,根据ME提供的时钟信号,记录每个bit字节,得出ME发送的地址,之后与预先设定的BMC地址对比校验是否一致,校验通过则进入数据记录环节,记录收到的数据,经过格式和链路的处理,发送到读寄存器中,并按照BMC要求进行数据的转发和上传。
数据传输完成后,ME会发送停止信号,此时本模块将最后1byte数据发出,进入停止状态,并立即恢复IDLE等待下一次读写。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (2)

1.一种兼容I2C通信与IPMB通信的方法,其特征在于,当与I2C从设备进行通信的时候,进行标准I2C读写数据操作,按照需求进行读指令和写指令的传递;此时由BMC控制产生I2C时钟,并且拉低数据线产生起始信号,随后按照协议发送地址和数据,在传输完成后发出停止信号完成一次命令的发出;
当与ME通信的时候,按照IPMB协议,写数据走的依然是正常的I2C写寄存器流程,而当进行读数据操作的时候,ME会给BMC发送起始信号,产生时钟和写请求;
系统一直检测I2C总线信号,当总线上有起始信号的时候,会进行内部的自我判定,判断该信号是BMC发出的命令还是外部发给BMC的写请求,如果判断确定是外部的写请求,就进入地址的校验流程,根据ME提供的时钟信号,记录每个bit字节,得出ME发送的地址,之后与预先设定的BMC地址对比校验是否一致,校验通过则进入数据记录环节,记录收到的数据,经过格式和链路的处理,发送到读寄存器中,并按照BMC要求进行数据的转发和上传。
2.如权利要求1所述的兼容I2C通信与IPMB通信的方法,其特征在于,数据传输完成后,ME会发送停止信号,此时本模块将最后1byte数据发出,进入停止状态,并立即恢复IDLE等待下一次读写。
CN201710145447.1A 2017-03-13 2017-03-13 一种兼容i2c通信与ipmb通信的方法 Active CN106959935B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710145447.1A CN106959935B (zh) 2017-03-13 2017-03-13 一种兼容i2c通信与ipmb通信的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710145447.1A CN106959935B (zh) 2017-03-13 2017-03-13 一种兼容i2c通信与ipmb通信的方法

Publications (2)

Publication Number Publication Date
CN106959935A CN106959935A (zh) 2017-07-18
CN106959935B true CN106959935B (zh) 2020-08-04

Family

ID=59470858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710145447.1A Active CN106959935B (zh) 2017-03-13 2017-03-13 一种兼容i2c通信与ipmb通信的方法

Country Status (1)

Country Link
CN (1) CN106959935B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032978A (zh) * 2018-05-31 2018-12-18 郑州云海信息技术有限公司 一种基于bmc的文件传输方法、装置、设备及介质
CN109032979A (zh) * 2018-06-04 2018-12-18 郑州云海信息技术有限公司 一种bmc间的文件传输方法、装置、设备及存储介质
CN109992510B (zh) * 2019-03-25 2021-04-13 联想(北京)有限公司 一种远程调试装置及方法
CN111581043A (zh) * 2019-07-29 2020-08-25 新华三信息技术有限公司 服务器功耗的监控方法、装置和服务器
CN110489361B (zh) * 2019-07-31 2020-08-25 广东高云半导体科技股份有限公司 兼容sram总线的i3c接口电路
WO2022056793A1 (zh) * 2020-09-17 2022-03-24 华为技术有限公司 一种基于内部集成电路的通信方法及装置
CN112463662B (zh) * 2020-12-16 2024-04-05 福州创实讯联信息技术有限公司 一种用户态控制i2c设备的方法与终端
CN114063705B (zh) * 2021-11-23 2023-05-26 四川九洲电器集团有限责任公司 一种实时时钟芯片的读写系统及方法
CN114443544B (zh) * 2022-04-02 2022-06-28 井芯微电子技术(天津)有限公司 基于i2c模块主从模式切换方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902427A (zh) * 2014-03-11 2014-07-02 浪潮电子信息产业股份有限公司 一种带外获取硬盘状态的方法
CN103926994A (zh) * 2014-04-04 2014-07-16 浪潮电子信息产业股份有限公司 一种基于me的服务器动态能耗管理及修正方法
CN104572402A (zh) * 2015-02-09 2015-04-29 浪潮(北京)电子信息产业有限公司 一种服务器及实现服务器功耗管理的方法
CN104899109A (zh) * 2015-05-06 2015-09-09 深圳市国鑫恒宇科技有限公司 一种操作系统下获取cpu温度的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10110691B2 (en) * 2015-06-12 2018-10-23 Dell Products L.P. Systems and methods for enabling virtual keyboard-video-mouse for external graphics controllers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902427A (zh) * 2014-03-11 2014-07-02 浪潮电子信息产业股份有限公司 一种带外获取硬盘状态的方法
CN103926994A (zh) * 2014-04-04 2014-07-16 浪潮电子信息产业股份有限公司 一种基于me的服务器动态能耗管理及修正方法
CN104572402A (zh) * 2015-02-09 2015-04-29 浪潮(北京)电子信息产业有限公司 一种服务器及实现服务器功耗管理的方法
CN104899109A (zh) * 2015-05-06 2015-09-09 深圳市国鑫恒宇科技有限公司 一种操作系统下获取cpu温度的方法

Also Published As

Publication number Publication date
CN106959935A (zh) 2017-07-18

Similar Documents

Publication Publication Date Title
CN106959935B (zh) 一种兼容i2c通信与ipmb通信的方法
US7587536B2 (en) Method and apparatus for distributing USB hub functions across a network
US6603744B2 (en) Connection establishment method, communication method, state change transmission method, state changing method, wireless apparatus, wireless device, and computer
US6519268B1 (en) Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure
CN102647320B (zh) 适用于高速1553总线协议控制的集成电路
CN105406998A (zh) 基于fpga的双冗余千兆以太网介质访问控制器ip核
EP2397949B1 (en) Flow control for universal serial bus (USB)
CN101788972A (zh) 一种数据传输的系统与方法
US20150347335A1 (en) USB 3.0 Link Layer Timer Adjustment to Extend Distance
KR100405250B1 (ko) 데이터 전송 제어 장치 및 전자 기기
CN115632900B (zh) 一种计算设备
WO2017143857A1 (zh) 数据传输的方法、扩展装置、外围设备及系统
US10891242B2 (en) Embedded USB2 (eUSB2) repeater operation
EP2699030B1 (en) Route switching device, network switching system and route switching method
CN103885910B (zh) 多设备在主模式下进行iic通信的方法
WO2024131147A1 (zh) 增强型串行外设接口实现方法、装置、转换器件及介质
CN110855581B (zh) 适用于vpx架构的40g和srio复用的国产交换刀片装置
WO2001006708A1 (fr) Dispositif de gestion de transfert de donnees et appareil electronique
WO2005029778A1 (ja) 通信制御回路および通信制御方法
CN112579490A (zh) 一种可编程电子积木连接总线
WO2012058875A1 (zh) 一种串行通信的方法和系统
CN107066412B (zh) 一种通信电路及其方法
TW202232339A (zh) 監控管理系統及方法
CN114253894A (zh) 一种基于i2c协议的全双工通信方法、装置及电子设备
CN117167068A (zh) 基于EtherCAT的新型液压支架控制器

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
TA01 Transfer of patent application right

Effective date of registration: 20200706

Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: 450000 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant