一种SPI接口调试方法与流程

文档序号:12597242阅读:2275来源:国知局
一种SPI接口调试方法与流程

本发明涉及SoC领域,特别是涉及一种使用SPI接口对SoC进行调试的方法和装置。



背景技术:

SoC全称是(System on Chip),意为片上系统,也称为芯片级系统,是将系统关键部件集成在一块芯片上。

SPI接口全称是(Serial Peripheral Interface),意为串行外围接口,是Motorola公司首先在其处理器上定义的。

随着SoC设计的日益复杂,调试工作在SoC设计中所占的比例越来越大。现今的SoC中大多支持SPI接口协议,并且一般的芯片都会提供几条边界扫描链,用来实现测试功能。倘若能使用SPI接口读写扫描链上的寄存器来实现对SoC进行调试,则能最大化利用SPI接口和减少其它调试接口的数量。



技术实现要素:

基于上述情况,本发明提出了一种SPI接口调试方法和装置,应用本方法和装置,能够实现通过SPI接口进行对SoC芯片进行调试,向芯片内部指定位置读写数据。

本发明是通过下述技术方案来实现SPI接口对SoC芯片进行调试的:

一种SPI接口调试方法,其特点在于使用SPI接口对芯片内部信号进行读写,该方法包括以下步骤:

101、SPI接收外部输入数据;

102、判断SoC系统是否为调试模式,若SoC系统为非调试模式,则进入步骤103;若SoC系统为调试模式,则进入步骤104;

103、进行正常的SPI数据传输;

104、将接收到的数据进行解码,得到读写模式,操作地址,数据;

105、对步骤104得到的读写模式进行判断,若为写模式则进入步骤106;若为读模式则进入步骤107;

106、将步骤104解码得到的数据写到步骤S4得到的操作地址中;

107、往步骤104得到的操作地址读数据,将读到的数据通过SPI接口进行输出。

附图说明

图1为一个实施例中的SPI接口调试方法流程示意图;

图2为一个实施例中的SPI接口调试装置结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

参见图1,在一个实施例中提供了一种SPI接口调试方法。该方法包括:

步骤101,SPI接收外部输入数据。

具体的,通过SPI接口MOSI接收输入的数据,在调试模式下,写模式的输入数据格式为:串行16位命令地址CMD[15:0],紧接着输入串行16位数据DATA[15:0];其中串行输入的16位命令地址中,最高位CMD[15]为读写标志位,该位置0以标志着调试模式是写模式;CMD[14:0]为写操作地址;DATA[15:0]写入的数据;

在调试下,读模式的输入数据格式为串行16位命令地址CMD[15:0];其中串行输入的16位命令地址的最高位CMD[15]为读写标志位,该位置1以标志着调试模式是读模式。

步骤102,判断SoC系统是否为调试模式。

通过检测SoC芯片的调试使能信号是否有效,来判断系统是否进入调试状态;若测试使能信号有效,则标志系统为调试模式;若测试使能信号无效,则系统为非调试模式。

步骤103,进行正常的SPI读写操作。

步骤104,对SPI接收到的数据进行解码,得到读写模式,地址,数据。

具体的,在一个实施例中,对CMD[15]进行判断,为1则为读操作,为0则为写操作。将CMD[14:0]中的数据标记为操作地址,将DATA[15:0]中的数据标记为写数据。

105,判断读写模式,在一个实施例中,对CMD[15]进行判断,为1则为读操作,为0则为写操作。

106,将步骤104解码得到的数据写到步骤S4得到的操作地址中。

107,往步骤104得到的操作地址读数据,将读到的数据通过SPI接口进行输出。

上述SPI接口调试方法,能够实现通过SPI接口进行对SoC芯片进行调试,向芯片内部指定位置读写数据,最大化利用SPI接口和减少其它调试接口的数量。

参见图2,在一个实施例中提供了一种SPI接口调试装置。该装置包括:

SPI数据接收单元201,用于接收从SPI接口输入的数据。

系统状态判断单元202,用于判断SoC芯片的系统是否为调试模式。

数据处理解码单元203,用于对输入的数据进行解码,得到SPI调试的读写模式、操作地址、数据。

读写模式判断单元204,用于判断SPI调试的模式。

读写寄存器单元205,用于根据数据解码单元得到的读写模式、操作地址、数据,来对芯片的边界扫描寄存器进行读写操作。

在一个实施例中,SPI数据接收单元201,接收数据的方法为:

通过SPI接口MOSI接收输入的数据,在调试模式下,写模式的输入数据格式为:串行16位命令地址CMD[15:0],紧接着输入串行16位数据DATA[15:0];其中串行输入的16位命令地址中,最高位CMD[15]为读写标志位,该位置0以标志着调试模式是写模式;CMD[14:0]为写操作地址;DATA[15:0]写入的数据;

在调试下,读模式的输入数据格式为串行16位命令地址CMD[15:0];其中串行输入的16位命令地址的最高位CMD[15]为读写标志位,该位置1以标志着调试模式是读模式。

在一个实施例中,系统状态判断单元202,通过检测SoC芯片的调试使能信号是否有效,来判断系统是否进入调试状态;若测试使能信号有效,则标志系统为调试模式;若测试使能信号无效,则系统为非调试模式。

在一个实施例中,数据处理解码单元203,用于对串行输入命令的最高位CMD[15]进行判断,若为1则为标志着读操作,若为0则标志着为写操作;将串行输入命令CMD[14:0]中的数据标记为操作地址,将DATA[15:0]中的数据标记为写数据。

在一个实施例中,读写寄存器单元205,用于根据数据解码单元得到的读写模式、操作地址、数据,来对芯片的边界扫描寄存器进行读写操作。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1