CN113849443A - I2c总线信号解析方法、系统、终端及存储介质 - Google Patents
I2c总线信号解析方法、系统、终端及存储介质 Download PDFInfo
- Publication number
- CN113849443A CN113849443A CN202110929402.XA CN202110929402A CN113849443A CN 113849443 A CN113849443 A CN 113849443A CN 202110929402 A CN202110929402 A CN 202110929402A CN 113849443 A CN113849443 A CN 113849443A
- Authority
- CN
- China
- Prior art keywords
- signal
- potential state
- data
- change
- bus
- 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.)
- Withdrawn
Links
- 238000004458 analytical method Methods 0.000 title abstract description 21
- 230000008859 change Effects 0.000 claims abstract description 110
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000000630 rising effect Effects 0.000 claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 23
- 238000012544 monitoring process Methods 0.000 claims abstract description 19
- 230000008054 signal transmission Effects 0.000 claims abstract description 12
- 230000004069 differentiation Effects 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 230000006854 communication Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000003466 welding Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- WABPQHHGFIMREM-UHFFFAOYSA-N lead(0) Chemical compound [Pb] WABPQHHGFIMREM-UHFFFAOYSA-N 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dc Digital Transmission (AREA)
Abstract
本发明提供一种I2C总线信号解析方法、系统、终端及存储介质,包括:提取I2C总线信号的时钟信号和数据信号;解析出时钟信号的第一电位状态和数据信号的第二电位状态,所述第一电位状态和第二电位状态均用于指示信号电压的上升沿、下降沿、低电平和高电平;监控第一电位状态的第一变化情况和第二电位状态的第二变化情况;基于I2C总线的信号传输规律,根据第一变化情况和第二变化情况将I2C总线信号转换为16进制字符串。本发明无需在硬件链路焊接协议分析仪的引线,不会影响传输信号的质量,且无需购买额外的证书,降低了I2C总线信号解析的成本和便捷程度。
Description
技术领域
本发明涉及服务器通信技术领域,具体涉及一种I2C总线信号解析方法、系统、终端及存储介质。
背景技术
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。只需要两根线即可在连接于总线上的器件之间传送信息,I2C总线目前广泛应用于一些智能控制电路,LCD驱动器、远程IO口、RAM、EEPROM等通用电路以及收音机和视频系统的数字调谐和信号处理电路等等。I2C总线的基本工作原理:以启动信号START来掌管总线,以停止信号STOP来释放总线;每次通讯以START开始,以STOP结束;启动信号START后紧接着发送一个地址字节,其中7位为被控器件的地址码,一位为读/写控制位R/W,R./W位为0表示由主控向被控器件写数据,R/W为1表示由主控向被控器件读数据;当被控器件检测到收到的地址与自己的地址相同时,在第9个时钟期间反馈应答信号;每个数据字节在传送时都是高位(MSB)在前。
所有符合I2C总线的器件组合了一个片上接口,使器件之间直接通过I2C总线通讯,因此在硬件电路上实现I2C总线非常方便,而且出现问题的概率很低。当不同器件之间通过I2C进行通讯时,程序代码有时无法处理所有可能出现的情况,需要对器件之间传输的I2C数据进行协议解析,找到出现问题的根因。
目前针对I2C协议解析的方法有协议分析仪以及示波器的协议分析功能,协议分析仪可以对I2C数据进行协议解析,但是无法发现信号波形质量上出现的问题,示波器上的协议解析功能需要额外的证书才能使用,成本较高。协议分析仪需要将引线焊接在硬件链路上,会对信号质量产生影响,并且无法发现信号质量的问题。示波器的协议解析功能需要购买额外的证书,增加成本。
发明内容
针对现有I2C总线协议信号解析方法存在的需要在硬件链路焊接引线影响信号质量以及专业的协议解析示波器成本较高的问题,本发明提供一种I2C总线信号解析方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种I2C总线信号解析方法,包括:
提取I2C总线信号的时钟信号和数据信号;
解析出时钟信号的第一电位状态和数据信号的第二电位状态,所述第一电位状态和第二电位状态均用于指示信号电压的上升沿、下降沿、低电平和高电平;
监控第一电位状态的第一变化情况和第二电位状态的第二变化情况;
基于I2C总线的信号传输规律,根据第一变化情况和第二变化情况将I2C总线信号转换为16进制字符串。
进一步的,解析出时钟信号的第一电位状态和数据信号的第二电位状态,包括:
利用求微分函数分别对时钟信号和数据信号的实时电压值曲线求微分,若微分结果为正,则判定对应的电位状态为上升沿;若微分结果为负,则判定对应的电位状态为下降沿;若微分结果为0,则判定对应的电位状态为低电平或高电平。
进一步的,若微分结果为0,则判定对应的电位状态为低电平或高电平,包括:
若微分结果为0,则判断信号电位是否大于预设电位阈值:
若是,则判定对应的电位状态为高电平;
若否,则判定对应的电位状态为低电平。
进一步的,监控第一电位状态的第一变化情况和第二电位状态的第二变化情况,包括:
定期采集第一电位状态和第二电位状态,根据采集时间顺序生成第一电位状态的第一时间序列和第二电位状态的第二时间序列;
分别标记第一时间序列和第二时间序列中的电位状态变化节点和对应的时间段,并将标记后的第一时间序列和第二时间序列作为第一变化情况和第二变化情况输出。
进一步的,基于I2C总线的信号传输规律,根据第一变化情况和第二变化情况将I2C总线信号转换为16进制字符串,包括:
若同时段内第一变化情况为保持高电平,第二变化情况为从高电平变为低电平,则判定当前时段为数据开始传输时间;
若同时段内第一变化情况为保持高电平,第二变化情况为从低电平变为高电平,则判定当前时段为数据传输结束的时间;
若同时段内,第一变化情况为保持上升沿,第二变化情况为保持高电平,则判定当前时段内传输的数据为1;
若若同时段内,第一变化情况为保持上升沿,第二变化情况为保持低电平,则判定当前时段内传输的数据为0;
将根据第一变化情况和第二变化情况得到的判定结果按时间顺序整合汇总,得到16进制字符串。
进一步的,将根据第一变化情况和第二变化情况得到的判定结果按时间顺序整合汇总,得到16进制字符串,包括:
从数据开始传输时间作为开始节点,将字符串中的每8位数据作为一个数据包,并将第9位数据作为确认字符。
第二方面,本发明提供一种I2C总线信号解析系统,包括:
信号提取单元,用于提取I2C总线信号的时钟信号和数据信号;
状态解析单元,用于解析出时钟信号的第一电位状态和数据信号的第二电位状态,所述第一电位状态和第二电位状态均用于指示信号电压的上升沿、下降沿、低电平和高电平;
状态监控单元,用于监控第一电位状态的第一变化情况和第二电位状态的第二变化情况;
信号转换单元,用于基于I2C总线的信号传输规律,根据第一变化情况和第二变化情况将I2C总线信号转换为16进制字符串。
进一步的,所述状态解析单元用于:
利用求微分函数分别对时钟信号和数据信号的实时电压值曲线求微分,若微分结果为正,则判定对应的电位状态为上升沿;若微分结果为负,则判定对应的电位状态为下降沿;若微分结果为0,则判定对应的电位状态为低电平或高电平。
进一步的,所述状态解析单元还用于:
若微分结果为0,则判断信号电位是否大于预设电位阈值:
若是,则判定对应的电位状态为高电平;
若否,则判定对应的电位状态为低电平。
进一步的,状态监控单元用于:
定期采集第一电位状态和第二电位状态,根据采集时间顺序生成第一电位状态的第一时间序列和第二电位状态的第二时间序列;
分别标记第一时间序列和第二时间序列中的电位状态变化节点和对应的时间段,并将标记后的第一时间序列和第二时间序列作为第一变化情况和第二变化情况输出。
进一步的,信号转换单元用于:
若同时段内第一变化情况为保持高电平,第二变化情况为从高电平变为低电平,则判定当前时段为数据开始传输时间;
若同时段内第一变化情况为保持高电平,第二变化情况为从低电平变为高电平,则判定当前时段为数据传输结束的时间;
若同时段内,第一变化情况为保持上升沿,第二变化情况为保持高电平,则判定当前时段内传输的数据为1;
若若同时段内,第一变化情况为保持上升沿,第二变化情况为保持低电平,则判定当前时段内传输的数据为0;
将根据第一变化情况和第二变化情况得到的判定结果按时间顺序整合汇总,得到16进制字符串。
进一步的,信号转换单元用于:
从数据开始传输时间作为开始节点,将字符串中的每8位数据作为一个数据包,并将第9位数据作为确认字符。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的I2C总线信号解析方法、系统、终端及存储介质,提取I2C总线信号的时钟信号和数据信号;解析出时钟信号和数据信号的电位状态;进一步持续监控时钟信号和数据信号的电位状态的变化情况;基于I2C总线的信号传输规律,根据监控时钟信号和数据信号的电位状态的变化情况将I2C总线信号转换为16进制字符串。本发明通过示波器来采集I2C通信数据,利用数学分析的方法将波形的上升沿下降沿以及高低电平用数字进行标识,然后将其转化为十六进制的字符串,从而实现对I2C总线信号的逻辑解析,本发明无需在硬件链路焊接协议分析仪的引线,不会影响传输信号的质量,且无需购买额外的证书,降低了I2C总线信号解析的成本和便捷程度。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的系统的示意性框图。
图3为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面对本发明中出现的关键术语进行解释。
ACK的全称为Acknowledge character,即确认字符,表示接收到的字符无错误。接收站对所收到的报文进行检查,若未发现错误,便向发送站发出确认回答ACK,表明信息已被正确接收,并准备好接收下一份报文。该控制字符可由中心结点发送,也可由远地结点发送。其格式取决于采取的网络协议。当发送方接收到ACK信号时,就可以发送下一个数据。如果发送方没有收到信号,那么发送方可能会重发当前的数据包,也可能停止传送数据。具体情况取决于所采用的网络协议。1、TCP报文格式中的控制位由6个标志比特构成,其中一个就是ACK,ACK为1表示确认号有效,为0表示报文中不包含确认信息,忽略确认号字段。2、ACK也可用于AT24cxx这一系列的EEPROM中。3、在USB传输中,ACK事务包用来向主机/设备报告包正确的传输。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种种I2C总线信号解析系统。
如图1所示,该方法包括:
步骤110,提取I2C总线信号的时钟信号和数据信号;
步骤120,解析出时钟信号的第一电位状态和数据信号的第二电位状态,所述第一电位状态和第二电位状态均用于指示信号电压的上升沿、下降沿、低电平和高电平;
步骤130,监控第一电位状态的第一变化情况和第二电位状态的第二变化情况;
步骤140,基于I2C总线的信号传输规律,根据第一变化情况和第二变化情况将I2C总线信号转换为16进制字符串。
为了便于对本发明的理解,下面以本发明种I2C总线信号解析方法的原理,结合实施例中对种I2C总线信号进行解析的过程,对本发明提供的种I2C总线信号解析方法做进一步的描述。
具体的,所述种I2C总线信号解析方法包括:
S1、提取I2C总线信号的时钟信号和数据信号。
使用示波器的两个通道分别获取I2C总线信号的SCL(时钟信号)以及SDA(数据信号)的电压值。示波器获取SCL(时钟信号)以及SDA(数据信号)的电压值是其自带功能,连接示波器的控制芯片,读取示波器获取的获取的SCL(时钟信号)以及SDA(数据信号)的电压值即可。
S2、解析出时钟信号的第一电位状态和数据信号的第二电位状态,所述第一电位状态和第二电位状态均用于指示信号电压的上升沿、下降沿、低电平和高电平。
利用求微分函数分别对时钟信号和数据信号的实时电压值曲线求微分,若微分结果为正,则判定对应的电位状态为上升沿;若微分结果为负,则判定对应的电位状态为下降沿;若微分结果为0,则判定对应的电位状态为低电平或高电平。若微分结果为0,则判断信号电位是否大于预设电位阈值:若是,则判定对应的电位状态为高电平;若否,则判定对应的电位状态为低电平。
分别对时钟信号SCL以及数据信号SDA求微分,时钟信号SCL和数据信号SDA均为随时间变化的电压值曲线,即曲线纵坐标为电压值,横坐标为时间。两种信号的微分处理方法相同,均为:如果微分结果为正,则为上升沿,如果微分结果为负,则为下降沿;微分结果为0为高电平或者低电平状态。本实施例中设置高电平阈值为0.7Vdd,设置低电平阈值为0.3Vdd,如果电压值大于0.7Vdd,则为高电平,记为1,如果电压值小于0.3Vdd,则为低电平,记为0。
S3、监控第一电位状态的第一变化情况和第二电位状态的第二变化情况。
定期采集第一电位状态和第二电位状态,根据采集时间顺序生成第一电位状态的第一时间序列和第二电位状态的第二时间序列;分别标记第一时间序列和第二时间序列中的电位状态变化节点和对应的时间段,并将标记后的第一时间序列和第二时间序列作为第一变化情况和第二变化情况输出。
以时钟信号为例进行说明,其第一时间序列例如:高电平(t0-t1)、下降沿(t1-t2)、低电平(t2-t3),标记t1和t2两个时间点。
由此可以直观地表现出时钟信号的电位状态随时间的变化。
S4、基于I2C总线的信号传输规律,根据第一变化情况和第二变化情况将I2C总线信号转换为16进制字符串。
若同时段内第一变化情况为保持高电平,第二变化情况为从高电平变为低电平,则判定当前时段为数据开始传输时间;若同时段内第一变化情况为保持高电平,第二变化情况为从低电平变为高电平,则判定当前时段为数据传输结束的时间;若同时段内,第一变化情况为保持上升沿,第二变化情况为保持高电平,则判定当前时段内传输的数据为1;若若同时段内,第一变化情况为保持上升沿,第二变化情况为保持低电平,则判定当前时段内传输的数据为0;将根据第一变化情况和第二变化情况得到的判定结果按时间顺序整合汇总,得到16进制字符串。从数据开始传输时间作为开始节点,将字符串中的每8位数据作为一个数据包,并将第9位数据作为确认字符。
I2C总线的信号传输规律解释:SDA表示数据线,SCL标识控制线,SCL\SDA是I2C总线的信号线。SDA是双向数据线,SCL是时钟线,SCL在I2C总线上传送数据,首先送最高位,由主机发出启动信号;SDA在SCL高电平期间由高电平跳变为低电平,然后由主机发送一个字节的数据。数据传送完毕,由主机发出停止信号,SDA在SCL高电平期间由低电平跳变为高电平。
具体的,当时钟信号SCL为高电平并且数据信号SDA从高电平变为低电平时,记为数据开始传输的时刻,当时钟信号SCL为高电平并且数据信号SDA从低电平变为高电平时,记为数据传输结束的时刻;当时钟信号SCL为上升沿并且数据信号SDA稳定在高电平时,传输的数据为1,当时钟信号SCL为上升沿并且数据信号SDA稳定在低电平时,传输的数据为0,从起始时刻开始,每8位数据为一个数据包,第9位数据为ACK信号。
I2C总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。
开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。
应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。
判断解析出的字符串是否符合上述三种信号规则,从而发现器件通信过程中出现的问题,继而保证器件之间能够通过I2C进行正常通信。
如图2所示,该系统200包括:
信号提取单元210,用于提取I2C总线信号的时钟信号和数据信号;
状态解析单元220,用于解析出时钟信号的第一电位状态和数据信号的第二电位状态,所述第一电位状态和第二电位状态均用于指示信号电压的上升沿、下降沿、低电平和高电平;
状态监控单元230,用于监控第一电位状态的第一变化情况和第二电位状态的第二变化情况;
信号转换单元240,用于基于I2C总线的信号传输规律,根据第一变化情况和第二变化情况将I2C总线信号转换为16进制字符串。
可选地,作为本发明一个实施例,所述状态解析单元用于:
利用求微分函数分别对时钟信号和数据信号的实时电压值曲线求微分,若微分结果为正,则判定对应的电位状态为上升沿;若微分结果为负,则判定对应的电位状态为下降沿;若微分结果为0,则判定对应的电位状态为低电平或高电平。
可选地,作为本发明一个实施例,所述状态解析单元还用于:
若微分结果为0,则判断信号电位是否大于预设电位阈值:
若是,则判定对应的电位状态为高电平;
若否,则判定对应的电位状态为低电平。
可选地,作为本发明一个实施例,状态监控单元用于:
定期采集第一电位状态和第二电位状态,根据采集时间顺序生成第一电位状态的第一时间序列和第二电位状态的第二时间序列;
分别标记第一时间序列和第二时间序列中的电位状态变化节点和对应的时间段,并将标记后的第一时间序列和第二时间序列作为第一变化情况和第二变化情况输出。
可选地,作为本发明一个实施例,信号转换单元用于:
若同时段内第一变化情况为保持高电平,第二变化情况为从高电平变为低电平,则判定当前时段为数据开始传输时间;
若同时段内第一变化情况为保持高电平,第二变化情况为从低电平变为高电平,则判定当前时段为数据传输结束的时间;
若同时段内,第一变化情况为保持上升沿,第二变化情况为保持高电平,则判定当前时段内传输的数据为1;
若若同时段内,第一变化情况为保持上升沿,第二变化情况为保持低电平,则判定当前时段内传输的数据为0;
将根据第一变化情况和第二变化情况得到的判定结果按时间顺序整合汇总,得到16进制字符串。
可选地,作为本发明一个实施例,信号转换单元用于:
从数据开始传输时间作为开始节点,将字符串中的每8位数据作为一个数据包,并将第9位数据作为确认字符。
图3为本发明实施例提供的一种终端300的结构示意图,该终端300可以用于执行本发明实施例提供的I2C总线信号解析方法。
其中,该终端300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明提取I2C总线信号的时钟信号和数据信号;解析出时钟信号和数据信号的电位状态;进一步持续监控时钟信号和数据信号的电位状态的变化情况;基于I2C总线的信号传输规律,根据监控时钟信号和数据信号的电位状态的变化情况将I2C总线信号转换为16进制字符串。本发明通过示波器来采集I2C通信数据,利用数学分析的方法将波形的上升沿下降沿以及高低电平用数字进行标识,然后将其转化为十六进制的字符串,从而实现对I2C总线信号的逻辑解析,本发明无需在硬件链路焊接协议分析仪的引线,不会影响传输信号的质量,且无需购买额外的证书,降低了I2C总线信号解析的成本和便捷程度,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种I2C总线信号解析方法,其特征在于,包括:
提取I2C总线信号的时钟信号和数据信号;
解析出时钟信号的第一电位状态和数据信号的第二电位状态,所述第一电位状态和第二电位状态均用于指示信号电压的上升沿、下降沿、低电平和高电平;
监控第一电位状态的第一变化情况和第二电位状态的第二变化情况;
基于I2C总线的信号传输规律,根据第一变化情况和第二变化情况将I2C总线信号转换为16进制字符串。
2.根据权利要求1所述的方法,其特征在于,解析出时钟信号的第一电位状态和数据信号的第二电位状态,包括:
利用求微分函数分别对时钟信号和数据信号的实时电压值曲线求微分,若微分结果为正,则判定对应的电位状态为上升沿;若微分结果为负,则判定对应的电位状态为下降沿;若微分结果为0,则判定对应的电位状态为低电平或高电平。
3.根据权利要求2所述的方法,其特征在于,若微分结果为0,则判定对应的电位状态为低电平或高电平,包括:
若微分结果为0,则判断信号电位是否大于预设电位阈值:
若是,则判定对应的电位状态为高电平;
若否,则判定对应的电位状态为低电平。
4.根据权利要求3所述的方法,其特征在于,监控第一电位状态的第一变化情况和第二电位状态的第二变化情况,包括:
定期采集第一电位状态和第二电位状态,根据采集时间顺序生成第一电位状态的第一时间序列和第二电位状态的第二时间序列;
分别标记第一时间序列和第二时间序列中的电位状态变化节点和对应的时间段,并将标记后的第一时间序列和第二时间序列作为第一变化情况和第二变化情况输出。
5.根据权利要求3所述的方法,其特征在于,基于I2C总线的信号传输规律,根据第一变化情况和第二变化情况将I2C总线信号转换为16进制字符串,包括:
若同时段内第一变化情况为保持高电平,第二变化情况为从高电平变为低电平,则判定当前时段为数据开始传输时间;
若同时段内第一变化情况为保持高电平,第二变化情况为从低电平变为高电平,则判定当前时段为数据传输结束的时间;
若同时段内,第一变化情况为保持上升沿,第二变化情况为保持高电平,则判定当前时段内传输的数据为1;
若若同时段内,第一变化情况为保持上升沿,第二变化情况为保持低电平,则判定当前时段内传输的数据为0;
将根据第一变化情况和第二变化情况得到的判定结果按时间顺序整合汇总,得到16进制字符串。
6.根据权利要求5所述的方法,其特征在于,将根据第一变化情况和第二变化情况得到的判定结果按时间顺序整合汇总,得到16进制字符串,包括:
从数据开始传输时间作为开始节点,将字符串中的每8位数据作为一个数据包,并将第9位数据作为确认字符。
7.一种I2C总线信号解析系统,其特征在于,包括:
信号提取单元,用于提取I2C总线信号的时钟信号和数据信号;
状态解析单元,用于解析出时钟信号的第一电位状态和数据信号的第二电位状态,所述第一电位状态和第二电位状态均用于指示信号电压的上升沿、下降沿、低电平和高电平;
状态监控单元,用于监控第一电位状态的第一变化情况和第二电位状态的第二变化情况;
信号转换单元,用于基于I2C总线的信号传输规律,根据第一变化情况和第二变化情况将I2C总线信号转换为16进制字符串。
8.根据权利要求7所述的系统,其特征在于,所述状态解析单元用于:
利用求微分函数分别对时钟信号和数据信号的实时电压值曲线求微分,若微分结果为正,则判定对应的电位状态为上升沿;若微分结果为负,则判定对应的电位状态为下降沿;若微分结果为0,则判定对应的电位状态为低电平或高电平。
9.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-6任一项所述的方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110929402.XA CN113849443A (zh) | 2021-08-13 | 2021-08-13 | I2c总线信号解析方法、系统、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110929402.XA CN113849443A (zh) | 2021-08-13 | 2021-08-13 | I2c总线信号解析方法、系统、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113849443A true CN113849443A (zh) | 2021-12-28 |
Family
ID=78975430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110929402.XA Withdrawn CN113849443A (zh) | 2021-08-13 | 2021-08-13 | I2c总线信号解析方法、系统、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113849443A (zh) |
-
2021
- 2021-08-13 CN CN202110929402.XA patent/CN113849443A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105068966B (zh) | 串口自动识别方法 | |
US10396921B2 (en) | Multi-lane synchronization method, synchronization apparatus and system, and computer storage medium | |
CN111177060B (zh) | 串口数据发送方法、接收方法、相应装置及终端设备 | |
EP3547577B1 (en) | Data transmission method and terminal | |
CN105446837A (zh) | 检测iic接口器件是否连接的方法、装置以及系统 | |
CN106788888A (zh) | 弱网络环境下提高安卓移动终端通信成功率的方法及系统 | |
JPS6113846A (ja) | データフオーマツト検出装置 | |
CN114040446A (zh) | 一种信息间耦合校验的方法及装置 | |
CN113849443A (zh) | I2c总线信号解析方法、系统、终端及存储介质 | |
CN114095300B (zh) | 自适应速率的数据读写方法及设备 | |
CN112147918B (zh) | 基于arm+fpga+dsp架构的异步数据交互方法及系统 | |
CN112312396B (zh) | 一种NoC追踪数据的生成方法及相关装置 | |
CN114253879A (zh) | 一种基于软件模拟的多通道串口通信方法及系统 | |
CN108509365B (zh) | 一种dbi的数据传输方法及系统 | |
EP0405041B1 (en) | Terminal adapter having a multiple HDLC communication channels receiver for processing control network management frames | |
CN110120987B (zh) | 一种WiFi连接方法及装置 | |
CN116192998B (zh) | 一种解码功率传输协议信息包的方法、装置及设备 | |
CN109802761B (zh) | 一种故障识别方法及装置 | |
CN106877974B (zh) | 数据传输方法及装置 | |
CN109474707B (zh) | 基于串口协议的二层协议设计及数据传输方法及系统 | |
CN112019318B (zh) | 提高设备通信可靠性的方法 | |
CN110505038B (zh) | 一种数据传输方法及相关装置 | |
CN107786309A (zh) | 一种免时钟同步的芯片数据传输方法、系统及电子设备 | |
CN114706717A (zh) | 错误信息记录方法和装置、电子设备、存储介质 | |
CN112751873A (zh) | 蓝牙midi数据转换方法、电路及存储介质 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211228 |