一种减少MCU中断占用I2C总线时间的方法技术

技术编号:9694662 阅读:114 留言:0更新日期:2014-02-21 00:56
本发明专利技术一种减少MCU中断占用I2C总线时间的方法,包括以下步骤:步骤一,当从机MCU接收到主机端写入的I2C读取数据起始地址后,从机反馈ACK然后释放SCL释放I2C总线,然后准备待发送的数据并缓存;步骤二,当从机MCU接收到主机读取I2C数据命令后,从机反馈ACK并将步骤一中准备待发送的数据写入到I2C数据寄存器然后释放SCL释放I2C总线,进行下一个待发送的数据的处理准备工作;步骤三,主机收到数据后反馈ACK给从机,从机MCU收到ACK后进入中断将步骤二中待发送的数据写入到I2C数据寄存器并释放SCL释放I2C总线等特征。本发明专利技术在从机MCU中断占用I2C总线的过程中进行了最少的操作,减小了从机MCU中断占用I2C总线的时间,提高了从机的匹配度。

【技术实现步骤摘要】
—种减少MCU中断占用I2C总线时间的方法
本专利技术涉及I2C硬件数据读取过程,尤其涉及一种减少MCU中断占用I2C总线时间的方法。
技术介绍
I2C总线以其简单的物理构架在现今的通讯过程中广泛应用,尤其是具有硬件I2C接口 MCU的应用更为广泛,在I2C数据的读取过程中,I2C从机的读取响应速度直接影响到该设备的I2C兼容性。从机MCU接收到I2C主机的读取命令后,首先进入I2C中断,拉低SCL将I2C总线占用,然后反馈ACK给主机,之后进行待发送数据的处理计算,当计算成功后从机MCU将待发送的数据写入I2C发送寄存器并释放SCL释放I2C总线,完成此处中断操作。由于从机MCU数据处理计算量的不确定性,导致该I2C中断处理时间的不确定,这样也就导致了从机占用I2C总线时间的不确定性。此种处理方法如果I2C主机端不具有SCL等待功能,若此时从机I2C中断处理数据时间过长造成从机占用I2C总线时间过长,就会造成主机读取I2C数据的异常。
技术实现思路
本专利技术的目的在于提供一种减少MCU中断占用I2C总线时间的方法,解决了目前I2C从机的读取时中断处理时间的不确定,造成从机占用I2C总线时间不确定的问题。为解决上述问题,本专利技术所采取的技术方案是:一种减少MCU中断占用I2C总线时问的方法,包括以下步骤:步骤一,当从机MCU接收到主机端写入的I2C读取数据起始地址后,从机反馈ACK然后释放SCL释放I2C总线,然后准备待发送的数据并缓存;步骤二,当从机MCU接收到主机读取I2C数据命令后,从机反馈ACK并将步骤一中准备待发送的数据写入到I2C数据寄存器然后释放SCL释放I2C总线,进行下一个待发送的数据的处理准备工作;步骤三,主机收到数据后反馈ACK给从机,从机MCU收到ACK后进入中断将步骤二中待发送的数掘写入到I2C数据寄存器并释放SCL释放I2C总线,然后进行下一个待发送的数据的处理准备工作,以此类推直至主机结束此次I2C读取过程。采用上述技术方案所产生的有益效果在于:在从机MCU中断占用I2C总线的过程中进行了最少的操作,减小了从机MCU中断占用I2C总线的时间,提高了从机的匹配度。【附图说明】图1是本专利技术一种减少MCU中断占用I2C总线时间的方法一个实施例的流程示意图。图2是本专利技术一种减少MCU中断占用I2C总线时间的方法一个实施例中确认字符举例示意表。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。图1示出了本专利技术一种减少MCU中断占用I2C总线时间的方法的一个实施例:一种减少MCU中断占用I2C总线时间的方法,包括以下步骤:步骤一,当从机MCU接收到主机端写入的I2C读取数据起始地址后,从机反馈ACK然后释放SCL释放I2C总线,然后准备待发送的数据并缓存;步骤二,当从机MCU接收到主机读取I2C数据命令后,从机反馈ACK并将步骤一中准备待发送的数掘写入到I2C数据寄存器然后释放SCL释放I2C总线,进行下一个待发送的数据的处理准备工作;步骤三,主机收到数据后反馈ACK给从机,从机MCU收到ACK后进入中断将步骤二中待发送的数据写入到I2C数据寄存器并释放SCL释放I2C总线,然后进行下一个待发送的数据的处理准备工作,以此类推直至主机结束此次I2C读取过程。名词解释:MCU:MCU(Micro Control Unit)中文名称为微控制单元,又称单片微型计算机(Single Chip Microcomputer)或者单片机。I2C:I2C(Inter-1ntegrated Circuit)总线是由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。SCL:12C总线的时钟信号线。SDA:I2C总线的数据信号线。ACK:ACK (Acknowledgement),即确认字符,如图2所示,在数据通信中,接收站发给发送站的一种传输类控制字符,表示发来的数据已确认接受无误。本文档来自技高网...

【技术保护点】
一种减少MCU中断占用I2C总线时间的方法,其特征在于包括以下步骤:步骤一,当从机MCU接收到主机端写入的I2C读取数据起始地址后,从机反馈ACK然后释放SCL释放I2C总线,然后准备待发送的数据并缓存;步骤二,当从机MCU接收到主机读取I2C数据命令后,从机反馈ACK并将步骤一中准备待发送的数据写入到I2C数掘寄存器然后释放SCL释放I2C总线,进行下一个待发送的数据的处理准备工作;步骤三,主机收到数据后反馈ACK给从机,从机MCU收到ACK后进入中断将步骤二中待发送的数据写入到I2C数据寄存器并释放SCL释放I2C总线,然后进行下一个待发送的数据的处理准备工作,以此类推直至主机结束此次I2C读取过程。

【技术特征摘要】
1.一种减少MCU中断占用I2C总线时间的方法,其特征在于包括以下步骤: 步骤一,当从机MCU接收到主机端写入的I2C读取数据起始地址后,从机反馈ACK然后释放SCL释放I2C总线,然后准备待发送的数据并缓存; 步骤二,当从机MCU接收到主机读取I2C数据命令后,从机反馈ACK并将步骤一中准备待发送的数据写入...

【专利技术属性】
技术研发人员:李耀威许建锐罗建刚郭继伟王彦伟
申请(专利权)人:深圳市共进电子股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1