作者认为:传感器校准很难培训客户自行解决,需大批召回
出事了!出大事了!这回倒霉的是“土豪”苹果:刚刚新出iPhone5s被曝出所有的M7传感器都不准。
64位A7、M7是苹果iPhone5s的一大亮点,M7是A7的助手,专为测量来自加速感应器、陀螺仪等运动数据而设计,没有它,但追踪身体活动的健身app必须从A7上读取数据,有了M7,则无需持续访问A7,从而降低耗电量。
打个比方,A7是老板,M7就是助理,M7可以处理一些主要具体的事务分担A7的压力。
不幸的是现在助理出事了。具体出在哪个方面呢?因为我们公司就是做传感器姿态融合算法这行的,让我来大胆的推测一下吧:
iPhone中的传感器类型:加速度传感器,陀螺仪传感器,电磁罗盘传感器,一般整体称其为9轴惯性传感器组。
影响姿态输出精度的三大要素,器件原始数据的精准程度,姿态解算的计算精度,器件的校准精度。
新iPhone5s、5c的一大革新就是M7传感器中枢,sensorhub,这是个很好的概念,sensorhub负责了所有的传感器输入输出、电源管理、姿态计算等,可以有效地提高精度,降低能耗,减轻主处理器的压力。但是目前看到的问题推测,极大的可能性问题也就是出在这里。
最近的传感器输出不准的问题评估起来比较复杂,直接先讲一下结论,然后再细说:极大可能是M7内置的算法中校准算法有问题,或者代工厂生产时忽略了校准这个步骤。
导致9轴传感器组的姿态输出不准确的原因刚才说了,有可能来自三个方面:原始数据输出、算法、校准策略。
具体到苹果M7又是什么情况呢,让我们具体分析一下吧:
以目前的信息我们知道5s和5c都用的是:
1.3轴加速度计:Bosch生产的BMA220加速度计;
2.)3轴陀螺仪:目前确定为ST生产的陀螺仪;不排除采用双货源,InvenSense也为苹果提供陀螺仪。
3.3轴磁力计:AKM生产的AK8963的磁力计。
这几种传感器的本身的精度都是可靠的,没问题的,因此原始数据输出这边应该没问题。
另外目前媒体报道中所指出的不准确基本都集中在静态精度上,静态精度准确从计算算法的角度来说是相对容易的,这里出问题的可能性也不是很大。
目前最怀疑的就是校准策略出了问题:
对于mems传感器,厂商出厂是有一个粗略校准的,但是厂商的校准一般都是在做传感器输出线性度,量程,分辨率这些方面,实际终端厂商应用的时候还需要进行二次校准
目前对苹果手机的输出两大抨击一个是水平不准,也就是放平了,但是输出还有好几度的偏差,这个问题出在加速度传感器的校准上。
另一个是方向指向不准,这个问题出在电磁罗盘传感器的校准上。
需要注意的是很多媒体都直指陀螺仪有问题,其实这是错误的,陀螺仪如果校准不到位,更多的是带来动态精度不足,出现“姿态甩尾”等问题。
按照目前苹果的硬件架构,校准参数和校准算法是写在了他的M7sensorhub里边的,拆解发现iPhone5s中的M7处理器实为NXP的cortex-M3MCULPC18A1。
综上分析:我对问题到底出在哪里做了以下猜测:
1.M7处理器中校准部分出现了bug,没有使能校准功能。如果是这个原因,也许可以通过简单固件升级修复;
2.M7处理器中校准参数存储部分出现了bug,校准参数丢失,如果是这个原因,必须返厂进行重新校准,或者苹果出一个粗略自行校准的软件,让天才员工或用户自行校准;
3.代工厂忽略了校准步骤,QC没有检查到这一块,必须返厂重新校准;
4.代工厂工序出了问题,校准在产品装配前进行了,成品传感器特性后由于装配应力,磁化或热应力等因素发生了变化,导致校准参数失效。必须返厂重新校准;
5.NXP的校准矩阵算法有问题,必须升级固件,返厂校准。
总而言之,传感器校准的问题非常麻烦,很难培训客户自行解决,我认为有可能需要大批召回了。祈祷是上述1原因吧。
连苹果这样的大厂牌都出了这么大的问题,从这件事情我们吸取的教训就是传感器不是上板子就能用的,计算精度和校准精度非常的重要。
|
||||||
|
||||||