世平集團代理NXP的i.MX 8M Plus系列應用處理器聚焦於機器學習與視覺、高級多媒體以及具高可靠性的工業自動化。可滿足智慧家庭、建築、城市和工業4.0的應用需求。許多客戶都採用i.MX 8M Plus平台開發其終端產品,今天跟大家分享一下開板流程及相關注意事項。
文件與使用工具
Hardware Developer’s Guide (IMX8MPHDG.pdf) |
Chapter 4. Avoiding board bring-up problems |
Reference Manual (IMX8MPRM.pdf) |
Chapter 6.1 System Boot |
mscale_ddr_tool _v3.20_setup.exe.zip |
DDR Stress test tool |
MX8M_Plus_LPDDR4_RPA_v6.xlsx |
DRAM參數調整檔案 |
USB Type-C 線 |
連接目標板及電腦,搭配DDR Stress test tool |
Micro USB 線 |
連接目標板及電腦提供Debug Log輸出 |
可限流電源供應器 |
提供電源並防止過電流燒毀 |
三用電表 |
檢查電源及電路短路/斷路 |
示波器 |
檢查目標板上的訊號波形 |
開板流程
在第一次打件回來的PC版會面臨三個基本問題需要檢測:電源、時脈及重置(Reset)信號。也需要檢查主要零件是否有打件錯誤的情況,比如說IC、二極體、電晶體有沒有位置裝反或是旋轉的問題。
1.避免電源陷阱-電流:
在首次為電路板測試之前,可以用三用電表測量電路板電源對地沒有短路。
過大的電流會損害電路板。建議可以使用有限制電流功能的電源供應器,以免在電路板發生永久性損害之前監測並限制任何過大的電流。
2.避免電源陷阱-電壓:
檢查i.MX8M Plus的各組電壓是否符合Datasheet的要求,測量電壓是要求在電源輸出端(PMIC)和i.MX8M Plus電源輸入端(越近越好,如在濾波電容上測量)都要測量一下,以免有電壓衰退(IR Drop)的狀況發生。建議系統在輕載及滿載時各測一次,以確保電源的穩定度。
使用示波器檢查電源上電時序是否滿足Datasheet要求。
3.檢查系統時脈:
外部時脈也是另一個電路板開版問題,確保所有的時鐘源都可以預期運行。
i.MX8M Plus有兩個時鐘源:
TC_XTALI/RTC_XTALO : 32.768kHz
XTALI_24M/XTALO_24M:24MHz
檢查振盪器頻率時建議使用主動式探棒避免負載過大導致震盪器不容易起振。
4.檢查POR是否正確:
系統上電後,PMIC預設會先提供NVCC_SNVS_1V8電源,i.MX8M Plus有SNVS電源之後會發PMIC_ON_REQ通知PMIC將其他各組電源按照預設的Power On時序供給,當各組電源都準備完成之後由PMIC發出POR_B(Power On Reset)由Low變High的訊號,通知系統重置。
所以可以觀察PMIC_ON_REQ及POR_B的相關時序,這樣可以釐清是CPU的問題或是PMIC的問題。
5.確認硬體相關設定:
a.Serial Downloader:
將Boot Mode[3:0]=0001,讓系統進入到Serial Downloader模式,提供使用者可以透過USB連線將程式碼下載到晶片上並執行的方法。這樣的好處是讓開發者不需要購買昂貴的仿真器(ICE)就可以下載Code到目標板上。

b.USB:
將i.MX8M Plus的USB1連接到電腦,會識別到一個USB 輸入裝置,其識別碼為VID_1FC9&PID0146。
由於Serial Downloader模式是執行i.MX8M Plus內部的ROM Code,只要USB1線有接對,電腦就要可以識別到目標板。
c.連接埠
i.MX8M Plus公板的設計是用FT4232H UART to USB IC,電腦上會看到四個USB Serial Port,大部分電腦認到的第三個COM Port會給Cortex-A53使用,以我的電腦而言,COM18就是Cortex-A53的Debug Port,待會使用DDR Stress Test Tool選擇時要選COM18。
6.DDR Stress Test Tool:
執行DDR Stress Test Tool之前一定要先確定電腦可以認到目標板的USB及Debug Port,若是沒有正確的識別則需要檢查相關硬體線路。
選擇正確的COM埠、DDR Script、CPU、及DDR後按Download即可出現下列訊息:
如果達到這樣的情況,恭喜你已經完成60%開板了,表示目標板的CPU、USB、UART是可以正常工作的,接下來就是DRAM參數的調整。
預設的DDR Script位置在mscale_ddr_tool_v3.20\script\mx8mp下,按照不同的DDR種類有相對應的ds file。若是使用跟公板不同的DRAM,則需要修改DDR Register Programming Aid(RPA) Excel檔產生ds file。
按下Calibration之後進行DRAM Training。
Training完成後可以進行壓力測試,您可以選擇Over Night Test,可以讓目標板長時間的測試看看DRAM的穩定度,目前i.MX8M Plus不支援測試頻率的調整,只會依照ds檔案預設速度(2000MHz)測試。
經過長時間Stress Test測試OK後可以選擇ARRY並按下Gen Code,則會產生lpddr4_timing.c,軟體開發人員用這個檔案更換u-boot-imx/board/freescale/imx8mp_evk/lpddr4_timing.c並重新Build Code。
7.SD Card開機
軟體開發人員Build完Code之後可將image燒入到MicroSD Card中,並切換Boot Device到MicroSD Card開機。
若能夠從COM Port看到系統開機的Log,則恭喜各位硬體及軟體開發人員開板成功!!!
評論