CN112965929A - 一种i2c通信总线监测调试设备及方法 - Google Patents

一种i2c通信总线监测调试设备及方法 Download PDF

Info

Publication number
CN112965929A
CN112965929A CN202110374157.0A CN202110374157A CN112965929A CN 112965929 A CN112965929 A CN 112965929A CN 202110374157 A CN202110374157 A CN 202110374157A CN 112965929 A CN112965929 A CN 112965929A
Authority
CN
China
Prior art keywords
communication bus
communication
bus
state
monitoring
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.)
Pending
Application number
CN202110374157.0A
Other languages
English (en)
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.)
Suzhou Institute of Biomedical Engineering and Technology of CAS
Original Assignee
Suzhou Institute of Biomedical Engineering and Technology of CAS
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 Suzhou Institute of Biomedical Engineering and Technology of CAS filed Critical Suzhou Institute of Biomedical Engineering and Technology of CAS
Priority to CN202110374157.0A priority Critical patent/CN112965929A/zh
Publication of CN112965929A publication Critical patent/CN112965929A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种I2C通信总线监测调试设备及方法,监测调试设备并联于I2C通信总线,包括接口模块,用于提供I/O接口,以与I2C通信总线相连接;信息提取模块,用于提取I2C通信总线中SDA数据线的电位变化信息及SCL时钟线的电位变化信息;总线状态转换模块,与所述信息提取模块连接,将I2C通信总线电平变化信息转换为I2C通信总线状态信息;处理模块,与总线状态转换模块连接,用于对包括所述I2C通信总线状态信息的通信协议进行解析,并提取I2C通信总线的异常;通信模块,用于传输解析后的通信协议及异常。本方案,可自动监测I2C通信总线的状态,节省了人力资源。

Description

一种I2C通信总线监测调试设备及方法
技术领域
本发明涉及仪器设备的控制系统间通信技术领域,具体涉及一种I2C通信总线监测调试设备及方法。
背景技术
目前许多仪器设备的控制系统间通信方式,尤其是便携式、台式等医疗器械,由于受到体积功能的限制,内部的关键部件以及模块之间,一般采用同步通信方式,如SPI、I2C等。区别于如RS232、RS485以及控制网络CAN、Ethernet等异步通信方式,同步通信采用主从方式,需要主控制器发出时钟信号,以同步其他分控制系统。在医疗仪器系统中,受体积与空间位置影响,在台式或者便携式的诊断与治疗仪器内,使用的是同步通信总线方式,比如眼底相机、干眼检测仪、近视视力筛查仪、小型荧光显微成像系统等等,上述诊断与治疗仪器内部通常主要包括光学系统、运动控制(系统)、成像系统、电子学系统以及软件系统等。其中的电子学系统,主要用于驱动控制机械结构系统的运动,为光学系统提供光源、光学探测及将光信号转换成电信号,为成像系统提供硬件图像信息采集,为软件系统提供硬件处理器平台以及其他信号处理,比如位置传感等控制信号的采集等。为了提高通信的可靠性与稳定性,再加上便于组建网络等,通信采用的连接线缆数量越少越好,也能够从一定程度上提高抗干扰性,目前通常采用的是SPI或者I2C通信方式。
其中,SPI通信是全双工通信,采用3线或4线方式,SPI无法进行组网,通常只能采用复用时钟、数据总线等方式,或者采用菊花链方式进行多方通信。通常情况下,SPI通信用于主控制器与外部存储器之间,或者主控制与外部高速器件ADC、DAC控制器之间。对于医疗仪器控制系统中,分布多、距离适中等特点不宜采用SPI通行方式,且SPI通信采用3线或4线方式,在医疗仪器控制系统分布多时导致线缆数量多,从而通信可靠性无法满足要求。而单独的控制单元与主控制系统之间通常采用I2C通信方式,该通信方式仅需要两根线缆,采用半双工方式,并且通过硬件地址设定可以进行多个控制器件组网连接,包括微控制器、外部芯片等。虽然I2C通信总线协议以及通信方式已经非常成熟,几乎所有的控制器中都带有相应的控制模块,许多学习爱好者为了对该控制技术有更深的理解,对微控制器自带的I2C控制器配置与使用过程,复杂而不易于理解,有许多开发者用I/O对I2C通信控制进行模拟,也能取得很好的效果。
I2C通信无论采用微控制器自带的控制接口,还是采用I/O模拟方式,在实际的通信过程中,微处理器的工作方式通常为时间片轮训方式,该种工作方式任务繁多、中断频繁,导致I2C通信很容易被其他任务中断;甚至有的微控制器(比如STM32系列)内部的I2C控制接口本身存在许多的缺陷与设计问题,如通信异常中断、时序异常等情况,加上许多通信问题的发生具有偶然性、无规律性,这样的情况下医疗仪器系统设计的稳定性与可靠性难以得到保障。
要解决目前的问题,主要可以从两个方面入手:一方面,更换内部逻辑设计更完善的主控制器,以提升I2C通信的稳定性与可靠性,比如采用TI等的高性能处理器,同时需要对系统整体工作过程进行优化设计,对任务的实时处理进行可靠性控制;另一方面,主要是针对通信过程中的异常进行实时处理,对于医疗仪器工作过程进行长时间稳定性测试,对于I2C通信总线进行实时监测,以确保所有通信异常情况的遍历,直到排除所有的异常,对所有的异常需要进行合理的处理,以保证后续I2C通信过程的完整性。
为了对I2C通信过程,进行实时监测与调试,在详细掌握了I2C通信的完整时序过程的前提下,可以通过适当的方法对I2C通信过程进行实时监控,如此即使控制器或者模拟I2C通信以及系统任务造成的各种通信异常也能实时进行监测,以方便在系统设计时提供完整的异常处理方案。I2C通信过程、通信协议并不复杂,复杂的是通信过程一般都是周期性的或者偶然发生的,每次通信过程可能持续的时间并不长,但是通信内容可能是一连串连续的时序与波形。这对I2C通信的监测与调试造成了很大的困难,通常采用的有两种方法:一、采用示波器,对关键的波形位置或者所有波形进行触发与捕获,然后再通过人工的方式,分析波形中所包含的数据内容等等;二、采用带有协议分析功能的仪器设备,比如逻辑分析仪、安捷伦的总线分析模块等,这样的装置或者仪器通常体积庞大,价格昂贵,普通的技术开发或者学习爱好者没有条件采用这样的方式。因此,比较常规与大规模采用的就是第一种方式,然而第一种方式需要消耗大量的人力与时间,工作量大而且繁琐,有时候为了捕获一个特殊的异常情况,通常需要小时或者天以上的时间,等待异常的出现。
综上所述,现有技术方案中缺少一种既易于实施又无需消耗大量的人力与时间的监控I2C通信总线的通信状态的技术方案。
发明内容
第一方面,本发明实施例提供一种I2C通信总线监测调试设备,并联于I2C通信总线,包括:
接口模块,用于提供I/O接口,以与I2C通信总线相连接;
信息提取模块,用于提取I2C通信总线的中SDA数据线的电位变化信息及SCL时钟线的电位变化信息;
总线状态转换模块,与所述信息提取模块连接,将I2C通信总线中的SDA数据线、SCL时钟线的电位变化信息转换I2C通信总线状态信息;
处理模块,与所述总线状态转换模块连接,用于对包括所述I2C通信总线状态信息的通信协议进行解析,并提取I2C通信总线的异常;
通信模块,用于传输解析后的通信协议及所述异常。
优选地,所述通信模块采用的接口为USB接口、串口、或者以太网网口。
优选地,还包括:
存储模块,与所述处理模块连接,用于存储预设数量的解析后的通信协议及所述异常。
优选地,还包括:
判断模块,与所述总线状态转换模块连接,用于对I2C通信总线的时序及I2C通信总线状态信息进行记录,并判断I2C通信总线的时序及I2C通信总线状态信息是否正常。
优选地,所述处理模块,还用于:
当I2C通信总线状态信息正常时,对产生的第一状态结果的波形内容进行分析与提取,解析特殊标志位及第一通信协议;
当I2C通信总线状态信息为异常时,对产生的第二状态结果的波形内容进行分析与提取,解析特殊标志位或第二通信协议中的异常。
第二方面,本发明实施例还提供一种I2C通信总线监测调试方法,应用于上述任一项所述的监测调试设备,包括:
将监测调试设备与I2C通信总线通过I/O接口连接;
提取I2C通信总线中的SDA数据线电位变化信息、SCL时钟线电位变化信息;
将I2C通信总线中的SDA数据线电位变化信息、SCL时钟线电位变化信息转化为I2C通信总线状态信息;
对包括所述I2C通信总线状态信息的通信协议进行解析,并提取I2C通信总线的异常;
传输解析后的通信协议及所述异常。
优选地,所述传输解析后的通信协议及所述异常,包括:
通过USB接口、串口或者以太网网口,传输解析后的通信协议及所述异常。
优选地,还包括:
存储预设数量的解析后的通信协议及所述异常。
优选地,还包括:
对I2C通信总线的时序及I2C通信总线状态信息进行记录,并判断I2C通信总线的时序及I2C通信总线状态信息是否正常。
优选地,对包括所述I2C通信总线状态信息的通信协议进行解析,并提取I2C通信总线的异常,包括:
当I2C通信总线状态信息正常时,对产生的第一状态结果的波形内容进行分析与提取,解析特殊标志位及第一通信协议;
当I2C通信总线状态信息异常时,对产生的第二状态结果的波形内容进行分析与提取,解析特殊标志位或第二通信协议中的异常。
本发明实施例提供的I2C通信总线监测调试设备及方法,至少具有如下有益效果:
本发明实施例提供的I2C通信总线监测调试设备及方法,并联在I2C通信上,可对I2C通信总线的通信状态进行有效监测,可根据对I2C通信协议以及波形变化对I2C通信过程进行详细分析,能够实时进行I2C通信总线的跟踪、分析与调试。且本方案,I2C通信总线监测调试设备可自动对I2C通信总线的通信状态进行自动监测,无需消耗大量的人力物力,节省了人力资源。
本发明实施例提供的I2C通信总线监测调试设备,体积小,价格低廉,为普通的技术开发或者学习提供了便利的条件。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种I2C通信总线监测调试设备的模块图;
图2为本发明实施例提供的监测调试设备的电平变化时序图、中断产生与中断触发条件的示意图;
图3为本发明实施例提供的监测调试设备状态转换的示意图;
图4为本发明实施例提供的又一种I2C通信总线监测调试设备的模块图;
图5为本发明一具体实施例“写过程”的通信协议解析内容的示意图;
图6为本发明实施例提供的一种I2C通信总线监测调试方法的流程图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例1
本发明实施例提供一种I2C通信总线监测调试设备,连接于I2C通信总线,以对I2C通信总线进行监测调试,参见图1所示,该监测调试设备,包括:
接口模块11,用于提供I/O接口,以与I2C通信总线相连接;监测调试设备通过接口模块与I2C通信总线连接,该连接接口可以为I/O接口;
信息提取模块12,用于提取I2C通信总线的中SDA数据线的电位变化信息及SCL时钟线的电位变化信息;
总线状态转换模块13,与所述信息提取模块连接,将I2C通信总线中的SDA数据线、SCL时钟线的电位变化信息转换为I2C通信总线状态信息;
处理模块14,与所述总线状态转换模块连接,用于对包括所述I2C通信总线状态信息的通信协议进行解析,并提取I2C通信总线的异常;
通信模块15,用于传输解析后的通信协议及所述异常。
在本发明实施例中,接口模块11用于实现监测调试设备的物理层与I2C通信总线物理连接,作为一种可选实施方式,可以将监测调试设备上设置的I/O接口与I2C通信总线直接相连,或者进行必要的光耦隔离后再与ESD静电防护后再与I2C通信总线连接。
在本发明实施例中,在监测调试设备与I2C通信总线实现电连接之后,信息提取模块可以提取I2C通信总线电平变化产生的中断,主要包括SDA数据线的电位变化信息及SCL时钟线的电位变化信息。具体地,可提取SDA数据线上升沿、下降沿来确定电位变化信息,同理提取SCL时钟线的上升沿、下降沿来确定SCL时钟线的电位变化信息。
具体地,在本发明实施例中,从总线电平变化产生而来,根据总线时序中关键的电平状态进行中断产生与处理。其中开始START与停止STOP标志比较特殊,在SCL时钟线恒为高电平时,SDA数据线下降沿产生开始START信号,SDA数据线上升沿产生STOP信号。在地址ADDRESS阶段及数据DATA阶段,SDA数据线高低变化作为数据变化,不作为电平检测变化条件。在SCL时钟线上升沿后,对SDA数据线的状态进行读取判断、记录,仅仅检测SDA数据线上升沿变化(由于SCL时钟线下降沿变化时SDA数据线的数据发生变化,因此不采用SCL时钟线下降沿进行SDA数据线电平高低检测的条件)。除了开始START与停止STOP信号采用SDA数据线上升与下降沿方式进行触发外,其余过程均采用SCL时钟线上升沿进行触发与检测。为了减小I2C通信总线中断开销系统资源,在总线空闲Idle状态时,关闭SCL时钟线上升沿中断,仅对SDA数据线边沿变化进行检测;在通信过程中,地址/数据过程仅对SCL时钟线上升沿进行检测,关闭SDA数据线检测。在地址/数据过程结束后,开启SDA数据线上升沿检测,以判断是否产生结束STOP信号。关于通信总线的电平变化时序图、中断产生与中断触发条件,参见图2所示。
在本发明实施例中,在为I2C通信总线附加中断信息后,不同类型的中断的产生与时序变化,对应不同的I2C通信总线状态的转换。在本申请实施例中,主要采用监测调试设备中的状态机作为总线状态转换模块,将I2C通信总线中的SDA数据线电位变化信息、SCL时钟线电位变化信息转化为I2C通信总线状态信息。
具体地,在本实施例中,不同中断的产生与时序变化,对应于I2C通信总线的相应状态,采用总线状态转换模块(可以为状态机)实现总线时序判断与状态轮转的方式,如总线Idle状态下START信号产生,具体状态转换过程为:首先进入地址ADDRESS发送过程,发送7bit位地址后,第8bit位为读/写信号标志位;接着进行ADDR_ACK状态判断,此时如果接受地址匹配的从机的应答将会产生ACK信号,若没有接收到地址匹配的从机应答将会产生NACK信号;地址过程结束以后将会进入到数据DATA阶段,可能是Read过程也可能是Write过程,取决于读/写信号标志,DATA过程经过8bit位之后;第9bit位是DATA_ACK判断,判断匹配的从机是否产生ACK信号;数据过程可长可短,取决于应用层协议内容,若多次数据过程,状态机可以在DATA与DATA_ACK过程之间多次循环切换;DATA_ACK过程结束后,默认进入DATA过程,在DATA过程中,如果遇到STOP(P)信号,则产生停止信号,说明一次完整的通信过程已经完成;如果没有产生STOP停止信号,而是产生START(S)信号,则说明继续进行I2C通信。具体的通信过程参见图3所示。
从图中可以看出,5种通信总线状态分别为空闲(IDLE)、地址(ADDR)、地址应答(ADDR_ACK)、数据(DATA)、数据应答(DATA_ACK)等,对于每种状态判断与状态转换条件的详细说明如下:
1)IDLE状态为总线空闲状态,该状态只能转换成ADDR状态,条件为START信号,START信号产生后,禁止SDA产生中断;
2)ADDR状态为循环状态,循环8次,根据SCL上升沿,SDA电平高低,记录每次电平的变化,并保存为7bit位地址内容,根据第8次或者第8bit位,判断本次通信内容为读或者写通信过程,8次循环结束后自动进入下一状态;
3)ADDR_ACK状态为单一状态,根据第9次SCL中断时,SDA电平的高低,确定本次ADDRESS过程是否有应答ACK信号产生,判断结束后,自动进入下一状态;
4)DATA状态为循环状态,循环8次,根据SCL上升沿,SDA电平高低,记录每次电平的变化,并保存为8bit位数据内容,数据过程是连续的8bit不会产生START信号及STOP停止接收信号,在数据过程的开始应当判断是否有START信号或STOP信号产生(此处后续有进一步说明),如果都没有,则在接收到第一次SCL上升沿中断后,关闭SDA中断,第8次数据过程结束后,自动进入下一状态;
5)DATA_ACK状态为单一状态,根据第9次数据SDA状态判断是否有数据应答ACK产生,判断结束后,使能SDA数据线中断,并循环至DATA状态;
在此指出,START信号与STOP信号,只有在进行了一次完整的DATA与DATA_ACK过程后产生,因此在DATA_ACK状态结束后,循环进入到DATA状态时,需要使能SDA上升或者下降,此时可能会产生START信号,或者STOP信号,也可能均不产生而是继续DATA过程,因此在DATA过程开始时,就应当立即判断是否产生START或者STOP,如果均没有则继续DATA状态,那就立即禁止SDA数据线中断。而START信号与STOP信号与I/O中断的定义与判断,SDA数据线下降沿产生START信号,下降沿产生之前与之后SCL信号应当保持高电平,否则不成立;同理,SDA数据线上升沿产生STOP信号,上升沿产生之前与之后SCL时钟线应当保持高电平,否则不成立。
在本发明实施例中,处理模块对总线状态转换模块的转换过程的波形内容进行分析与提取,其中,分析与提取的内容包括其中的特殊标志位,如地址、数据、读写标志等等,还需要判断通信是否正常,如是否正常应答(ACK)、是否产生停止位、是否完整发送或接受数据等;
具体地,在本发明实施例中,主要根据总线状态转换的机制,当总线状态转换过程为正常轮转或者异常转换时,都会产生相应的状态转换结果,每次状态机都会从IDLE状态经过一系列状态转换最终再次进入IDLE状态,每次根据状态轮转过程解析其中的特殊标志位,如地址、数据、读写标志等等,判断通信是否正常,如是否正常应答(ACK)、是否产生停止位、是否完整发送或接受数据等。
在本发明实施例中,在处理模块14对状态转换过程的波形内容进行分析与提取之后,监测调试设备的通信模块15传输处理模块解析后的通信协议及异常。作为一种可选的实施方式,监测调试设备的通信模块通常采用USB转UART接口、串口或者以太网接口,将解析后的通信协议及异常发送至上位机监控软件,以供上位机监控软件回调I2C通信总线的通信过程的复现。
在本发明实施例中,参见图4所示,监测调试设备,还包括:
存储模块16,与处理模块14连接,用于存储预设数量的解析后的通信协议及异常。
在本发明实施例中,存储模块16可用于存储一定数量的解析后的通信协议及异常,从而,当上位机监控软件没有通过通信模块实时获取解析后的通信协议及异常时,存储模块对一定时长内的I2C通信总线的解析后的通信协议及异常进行记录,以便于后续上位机监控软件回调I2C通信总线通信过程,以使通信过程复现。
在本发明实施例中,还包括:
判断模块,与所述总线状态转换模块连接,用于对I2C通信总线的时序及I2C通信总线状态信息进行记录,并判断I2C通信总线的时序及I2C通信总线状态信息是否正常。
在本发明实施例中,所述处理模块,具体可用于:
当I2C通信总线状态信息正常时,对产生的第一状态结果的波形内容进行分析与提取,解析特殊标志位及第一通信协议;
当I2C通信总线状态信息异常时,对产生的第二状态结果的波形内容进行分析与提取,解析特殊标志位或第二通信协议中的异常。
如下,列举一个具体实施例进行阐述:
I2C通信总线的初始状态为空闲IDLE,START信号产生后,进入ADDR状态,ADDR循环7次后,通过每次SCL上升沿,获取SDA电平的高低,可以获取地址内容,第8bit次SDA高低代表本次通信过程,写Write为低电平,读Read为高电平,第9bit位SDA高低代表A_ACK,地址应答信号,低电平有效,高电平代表无应答;数据过程,可包括一次写入与多次写入数据,多次写入数据时,状态转换模块在DATA与DATA_ACK两者之间来回循环切换,DATA过程循环8次,每次循环解析一字节发送数据内容,多次循环解析所有发送数据,每次发送数据后第9bit次都会得到该数据字节是否有数据应答信号D_ACK;整个写入数据过程完成后,总线产生STOP停止信号,最终通信总线再次进入IDLE状态。
整个写入过程中通信协议解析的内容,主要包括ADDR地址内容(芯片的I2C通信器件地址)、写入或者读出过程标志、写入数据字节内容DATA[0,1,2…];通信过程中的监控主要包括,地址应答信号A_ACK是否能够正常应答、数据应答信号D_ACK是否能够正常应答、以及通信过程是否完整,包括数据过程是否完整、以及是否最终产生STOP信号等,如果无总线异常情况发生,最终I2C通信总线回归至空闲IDLE状态,具体参见图5所示。
相似地,I2C通信读过程包括一次写通信过程与一次读通信过程,其中写通信过程与上述I2C通信写过程一样,在此不予赘述。读通信过程仅次于写通信过程之后,包括地址ADDR子过程、ADDR_ACK子过程,数据DATA与数据应答DATA_ACK子过程,当多次读出数据时,I2C总线状态在DATA与DATA_之间进行切换,直到读取所有数据后,产生停止STOP信号,最终I2C通信总线再次进入IDLE状态。
在整个读过程中,通信协议解析的内容主要包括ADDR地址内容(芯片的I2C通信器件地址)、写入标志、写入数据字节内容DATA、读出标志、读出数据字节内容DATA[0,1,2…]等;在通信过程需要监控的过程主要包括,写入子过程、读出子过程、地址应答信号A_ACK、数据应答信号D_ACK是否能够正常应答以及整个通信过程是否完整,包括数据过程是否完整、以及是否最终产生STOP信号等。如果无总线异常情况发生,最终I2C通信总线回归至IDLE空闲状态。
实施例2
本发明实施例还提供一种I2C通信总线监测调试方法,应用于上一实施例提供的I2C通信总线监测调试方法,参见图6所示,所述方法,包括:
步骤S61、将监测调试设备与I2C通信总线通过I/O接口连接;
步骤S63、为I2C通信总线附加中断信息,以切换I2C通信中的SDA数据线、SCL时钟线的电位;
步骤S65、用于将I2C通信总线中的SDA数据线、SCL时钟线的电位转换I2C通信总线状态信息;
步骤S67、对包括所述I2C通信总线状态信息的通信协议进行解析,并提取I2C通信总线的异常;
步骤S69、传输解析后的通信协议及所述异常。
在本发明实施例中,所述传输解析后的通信协议及所述异常,包括:
通过USB接口、串口或以太网网口,传输解析后的通信协议及所述异常。
在本发明实施例中,所述方法,还包括:
存储预设数量的解析后的通信协议及异常。
在本发明实施例中,所述方法,还包括:
对I2C通信总线的时序与I2C通信总线状态信息进行记录与实时判断。
在本发明实施例中,所述对包括所述I2C通信总线状态信息的通信协议进行解析,并提取I2C通信总线的异常,包括:
当I2C通信总线状态信息正常时,对产生的第一状态结果的波形内容进行分析与提取,解析特殊标志位及第一通信协议;
当I2C通信总线状态信息异常时,对产生的第二状态结果的波形内容进行分析与提取,解析特殊标志位或第二通信协议中的异常。
在此指出,本实施例是上一I2C通信总线监测调试设备的实施例对应的I2C通信总线监测调试方法的实施例,在I2C通信总线监测调试设备实施例中公开的内容在本方法实施例中同样适用,为了避免重复,在此不予赘述。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (10)

1.一种I2C通信总线监测调试设备,并联于I2C通信总线,其特征在于,包括:
接口模块,用于提供I/O接口,以与I2C通信总线相连接;
信息提取模块,用于提取I2C通信总线中的SDA数据线的电位变化信息及SCL时钟线的电位变化信息;
总线状态转换模块,与所述信息提取模块连接,将I2C通信总线中的SDA数据线、SCL时钟线的电位变化信息转换为I2C通信总线状态信息;
处理模块,与所述总线状态转换模块连接,用于对包括所述I2C通信总线状态信息的通信协议进行解析,并提取I2C通信总线的异常;
通信模块,用于传输解析后的通信协议及所述异常。
2.根据权利要求1所述的I2C通信总线监测调试设备,其特征在于,所述通信模块采用的接口为USB接口、串口、或者以太网网口。
3.根据权利要求1或2所述的I2C通信总线监测调试设备,其特征在于,还包括:
存储模块,与所述处理模块连接,用于存储预设数量的解析后的通信协议及所述异常。
4.根据权利要求1所述的I2C通信总线监测调试设备,其特征在于,还包括:
判断模块,与所述总线状态转换模块连接,用于对I2C通信总线的时序及I2C通信总线状态信息进行记录,并判断I2C通信总线的时序及I2C通信总线状态信息是否正常。
5.根据权利要求1所述的I2C通信总线监测调试设备,其特征在于,所述处理模块,还用于:
当I2C通信总线状态信息正常时,对产生的第一状态结果的波形内容进行分析与提取,解析特殊标志位及第一通信协议;
当I2C通信总线状态信息异常时,对产生的第二状态结果的波形内容进行分析与提取,解析特殊标志位或第二通信协议中的异常。
6.一种I2C通信总线监测调试方法,应用于上述权利要求1-5任一项所述的监测调试设备,其特征在于,包括:
将监测调试设备与I2C通信总线通过I/O接口连接;
提取I2C通信总线中的SDA数据线电位变化信息、SCL时钟线电位变化信息;
将I2C通信总线中的SDA数据线电位变化信息、SCL时钟线电位变化信息转化为I2C通信总线状态信息;
对包括所述I2C通信总线状态信息的通信协议进行解析,并提取I2C通信总线的异常;
传输解析后的通信协议及所述异常。
7.根据权利要求6所述方法,其特征在于,所述传输解析后的通信协议及所述异常,包括:
通过USB接口、串口或者以太网网口,传输解析后的通信协议及所述异常。
8.根据权利要求6或7所述的方法,其特征在于,还包括:
存储预设数量的解析后的通信协议及所述异常。
9.根据权利要求6所述的方法,其特征在于,还包括:
对I2C通信总线的时序及I2C通信总线状态信息进行记录,并判断I2C通信总线的时序及I2C通信总线状态信息是否正常。
10.根据权利要求6所述的方法,其特征在于,所述对包括所述I2C通信总线状态信息的通信协议进行解析,并提取I2C通信总线的异常,包括:
当I2C通信总线状态信息正常时,对产生的第一状态结果的波形内容进行分析与提取,解析特殊标志位及第一通信协议;
当I2C通信总线状态信息异常时,对产生的第二状态结果的波形内容进行分析与提取,解析特殊标志位或第二通信协议中的异常。
CN202110374157.0A 2021-04-07 2021-04-07 一种i2c通信总线监测调试设备及方法 Pending CN112965929A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110374157.0A CN112965929A (zh) 2021-04-07 2021-04-07 一种i2c通信总线监测调试设备及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110374157.0A CN112965929A (zh) 2021-04-07 2021-04-07 一种i2c通信总线监测调试设备及方法

Publications (1)

Publication Number Publication Date
CN112965929A true CN112965929A (zh) 2021-06-15

Family

ID=76281452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110374157.0A Pending CN112965929A (zh) 2021-04-07 2021-04-07 一种i2c通信总线监测调试设备及方法

Country Status (1)

Country Link
CN (1) CN112965929A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116719403A (zh) * 2023-08-08 2023-09-08 苏州浪潮智能科技有限公司 一种vr电源异常状态的修复方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019871A (zh) * 2012-12-31 2013-04-03 四川迪佳通电子有限公司 一种i2c总线的防死锁系统及其防死锁方法
CN107562668A (zh) * 2017-08-31 2018-01-09 广东欧珀移动通信有限公司 总线死锁恢复系统和方法
CN107766200A (zh) * 2017-09-22 2018-03-06 郑州云海信息技术有限公司 一种i2c总线监控系统及监控方法
CN111176952A (zh) * 2019-12-31 2020-05-19 山东英信计算机技术有限公司 一种i2c通道的监测方法、监测系统及相关装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019871A (zh) * 2012-12-31 2013-04-03 四川迪佳通电子有限公司 一种i2c总线的防死锁系统及其防死锁方法
CN107562668A (zh) * 2017-08-31 2018-01-09 广东欧珀移动通信有限公司 总线死锁恢复系统和方法
CN107766200A (zh) * 2017-09-22 2018-03-06 郑州云海信息技术有限公司 一种i2c总线监控系统及监控方法
CN111176952A (zh) * 2019-12-31 2020-05-19 山东英信计算机技术有限公司 一种i2c通道的监测方法、监测系统及相关装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116719403A (zh) * 2023-08-08 2023-09-08 苏州浪潮智能科技有限公司 一种vr电源异常状态的修复方法、装置、设备及介质
CN116719403B (zh) * 2023-08-08 2024-02-09 苏州浪潮智能科技有限公司 一种vr电源异常状态的修复方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN112148515B (zh) 一种故障定位方法、系统、装置、介质和设备
US20030220999A1 (en) Method and apparatus for storing data and replaying stored data in a temporally accurate manner
US5649129A (en) GPIB system including controller and analyzer
TW201514708A (zh) I 2 c匯流排監控裝置
CN106547653A (zh) 计算机系统故障状态检测方法、装置及系统
US5473757A (en) I/O controller using single data lines for slot enable/interrupt signals and specific circuit for distinguishing between the signals thereof
CN112965929A (zh) 一种i2c通信总线监测调试设备及方法
CN101119224B (zh) 基于atca机架的fru调试和测试装置
CN114281624A (zh) 一种i2c信号完整性的测试方法、系统、装置及设备
CN113536658B (zh) 基于stm32嵌入式处理器的机电设备轻量化故障诊断方法
CN117278890B (zh) 光模块访问方法、装置、系统、电子设备及可读存储介质
WO2016184170A1 (zh) Smi接口器件的调试装置及方法、存储介质
CN113204456A (zh) 一种服务器vpp接口的测试方法、治具、装置及设备
CN106502911A (zh) 多终端接入装置
CN101441590A (zh) 主板故障诊断装置和方法及主板监测装置和方法
CN100498732C (zh) 通用串行总线装置的测试系统及其方法
CN215642683U (zh) I2c总线数据传输监测装置
CN200941625Y (zh) 基于atca机架的fru调试和测试装置
US5649123A (en) GPIB system with improved parallel poll response detection
EP0569128A2 (en) Extended high-speed testing of microprocessor-based devices
CN112596983A (zh) 一种服务器内连接器的监测方法
KR0146519B1 (ko) 컴퓨터 시스템의 인터럽트 버스 데이타 패턴 추출장치
CN214333861U (zh) 一种故障信号采集电路及其采集器
CN220543351U (zh) 一种fpga原型验证的信号监控装置
CN112599179B (zh) 一种并行的flash寿命测试装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination