如何驗收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測試

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

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

Tags: