CN113626310B - 一种开发调试系统、待测设备和调试方法 - Google Patents
一种开发调试系统、待测设备和调试方法 Download PDFInfo
- Publication number
- CN113626310B CN113626310B CN202110780359.5A CN202110780359A CN113626310B CN 113626310 B CN113626310 B CN 113626310B CN 202110780359 A CN202110780359 A CN 202110780359A CN 113626310 B CN113626310 B CN 113626310B
- Authority
- CN
- China
- Prior art keywords
- host
- debugging
- module
- reset
- tested
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000011161 development Methods 0.000 title claims abstract description 22
- 238000004891 communication Methods 0.000 claims abstract description 105
- 230000003993 interaction Effects 0.000 claims abstract description 67
- 230000002452 interceptive effect Effects 0.000 claims abstract description 25
- 238000012360 testing method Methods 0.000 claims description 166
- 230000001360 synchronised effect Effects 0.000 claims description 23
- 238000012795 verification Methods 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 18
- 230000006870 function Effects 0.000 description 29
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000004075 alteration Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3648—Debugging of software using additional hardware
- G06F11/3656—Debugging of software using additional hardware using a specific debug interface
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请实施例中提供了一种开发调试系统、待测设备和调试方法,开发调试系统包括主机和待测设备,待测设备包括复位接口、调试模块和复位模块,主机通过复位接口与调试模块和复位模块连接;主机用于通过复位接口向调试模块和复位模块发送交互数据;调试模块用于判断交互数据是否正确,若正确,则依据交互数据,执行调试操作;复位模块用于在交互数据的通信速率小于待测设备的复位周期的情况下,依据交互数据,执行复位操作。通过对交互数据的通信速率的设置,能够区分调试信号和复位信号,进而能够实现调试接口与复位接口复用,不需要单独设立调试接口,解决了PCB空间和IC引脚占用过多的问题。
Description
技术领域
本申请涉及调试技术领域,具体地,涉及一种开发调试系统、待测设备和调试方法。
背景技术
通常业界使用的调试接口方案是标准JTAG(Joint Test Action Group,联合测试工作组)边界扫描接口,JTAG边界扫描接口至少包含4根输入输出线路:测试时钟、测试模式、测试数据输入和测试数据输出。由于需要占用至少4根调试信号线,在电子产品微型化导致的PCB(Printed Circuit Board,印制电路板)空间和IC(integrated circuit,集成电路)引脚日益紧缺的条件下愈加难以实现。
虽然业界已有IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师协会)所定义的小尺寸调试协议集1149.7(IEEE Standard for Reduced-Pin and Enhanced-Functionality Test Access Port and Boundary-ScanArchitecture),提供了小尺寸的双线调试协议:cJTAG。但该标准非常复杂(文档长于一千页),且任何JTAG协议族(1149.X)中的首要设计目标是提供边界扫描功能,而不是为了提供交互式调试功能。因此,JTAG协议族提供了不少对RISC-V(第五代精简指令集计算机)无用的功能,由于具有不少的无用的功能,JTAG协议族对RISC-V的交互式调试传输来说并不够高效,并且包括在此标准中的两线调试协议cJTAG需要使用特殊的IO口以及异步的时序协议,导致cJTAG协议难于实现。
一方面,ARM(Advanced RISC Machines)提出了SWD两线调试方案。与cJTAG类似,能够与JTAG接口的测试模式和测试时钟两根引脚复用。由此亦可兼容标准4线JTAG协议。该标准由于ARM在嵌入式市场的占有率已经成为两线调试事实上的标准。但它依然要占用两个引脚,且无法和其他功能同时复用。
另一方面,意法半导体虽然提出了STM8的单线调试方案,该单线调试方案为SWIM(Serial Wire Interface Module,单总线接口模块)协议。但SWIM协议通信速率仅有固定的两档,在协议设计上对非STM8平台的调试没有支持,且对环境的适应能力有限,具有实用性不高的缺点;并需要独立设置调试端口,对PCB空间和IC引脚存在一定的占用,在系统I/O资源紧张的情况下难于满足使用需要。
现有技术中存在的问题:
目前的调试接口都是单独设置,和其他功能无法同时共存,存在PCB空间和IC引脚占用过多的问题。
发明内容
本申请实施例中提供了一种开发调试系统、待测设备和调试方法,通过调试接口与复位接口复用的方式,进而解决了PCB空间和IC引脚占用过多的问题。
根据本申请实施例的第一个方面,提供了一种开发调试系统,所述开发调试系统包括主机和待测设备,所述待测设备包括复位接口、调试模块和复位模块,所述主机通过所述复位接口与所述调试模块和所述复位模块连接;
所述主机用于通过所述复位接口向所述调试模块和所述复位模块发送交互数据;
所述调试模块用于判断所述交互数据是否正确,若正确,则依据所述交互数据,执行调试操作;
所述复位模块用于在所述交互数据的通信速率小于所述待测设备的复位周期的情况下,依据所述交互数据,执行复位操作。
根据本申请实施例的第二个方面,提供了一种待测设备,所述待测设备包括复位接口、调试模块和复位模块,所述调试模块和所述复位模块通过所述复位接口与主机连接;
所述调试模块和所述复位模块均用于通过所述复位接口接收所述主机发送的交互数据;
所述调试模块用于判断所述交互数据是否正确,若正确,则依据所述交互数据,执行调试操作;
所述复位模块用于在所述交互数据的通信速率小于所述待测设备的复位周期的情况下,依据所述交互数据,执行复位操作。
根据本申请实施例的第三个方面,提供了一种调试方法,所述方法应用于待测设备,所述待测设备包括复位接口、调试模块和复位模块,所述调试模块和所述复位模块通过所述复位接口与主机连接,所述方法包括:
所述调试模块和所述复位模块接收所述主机发送的交互数据;
所述调试模块判断所述交互数据是否正确,若正确,则依据所述交互数据,执行调试操作;
所述复位模块在所述交互数据的通信速率小于所述待测设备的复位周期的情况下,依据所述交互数据,执行复位操作。
采用本申请实施例中提供的一种开发调试系统、待测设备和调试方法,开发调试系统包括主机和待测设备,待测设备包括复位接口、调试模块和复位模块,主机通过复位接口与调试模块和复位模块连接;主机用于通过复位接口向调试模块和复位模块发送交互数据;调试模块用于判断交互数据是否正确,若正确,则依据交互数据,执行调试操作;复位模块用于在交互数据的通信速率小于待测设备的复位周期的情况下,依据交互数据,执行复位操作。可见,通过对交互数据的通信速率的设置,能够区分调试信号和复位信号,进而能够实现调试接口与复位接口复用,不需要单独设立调试接口,解决了PCB空间和IC引脚占用过多的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种开发调试系统的结构示意图;
图2为本申请实施例提供的一种调试方法的流程示意图;
图3为本申请实施例提供的另一种调试方法的流程示意图;
图4为本申请实施例提供的又一种调试方法的流程示意图。
具体实施方式
在实现本申请的过程中,发明人发现,目前的调试接口都是单独设置,并未与其他功能复用,存在PCB空间和IC引脚占用过多的问题。
针对上述问题,本申请实施例中提供了一种开发调试系统、待测设备和调试方法,通过对交互数据的通信速率的设置,能够区分调试信号和复位信号,进而能够实现调试接口与复位接口复用,不需要单独设立调试接口,解决了PCB空间和IC引脚占用过多的问题。
本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
请参照图1,为本申请实施例提供的一种开发调试系统100的结构示意图,开发调试系统100包括主机110和待测设备120,待测设备120包括复位接口121、调试模块122和复位模块123,主机110通过复位接口121与调试模块122和复位模块123连接。
主机110用于通过复位接口121向调试模块122和复位模块123发送交互数据;调试模块122用于判断交互数据是否正确,若正确,则依据交互数据,执行调试操作;复位模块123用于在交互数据的通信速率小于待测设备120的复位周期的情况下,依据交互数据,执行复位操作。
应理解,主机110与待测设备120进行调试操作时,因为待测设备120的调试接口与复位接口121复用,为了防止调试信号误触发待测设备120的复位功能。若主机110发送的交互数据为调试信号,那么交互数据的通信速率应设置为大于复位周期;若主机110发送的交互数据为复位信号,那么交互数据的通信速率应小于复位周期。因为复位模块123只会被通信速率小于复位周期的交互数据触发,故通过设置不同的通信速率来区分调试信号和复位信号,进而实现了调试接口和复位接口121复用的功能。
其中,复位周期可以理解为复位信号的周期。
为了进一步地防止调试信号误触发待测设备120复位,复位模块123还用于在交互数据的通信速率小于复位周期的预设倍数的情况下,依据交互数据,执行复位操作。其中,预设倍数可以为10倍,即交互数据的通信速率小于待测设备120的复位信号的10倍周期。
例如,若待测设备120的复位模块123需要接收持续1ms的低电平复位信号才能够触发复位功能,那么,调试信号的通信速率不得低于10Kbps。
通过设置预设倍数,可以将调试信号的通信速率与复位信号的周期更明显的区分,以使调试信号和复位信号之间的区别更大。进而能够避免调试信号的误差,而误触发复位模块123执行复位操作。
应理解,除了采用依据复位信号的周期设置交互数据的通信速率的方式,对调试信号和复位信号进行区分;还可以采用依据复位信号的电平宽度设置交互数据的电平宽度的方式,对调试信号和复位信号新区分。
例如,调试信号的电平宽度应小于复位信号的电平宽度,可以设置为调试信号的电平宽度为复位信号的电平宽度的十分之一。若复位模块123需要足够长的低电平,才能触发复位功能;为了避免调试信号误触发复位功能,调试信号的低电平宽度应小于复位信号的低电平宽度。
在本实施例中,由于调试模块122和复位模块123均会接收主机110发送的交互数据,也就是说,在交互数据为复位信号时,调试模块122和复位模块123均会接收到复位信号,调试模块122会判断复位信号是否正确,由于复位信号并不是调试信号,故调试模块122会判定复位信号不正确,不会执行调试操作;而复位模块123则会被复位信号触发复位操作。在交互数据为调试信号时,调试模块122和复位模块123均会接收到调试信号,调试模块122会判定调试信号是否正确,在调试信号正确的情况下,执行调试操作;在调试信号不正确的情况下,调试模块122不会执行调试操作;由于调试信号的通信速率大于复位周期,故复位模块123并不会被调试信号触发复位操作。
在本实施例中,交互数据包括校验信息和命令信息。换言之,在交互数据为调试信号时,调试信号包括校验信息和命令信息。
调试模块122还用于判断校验信息和命令信息是否正确;若校验信息和命令信息中的任意一个不正确,调试模块122还用于向主机110发送错误提示信息;若校验信息和命令信息均正确,调试模块122还用于依据命令信息,执行调试操作。
应理解,调试模块122检查校验信息是否正确,若不正确则向主机110发送错误提示信息;若校验信息正确,调试模块122则检查命令信息是否正确,若不正确则向主机110发送错误提示信息;若命令信息正确,调试模块122则依据命令信息执行调试操作。
在本实施例中,调试模块122还用于检查调试操作的状态,并在执行调试操作完成后,向主机110发送回复帧信息;主机110还用于检查回复帧信息是否正确;若不正确,主机110还用于通过复位接口121向调试模块122发送重复上传命令;调试模块122还用于依据重复上传命令向主机110发送新的回复帧信息;主机110还用于在回复帧信息正确或发送重复上传命令的次数达到预设次数的情况下,停止通过复位接口121向调试模块122发送重复上传命令。
回复帧信息可以让主机110得到调试模块122的调试状态,以便于主机110实时了解待测设备120调试状态,确定待测设备120的调试过程中是否存在故障,并在存在故障的情况下,及时作出响应。
主机110在回复帧信息不正确的情况下,再次向调试模块122发送重复上传命令,并在回复帧信息正确或发送重复上传命令的次数达到预设次数的情况下,停止向调试模块122发送重复上传命令。
应理解,回复帧信息包括校验信息,主机110接收到回复帧信息后,检查回复帧信息的校验信息是否正确,若不正确,主机110向待测设备120发送重复上传命令,待测设备120依据重复上传命令再次向主机110发送新的回复帧信息;主机110根据待测设备120再次发送的新的回复帧信息确认新的回复帧信息的校验信息是否正确,若不正确,主机110继续向待测设备120发送重复上传命令,重复前述操作,直至主机110连续向待测设备120发送重复上传命令的次数达到预设次数,或主机110接收的回复帧信息的校验信息正确。
应理解,若执行命令信息完成后,待测设备120向主机110发送回复帧信息的内容可以采用以下两种方式实现。其中一种方式为:回复帧信息包括确认信息,若执行命令信息完成后,且待测设备120无需返回主机110的数据载荷,待测设备120则向主机110反馈确认信息。另一种方式为:回复帧信息包括应答数据,若执行命令信息完成后,且待测设备120需要返回主机110的数据载荷,待测设备120则向主机110发送应答数据。
其中,调试信号可以采用编码数据格式,即调试信号格式可以包括1起始位,8数据位,1奇校验位和1停止位,命令信息设置在数据位,校验信息设置在奇校验位;若校验信息与数据为按位异或为1则表示正确的校验信息,若校验信息与数据位按位异或为0则表示错误的校验信息;命令信息格式可以包括命令字、命令字按位取反的结果、可选的数据载荷和累加校验和;应答数据包括命令信息中的命令字和需要返回主机110的数据载荷。
命令字包含的内容为:控制指令、设置指令、复位调试信号、获取信息指令、安全信息和通信速率设置指令;控制指令用于控制待测设备120的控制部分的停机、打断点、写内存和运行程序等;设置指令包括读写待测设备120的数据部分的内存、寄存器值等数据,使得主机110能够对待测设备120进行编程、参数设定等功能;复位调试信号为待测设备120的复位模块123的可选复位域范围的复位调试信号,使得可能工作不正常的待测设备120能够软复位或硬复位,回到正常的状态下;获取信息指令为握手流程中主机110与待测设备120之间进行初始化设置发送的指令,主机110通过获取信息指令可获得待测设备120的硬件型号、核心型号、具有的能够和修订版本等;安全信息可以包括密码,主机110与待测设备120之间通过交换各自预设的密码,可以实现鉴权功能,即可以验证主机110是否具有访问待测设备120的权限,待测设备120还可以拒绝为授权的调试访问;主机110依据通信速率设置指令,可以对待测设备120的通信速率进行设置,在不同场景下,可以选择不同的通信速率,提高通信的稳定性和速度;数据载荷可以理解为存储在待测设备120具体数据内容;累加校验和用于表征命令信息是否完整且正确。
调试信号采用编码数据格式,主机110设计上可以复用已有系统的串行收发器,而无需以程序或特殊硬件发生特殊长度的低电平,使得主机110可以使用通用的平台相对简单的实现,而无需完全重新设计。
在主机110与待测设备120进行正常通信之前,主机110与待测设备120之间需先进行握手流程,握手成功后,主机110与待测设备120之间才能进行正常通信。其中,握手流程包括主机110与待测设备120之间的通信速率同步,以及主机110与待测设备120之间的初始化设置。
握手流程的工作原理可以为:主机110用于向待测设备120发送同步触发信号;待测设备120用于依据同步触发信号向主机110发送同步码;其中,同步码根据待测设备120的时钟频率获得;主机110还用于依据同步码获取待测设备120的通信速率;主机110还用于基于通信速率与待测设备120进行初始化设置;若主机110与待测设备120初始化设置成功,主机110与待测设备120之间握手成功。
应理解,同步触发信号可以为一定长度的低电平,也可以为PWM(Pulse WidthModulation,脉冲宽度调制)信号。
其中,主机110向待测设备120复位接口121发送同步触发信号,为了避免同步触发信号误触发复位功能,故同步触发信号的电平宽度应小于复位信号的电平宽度。若需要足够长的低电平宽度才能触发复位功能,那么同步触发信号的低电平宽度应小于复位信号的低电平宽度。为了降低误触发的复位功能的几率,同步触发信号的低电平宽度应小于复位信号的低电平宽度的十分之一。
同步码根据待测设备120的时钟频率获得。应理解,在待测设备120接收同步触发信号后,会将同步触发信号当做错帧对待,待测设备120以目前所在的通信速率向主机110发送错误码,该错误码也就是同步码。错误码可以理解为待测设备120根据同步触发信号反馈的错误提示信号。
待测设备120的通信速率根据待测设备120的时钟频率产生,通信速率可以为时钟频率,也可以是依据时钟频率分频获得,可以根据实际情况进行待测设备120的通信速率的设置。
其中,同步后,最高的通信速率应为时钟频率的十六分之一,当时钟频率为16MHz时,通信速率应为1Mbps。
主机110测量得到同步码的脉宽长度;主机110根据同步码的脉宽长度获得待测设备120的通信速率。其中,主机110包括计时器,当主机110检测到同步码的上升沿时,计时器开始计时,当主机110检测到同步码的下降沿时,计时器停止计时。根据计时器在同步码相邻的上升沿和下降沿之间所计的时长,获得同步码的脉宽长度。
主机110在获得待测设备120的通信速率后,可以采用待测设备120的通信速率进行数据传输,以实现主机110和待测设备120之间的通信速率一致,也就是说,主机110与待测设备120之间已实现物理上的通信同步。
主机110与待测设备120之间实现通信同步后,主机110和待测设备120之间可以进行数据交互,以实现初始化设置。主机110与待测设备120之间实现初始化设置的原理可以为:主机110基于通信速率向待测设备120发送获取信息指令;待测设备120依据获取信息指令向主机110反馈特征信息;主机110依据特征信息进行初始化设置。
其中,初始化设置可以为主机110根据待测设备120的特征信息,确定待测设备120支持的功能,主机110根据待测设备120支持的功能进行指令发送。特征信息包括待测设备120的芯片型号、核心型号和支持的功能信息。
应理解,主机110基于待测设备120的通信速率向待测设备120发送获取信息指令,因为主机110发送指令的通信速率与待测设备120的通信速率,待测设备120能够正确接收获取信息指令,并根据获取信息指令向主机110反馈特性信息。该特征信息包括待测设备120的芯片型号、核型号和功能信息,主机110基于待测设备120的芯片型号、核型号和功能信息能够确定待测设备120支持的功能,主机110根据待测设备120支持的功能发送对应的指令。
在一种可选的实施方式中,主机110还可以向待测设备120发送主机110的特征信息。待测设备120根据主机110的特征信息,能够确定主机110支持的功能。其中,主机110的特征信息包括主机110遵循的调试规范,支持的功能信息等。
握手流程包括通信速率同步和初始化设置,在进行初始化设置之前,需先保证通信速率同步。在初始化设置成功后,握手流程结束。
在本实施例中,将同步功能移动到主机110上实现,使得待测设备120的芯片面积可以缩小,时序可以提升,以及验证更简单。
在一种可选的实施方式中,由于待测设备120的时钟频率会发生改变,对应的待测设备120的通信速率也会变化,由于主机110还基于待测设备120变化前的通信速率与待测设备120进行通信,进而主机110与待测设备120之间的通信速率处于未同步状态。在待测设备120的通信速率变化的情况下,为了保证主机110和待测设备120之间还能保持同步。本申请还提出重握手流程,重握手流程的工作原理为:若待测设备120的时钟频率改变,待测设备120还用于向主机110发送更新后的同步码;主机110还用于根据更新后的同步码获取从机更新后的通信速率。
应理解,由于待测设备120的时钟频率发生了改变,待测设备120的通信速率也会对应的改变。在待测设备120的通信速率改变的情况下,若主机110还是按照待测设备120时钟频率改变之前对应的通信速率与待测设备120进行数据交互,因主机110的通信速率与待测设备120的通信速率不一致的缘故,主机110与待测设备120之间未处于通信同步状态,主机110与待测设备120之间是无法正常通信的。故在待测设备120的时钟频率发生改变后,待测设备120会主动向主机110发送更新后的同步码。
主机110需根据更新后的同步码可以获得待测设备120更新后的通信速率,主机110通过更新后的通信速率与待测设备120进行数据交互,使得主机110与待测设备120的通信速率再次保持一致,主机110与待测设备120之间继续处于通信同步状态。
可见,通过上述重握手流程,在待测设备120的时钟频率发生改变的情况下,待测设备120主动向主机110发送更新后的同步码,以使主机110的通信速率对应更新。能够在待测设备120的通信速率变化的情况下,保证主机110和待测设备120之间还能继续保持同步。
在待测设备120向主机110发送更新后的同步码之前,待测设备120还用于向主机110发送频率变更信号;主机110还用于依据频率变更信号停止与待测设备120通信。
应理解,待测设备120可响应时钟频率改变指令产生频率变更信号,时钟频率改变指令为待测设备120响应外部操作产生,外部操作可以理解为工作人员所做的时钟频率改变操作。
其中,待测设备120产生频率变更信号时,待测设备120的时钟频率还未改变,待测设备120根据时钟频率改变指令判定待测设备120的时钟频率将改变,进而在待测设备120的时钟频率改变前,向主机110发送频率变更信号。
由于待测设备120的时钟频率将发生改变,为了避免主机110与待测设备120数据交互的过程中,因待测设备120的时钟频率改变,出现通信故障。故主机110在待测设备120的时钟频率改变前,先停止与待测设备120通信,在待测设备120的时钟频率改变后,且主机110与待测设备120重新同步,主机110再继续与待测设备120通信。
在握手流程或重握手流程结束后,主机110基于待测设备120的通信速率向待测设备120发送交互数据。
在本实施例中,若待测设备120不知道其时钟频率将改变,即在待测设备120未主动发送频率变更信号的情况下,可以采用主机110主动再次走一遍握手流程的方式,以避免主机110与待测设备120之间的通信出现未同步的现象。
主机110主动再次走一遍握手流程的原理为:若待测设备120向主机110反馈交互数据超时或错误,主机110还用于判断待测设备120的时钟频率改变,并向待测设备120发送同步触发信号;待测设备120还用于依据同步触发信号向主机110发送更新后的同步码;主机110还用于依据更新后的同步码获取待测设备120更新后的通信速率。
应理解,若待测设备120的时钟频率发生了改变,那么待测设备120的通信速率也会对应发生改变,而主机110还基于待测设备120时钟频率改变前对应的通信速率与待测设备120进行通信,主机110的通信速率与待测设备120的通信速率是不一致的。主机110与待测设备120之间未处于通信同步状态,主机110与待测设备120之间是无法正常通信的。
在主机110与待测设备120之间未处于通信同步状态的情况下,待测设备120向主机110反馈的交互数据会出现超时或错误的现象;也就是说,若主机110在预设时间内未接收到待测设备120反馈的交互数据,或在预设时间内接收到待测设备120反馈的错误的交互数据;主机110会判断待测设备120的时钟频率发生了改变,并向待测设备120重新发送同步触发信号,重新走一遍握手流程,以完成主机110与待测设备120之间的同步。
待测设备120根据主机110发送的同步触发信号重新向待测设备120发送更新后的同步码,更新后的同步码根据待测设备120改变后的时钟频率获得。即,由于待测设备120的通信速率根据待测设备120的时钟频率产生,在待测设备120的时钟频率发生改变的情况下,待测设备120的通信速率也会对应改变,故待测设备120以改变后的通信速率向主机110发送的同步码也相应改变。
由于待测设备120以改变后的通信速率向主机110发送更新后的同步码,故主机110测量得到更新后的同步码的脉宽长度,并根据更新后的同步码的脉宽长度获得待测设备120更新后的通信速率。主机110基于待测设备120更新后的通信速率与待测设备120进行数据交互,主机110与待测设备120的通信速率保持一致,主机110与待测设备120之间再次完成了通信同步。
其中,在进行握手流程过程中,主机110与待测设备120是通过复位接口121进行通信的,为了避免误触发复位功能,除了对同步触发信号的电平宽度进行设置外,还需对待测设备120的通信速率进行设置,即主机110与待测设备120的同步后的通信速率进行设置。若需进行复位操作,同步后的通信速率应小于复位周期;若需进行调试操作,同步后的通信速率应大于复位周期。
应理解,主机110可以为烧录器(例如,电脑和调试器)和离线编程器等,从机可以为待检测芯片和待编程芯片。
下面在图1示出的待测设备120的基础上,本申请实施例提供一种调试方法,请参见图2,图2为本申请实施例提供的一种调试方法的流程示意图,该调试方法可以包括以下步骤:
S201,调试模块和复位模块接收主机发送的交互数据。
S202,调试模块判断交互数据是否正确,若正确,则依据交互数据,执行调试操作。
S203,复位模块在交互数据的通信速率小于待测设备的复位周期的情况下,依据交互数据,执行复位操作。
请参照图3,为本申请实施例提供的又一种调试方法的流程示意图,上述S202包括以下步骤:
S202a,调试模块判断校验信息和命令信息是否正确。
S202b,若校验信息和命令信息中的任意一个不正确,调试模块向主机发送错误提示信息。
S202c,若校验信息和命令信息均正确,调试模块则依据命令信息,执行调试操作。
请参照图4,为本申请实施例提供的又一种调试方法的流程示意图,在图3所述的基础上,S202还包括以下步骤:
S202d,调试模块检查调试操作的状态,并在执行调试操作完成后,向主机发送回复帧信息。
S202e,调试模块接收主机发送的重复上传命令。
S202f,调试模块依据重复上传命令向主机发送新的回复帧信息。
应理解,前述待测设备120可实现S201-S203及子步骤S202a-S202f的内容。
综上,本申请提供了一种开发调试系统、待测设备和调试方法,开发调试系统包括主机和待测设备,待测设备包括复位接口、调试模块和复位模块,主机通过复位接口与调试模块和复位模块连接;主机用于通过复位接口向调试模块和复位模块发送交互数据;调试模块用于判断交互数据是否正确,若正确,则依据交互数据,执行调试操作;复位模块用于在交互数据的通信速率小于待测设备的复位周期的情况下,依据交互数据,执行复位操作。可见,通过对交互数据的通信速率的设置,能够区分调试信号和复位信号,进而能够实现调试接口与复位接口复用,不需要单独设立调试接口,解决了PCB空间和IC引脚占用过多的问题。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种开发调试系统,其特征在于,所述开发调试系统包括主机和待测设备,所述待测设备包括复位接口、调试模块和复位模块,所述主机通过所述复位接口与所述调试模块和所述复位模块连接;
所述主机用于通过所述复位接口向所述调试模块和所述复位模块发送交互数据;
所述调试模块用于判断所述交互数据是否正确,若正确,则依据所述交互数据,执行调试操作;
所述复位模块用于在所述交互数据的通信速率小于所述待测设备的复位周期的情况下,依据所述交互数据,执行复位操作;
所述主机还用于向所述待测设备发送同步触发信号;
所述待测设备还用于依据所述同步触发信号向所述主机发送同步码;其中,所述同步码根据所述待测设备的时钟频率获得;
所述主机还用于依据所述同步码获取所述待测设备的通信速率;
所述主机还用于基于所述通信速率与所述待测设备进行初始化设置;
若所述主机与所述待测设备初始化设置成功,所述主机与所述待测设备之间握手成功。
2.根据权利要求1所述的开发调试系统,其特征在于,所述复位模块还用于在所述交互数据的通信速率小于所述复位周期的预设倍数的情况下,依据所述交互数据,执行复位操作。
3.根据权利要求1所述的开发调试系统,其特征在于,所述交互数据包括校验信息和命令信息;
所述调试模块还用于判断所述校验信息和所述命令信息是否正确;
若所述校验信息和所述命令信息中的任意一个不正确,所述调试模块还用于向所述主机发送错误提示信息;
若所述校验信息和所述命令信息均正确,所述调试模块还用于依据所述命令信息,执行所述调试操作。
4.根据权利要求1所述的开发调试系统,其特征在于,所述调试模块还用于检查所述调试操作的状态,并在执行所述调试操作完成后,向所述主机发送回复帧信息;
所述主机还用于检查所述回复帧信息是否正确;
若不正确,所述主机还用于通过所述复位接口向所述调试模块发送重复上传命令;
所述调试模块还用于依据所述重复上传命令向所述主机发送新的回复帧信息;
所述主机还用于在所述回复帧信息正确或发送重复上传命令的次数达到预设次数的情况下,停止通过所述复位接口向所述调试模块发送所述重复上传命令。
5.根据权利要求1所述的开发调试系统,其特征在于,若所述待测设备的时钟频率改变,所述待测设备还用于向所述主机发送更新后的同步码;
所述主机还用于根据所述更新后的同步码获取所述待测设备更新后的通信速率。
6.根据权利要求5所述的开发调试系统,其特征在于,所述待测设备还用于向所述主机发送频率变更信号;
所述主机还用于依据所述频率变更信号停止与所述待测设备通信。
7.一种待测设备,其特征在于,所述待测设备包括复位接口、调试模块和复位模块,所述调试模块和所述复位模块通过所述复位接口与主机连接;
所述待测设备用于接收所述主机发送的同步触发信号;并依据所述同步触发信号向所述主机发送同步码;其中,所述同步码根据所述待测设备的时钟频率获得;以使所述主机用于依据所述同步码获取所述待测设备的通信速率,并基于所述通信速率与所述待测设备进行初始化设置;若所述主机与所述待测设备初始化设置成功,所述主机与所述待测设备之间握手成功;
所述调试模块和所述复位模块均用于通过所述复位接口接收所述主机发送的交互数据;
所述调试模块用于判断所述交互数据是否正确,若正确,则依据所述交互数据,执行调试操作;
所述复位模块用于在所述交互数据的通信速率小于所述待测设备的复位周期的情况下,依据所述交互数据,执行复位操作。
8.根据权利要求7所述的待测设备,其特征在于,所述交互数据包括校验信息和命令信息;
所述调试模块还用于判断所述校验信息和所述命令信息是否正确;
若所述校验信息和所述命令信息中的任意一个不正确,所述调试模块还用于向所述主机发送错误提示信息;
若所述校验信息和所述命令信息均正确,所述调试模块还用于依据所述命令信息,执行所述调试操作。
9.根据权利要求7所述的待测设备,其特征在于,所述调试模块还用于检查所述调试操作的状态,并在执行所述调试操作完成后,向所述主机发送回复帧信息;
所述调试模块还用于接收所述主机发送的重复上传命令;其中,所述重复上传命令为所述主机在所述回复帧信息不正确的情况下产生;
所述调试模块还用于依据所述重复上传命令向所述主机发送新的回复帧信息;
其中,所述回复帧信息正确或所述主机发送的重复上传命令的次数达到预设次数,所述主机停止向所述调试模块发送所述重复上传命令。
10.一种调试方法,其特征在于,所述方法应用于待测设备,所述待测设备包括复位接口、调试模块和复位模块,所述调试模块和所述复位模块通过所述复位接口与主机连接,所述方法包括:
所述待测设备接收所述主机发送的同步触发信号;并依据所述同步触发信号向所述主机发送同步码;其中,所述同步码根据所述待测设备的时钟频率获得;以使所述主机用于依据所述同步码获取所述待测设备的通信速率,并基于所述通信速率与所述待测设备进行初始化设置;若所述主机与所述待测设备初始化设置成功,所述主机与所述待测设备之间握手成功;
所述调试模块和所述复位模块接收所述主机发送的交互数据;
所述调试模块判断所述交互数据是否正确,若正确,则依据所述交互数据,执行调试操作;
所述复位模块在所述交互数据的通信速率小于所述待测设备的复位周期的情况下,依据所述交互数据,执行复位操作。
11.根据权利要求10所述的方法,其特征在于,所述交互数据包括校验信息和命令信息,所述调试模块判断所述交互数据是否正确的步骤包括:
所述调试模块判断所述校验信息和所述命令信息是否正确;
若所述校验信息和所述命令信息中的任意一个不正确,所述调试模块向所述主机发送错误提示信息;
若所述校验信息和所述命令信息均正确,所述调试模块则依据所述命令信息,执行所述调试操作。
12.根据权利要求11所述的方法,其特征在于,所述若所述校验信息和所述命令信息均正确,所述调试模块则依据所述命令信息,执行所述调试操作的步骤之后,所述方法还包括:
所述调试模块检查所述调试操作的状态,并在执行所述调试操作完成后,向所述主机发送回复帧信息;
所述调试模块接收所述主机发送的重复上传命令;其中,所述重复上传命令为所述主机在所述回复帧信息不正确的情况下产生;
所述调试模块依据所述重复上传命令向所述主机发送新的回复帧信息;
其中,所述回复帧信息正确或所述主机发送的重复上传命令的次数达到预设次数,所述主机停止向所述待测设备发送所述重复上传命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110780359.5A CN113626310B (zh) | 2021-07-09 | 2021-07-09 | 一种开发调试系统、待测设备和调试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110780359.5A CN113626310B (zh) | 2021-07-09 | 2021-07-09 | 一种开发调试系统、待测设备和调试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113626310A CN113626310A (zh) | 2021-11-09 |
CN113626310B true CN113626310B (zh) | 2023-11-24 |
Family
ID=78379448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110780359.5A Active CN113626310B (zh) | 2021-07-09 | 2021-07-09 | 一种开发调试系统、待测设备和调试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113626310B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114564414B (zh) * | 2022-04-28 | 2022-08-09 | 武汉慧联无限科技有限公司 | 调试方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140298A (zh) * | 2007-02-27 | 2008-03-12 | 中兴通讯股份有限公司 | 用于单板上的jtag链路的测试访问端口的复位装置 |
US8732526B1 (en) * | 2011-06-24 | 2014-05-20 | Maxim Integrated Products, Inc. | Single-wire data interface for programming, debugging and testing a programmable element |
CN106055497A (zh) * | 2016-06-02 | 2016-10-26 | 广东盈科电子有限公司 | 一种电路板的通讯方法及其电路板 |
CN112738259A (zh) * | 2020-12-31 | 2021-04-30 | 广州航天海特系统工程有限公司 | 一种以太网数据传输方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8737526B2 (en) * | 2010-06-30 | 2014-05-27 | Qualcomm Incorporated | Predistortion of complex modulated waveform |
-
2021
- 2021-07-09 CN CN202110780359.5A patent/CN113626310B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140298A (zh) * | 2007-02-27 | 2008-03-12 | 中兴通讯股份有限公司 | 用于单板上的jtag链路的测试访问端口的复位装置 |
US8732526B1 (en) * | 2011-06-24 | 2014-05-20 | Maxim Integrated Products, Inc. | Single-wire data interface for programming, debugging and testing a programmable element |
CN106055497A (zh) * | 2016-06-02 | 2016-10-26 | 广东盈科电子有限公司 | 一种电路板的通讯方法及其电路板 |
CN112738259A (zh) * | 2020-12-31 | 2021-04-30 | 广州航天海特系统工程有限公司 | 一种以太网数据传输方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
程明等.《无人值班变电站监控技术》.北京:中国电力出版社,1999,(第1版),219-234. * |
Also Published As
Publication number | Publication date |
---|---|
CN113626310A (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1902596B (zh) | 串行点到点链路的可编程测量的方法、设备及系统 | |
CN100511171C (zh) | 一种单板调试串口功能的测试方法及其系统 | |
CN112653738B (zh) | 一种物联网网络调试系统和调试方法 | |
CN113626310B (zh) | 一种开发调试系统、待测设备和调试方法 | |
EP1615164A2 (en) | IC card with self-diagnostic function | |
CN113612565B (zh) | 一种开发调试系统、握手方法和装置 | |
CN113645093B (zh) | 一种待测设备、开发调试系统和通信方法 | |
CN113176966B (zh) | 一种检查spi接收数据有效性的系统及方法 | |
US9495315B2 (en) | Information processing device and data communication method | |
CN112799887A (zh) | 一种芯片ft测试系统以及测试方法 | |
CN114513436B (zh) | Sdio设备传输速率的检测方法、系统及存储介质 | |
CN112346896B (zh) | 恢复集成电路卡的错误状态的方法、通信系统和存储介质 | |
US20050256984A1 (en) | Implementation of a master loopback mode | |
CN119382836B (zh) | 一种串行通信总线验证方法、装置、系统及存储介质 | |
RU170434U1 (ru) | Программируемый JTAG - модуль диагностирования | |
CN112380119B (zh) | 芯片、编程调试器、系统及锁定编程调试入口的方法 | |
CN115499097B (zh) | 接口短时驱动实现方法、装置、发送器和接收器 | |
CN110492979B (zh) | 一种增量数据传输方法、装置、从机及存储介质 | |
CN104038309A (zh) | 仿真系统通信方法和仿真系统 | |
US20230011127A1 (en) | Introduction and Detection of Parity Error in a UART | |
CN113364564A (zh) | 数据传输方法、微处理器、数据传输设备及存储介质 | |
CN119902925A (zh) | 一种全双工uart数据自检装置及方法 | |
CN108932200B (zh) | 一种测试电路及软件调试方法 | |
CN117389806A (zh) | 一种主板调试系统、方法及电子设备 | |
WO2023283074A1 (en) | Introduction and detection of parity error for self testing of a universal asynchronous receiver transmitter |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |