CN102571472A - 一种调试系统和方法 - Google Patents
一种调试系统和方法 Download PDFInfo
- Publication number
- CN102571472A CN102571472A CN2010106072185A CN201010607218A CN102571472A CN 102571472 A CN102571472 A CN 102571472A CN 2010106072185 A CN2010106072185 A CN 2010106072185A CN 201010607218 A CN201010607218 A CN 201010607218A CN 102571472 A CN102571472 A CN 102571472A
- Authority
- CN
- China
- Prior art keywords
- debugging
- data
- transmission
- equipment
- agent
- 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 39
- 230000005540 biological transmission Effects 0.000 claims description 172
- 239000003795 chemical substances by application Substances 0.000 claims description 148
- 230000001360 synchronised effect Effects 0.000 claims description 34
- 238000005538 encapsulation Methods 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000002360 preparation method Methods 0.000 claims 1
- 230000008901 benefit Effects 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 230000007547 defect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012942 design verification Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种调试系统和方法,其中调试系统,包括:调试代理设备和调试目标设备;其中,所述调试代理设备和所述调试目标设备通过单线缆总线连接,并采用单线传输协议进行通讯。本发明的方案使芯片调试占用硬件资源少,实现简单,易于使用。
Description
技术领域
本发明涉及处理器的芯片调试技术领域,特别是指一种调试系统和方法。
背景技术
随着电子技术的发展,家用电器、掌上设备、电脑等越来越智能,功能也越来越复杂,这些复杂的设备都依赖于或受益于集成电路的发展。复杂的集成电路或芯片都由上百万甚至上千万门晶体管构成。设计这样的芯片常常需要一套非常科学完整的流程。其中设计、验证是两个必不可少的过程。通常,ASIC(Application Specific Intergrated Circuits即专用集成电路)设计验证工作都由FPGA( Field-Programmable Gate Array,现场可编程门阵列)来完成。因此FPGA成为了FPGA本身及ASIC验证的一个非常重要的验证平台。
在FPGA,ASIC验证方法或手段中,一个重要的方面就是需要人与验证板或者FPGA、ASIC芯片进行交互,交互的目的就是需要了解FPGA、ASIC芯片内部模块的状态,如存储单元,控制单元的一些运行情况,以便对FPGA,ASIC芯片的工作运行情况做一个基本的判断,决定功能是否良好,是否应该采取一些其它的措施,以及如何采取进一步的措施。
这个交互由很多方式方法来进行。这些方式方法有很多不同的分类,按照数据传输的模式来分,可以分为串行传输方式和并行传输方式。串行传输方式就是将需要的信息按照一位一位的方式传送到用户端,由用户端进行处理后以适当的方式呈现在用户面前。串行传输方式的优点就是节省硬件资源特别是硬件端口资源,适用于远距离传输,缺点是处理相对复杂,对内部处理机制的要求较高。并行传输方式是将需要的信息按照所需要的位尺寸多位多位地传送到用户端,由用户端进行处理后以适当的方式呈现在用户面前。并行传输方式的优点就是处理相对简单,传输码率相对高,缺点是不适合远距离传输,对硬件资源要求较多。
按照数据呈现的方式来分可以分为简单显示方式和复杂显示方式。简单显示方式如鸣叫,闪灯等信号告知用户芯片内部相关信息,功能正常与否的提示。简单显示方式通常不需要复杂的处理,实现简单,但是由于显示本身的缺陷,无法让用户了解一些具体的细节信息。复杂显示方式如显示屏,通过一些必要的处理工作,可以将所需要的信息按照用户需要完全呈现给用户。复杂显示通常需要比较复杂的处理工作,实现相对复杂。
按照通讯线缆的长短来分可以分为本地调试方式和远程调试方式。本地调试方式是指用户能够看到调试的FPGA,ASIC芯片调试板,并按照用户要求对调试板进行模式设置,进行全面的调试工作。本地调试方式给予用户极大的自由度和最大的掌控。远程调试方式通常相对本地调试应用范围面窄,用户由于看不到调试的FPGA,ASIC芯片调试板,无法对调试板进行必要的模式设置,所以调试功能有限,通常使用在成熟的产品的后期维护中。
按照通讯连接使用的协议来分可以分为为标准连接方式与非标准连接方式。标准连接方式指调试方与被调试方之间通过标准的通讯协议进行通讯,采用的通讯协议如联合测试行动组标准(JTAG), 电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口(UART), Service Provider Interface(SPI), Inter-Integrated Circuit总线(I2C), IEEE制定的IEEE 802.3标准以太网(EETHNET)互联接口, 通用串行总线(USB)等。非标准连接方式指调试方与被调试方之间通过非标准的通讯协议进行通讯,使用的通讯协议采用内部自定义的协议,目的仅在方便使用。
上述无论哪种调试方式其在实现时都需要硬件资源的支持,不同的调试方案和方法对于硬件资源的需求不同。在具体工程应用中,由于各种原因,常常会碰到调试板资源受限的情况,比如FPGA,ASIC芯片端口不够用,连线不方便等问题。根据具体的工程应用,有时对调试并没有特别复杂的要求,只是需要提供一种简单而可行的调试方案,在调试板或其它硬件资源受限的情况下依然可以进行正常的调试工作,而无需对产品设计本身做太多改动以在调试时对这种资源受限的情况做出让步,这时,能够利用最少的硬件资源,既能有效保证FPGA,ASIC芯片调试的顺利进行,又能在实现时简单,快捷的方案,往往会受到工程人员的青睐。
因此,现有技术中应用于FPGA,ASIC芯片的调试通讯技术,占用资源多,实现复杂。
发明内容
本发明要解决的技术问题是提供一种调试系统和方法,使芯片调试占用硬件资源少,实现简单,易于使用。
为解决上述技术问题,本发明的实施例提供一种调试系统,包括:调试代理设备和调试目标设备;其中,
所述调试代理设备和所述调试目标设备通过单线缆总线连接,并采用单线传输协议进行通讯。
其中,所述调试代理设备包括:
第一封装模块,用于将所述调试代理设备发送至所述调试目标设备的数据按照所述单线传输协议要求的格式进行封装,生成封装后的数据;
第一发送模块,用于将所述封装后的数据通过所述单线缆总线发送至所述调试目标设备;
所述调试目标设备包括:
第二接收模块,用于通过所述单线缆总线接收所述第一发送模块发送的所述封装后的数据;
第二解析模块,用于将所述封装后的数据解封装,得到解封装后的数据,并将所述解封装后的数据保存至所述调试目标设备的数据缓冲区。
按照一个优选实施方案,所述按照单线传输协议的数据帧由起始位、同步半字节、传输字和校验字节组成;
所述第一发送模块进一步用于:将所述单线缆总线由空闲状态转至起始位状态即将所述单线缆总线拉低,发送同步半字节数据至所述调试目标设备;并依据所述同步半字节数据中的所述调试代理设备的发送时钟,发送传输字给所述调试目标设备;并在发送完所述传输字后,发送校验字节给所述调试目标设备;
所述第二接收模块进一步用于:将所述单线缆总线拉高,接收所述同步半字节数据,并提取出所述调试代理设备的发送时钟;并根据所述调试代理设备的发送时钟,接收所述传输字;并在接收所述传输字完毕后,接收所述校验字节;并依据所述校验字节对所述传输字进行和校验,如果和校验正确,则将所述传输字发送至所述第二解析模块,使所述第二解析模块对所述传输字解封装,并将解封装后的传输字保存在所述调试目标设备的数据缓冲区。
按照一个优选实施方案,所述调试目标设备还包括:
第二封装模块,用于将所述调试目标设备发送至所述调试代理设备的数据按照所述单线传输协议要求的格式进行封装,生成封装后的数据;
第二发送模块,用于将所述封装后的数据通过所述单线缆总线发送至所述调试代理设备;
所述调试代理设备还包括:
第一接收模块,用于通过所述单线缆总线接收所述第二发送模块发送的所述封装后的数据;
第一解析模块,用于将所述封装后的数据解封装,得到解封装后的数据,并将所述解封装后的数据保存至所述调试代理设备的数据缓冲区。
按照一个优选实施方案,按照单线传输协议的数据帧由起始位、同步半字节、传输字和校验字节组成;所述第二发送模块进一步用于:将所述单线缆总线由空闲状态转至起始位状态即将所述单线缆总线拉低,发送同步半字节数据至所述调试代理设备,并依据所述调试目标设备的发送时钟,发送传输字给所述调试代理设备;并在发送完所述传输字后,发送校验字节给所述调试代理设备;
所述第一接收模块进一步用于:将所述单线缆总线拉高,接收所述同步半字节数据,并提取出所述调试目标设备的发送时钟;并根据所述调试目标设备的发送时钟,接收所述传输字;并在接收所述传输字完毕后,接收所述校验字节;并依据所述校验字节对所述传输字进行和校验,如果和校验正确,则将所述传输字发送至所述第一解析模块,使所述第一解析模块对所述传输字解封装,并将解封装后的传输字保存在所述调试代理设备的数据缓冲区。
按照一个优选实施方案,所述同步半字节数据为4位二进制序列;所述传输字为32位的传输字;所述校验字节为8位校验字节。
按照一个优选实施方案,所述调试目标设备为ASIC芯片或者FPGA芯片。
本发明还提供一种调试方法,应用于包括有调试代理设备和调试目标设备的调试系统,所述调试方法包括:
所述调试代理设备采用单线传输协议和所述调试目标设备进行通讯,其中所述调试代理设备与所述调试目标设备通过单线缆总线连接。
按照一个优选实施方案,所述调试代理设备采用单线传输协议和所述调试目标设备进行通讯包括:
所述调试代理设备将需要发送至所述调试目标设备的数据按照所述单线传输协议要求的格式进行封装,生成封装后的数据;
所述调试代理设备将所述封装后的数据通过所述单线缆总线发送至所述调试目标设备;使所述调试目标设备通过所述单线缆总线接收所述封装后的数据,并将所述封装后的数据解封装,并将所述解封装后的数据保存至所述调试目标设备的数据缓冲区。
按照一个优选实施方案,所述调试代理设备采用单线传输协议和所述调试目标设备进行通讯,还包括:
所述调试代理设备通过所述单线缆总线接收所述调试目标设备发送的封装后的数据,其中所述调试目标设备发送的封装后的数据是按照所述单线传输协议要求的格式进行封装的;
所述调试代理设备将所述封装后的数据解封装,得到解封装后的数据,并将所述解封装后的数据保存至所述调试代理设备的数据缓冲区。
本发明的上述技术方案的有益效果如下:
上述方案中,通过将单线传输协议构架在单线缆总线上,调试代理设备与调试目标设备通过该单线缆总线连接,并通过该单线传输协议进行数据通讯,实现时对硬件要求低,芯片调试占用硬件资源少,实现简单。
附图说明
图1为本发明的调试系统的架构框图;
图2为调试代理设备与调试目标设备之间的单线传输协议数据帧格式图;
图3是适用于FPGA,ASIC等芯片的单线调试通讯数据波形示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有技术中,对ASIC芯片的调试硬件资源开销大,控制复杂的问题,提供一种调试系统和方法,使芯片调试占用硬件资源少,实现简单,易于使用。
如图1所示,本发明的调试系统,包括:调试代理设备11和调试目标设备12,其中,所述调试代理设备11和所述调试目标设备12通过单线缆总线13连接,并采用单线传输协议进行通讯。
本发明的该调试系统的单线传输协议是构架在单线缆总线上的,通讯协议简单,所以实现时对硬件要求低,实现简单。
进一步的,在上述调试系统中,调试代理设备11向调试目标设备12之间采用单线传输协议进行通讯包括以下4个方面:
第一实施例:调试代理设备11向调试目标设备12发送数据;
第二实施例:调试代理设备11接收调试目标设备12的发送数据;
第三实施例:调试目标设备12向调试代理设备11发送数据,该种情况与上述第二实施例所述的情况相同;
第四实施例:调试目标设备12接收调试代理设备11的发送数据,该种情况与上述第一实施例所述的情况相同;
下面以上述第一实施例和第二实施例为重点介绍本发明的调试系统中调试代理设备11和调试目标设备12之间的数据通讯。
第一实施例:调试代理设备11向调试目标设备12发送数据时,所述调试代理设备11包括:
第一封装模块111,用于将所述调试代理设备11发送至所述调试目标设备12的数据按照所述单线传输协议要求的格式进行封装,生成封装后的数据;
第一发送模块112,用于将所述封装后的数据通过所述单线缆总线发送至所述调试目标设备12;
所述调试目标设备12包括:
第二接收模块121,用于通过所述单线缆总线接收所述第一发送模块112发送的所述封装后的数据;
第二解析模块122,用于将所述封装后的数据解封装,得到解封装后的数据,并将所述解封装后的数据保存至所述调试目标设备的数据缓冲区。
具体来讲,上述调试代理设备11向调试目标设备12发送数据的具体实现过程包括:
如图2所示,所述按照单线传输协议的数据帧由起始位、同步半字节、传输字、校验字节组成;
所述第一发送模块112进一步用于:将所述单线缆总线由空闲状态转至起始位状态即将所述单线缆总线拉低,发送同步半字节数据至所述调试目标设备12;并依据所述同步半字节数据中的所述调试代理设备11的发送时钟,发送传输字给所述调试目标设备12;并在发送完所述传输字后,发送校验字节给所述调试目标设备12;
所述第二接收模块121进一步用于:将所述单线缆总线拉高,接收所述同步半字节数据,并提取出所述调试代理设备11的发送时钟;并根据所述调试代理设备11的发送时钟,接收所述传输字;并在接收所述传输字完毕后,接收所述校验字节;并依据所述校验字节对所述传输字进行和校验,如果和校验正确,则将所述传输字发送至所述第二解析模块122,使所述第二解析模块122对所述传输字解封装,并将解封装后的传输字保存在所述调试目标设备的数据缓冲区。
第二实施例:在上述调试系统中,调试代理设备11接收调试目标设备12发送的数据时(该过程也相当于调试目标设备12向调试代理设备11发送数据的过程),所述调试目标设备12还包括:
第二封装模块123,用于将所述调试目标设备12发送至所述调试代理设备11的数据按照所述单线传输协议要求的格式进行封装,生成封装后的数据;
第二发送模块124,用于将所述封装后的数据通过所述单线缆总线发送至所述调试代理设备11;
所述调试代理设备11还包括:
第一接收模块113,用于通过所述单线缆总线接收所述第二发送模块发送的所述封装后的数据;
第一解析模块114,用于将所述封装后的数据解封装,得到解封装后的数据,并将所述解封装后的数据保存至所述调试代理设备的数据缓冲区。
具体来讲,上述调试代理设备11接收调试目标设备12的发送数据的具体实现过程包括:
如图2所示,所述按照单线传输协议的数据帧由起始位、同步半字节、传输字和校验字节组成;
所述第二发送模块124进一步用于:将所述单线缆总线由空闲状态转至起始位状态即将所述单线缆总线拉低,发送同步半字节数据至所述调试代理设备11,并依据所述调试目标设备12的发送时钟,发送传输字给所述调试代理设备11;并在发送完所述传输字后,发送校验字节给所述调试代理设备11;
所述第一接收模块113进一步用于:将所述单线缆总线拉高,接收所述同步半字节数据,并提取出所述调试目标设备12的发送时钟;并根据所述调试目标设备12的发送时钟,接收所述传输字;并在接收所述传输字完毕后,接收所述校验字节;并依据所述校验字节对所述传输字进行和校验,如果和校验正确,则将所述传输字发送至所述第一解析模块114,使所述第一解析模块114对所述传输字解封装,并将解封装后的传输字保存在所述调试代理设备的数据缓冲区。
其中,再如图1所示,在上述调试代理设备11和调试目标设备12实现的单线通讯架构中,调试代理设备11中的第一封装模块111和第一解析模块114在具体实现时,可以设计在同一协议解析层,该协议解析层既可以按照单线传输协议要求的格式对数据进行封装也可以对数据进行解封装;同样调试代理设备11中的第一发送模块112和第一接收模块113在具体实现时,可以设计在同一个位发送接收层,该位发送接收层既可以发送数据也可以接收数据;
同样的,上述调试目标设备12中的第二封装模块123和第二解析模块122在具体实现时,也可以设计在同一协议解析层,该协议解析层既可以按照单线传输协议要求的格式对数据进行封装也可以对数据进行解封装;该调试目标设备12中的第二发送模块124和第二接收模块121在具体实现时,可以设计在同一位发送接收层,该位发送接收层既可以发送数据也可以接收数据;上述调试代理设备的数据缓冲区可以是设置在该调试代理设备的协议解析层的数据缓冲区;上述调试目标设备的数据缓冲区也可以是设置在该调试目标设备的协议解析层的数据缓冲区。
下面再结合具体的应用实例说明本发明的上述调试系统的具体实现过程:
再如图2所示,上述调试系统中的调试目标设备具体可以是FPGA或者ASIC芯片,图2所示的是依照适用于FPGA,ASIC芯片的调试技术单线传输协议的数据帧格式图,该单线传输协议的数据帧格式图中,适用于FPGA,ASIC芯片的单线传输协议的数据帧由空闲状态、起始位、同步半字节、传输字和校验字节组成,其中所述起始位可以为1位,所述同步半字节数据可以为4位二进制序列,如1010;所述传输字可以为32位的传输字;所述校验字节可以为8位校验字节。
当调试代理设备11向调试目标设备12发送数据时,调试代理设备11首先把要发送的数据(即传输字)放到调试代理设备11的协议解析层的数据缓冲区(具体可以是上述第一封装模块的数据缓冲区),协议解析层按照适用于FPGA或者ASIC等芯片的单线传输协议将要发送的数据封装成协议所要求的格式,然后发送至调试代理设备11的位发送接收层(具体是第一发送模块),由位发送接收层发送到调试目标设备12。
具体发送的过程如下:
当调试代理设备11向调试目标设备12发送数据时,调试代理设备11通知位发送接收层将总线13由空闲状态转至开始位状态,即拉低总线13;
紧接着调试代理设备11通知位发送接收层发送同步半字节1010二进制序列到总线13上,调试目标设备12依据该调试目标设备12的位发送接收层(具体是第二接收模块)接收的同步半字节,进行所述调试代理设备11的发送时钟的提取;
在调试代理设备11发送完同步半字节后,调试目标设备12应该完成接收所述调试代理设备11的发送时钟的提取工作。
调试代理设备11依据其发送时钟发送32位的传输字给调试目标设备12,调试目标设备12依据提取的时钟进行传输字的接收,并将接收到的传输字存储在自己的存储单元(如可以是调试目标设备的协议解析层的数据缓冲区)内。
当32位的传输字传输完毕后,调试代理设备11开始发送8位校验字节,调试目标设备12继续按照提取的所述调试代理设备的发送时钟,接收调试代理设备11发送的校验字节。
当8位校验字节发送完毕后,调试代理设备11进入总线空闲状态;
调试目标设备12根据收到的8位校验字节进行32位传输字的和校验,如果和校验正确,则使得接收的传输字有效;否则扔掉接收到的传输字。
在调试代理设备11发送传输字的整个过程中,调试目标设备12保持总线的上拉状态,其中该上拉状态即为保持接收状态。
下面以具体的例子,通过调试代理设备11发送数据到调试目标设备12的过程,说明如何采用单根线缆作为调试目标设备和调试代理设备的通讯连接使得线路连接和控制简单,达到有效通讯的目的:
例1.假设调试代理设备11要发送0x12345678命令给调试目标设备12,那么0x12345678命令作为传输字,按照适用于FPGA,ASIC等芯片的单线传输协议,发送的校验字节应该是0x100-0x12-0x34-0x56-0x78=0xEC,组成和校验。
发送过程如下:
当调试代理设备11向调试目标设备12发送传输字0x12345678时,调试代理设备11通知第一发送模块将总线13由空闲状态转至开始位状态,即拉低总线13,紧接着调试代理设备11通知第一发送模块发送同步半字节1010二进制序列到总线13上,调试目标设备12依据第二接收模块接收的同步半字节1010二进制序列进行时钟提取(该时钟即为调试代理设备的发送时钟),在调试代理设备11发送完同步半字节1010二进制序列后,调试目标设备12应该完成时钟的提取工作。随后,调试代理设备11依据其发送时钟发送32位的传输字0x12345678传输字给调试目标设备12,调试目标设备12依据提取的时钟进行传输字0x12345678的接收,并将接收到的传输字0x12345678存储在自己的存储单元内。当32位传输字0x12345678传输完毕后,调试代理设备11开始发送8位校验字节0xEC,调试目标设备12继续按照提取的时钟接收调试代理设备11发送的校验字节0xEC。当8位校验字节0xEC发送完毕后,调试代理设备11进入总线空闲状态。调试目标设备12根据收到的8位校验字节0xEC进行传输字0x12345678的和校验,如果和校验正确,则使得接收的传输字0x12345678有效。否则扔掉接收到的传输字0x12345678。假设接收的传输字和校验字节正好为传输字0x12345678和校验字节0xEC,那么由于(0x12+0x34+0x56+0x78+0xEC)%0Xff=0,所以检验正确,接收的数据合法。
当调试代理设备11接收调试目标设备12的发送数据时,调试代理设备11首先把总线设置到接收状态,即拉高总线。接着调试代理设备11的第一接收模块检测总线的开始位状态,一旦检测到开始位,即刻按照适用于FPGA,ASIC等芯片的单线传输协议接收调试目标设备12的发送数据。具体接收的过程如下:
当调试代理设备11接收调试目标设备12的发送数据时,调试代理设备11通知第一接收模块将总线13置为空闲状态,即拉高总线,紧接着调试代理设备11的第一接收模块检测总线13开始位状态,当检测到开始位后,调试代理设备的协议解析层开始依照适用于FPGA,ASIC等芯片的单线传输协议通知第一接收模块接收调试目标设备12发送的同步半字节,接收完同步半字节后,调试代理设备11应该能够依照同步半字节提取出调试目标设备12的发送时钟。随后,调试代理设备11的协议解析层通知第一接收模块依据提取出的调试目标设备12的发送时钟,接收该调试目标设备12发送的传输字,即发送的32位的传输字,第一接收模块接收完毕后,将该传输字存储在协议解析层的数据缓冲区内。接着协议解析层通知第一接收模块继续接收调试目标设备12发送的8位校验字节,当8位校验字节全部接收完毕后,调试代理设备11根据收到的8位校验字节进行32位传输字的和校验,如果和校验正确,则使得接收的传输字有效。否则扔掉接收到的传输字。此时调试目标设备12进入总线空闲状态。
下面以具体的例子,通过调试代理设备接收调试目标设备的发送数据的过程,说明如何采用单根线缆作为调试代理设备和调试目标设备的通讯连接使得线路连接和控制简单,达到有效通讯的目的:
例2.假设调试代理设备11要接收调试目标设备12的发送数据0x12345678,那么数据0x12345678作为调试目标设备12的传输字,按照适用于FPGA,ASIC等芯片的单线传输协议,调试目标设备12发送的校验字节应该是0x100-(0x12+0x34+0x56+0x78)%0xFF=0xEC,组成和校验。
调试代理设备11接收调试目标设备12的发送数据的过程如下:
当调试代理设备11接收调试目标设备12的发送数据时,调试代理设备11通知第一接收模块将总线13置为空闲状态,即拉高总线13,紧接着调试代理设备11的第一接收模块检测总线13上的开始位状态,当检测到开始位后,调试代理设备11的协议解析层开始依照适用于FPGA,ASIC等芯片的单线传输协议通知第一接收模块接收调试目标设备12发送的同步半字节1010二进制序列,接收完同步半字节1010二进制序列后,调试代理设备11应该能够依照同步半字节1010二进制序列提取出调试目标设备12的发送时钟。随后,调试代理设备11的协议解析层通知第一接收模块依据提取出的调试目标设备12的发送时钟,接收该调试目标设备12发送的数据0x12345678,即发送的32位的传输字,第一接收模块接收完毕后,将该传输字0x12345678 存储在协议解析层的数据缓冲区内。接着协议解析层通知第一接收模块继续接收调试目标设备发送的8位校验字节0xEC,当8位校验字节0xEC全部接收完毕后,调试代理设备根据收到的8位校验字节0xEC进行32位传输字0x12345678的和校验,如果和校验正确,则使得接收的传输字0x12345678有效。否则扔掉接收到的传输字。此时调试目标设备进入总线空闲状态。假设接收的传输字为0x12345678,收到的校验字节位0xEC,那么依据和校验公式(0x12+0x34+0x56+0x78+0xEC)%0Xff=0得知此次接收正确,收到的传输字0x12345678有效。
综上所述,本发明的上述实施例由于使用了单线传输,硬件资源占用少,实现简单,易用使用。
本发明的实施例还提供一种调试方法,应用于包括有调试代理设备和调试目标设备的调试系统,其中所述调试方法包括:
所述调试代理设备采用单线传输协议和所述调试目标设备进行通讯,其中所述调试代理设备与所述调试目标设备通过单线缆总线连接。
其中,所述调试代理设备采用单线传输协议和所述调试目标设备进行通讯具体包括:
所述调试代理设备将需要发送至所述调试目标设备的数据按照所述单线传输协议要求的格式进行封装,生成封装后的数据;
所述调试代理设备将所述封装后的数据通过所述单线缆总线发送至所述调试目标设备;使所述调试目标设备通过所述单线缆总线接收所述调试代理设备发送的所述封装后的数据,将所述封装后的数据解封装,并将所述解封装后的数据保存至所述调试目标设备的数据缓冲区。
具体来讲,调试代理设备向调试目标设备发送数据的过程如下:
所述按照单线传输协议的数据帧由起始位、同步半字节、传输字和校验字节组成;
所述调试代理设备将所述单线缆总线由空闲状态转至起始位状态,并将所述单线缆总线拉低,发送同步半字节数据至所述调试目标设备;并依据所述同步半字节数据中的所述调试代理设备的发送时钟,发送传输字给所述调试目标设备;并在发送完所述传输字后,发送校验字节给所述调试目标设备;
调试目标设备在接收数据时,将所述单线缆总线拉高,接收所述同步半字节数据,并提取出所述调试代理设备的发送时钟;并根据所述调试代理设备的发送时钟,接收所述传输字;并在接收所述传输字完毕后,接收所述校验字节;并依据所述校验字节对所述传输字进行和校验,如果和校验正确,则将所述传输字保存在所述调试目标设备的数据缓冲区。
另外,所述调试代理设备采用单线传输协议和所述调试目标设备进行通讯还包括:
所述调试代理设备通过所述单线缆总线接收所述调试目标设备发送的封装后的数据,其中所述调试目标设备发送的封装后的数据是按照所述单线传输协议要求的格式进行封装的;
所述调试代理设备将所述封装后的数据解封装,得到解封装后的数据,并将所述解封装后的数据保存至所述调试代理设备的数据缓冲区。
具体来讲,调试目标设备将所述单线缆总线由空闲状态转至起始位状态即将所述单线缆总线拉低,发送同步半字节数据至所述调试代理设备,并依据所述调试目标设备的发送时钟,发送传输字给所述调试代理设备;并在发送完所述传输字后,发送校验字节给所述调试代理设备;
所述调试代理设备将所述单线缆总线拉高,接收所述同步半字节数据,并提取出所述调试目标设备的发送时钟;并根据所述调试目标设备的发送时钟,接收所述传输字;并在接收所述传输字完毕后,接收所述校验字节;并依据所述校验字节对所述传输字进行和校验,如果和校验正确,则将所述传输字保存在所述调试代理设备的数据缓冲区。
需要说明的是:上述系统中的所有实现方式均适用于该方法实施例中,也能达到相同的技术效果,在此不再赘述。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1. 一种调试系统,包括:调试代理设备和调试目标设备;其特征在于,
所述调试代理设备和所述调试目标设备通过单线缆总线连接,并采用单线传输协议进行通讯。
2. 根据权利要求1所述的调试系统,其特征在于,
所述调试代理设备包括:
第一封装模块,用于将所述调试代理设备发送至所述调试目标设备的数据按照所述单线传输协议要求的格式进行封装,生成封装后的数据;
第一发送模块,用于将所述封装后的数据通过所述单线缆总线发送至所述调试目标设备;
所述调试目标设备包括:
第二接收模块,用于通过所述单线缆总线接收所述第一发送模块发送的所述封装后的数据;
第二解析模块,用于将所述封装后的数据解封装,得到解封装后的数据,并将所述解封装后的数据保存至所述调试目标设备的数据缓冲区。
3. 根据权利要求2所述的调试系统,其特征在于,按照单线传输协议的数据帧由起始位、同步半字节、传输字和校验字节组成;
所述第一发送模块进一步用于:将所述单线缆总线由空闲状态转至起始位状态,将所述单线缆总线拉低,发送同步半字节数据至所述调试目标设备;并依据所述同步半字节数据中的所述调试代理设备的发送时钟,发送传输字给所述调试目标设备;并在发送完所述传输字后,发送校验字节给所述调试目标设备;
所述第二接收模块进一步用于:将所述单线缆总线拉高,接收所述同步半字节数据,并提取出所述调试代理设备的发送时钟;并根据所述调试代理设备的发送时钟,接收所述传输字;并在接收所述传输字完毕后,接收所述校验字节;并依据所述校验字节对所述传输字进行和校验,如果和校验正确,则将所述传输字发送至所述第二解析模块,使所述第二解析模块对所述传输字解封装,并将解封装后的传输字保存在所述调试目标设备的数据缓冲区。
4. 根据权利要求2所述的调试系统,其特征在于,
所述调试目标设备还包括:
第二封装模块,用于将所述调试目标设备发送至所述调试代理设备的数据按照所述单线传输协议要求的格式进行封装,生成封装后的数据;
第二发送模块,用于将所述封装后的数据通过所述单线缆总线发送至所述调试代理设备;
所述调试代理设备还包括:
第一接收模块,用于通过所述单线缆总线接收所述第二发送模块发送的所述封装后的数据;
第一解析模块,用于将所述封装后的数据解封装,得到解封装后的数据,并将所述解封装后的数据保存至所述调试代理设备的数据缓冲区。
5. 根据权利要求4所述的调试系统,其特征在于,按照单线传输协议的数据帧由起始位、同步半字节、传输字和校验字节组成;
所述第二发送模块进一步用于:将所述单线缆总线由空闲状态转至起始位状态,将所述单线缆总线拉低,发送同步半字节数据至所述调试代理设备,并依据所述调试目标设备的发送时钟,发送传输字给所述调试代理设备;并在发送完所述传输字后,发送校验字节给所述调试代理设备;
所述第一接收模块进一步用于:将所述单线缆总线拉高,接收所述同步半字节数据,并提取出所述调试目标设备的发送时钟;并根据所述调试目标设备的发送时钟,接收所述传输字;并在接收所述传输字完毕后,接收所述校验字节;并依据所述校验字节对所述传输字进行和校验,如果和校验正确,则将所述传输字发送至所述第一解析模块,使所述第一解析模块对所述传输字解封装,并将解封装后的传输字保存在所述调试代理设备的数据缓冲区。
6. 根据权利要求3或5所述的调试系统,其特征在于,所述同步半字节数据为4位二进制序列;所述传输字为32位的传输字;所述校验字节为8位校验字节。
7. 根据权利要求1所述的调试系统,其特征在于,所述调试目标设备为ASIC芯片或者FPGA芯片。
8. 一种调试方法,应用于包括有调试代理设备和调试目标设备的调试系统,其特征在于,所述调试方法包括:
所述调试代理设备采用单线传输协议和所述调试目标设备进行通讯,其中所述调试代理设备与所述调试目标设备通过单线缆总线连接。
9. 根据权利要求8所述的调试方法,其特征在于,所述调试代理设备采用单线传输协议和所述调试目标设备进行通讯包括:
所述调试代理设备将需要发送至所述调试目标设备的数据按照所述单线传输协议要求的格式进行封装,生成封装后的数据;
所述调试代理设备将所述封装后的数据通过所述单线缆总线发送至所述调试目标设备;使所述调试目标设备通过所述单线缆总线接收所述封装后的数据,并将所述封装后的数据解封装,并将所述解封装后的数据保存至所述调试目标设备的数据缓冲区。
10. 根据权利要求8或9所述调试方法,其特征在于,所述调试代理设备采用单线传输协议和所述调试目标设备进行通讯,还包括:
所述调试代理设备通过所述单线缆总线接收所述调试目标设备发送的封装后的数据,其中所述调试目标设备发送的封装后的数据是按照所述单线传输协议要求的格式进行封装的;
所述调试代理设备将所述封装后的数据解封装,得到解封装后的数据,并将所述解封装后的数据保存至所述调试代理设备的数据缓冲区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106072185A CN102571472A (zh) | 2010-12-27 | 2010-12-27 | 一种调试系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106072185A CN102571472A (zh) | 2010-12-27 | 2010-12-27 | 一种调试系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102571472A true CN102571472A (zh) | 2012-07-11 |
Family
ID=46415996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010106072185A Pending CN102571472A (zh) | 2010-12-27 | 2010-12-27 | 一种调试系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102571472A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622010A (zh) * | 2017-08-22 | 2018-01-23 | 上海爱矽半导体科技有限公司 | 一种微控制器单线编程调试接口装置以及调试方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1928845A (zh) * | 2005-09-09 | 2007-03-14 | 上海采微电子科技有限公司 | 用于片上系统的单线调试接口协议 |
CN101267350A (zh) * | 2008-04-24 | 2008-09-17 | 凌阳科技股份有限公司 | 调试方法和调试系统 |
CN101316196A (zh) * | 2007-05-28 | 2008-12-03 | 华为技术有限公司 | 一种对分布式平台上的业务进行仿真测试的实现方法与装置 |
US20090164848A1 (en) * | 2007-12-21 | 2009-06-25 | Robert Heidasch | Intelligent Test Framework |
-
2010
- 2010-12-27 CN CN2010106072185A patent/CN102571472A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1928845A (zh) * | 2005-09-09 | 2007-03-14 | 上海采微电子科技有限公司 | 用于片上系统的单线调试接口协议 |
CN101316196A (zh) * | 2007-05-28 | 2008-12-03 | 华为技术有限公司 | 一种对分布式平台上的业务进行仿真测试的实现方法与装置 |
US20090164848A1 (en) * | 2007-12-21 | 2009-06-25 | Robert Heidasch | Intelligent Test Framework |
CN101267350A (zh) * | 2008-04-24 | 2008-09-17 | 凌阳科技股份有限公司 | 调试方法和调试系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622010A (zh) * | 2017-08-22 | 2018-01-23 | 上海爱矽半导体科技有限公司 | 一种微控制器单线编程调试接口装置以及调试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200265004A1 (en) | Serial connection between management controller and microcontroller | |
KR20090026230A (ko) | 임베디드 시스템의 범용 고속 실시간 모니터링 장치 | |
US9702935B2 (en) | Packet based integrated circuit testing | |
CN106569416B (zh) | 一种微控制器的串行接口与仿真调试接口复用方法及装置 | |
US9292411B2 (en) | Wireless debugging and updating of firmware | |
CN101312302A (zh) | 一种不间断电源并机信号的传输方法 | |
US9197394B2 (en) | Clock for serial communication device | |
CN105243039A (zh) | 一种串口通信系统及方法 | |
CN209089130U (zh) | 一种车载环视监控装置及系统 | |
CN104991883A (zh) | 片间互联的发送、接收装置及发送、接收方法及系统 | |
CN206907017U (zh) | Usb信号延长器、usb信号传输系统 | |
CN112069111B (zh) | 一种兼容双向传输的Retimer转接卡电路设计 | |
CN102571472A (zh) | 一种调试系统和方法 | |
CN107911288B (zh) | 列车通信网卡及列车控制管理系统 | |
CN103532686A (zh) | 带有线序自适应功能的串行数据收发电路及其控制方法 | |
CN206251273U (zh) | 一种mhl到hdmi转接线检测仪 | |
CN110096002A (zh) | 一种基于canfd总线的自动化测试系统及测试方法 | |
TWI407318B (zh) | 低頻交握訊號之偵測方法 | |
CN201222744Y (zh) | 一种现场总线隔离传输装置 | |
CN101290607B (zh) | 一种芯片调试接口装置 | |
CN202652394U (zh) | 数据转换装置 | |
CN105812355B (zh) | 一种lvds接口通信方法 | |
TWI618384B (zh) | 調試數據機的裝置和方法 | |
CN201910801U (zh) | 一种用于实现光纤通道端口热插拔功能的电路 | |
CN104636302A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120711 |