[发明专利]利用CPLD实现主从设备I2C总线通信的方法及装置在审
申请号: | 202211328150.6 | 申请日: | 2022-10-27 |
公开(公告)号: | CN115630011A | 公开(公告)日: | 2023-01-20 |
发明(设计)人: | 肖志武 | 申请(专利权)人: | 东莞记忆存储科技有限公司 |
主分类号: | G06F13/42 | 分类号: | G06F13/42 |
代理公司: | 深圳市精英专利事务所 44242 | 代理人: | 周永敬 |
地址: | 523000 广东省东莞市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 cpld 实现 主从 设备 i2c 总线 通信 方法 装置 | ||
本发明实施例公开了一种利用CPLD实现主从设备I 2C总线通信的方法及装置,方法包括:配置I 2C时钟;利用CPLD选择主设备与从设备的I 2C通信通道;将主设备的I 2C时钟线赋值给对应通道的从设备;获取主设备的I 2C时钟线下降沿;同时拉低主设备和从设备的I 2C时钟线直至满足配置的时钟周期低电平时间;将从设备的I 2C时钟线释放;判断释放的从设备的I 2C时钟线是否为低电平;若为高电平,则释放主设备的I 2C时钟线;若为低电平,则继续拉低主设备的I 2C时钟线。本发明实现了CPLD来模拟I2C Switch的功能,节省了硬件成本的开支。
技术领域
本发明涉及服务器技术领域,更具体地说是利用CPLD实现主从设备I2C总线通信的方法及装置。
背景技术
如图1所示,现有服务器主板BMC如果需要通过I2C访问NVMe硬盘(硬盘插在8639连接器槽位上),那么需要一个专门的I2C Switch芯片,并且背板上还会有CPLD与BMC通信,对背板及NVME硬盘进行管理和控制。由于I2C Switch芯片为硬件,而且价格昂贵,因此使用成本较高。
因此,有必要设计一种软件方式来模拟I2C Switch芯片的功能,以降低使用成本。
发明内容
本发明的目的在于克服现有技术的不足,提供利用CPLD实现主从设备I2C总线通信的方法及装置,旨在采用软件的方式来模拟I2C Switch芯片功能,以降低使用成本。
为实现上述目的,本发明采用以下技术方案:
第一方面,利用CPLD实现主从设备I2C总线通信的方法,包括:
配置I2C时钟;
利用CPLD选择主设备与从设备的I2C通信通道;
将主设备的I2C时钟线赋值给对应通道的从设备;
获取主设备的I2C时钟线下降沿;
同时拉低主设备和从设备的I2C时钟线直至满足配置的时钟周期低电平时间;
将从设备的I2C时钟线释放;
判断释放的从设备的I2C时钟线是否为低电平;
若为高电平,则释放主设备的I2C时钟线;
若为低电平,则继续拉低主设备的I2C时钟线。
其进一步技术方案为:所述利用CPLD选择主设备与从设备的I2C通信通道之后,还包括:
解析I2C数据方向;
根据解析的数据方向进行I2C数据线切换。
其进一步技术方案为:所述解析I2C数据方向,包括:
获取I2C协议并解析;
从解析结果中识别出主设备和从设备对I2C数据线的控制关系。
其进一步技术方案为:所述从解析结果中识别出主设备和从设备对I2C数据线的控制关系,包括:
若数据线的方向是由主设备发送给从设备,则在CPLD中采用Verilog语言将主设备的数据线赋值给对应通道的从设备;
若数据线的方向是由从设备发送给主设备,则在CPLD中采用Verilog语言将从设备的数据线赋值给对应通道的主设备。
第二方面,利用CPLD实现主从设备I2C总线通信的装置,包括配置单元、选择单元、赋值单元、获取单元、第一时钟线拉低单元、第一释放单元、判断单元、第二释放单元以及第二时钟线拉低单元;
所述配置单元,用于配置I2C时钟;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东莞记忆存储科技有限公司,未经东莞记忆存储科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211328150.6/2.html,转载请声明来源钻瓜专利网。