如何驗收安卓PCBA主機板的質量和效能

2022-07-18 12:03:10

.
版本:v0.1
作者:河東西望
日期:2022-7-15
.



對很多安卓智慧裝置廠商來說,他們的通用開發模式一般是:ODM/OEM設計開發主機板PCBA(包括BSP驅動、原生AOSP系統及簡單客製化),自己做簡單的系統二次客製化及應用開發。而開發實力和水平較強的公司,則會做整體系統ROM客製化和優化、應用SDK平臺化等深度開發。

不管怎麼開發,只要主機板是PCBA廠商提供的,都面臨一個問題,就是如何驗收ODM廠商的PCBA主機板質量,包括設計質量和生產質量。硬體和結構的質量,各行業都有相關國家標準體系,例如電子行業的3C標準,醫療行業的NMPA標準等等。本檔案並不討論這些硬體和結構質量標準及測試方法。

這裡討論的是PCBA主機板的軟體系統相關的質量驗收測試方法,例如,安卓系統的穩定性,元器件(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測試

系統開機後,對裝置的關鍵應用做真實場景的應用測試,確保功能正常。這個測試一般由工廠來設計實施,沒有統一的操作方法和質量要求。

這個實驗由質量部門確認,是做全測還是做一定比例的抽測。