CN112860495A - 一种i2c从设备的调试方法、i2c主设备及存储介质 - Google Patents
一种i2c从设备的调试方法、i2c主设备及存储介质 Download PDFInfo
- Publication number
- CN112860495A CN112860495A CN201911101111.0A CN201911101111A CN112860495A CN 112860495 A CN112860495 A CN 112860495A CN 201911101111 A CN201911101111 A CN 201911101111A CN 112860495 A CN112860495 A CN 112860495A
- Authority
- CN
- China
- Prior art keywords
- slave device
- time sequence
- test
- slave
- read
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012360 testing method Methods 0.000 claims abstract description 173
- 238000010801 machine learning Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 8
- 238000004891 communication Methods 0.000 abstract description 4
- 238000001514 detection method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例涉及通信领域,公开了一种I2C从设备的调试方法、I2C主设备及存储介质。本发明中,在预获取的I2C从设备的适用时钟频率范围中选取至少一个测试频率;根据测试频率和预获取的时序模板,确定I2C从设备的访问控制时序,通过主设备自动获取总线上各I2C从设备的适用时钟频率范围,并在适用频率范围内选取测试频率,结合获取的时序模板,自动确定出I2C从设备的访问控制时序,借助主设备的自动选取和调试,高效准确的得到I2C从设备的访问控制时序,避免了调试过程中耗时过长和控制不准确的问题。
Description
技术领域
本发明实施例涉及通信领域,特别涉及一种I2C从设备的调试方法、I2C主设备及存储介质。
背景技术
I2C(Inter-Integrated Circuit)是PHILIPS公司开发的一种双向同步串行总线,由一根串行时钟总线(SCK)和一根串行数据总线(SDA)组成,由于I2C总线具有信号线少、操作简单方便等优点,现在被广泛应用于电子通讯等领域。
一般情况下,一个I2C总线上会存在多个I2C设备,每个I2C设备都可以作为主设备对其它I2C设备(从设备)进行操作和访问,在访问过程中,其中作为主设备的I2C设备,需要提供时钟信号(CLK)并向I2C从设备按特定时序发送相关的控制信号,而从设备则根据主设备提供的时钟信号对主设备发送的控制信号进行响应,总的来说,主从设备间的通讯,是一个将时钟信号、Start信号、Stop信号以及ACK信号有机组织的一系列时序操作过程,现有技术中采用的方法是,针对每一个I2C从设备,都需要人工按照不同的时钟频率和时序组合创建I2C从设备的访问控制时序,并根据创建的访问控制时序逐一对从设备进行调试与验证。
发明内容
本发明实施方式的目的在于提供一种I2C从设备的调试方法、I2C主设备及存储介质,主设备根据预获取的I2C从设备的适用时钟频率范围,选取至少一个测试频率,并结合选取的测试频率与预获取的时序模板对I2C从设备进行功能测试,确定I2C从设备的控制时序,即主设备可以自动确定I2C从设备的控制时序,实现了对I2C从设备高效、准确的调试。
为解决上述技术问题,本发明的实施方式提供了一种I2C从设备的调试方法,包括以下步骤:在预获取的I2C从设备的适用时钟频率范围中选取至少一个测试频率;根据测试频率和预获取的时序模板,确定I2C从设备的访问控制时序。
本发明的实施方式还提供了一种I2C主设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的I2C从设备的调试方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述I2C从设备的调试方法。
本发明实施方式相对于现有技术而言,主设备自动获取总线上各I2C从设备的适用时钟频率范围,在适用频率范围内选取测试频率,结合获取的时序模板,自动确定出I2C从设备的访问控制时序,通过主设备的自动选取和测试,高效准确的得到I2C从设备的访问控制时序,避免了由于人工调试过程带来的耗时较长和控制不准确的问题。
另外,根据测试频率和预获取的时序模板,确定I2C从设备的访问控制时序,包括:根据测试频率和预获取的时序模板对I2C从设备进行读写测试,并将读写的测试结果为通过时采用的测试频率和时序模板确定为I2C从设备的访问控制时序。通过将读写测试的结果为通过的时序模板和测试频率确定为I2C从设备的访问控制时序,保证了得到的访问控制时序的准确性。
另外,根据预获取的时序模板与测试频率对I2C从设备的读写测试都无法成功时,获取通过机器学习生成的新的时序模板,根据获取到的时序模板和测试频率对I2C从设备进行读写测试,并将读写测试结果为通过时采用的测试频率和时序模板确定为I2C从设备的访问控制时序,在预获取的时序模板和测试频率确定的访问控制时序在对I2C从设备的读写测试中都无法成功时,通过机器学习,生成新的时序模板,并确定能够成功对I2C从设备进行读写的访问控制时序,通过机器学习生成新的时序模板和访问控制时序,避免了预获取的时序模板无法满足I2C从设备的调试需求,保证了能够准确的得到I2C从设备访问控制时序。
另外,根据预获取的时序模板与测试频率对I2C从设备的读写测试都无法成功时,获取根据用户输入的I2C从设备参数生成的新的时序模板,根据获取到的时序模板和测试频率对I2C从设备进行读写测试,并将读写测试结果为通过时采用的测试频率和时序模板确定为I2C从设备的访问控制时序,在根据预获取的时序模板和测试频率无法实现对I2C从设备进行成功的读写时,获取用户输入的I2C从设备参数,根据获取的参数生成新的时序模板,并确定能够成功对I2C从设备进行读写的访问控制时序,通过获取用户输入的参数生成时序模板和访问控制时序,保证了能够准确获取I2C从设备的访问控制时序。
另外,确定I2C从设备的访问控制时序包括,采用读写测试为通过时的测试频率和时序模板,对I2C从设备进行多次读写测试;将多次读写测试的正确率超过预设阈值时的测试频率和时序模板确定为I2C从设备的访问控制时序;在多次读写测试的正确率不超过预设阈值时,获取新的读写测试为通过时的测试频率和时序模板,重新进行多次读写测试,通过多次的读写测试和检测读写测试的正确率,保证了确定的访问控制时序能够满足I2C从设备访问控制中要求的准确性。
另外,在预获取的I2C从设备的适用时钟频率范围中选取至少一个测试频率,包括:在预设时钟频率范围内,以不同的时钟频率对不同地址上的I2C从设备进行检测,根据I2C从设备的做出响应的最高频率和最低频率,确定各地址上I2C从设备的适应时钟频率范围,并在I2C从设备的适用时钟频率范围中选取至少一个测试频率。通过向不同地址上的I2C从设备发送访问测试信息,并接收I2C从设备的应答,准确的确定I2C从设备的适用时钟频率范围。
另外,在预获取的I2C从设备的适用时钟频率范围中选取至少一个测试频率前,还包括:在预设时钟频率范围内,以不同的时钟频率向各地址发送地址请求指令,根据接收到的响应确定I2C从设备的地址;获取I2C从设备适用时钟频率范围时根据I2C从设备的地址进行检测。通过对I2C从设备的地址进行检测及确定,保证了能够准确获取各地址上I2C从设备的适用时钟频率范围。
另外,在预获取的I2C从设备的适用时钟频率范围中选取至少一个测试频率,包括:将I2C从设备的适用时钟频率范围按照预设比例分成三个时钟频率区间,并将各时钟频率区间的中点对应的时钟频率作为一个测试频率。通过按照预设的比例进行频率区间的分割,并从每个区间中选取一个测试频率,保证了测试频率能尽可能覆盖不同的频段,保证得出的访问控制时序能满足多数使用场景。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是根据本发明第一实施方式中的I2C从设备的调试方法流程图;
图2是根据本发明第一实施方式中的I2C从设备的调试方法中的地址传输示意图;
图3是根据本发明第一实施方式中的I2C从设备的调试方法中的时序组合示意图;
图4是根据本发明第二实施方式中的I2C从设备的调试方法流程图;
图5是根据本发明第二实施方式中的I2C从设备的调试方法中的调试方法子流程图;
图6是根据本发明第三实施方式中的I2C从设备的调试方法流程图;
图7是根据本发明第四实施方式中的I2C主设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施方式涉及一种I2C从设备的调试方法,通过主设备自动对每一个I2C从设备进行访问并接收I2C从设备的应答,获取I2C从设备的适用时钟频率范围并从中选取测试频率,结合预获取到的时序模板,得出I2C从设备的控制时序,通过主设备自动对I2C从设备进行检测和调试,大大调高了I2C从设备调试的效率以及得出的访问控制时序的准确性。
下面对本实施方式的I2C从设备的调试方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的I2C从设备的调试方法的流程图如图1所示,具体包括以下步骤:
步骤101,获取I2C总线上I2C从设备的地址。
具体地说,在I2C从设备的预设的时钟频率范围内,主设备以不同的时钟频率向总线上的指定地址或标准地址(7bit地址)发送地址请求指令,通过获取的应答,确定总线上I2C从设备的地址,在已知总线上存在未检测到的I2C从设备地址时,提示用户输入I2C从设备地址。
在一个例子中,在I2C设备适用的时钟频率的极限值组成的区间中(1ns~1s),选取常用的时钟频率如10ms,向总线上的标准地址(1~255)遍历发送start信号加上7位地址数据和1位读写标志组成的地址请求时序,并检测和接收I2C从设备的ACK信号(信息接收确认字符),根据接收到应答的地址信息,确定了总线上一个I2C从设备的地址为0x51,在主设备自动检测过程中,遍历的时钟频率和所有标准地址进行I2C从设备地址请求后,仍未检测到有I2C从设备时,提示用户输入I2C从设备的地址,根据用户输入的地址,确定总线上的I2C从设备。
在一个例子中,已知I2C从设备中包含有地址为九位地址的I2C从设备,则在向标准地址发送地址请求信息的同时,也向其余的九位的地址发送地址请求指令进行I2C从设备的检测,通过向九位地址中的所有地址遍历发送地址请求指令,接收I2C从设备的反馈确定I2C从设备的地址。若I2C从设备的地址为10bit的地址,需要向总线上的地址(1~2043)发送地址请求指令,发送地址请求信息的时候,主设备会将完整的地址分成两个字节进行发送,第一个字节为11110XX加一个读写标志位,XX为地址的高两位,地址的低八位由第二个字节进行发送,具体的示意图如图2所示。总线上特定地址的I2C从设备只有在接收到完全对应于自己所在位置的两个字节的完整消息时,才会发送确认收到的ACK信号供主设备确认该地址上有I2C从设备。
步骤102,获取I2C从设备适用时钟频率范围并选取测试频率。
具体地说,在I2C从设备的预设的时钟频率范围内,以变步长增长方式,向I2C从设备所在地址发送访问信号,对I2C从设备进行访问的检测,根据I2C从设备对主设备的访问信号有响应的最高时钟频率和最低时钟频率确定I2C从设备适用时钟频率范围;或者对于时钟频率已经指定的I2C从设备,直接使用设定的时钟频率发送地址请求指令。在确定下来的I2C从设备的适用时钟频率范围中,根据I2C从设备通常使用的时钟频率或者根据I2C从设备的使用场景,选取至少一个时钟频率作为测试频率。
在一个例子中,0x51所包含的I2C从设备适用的时钟频率已经预设为1微秒~10毫秒,直接在这个适用时钟频率范围内,根据变步长的方式,选取不同的时钟频率,1微秒、10微秒、500微秒、1毫秒、10毫秒这几个时钟频率,向总线上的I2C从设备所在的地址0x51发送访问指令对从设备进行检测,主设备发送访问信号后,检测从设备对主设备访问的响应给出的ACK信号,接收到从设备的ACK信号后,比较I2C从设备有响应的时钟频率之间的关系,对I2C从设备发生响应的最高频率和最低频率附近再进行一次相同原理的选点和检测,尽可能精确的获取I2C从设备的适用时钟频率范围。I2C从设备接收到主设备的指令时,最终确定I2C从设备对主设备的访问指令做出了应答的最高时钟频率为2微秒,最低时钟频率为5毫秒,那么这个I2C从设备的适用时钟频率范围确定为2微秒~2毫秒,在这个范围中,根据设备可能的应用和工作场景,将2微秒到5毫秒这个区间,分成2微秒到100微秒、100微秒到1000微秒、1000微秒到2000微秒三个区间,并选取50微秒、500微秒、1毫秒三个时钟频率作为高、中、低三个测试频率,从而尽可能保证最终确定的访问控制时序能够满足大多数的处理速度。
步骤103,获取时序模板并确定I2C从设备的访问控制时序。
具体地说,选取确定I2C从设备适用时钟频率范围并选取测试频率时,主设备还需要为I2C从设备确定与I2C从设备对应的正确的时序模板,结合测试频率对I2C从设备进行读写测试,将通过I2C从设备进行读写测试的时序模板和测试频率确定为I2C从设备的访问控制时序。
在一个例子中,确定好I2C从设备的适用频率后,主设备直接在自身的存储空间中读取预存的标准时序模板和一些特定的时序模板,将每一个时序模块分别与选择的测试频率结合,生成多个访问控制时序并且按照生成的多个访问控制时序,逐个对I2C从设备进行访问和读写测试,时序组合示意图如图3所示,其中,SCL、SD分别I2C串行始终总线的信号,start信号为SCL保持高电平期间,SDA由高跳转到低,stop信号为SCL保持高电平,SDA由低跳转到高,ACK信号为SCL保持高电平期间,SDA保持低电平,其中占据七位地址的ADDRES为I2C从设备地址,第8位地址存储的是读写标志,R为读取标志,W为写入标志,ACK信号后的DATA信号为读取或写入的信息。在写入阶段,在一个时序模板和测试频率结合生成的访问控制时序的控制下,向一个I2C从设备写入了字符串CBD,在读取的时候,读取到的信息为CB,此时,可以判断这个时序模板不能够通过读写测试,需要更换用于读写测试的时序模板和测试频率,并重新对I2C从设备进行写入和读取的测试,在所有测试频率结合同一个时序模板的控制下,检测到对I2C从设备写入和读取的信息是保持一致的,那么直接将时序模板和测试频率作为I2C从设备的访问控制时序。在所有的时序模板结合测试频率进行读写测试都无法成功的完成信息的写入和读取时,提示用户无法自适应生成访问控制时序。
由此,本实施方式提供了一种I2C从设备的调试方法,通过主设备自动寻找I2C从设备的适应频率范围,选取测试频率,并结合主设备通过读写测试结果,确定的适用于I2C从设备的时序模板,自动生成并准确确定针对I2C从设备的访问控制时序,极大的提高了I2C从设备的调试效率。
本发明的第二实施方式涉及一种I2C从设备的调试方法。第二实施方式与第一实施方式大致相同,主要区别之处在于:在通过所有读取的预存时序模板结合测试频率都无法有效的控制I2C从设备进行读写的时候,通过机器学习的方式,生成新的时序模板结合测试频率进行测试并确定访问控制时序,确保能够尽可能获取I2C从设备正确的访问控制时序,根据能够通过读写测试的时序模板和测试频率,对I2C从设备进行多次的读写,在读写正确率符合要求时,将时序模板和测试频率作为I2C从设备的访问控制时序。
本实施方式的具体流程图如图4所示,具体包括以下步骤:
步骤401,获取I2C总线上I2C从设备的地址。
步骤402,获取I2C从设备适用时钟频率范围并选取测试频率。
本实施方式中步骤401、402与第一实施方式中的步骤101、102相似,在此就不再赘述。
步骤403,检测预存时序模板结合测试频率能否完成对I2C从设备的读写测试,若能够完成读写测试,则进入步骤405,若不能完成读写测试,则进入步骤404。
具体地说,先获取预存的时序模板与测试频率结合,对I2C从设备进行读写测试,检测这些现有的时序模板与测试频率结合时,能否完成对I2C从设备正确的读写,如果检测到某个预存的时序模板和多个测试频率组合都可以正确的对I2C从设备进行读写,则进入读写正确率的检测,检测到所有预存模板结合多个测试频率都无法完成读写测试,则进行自学习生成新的时序模板。
步骤404,通过自学习生成新的时序模板并确定访问控制时序。
具体地说,通过获取的I2C从设备地址及其他的参数,结合预存的时序模板,机器内的自适应模块会进行自适应学习,并为I2C从设备生成与之对应的新的时序模板,并结合选取的测试频率对I2C从设备进行读写检测,以及读写正确率的判断,最终确定I2C从设备的访问控制时序,在机器学习也无法得到I2C从设备的访问控制时序时,提示用户无法得到访问控制时序。具体的流程图如图5所示,包括以下步骤:
子步骤501,生成新的时序模板;通过自学习和已获取的I2C从设备参数,针对I2C从设备生成对应的新的时序模板。
子步骤502,检测新的时序模板结合测试频率能否对I2C从设备进行正确的读写,若能够正确读写,则进入子步骤503,若不能正确读写,则进入子步骤504。
具体地说,获取到新的时序模板后,结合测试频率,对I2C从设备进行读写测试,如果可以控制I2C从设备进行正确的读写,则进行读写正确率的测试,如果不能控制I2C从设备进行正确的读写,进行生成时序模板次数的检测判断。
子步骤503,检测采用生成的时序模板和测试频率对从设备进行多次读写测试的正确率是否超过预设阈值,若超过预设阈值,则进入子步骤506,若未超过预设阈值,则进入步骤504。
具体地说,按照新的时序模板和测试频率对I2C从设备进行多次读写测试中,正确率能够满足超过预设阈值的时候,判定访问控制时序能够较好的控制I2C从设备,将这个时序模板和测试频率作为这个I2C从设备正常的访问时的访问控制时序,在多次读写测试正确率低于预设阈值的时候,控制准确度不符合要求,对机器学习生成新的时序模板的次数进行检测判断。
子步骤504,判断生成时序模板的次数是否超过预设次数,若超过预设次数,则进入步骤505,若未超过预设次数,则进入步骤501。
具体地说,在机器学习生成的时序模板和测试频率结合无法满足读写测试的要求时,先对机器学习生成新的时序模板的次数进行检测,在生成时序模板次数超过了预设次数的时候,判定机器学习无法生成准确的I2C从设备访问控制时序,输出无法生成访问控制时序的结果,在次数未超过预设次数的时候,重新进行机器学习,生成新的时序模板并结合测试频率进行读写测试。
子步骤505,输出无法通过机器学习生成访问控制时序。
子步骤506,进入访问控制时序的确定;将满足读写要求的时序模板及测试频率确定为访问控制时序并输出或输出无法确定I2C从设备的访问控制时序。
步骤405,根据读写测试结果为通过时的时序模板和测试频率对I2C从设备进行多次读写测试。
具体地说,检测到某个预存时序模板与测试频率能够正确的对I2C从设备进行读写测时,获取此时的时序模板,结合测试频率,对I2C从设备进行多次重复的读写测试,获取多次读写测试的测试结果。
步骤406,判断多次读写的正确率是否超过预设阈值,若超过预设阈值,则进入步骤407,若不超过预设阈值,则进入步骤403。
具体地说,获取按照选定的时序模板和测试频率对I2C从设备进行多次读写的结果,并统计读写的正确率,在读写正确率高于预设阈值时,直接判定能够较准确的对I2C从设备进行访问控制,直接进行访问控制时序确认的步骤,若读写的正确率不超过预设阈值,则判定无法准确的对I2C从设备进行控制,需要排除这个时序模板,并重新获取一个结合测试频率能够成功对I2C从设备进行读写的时序模板,并根据多次的读写测试,确定I2C从设备的访问控制时序。
步骤407,确定I2C从设备的访问控制时序。
具体地说,检测到按照选定的时序模板和测试频率能够正确对I2C从设备进行读写控制并且读写正确率超过预设阈值的时候,将选定的时序模板和测试频率作为I2C从设备进行正常的访问时的访问控制时序,在检测到无法得到访问控制时序的时候,提示用户无法获取到I2C从设备的访问控制时序。
由此,本实施方式提供了一种I2C从设备的调试方法,在确定I2C从设备访问控制时序的过程中,通过读写正确率的检测,保证了得到的访问控制时序的准确性,而在预存时序模板结合测试频率无法满足读写验证的要求时,通过机器学习生成新的时序模板并根据测试确定I2C从设备的访问控制时序,避免了无法根据预存时序模板得到满足要求的I2C从设备访问控制时序,提高了得出的访问控制时序的准确性。
本发明的第三实施方式涉及一种I2C从设备的调试方法,本实施方式与第二实施方式相似,主要的区别之处在于,在机器学习的基础上也无法得到符合要求的访问控制时序时,提示用户输入I2C从设备参数,根据用户输入的参数,对I2C从设备进行精确调试,得到访问控制时序。
本实施方式的流程图如图6所示,具体包括以下步骤:
步骤601,获取I2C总线上I2C从设备的地址。
步骤602,获取I2C从设备适用时钟频率范围并选取测试频率。
步骤603,检测预存时序模板结合测试频率能否完成对I2C从设备的读写测试,若能够完成读写测试,则进入步骤605,若不能完成读写测试,则进入步骤604。
本实施方式中的步骤601至步骤603与第二实施方式中的步骤401至步骤403相似,在此就不再赘述。
步骤604,根据时序设置界面获取的I2C从设备参数生成新的时序模板。
具体地说,根据在预存时序模板结合测试频率进行读写测试都无法满足要求的时候,将会提示用户对I2C从设备的参数进行输入,用户在时序设置界面对应的输入I2C从设备的个数、时钟频率、地址位数、地址、时序组合方式等I2C从设备参数,并根据获取到的I2C从设备参数,结合时序模板创建的方法生成新的时序模板。
步骤605,根据读写测试结果为通过时的时序模板和测试频率对I2C从设备进行多次读写测试。
步骤606,判断多次读写的正确率是否超过预设阈值,若超过预设阈值,则进入步骤608,若不超过预设阈值,则进入步骤603。
本实施方式的步骤605至步骤606与第二实施方式中的步骤405至步骤406相似,在此就不再赘述。
步骤607,判断生成的时序模板是否符合读写测试要求,若符合要求,则进入步骤608,若不符合要求,则进入步骤604。
具体地说,根据获取到的I2C从设备参数生成新的时序模板后,根据生成的时序模板,结合测试频率对I2C从设备进行读写测试,根据I2C从设备参数生成的时序模板在读写测试中能够完成读写测试以及读写正确率是否超过预设阈值,若生成的时序模板都无法通过读写测试或读写正确率低于预设阈值,则根据重新根据用户输入的I2C从设备参数,结合时序模板创建方法,生成新的时序模板,并重新进行读写测试结果的检测,若能够满足读写测试的要求,则进入访问控制时序的确定。
步骤608,确定I2C从设备的访问控制时序。
根据读写测试的结果以及正确率的校验,最终将符合读写测试要求时的时序模板和测试频率作为I2C从设备的访问控制时序。
由此,本实施方式提供了一种I2C从设备的调试方法,在主设备先通过预存时序模板结合机器自学习生成的时序模板确定I2C从设备的访问控制时序,在无法得到符合要求的访问控制时序时,通过获取用户输入的I2C从设备参数,对I2C从设备进行精确的调试,从而确定I2C从设备的访问控制时序,保证了能够准确性的获取到的I2C从设备访问控制时序。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明的第四实施方式涉及一种I2C主设备,其结构示意图如图7所示,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上述I2C从设备的调试方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本发明的第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种I2C从设备的调试方法,其特征在于,包括:
在预获取的I2C从设备的适用时钟频率范围中选取至少一个测试频率;
根据所述测试频率和预获取的时序模板,确定所述I2C从设备的访问控制时序。
2.根据权利要求1所述的I2C从设备的调试方法,其特征在于,所述根据所述测试频率和预获取的时序模板,确定所述I2C从设备的访问控制时序,包括:
根据所述测试频率和预获取的时序模板对所述I2C从设备进行读写测试,并将读写测试结果为通过时采用的测试频率和时序模板确定为所述I2C从设备的访问控制时序。
3.根据权利要求2所述的I2C从设备的调试方法,其特征在于,所述根据所述测试频率和预获取的时序模板对所述I2C从设备进行读写测试,包括:
根据所述测试频率和预存在本地的时序模板对所述I2C从设备进行读写测试,并在读写测试结果不通过时,基于预设的机器学习模型生成新的时序模板;
根据所述测试频率和所述新的时序模板对所述I2C从设备进行读写测试;
其中,所述预获取的时序模板包括所述预存在本地的时序模板或所述基于预设的机器学习模型生成新的时序模板。
4.根据权利要求2所述的I2C从设备的调试方法,其特征在于,根据所述测试频率和预获取的时序模板对所述I2C从设备进行读写测试,还包括:
根据所述测试频率和预存在本地的时序模板对所述I2C从设备进行读写测试,并在读写测试结果不通过时,提供时序模板设置界面;
在通过所述时序模板设置界面接收到用户输入的时序模板的设置参数时,获取根据所述设置参数生成的新的时序模板;
根据所述测试频率和所述新的时序模板对所述I2C从设备进行读写测试。
5.根据权利要求2至4任一项所述的I2C从设备的调试方法,其特征在于,所述确定所述I2C从设备的访问控制时序,包括:
基于所述读写测试结果为通过时采用的测试频率和时序模板,对所述I2C从设备进行多次读写测试;
将所述多次读写测试的正确率超过预设阈值的测试频率和时序模板确定为所述I2C从设备的访问控制时序;
在所述多次读写测试的正确率不超过预设阈值时,获取新的所述读写测试为通过时的测试频率和时序模板,重新进行所述多次读写测试。
6.根据权利要求1所述的I2C从设备的调试方法,其特征在于,所述在预获取的I2C从设备的适用时钟频率范围中选取至少一个测试频率之前,还包括:
在预设时钟频率范围内,以不同的时钟频率对所述I2C从设备进行检测,将所述I2C从设备的做出响应的最高频率和最低频率,分别作为所述I2C从设备的预获取的适应时钟频率范围的上限值和下限值。
7.根据权利要求6所述的I2C从设备的调试方法,其特征在于,在所述在预设时钟频率范围内,以不同的时钟频率对所述I2C从设备进行检测前,还包括:
在预设时钟频率范围内,以不同的时钟频率向I2C总线上所有地址发送地址请求指令,根据接收到的响应确定所述I2C从设备的地址;获取所述I2C从设备适用时钟频率范围时根据所述I2C从设备的地址进行检测。
8.根据权利要求1所述的I2C从设备的调试方法,其特征在于,所述在预获取的I2C从设备的适用时钟频率范围中选取至少一个测试频率,包括:
将I2C从设备的所述适用时钟频率范围分成三个连续的时钟频率区间,并将各所述时钟频率区间的中间值作为一个测试频率。
9.一种I2C主设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8中任一所述的I2C从设备的调试方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的I2C从设备的调试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911101111.0A CN112860495A (zh) | 2019-11-12 | 2019-11-12 | 一种i2c从设备的调试方法、i2c主设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911101111.0A CN112860495A (zh) | 2019-11-12 | 2019-11-12 | 一种i2c从设备的调试方法、i2c主设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112860495A true CN112860495A (zh) | 2021-05-28 |
Family
ID=75984297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911101111.0A Pending CN112860495A (zh) | 2019-11-12 | 2019-11-12 | 一种i2c从设备的调试方法、i2c主设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860495A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672542A (zh) * | 2021-07-29 | 2021-11-19 | 山东云海国创云计算装备产业创新中心有限公司 | I2c总线中的数据访问方法、装置、设备及存储介质 |
CN117271246A (zh) * | 2023-11-22 | 2023-12-22 | 深圳市蓝鲸智联科技股份有限公司 | 一种i2c设备调试方法 |
TWI833207B (zh) * | 2022-04-26 | 2024-02-21 | 新唐科技股份有限公司 | 用於匯流排系統的主裝置中的時脈頻率選擇裝置與方法 |
-
2019
- 2019-11-12 CN CN201911101111.0A patent/CN112860495A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672542A (zh) * | 2021-07-29 | 2021-11-19 | 山东云海国创云计算装备产业创新中心有限公司 | I2c总线中的数据访问方法、装置、设备及存储介质 |
CN113672542B (zh) * | 2021-07-29 | 2024-05-10 | 山东云海国创云计算装备产业创新中心有限公司 | I2c总线中的数据访问方法、装置、设备及存储介质 |
TWI833207B (zh) * | 2022-04-26 | 2024-02-21 | 新唐科技股份有限公司 | 用於匯流排系統的主裝置中的時脈頻率選擇裝置與方法 |
CN117271246A (zh) * | 2023-11-22 | 2023-12-22 | 深圳市蓝鲸智联科技股份有限公司 | 一种i2c设备调试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860495A (zh) | 一种i2c从设备的调试方法、i2c主设备及存储介质 | |
KR101149270B1 (ko) | 집적 회로 디바이스를 테스트하는 시스템 및 방법 | |
US20160191153A1 (en) | Optical Module Availability Detection Method and Apparatus | |
US12111753B2 (en) | Method, apparatus, and storage medium for generating test cases | |
CN112559267B (zh) | 集成电路间总线i2c从机以及i2c控制器测试方法 | |
CN105786736A (zh) | 一种多芯片级联的方法、芯片和装置 | |
CN111966287A (zh) | 数据存储方法、电子设备及存储介质 | |
CN105022688A (zh) | 设备测试方法及装置 | |
EP3264226A1 (en) | Pin control method and device | |
CN109324987B (zh) | 模拟通信接口的时序控制方法、装置与电子设备 | |
CN112699695B (zh) | Rfid读写器软件验证装置、方法及电子设备 | |
CN113961496A (zh) | 通信电路系统、方法、芯片以及存储介质 | |
CN111562946B (zh) | 一种数据处理方法及芯片 | |
US20100251192A1 (en) | Circuit description generating apparatus and function verification method | |
US20230055523A1 (en) | Method, apparatus, and storage medium for generating test cases | |
CN109672482A (zh) | 射频模组测试方法、装置、设备和存储介质 | |
CN112306944B (zh) | 一种服务器整机降低电磁辐射的控制方法、装置及程序 | |
KR102256988B1 (ko) | 복수개의 모듈들을 구비하는 차량 기기의 업데이트 장치 및 방법 | |
CN113468028A (zh) | 用于计算设备的设备管理方法、计算设备、装置和介质 | |
CN113722265A (zh) | 一种用于多cpu系统中互联通道的调试优化方法及装置 | |
CN109491648B (zh) | 嵌入式软件中库函数独立分区的实现方法和系统以及设备 | |
CN108226741B (zh) | 一种dma自测试电路 | |
CN112084076A (zh) | 测试方法、电子设备及存储介质 | |
CN110471865B (zh) | 一种模拟spi通信实现控制器与驱动器通信的方法 | |
CN113473055B (zh) | 信号传输控制方法、微处理器及计算机可读存储介质 |
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 |