如何驗收AndroidPCBA主板的品質和性能
.
版本:v0.1
作者:河東西望
日期:2022-7-15
.
對很多Android智慧設備廠商來說,他們的通用開發模式一般是:ODM/OEM設計開發主板PCBA(包括BSP驅動、原生AOSP系統及簡單訂製),自己做簡單的系統二次訂製及應用開發。而開發實力和水平較強的公司,則會做整體系統ROM訂製和優化、應用SDK平台化等深度開發。
不管怎麼開發,只要主板是PCBA廠商提供的,都面臨一個問題,就是如何驗收ODM廠商的PCBA主板品質,包括設計品質和生產品質。硬體和結構的品質,各行業都有相關國家標準體系,例如電子行業的3C標準,醫療行業的NMPA標準等等。本文檔並不討論這些硬體和結構品質標準及測試方法。
這裡討論的是PCBA主板的軟體系統相關的品質驗收測試方法,例如,Android系統的穩定性,元器件(CPU/MEM/Disk/USB/WIFI/LAN/Battery等)的軟體性能,甚至也不關注品質標準。本文基於工程項目實踐經驗,提供一些快速可靠的測試工具和方法。
1 有哪些情況需要驗收?
首先,我們要搞清楚在哪些情況下我們需要驗收?驗收的內容是什麼?
我們還是有必要先了解一下PCBA主板的生命周期。一般情況下,硬體設備開發生產的標準流程:
設計階段 | O ─> EVT
開發階段 | └──> DVT
試產階段 | └──> PVT
量產階段 | └──> PRD
EVT,Engineering Verification Test
DVT,Design Verification Test
PVT,Product Verification Test
PRD,Production,生產階段。
在這四個階段,理論上來說,每塊PCBA主板都需要進行驗收測試,但是綜合考慮項目時間進度、人力設備資源、驗收測試周期等因素,每個階段主板驗收的重點不一樣:
硬體階段 | 測試版本 | 測試項目 | 測試說明 |
---|---|---|---|
EVT | 原生系統版本 | 工程測試、性能測試、壓力測試、功耗測試 | 硬體和系統基本摸底測試 |
DVT | 開發穩定版本 | 壓力測試、功耗測試 | 整機性能和功耗測試,檢驗運行應用品質 |
PVT | 生產測試版本 | 主板測試、工程測試、性能測試 | 生產流程和效率驗證 |
PRD | 量產出貨版本 | 主板測試、工程測試、性能測試、應用測試 | 出廠品質測試 |
所以我們會有如下這些工程測試:
- 主板測試:測試PCBA主板元器件及驅動功能。
- 工程測試:工程模式測試,硬體的應用功能測試。
- 性能測試:硬體電氣特性和軟體性能。
- 壓力測試:硬體的長時運行性能曲線,最大值、最小值、平均值等。包括負載測試和壓力測試,老化測試等。
- 功耗測試:包括各種負載條件下的功耗和溫度的最大值、最小值、平均值等。
- 應用測試:生產出貨品質環節對關鍵應用UI介面功能進行測試。
研發、測試和生產團隊,可以根據自己的項目實際情況來安排要實施哪種測試組合。後面簡單說一下這些測試都有那些內容,以及測試工具和方法。
實際上,很多中小型公司的生產開發流程一般是這樣的:
首板開發階段:
EVT
└──> DVT
└──> PVT
└──> PRD
批量出貨階段:
備貨計劃
└──> 生產貼片
└──> 刷入主板小系統
└──> PCBA主板測試
└──> 主板入庫
出貨計劃
└──> 刷入整機系統版本
└──> 工程測試
├── 性能測試 │
├── 老化測試 │
└── 應用測試
└──> 出貨
2 有哪些驗收測試?
2.1 主板測試
PCBA主板功能測試,主要在SMT貼片線實施,主要測試的內容就是測試PCBA主板各種硬體和驅動是否都正常使能及正常工作,測試要求快速方便。
PCBA主板測試工具由晶片平台廠商(qcom、mtk、rockchip、amlogic等)提供。實際上是一個bootloader小linux系統,不包含android完整系統,大小只有幾MB,可以快速燒錄到主板中。在AOSP源程式碼中也會有這個工具,可以根據實際情況修改源程式碼調整測試項。
2.2 工程測試
就是常說的工程模式測試,在android運行環境中對硬體功能進行簡單驗證測試。例如:
- 相機拍照
- U盤讀寫
- WIFI連接斷開
- 藍牙連接斷開
- 訪問網頁
- 耳機喇叭播放音樂
- 話筒錄音
- 螢幕壞點和色彩測試
- 觸摸軌跡。
工程模式是一個應用APK,是通用的測試工具,一般由晶片廠商開發提供的,在AOSP工程中也有源程式碼,開發團隊只需要根據實際狀況進行修改就可直接使用。
2.3 性能測試
硬體性能測試,在android設備中並沒有通用的工具和測試標準。測試的主要目的是為了檢查硬體性能是否滿足規格要求。例如DDR3和DDR4的讀寫速率,EMMC讀寫速率,USB2.0和USB3.0的讀寫速率,2G/3G/4G網路速率等等。
硬體性能測試包括硬體電氣特性測試和軟體性能測試。硬體的電氣特性測試(例如USB眼圖測試,USB浪涌測試,WIFI輻射測試等),一般由硬體團隊來完成。而軟體性能測試(例如DDR讀寫速率,CPU浮點運算、USB傳輸速率、網路傳輸速率等),則需要編寫自動化測試用例和腳本來完成。
硬體性能測試的測試目的、工具方法如下:
硬體 | 性能 | 方法和工具 | 說明 |
---|---|---|---|
CPU | 頻寬和運算能力 | 圓周率浮點運算1W位的時間 | 可以對不同的CPU時鐘頻率進行測試 |
DDR | 記憶體頻寬 | 記憶體MEMCPY、DUMB、MCBLOCK等操作時間 | |
EMMC | 壞塊和讀寫速率 | 檢查EMMC磁碟壞塊;dd命令分區讀寫時間 | 文件大小為10Mx1000次和10Gx1次 |
USB | USB讀寫速率 | dd命令對U盤進行讀寫 | 1.文件大小為10Mx1000次和10Gx1次。2. USB host/OTG測試讀寫方向不一樣。 3. U盤必須是高速穩定的 |
網路 | 網路速率和頻寬性能 | TTL響應時間和頻寬 | 1. 測試對象包括蜂窩/有線/無限網路。2.必須在高速穩定的網路環境下,伺服器不能限速 |
電池 | 最長待機時間 | 待機休眠靜置直至自動關機 | 純硬體測試方法 |
觸屏 | 響應時間 | 手指觸摸到響應的介面響應的時間 | 軟體插樁測試 |
溫度 | 溫升時間 | 最大持續負載下CPU達到90度的時間 | 具體溫度指標可以自定 |
當然,不同的設備可能還有其他硬體例如耳機、喇叭、陀螺儀、距離感應器、光感應器等,需要根據實際情況自己設計測試方法和品質標準。
當然,軟體系統本身還有一些性能測試項目:例如開機速度、卡頓測試、拷貝測試,壓縮/解壓測試,多媒體編解碼測試等,可以作為作業系統或者組件性能的測試項目,而不作為PCBA主板品質和性能測試項目。
每種具體的測試方法和工具,後續的文檔會逐步的展開。
2.4 壓力測試
硬體的運行性能壓力測試,就是在最大負載條件下持續長時間運行,硬體表現出來的性能。例如對CPU、記憶體,BLKIO進行持續高壓測試,採集運行數據,查看性能曲線,分析最大值,最小值,平均值,溫度及異常數據資訊等等。
一般的壓力測試有CPU壓力測試,記憶體壓力測試,BLKIO壓力測試,如果有條件的話,可以加入卡頓測試。
硬體 | 測試方法 | 測試工具 |
---|---|---|
CPU | 執行緒拷貝運算 | stressapptest |
DDR | 記憶體拷貝操作 | stressapptest、mbw、memtester |
EMMC | 塊IO讀寫操作 | stressapptest |
詳細的測試方法和工具,在以後的博文中詳細展開。
在工廠生產測試中,對主板有老化實驗測試,主要是針對硬體元器件進行持續2~4小時的測試,確保在出廠時間段內元器件沒有失效。這些實驗方法一般由廠商的NPI部門負責設計和開發測試工具。只需要對壓力測試工具和方法調整測試時間即可。
2.5 功耗測試
就是對各種系統負載下的功耗進行測試。這個測試是一個硬體測試,但是需要硬體團隊和軟體團隊一起協同來完成整個測試。
軟體團隊主要是設計各種負載測試條件,編寫測試腳本和日誌提取工具,生成測試報告等。硬體團隊主要是根據負載測試要求,採用帶有GPIB採集介面的精密電源,監測硬體功耗,提供測試數據和測試報告。
負載測試的內容包括如下幾個:
- 整機功耗(平均值、最大值、最小值)。
- 溫度曲線(平均值、最大值、最小值)。設備中可能有多種溫度感測器,但是我們重點關注CPU溫度和主板溫度。
整機功耗測試,一般會基於不同的系統基準線進行測試:
- 最小系統,就是刪除了所有無關應用的最小作業系統版本,用於對作業系統做初始測試基準線,目的是為了檢測基礎系統中的硬體都處於最佳狀態。
- 基礎系統,只包含設備廠商訂製的桌面和關鍵服務的作業系統版本,用來作為訂製系統的測試基準線,確保關鍵應用和服務是最佳性能。
- 正常系統,包含了設備廠商所有應用和服務的完整作業系統版本,最終用於生產或上線的系統版本。
每種系統基準線的功耗測試,一般要基於如下幾種工作負載場景來進行測試:
- 飛行模式,待機休眠。這是一種最小使用模式,自然待機。測試系統的底電流,最大電流和平均電流。
- 正常負載,CPU使用到0~99%都可以算作正常負載。理論上來說,這種應用場景可以不用測試。
- 最大負載,CPU和記憶體持續長時間處於最高負載的應用場景。最常用的測試場景就是3/4/5…方影片通話。可以在這種負載場景下測試系統持續穩定工作的時間,溫度上升時間和溫控調頻時機等。
2.6 UI測試
系統開機後,對設備的關鍵應用做真實場景的應用測試,確保功能正常。這個測試一般由工廠來設計實施,沒有統一的操作方法和品質要求。
這個實驗由品質部門確認,是做全測還是做一定比例的抽測。