成都mps公司 PTE岗位详细说明

上一篇关于成都mps的文章,主要写了工作待遇和感受,这一篇主要写PTE 岗位具体做什么,工作中遇到的一些问题,以及岗位感受。

1. PTE是什么?

在投递岗位时,我们可以看到该岗位期待我们有基本的电学基础(模电、电路等)和编程基础,还需要我们知道示波器等仪器如何使用。但是这个岗位具体需要我们做什么呢?
首先,我们需要清楚这几个缩写单词表示什么:P表示product,T表示test,E表示engineer,PTE即量产测试工程师。芯片测试是用来测试芯片功能是否正常的。
常见的芯片很小,引脚类型也会有不同,我们如何进行芯片测试呢?我们会设计硬件测试板,将芯片置于硬件上面,连同芯片后构成测试回路进行测试,不同芯片其功能也会不同,设计的硬件回路会有不同。并且,由于芯片太小了,直接将芯片放置于上面是不方便测试的,这里便又引入socket,可以简单理解为一个固定在硬件上(可拆卸)的固定芯片的一个槽。硬件连接于测试机上,测试机有各种资源,用这些资源来进行测试芯片功能。测试机的资源、测试调用则是依赖于代码,因此知道基本的电学基础和编程基础是工作的基本。
简单来说,TE测试工程师的中心问题就是写出一个可以测芯片功能的程序,PTE是因为人多后从TE部门独立出来的,当产品(某种芯片)需要量产时,测试程序、使用硬件的维护和更新就是PTE的工作啦。

2. PTE具体会做什么呢?

如我去年发的实习期考核总结文章里面提到,初入mps PTE岗位,会有三个月培训期(自学期),是用来学习看电路图(至少要明白构成了一个怎样的回路,上面有哪些元器件之类的)、明白芯片测试的基本流程、测试机的使用与debug。
如果使用51单片机、stm32等写过一些小的代码块,明白测试机的使用就不算难。其基本的语言也是c语言,只是会有一些基于测试机使用的定义和调用。测试机也会有不同种类,其专有定义也会有不同,但基本方法是一样的。
部门由于人比较多,是分成不同小组,每个小组的工作会有不同侧重与分工。例如,有一个小组是检查每次的程序更新、更新文档、手测芯片(有些失效的芯片需要手测验证,进行更多研究)。另有一些小组是处理成都产线实际生产中遇到的问题,分为有高低温产品和常温常温,这种时常就会需要修改程序,程序需要足够strong,可以兼容不同批次的芯片测试,偶尔会遇到程序产生glitch或过分震荡,存在损坏芯片的可能,这种也是需要优化测试程序的,偶尔还会有需要硬件改版优化的情况。芯片如果只是我们成都的产线生产,产能还不够,因此各地会有一些外包厂来生产,因此也会有组来处理外包产线的生产问题,如果是在这个组,偶尔是会有出差的,还有和外包厂员工的频繁沟通。TE最初写的程序一般只有一种测试平台,若该产品的产量提升后,其他平台也需要有对应的测试程序和硬件,这样planner进行安排生产也会更为灵活,便也会有组需要进行不同平台的转换程序。同样,也会有硬件小组,维修产线生产报修的测试板;与产线沟通,去产线尽力恢复机器的最大生产 产能,也会需要处理新旧硬件的测试数据对比等工作。

3. 我实际工作中遇到的问题

因为我是在处理成都生产问题的组里,我就分享一下这方面我遇到的一些问题。有的问题还蛮有趣、也挺值得详细研究的,只是可惜生产会有deadline,工作会有轻重缓急,大多问题只能匆匆处理。
1) 芯片通常会有FT和QA测试,FT是全测(即上一步得到的良品都会测试,最后出货的是经历过所有步骤的良品),FT的良品(称为bin1)会进行一次随机抽样,即为QA,正常情况下QA应该是都pass的,QA是为了确保FT良品基本没问题。我之前就有一个产品,同一温度下的FT和QA,他们的代码测试条件一样,但是FT测试后,QA仍会频繁在某一个测试项上失效,在实验室验证,这种失效确实是芯片有问题,但是为什么之前全测的时候没有被筛掉呢?最后也没明白是为什么,是否是某些差一点的芯片偶尔状态是正常的吗,只好换了一种测试方式来筛掉这种失效的芯片(失效的芯片称为reject,简称rej)。
2) 有一款产品的HOT FT和HOT QA(及高温状态下的FT和QA测试),代码中的测试条件也是全部一样的,但是经过HOT FT的bin1在进行HOT QA却会有芯片fail,在实验室验证温度稍低一点就可以pass。于是猜测是HOT FT时有某些芯片的测试温度比HOT QA 时低,这些而这些芯片又刚好被随机筛选测到了,实际上客户会使用到的温度远低于我们的测试温度,因温度而fail的芯片在客户所需温度情况下也是能正常使用的。但产线的生产温度有一定微小波动是正常的,我们也只能想办法从如何优化程序上来避免这种QA fail。
3)测试中还经常会遇到site gaps的问题。一个site可简单理解为一个测试芯片的位置,通常硬件上会有多个site,多个site(多个测试位置)同时测试,这样测试效率会更高。site gaps就是指某些site失效概率会远超其他site(十倍及其以上)。如果是short,open之类的出现这种问题可能是和硬件有关系(没接触过好之类的),如果是测频率之类出现问题,可能是资源板卡的问题等等。但是如果有两个site失效比率很高,远超其他六个site,就会比较难解释了,因为两个及以上site同时出问题的概率较低了。如果在测试数量不少的情况下,有某个site完全没有某一类失效,但是其他site的失效比重都比较大,且相差不大,这种好的site也会比较难解释为什么就它比较好,这个site会存在测试逃逸的可能吗都是我们需要考虑的问题。
4)还有遇见某一款产品,它在某一平台进行高温测试时,多次测试后,会在socket和硬件板子相接触的地方形成坑洞,坑洞过深时,就会影响测试。奇怪的是,查看硬件的原理图,该平台的硬件原理图和其他平台的硬件原理图基本一致,其他平台却不会产生坑洞。怀疑可能存在大电流(安培级电流)的情况形成的坑洞,但是看代码发现,安培级电流最长持续时间也只是十多毫秒,理论上也不应该会造成损坏。
5) 有一款产品,它的失效分析证明是在测试过程中损坏了芯片,便需要拿着示波器(对!招聘条件写的会示波器,这就是它的使用场景之一)去抓波形,观察是否会有异常波形、异常脉冲、突然过高的电流或者电压。就算检查完一遍程序应该没有太大问题,但是也是需要尽力进行一些程序优化的(有的时候的优化,真是想秃了头)。
6) 也会不断遇到产线技术员的操作失误带来的工作量,如不小心混料了(如把bin1和rej放到一个袋子里了),测试报告名错名字了等等问题。有时也会遇到一些失效情况,实验室复现不了,但是产线却经常出现的,就需要去产线现场debug,然后回到办公室提交程序更新。
7) 对于模拟芯片,会对某些芯片参数进行trim,trim可理解为将芯片中该参数的初始值修剪到我们的目标值,若是数字芯片,就对应于寄存器里写的值(我的理解是它们有点相似)。trim通常会先测一遍初始值,而后进行仿真(就是程序里面的算法)得到我们应当如何trim,然后trim action将仿真的值写进去,然后再读取trim完成后的值。理想情况是都能够比较顺利,☹而我却遇到过仿真就不对(离目标值较远),或者仿真对了,但是得到的trim后的值不对的情况。真的就是一点一点debug程序,看仿真算法是什么情况,数据传输是什么问题。要是还遇到planner那边有出货要求,天天都催进度的话,整个人都会炸掉!
8) 还有程序已经放到产线量产时,发现有新的问题,可能要加新的测试项之类的就是工作的常规部分了。有的只是优化程序满足不了需求的,也可能会优化硬件,进行硬件升级。如果待维修的硬件,维修好后发现某个或某些元器件频繁被损坏,也会让对应产品的工程师去调查原因,大部分情况是程序问题,这时候也是需要优化程序了。
工作中的问题暂时就写这么多吧,如后面有想到别的,再进行补充。

4. 对PTE岗位的感受

虽然我的工作中会遇见许多奇怪的问题,但是我每次去请教我师父,他都特别厉害能给我一些思路,当然问其他同事,他们一般也都很耐心地解答。PTE部门是一个友好的、会互帮互助的部门。
这是一个需要经验积累的岗位,长期做下去,就算面对一些复杂问题也能逐渐拆解,会越来越熟练。如果产品问题不是太急的情况,一般也不会加班,周末偶尔会接到产线技术员的电话(大部分情况是他们操作失误了,需要工程师说一下怎么处理),但周末不需要到公司,基本是可以生活和工作平衡的,工资每年也会有普调,职级升了也会涨工资,如果想安安稳稳在成都生活,作为本科生,在这样的岗位待着是不错的选择。
公司网盘上有很多技术文档,如果不主动学习的话,在这个岗位能了解和学习到的知识是有限的。可能这样久了,也会疲倦这样的生活,或者忧心之后的生活吧(比如 如果以后行情不好被裁了后,凭借之前的知识和经验是否好找下家之类的)。
任何选择都是有利有弊的吧,谨慎对待自己的人生,诸君共勉!

你可能感兴趣的:(生活记录,学习,硬件工程,生活,芯片测试)