通路的状态确定方法、设备及可读存储介质与流程

文档序号:21318307发布日期:2020-06-30 20:48阅读:248来源:国知局
通路的状态确定方法、设备及可读存储介质与流程

本发明涉及通路的状态测试技术领域,尤其涉及一种通路的状态确定方法、设备及可读存储介质。



背景技术:

手机上诸如相机,led(lightemittingdiode,发光二极管),指纹等外部设备是通过gpio(general-purposeinput/output,通用输入与输出)接口来控制的,上述gpio接口与上述外部设备接口之间的通路是否正常决定了这些外部设备的功能是否正常,是手机pcba(printedcircuitboardassembly,成品线路板)主板质量检查的重要环节。

通常工厂生产测试是通过检测外部设备功能是否正常来判断gpio接口与外部设备接口之间的通路是否正常的,但是这种方法需要外部设备配合,会增加生产成本。

由此可知,目前检测gpio接口与外部设备接口之间的通路是否正常会增加生产成本。



技术实现要素:

本发明的主要目的在于提供一种通路的状态确定方法、设备及可读存储介质,旨在解决现有的通路的状态确定方案会增加生产成本的技术问题。

为实现上述目的,本发明提供一种通路的状态确定方法,成品线路板pcba主板的中央处理器cpu包括至少一个通用输入与输出gpio接口,所述gpio接口在所述pcba主板上有唯一的编号,所述通路的状态确定方法包括以下步骤:

获取到待测试gpio接口的编号;

基于所述待测试gpio接口的编号,改变所述待测试gpio接口的电平,并获取所述待测试gpio接口改变后的电平;

根据所述改变后的电平确定所述待测试gpio接口的状态是否正常;

若所述待测试gpio接口的状态正常,则确定所述待测试gpio接口所对应的通路的状态正常。

可选地,所述基于所述待测试gpio接口的编号,改变所述待测试gpio接口的电平的步骤,包括:

基于所述待测试gpio接口的编号,向所述cpu发送使所述待测试gpio接口处于上拉状态的上拉指令,以通过所述上拉指令改变所述待测试gpio接口的电平;

基于所述待测试gpio接口的编号,向所述cpu发送使所述待测试gpio接口处于下拉状态的下拉指令,以通过所述下拉指令改变所述待测试gpio接口的电平。

可选地,所述获取所述待测试gpio接口的电平的步骤,包括:

获取所述待测试gpio接口处于上拉状态时的所述待测试gpio接口的电平,作为第一电平;

获取所述待测试gpio接口处于下拉状态时的所述待测试gpio接口的电平,作为第二电平,其中,所述第一电平和所述第二电平为所述待测试gpio接口改变后的电平。

可选地,所述根据所述改变后的电平确定所述待测试gpio接口的状态是否正常的步骤,包括:

基于所述第一电平和所述第二电平,确定所述待测试gpio接口的状态是否正常。

可选地,所述待测试gpio接口为输入模式,外部向所述待测试gpio接口输入高电平,所述基于所述第一电平和所述第二电平,确定所述待测试gpio接口的状态是否正常的步骤,包括:

若所述第一电平为所述高电平和所述第二电平为所述高电平,则确定所述待测试gpio接口的状态正常。

可选地,所述基于所述第一电平和所述第二电平,确定所述待测试gpio接口的状态是否正常的步骤,还包括:

若所述第一电平为低电平和/或所述第二电平为低电平,则确定所述待测试gpio接口的状态异常。

可选地,所述若所述第一电平为低电平和/或所述第二电平为低电平,则确定所述待测试gpio接口所对应的通路的状态异常的步骤之后,包括:

记录所述待测试gpio接口的状态异常时的所述待测试gpio接口的编号。

此外,为实现上述目的,本发明还提供一种通路的状态确定设备,所述通路的状态确定设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的通路的状态确定程序,所述通路的状态确定程序被所述处理器执行时实现如上所述的通路的状态确定方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有通路的状态确定程序,所述通路的状态确定程序被处理器执行时实现如上所述的通路的状态确定方法的步骤。

本发明通过获取到待测试gpio接口的编号;基于所述待测试gpio接口的编号,改变所述待测试gpio接口的电平,并获取所述待测试gpio接口改变后的电平;根据所述改变后的电平确定所述待测试gpio接口的状态是否正常;若所述待测试gpio接口的状态正常,确定所述待测试gpio接口所对应的通路的状态正常。具体地,在测试过程中,向cpu发送改变待测试gpio接口的编号所对应的待测试gpio接口的电平的指令,在cpu执行改变待测试gpio接口的编号所对应的待测试gpio接口的电平的指令之后,获取该待测试gpio接口的编号所对应的待测试gpio接口的电平,根据该待测试gpio接口的电平可确定该待测试gpio接口的状态是否正常,由此可确定该gpio接口所对应的通路的状态是否正常。实现了通过软件的方法,而不借助该待测试gpio接口对应的外部设备即可确定该待测试gpio接口所对应的通路的状态,从而降低了生产成本。

附图说明

图1是本发明通路的状态确定方法第一实施例的流程示意图;

图2是本发明通路的状态确定方法实现过程中所涉及的硬件电路图;

图3是本发明实施例中待测试gpio接口的状态全部正常的测试结果示意图;

图4是本发明实施例中包含待测试gpio接口的状态异常情况的测试结果示意图;

图5是本发明实施例方案涉及的硬件运行环境的结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明提供一种通路的状态确定方法,参照图1,图1为本发明通路的状态确定方法第一实施例的流程示意图。

本发明实施例提供了通路的状态确定方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。通路的状态确定方法可应用于pcba主板,其中,pcba主板可为手机pcba主板,或者其他终端设备的pcba主板。为了便于描述,以下省略执行主体描述通路的状态确定方法的各个步骤。通路的状态确定方法包括:

步骤s10,获取到待测试gpio接口的编号。

安卓程序无法直接向硬件下发改变硬件状态的指令,而驱动程序则可以直接向硬件下发改变硬件状态的指令,因此,安卓程序可将指令下发给驱动程序,而后驱动程序根据具体指令对硬件进行操作。另外,安卓程序和驱动程序之间无法直接相互进行通信,它们之间需要借助虚拟设备才能实现相互通信。

以测试手机pcba主板的gpio接口与外部设备接口之间的通路的状态为例,在获取到待测试gpio接口的编号之前,电脑端工具(用于显示测试结果)控制手机pcba主板进入factorymode(工厂模式),此时,会创建相应的虚拟设备。在手机pcba主板进入工厂模式之后,电脑端工具通过kernelport(内核端口)与手机pcba主板进行通讯。在电脑端工具与手机pcba主板建立连接之后,电脑端工具发送“at(attention)”指令(“at”指令是应用于手机pcba主板与电脑端工具之间的连接与通信的指令)使手机pcba主板进入gpio接口测试程序(安卓程序,用于向对应的驱动程序下发测试指令和待测试gpio接口的编号,并且向电脑端工具反馈测试结果),手机pcba主板可以接收并分析由电脑端发送的“at”指令,根据该“at”指令寻找该gpio接口测试程序,若手机pcba主板中存在该gpio接口测试程序,则手机pcba主板进入该gpio接口测试程序。

一般地,手机pcba主板上的cpu会有多个gpio接口,手机pcba主板生产厂商在手机pcba主板出厂时,会给该手机pcba主板上的cpu上的每一个gpio接口进行编号,该编号在当前手机pcba主板上具有唯一性,以区分该手机pcba主板上的cpu上的gpio接口。其中,该手机pcba主板上的cpu上的gpio接口包括输入模式和输出模式,以及至少存在上拉状态和下拉状态,上述两种模式和上述两个状态都可由驱动程序通过cpu上的gpio接口控制寄存器进行控制。

具体地,在检测到上述gpio接口测试程序下发的开始测试指令时,通过输入与输出通道管理函数ioctl,获取上述gpio接口测试程序下发的,记录在上述gpio接口测试程序中,与开始测试指令对应的待测试gpio接口的编号,其中,每个待测试gpio接口对应一个开始测试指令,输入与输出通道管理函数ioctl每次只发送一个待测试gpio接口的编号,当然,在其他实施例中,上述输入与输出通道管理函数ioctl也可以将所有需要测试的待测试gpio接口的编号一次性发送。

步骤s20,基于所述待测试gpio接口的编号,改变所述待测试gpio接口的电平,并获取所述待测试gpio接口改变后的电平。

具体地,在开始测试后,根据获取到的待测试gpio接口的编号,通过cpu上的gpio接口控制寄存器改变与该编号对应的待测试gpio接口的电平,并通过cpu上的gpio接口的数据寄存器,获取待测试gpio接口改变之后的电平。其中,cpu上的gpio接口的数据寄存器用来存储包括待测试gpio接口的电平在内的数据,并且以数字信号的形式保存,数字信号包括0、1。其中,数据寄存器存储的数字信号是经过cpu计算之后的最终结果,数字信号0代表低电平、数字信号1代表高电平。

进一步地,所述基于所述待测试gpio接口的编号,改变所述待测试gpio接口的电平的步骤,包括:

步骤a,基于所述待测试gpio接口的编号,向所述cpu发送使所述待测试gpio接口处于上拉状态的指令,以通过所述上拉指令改变所述待测试gpio接口的电平;

步骤b,基于所述待测试gpio接口的编号,向所述cpu发送使所述待测试gpio接口处于下拉状态的指令,以通过所述下拉指令改变所述待测试gpio接口的电平。

具体地,在基于待测试gpio接口的编号,改变待测试gpio接口的电平时,需要向cpu发送两次指令,一次是通过上拉指令来改变该待测试gpio接口的电平,一次是通过下拉指令来改变该待测试gpio接口的电平。

参照图2,其中,cpu中包括待测试gpio接口、可使该待测试gpio接口处于上拉状态的电阻r1及其所在通路、可使该待测试gpio接口处于上拉状态的电阻r2及其所在通路;在外设(外部设备)接口和其所对应的cpu上的待测试gpio接口之间的通路所对应的模型电路中,存在一外设(外部设备)接口和其所对应的cpu上的待测试gpio接口之间的通路与地之间的等效电阻r4,该等效电阻r4阻值可变,等效电阻r4阻值小时,说明外设(外部设备)接口和其所对应的cpu上的待测试gpio接口之间的通路短路;等效电阻r4阻值大时,说明外设(外部设备)接口和其所对应的cpu上的待测试gpio接口之间的通路断路或正常;手机pcba主板至少由cpu、外部设备接口、cpu与外部设备接口之间的通路组成;测试小板通过外部设备接口与手机pcba主板连通;电阻r1与电阻r2为cpu内部电阻,r3为测试小板上的电阻,其阻值大小远小于r1或r2即可,在本实施例中,r1与r2的阻值大小均为147kω,当然,对于不同的pcba主板,其所对应的cpu内部电阻的阻值大小可能不同,如157kω,r3为4.7kω,当然,r3也可以为其它远小于r1或r2的阻值,如3.7kω,r4阻值为0或无穷大;“1”是指该待测试gpio接口,r1与r2所处通路不同时与该待测试gpio接口连通,r1处于v18的通路中,r2接地,r3处于v18的通路中,其中,v18代表系统电源,其电压为1.8v。具体地,上拉状态是指,将r1所在通路接入到该待测试gpio接口所在通路中时,以改变该待测试gpio接口的电平;下拉状态是指,将r2所在通路接入到该待测试gpio接口所在通路中时,该待测试gpio接口的电平。

进一步地,所述获取所述待测试gpio接口改变后的电平的步骤,包括:

步骤c,获取所述待测试gpio接口处于上拉状态时的所述待测试gpio接口的电平,作为第一电平;

步骤d,获取所述待测试gpio接口处于下拉状态时的所述待测试gpio接口的电平,作为第二电平,其中,所述第一电平和所述第二电平为所述待测试gpio接口改变后的电平。

具体地,在待测试gpio接口处于上拉状态时,通过cpu获取该待测试gpio接口的电平,将获取到的电平作为第一电平;在待测试gpio接口处于下拉状态时,获取该待测试gpio接口的电平,将获取到的电平作为第二电平,其中,第一电平和第二电平为待测试gpio接口改变后的电平。

参照图2,该待测试gpio接口的电平由该待测试gpio接口的电压计算而来,要获取该待测试gpio接口的电平,也就是要获取“1”处的电平,具体地,先获取“1”处的电压,而后通过计算公式,将“1”处的电压转换为“1”处的电平。

具体地,在待测试gpio接口处于上拉状态时,也就是将r1所在通路接入到该待测试gpio接口所在通路中时,“1”处电压的计算公式为其中,r1//r3为r1与r3并联之后的总阻值,其计算公式为在“1”处与其所对应的外部设备接口之间的通路正常时,r3=4.7kω,r4为无穷大,计算结果为v18;在“1”处与其所对应的外部设备接口之间的通路断路时,r3相当于无穷大,r4为无穷大,计算结果为v18;在“1”处与其所对应的外部设备接口之间的通路短路时,r3=4.7kω,r4=0ω,计算结果为0v。

在待测试gpio接口处于下拉状态时,也就是将r2所在通路接入到该待测试gpio接口所在通路中时,“1”处电压的计算公式为其中,r2//r4为r2与r4并联之后的总阻值,其计算公式为在“1”处与其所对应的外部设备接口之间的通路正常时,r3=4.7kω,r4为无穷大,计算结果为0.98×v18;在“1”处与其所对应的外部设备接口之间的通路断路时,r3相当于无穷大,r4为无穷大,计算结果为0v;在“1”处与其所对应的外部设备接口之间的通路短路时,r3=4.7kω,r4=0ω,计算结果为0v。

另外,在上述计算结果大于0.7×v18时,其对应转换得到的电平为高电平;在上述计算结果小于0.3×v18时,其对应转换得到的电平为低电平。其中,上述“0.7”和“0.3”由硬件的特性决定,在pcba主板的规格说明书中会有记载。

具体地,在待测试gpio接口处于上拉状态时,通过cpu上的gpio接口的数据寄存器获取代表电平的数字信号,作为第一电平;在待测试gpio接口处于下拉状态时,通过cpu上的gpio接口的数据寄存器获取代表电平的数字信号,作为第二电平。其中,代表第一电平的数字信号和代表第二电平的数字信号均可为0或1,由待测试gpio接口的状态而定。如待测试gpio接口的状态正常,在待测试gpio接口处于上拉状态时,该待测试gpio接口的电压的cpu计算结果为v18,则cpu上的数据寄存器保存的代表待测试gpio接口所对应的通路的状态的数字信号为1,那么获取到的第一电平为1,代表此时待测试gpio接口处为高电平。

步骤s30,根据所述改变后的电平确定所述待测试gpio接口的状态是否正常。

具体地,参照图2,在除待测试gpio接口与和其所对应的外部设备接口之外的其它通路都确认正常之情况下,通过改变后的待测试gpio接口的电平,来确定该待测试gpio接口的状态是否正常。

进一步地,所述s30步骤,包括:

步骤s31,基于所述第一电平和所述第二电平,确定所述待测试gpio接口的状态是否正常。

具体地,根据第一电平和第二电平,来确定该待测试gpio接口的状态是否正常。

进一步地,所述gpio接口为输入模式,外部向所述gpio接口输入高电平,所述s31步骤,包括:

步骤s311,若所述第一电平为所述高电平和所述第二电平为所述高电平,则确定所述待测试gpio接口的状态正常。

具体地,在获取到待测试gpio接口的编号之后,首先向cpu发出将该待测试gpio接口的编号所对应的待测试gpio接口设置为输入模式的指令,以使该待测试gpio接口可以接收测试小板所输入的高电平。参照图2,其中,待测试gpio接口处于输入模式,测试小板通过pcba主板的外部设备接口向cpu上的待测试gpio接口输入高电平,此时,若无论cpu上的待测试gpio接口处于上拉状态还是处于下拉状态时,通过该待测试gpio接口获取的电平都是高电平,则该待测试gpio接口的状态正常。

另外,在确定待测试gpio接口的状态正常之后,将此结果上传给上述gpio接口测试程序,其中,gpio接口测试程序将本次测试的待测试gpio接口的测试结果记录到待测试gpio接口编号表中,在所有需要测试的待测试gpio接口都测试完成,并且测试结果均为待测试gpio接口的状态正常时,则gpio接口测试程序告知电脑端工具测试通过的结果,如gpio接口测试程序返回一个“pass”字符串给电脑端工具,之后该电脑端工具分析该“pass”字符串后,将测试结果显示出来,显示效果参照图3,其中,“testit...”为testitem(测试项目),“gpio”代表当前测试项目为gpio接口与外部设备接口之间的通路的状态确定项目;“value”为测试中间结果,“ok”代表所有经过测试的待测试gpio接口的状态都正常;“r”为result的英文缩写,代表最终结果,“p”为pass的英文缩写,代表当前被测试的手机pcba主板通过了该待测试gpio接口的状态的确定,代表当前被测试的手机pcba主板的cpu上的所有gpio接口的状态正常。

进一步地,所述s31步骤,还包括:

步骤s312,若所述第一电平为低电平和/或所述第二电平为低电平,则确定所述待测试gpio接口的状态异常。

具体地,若cpu上的待测试gpio接口处于上拉状态或者处于下拉状态,通过该待测试gpio接口获取的电平存在低电平时,则说明该待测试gpio接口与外部设备接口之间的通路存在短路或者断路的情况,可以确定该待测试gpio接口的状态异常。

步骤s40,若所述待测试gpio接口的状态正常,则确定所述待测试gpio接口所对应的通路的状态正常。

具体地,通过确定待测试gpio接口的状态是否正常,即可确定该待测试gpio接口与和其所对应的外部设备接口之间的通路的状态是否正常,若确定待测试gpio接口的状态正常,则可确定该待测试gpio接口和与其所对应的外部设备接口之间的通路的状态正常;若确定待测试gpio接口的状态异常,则可确定该待测试gpio接口与和其所对应的外部设备接口之间的通路的状态异常,异常情况为该待测试gpio接口和与其所对应的外部设备接口之间的通路为短路或断路。

在本实施例中,通过获取到待测试gpio接口的编号;基于所述待测试gpio接口的编号,改变所述待测试gpio接口的电平,并获取所述待测试gpio接口改变后的电平;根据所述改变后的电平确定所述待测试gpio接口的状态是否正常;若所述待测试gpio接口的状态正常,确定所述待测试gpio接口所对应的通路的状态正常。具体地,在测试过程中,向cpu发送根据待测试gpio接口的编号使待测试gpio接口分别处于上拉状态和下拉状态的指令,其中,cpu处于输入模式,以接收外部输入的高电平,之后获取该待测试gpio接口分别处于上拉状态和下拉状态时的待测试gpio接口的电平,由于此时的cpu一直处于接收外部输入的高电平的状态,因此,若该待测试gpio接口的状态正常,则无论该待测试gpio接口处于上拉状态还是处于下拉状态,获取到的待测试gpio接口的电平都会是高电平,也即此时的待测试gpio接口所对应的通路的状态正常。实现了通过软件的方法,而不借助该待测试gpio接口对应的外部设备即可确定该待测试gpio接口所对应的通路的状态,从而降低了生产成本。

进一步地,基于上述第一实施例,在本发明第二实施例中,所述s312的步骤之后,包括:

步骤s313,记录所述待测试gpio接口所对应的通路的状态异常时的所述待测试gpio接口的编号。

在确定待测试gpio接口的状态异常之后,将此结果上传给gpio接口测试程序,其中,gpio接口测试程序将本次测试的待测试gpio接口的测试结果记录到待测试gpio接口编号表中,在所有需要测试的待测试gpio接口都测试完成之后,若测试结果中包含待测试gpio接口的状态异常的情况,将该待测试gpio接口的状态异常的待测试gpio接口的编号传递给电脑端工具,之后该电脑端工具将测试结果以及待测试gpio接口的状态异常的待测试gpio接口的编号显示出来,显示效果参照图4,“testitem”为测试项目,“gpio”代表当前测试项目为通路的状态确定项目;“value”为测试中间结果,其中的“163、164、75、76”代表测试过程中待测试gpio接口异常的待测试gpio接口编号;“r”为result的英文缩写,代表最终结果,“f”为fail的英文缩写,代表当前被测试的手机pcba主板没有通过该待测试gpio接口的状态的确定,代表当前被测试的手机pcba主板的cpu上的所有gpio接口中存在的状态异常的gpio接口。

在本实施例中,通过记录待测试gpio接口的状态异常时的gpio接口的编号,以使电脑端工具显示该gpio接口的编号,便于测试人员根据该gpio接口的编号确定该gpio接口的状态的异常原因。

此外,本发明还提供一种通路的状态确定设备。如图5所示,图5是本发明实施例方案涉及的硬件运行环境的结构示意图。

需要说明的是,图5即可为通路的状态确定设备的硬件运行环境的结构示意图。

如图5所示,该通路的状态确定设备可以包括:处理器1001,例如cpu,存储器1005,用户接口1003,网络接口1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,通路的状态确定设备还可以包括rf(radiofrequency,射频)通路,传感器、音频通路、wifi模块等等。

本领域技术人员可以理解,图5中示出的通路的状态确定设备结构并不构成对通路的状态确定设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图5所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及通路的状态确定程序。其中,操作系统是管理和控制通路的状态确定设备硬件和软件资源的程序,支持通路的状态确定程序以及其它软件或程序的运行。

在图5所示的通路的状态确定设备中,用户接口1003主要用于连接终端,与终端进行数据通信,如接收终端发送的开始测试指令;网络接口1004主要用于后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的通路的状态确定程序,并执行如上所述的通路的状态确定方法的步骤。

本发明通路的状态确定设备具体实施方式与上述通路的状态确定方法各实施例基本相同,在此不再赘述。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有通路的状态确定程序,所述通路的状态确定程序被处理器执行时实现如上所述的通路的状态确定方法的步骤。

本发明计算机可读存储介质具体实施方式与上述通路的状态确定方法各实施例基本相同,在此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,设备,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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