CN103593316B - 一种减少mcu中断占用i2c总线时间的方法 - Google Patents

一种减少mcu中断占用i2c总线时间的方法 Download PDF

Info

Publication number
CN103593316B
CN103593316B CN201310596210.7A CN201310596210A CN103593316B CN 103593316 B CN103593316 B CN 103593316B CN 201310596210 A CN201310596210 A CN 201310596210A CN 103593316 B CN103593316 B CN 103593316B
Authority
CN
China
Prior art keywords
data
machine
bus
mcu
sent
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.)
Expired - Fee Related
Application number
CN201310596210.7A
Other languages
English (en)
Other versions
CN103593316A (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.)
Shenzhen Gongjin Electronics Co Ltd
Original Assignee
Shenzhen Gongjin Electronics 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 Shenzhen Gongjin Electronics Co Ltd filed Critical Shenzhen Gongjin Electronics Co Ltd
Priority to CN201310596210.7A priority Critical patent/CN103593316B/zh
Publication of CN103593316A publication Critical patent/CN103593316A/zh
Application granted granted Critical
Publication of CN103593316B publication Critical patent/CN103593316B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Bus Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

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

Description

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

Claims (1)

1.一种减少MCU中断占用I2C总线时间的方法,其特征在于包括以下步骤:
步骤一,当从机MCU接收到主机端写入的I2C读取数据起始地址后,从机反馈ACK然后释放I2C总线中的SCL,然后准备待发送的数据并缓存;
步骤二,当从机MCU接收到主机读取I2C数据命令后,从机反馈ACK并将步骤一中准备待发送的数据写入到I2C数据寄存器然后释放I2C总线中的SCL,进行下一个待发送的数据的处理准备工作;
步骤三,主机收到数据后反馈ACK给从机,从机MCU收到ACK后进入中断将步骤二中待发送的数据写入到I2C数据寄存器并释放I2C总线中的SCL,然后进行下一个待发送的数据的处理准备工作,以此类推直至主机结束此次I2C读取过程。
CN201310596210.7A 2013-11-25 2013-11-25 一种减少mcu中断占用i2c总线时间的方法 Expired - Fee Related CN103593316B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310596210.7A CN103593316B (zh) 2013-11-25 2013-11-25 一种减少mcu中断占用i2c总线时间的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310596210.7A CN103593316B (zh) 2013-11-25 2013-11-25 一种减少mcu中断占用i2c总线时间的方法

Publications (2)

Publication Number Publication Date
CN103593316A CN103593316A (zh) 2014-02-19
CN103593316B true CN103593316B (zh) 2016-04-06

Family

ID=50083467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310596210.7A Expired - Fee Related CN103593316B (zh) 2013-11-25 2013-11-25 一种减少mcu中断占用i2c总线时间的方法

Country Status (1)

Country Link
CN (1) CN103593316B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3123348B1 (en) * 2014-03-24 2018-08-22 INESC TEC - Instituto de Engenharia de Sistemas e Computadores, Tecnologia e Ciencia Control module for multiple mixed-signal resources management
CN105591854A (zh) * 2015-08-17 2016-05-18 杭州华三通信技术有限公司 一种基于串行总线的交互方法、装置以及系统
CN111274188A (zh) * 2020-02-20 2020-06-12 深圳震有科技股份有限公司 一种多数据i2c总线
CN117193991B (zh) * 2023-11-08 2024-02-23 广州翼辉信息技术有限公司 一种实时操作系统中断处理时间的准确测量方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1553357A (zh) * 2003-05-27 2004-12-08 威达电股份有限公司 系统总线控制装置及方法
CN101937413A (zh) * 2010-10-21 2011-01-05 成都优博创技术有限公司 一种i2c总线的通信方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100078193A (ko) * 2008-12-30 2010-07-08 주식회사 동부하이텍 슬레이브 및 그와 마스터 간의 통신 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1553357A (zh) * 2003-05-27 2004-12-08 威达电股份有限公司 系统总线控制装置及方法
CN101937413A (zh) * 2010-10-21 2011-01-05 成都优博创技术有限公司 一种i2c总线的通信方法

Also Published As

Publication number Publication date
CN103593316A (zh) 2014-02-19

Similar Documents

Publication Publication Date Title
US11176068B2 (en) Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link
CN102819512B (zh) 一种基于spi的全双工通信装置及其方法
JP6517243B2 (ja) リンクレイヤ/物理レイヤ(phy)シリアルインターフェース
CN103593316B (zh) 一种减少mcu中断占用i2c总线时间的方法
CN103914424B (zh) 基于gpio接口的lpc外设扩展方法及装置
CN101788972A (zh) 一种数据传输的系统与方法
TW201822011A (zh) 使用i2c匯流排與主機連接的從機及其通信方法
CN105119907A (zh) 一种基于FPGA的BiSS-C通信协议方法
CN102073611B (zh) 一种i2c总线控制系统及方法
CN102103564B (zh) 用于实现总线连接的方法及系统
CN101937413B (zh) 一种i2c总线的通信方法
CN102253910A (zh) 一种i2c传输方法及其装置
US8874989B2 (en) Memory system capable of increasing data transfer efficiency
TWI416337B (zh) 資料傳輸系統以及資料傳輸方法
CN103077144A (zh) 一种确保数据完整的spi通讯接口及其通讯方法
CN103107862B (zh) 逻辑器件及其mdio数据发送方法
CN202018576U (zh) 单片机通信模块
CN111026691B (zh) 基于apb总线的owi通讯设备
CN102890661A (zh) 一种主从机通讯协议
CN105094886A (zh) 一种从pc机烧录序列号至含rs485总线的下位机的装置和方法
CN104144137B (zh) 一种高速lvds串行同步通讯控制器
CN105573947A (zh) 一种基于apb总线的sd/mmc卡控制方法
CN103838694A (zh) 一种fpga高速读取usb接口数据的方法
CN105068962A (zh) I2c控制器访问方法及系统
CN102662902B (zh) 一种防止i2c总线锁定的方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160406

CF01 Termination of patent right due to non-payment of annual fee