专利名称:一种调试系统和方法
技术领域:
本发明涉及处理器的芯片调试技术领域,特别是指一种调试系统和方法。
背景技术:
随着电子技术的发展,家用电器、掌上设备、电脑等越来越智能,功能也越来越复杂,这些复杂的设备都依赖于或受益于集成电路的发展。复杂的集成电路或芯片都由上百万甚至上千万门晶体管构成。设计这样的芯片常常需要一套非常科学完整的流程。其中设计、验证是两个必不可少的过程。通常,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所示,所述按照单线传输协议的数据帧由起始位、同步半字节、传输字和校验字节组成;
所述第二发送模块1 进一步用于将所述单线缆总线由空闲状态转至起始位状态即将所述单线缆总线拉低,发送同步半字节数据至所述调试代理设备11,并依据所述调试目标设备12的发送时钟,发送传输字给所述调试代理设备11 ;并在发送完所述传输字后,发送校验字节给所述调试代理设备11 ;
所述第一接收模块113进一步用于将所述单线缆总线拉高,接收所述同步半字节数据,并提取出所述调试目标设备12的发送时钟;并根据所述调试目标设备12的发送时钟,接收所述传输字;并在接收所述传输字完毕后,接收所述校验字节;并依据所述校验字节对所述传输字进行和校验,如果和校验正确,则将所述传输字发送至所述第一解析模块 114,使所述第一解析模块114对所述传输字解封装,并将解封装后的传输字保存在所述调试代理设备的数据缓冲区。其中,再如图1所示,在上述调试代理设备11和调试目标设备12实现的单线通讯架构中,调试代理设备11中的第一封装模块111和第一解析模块114在具体实现时,可以设计在同一协议解析层,该协议解析层既可以按照单线传输协议要求的格式对数据进行封装也可以对数据进行解封装;同样调试代理设备11中的第一发送模块112和第一接收模块 113在具体实现时,可以设计在同一个位发送接收层,该位发送接收层既可以发送数据也可以接收数据;
同样的,上述调试目标设备12中的第二封装模块123和第二解析模块122在具体实现时,也可以设计在同一协议解析层,该协议解析层既可以按照单线传输协议要求的格式对数据进行封装也可以对数据进行解封装;该调试目标设备12中的第二发送模块IM和第二接收模块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等芯片的单线传输协议,发送的校验字节应该是 0xl00-0xl2-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位校验字节OxEC,调试目标设备12继续按照提取的时钟接收调试代理设备11发送的校验字节OxEC。当8位校验字节OxEC发送完毕后,调试代理设备11进入总线空闲状态。调试目标设备12根据收到的8 位校验字节OxEC进行传输字0x12345678的和校验,如果和校验正确,则使得接收的传输字 0x12345678有效。否则扔掉接收到的传输字0x12345678。假设接收的传输字和校验字节正好为传输字 0x12:345678 和校验字节 OxEC,那么由于(0xl2+0x34+0x56+0x78+0xEC) %0Xf f=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=0xE C,组成和校验。调试代理设备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位校验字节OxEC,当8位校验字节OxEC全部接收完毕后,调试代理设备根据收到的8位校验字节OxEC进行32位传输字0x12345678的和校验,如果和校验正确,则使得接收的传输字0x12345678有效。否则扔掉接收到的传输字。此时调试目标设备进入总线空闲状态。假设接收的传输字为0x12345678,收到的校验字节位OxEC,那么依据和校验公式(0xl2+0x34+0x56+0x78+0xEC)%0XfT=0得知此次接收正确,收到的传输字0x12345678有效。综上所述,本发明的上述实施例由于使用了单线传输,硬件资源占用少,实现简单,易用使用。本发明的实施例还提供一种调试方法,应用于包括有调试代理设备和调试目标设备的调试系统,其中所述调试方法包括
所述调试代理设备采用单线传输协议和所述调试目标设备进行通讯,其中所述调试代理设备与所述调试目标设备通过单线缆总线连接。其中,所述调试代理设备采用单线传输协议和所述调试目标设备进行通讯具体包括
所述调试代理设备将需要发送至所述调试目标设备的数据按照所述单线传输协议要求的格式进行封装,生成封装后的数据;
所述调试代理设备将所述封装后的数据通过所述单线缆总线发送至所述调试目标设备;使所述调试目标设备通过所述单线缆总线接收所述调试代理设备发送的所述封装后的数据,将所述封装后的数据解封装,并将所述解封装后的数据保存至所述调试目标设备的数据缓冲区。具体来讲,调试代理设备向调试目标设备发送数据的过程如下
所述按照单线传输协议的数据帧由起始位、同步半字节、传输字和校验字节组成; 所述调试代理设备将所述单线缆总线由空闲状态转至起始位状态,并将所述单线缆总线拉低,发送同步半字节数据至所述调试目标设备;并依据所述同步半字节数据中的所述调试代理设备的发送时钟,发送传输字给所述调试目标设备;并在发送完所述传输字后,发送校验字节给所述调试目标设备;
调试目标设备在接收数据时,将所述单线缆总线拉高,接收所述同步半字节数据,并提取出所述调试代理设备的发送时钟;并根据所述调试代理设备的发送时钟,接收所述传输字;并在接收所述传输字完毕后,接收所述校验字节;并依据所述校验字节对所述传输字进行和校验,如果和校验正确,则将所述传输字保存在所述调试目标设备的数据缓冲区。另外,所述调试代理设备采用单线传输协议和所述调试目标设备进行通讯还包括
所述调试代理设备通过所述单线缆总线接收所述调试目标设备发送的封装后的数据, 其中所述调试目标设备发送的封装后的数据是按照所述单线传输协议要求的格式进行封装的;
所述调试代理设备将所述封装后的数据解封装,得到解封装后的数据,并将所述解封装后的数据保存至所述调试代理设备的数据缓冲区。具体来讲,调试目标设备将所述单线缆总线由空闲状态转至起始位状态即将所述单线缆总线拉低,发送同步半字节数据至所述调试代理设备,并依据所述调试目标设备的发送时钟,发送传输字给所述调试代理设备;并在发送完所述传输字后,发送校验字节给所述调试代理设备;
所述调试代理设备将所述单线缆总线拉高,接收所述同步半字节数据,并提取出所述调试目标设备的发送时钟;并根据所述调试目标设备的发送时钟,接收所述传输字;并在接收所述传输字完毕后,接收所述校验字节;并依据所述校验字节对所述传输字进行和校验,如果和校验正确,则将所述传输字保存在所述调试代理设备的数据缓冲区。需要说明的是上述系统中的所有实现方式均适用于该方法实施例中,也能达到相同的技术效果,在此不再赘述。 以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
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所述调试方法,其特征在于,所述调试代理设备采用单线传输协议和所述调试目标设备进行通讯,还包括所述调试代理设备通过所述单线缆总线接收所述调试目标设备发送的封装后的数据, 其中所述调试目标设备发送的封装后的数据是按照所述单线传输协议要求的格式进行封装的;所述调试代理设备将所述封装后的数据解封装,得到解封装后的数据,并将所述解封装后的数据保存至所述调试代理设备的数据缓冲区。
全文摘要
本发明提供一种调试系统和方法,其中调试系统,包括调试代理设备和调试目标设备;其中,所述调试代理设备和所述调试目标设备通过单线缆总线连接,并采用单线传输协议进行通讯。本发明的方案使芯片调试占用硬件资源少,实现简单,易于使用。
文档编号H04L12/26GK102571472SQ201010607218
公开日2012年7月11日 申请日期2010年12月27日 优先权日2010年12月27日
发明者李陆军 申请人:北京国睿中数科技股份有限公司