[发明专利]一种模拟I2C从机及其实现方法、终端设备和存储介质有效
| 申请号: | 201911127894.X | 申请日: | 2019-11-18 |
| 公开(公告)号: | CN111078606B | 公开(公告)日: | 2021-05-11 |
| 发明(设计)人: | 刘宪管;陈辉;娄方超;吴忠洁 | 申请(专利权)人: | 上海灵动微电子股份有限公司 |
| 主分类号: | G06F13/28 | 分类号: | G06F13/28;G06F13/42 |
| 代理公司: | 上海硕力知识产权代理事务所(普通合伙) 31251 | 代理人: | 杨用玲 |
| 地址: | 201203 上海市浦东新区中国(上海*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 模拟 i2c 及其 实现 方法 终端设备 存储 介质 | ||
1.一种模拟I2C从机的实现方法,其特征在于,包括步骤:
上电后对硬件外设进行初始化设置;
所述上电后对硬件外设进行初始化设置包括步骤:
配置控制线以及数据线对应的GPIO管脚为上拉输入模式;
配置所述控制线复用为具有输入捕获功能的计时器的传输通道,并设置所述计时器的输入捕获功能为上升沿触发;
配置所述计时器所触发使能的DMA控制器的工作参数;
每当I2C主机发送数据时,通过计时器的输入捕获来触发DMA控制器传输I2C主机发送的数据;
每当完成一个字节的数据传输后进入接收中断流程,并对每次传输过来的数据进行解析;
根据解析结果进行数据有效性判断,并根据判断结果向所述I2C主机反馈对应的响应信息;
所述根据解析结果进行数据有效性判断,并根据判断结果向所述I2C主机反馈对应的响应信息:
当解析出通过所述DMA控制器传输过来的当前数据为地址数据时,判断所述地址数据是否与自身的预设地址相符,并当解析出所述当前数据为非地址数据时,判断自身内存空间是否满足储存所述数据;
若所述地址数据与自身的预设地址相符,或者自身内存空间满足储存所述数据,则确定通过所述DMA控制器传输过来的当前数据有效;
若所述地址数据与自身的预设地址不相符,或者自身内存空间不满足储存所述数据,则确定通过所述DMA控制器传输过来的当前数据无效;
若所述当前数据有效则向所述I2C主机反馈应答响应信息,并返回执行等待I2C主机发送数据,通过TIM的输入捕获来触发DMA控制器传输I2C主机发送的数据,直至所述I2C主机结束数据传输为止;
若所述当前数据无效向所述I2C主机反馈拒绝响应信息,结束数据传输。
2.根据权利要求1所述的模拟I2C从机的实现方法,其特征在于,所述工作参数包括传输模式、传输方向、寄存器地址、传输数据位大小、传输次数。
3.根据权利要求1-2任一项所述的模拟I2C从机的实现方法,其特征在于,还包括步骤:
在所述I2C主机通过所述DMA控制器进行下一数据传输时,确定对所述DMA控制器传输过来的当前数据解析未完成时,将控制线对应的GPIO管脚从上拉输入模式切换为推挽输出模式,以拉低所述控制线使得所述I2C主机处于等待状态,直至所述当前数据解析完成为止。
4.一种模拟I2C从机,其特征在于,包括:
初始化模块,用于上电后对硬件外设进行初始化设置;
所述初始化模块包括:
GPIO管脚初始化单元,用于配置控制线以及数据线对应的GPIO管脚为上拉输入模式;
计时器初始化单元,用于配置所述控制线复用为具有输入捕获功能的计时器的传输通道,并设置所述计时器的输入捕获功能为上升沿触发;
DMA初始化单元,用于配置所述计时器所触发使能的DMA控制器的工作参数;
接收模块,用于每当I2C主机发送数据时,通过计时器的输入捕获来触发DMA控制器传输I2C主机发送的数据;
处理模块,用于每当完成一个字节的数据传输后进入接收中断流程,并对每次传输过来的数据进行解析;
控制模块,用于根据解析结果进行数据有效性判断,并根据判断结果向所述I2C主机反馈对应的响应信息;
所述控制模块包括:
数据有效性判断单元,用于当解析出通过所述DMA控制器传输过来的当前数据为地址数据时,判断所述地址数据是否与自身的预设地址相符,当解析出所述数据为非地址数据时,判断自身内存空间是否满足储存所述数据;
结果输出单元,用于若所述地址数据与自身的预设地址相符,或者自身内存空间满足储存所述数据,则确定通过所述DMA控制器传输过来的当前数据有效;若所述地址数据与自身的预设地址不相符,或者自身内存空间不满足储存所述数据,则确定通过所述DMA控制器传输过来的当前数据无效;
响应执行单元,用于若所述当前数据有效则向所述I2C主机反馈应答响应信息,并返回执行等待接收I2C主机通过DMA控制器传输过来的数据,直至所述I2C主机结束数据传输为止;若所述当前数据无效向所述I2C主机反馈拒绝响应信息,结束数据传输。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海灵动微电子股份有限公司,未经上海灵动微电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911127894.X/1.html,转载请声明来源钻瓜专利网。





