大家好,
我為 SF32LB525UC6 這顆晶片設計了一塊客製化電路板,目前第一步是嘗試透過除錯 UART 與它通訊。具體來說,我正在迴圈中發送 ENTER DEBUG 指令,並期待收到正確的確認回應。然而不論我怎麼嘗試,裝置始終拒絕通訊。因此目前我只能依靠物理現象來推測問題所在,以下是我目前的觀察:
- 電源部分似乎運作正常。我可以在所有常電的電源腳位上量到正確的電壓:VBUS(來自外部電源的 5V)、VBAT(未接電池)、VCC(約 3.4V,由 VBAT 供電)、BUCK、VDD_VOUT1 與 VOUT2、VDD_RET 以及 VDD_RTC 都在規格範圍內。
- 所有由軟體控制的 LDO 輸出端都量到 0V,甚至 VDD33_VOUT1 也是 0V。這非常奇怪,因為根據 SDK 倉儲中提供的啟動載入程式碼,啟用 3.3V 的 LDO1 應該是啟動載入程式一開始就會做的動作之一。因此我懷疑啟動載入程式在開機時根本沒有執行。
以下是我透過測試後相當確定的一些事實,以及我的設定細節:
- 因為我想專注測試 SF32 晶片本身,所有非啟動與 UART 通訊所必需的元件都已移除。晶片未連接外部記憶體、沒有外部時鐘(根據使用者手冊,我理解它在啟動時應使用內部震盪器作為主時鐘),也沒有任何外部周邊。電源腳位都有加上去耦電容,BUCK 轉換器所需的電感也已安裝。
- UART 程式燒錄器是正常的,我已在開發板上測試過,可以成功發送 ENTER DEBUG 指令並收到正確回應。我使用 Raspberry Pi Pico 搭配自訂軟體來發送除錯指令,但使用一般 UART 收發器搭配 sftools 同樣也無法成功。
- 我相當確定 PCB 本身沒有問題,因為我已經直接在晶片焊墊上進行過粗略的導通測試。晶片本身應該也沒有損壞,我已在多塊板子上多次更換過 SF32 晶片,行為都完全一樣。
- 我的 SF32 晶片是從淘寶的官方 Sifli 店鋪購買的。
- SF32 似乎會將 TX 腳位拉高至 VCC,但除此之外完全沒有動作。我已用示波器確認過,沒有任何訊號輸出的跡象。
以下是我對可能問題的一些推測:
- 在這個設計中,我忽略了將 PA34 腳位接地,目前是浮接狀態。我不認為這會造成問題,最壞情況下晶片可能幾秒後重置,但這應該不影響除錯通訊。
- UART 線路上的串聯電阻 R8 和 R9 在原型上使用的是 0Ω 電阻,因為手邊沒有 100Ω 的電阻,且我擔心較高的電阻值可能會衰減訊號。雖然是低機率,但這會不會反而造成問題?
- 或許我確實遺漏了某個必要元件,例如外部時鐘其實是啟動過程中必需的?我懷疑不是這個問題,因為先前我曾製作過完整元件配置的原型板,同樣也無法運作。不過如果各位認為有必要,我可以嘗試重新加上一些元件。
總結來說,以我的判斷有三種可能:要麼我拿到的是不良品晶片,要麼我遺漏了啟動過程中的某個步驟而導致晶片無法回應,又或者我的電路板設計有錯誤。無論是哪一種,我現在幾乎已經沒有方向,希望這裡有人能提供更好的測試建議……以下是電路圖的截圖(未安裝的元件已標示刪除),若您有任何測試建議或需要更多資訊,我都樂意進一步測試並回覆。
非常感謝各位提前提供的幫助!


