IC芯片故障软件检测方法和装置与流程

未命名 10-19 阅读:132 评论:0

ic芯片故障软件检测方法和装置
技术领域
1.本发明涉及ic芯片检测技术领域,尤其涉及ic芯片故障软件检测方法和装置。


背景技术:

2.目前的计算机pcb主板在贴装元件后都是采用aoi光学检测仪来对qfn封装的元件来进行不良拦截,然而,实际上很多主要ic料件都属于bga封装器件,其无法通过aoi光学检测仪进行不良检测,需要通过功能测试项来进行判断。
3.但是,对于ic料件的虚焊,空焊,撞键等连接不良情况较轻时,会存在概率性ic失效问题,普通的功能性测试无法拦截概率性情况,造成机器本身功能概率异常,容易遗漏出货到客户,造成质量事故。另外,且功能测试项在研发阶段需要解决一系列调试相关问题,需花费很大量人力、物力,严重限制项目研发成本的最小化优化。


技术实现要素:

4.本发明的目的是提供ic芯片故障软件检测装置和方法,其通估校验的方式有效检测ic芯片的概率性异常状态,从ic芯片的接收端进行检测,检测数据属于最底层能够反馈ic芯片是否存在异常的最有效证明,且循环式读取、校验,更加有利于概率化异常排查,适于在项目研发阶段针对概率性问题可以大大提升排查效率,减少测试和研发人力的大量投入,并在量产生产中的问题提升问题拦截率,优化测试人员,在成本降低和质量提升上可以做到双全。
5.为了实现上述目的,本发明公开了一种ic芯片故障软件检测方法,用于检测设于pcb主板上ic芯片的异常,所述ic芯片故障软件检测方法包括如下步骤:
6.s1、检测所述pcb主板的机器状态,所述机器状态包括工作状态、睡眠状态、休眠状态和关机状态;
7.s2、若所述pcb主板处于工作状态,则发送测试状态指令至所述pcb主板;
8.s3、检测所述i c芯片的芯片状态,所述芯片状态包括测试状态和非测试状态;
9.s4、若所述i c芯片处于测试状态,则发送预设文件至所述i c芯片,所述预设文件设有预设校验码;
10.s5、所述i c芯片以预设次数循环读取并校验所述预设文件,所述i c芯片每次校验所述预设文件时产生一校验码,记录所述i c芯片每次读取并校验所述预设文件时产生的校验码;
11.s6、将所有校验码分别与所述预设校验码分别进行一致性比对,依据一致性比对结果检测所述i c芯片是否存在异常。
12.较佳地,所述步骤s1具体包括:
13.s11、读取所述显示单元的屏幕分辨率;
14.s12、依据所述显示单元的屏幕分辨率,检测所述pcb主板的机器状态。
15.较佳地,所述步骤s12进一步包括:
16.s121、若所述显示单元的屏幕分辨率为零,则所述pcb主板处于睡眠状态、休眠状态或关机状态;
17.s122、启动所述pcb主板,以使所述pcb主板进入工作状态。
18.较佳地,所述步骤s12进一步包括:
19.s123、若所述显示单元的屏幕分辨率不为零,则所述pcb主板处于工作状态;
20.s124、依次对所述i c芯片执行断电指令和上电指令。
21.较佳地,所述pcb主板通讯连接显示单元,所述步骤s1具体包括:
22.观察所述显示单元的显示状态;
23.若所述显示单元显示工作界面,则所述pcb主板处于工作状态;
24.若所述显示单元无显示工作界面,则所述pcb主板处于睡眠状态、休眠状态或关机状态。
25.较佳地,所述预设文件为图像文件,所述图像文件为单纯色图像文件或至少两种纯色间隔形成的纯色图像文件。
26.较佳地,所述步骤s5具体包括:
27.s51、所述i c芯片以预设次数循环读取所述预设文件;
28.s52、在每次读取所述预设文件时对所述预设文件进行校验,以生成校验码;
29.s53、将每一次校验得到的校验码写入所述i c芯片的寄存器上。
30.较佳地,所步骤s6具体包括:
31.s61、将所有校验码分别与所述预设校验码分别进行一致性比对;
32.s62、若所有校验码均与所述预设校验码相一致,则所述i c芯片无异常;
33.s63、若至少一个校验码与所述预设校验码不一致,则所述i c芯片存在异常。
34.较佳地,所述步骤s1之前还包括:
35.发送所述工作状态指令至所述pcb主板,以使所述pcb主板进入工作状态。
36.相应地,本发明还公开了一种i c芯片故障软件检测装置,用于检测设于pcb主板上i c芯片的异常,所述i c故障软件检测装置包括:
37.第一检测单元,用于检测所述pcb主板的机器状态,所述机器状态包括工作状态、睡眠状态、休眠状态和关机状态;
38.第一发送单元,在检测到所述pcb主板处于工作状态时,发送测试状态指令至所述pcb主板;
39.第二检测单元,用于检测所述i c芯片的芯片状态,所述芯片状态包括测试状态和非测试状态;
40.第二发送单元,在检测到所述i c芯片处于测试状态时,发送预设文件至所述i c芯片,所述预设文件设有预设校验码;
41.第一执行单元,用于将所述i c芯片以预设次数循环读取并校验所述预设文件,所述i c芯片每次校验所述预设文件时产生一校验码,记录所述i c芯片每次读取并校验所述预设文件时产生的校验码;
42.第二执行单元,用于将所有校验码分别与所述预设校验码分别进行一致性比对,依据一致性比对结果检测所述i c芯片是否存在异常。
43.与现有技术相比,本发明在i c芯片处于测试状态时,发送预设文件至i c芯片,预
设文件设有预设校验码,i c芯片以预设次数循环读取并校验预设文件,i c芯片每次校验预设文件时产生一校验码,记录i c芯片每次读取并校验预设文件时产生的校验码,将所有校验码分别与预设校验码分别进行一致性比对,依据一致性比对结果检测i c芯片是否存在异常,其通估校验的方式有效检测i c芯片的概率性异常状态,从i c芯片的接收端进行检测,检测数据属于最底层能够反馈i c芯片是否存在异常的最有效证明,且循环式读取、校验,更加有利于概率化异常排查,适于在项目研发阶段针对概率性问题可以大大提升排查效率,减少测试和研发人力的大量投入,并在量产生产中的问题提升问题拦截率,优化测试人员,在成本降低和质量提升上可以做到双全。
附图说明
44.图1是本发明的i c芯片故障软件检测方法的流程框图;
45.图2是本发明的检测pcb主板的机器状态的逻辑框图;
46.图3是本发明的检测i c芯片的芯片状态的逻辑框图;
47.图4是本发明的crc值的组成逻辑框图;
48.图5是本发明的crc校验的地址设置代码图;
49.图6是本发明的crc校验的地址设置代码范例图;
50.图7是本发明的校验码与预设校验码一致性比对的逻辑框图;
51.图8是本发明的检测i c芯片是否存在异常的代码界面图;
52.图9是本发明检测到i c芯片存在异常时的代码界面图;
53.图10是本发明的i c芯片故障软件检测装置的结构框图。
具体实施方式
54.为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
55.请参阅图1-图9所示,本实施例的i c芯片故障软件检测方法,用于检测设于pcb主板上i c芯片的异常,本实施例以型号为anx7625的i c芯片为例进行说明,其为桥接i c芯片。
56.所述i c芯片故障软件检测方法包括如下步骤:
57.s1、检测所述pcb主板的机器状态,所述机器状态包括工作状态、睡眠状态、休眠状态和关机状态。
58.较佳地,所述步骤s1之前还包括:
59.发送所述工作状态指令至所述pcb主板,以使所述pcb主板进入工作状态。
60.较佳地,所述步骤s1具体包括:
61.s11、读取所述显示单元的屏幕分辨率;
62.s12、依据所述显示单元的屏幕分辨率,检测所述pcb主板的机器状态。
63.较佳地,所述步骤s12进一步包括:
64.s121、若所述显示单元的屏幕分辨率为零,则所述pcb主板处于睡眠状态、休眠状态或关机状态;
65.s122、启动所述pcb主板,以使所述pcb主板进入工作状态。
66.较佳地,所述步骤s12进一步包括:
67.s123、若所述显示单元的屏幕分辨率不为零,则所述pcb主板处于工作状态;
68.s124、依次对所述ic芯片执行断电指令和上电指令。
69.可以理解的是,机器状态检测的目的在于防止机器处于睡眠、休眠或者关机状态,处于上述状态的所述pcb主板将无法正确执行对ic芯片的异常测试步骤,如处于上述状态,将报错后退出该测试流程,通过打印日志的方式提示执行者。如果不增加对所述pcb主板的机器状态检测,会直接影响到整个检测流程结果的异常。
70.另外,当所述pcb主板处于工作状态时,为了避免ic芯片残存的多余状态信息,本实施通过睡眠唤醒方式让ic芯片依次执行断电指令(power off)和上电指令(power on),以清空ic芯片残存的多余状态信息,以避免因ic芯片残存多余状态信息而影响测试结果。
71.本实施例以检测ic芯片的mipi dsi(mipi display serial interface)信号转换edp(embedded displayport)信号,来实现检测,其逻辑如图2所示:
72.开始执行测试流程后,会首先执行linux系统自带工具modetest(drm mode test utility)。该工具能够在机器开机状态下,读取到机器所有的显示信息。
73.而通过筛选显示单元显示信息中的分辨率可以判断显示单元当前处于的显示状态,如果为零,则显示单元处于黑屏状态,是不符合预期的,如果非零,则代表显示单元是正常显示画面的,是符合预期。
74.对于符合预期显示的显示单元,可以正常往下执行睡眠唤醒,让ic芯片执行断电指令,然后再执行上电指令,以达到清空ic芯片的寄存器中多余的状态信息,避免影响接下来的判断结果。
75.在其他优选方式中,较佳地,所述pcb主板通讯连接显示单元,所述步骤s1具体包括:
76.观察所述显示单元的显示状态;
77.若所述显示单元显示工作界面,则所述pcb主板处于工作状态;
78.若所述显示单元无显示工作界面,则所述pcb主板处于睡眠状态、休眠状态或关机状态。
79.可以理解的是,通过人工观察或显示单元界面识别的方式也能够达到所述pcb主板的机器状态检测,在检测到所述pcb主板处于工作状态后,需要同样执行唤醒指令,在此不做赘述。
80.s2、若所述pcb主板处于工作状态,则发送测试状态指令至所述pcb主板;
81.s3、检测所述i c芯片的芯片状态,所述芯片状态包括测试状态和非测试状态;
82.s4、若所述i c芯片处于测试状态,则发送预设文件至所述i c芯片,所述预设文件设有预设校验码;
83.s5、所述i c芯片以预设次数循环读取并校验所述预设文件,所述i c芯片每次校验所述预设文件时产生一校验码,记录所述i c芯片每次读取并校验所述预设文件时产生的校验码。
84.较佳地,所述预设文件为图像文件,所述图像文件为单纯色图像文件或至少两种纯色间隔形成的纯色图像文件。
85.较佳地,所述步骤s5具体包括:
86.s51、所述i c芯片以预设次数循环读取所述预设文件;
87.s52、在每次读取所述预设文件时对所述预设文件进行校验,以生成校验码;
88.s53、将每一次校验得到的校验码写入所述i c芯片的寄存器上。
89.可以理解的是,为了对i c芯片进行异常检测,需要使i c芯片进入特定状态,这里的特定状态即际为i c芯片的检测状态,处于检测状态下的i c芯片会处于负荷状态,循环读取i c芯片对应的寄存器状态位,本部分逻辑如图3所示。
90.具体地,ic芯片状态检测是接收到一个固定纯色或者彩色的无字符的显示画面,而cpu(central processing unit)可以通过指令mem w 0x140131780x41来输出,mem是一个针对arm(advanced risc machines)架构平台用来读或者写cpu寄存器的一个工具,w表示为写操作,0x14013178则针对特定cpu用来控制dsi信号输出的一个寄存器的地址,0x41则是表示一个黑绿相间的显示画面,所以这个命令执行后,机器屏幕会维持显示一个静态的黑绿相间的画面,而该画面则满足其测试状态的需求。在anx7625持续处于该测试特定状态下,通过读取接收到显示dpcd(displayport configuration data)的数据包中的r_crc,g_crc和b_crc,它们分别是不同色彩通道上的crc字节的值,crc是一种循环冗余校验码,可以通过对数据的一些特定操作来生成校验码。在dpcd的数据传输中,crc校验码会随着数据一起传输,接收端会对接收到的数据进行crc校验,如果计算出的校验码与传输过来的校验码不一致,就说明数据传输过程中出现了错误。这种错误可能是由于连接不良、信号干扰等因素引起的。所以可以用来判断在数据传输期间是否有发生过任何的错误。而crc值的组成逻辑如图5所示。
91.其中,crc(cyclic redundancy check)是一种用于检测数据传输中出现的错误的校验算法,send表示crc计算的初始种子,通常为0xffff。
92.由于anx7625是有i2c接口连接到cpu,所以获取r_crc,g_crc和b_crc通过linux系统下自带的i2cget工具,获取到以上三个crc的值。在获取前需要通过linux系统下自带的i2cset工具对如下地址进行设定,r_crc对应240和241的地址,g_crc对应242和243的地址,b_crc对应244和245的地址,即r_crc对应分别为0x00240、0x00241、0x00242、0x00243、0x00244和0x00245。
93.每一个地址都需要通过如图5所示进行设定,其中,图5第一行的意思是指在第0组的i2c总线上找到0x38,偏移为0xe6的地址设定值为0x40,其中0x40代表0x00240地址,以此类推,接下来都是去不同地址去分别去设定值,而这些值都是代表着获取该通道上的dpcd传输色彩数据的crc值的开关。虽然即可通过i2cget获取到crc的值,该crc的值如图6所示。
94.读取第0组i2c上为0x38,偏移为0xf0的地址的值,通过以上i2cset的设定,通过该指令获取到的是地址为0x00240的值,也就是r_crc的值。并通过变量保存,便于后面判断处理。
95.s6、将所有校验码分别与所述预设校验码分别进行一致性比对,依据一致性比对结果检测所述i c芯片是否存在异常。
96.较佳地,所步骤s6具体包括:
97.s61、将所有校验码分别与所述预设校验码分别进行一致性比对;
98.s62、若所有校验码均与所述预设校验码相一致,则所述i c芯片无异常;
99.s63、若至少一个校验码与所述预设校验码不一致,则所述i c芯片存在异常。
100.可以理解的是,本部分的主要作用是判断上个部分描述的i c芯片对应的寄存器中的具体的标识位是否一直处于某个特定状态值,如果数值有跳变,或者数值不符合预期,都应该理解为i c芯片处于异常状态,那么可认为对应i c芯片存在有焊接或者撞件等连接不良问题存在,并退出i c芯片的测试状态,还原机器最初状态,并呈现测试结果,其判断逻辑如图7所示。
101.当通过i2cget读取到结果值后,会与预期的结果值进行比较,如果不符合将结束流程,判定结果为fai l,如果符合预期将进入到下一个循环判断是否已经完成了四次的循环读取,如果没有将继续完成循环读取,如果完成了将判断是否有四次的结果,且每次都是符合预期的,如果是都满足,将输出pass的结果,如果不满足将输出fai l结果,如下就是预期的每个地址需要获取到的值:
[0102][0103][0104]
其中r_crc中的0x00表示画面中黑色数据的crc值,g_crc中的0x90和0x47表示偏绿色数据的crc值,由于绿色带有渐变,所以值会不一样,b_crc中的0x00表示的也是画面中黑色数据的crc的值,由于画面颜色相间,所以是符合预期的。
[0105]
图8示出了检测所述i c芯片是否存在异常的代码界面,从图中的逻辑可以看出来,当每次获取到预期的值,都会让dpcd_resu lt变量进行加1的操作,如果不满足预期将执行break,直接退出整个流程。最后在通过if判断语句对dpcd_resu lt变量进行判断,如果等于对应的pass的制定的数量则判定为pass,否则为fai l。
[0106]
当有对应的输出结果后,会执行mem的指令mem w 0x14013178 0x00来还原测试状态到最初始化的状态,这样机器如果被判定为fai l可以直接被挑选出来,如果判定为pass,则可以继续接下来的测试。图9示出了所述i c芯片存在异常时的代码界面。
[0107]
请参阅图10,本发明还公开了一种i c芯片故障软件检测装置,用于检测设于pcb主板上i c芯片的异常,所述i c故障软件检测装置包括:
[0108]
第一检测单元10,用于检测所述pcb主板的机器状态,所述机器状态包括工作状态、睡眠状态、休眠状态和关机状态;
[0109]
第一发送单元20,在检测到所述pcb主板处于工作状态时,发送测试状态指令至所述pcb主板;
[0110]
第二检测单元30,用于检测所述i c芯片的芯片状态,所述芯片状态包括测试状态和非测试状态;
[0111]
第二发送单元40,在检测到所述i c芯片处于测试状态时,发送预设文件至所述i c芯片,所述预设文件设有预设校验码;
[0112]
第一执行单元50,用于将所述i c芯片以预设次数循环读取并校验所述预设文件,
所述i c芯片每次校验所述预设文件时产生一校验码,记录所述i c芯片每次读取并校验所述预设文件时产生的校验码;
[0113]
第二执行单元60,用于将所有校验码分别与所述预设校验码分别进行一致性比对,依据一致性比对结果检测所述i c芯片是否存在异常。
[0114]
结合图1-图10,本发明在i c芯片处于测试状态时,发送预设文件至i c芯片,预设文件设有预设校验码,i c芯片以预设次数循环读取并校验预设文件,i c芯片每次校验预设文件时产生一校验码,记录i c芯片每次读取并校验预设文件时产生的校验码,将所有校验码分别与预设校验码分别进行一致性比对,依据一致性比对结果检测i c芯片是否存在异常,其通过校验的方式有效检测i c芯片的概率性异常状态,从i c芯片的接收端进行检测,检测数据属于最底层能够反馈i c芯片是否存在异常的最有效证明,且循环式读取、校验,更加有利于概率化异常排查,适于在项目研发阶段针对概率性问题可以大大提升排查效率,减少测试和研发人力的大量投入,并在量产生产中的问题提升问题拦截率,优化测试人员,在成本降低和质量提升上可以做到双全。
[0115]
以上所揭露的仅为本发明的优选实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明申请专利范围所作的等同变化,仍属本发明所涵盖的范围。

技术特征:
1.一种ic芯片故障软件检测方法,用于检测设于pcb主板上ic芯片的异常,其特征在于,所述ic芯片故障软件检测方法包括如下步骤:检测所述pcb主板的机器状态,所述机器状态包括工作状态、睡眠状态、休眠状态和关机状态;若所述pcb主板处于工作状态,则发送测试状态指令至所述pcb主板;检测所述ic芯片的芯片状态,所述芯片状态包括测试状态和非测试状态;若所述ic芯片处于测试状态,则发送预设文件至所述ic芯片,所述预设文件设有预设校验码;所述ic芯片以预设次数循环读取并校验所述预设文件,所述ic芯片每次校验所述预设文件时产生一校验码,记录所述ic芯片每次读取并校验所述预设文件时产生的校验码;将所有校验码分别与所述预设校验码分别进行一致性比对,依据一致性比对结果检测所述ic芯片是否存在异常。2.如权利要求1所述的ic芯片故障软件检测方法,其特征在于,所述pcb主板通讯连接显示单元,所述检测所述pcb主板的机器状态,具体包括:读取所述显示单元的屏幕分辨率;依据所述显示单元的屏幕分辨率,检测所述pcb主板的机器状态。3.如权利要求2所述的ic芯片故障软件检测方法,其特征在于,所述依据所述显示单元的屏幕分辨率,检测所述pcb主板的机器状态,进一步包括:若所述显示单元的屏幕分辨率为零,则所述pcb主板处于睡眠状态、休眠状态或关机状态;启动所述pcb主板,以使所述pcb主板进入工作状态。4.如权利要求2所述的ic芯片故障软件检测方法,其特征在于,所述依据所述显示单元的屏幕分辨率,检测所述pcb主板的机器状态,进一步包括:若所述显示单元的屏幕分辨率不为零,则所述pcb主板处于工作状态;依次对所述ic芯片执行断电指令和上电指令。5.如权利要求1所述的ic芯片故障软件检测方法,其特征在于,所述pcb主板通讯连接显示单元,所述检测所述pcb主板的机器状态,具体包括:观察所述显示单元的显示状态;若所述显示单元显示工作界面,则所述pcb主板处于工作状态;若所述显示单元无显示工作界面,则所述pcb主板处于睡眠状态、休眠状态或关机状态。6.如权利要求1所述的ic芯片故障软件检测方法,其特征在于,所述预设文件为图像文件,所述图像文件为单纯色图像文件或至少两种纯色间隔形成的纯色图像文件。7.如权利要求6所述的ic芯片故障软件检测方法,其特征在于,所述ic芯片以预设次数循环读取并校验所述预设文件,所述ic芯片每次校验所述预设文件时产生一校验码,记录所述ic芯片每次读取并校验所述预设文件时产生的校验码,具体包括:所述ic芯片以预设次数循环读取所述预设文件;在每次读取所述预设文件时对所述预设文件进行校验,以生成校验码;将每一次校验得到的校验码写入所述ic芯片的寄存器上。
8.如权利要求1所述的ic芯片故障软件检测方法,其特征在于,所述将所有校验码分别与所述预设校验码分别进行一致性比对,依据一致性比对结果检测所述ic芯片是否存在异常,具体包括:将所有校验码分别与所述预设校验码分别进行一致性比对;若所有校验码均与所述预设校验码相一致,则所述ic芯片无异常;若至少一个校验码与所述预设校验码不一致,则所述ic芯片存在异常。9.如权利要求1所述的ic芯片故障软件检测方法,其特征在于,所述检测所述pcb主板的机器状态,所述机器状态包括工作状态、睡眠状态、休眠状态和关机状态,之前还包括:发送所述工作状态指令至所述pcb主板,以使所述pcb主板进入工作状态。10.一种ic芯片故障软件检测装置,用于检测设于pcb主板上ic芯片的异常,其特征在于,所述ic故障软件检测装置包括:第一检测单元,用于检测所述pcb主板的机器状态,所述机器状态包括工作状态、睡眠状态、休眠状态和关机状态;第一发送单元,在检测到所述pcb主板处于工作状态时,发送测试状态指令至所述pcb主板;第二检测单元,用于检测所述ic芯片的芯片状态,所述芯片状态包括测试状态和非测试状态;第二发送单元,在检测到所述ic芯片处于测试状态时,发送预设文件至所述ic芯片,所述预设文件设有预设校验码;第一执行单元,用于将所述ic芯片以预设次数循环读取并校验所述预设文件,所述ic芯片每次校验所述预设文件时产生一校验码,记录所述ic芯片每次读取并校验所述预设文件时产生的校验码;第二执行单元,用于将所有校验码分别与所述预设校验码分别进行一致性比对,依据一致性比对结果检测所述ic芯片是否存在异常。

技术总结
本发明公开了IC芯片故障软件检测方法和装置,涉及IC芯片检测技术领域,该方法包括:检测PCB主板的机器状态;若PCB主板处于工作状态,则发送测试状态指令至PCB主板;检测IC芯片的芯片状态;若IC芯片处于测试状态,则发送预设文件至IC芯片,预设文件设有预设校验码;IC芯片以预设次数循环读取并校验预设文件,IC芯片每次校验预设文件时产生一校验码,记录IC芯片每次读取并校验预设文件时产生的校验码;将所有校验码分别与预设校验码分别进行一致性比对,依据一致性比对结果检测IC芯片是否存在异常;本发明通估校验的方式有效检测IC芯片的概率性异常状态,从IC芯片的接收端进行检测,检测数据属于最底层能够反馈IC芯片是否存在异常的最有效证明。异常的最有效证明。异常的最有效证明。


技术研发人员:秦文涛
受保护的技术使用者:广东虹勤通讯技术有限公司
技术研发日:2023.06.28
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐