发明内容
本发明提供一种芯片、芯片调试方法以及芯片与外部设备通信的方法,用以实现调试设备的即插即用,提高芯片系统调试的效率,降低设备调试和维修成本。
本发明实施例提供的具体技术方案如下:
一种芯片,包括:处理器、调试端口、数据传输端口以及数据传输管脚,还包括:
时分多路复用器,与所述数据传输管脚连接,用于根据所述处理器的控制,将经由所述调试端口和/或数据传输端口的信号通过所述数据传输管脚传送。
一种上述芯片的调试方法,包括:
通过数据传输管脚将外部调试设备发送的调试信号传送至时分多路复用器,所述时分多路复用器根据接收的选择控制信号,将所述调试信号经由对应的调试端口传送至处理器;所述选择控制信号是由处理器根据用户选择的调试类型向所述时分多路复用器发送的;
所述处理器根据接收到的调试信号返回相应的返回信号,经由所述对应的调试端口、时分多路复用器以及数据传送管脚传送至所述外部调试设备。
一种上述芯片与外部设备进行通信的方法,包括:
由芯片处理器发送外部设备检测命令至数据传输端口,并控制所述时分多路复用器将所述外部设备检测命令通过数据传输管脚发送;所述外部设备检测命令用于检测所述数据传输管脚是否连接有数据传输设备;
当所述处理器接收到返回的所述外部设备检测命令的响应消息后,判定所述数据传输管脚连接有数据传输设备,则通过所述时分多路复用器将经由数据传输端口的业务数据通过所述数据传输管脚传送。
基于上述技术方案,本发明实施例中,通过芯片处理器控制时分多路复用器将经由数据传输端口和/或调试端口的信号通过芯片的数据传输管脚传送,从而将经由调试端口的信号经由数据传输管脚引出,在对芯片系统进行调试时,可以直接利用通过数据传输管脚引出的经由调试端口的信号,实现简单,节约成本。并且,在需要对芯片系统进行调试时,无需对产品进行拆壳飞线等破坏性处理,提高了调试效率。同时,通过芯片的数据传输端口引出经由调试端口的信号有利于实现外部调试设备的即插即用,不管是底层调试还是系统、驱动和应用调试,即插即用的调试方式可以贯穿整个产品项目的开发或维修调试过程,进一步提高了调试效率,节约了成本。
具体实施方式
为了实现调试设备的即插即用,提高芯片系统调试的效率,降低设备调试和维修成本,本发明提供了一种芯片、芯片的调试方法以及芯片与外部设备进行通信的方法。
下面结合附图对本发明优选的实施方式进行详细说明。
如附图1所示,本发明实施例提供了一种芯片,该芯片包括处理器10、调试端口11、数据传输端口12以及数据传输管脚13,此外,该芯片还包括:时分多路复用器14,该时分多路复用器14与数据传输管脚13连接,用于根据处理器10的控制,将经由调试端口11和/或数据传输端口12的信号通过数据传输管脚13传送。
其中,调试端口至少包括JTAG端口和异步接收发送(UART)端口中的一种,数据传输端口为安全数字输入输出(SDIO)端口,与SDIO端口对应的数据传输管脚为SDIO管脚。实际应用中,只要芯片相应信号所占用的管脚数目能够满足调试信号所需占用的管脚数据,且该信号能够与调试信号通过时分多路复用器实现相应管脚的复用即可。
较佳地,如附图2所示,可以将经由JTAG端口20的信号、经由UART端口21的信号以及经由SDIO端口22的信号通过时分多路复用器14后经SDIO管脚传送。
其中,时分多路复用器对应有寄存器,用于寄存处理器发送的选择控制信号,时分多路复用器根据寄存的选择控制信号,将经由调试端口的信号通过数据传输管脚传送,或者将经由数据传输端口的信号通过数据传输管脚传送,或者将经由调试端口的信号和经由数据传输端口的信号通过数据传输管脚传送。
其中,将经由调试端口的信号通过数据传输管脚传送,可以是同时有一种调试端口的信号通过数据传输管脚传送,也可以是同时有两种或两种以上的调试端口的信号通过数据传输管脚传送。在一个较佳的实施例中,时分多路复用器中针对每一信号比特位都相应的设置有寄存器,每一比特位的寄存器寄存的控制信号用于控制针对该比特位信号的复用状态切换,从而可以实现时分多路复用器对信号的一个比特位分别进行控制,例如,可以通过时分多路复用器实现同时输出部分JTAG信号和部分UART信号,也可以通过时分多路复用器实现同时输出部分JTAG信号和部分SDIO信号。
较佳地,芯片的数据传输管脚连接有转接板,该转接板具有与数据传输管脚数目相同且结构相匹配的数据传输接口,并具有与外部调试设备相连接的调试接口,该调试接口分别与相应的数据传输接口相连接。
如附图3所示,本发明实施例还提供了一种上述芯片的调试方法,其详细流程如下:
步骤301:通过数据传输管脚将外部调试设备发送的调试信号传送至时分多路复用器,时分多路复用器根据接收的选择控制信号,将调试信号经由对应的调试端口传送至处理器,其中,选择控制信号是由处理器根据用户选择的调试类型向时分多路复用器发送的。
其中,调试类型为用户根据当前的采用的外部调试设备以及该外部调试设备对应的芯片的调试端口确定。例如,若当前需要进行JTAG调试,则将调试类型设定为JTAG调试,处理器根据用户指定的JTAG调试类型,发送与JTAG调试类型对应的选择控制信号,时分多路复用器在该选择控制信号的控制下将数据传输管脚复用为传送经由JTAG端口的信号。
实际应用中,对调试类型的选择实现方式有多种,较佳的一种实现方式为在芯片处理器中预设按键与调试类型的关系,用户根据当前采用的外部调试设备确定调试类型后,将与调试类型对应的按键按下,处理器在检测到有按键按下时,选择与该按键相应的调试类型,并将与该调试类型对应的选择控制信号发送给时分多路复用器。例如,如附图4所示,芯片上电后,检测是否有按键按下,若有,则选择该按键对应的调试类型,否则,通过SDIO端口传输数据。
步骤302:由处理器根据接收的调试信号返回相应的返回信号,经由对应的调试端口、时分多路复用器以及数据传送管脚传送至外部调试设备。
其中,调试端口至少为JTAG端口和UART端口中的一种。
较佳地,调试端口包括JTAG端口和通用异步接收发送(UART)端口,数据传输管脚包括用于传送经由JTAG端口的调试信号的第一部分管脚,以及用于传送经由UART端口的调试信号的第二部分管脚;当第一部分管脚接收到JTAG调试设备发送的JTAG调试信号,且第二部分管脚接收到UART调试设备发送的UART调试信号时,经时分多路复用器发送JTAG调试信号至相应的JTAG端口,以及发送UART调试信号至相应的UART端口;与JTAG调试信号相应的返回信号和与UART调试信号相应的返回信号,分别经由相应的JTAG调试端口和相应的UART端口以及时分多路复用器,分别由第一部分管脚和第二部分管脚传送至连接的JTAG调试设备和UART调试设备。该实现方式可以将JTAG调试信号通过数据传输管脚中的第一部分进行传送,同时将UART调试信号通过数据传输管脚的第二部分进行传送,同时可以使用JTAG调试设备和UART调试设备对芯片进行调试。
以数据传输管脚为SDIO管脚为例,可以针对SDIO管脚中每一个管脚分别进行设置,即将SDIO管脚中的一部分用于输出UART信号,另一部分用于输出JTAG信号,从而能够同时实现UART和JTAG信号输出。其中,能够同时将SDIO管脚切换为UART和JTAG信号输出的管脚复用方式有很多种,例如,表1所示为实现同时切换为UART和JTAG信号输出的一种管脚复用方式,
表1
管脚名称 |
SDIO信号 |
调试信号 |
P_SD0_D0 |
SD0_D0 |
UART_RX |
P_SD0_D1 |
SD0_D1 |
UART_TX |
P_SD0_D2 |
SD0_D2 |
EJ_TDO |
P_SD0_D3 |
SD0_D3 |
EJ_TDI |
P_SD0_CLK |
SD0_CLK |
EJ_TCK |
P_SD0_CMD |
SD0_CMD |
EJ_TMS |
以数据传输设备为标准SDIO设备,数据传输管脚为SDIO管脚为例,在标准SDIO设备为安全数字存储卡(即SD卡)时,将SD卡插入相应的卡槽中,以与位于卡槽内的芯片的SDIO管脚相连接,实现SDIO功能,这就使得在需要对芯片进行调试时,同样需要将位于卡槽内的SDIO管脚传送的JTAG信号和/或UART信号引出,如附图5所示,以与外部调试设备连接,才能够对芯片系统进行调试。
在一个较佳的实施例中,外部调试设备经由转接板与芯片的数据传输管脚连接,该转接板具有与被调试芯片的数据传输管脚数目相同且结构相匹配的数据传输接口,并具有与外部调试设备相连接的调试接口,调试接口分别与相应的数据传输接口相连接。
以数据传输管脚为SDIO管脚,数据传输端口为SDIO端口,外部调试设备为JTAG和UART为例,如附图6所示,转接板主要包括与芯片管脚连接的部分61和附加部分62,其中,与芯片管脚连接的部分61上设置有与被调试芯片的SDIO管脚数目相同且结构相匹配的SDIO接口610;附加部分62上设置有用于连接JTAG调试设备的JTAG连接端口620和用于连接UART调试设备的UART连接端口621,JTAG连接端口620和UART连接端口621分别与相应的SDIO接口相连接。在进行调试时,将该转接板插入SD卡的卡槽中即可通过SDIO接口将JTAG信号和/或UART信号引出至JTAG调试设备和/或UART调试设备,从而实现调试设备的即插即用,提高调试效率。
如附图7所示,本发明实施例中还提供了一种上述芯片与外部设备进行通信的方法,其详细流程如下:
步骤701:由芯片处理器发送外部设备检测命令至数据传输端口,并控制时分多路复用器将外部设备检测命令通过数据传输管脚发送,其中,外部设备检测命令用于检测数据传输管脚是否连接有数据传输设备。
其中,处理器发送外部设备检测命令可以有以下两种方式:第一种实现方式为处理器按照预定的时间间隔发送外部设备检测命令;第二种实行方式为在芯片上设有用于检测数据传输管脚是否连接有外部设备的检测引脚,当根据检测引脚确定出数据传输管脚连接有外部设备时,处理器产生外部中断,启动发送外部设备检测命令。
在一个具体的实现方式中,数据传输端口为SDIO端口,数据传输管脚为SDIO管脚,数据传输设备为标准SDIO设备,外部设备检测命令为SDIO标准命令字,通过SDIO标准命令字查询与芯片的SDIO管脚连接的是否为标准SDIO设备。
步骤702:当处理器接收到返回的外部设备检测命令的响应消息后,判定数据传输管脚连接有数据传输设备,则通过时分多路复用器将经由数据传输端口的业务数据通过数据传输管脚传送。
本实施例中,若处理器未收到返回的外部设备检测命令的响应消息,则控制时分多路复用器将经由调试端口的信号通过数据传输管脚发送。也就是说,在数据传输管脚未连接数据传输设备时,通过时分多路复用器将该数据传输管脚用于传送调试信号,在处理器发送外部设备检测命令时,控制时分多路复用器将数据传输管脚用于传送经由数据传输端口的业务数据。
其中,实现芯片数据传输管脚的复用可以有多种实现方式,例如,将芯片SDIO管脚通过时分多路复用器复用为传送经由JTAG端口的信号、经由UART端口的信号和经由SDIO端口的信号,其复用关系可以有多种设置方式,如表2所示,为芯片SDIO管脚的复用关系中的一种:
表2
以数据传输端口为SDIO端口,数据传输管脚为SDIO管脚,数据传输设备为标准SDIO设备为例,如附图8所示,在芯片上电后,芯片的时分多路复用器默认将芯片的SDIO管脚复用为传送调试端口的信号,芯片处理器按照预定的时间间隔发送SDIO标准命令字,同时控制时分多路复用器将该芯片的SDIO管脚用为传送SDIO端口的信号,并在接收到标准SDIO设备返回的响应后,在时分多路复用器将SDIO管脚用为传送SDIO端口信号的复用状态下,在芯片的SDIO端口和标准SDIO设备之间进行数据传输。
基于上述技术方案,本发明实施例中,通过芯片处理器控制时分多路复用器将经由数据传输端口和/或调试端口的信号通过芯片的数据传输管脚传送,从而将经由调试端口的信号经由数据传输管脚引出,在对芯片系统进行调试时,可以直接利用通过数据传输管脚引出的经由调试端口的信号,实现简单,节约成本。并且,在需要对芯片系统进行调试时,无需对产品进行拆壳飞线等破坏性处理,提高了调试效率。同时,通过芯片的数据传输端口引出经由调试端口的信号有利于实现外部调试设备的即插即用,不管是底层调试还是系统、驱动和应用调试,即插即用的调试方式可以贯穿整个产品项目的开发或维修调试过程,进一步提高了调试效率,节约了成本。
同时,本发明实施中,通过转接板与数据传输管脚相连接,将调试信号引出,以用于对芯片系统进行调试,从而实现了外部调试设备的即插即用,不管是底层调试所需的JTAG端口,还是系统、驱动和应用调试所需的UART端口,即插即用的调试方式可以贯穿整个产品项目的开发或维修调试过程,进一步提高了调试效率,节约了成本。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。