# TTR8-PCU V2.2 測試計畫

## 測試相關資料

* [專案設計檔(需登入GitHub)](https://github.com/Taipei-Tech-Racing/TTR8-PCU)
* [狀態機(需登入GitHub)](https://github.com/Taipei-Tech-Racing/TTR8-HVCU-EVM/tree/main/FSM)
:::info
測試時請配合電路原理圖與PCB進行，並使用網路檢視工具快速找到待測點
:::

## 已知問題

:::danger
* 邏輯閘有可能會虛焊 => 熱風槍400度解焊, 清理焊盤, 拿新料重焊
* 狀態機易受干擾出現未定義狀態 => 考慮更換時脈訊號
* 高壓測3V3之RC濾波過重 => 將電阻由10歐姆改為2歐姆
* STM32干擾主電路運作 => 確保已燒錄對應韌體將IO腳配置完畢
* PDOC易觸發 => 並聯一顆0.1uF陶瓷積層電容至NTC
:::

## 注意事項

:::warning
* 高壓測試時請做好安全防護!!!
* 板子的數位訊號輸入可以接受3.3.V或5V的邏輯準位
* 板子的數位訊號輸出一律為5V邏輯準位
:::

## 電源與基準源類

:::info
* 紋波測試將示波器設置在AC檔, 時基1ms/div, 頻寬限制在20Mhz
* 狀態機須處於穩態狀態量測
:::
* TP18測試點紋波？
* VCC_ISO電壓與紋波？
* +3V3_ISO電壓與紋波？
* +5V電壓與紋波？
* +3V3電壓與紋波？
* +5V_SD電壓與紋波？
* +3V3_SD電壓與紋波？

## MCU類

1. 是否可使用STLINK-V3MINIE燒錄Logger韌體？
2. 是否可使用PCU GUI Debugger連上並顯示PCU狀態？

## AMS類

1. 將J4連接器的DISCHARGE_EN, MPO1, MPO2透過測試治具接地，按下AMS_RST按鈕，SD燈是否熄滅？
2. 將J4連接器的DISCHARGE_EN空接，SD燈是否亮起？
3. 將J4連接器的DISCHARGE_EN接回，按下AMS_RST按鈕，SD燈是否熄滅？
4. 重複步驟2與3兩次但將DISCHARGE_EN依序改為MPO1與MPO2。
5. 將J4連接器的DISCHARGE_EN, MPO1, MPO2任意接頭空接，確保SD燈亮起，將DISCHARGE_EN, MPO1, MPO2透過測試治具接地，將J11接頭的RST節點透過測試治具接地，SD燈是否熄滅？
6. 當SD燈亮時J11連接器的AMS_OK_BUF節點是否輸出0V？
7. 當SD燈滅時J11連接器的AMS_OK_BUF節點是否輸出5V？
8. 連接STLINK-V3MINIE並使用PCU GUI Debugger觀察AMS Error狀態，當SD燈亮時AMS Error是否為1？當SD燈滅時AMS Error是否為0？

## TSAL類

1. 將電源供應器正極接在J19連接器之H_AIR_LOAD_SIDE節點，負極接在J20連接器之L_AIR_LOAD_SIDE節點，電壓從0V慢慢遞增到最高65V，紀錄TSAL轉為紅燈閃爍的電壓點。
2. 將電壓從65V慢慢遞減，紀錄TSAL轉為綠燈常亮的電壓點。

## PDOC類

1. 將熱風槍設為180度並直吹NTC，OVT燈10秒內是否亮起，燈亮後J11連接器的OVER_TEMP_BUF節點是否輸出5V？
2. 移開熱風槍，OVT燈10秒內是否熄滅，燈滅後J11連接器的OVER_TEMP_BUF節點是否輸出0V？
3. 連接STLINK-V3MINIE並使用PCU GUI Debugger觀察Precharge Over Temp狀態，當OVT燈亮時Precharge Over Temp是否為1？當OVT燈滅時Precharge Over Temp是否為0？

## HVCU類

1. 將TIME_OK與TIME_OUT指撥開關都設為1000。
2. 連接STLINK-V3MINIE並使用PCU GUI Debugger配合以下測試。

### 正常Precharge測試

3. 將模擬高壓迴路測試治具接上，確保負載電容電壓為0V，接上電源供應器使用30V模擬電池電壓，利用PCU GUI Debugger觀察FSM狀態機是否按照0000(Initialization) -> 0100(Precharge) -> 0101(Output)變化？
4. OUT燈是否亮起？
5. J11連接器的HVCU_OK_BUF與READY_TO_DRIVE_BUF節點是否輸出5V？
6. 上下調整30V的模擬電池電壓，PCU GUI Debugger上顯示之Load Voltage是否也跟著變化？

### 失敗Precharge測試(模式不穩定)

7. 將J15連接器的CHARGE_EN節點透過測試治具設為高電位，此時狀態機是否進入1011(Mode Unstable)？
8. ERR4燈是否亮起？
9. J11連接器的HVCU_OK_BUF與READY_TO_DRIVE_BUF節點是否輸出0V？

### 失敗Precharge測試(小於Time Ok)

10. 將模擬高壓迴路測試治具接上，確保負載電容電壓大於20V，接上電源供應器使用30V模擬電池電壓，利用PCU GUI Debugger觀察FSM狀態機是否按照0000(Initialization) -> 0100(Precharge) -> 1001(Precharge Error)變化？
11. ERR2燈是否亮起？
12. J11連接器的HVCU_OK_BUF與READY_TO_DRIVE_BUF節點是否輸出0V？

### 失敗Precharge測試(大於Time Ok)

13. 將TIME_OK與TIME_OUT指撥開關都設為0001。
14. 將模擬高壓迴路測試治具接上，確保負載電容電壓為0V，接上電源供應器並用30V模擬電池電壓，利用PCU GUI Debugger觀察FSM狀態機是否按照0000(Initialization) -> 0100(Precharge) -> 1001(Precharge Error)變化？
15. ERR2燈是否亮起？
16. J11連接器的HVCU_OK_BUF與READY_TO_DRIVE_BUF節點是否輸出0V？

### 正常Charge測試

17. 將TIME_OK與TIME_OUT指撥開關都設為1000。
18. 將J15連接器的CHARGE_EN節點透過測試治具設為高電位。
19. 將模擬高壓迴路測試治具接上，確保負載電容電壓大於20V，不要接上電源供應器模擬電池電壓，利用PCU GUI Debugger觀察FSM狀態機是否按照0000(Initialization) -> 0110(Charger Check) -> 0111(Charge)變化？
20. CHG燈是否亮起？
21. J11連接器的HVCU_OK_BUF節點是否輸出5V？
22. J11連接器的READY_TO_DRIVE_BUF節點是否輸出0V？

### 失敗Charge測試(模式不穩定)

23. 將J15連接器上的測試治具移除讓CHARGE_EN節點空接，此時狀態機是否進入1011(Mode Unstable)？
24. ERR4燈是否亮起？
25. J11連接器的HVCU_OK_BUF與READY_TO_DRIVE_BUF節點是否輸出0V？

### 失敗Charge測試(未連接充電器)

26. 將J15連接器的CHARGE_EN節點透過測試治具設為高電位。
27. 將模擬高壓迴路測試治具接上，確保負載電容電壓為0V，接上電源供應器並用30V模擬電池電壓，利用PCU GUI Debugger觀察FSM狀態機是否按照0000(Initialization) -> 0110(Charger Check) -> 1010(Charger Not Connect)？
28. ERR3燈是否亮起？
29. J11連接器的HVCU_OK_BUF與READY_TO_DRIVE_BUF節點是否輸出0V？