一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种GPIO的测试方法和器件与流程

2022-06-02 10:27:06 来源:中国专利 TAG:

一种gpio的测试方法和器件
技术领域
1.本发明涉及电性能的测试领域,特别涉及gpio的开路和短路的故障测试。


背景技术:

2.在模块和芯片的生产过程中,需要对所有的gpio(general-purpose input/output,即通用输入/输出端口)进行测试。现在gpio的数量往往有几十个,甚至上百个,如对每个gpio进行单独测试,需要耗费大量的人力,成本过高,故需要实现gpio测试的自动化。
3.现有的gpio自动化测试是把所有的gpio直接短接在一起,然后,将其中的一个gpio配置成输入端口,令其余gpio依次输出高电平,由配置成输入端口的gpio进行检测。当一个gpio在输出高电平时,配置成输入端口的gpio也检测到了高电平,就认为该gpio测试合格;否则,该gpio是开路的,具有故障。
4.现有的gpio自动测试方法遇到的问题是:gpio故障测试的种类单一,只能检测出具有开路故障的gpio,无法检测出gpio和gpio之间的短路故障,即便测试合格,也不能保证gpio合格。


技术实现要素:

5.本发明的技术方案解决的问题是:gpio故障测试的种类单一,只能检测出具有开路故障的gpio,无法检测出gpio和gpio之间的短路故障。gpio故障测试应该能够自动完成开路故障和短路故障两种测试,确保检测合格后,gpio就是合格的。
6.第一方面,本发明实施例提出一种gpio的测试方法,该方法包括:
7.给待测试器件的每个gpio都外加一个下拉电阻;将一个该gpio指定为输入端口,称为输入gpio;将余下的该gpio称为轮测gpio;每个该轮测gpio还串接了一个肖特基二极管,每个该肖特基二极管的正极接各自的该轮测gpio,负极都连接到该输入gpio上。
8.给该待测试器件通电开机。
9.依次逐个将该轮测gpio配置成输出模式;被配置成输出模式的该轮测gpio称为高电平轮测gpio;余下的该gpio均配置为输入模式;被配置成输入模式的该轮测gpio称为输入态轮测gpio。
10.该高电平轮测gpio输出高电平信号。
11.检测所有被配置为输入模式的该gpio的输入信号。
12.当该输入gpio的输入信号为恒定的所述高电平信号或所述低电平信号时,该输入gpio存在故障,该测试以失败结束。
13.当有该输入态轮测gpio检测到的是该高电平信号时,可判定存在具有短路故障的该gpio,即该待测试器件存在故障,该测试以失败结束。
14.当该输入gpio检测到的是低电平信号时,可判定该高电平轮测gpio存在开路故障,即该待测试器件存在故障,该测试以失败结束。
15.在所有该轮测gpio依次逐个输出该高电平信号的过程中,该输入gpio的该输入信号有该高电平信号和该低电平信号的变化,且在该高电平轮测gpio输出该高电平信号时,每次均是所有的该输入态轮测gpio检测到的都是该低电平信号,该输入gpio检测到的是该高电平信号,可判定该待测试器件不存在故障,该测试结束。
16.在一些实施例中,本发明提供的一种gpio的测试方法,该方法还包括:
17.在该待测试器件通电开机后,先进行开路故障预检。
18.该开路故障预检包括:
19.将所有的该gpio配置成输入模式。
20.当有该gpio检测到的是该高电平信号时,存在具有开路故障的该gpio,即该待测试模块存在故障,该测试以失败结束。
21.当所有该gpio检测到的都是该低电平信号时,不存在具有开路故障的该gpio,该测试继续进行。
22.在一些实施例中,本发明提供的一种gpio的测试方法,该方法还包括:
23.当该测试以失败结束时,提示报错信息。
24.第二方面,本发明实施例提出一种用于实现第一方面所述的方法的器件,该器件包括:
25.端口配置单元,用于配置gpio的输入/输出模式。
26.输入读取单元,用于读取被配置为输入模式的该gpio的输入信号。
27.信号输出单元,用于被配置为输出模式的该gpio的信号输出。
28.测试流程单元,用于控制测试按照流程进行;指定该gpio中的一个为输入gpio,余下的该gpio均为轮测gpio;该输入gpio仅外接一个下拉电阻;该轮测gpio外接了一个该下拉电阻和一个肖特基二极管;每个该肖特基二极管的正极接各自的该轮测gpio,负极都连接到该输入gpio上;该流程包括:
29.通过该端口配置单元依次逐个将轮测gpio配置成输出模式,被配置成输出模式的该轮测gpio称为高电平轮测gpio;余下的该gpio均配置为输入模式,被配置成输入模式的该轮测gpio称为输入态轮测gpio。
30.通过该信号输出单元使该高电平轮测gpio输出高电平信号。
31.通过该输入读取单元读取被配置为输入端口的该gpio的输入信号;当该输入gpio的输入信号为恒定的所述高电平信号或所述低电平信号时,该输入gpio存在故障,该测试以失败结束;当有该输入态轮测gpio检测到的是该高电平信号时,存在具有短路故障的该gpio,即该待测试器件存在故障,测试以失败结束;当该输入gpio检测到的是低电平信号时,该高电平轮测gpio存在开路故障,即该待测试器件存在故障,该测试以失败结束。
32.当该输入gpio的输入信号为恒定的所述高电平信号或所述低电平信号时,该输入gpio存在故障,该测试以失败结束。
33.在所有该轮测gpio依次逐个输出该高电平信号的过程中,该输入gpio的该输入信号有该高电平信号和该低电平信号的变化,且在该高电平轮测gpio输出该高电平信号时,每次均是所有的该输入态轮测gpio检测到的都是该低电平信号,该输入gpio检测到的是该高电平信号,可判定该待测试器件不存在故障,该测试结束。
34.在一些实施例中,本发明提供的一种用于实现第一方面所述的方法的器件,该器
件还包括:
35.开路故障预检单元,用于在该器件通电开机后,先进行开路故障预检。
36.该开路故障预检包括:
37.通过该端口配置单元将所有的该gpio配置成输入模式。
38.通过该输入端口读取单元读取所有该gpio的输入信号。
39.当有该gpio检测到的是该高电平信号时,存在具有开路故障的该gpio,即该器件存在故障,该测试以失败结束。
40.当所有该gpio检测到的都是低电平时,不存在具有开路故障的该gpio,该测试继续进行。
41.在一些实施例中,本发明提供的一种用于实现第一方面所述的方法的器件,该器件还包括:
42.故障状态显示单元,用于当该测试以失败结束时,提示报错信息。
43.本发明的技术方案的有益效果是:
44.本发明的技术方案在下拉电阻之外,给每个轮测gpio增加一个肖特基二极管,利用肖特基二极管的单向导通性,在该高电平轮测gpio的高电平可以通过该肖特基二极管加载到该输入gpio上的同时,保障了各该轮测gpio之间不会相互影响,然后,通过依次逐个使该轮测gpio输出高电平信号,同时对该gpio的开路故障和短路故障进行自动检测,提高了检测效率,确保检测合格后,所有的该gpio就都是合格的,保证了产品的合格率。
附图说明
45.为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
46.图1为本发明的gpio的测试方法的一具体实施例的外部接线图。
47.图2为本发明的gpio的测试方法的一具体实施例的测试流程图。
48.图3为本发明的gpio的测试方法的一具体实施例的测试流程图。
具体实施方式
49.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。本领域技术人员应当理解的是,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员可以进行任何适当的修改或变型,从而获得所有其它实施例。
50.第一方面,本发明实施例提出一种gpio的测试方法,该方法包括:
51.给待测试器件的每个gpio都外加一个下拉电阻;将一个该gpio指定为输入端口,称为输入gpio;将余下的该gpio称为轮测gpio;每个该轮测gpio还串接了一个肖特基二极管,每个该肖特基二极管的正极接各自的该轮测gpio,负极都连接到该输入gpio上。
52.给该待测试器件通电开机。
53.依次逐个将该轮测gpio配置成输出模式;被配置成输出模式的该轮测gpio称为高
电平轮测gpio;余下的该gpio均配置为输入模式;被配置成输入模式的该轮测gpio称为输入态轮测gpio。
54.该高电平轮测gpio输出高电平信号。
55.检测所有被配置为输入模式的该gpio的输入信号。
56.当该输入gpio的输入信号为恒定的所述高电平信号或所述低电平信号时,该输入gpio存在故障,该测试以失败结束。
57.当该输入gpio检测到的是低电平信号时,可判定该高电平轮测gpio存在开路故障,即该待测试器件存在故障,该测试以失败结束。
58.当有该输入态轮测gpio检测到的是该高电平信号时,可判定存在具有短路故障的该gpio,即该待测试器件存在故障,该测试以失败结束。
59.在所有该轮测gpio依次逐个输出该高电平信号的过程中,该输入gpio的该输入信号有该高电平信号和该低电平信号的变化,且在该高电平轮测gpio输出该高电平信号时,每次均是所有的该输入态轮测gpio检测到的都是该低电平信号,该输入gpio检测到的是该高电平信号,可判定该待测试器件不存在故障,该测试结束。
60.在本实施例中,如图1所示,是该待测试器件的该gpio的外部接线图。这里的器件,可以是模块,也可以是芯片。每个该gpio都外接了一个该下拉电阻。将一个该gpio指定为输入端口,该输入端口在指定前可以是任意的gpio,指定后,在测试过程中就不再更换。该输入端口之外的其余gpio,都是该轮测gpio。每一个该轮测gpio都再接入了一个该肖特基二极管,每个该肖特基二极管的正极接各自的该轮测gpio,负极都连接到该输入gpio上,利用肖特基二极管的单向导通性,在该高电平轮测gpio的高电平可以通过该肖特基二极管加载到该输入gpio上的同时,保障了各该轮测gpio之间不会相互影响。因此,当各个该轮测gpio依次逐个输出高电平信号时,可以通过读取其他配置成输入模式的该gpio的输入信号完成检测。
61.将该下拉电阻和该肖特基二极管接入后,给该待测试器件通电,开机。
62.如图2所示,是本实施例的一个流程图。通过端口配置单元对该gpio进行配置。先将第一个该轮测gpio配置成输出模式,被配置成输出模式的该轮测gpio称为高电平轮测gpio。余下的该gpio均配置为输入模式,被配置成输入模式的该轮测gpio称为输入态轮测gpio。也就是说,处于输入状态的包括该输入gpio和该输入态轮测gpio。
63.通过该信号输出单元使该高电平轮测gpio输出高电平信号。因为每次都只把一个该gpio配置成了输入模式,所以每次都只有一个该高电平轮测gpio输出高电平信号。
64.通过输入读取单元读取被配置成输入模式的该gpio的输入信号。
65.当该输入gpio检测到了上升沿或下降沿时,说明该输入gpio能正常工作。当该输入gpio的输入信号为恒定的所述高电平信号或所述低电平信号时,该输入gpio存在故障,该测试以失败结束。该上升沿或该下降沿,可以检测到一次后就不再检测,直接跳转至下一步,也可以每次都做检测。
66.因为有该肖特基二极管进行隔离,正常情况下所有的该输入态轮测gpio检测到的都应该是低电平信号,所以,当有该输入态轮测gpio检测到的是高电平信号时,可判定存在具有短路故障的该gpio,即该待测试器件存在故障,该测试以失败结束。
67.因为该肖特基二极管具有单向导通性,该高电平轮测gpio输出的高电平信号应当
能被该输入gpio检测到。所以,当该输入gpio检测到的是低电平信号时,可判定该高电平轮测gpio存在开路故障,即该待测试器件存在故障,该测试以失败结束。
68.通过该测试流程单元控制该测试的流程。该流程为:假设共有m个该gpio,其中一个为该输入gpio,其余的为该轮测gpio。当第一个该轮测gpio输出高电平信号时,该输入态轮测gpio检测到的都是低电平信号,且该输入gpio检测到的是低电平信号,则该次测试没有检测出故障,测试可以继续进行。接下来,将第二个该轮测gpio配置成输出模式,输出高电平信号,其余的该gpio均配置成输出模式,重复前述的测试过程。如测试没有因检测出故障而以失败结束,则换下一个该轮测gpio输出高电平信号,继续进行测试,直到最后一个,即第m-1个该轮测gpio。如果最后一个该轮测gpio的测试也顺利完成,没有因检测出故障而以失败结束,则该待测试器件的所有gpio均检测合格,没有开路故障,也没有短路故障。需要指出的是,该输入gpio检测到高电平信号的判定和所有该输入态轮测gpio都检测到低电平信号的判定,在逻辑上并无先后顺序,在实际测试中也可以同步进行,只要保证通过测试的器件能够两个条件同时满足即可。在图2中,如前所述,该输入gpio是否有上升沿或下降沿的检测,可以检测到一次后就不再检测,直接跳转至下一步,也可以每次都做检测。同样地,该输入gpio的上升沿或下降沿的检测,在先或在后的顺序并不重要,重要的是保证各个实质性条件的满足。
69.在测试过程中,对该gpio的配置、输出、读取、判断等操作,可以是按位进行的,也可以是按一个字节或几个字节进行的整体操作。
70.在一些实施例中,本发明提供的一种gpio的测试方法,该方法还包括:
71.在该待测试器件通电开机后,先进行开路故障预检。
72.该开路故障预检包括:
73.将所有的该gpio配置成输入模式。
74.当有该gpio检测到的是该高电平信号时,存在具有开路故障的该gpio,即该待测试模块存在故障,该测试以失败结束。
75.当所有该gpio检测到的都是该低电平信号时,不存在具有开路故障的该gpio,该测试继续进行。
76.在本实施例中,如图3所示,在进行正式测试之前,增加了先进行开路故障预检的环节。因为开路故障的操作比较简单,耗费时间极短,如果预检出了开路故障,则测试无需继续进行,可以立刻准备对下一个器件进行测试,加快了测试的节奏,节约了测试的总耗时。
77.在该开路故障预检中,如图3所示,该开路故障预检单元先通过该端口配置单元将所有的该gpio配置成输入模式。正常情况下,因为有下拉电阻,所有的该gpio检测到的都应当是该低电平信号。当有该gpio检测到的是该高电平信号时,表明存在具有开路故障的该gpio,即该待测试模块存在故障,该测试以失败结束。只有当所有该gpio检测到的都是该低电平信号时,表明不存在具有开路故障的该gpio,该测试继续进行。
78.因为已经进行了开路故障的预检,在后续的测试中,针对开路故障的判断可以省略,也可以继续测试,做二次检验。
79.在一些实施例中,本发明提供的一种gpio的测试方法,该方法还包括:
80.当该测试以失败结束时,提示报错信息。
81.在本实施例中,当该测试以失败结束时,提示该报错信息。该报错信息可以是器件上的故障灯,也可以是屏幕上的出错警告。如果该器件有序列号或其他产品溯源跟踪标记的,该序列号或该标记可以被录入数据库,同时录入具体的故障信息,以便事后做统计分析,寻找提高产品良率的途径。
82.第二方面,本发明实施例提出一种用于实现第一方面所述的方法的器件,该器件包括:
83.端口配置单元,用于配置gpio的输入/输出模式。
84.输入读取单元,用于读取被配置为输入模式的该gpio的输入信号。
85.信号输出单元,用于被配置为输出模式的该gpio的信号输出。
86.测试流程单元,用于控制测试按照流程进行;指定该gpio中的一个为输入gpio,余下的该gpio均为轮测gpio;该输入gpio仅外接一个下拉电阻;该轮测gpio外接了一个该下拉电阻和一个肖特基二极管;每个该肖特基二极管的正极接各自的该轮测gpio,负极都连接到该输入gpio上;该流程包括:
87.通过该端口配置单元依次逐个将轮测gpio配置成输出模式,被配置成输出模式的该轮测gpio称为高电平轮测gpio;余下的该gpio均配置为输入模式,被配置成输入模式的该轮测gpio称为输入态轮测gpio。
88.通过该信号输出单元使该高电平轮测gpio输出高电平信号。
89.通过该输入读取单元读取被配置为输入端口的该gpio的输入信号;当该输入gpio的输入信号为恒定的所述高电平信号或所述低电平信号时,该输入gpio存在故障,该测试以失败结束;当有该输入态轮测gpio检测到的是该高电平信号时,存在具有短路故障的该gpio,即该待测试器件存在故障,测试以失败结束;当该输入gpio检测到的是低电平信号时,该高电平轮测gpio存在开路故障,即该待测试器件存在故障,该测试以失败结束。
90.在所有该轮测gpio依次逐个输出该高电平信号的过程中,该输入gpio的该输入信号有该高电平信号和该低电平信号的变化,且在该高电平轮测gpio输出该高电平信号时,每次均是所有的该输入态轮测gpio检测到的都是该低电平信号,该输入gpio检测到的是该高电平信号,可判定该待测试器件不存在故障,该测试结束。
91.在本实施例中,如图1所示,是该待测试器件的该gpio的外部接线图。这里的器件,可以是模块,也可以是芯片。每个该gpio都外接了一个该下拉电阻。将一个该gpio指定为输入端口,该输入端口在指定前可以是任意的gpio,指定后,在测试过程中就不再更换。该输入端口之外的其余gpio,都是该轮测gpio。每一个该轮测gpio都再接入了一个该肖特基二极管,每个该肖特基二极管的正极接各自的该轮测gpio,负极都连接到该输入gpio上,利用肖特基二极管的单向导通性,在该高电平轮测gpio的高电平可以通过该肖特基二极管加载到该输入gpio上的同时,保障了各该轮测gpio之间不会相互影响。因此,当各个该轮测gpio依次逐个输出高电平信号时,可以通过读取其他配置成输入模式的该gpio的输入信号完成检测。
92.将该下拉电阻和该肖特基二极管接入后,给该待测试器件通电,开机。
93.如图2所示,是本实施例的一个流程图。通过端口配置单元对该gpio进行配置。先将第一个该轮测gpio配置成输出模式,被配置成输出模式的该轮测gpio称为高电平轮测gpio。余下的该gpio均配置为输入模式,被配置成输入模式的该轮测gpio称为输入态轮测
gpio。也就是说,处于输入状态的包括该输入gpio和该输入态轮测gpio。
94.通过该信号输出单元使该高电平轮测gpio输出高电平信号。因为每次都只把一个该gpio配置成了输入模式,所以每次都只有一个该高电平轮测gpio输出高电平信号。
95.通过输入读取单元读取被配置成输入模式的该gpio的输入信号。
96.当该输入gpio检测到了上升沿或下降沿时,说明该输入gpio能正常工作。当该输入gpio的输入信号为恒定的所述高电平信号或所述低电平信号时,该输入gpio存在故障,该测试以失败结束。该上升沿或该下降沿,可以检测到一次后就不再检测,直接跳转至下一步,也可以每次都做检测。
97.因为有该肖特基二极管进行隔离,正常情况下所有的该输入态轮测gpio检测到的都应该是低电平信号,所以,当有该输入态轮测gpio检测到的是高电平信号时,可判定存在具有短路故障的该gpio,即该待测试器件存在故障,该测试以失败结束。
98.因为该肖特基二极管具有单向导通性,该高电平轮测gpio输出的高电平信号应当能被该输入gpio检测到。所以,当该输入gpio检测到的是低电平信号时,可判定该高电平轮测gpio存在开路故障,即该待测试器件存在故障,该测试以失败结束。
99.通过该测试流程单元控制该测试的流程。该流程为:假设共有m个该gpio,其中一个为该输入gpio,其余的为该轮测gpio。当第一个该轮测gpio输出高电平信号时,该输入态轮测gpio检测到的都是低电平信号,且该输入gpio检测到的是低电平信号,则该次测试没有检测出故障,测试可以继续进行。接下来,将第二个该轮测gpio配置成输出模式,输出高电平信号,其余的该gpio均配置成输出模式,重复前述的测试过程。如测试没有因检测出故障而以失败结束,则换下一个该轮测gpio输出高电平信号,继续进行测试,直到最后一个,即第m-1个该轮测gpio。如果最后一个该轮测gpio的测试也顺利完成,没有因检测出故障而以失败结束,则该待测试器件的所有gpio均检测合格,没有开路故障,也没有短路故障。需要指出的是,该输入gpio检测到高电平信号的判定和所有该输入态轮测gpio都检测到低电平信号的判定,在逻辑上并无先后顺序,在实际测试中也可以同步进行,只要保证通过测试的器件能够两个条件同时满足即可。在图2中,如前所述,该输入gpio是否有上升沿或下降沿的检测,可以检测到一次后就不再检测,直接跳转至下一步,也可以每次都做检测。同样地,该输入gpio的上升沿或下降沿的检测,在先或在后的顺序并不重要,重要的是保证各个实质性条件的满足。
100.在测试过程中,对该gpio的配置、输出、读取、判断等操作,可以是按位进行的,也可以是按一个字节或几个字节进行的整体操作。
101.在一些实施例中,本发明提供的一种用于实现第一方面所述的方法的器件,该器件还包括:
102.开路故障预检单元,用于在该器件通电开机后,先进行开路故障预检。
103.该开路故障预检包括:
104.通过该端口配置单元将所有的该gpio配置成输入模式。
105.通过该输入端口读取单元读取所有该gpio的输入信号。
106.当有该gpio检测到的是该高电平信号时,存在具有开路故障的该gpio,即该器件存在故障,该测试以失败结束。
107.当所有该gpio检测到的都是低电平时,不存在具有开路故障的该gpio,该测试继
续进行。
108.在本实施例中,如图3所示,在进行正式测试之前,增加了先进行开路故障预检的环节。因为开路故障的操作比较简单,耗费时间极短,如果预检出了开路故障,则测试无需继续进行,可以立刻准备对下一个器件进行测试,加快了测试的节奏,节约了测试的总耗时。
109.在该开路故障预检中,如图3所示,该开路故障预检单元先通过该端口配置单元将所有的该gpio配置成输入模式。正常情况下,因为有下拉电阻,所有的该gpio检测到的都应当是该低电平信号。当有该gpio检测到的是该高电平信号时,表明存在具有开路故障的该gpio,即该待测试模块存在故障,该测试以失败结束。只有当所有该gpio检测到的都是该低电平信号时,表明不存在具有开路故障的该gpio,该测试继续进行。
110.因为已经进行了开路故障的预检,在后续的测试中,针对开路故障的判断可以省略,也可以继续测试,做二次检验。
111.在一些实施例中,本发明提供的一种用于实现第一方面所述的方法的器件,该器件还包括:
112.故障状态显示单元,用于当该测试以失败结束时,提示报错信息。
113.在本实施例中,当该测试以失败结束时,提示该报错信息。该报错信息可以是器件上的故障灯,也可以是屏幕上的出错警告。如果该器件有序列号或其他产品溯源跟踪标记的,该序列号或该标记可以被录入数据库,同时录入具体的故障信息,以便事后做统计分析,寻找提高产品良率的途径。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献