一种实现I2C底层驱动的方法、装置及可读介质
摘要文本
本发明提供了一种实现I2C底层驱动的方法、装置及可读介质,该方法以FPGA作为I2C主机,对从设备进行读时序控制及写时序控制;写时序控制包括空闲状态、起始状态、发送数据状态及停止状态;读时序控制包括空闲状态、起始状态、发送数据状态、接收数据状态及停止状态;方案通过对各状态的跳转控制,完成主机对从机的数据写入及读取操作。本方案可根据不同I2C从设备的读写时序构建驱动程序,构建程序的时候无需改变I2C驱动代码,可兼容符合I2C协议的从设备的读写操作,提高了代码的复用率和工作效率。
申请人信息
- 申请人:井芯微电子技术(天津)有限公司
- 申请人地址:300457 天津市滨海新区经济技术开发区信环西路19号2号楼2203-1室
- 发明人: 井芯微电子技术(天津)有限公司
专利详细信息
| 项目 | 内容 |
|---|---|
| 专利名称 | 一种实现I2C底层驱动的方法、装置及可读介质 |
| 专利类型 | 发明申请 |
| 申请号 | CN202410114977.X |
| 申请日 | 2024/1/29 |
| 公告号 | CN117648084A |
| 公开日 | 2024/3/5 |
| IPC主分类号 | G06F8/36 |
| 权利人 | 井芯微电子技术(天津)有限公司 |
| 发明人 | 朱珂; 张波; 赵玉林; 王锐; 张钦元; 毛英杰; 徐涛; 王渊; 袁婉甄 |
| 地址 | 天津市滨海新区经济技术开发区信环西路19号2号楼2203-1室 |
专利主权项内容
1.一种实现I2C底层驱动的方法,其特征在于,所述方法包括:以FPGA作为I2C主机,对从设备进行读时序控制及写时序控制;所述写时序控制包括空闲状态、起始状态、发送数据状态及停止状态;所述读时序控制包括空闲状态、起始状态、发送数据状态、接收数据状态及停止状态;写时序控制时,初始I2C驱动处于空闲状态,主机提供一start_flag信号触发I2C驱动跳转至起始状态;起始状态完成后,主机将写操作标识符拉高,并且将读操作标识符拉低,令I2C驱动跳转至发送数据状态以进行数据发送;数据发送完成后,主机将写操作标识符拉低,并将读操作标识符拉低,进而跳转至停止状态;停止状态产生一动作完成信号,令停止状态再次跳转至空闲状态;读时序控制时,初始I2C驱动处于空闲状态,I2C驱动执行写时序控制,并在发送数据状态结束后,第二次跳转至空闲状态;在第二次空闲状态中,主机提供一start_flag信号触发I2C驱动跳转至起始状态;起始状态完成后,主机将写操作标识符拉高,并且将读操作标识符拉低,令I2C驱动跳转至发送数据状态以进行数据发送;数据发送完成后,主机将写操作标识符拉低,并将读操作标识符拉高,进而跳转至接收数据状态;接收数据完成后,主机将写操作标识符拉低,并且将读操作标识符拉低,状态跳转至停止状态;停止状态产生一动作完成信号,令停止状态再次跳转至空闲状态。 来源:马 克 团 队