发明内容
本发明的主要目的在于提供一种测试芯片及电子设备的测试方法,旨在达成提高出厂产品的合格率的效果。
为实现上述目的,本发明提供一种测试芯片,所述测试芯片包括CPLD可编程逻辑器件、数据选择器、第一接口和第二接口,所述CPLD经所述数据选择器与所述第一接口及所述第二接口连接,所述第一接口用于与电子设备的中央控制器连接,所述第二接口用于与所述电子设备的存储器连接;所述CPLD控制所述数据选择器连通所述第二接口,以通过所述第二接口读取所述存储器中的烧录标识,并在根据所述烧录标识判定所述存储器中的基本输入输出系统固件烧录成功时,控制所述数据选择器连通所述第一接口和所述第二接口。
可选地,所述测试芯片还包括第三接口,所述CPLD经所述第三接口与电子设备的开机控制芯片连接,所述CPLD还用于在判定所述存储器烧录成功时,向所述开机控制芯片发送开机控制号,以控制所述电子设备执行开机动作。
可选地,所述测试芯片还包括拨码开关,所述CPLD中保存有多个用于实现不同功能的固件,所述CPLD在读取到所述拨码开关对应的拨码值时,根据所述拨码值在多个所述固件中选定目标固件,并执行所述目标固件。
可选地,所述测试芯片还包括指示灯,所述指示灯与所述CPLD连通,用于输出所述CPLD的工作状态。
可选地,所述测试芯片还包括烧录座,所述烧录座经数据选择器与所述CPLD通信连接,所述烧录座设置为向所述CPLD中烧录控制固件。
此外本发明还提供一种电子设备的测试方法,所述电子设备的测试方法应用于如上所述的测试芯片,所述电子设备的测试方法包括以下步骤:
CPLD控制所述数据选择器连通第二接口,并通过所述第二接口读取存储器中的烧录标识;
在根据所述烧录标识判定所述存储器中的固件烧录成功时,控制所述数据选择器连通第一接口和所述第二接口,以使中央处理器读取并运行所述存储器中保存的基本输入输出系统固件。
可选地,所述CPLD控制所述数据选择器连通第二接口的步骤之后,还包括:
所述CPLD通过所述第二接口获取所述存储器中的基本输入输出系统固件的固件类型,其中,所述固件类型包括通用固件和专用固件;
输出所述固件类型。
可选地,所述CPLD控制所述数据选择器连通第二接口,并通过所述第二接口读取存储器中的烧录标识的步骤包括:
所述CPLD通过所述第二接口读取所述存储器中预设寄存器的数值,并将所述数值作为所述烧录标识。
可选地,所述CPLD控制所述数据选择器连通第二接口,并通过所述第二接口读取存储器中的烧录标识的步骤之后,还包括:
在所述CPLD检测到所述存储中的固件烧录成功时,所述CPLD向通过第三接口开机控制芯片发送开机控制信号,其中,所述开机控制芯片在接收到所述开机控制信号时,控制电子设备执行开机动作;
执行所述控制所述数据选择器连通第一接口和所述第二接口的步骤。
可选地,所述CPLD控制所述数据选择器连通第二接口,并通过所述第二接口读取存储器中的烧录标识的步骤之前,还包括:
所述CPLD获取拨码开关的拨码值;
在所述拨码值为预设码值时,执行所述CPLD控制所述数据选择器连通第二接口的步骤。
本发明实施例提出的一种电子设备的测试方法,由于CPLD先控制所述数据选择器连通第二接口,并通过所述第二接口读取存储器中的烧录标识,然后,根据所述烧录标识判断所述存储器中的BIOS固件是否烧录成功,当所述CPLD检测到所述存储器中的固件烧录成功时,控制所述数据选择器连通第一接口和所述第二接口,以使中央处理器读取并运行所述存储器中保存的BIOS固件。由于可以控制接通CPU与BIOS ROM之间的数据通道,从而使得CPU可以读取存储器中的BIOS固件,以实现电子设备的开机。这样电子设备生产厂家可以在加密电子产品出厂前对其进行测试,达成了提高出厂产品的合格率的效果。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
作为一种实施方式,本发明提出一种测试芯片,所述测试芯片包括:CPLD可编程逻辑器件、数据选择器、第一接口和第二接口,所述CPLD经所述数据选择器与所述第一接口及所述第二接口连接,所述第一接口用于与电子设备的中央控制器连接,所述第二接口用于与所述电子设备的BIOS只读存储器连接;所述CPLD控制所述数据选择器连通所述第二接口,以通过所述第二接口读取BIOS只读存储器中的烧录标识,并在根据所述烧录标识判定烧录成功时,控制所述数据选择器连通所述第一接口和所述第二接口。
具体地,如图1所示,所述测试芯片10可以与电子设备20通过预设接口实现物理连接。
所述测试芯片10包括CPLD(Complex Programmable Logic Device,可编程逻辑器件)11,数据选择器(multiplexer,MUX)12,第一接口13及第二接口14。其中所述第一接口13分别与所述数据选择器12和中央处理器(CPU)21连接。所述第二接口14分别与存储器22连接。其中,所述存储器为BIOS ROM(Basic Input Output System read only memor,基本输入输出系统只读存储器)。使得CPLD 11可以通过数据选择器12及所述第二接口14与所述存储器22之间建立通信连接。
需要说明的是,所述CPLD 11与所述数据选择器12之间通过SPI(SerialPeripheral Interface,串行外设接口)总线连接,所述第一接口13及第二接口14均为SPI接口。所述CPLD 11可以控制数据选择器12接通CPLD 11与BIOS ROM 22之间的数据通道,从而使得CPLD 11可以基于SPI传输协议与BIOS ROM 22之间进行数据交互。进一步地CPLD 11通过所述第二接口14读取BIOSROM 22中的预设寄存器的具体值作为所述烧录标识。所述CPLD 11还可以控制数据选择器12接通所述第一接口13和第二接口14,从而使得CPU21与BIOS ROM 22之间通信连接,其中,CPU21与BIOS ROM 22之间基于SPI传输协议进行数据交互。CPU21可以读取BIOS ROM 22中烧录的BIOS固件,并执行所述BIOS固件。
可选地,所述测试芯片10还包括第三接口15,所述CPLD11经所述第三接口与电子设备的EC(embedded controller,开机控制芯片)连接23,当CPLD11判定BIOS ROM22中的BIOS固件烧录成功时,CPLD11可以通过第三接口15向所述EC23发送开机控制信号(control信号)。当EC 23接收control信号时,可以控制电子设备的各个部件上电,以执行开机动作。
可选地,所述测试芯片10还包括拨码开关16,所述拨码开关16可以设置不同的拨码值。所述拨码开关16与CPLD11之间通信连接,使得CPLD11可以读取拨码开关16当前对应的拨码值。
所述CPLD11中可以烧录有多个不同的控制固件,当CPLD11读取到拨码开关16当前对应的拨码值时,可以根据所述拨码值在所述多个固件中选定目标固件,并执行所述目标固件。其中,所述拨码值与所述固件一一对应,当确定所述拨码值时,将所述拨码值对应的固件作为目标固件。
可选地,所述测试芯片10还包括指示灯17,(例如,指示灯可以是LEDs),所述指示灯17与所述CPLD11连通,CPLD11可以通过控制指示灯17点亮时的颜色和/或闪烁频率等输出CPLD的工作状态。示例性地,在CPLD正常工作时,控制指示灯17发出绿色光,并以1HZ的频率闪烁。
可选地,所述测试芯片10还包括烧录座18,所述烧录座18经数据选择器12与所述CPLD11通信连接,所述烧录座设置为向所述CPLD中烧录控制固件。其中,所述烧录座18通过SPI接口与数据选择器12连接,使得当数据选择器12接通CPLD11与烧录座18之间的数据通道后,CPLD11与烧录座18之间可以基于SPI通信协议进行数据通信。
可选地,可以将所述测试芯片10中的全部外接接口集成设置。例如,可以将测试芯片10的外部接口集成为M.2接口,使得测试芯片10可以通过插件的方式实现与待测试的电子设备20之间的物理连接。这样达成了简化测试芯片10连接步骤的效果。
本领域技术人员可以理解,图1中示出的结构并不构成对测试芯片10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
进一步地,由于在电子设备中,当用户需要对电子设备进行开机操作时,CPU需要通过加密芯片获取电子设备的BIOS ROM中保存的BIOS固件,以基于所述BIOS固件执行开机动作。
但是因加密芯片为技术秘密,因此客户无法为生产厂家提供加密芯片,以供厂家在电子设备出厂前进行开机检测。导致电子设备生产厂家无法在加密电子产品出厂前对其进行测试,这样导致出厂产品的不合格率较高。
基于上述缺陷,本发明实施例基于如上所述的测试芯片,提出一种电子设备的测试方法,所述电子设备的测试方法主要包括以下步骤:
CPLD控制所述数据选择器连通第二接口,并通过所述第二接口读取存储器中的烧录标识;
在根据所述烧录标识判定所述存储器中的固件烧录成功时,控制所述数据选择器连通第一接口和所述第二接口,以使中央处理器读取并运行所述存储器中保存的基本输入输出系统固件。
进一步地,CPLD执行自身以烧录的固件时,还可以执行以下步骤:
所述CPLD通过所述第二接口获取所述存储器中的基本输入输出系统固件的固件类型,其中,所述固件类型包括通用固件和专用固件;
输出所述固件类型。
进一步地,CPLD执行自身以烧录的固件时,还可以执行以下步骤:
所述CPLD通过所述第二接口读取所述存储器中预设寄存器的数值,并将所述数值作为所述烧录标识。
进一步地,CPLD执行自身以烧录的固件时,还可以执行以下步骤:
在所述CPLD检测到所述基本输入输出系统只读存储中的固件烧录成功时,所述CPLD向通过第三接口开机控制芯片发送开机控制信号,其中,所述开机控制芯片在接收到所述开机控制信号时,控制电子设备执行开机动作;
执行所述控制所述数据选择器连通第一接口和所述第二接口的步骤。
进一步地,CPLD执行自身以烧录的固件时,还可以执行以下步骤:
所述CPLD获取拨码开关的拨码值;
在所述拨码值为预设码值时,执行所述CPLD控制所述数据选择器连通第二接口的步骤。
参照图2,在本发明电子设备的测试方法的一实施例中,所述电子设备的测试方法包括以下步骤:
步骤S10、CPLD控制所述数据选择器连通第二接口,并通过所述第二接口读取存储器中的烧录标识;
在本实施例中,可以预先向CPLD中烧录开机控制固件,在所述CPLD执行所述开机控制固件时,实现本发明电子设备测试方法的各个步骤。
具体地,当测试芯片与电子设备之间物理连接之后,可以检测电子设备开机按钮的触发状态。当检测到电子设备的开机按钮被触发时,可以控制测试芯片上电,并开始执行所述开机控制固件。
在测试芯片上电后,可以先进行自检,以确定自身当前的工作状态。进一步地,当检测到自身工作状态时,可以通过指示灯输出自身工作状态。示例性地,可以在自身工作状态正常时,控制指示灯以1hz的频率闪烁,并在点亮时发出绿光,在自身工作状态异常时,控制指示灯常亮并发出红光,或者控制指示灯已1 hz的频率闪烁,并在点亮时发出红光。
进一步地,在CPLD检测到自身工作状态正常时,可以控制数据选择器连通第二接口,使得CPLD与BIOS ROM之间可以基于SPI协议进行数据通信。
当CPLD与BIOS ROM之间的数据通道建立之后,CPLD可以基于SPI协议读取BIOSROM中第一预设寄存器的具体值。并将所述具体值作为所述烧录标识。
可以理解的是,所述第一预设寄存器的地址是预先设定的。示例性地,CPLD可以读取BIOS ROM中地址为0570090H~05700d0H的寄存器的具体数值,作为所述烧录标识。
步骤S20、根据所述烧录标识判断所述存储器中的基本输入输出系统固件是否烧录成功;
在本实施例中,当获取到所述烧录标识时,判断所述烧录标识对应的数值是否与预设的数值相同。若两者相同,则判定BIOS ROM中固件烧录成功。若两者不同,则判定BIOSROM中固件烧录异常。
进一步地,在固件烧录异常时,可以通过指示灯输出固件烧录异常的提示信息。例如,可以控制指示灯显示以5hz的频率闪烁,并在点亮时显示红光。
步骤S30、在根据所述烧录标识判定所述存储器中的固件烧录成功时,控制所述数据选择器连通第一接口和所述第二接口,以使中央处理器读取并运行所述存储器中保存的基本输入输出系统固件。
在本实施例中,当CPLD检测到所述BIOS ROM中固件烧录成功时,可以控制数据选择器接通第一接口与第二接口。从而建立CPU与BIOS ROM之间的通信连接。当CPU与BIOSROM之间建立通信连接之后,CPU可以基于SPI协议与BIOS ROM之间进行数据通信,以使CPU从BIOS ROM中读取BIOS 固件。并执行所述BIOS 固件,以实现开机显示的效果。
具体地,当CPLD检测到所述BIOS ROM中固件烧录成功时,所述CPLD先向开机控制芯片发送控制信息,其中,所述开机控制芯片在接收到所述控制信号时,控制电子设备的各个部件接入电源。这样使得电子设备的各个部件都可以完成上电操作。当电子设备的各个部件均上电后,CPU可以读取并执行BIOS ROM中的BISO固件,从而使得CPU在执行所述BIOS固件时,控制电子设备的各个部件运行,以实现开机。其中,所述开机控制芯片用于控制信号时序、监测电源适配器和/或电池供电状态。
在本实施例公开的技术方案中,CPLD先控制所述数据选择器连通第二接口,以通过所述第二接口读取BIOS只读存储器中的烧录标识,然后,根据所述烧录标识判断所述BIOS只读存储器中的BIOS固件是否烧录成功,当所述CPLD检测到所述BIOS只读存储中的固件烧录成功时,控制所述数据选择器连通第一接口和所述第二接口,以使中央处理器读取并运行所述BIOS只读存储器中保存的BIOS固件。由于可以控制接通CPU与BIOS ROM之间的数据通道,从而使得CPU可以读取BIOS ROM中的BIOS固件,以实现电子设备的开机。这样电子设备生产厂家可以在加密电子产品出厂前对其进行测试,达成了提高出厂产品的合格率的效果。
参照图3,基于上述实施例,在另一实施例中,所述步骤S10之后,还包括:
步骤S40、所述CPLD通过所述第二接口获取所述存储器中的基本输入输出系统固件的固件类型,其中,所述固件类型包括通用固件和专用固件;
步骤S50、输出所述固件类型。
在本实施例中,当CPLD与BIOS ROM建立数据通信后,还可以读取BIOSROM中第二预设寄存器的具体值。当第二预设寄存器的具体值未第一数值时,判定BISO ROM中烧录的固件为专用BISO固件,当第二预设寄存器的具体值未第二数值时,判定BIOS ROM中当前烧录的固件为通用BIOS固件。
当获取到固件类型时,可以通过指示灯输出所述固件类型。示例性地,当获取到的固件类型为通用BIOS固件时,控制指示灯黄灯常亮,当所述固件类型为通用固件时,控制指示灯蓝灯长亮。
在本实施例公开的技术方案中,可以自动检测并输出BIOS ROM中的固件类型,这样达成了简化固件类型检测的步骤的效果。
参照图4,基于上述任一实施例,在又一实施例中,所述步骤S10之前,还包括:
步骤S60、所述CPLD获取拨码开关的拨码值;
步骤S70、判断所述拨码值是否为预设拨码值。
在本实施例中,CPLD在上电之后,还可以先获取拨码开关当前对应的拨码值,然后判断所述拨码值是否为预设的拨码值。当所述拨码值为预设拨码值时,执行所述步骤S10。
可以理解的是,CPLD中可以保存多个用于控制CPLD实现不同功能的固件,并且所述多个固件可以与拨码值一一对应。当CPLD获取到拨码值时,可以根据拨码值确定目标固件。其中,所述预设固件与用于控制CPLD开机的开机控制固件对应。当获取到的拨码值为所述预设拨码值时,将所述开机控制固件作为目标固件。使得CPLD在运行所述开机固件时,执行如步骤S10至步骤S30所述的步骤。
可选地,还可以设置第二预设拨码值,当获取到的拨码值不是所述预设拨码值时,判断所述拨码值是否为第二拨码值。其中,所述第二拨码值对应的固件可以是用于控制CPLD进行主板检测的检测固件。当获取到的拨码值为第二拨码值时,将所述检测固件作为目标固件,并控制所述CPLD运行所述检测固件。
当所述检测固件被运行时,CPLD可以基于串口交互功能向预设部件发送检测信号。示例性地,可以向系统指示灯发送检测信息。当系统指示灯接收到所述检测信号时,亮起。以检测系统指示灯是否正常。
在本实施例公开的技术方案中,获取拨码开关的拨码值,在所述拨码值为预设码值时,执行所述CPLD控制所述数据选择器连通第二接口的步骤,达成了通过拨码开关控制测试芯片不同功能的效果。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是智能手机等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或之间或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。