CN102622325B - I2c总线启动与停止电路结构 - Google Patents
I2c总线启动与停止电路结构 Download PDFInfo
- Publication number
- CN102622325B CN102622325B CN201110437009.5A CN201110437009A CN102622325B CN 102622325 B CN102622325 B CN 102622325B CN 201110437009 A CN201110437009 A CN 201110437009A CN 102622325 B CN102622325 B CN 102622325B
- Authority
- CN
- China
- Prior art keywords
- bus
- type flip
- gate
- flip flop
- input
- 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.)
- Active
Links
Landscapes
- Logic Circuits (AREA)
Abstract
本发明公开了一种I2C总线启动停止电路结构,它包括总线启动模块和总线停止模块;通过SCK对第一D触发器的复位端R的控制,在第一D触发器检测到启动信号后,只有SCK从高变低时,第一D触发器的Q端才跳0,第三D触发器的Q端跳1,S/P跳1,总线启动;在第二D触发器检测到停止信号后,通过SCK对第二D触发器输入信号D的控制,在SCK为高电平期间,D恒定为1,第三触发器的复位信号恒定有效,S/P保持为0,总线停止。本发明在正确实现I2C总线数据传输基础上,保证I2C总线启动时不会因为数据线上的错误跳变或干扰影响正常启动且停止后不会因数据线上的错误跳变或干扰重新启动。
Description
技术领域
本发明特别涉及一种用于总线传输协议的I2C总线启动与停止电路结构,属于集成电路技术领域。
背景技术
对于应用了I2C总线协议的电路结构,I2C总线的启动与停止影响着I2C协议的正确执行。在时钟总线SCK保持为高电平期间,检测到数据总线SDA由高电平跳变为低电平时,标志总线启动位有效,即启动I2C总线,开始传输数据;而在时钟总线SCK保持为高电平期间,检测到数据总线SDA由低电平跳变为高电平,标志总线停止位有效,即结束I2C总线数据传输。在数据传输的过程中,只有在时钟为低电平期间,数据才可以变化(如图1所示)。
普通I2C总线电路结构只要检测到时钟总线SCK保持为高电平期间,数据总线SDA由高电平跳变为低电平便启动I2C总线。如果启动阶段数据总线上有数据的跳变,可能使总线未启动就进入停止,影响启动电路的正常执行。
在检测到总线停止信号之后,总线数据便停止传输数据。如果时钟总线SCK保持为高电平期间,数据总线出现由高跳低的干扰,总线就可能再次的启动,数据会错误传输,影响电路的正常执行。
发明内容
本发明的目的在于提供一种I2C总线启动与停止电路结构,其能够稳定的锁存启动与停止信号,防止启动时数据总线的错误数据对电路的影响和停止后再次的启动对电路正常执行的影响,从而克服了现有技术中的不足。
为实现上述发明目的,本发明采用了如下技术方案:
一种I2C总线启动与停止电路结构,它包括总线启动模块和总线停止模块;
所述总线启动模块包括第一二输入与非门,第一三输入或非门,第一、第二、第三、第五、第七,第八非门以及第一、第二D触发器;
所述总线停止模块包括第二、第三、第四二输入或非门,第四、第五、第 六非门以及第二、第三D触发器;
进一步的,复位信号经第一非门取反后与SCK信号作为第一二输入与非门的两个输入信号,第一与非门的输出经第二非门取反后接第一D触发器的R端,SDA经第三非门取反后接第一触发器的CLK,第一D触发器的D端加工作电压(VDD),第一D触发器的Q输出端经第六非门取反后加至第二D触发器的R端,第二D触发器的Q输出端与SCK信号作为第二或非门的两个输入端,第二或非门的输出经第四非门后接至第二D触发器的D端,第二D触发器的Q输出端与复位信号作为第三或非门的两个输入端,第三或非门的输出接第三D触发器的R端,第一D触发器的Q输出端经第七非门取反后接至第三D触发器的CLK端,第三D触发器的D端加工作电压(VDD),第三D触发器的Q输出端经第五非门取反、复位信号及第一D触发器的Q输出端做为第一三输入或非门的三个输入端,第一三输入或非门输出接启动或停止信号。前述D触发器采用的全部是上升沿触发的结构,而如果采用了下降沿触发结构,D触发器的时钟端要相应的经过一级反向。
本发明I2C总线启动与停止电路结构通过SCK对第一D触发器的复位端R的控制,在检测到启动信号后,只有SCK从高变低时,第一D触发器的Q端才跳0,第三D触发器的Q端跳1,S/P跳1,总线启动。
同时,本发明的I2C总线启动与停止电路结构在检测到停止信号时,通过SCK对第二D触发器输入信号D的控制实现总线停止,即在SCK为高电平期间,D恒定为1,使得第三触发器的复位信号恒定有效,S/P保持为0,总线停止。
附图说明
图1为现有技术中I2C总线启动与停止时序原理图;
图2a为本发明一较佳实施方式中I2C总线启动与停止电路图;
图2b为本发明另一较佳实施方式中I2C总线启动与停止电路图;
图3为本发明一较佳实施方式中I2C总线启动与停止电路中总线启动模块的电路图;
图4为本发明一较佳实施例方式I2C总线启动与停止电路中总线停止模块的电路图;
图5为本发明一较佳实施例方式I2C总线启动与停止电路启动和停止的实现结果原理图;
图6为本发明一优选实施例的电路图。
具体实施方式
参阅图2a-2b,作为本发明的优选实施方式,该I2C总线启动与停止电路结构,它包括总线启动模块和总线停止模块,所述总线启动模块包括第一二输入与非门,第一三输入或非门,第一、第二、第三、第五、第七,第八非门以及第一、第二D触发器,所述总线停止模块包括第二、第三、第四二输入或非门,第四、第五、第六非门以及第二、第三D触发器;
该I2C总线启动与停止电路通过SCK对第一D触发器的复位端R的控制,在第一D触发器检测到启动信号后,只有SCK从高变低时,第一D触发器的Q端才跳0,第三D触发器的Q端跳1,S/P跳1,总线启动;通过SCK对第二D触发器输入信号D的控制,在SCK为高电平期间,D恒定为1,在停止信号到来时,使得第三触发器的复位信号恒定有效,S/P保持为0,总线停止。
进一步的讲,参阅图3,当时钟总线SCK保持为高电平期间,数据总线SDA由高电平跳变为低电平,而时钟总线仍为高电平时,启动标志位并不立刻有效,等待时钟总线由高电平跳为低时,总线才启动数据的传输。其中rst为上电复位信号,SCK为时钟总线,SDA为数据总线。通过SCK对第一D触发器的复位端R的控制,只有SCK从高变低时,第一D触发器的Q端才跳0,第三D触发器的Q端跳1,S/P跳1,总线启动。
参阅图4,在时钟总线SCK保持为高电平期间,检测到数据总线SDA由低电平跳变为高电平,通过D触发器的锁存,停止标志位有效,此时数据总线SDA再次由高电平跳变为低电平,也不会重新启动。其中rst为上电复位信号,rst1为与启动相关的复位信号,启动后为0,SCK为时钟总线,SDA为数据总线。通过SCK对第二D触发器的输入信号D的控制,在SCK为高电平期间,D恒定为1,使得第三D触发器的复位信号恒定有效,S/P保持为0,总线停止。
参阅图5系该I2C总线启动与停止电路整体的实现结果,包括正常的启动的与停止,可以看到,在检测到启动与停止信号时,数据线上的脉冲不会影响电路的正常启动与停止。
本发明基于I2C总线的协议,在正确实现I2C总线数据传输基础上,保证I2C总线启动时不会因为数据线上的错误跳变或干扰影响正常启动且停止后不会因数据线上的错误跳变或干扰重新启动。在所有使用I2C总线传输协议的集成电路中都可以使用上述的启动与停止电路结构。总线在输入端口最好经过schimitt触发器的整形,消除不必要的干扰。
以下结合一较佳实施例及附图对本发明的技术方案作进一步的说明。
该I2C总线启动与停止电路系应用在基于I2C协议的数据监视采集系列芯片中,其整体结构参阅图6,
本实施例由一集成电路及少量外围器件组成。该实例内置I2C协议接口,通过I2C协议与MCU通讯,信号可双向传输。SDA作为2线制串行接口的数据线,内置上拉开漏模式。SCK作为2线制串行接口的时钟线,内置上拉电阻。MCU通过SCK与SDA将指令传输给控制器,而控制器在接收到MCU指令后可将响应信号传输给MCU。
以上仅是本发明的具体应用范例,对本发明的保护范围不构成任何限制。凡采用等同变换或者等效替换而形成的技术方案,均落在本发明权利保护范围之。
Claims (3)
1.一种I2C总线启动与停止电路结构,其特征在于,它包括总线启动模块和总线停止模块;
所述总线启动模块包括第一二输入与非门,第一三输入或非门,第一、第二、第三、第五、第七非门以及第一、第二D触发器;
所述总线停止模块包括第二、第三、第四二输入或非门,第四、第五、第六非门以及第二、第三D触发器;
其中,复位信号经第一非门取反后与SCK信号作为第一二输入与非门的两个输入信号,第一二输入与非门的输出经第二非门取反后接第一D触发器的R端,SDA经第三非门取反后接第一D触发器的CLK,第一D触发器的D端加工作电压VDD,第一D触发器的Q输出端经第六非门取反后加至第二D触发器的R端,第二D触发器的Q输出端与SCK信号作为第二二输入或非门的两个输入端,第二二输入或非门的输出经第四非门后接至第二D触发器的D端,第二D触发器的Q输出端与复位信号作为第三二输入或非门的两个输入端,第三二输入或非门的输出接第三D触发器的R端,第一D触发器的Q输出端经第七非门取反后接至第三D触发器的CLK端,第三D触发器的D端加工作电压VDD,第三D触发器的Q端经第五非门取反,复位信号与第一D触发器的Q端做为第一三输入或非门的三个输入端,该第一三输入或非门输出接启动或停止信号;
所述D触发器均采用上升沿触发的结构。
2.根据权利要求1所述的I2C总线启动与停止电路结构,其特征在于:
检测到启动信号后,只有当SCK从高变低时,第一D触发器的Q端才跳0,第三D触发器的Q端跳1,S/P跳1,总线启动;
而检测到停止信号后,在SCK为高电平期间,SCK对第二D触发器输入信号恒定为1,使得第三D触发器的复位信号恒定有效,S/P保持为0,总线停止。
3.根据权利要求1所述的I2C总线启动与停止电路结构,其特征在于:所述D触发器均采用下降沿触发结构,但D触发器的时钟端相应的经过一级反向。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110437009.5A CN102622325B (zh) | 2011-12-23 | 2011-12-23 | I2c总线启动与停止电路结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110437009.5A CN102622325B (zh) | 2011-12-23 | 2011-12-23 | I2c总线启动与停止电路结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102622325A CN102622325A (zh) | 2012-08-01 |
CN102622325B true CN102622325B (zh) | 2014-12-24 |
Family
ID=46562249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110437009.5A Active CN102622325B (zh) | 2011-12-23 | 2011-12-23 | I2c总线启动与停止电路结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102622325B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9990330B2 (en) * | 2014-10-29 | 2018-06-05 | Qualcomm Incorporated | Simultaneous edge toggling immunity circuit for multi-mode bus |
GB2537856A (en) * | 2015-04-28 | 2016-11-02 | Nordic Semiconductor Asa | Communication between intergrated circuits |
DE102018203707A1 (de) | 2018-03-12 | 2019-09-12 | Robert Bosch Gmbh | Sende-/Empfangseinrichtung für ein Bussystem und Betriebsverfahren hierfür |
CN117215983B (zh) * | 2023-11-09 | 2024-03-22 | 辉芒微电子(深圳)股份有限公司 | I2c接口规避错误起始和停止条件的电路结构及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6530029B1 (en) * | 1999-09-23 | 2003-03-04 | National Semiconductor Corporation | I2C/SMBus start-stop detecting circuit that reduces the likelihood of stalling the bus due to glitches on the data line |
CN101089838A (zh) * | 2007-07-28 | 2007-12-19 | 中兴通讯股份有限公司 | 一种实现i2c读写时序的方法 |
CN101371234A (zh) * | 2006-01-30 | 2009-02-18 | 汤姆森特许公司 | 具有可中断时钟的数据总线接口 |
CN202600693U (zh) * | 2011-12-23 | 2012-12-12 | 苏州华芯微电子股份有限公司 | I2c总线启动与停止电路结构 |
-
2011
- 2011-12-23 CN CN201110437009.5A patent/CN102622325B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6530029B1 (en) * | 1999-09-23 | 2003-03-04 | National Semiconductor Corporation | I2C/SMBus start-stop detecting circuit that reduces the likelihood of stalling the bus due to glitches on the data line |
CN101371234A (zh) * | 2006-01-30 | 2009-02-18 | 汤姆森特许公司 | 具有可中断时钟的数据总线接口 |
CN101089838A (zh) * | 2007-07-28 | 2007-12-19 | 中兴通讯股份有限公司 | 一种实现i2c读写时序的方法 |
CN202600693U (zh) * | 2011-12-23 | 2012-12-12 | 苏州华芯微电子股份有限公司 | I2c总线启动与停止电路结构 |
Non-Patent Citations (1)
Title |
---|
基于ARM和I2C总线的嵌入式PLC设计;田军等;《电气自动化》;20101231;第32卷(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN102622325A (zh) | 2012-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101086426B1 (ko) | I2c 컨트롤러에서 직렬 데이터 라인의 상태 변화의타이밍 제어 장치 및 그 제어 방법 | |
US9001950B2 (en) | Information processing apparatus, serial communication system, method of initialization of communication therefor, and serial communication apparatus | |
CN102622325B (zh) | I2c总线启动与停止电路结构 | |
WO2014004924A1 (en) | Device disconnect detection | |
WO2014004896A1 (en) | A low power universal serial bus | |
WO2014004916A1 (en) | Device connect detection | |
EP2005308A2 (en) | Method and system for i2c clock generation | |
US20190361833A1 (en) | Bus system | |
JP6460049B2 (ja) | リンギング抑制回路 | |
US11221977B2 (en) | Daisy chain mode entry sequence | |
EP3187097A1 (en) | Communication system | |
AU2011313404B2 (en) | Electronic device and serial data communication method | |
TW201411333A (zh) | Usb裝置誤入相容測試模式時的跳離或省電方法 | |
CN112051889A (zh) | I2c总线的时钟频率自适应调整方法、主设备及设备系统 | |
CN113836075B (zh) | 一种基于fpga平台的spi接口信号消除毛刺的方法 | |
KR102554978B1 (ko) | 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템 | |
CN202600693U (zh) | I2c总线启动与停止电路结构 | |
CN108563598A (zh) | 一种自唤醒的i2c通讯架构系统 | |
KR20140092547A (ko) | 유에스비 오티지 자동 변경 장치 | |
TWI653580B (zh) | 具有多主控晶片的主機板及切換控制順序的方法 | |
US7437448B1 (en) | Method and device for function selection of a control unit | |
CN109669908B (zh) | 接口优先排程及解决冲突的控制电路及操作方法 | |
US11356236B2 (en) | Bidirectional re-driver for half-duplex interfaces | |
JP5678843B2 (ja) | 集積回路装置 | |
CN109669896B (zh) | 具有多主控芯片的主机板及切换控制顺序的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |