NXP i.MX8M 開板流程 (Board Bring Up)

關鍵字 :NXPSOC工控HMI
世平集團代理NXP的i.MX 8MQ應用處理器適用於高效能、低功耗的嵌入式系統,經過硬體人員縝密的設計電路圖、佈線後,第一個面臨的關卡就是洗板及打件回來後的開板,如果開板失敗將造成目標板(Target Board)變磚了。對於嵌入式系統來說,開板是一個重要的時刻。所以今天跟大家分享一下開板流程及相關注意事項。

  • 文件與使用工具

Hardware Developer’s Guide

(IMX8MHDG.pdf)

Chapter 4. Avoiding board bring-up problems

Reference Manual

(IMX8MDQLQRM.pdf)

Chapter 6.1 System Boot

mscale_ddr_tool _v3.30_setup.exe.zip

DDR Stress test tool

DRAM參數調整檔案

USB Type-C 線

連接目標板及電腦,搭配DDR Stress test tool

Micro USB 線

連接目標板及電腦提供Debug Log輸出

可限流電源供應器

提供電源並防止過電流燒毀

三用電表

檢查電源及電路短路/斷路

示波器

檢查目標板上的訊號波形


  • 開版流程

    0. PCB 板檢查:
    在沒有焊接零件的PCB 裸板,先利用三用電表檢查有沒有短路或斷路的情況,特別是各組電源是否有短路?

    1. 上電前目視檢查:
    檢查主要零件是否有打件錯誤的情況,比如說IC、二極體、電晶體有沒有位置裝反或是旋轉的問題?

    2. 上電檢查電源:
    使用可限流的電源供應器,上電過程中如果超過限流則必須立即關掉電源,並檢查電源是否有短路的狀況?並檢查i.MX8M 的各組電壓是否符合Datasheet 的要求,測量電壓要在電源輸出端(PMIC)和i.MX8M 電源輸入端(越近越好,如在濾波電容上測量)兩側都要確認,以免有電壓衰退(IR-Drop)的狀況發生。建議在系統輕載及滿載時各量測⼀次,以確保電源的穩定度。


          使用示波器檢查電源上電時序是否滿足Datasheet要求。



3.檢查系統時脈:

i.MX8M 需要三組時脈輸入: 25MHz/ 27MHz / 32.768KHz. 電源啟動後,震盪器會自動起振,使用示波器檢查XTALI_25M / XTALO_25M /XTALI_27M / XTALO_27M / RTC_CLK_32K768,檢查振盪器頻率時建議使用主動式探棒避免負載過大導致震盪器不容易起振。

4.檢查POR是否正確:

系統上電後,NVCC_SNVS_3V3會先給電,進而帶起PMIC MC34F4210的POWON信號通知PMIC將其他各組電源按照預設的Power On時序供給,當各組電源都準備完成之後由PMIC發出POR_B(Power On Reset)由Low變High的訊號,通知系統重置。所以可以觀察PMIC_ON及POR_B的相關時序,這樣可以釐清是CPU的問題或是PMIC的問題。

5.確認硬體相關設定:
    a.Serial Downloader:

    將Boot Mode[1:0]=01,讓系統進入到Serial Downloader模式,提供使用者可以透過USB連線將程式碼下載到晶片上並執行的方法。這樣的好處是讓開發者不需要購買昂貴的仿真器(ICE)就可以下載Code到目標板上



          b.USB

           將i.MX8M Plus的USB1連接到電腦,會識別到一個USB 輸入裝置,其識別碼為VID_1FC9&PID012B。





          由於Serial Downloader模式是執行i.MX8M內部的ROM Code,只要USB1線有接對,電腦就要可以識別到目標板。

 c.連接埠

i.MX8M公板的設計是用CP2105  UART to USB IC,電腦上會看到兩個USB Serial Port,以我的電腦而言, COM11就是Cortex-A53的Debug Port,待會使用DDR Stress Test Tool選擇時要選COM11。



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.30\script\mx8m下,按照不同的DDR種類有相對應的ds file。若是使用跟公板不同的DRAM,則需要修改DDR Register Programming Aid(RPA) Excel檔產生ds file。

按下Calibration之後進行DRAM Training。



Training完成後可以進行壓力測試,您可以選擇Over Night Test,可以讓目標板長時間的測試看看DRAM的穩定度,目前i.MX8M不支援測試頻率的調整,只會依照ds檔案預設速度(1600MHz)測試。




經過長時間Stress Test測試OK後可以選擇ARRY並按下Gen Code,則會產生lpddr4_timing.c,軟體開發人員用這個檔案更換u-boot-imx/board/freescale/imx8mq_evk/lpddr4_timing.c並重新Build Code。




7.SD Card開機

軟體開發人員Build完Code之後可將image燒入到MicroSD Card中,並切換Boot Device到MicroSD Card開機。







若能夠從COM Port看到系統開機的Log,則恭喜各位硬體及軟體開發人員開板成功!!!

  • 參考資料

NXP 官網: https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-8-processors/i-mx-8m-family-armcortex-a53-cortex-m4-audio-voice-video:i.MX8M

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論