※ 本文為 layzer 轉寄自 ptt.cc 更新時間: 2013-10-21 11:45:16
看板 iPhone
作者 標題 Re: [情報] 震驚!iPhone5s幾乎所有傳感器都存在問題
時間 Mon Oct 21 11:14:47 2013
文章內有對, 也有不對的地方.
※ 引述《threee ()》之銘言:
: 以下節錄文章片段:
: 為什麼iPhone 5s的加速計會出現故障?RealityCap的CEO Eagle Jones找到原因,是硬件
: 設計方面的問題。
: 根據Chipworks以及iFixit的拆解,他發現iPhone 5s改採用的加速計型號是Sensortech
: BMA220,而非以前在iPhone 5、iPhone 4s、iPad 2等蘋果產品裡的意法半導體L3G4200D
: 。這兩項產品有什麼差異?
只有iPhone5是用 L3G4200D, 6軸的(3軸g-sensor, 3軸gyro).
之前的iPhone 4/4s, iPad有用6軸的320DL, 330, 也有用兩顆ST的IC兜起的.
甚至iPad也有用InvenSense的 MEMS.
不過倒是第一次用 Bosch 的G-Sensor沒錯.
: Jones解釋,衡量加速計的性能,有兩項關鍵指標:
: ‧意法半導體的噪聲密度(Noise Density)和Bosch的輸出噪聲(output noise),這兩
: 個數據將影響加速計測量結果的精準。從規格表來看,Bosch的加速計在這方面要遜色
: 於意法半導體的。但經過實際測試,iPhone 5s的輸出噪聲數據與此前的iOS設備相當。
當然沒差, 因為 ST 的 Noise Density是指 Gyro 的雜訊, 而 Bosch 的Output Noise
是G-Sensor, 根本不是指的同樣的東西.
: ‧初始偏差量(zero-g offset)。這個數據表明,為了保證數據輸出的準確,因此廠商
: 會首先進行校準。不過這項數據將隨著物理壓力或溫度的變化而變化。而Jones在這項
: 數據中發現了問題。意法半導體加速計的初始偏差量為+/-20mg,而Bosch的為+/-95mg
: 。——用我們看得懂的話來描述,+/-20mg 相當於+/-1° 的偏差,而+/-95m則相當於
: +/-5° 的偏差。
本來加速計(g-sensor)或是陀螺儀(gyroscope)這種MEMS的東西,
就會因為 溫度, 濕度, 緯度, 或是海拔的不同而產生誤差,
而每一個 IC 出廠時也會因為製程上的問題而會有所謂的initial offset.
所以每個 IC 或是做成成品後, 要出廠前都還要做一次校正.
不過STMicro的 sensors在封裝時都有做校正了, 廠商不用再校正一次.(spec上寫的).
而Bosch則是比較彈性一些(麻煩?), 他的IC裡面有帶EEPROM, 廠商要自己做校正一次,
然後把值寫在他的EEPROM裡, 以後每次power on後就不用再校正.
而Bosch則是比較彈性一些(麻煩?), 他的IC裡面有帶EEPROM, 廠商要自己做校正一次,
然後把值寫在他的EEPROM裡, 以後每次power on後就不用再校正.
不知道是Apple忽略了這點的不同, 還是基於生產成本的問題.
(因為加一站校正的站就多一個成本), 似乎這個校正動作並沒有做.
Apple為什麼可以忽略, 下面我會說明.
: 不能說蘋果是為了節省成本而採用Bosch的加速計,因為兩者的報價大致相當,約1美元。
: 所以,蘋果是因為別的原因採用Bosch的產品——Bosch加速計的電壓為1.8V,而意法半導
: 體的為2.5V,這個差異前者的耗電量比後者低。
這個是完全錯誤的假設, Bosch的工作電壓是 1.6V ~ 3.6V沒有錯.
但是在 iPhone5s後, 多了一顆NXP (M7) 的co-processor,
用來當做所有sensor的中間處理器 (sensor hub),
那既然所有的snsor都要接上同一顆M7, 不管是用SPI, 或是I2C界面,
一樣要用同樣的電壓, 所以大概都是接3V左右的電.
不會有Bosch的g-sensor用1.8V, 而ST的gyroscope接2.5v的情形.
況且單就g-sensor幾 uA 的耗電, 在手機應用裡根本是可以忽略不計的.
: 現在問題是,iPhone 5s已經開賣,處於種種原因那些有問題的手機未必能夠得到更換,
: 那麼有什麼辦法能夠解決加速計數據偏差的問題?Jones最後提出的方法是,開發者可以
: 在應用中增加一個校準量,讓應用的表現正常。
: 文章裡的一些名詞沒有連貫
: 總之結論就是Apple為了讓5s更省電 使用新的加速感應器
: 但相較於iPhone 5或更舊的設備 新感應器的誤差值較大
: 而Apple沒有將其校正就把5s拿出來賣 才造成了這次災難
: 英文原文
: http://www.realitycap.com/iphone-5s-accelerometer/
不知道是不是有人沒事找事, 還是真的不懂,
有用過 iOS 的Core Motion Framework就知道,
開發者可以用 CMAccelerometerData, CMGyroData Framework
來得到sensor的原始資料(raw data),
然後自己處理, Raw Data裡一定會存在初始誤差,
或是可以用 CMDeviceMotion, 這個Framework, (裡面有g-sensor跟gyro)
基本上這個 framwwork已經幫你把初始誤差去除掉了,
而且加上了Apple自己的演算法, 得出來的值是很漂亮的數據(沒有雜訊),
可以直接拿來用, 而不用自己去處理 raw data.
大部份的開發者, 我想都是直接拿這個來用, 最簡單.
如果你用的App有問題的話, 你可以寫信給開發者,
叫他直接用 CMDeviceMotion framework,
就不會出現 g-sensor有誤差的情形了.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.69.87.123
推 :好專業!1F 10/21 11:20
推 :有看不懂有推2F 10/21 11:27
推 :推超專業QQ3F 10/21 11:28
推 :專業推!4F 10/21 11:30
推 : 結論:本次問題可用軟體更新的方式克服 結案~5F 10/21 11:32
推 :你不要這麼專業好不好~6F 10/21 11:33
推 :我記得登山表好像也要先在海平面做校正才會準 不知道跟蘋7F 10/21 11:39
→ :果這裝置裡的儀器是不是類似的情況
→ :果這裝置裡的儀器是不是類似的情況
--
※ 看板: layzer 文章推薦值: 0 目前人氣: 0 累積人氣: 1127
回列表(←)
分享