時間:20160912
一、電源時序排查
1、保證正確的上電時序,一般都會在CPU數據手冊中提到。通常不會規定具體的上電先后時間的要求,多數情況下會要求前一個電平上升到90%滿幅度之后才可以有下一個電平的開始上升。對於使用TPS65910作為電源管理單元的時候,上電時序會自動完成控制,只要正確的配置PMU的BOOT模式,具體配置要求為:BOOT1=1,BOOT0=0; 所以排查時序,你需要做的事情就是檢查CPU與PMU之間的連接是否正確。
2、確保來自PMIC的所有電源軌的電平值都是正確的。檢查所有電源軌的穩定電平值,MPU端電源軌電平值不穩定的情況很可能是由於沒有正確連接VDDS_MPU_MON而導致的,參考相關EVM設計確認VDDS_MPU_MON是正確連接的,再次需要確認下VDDS_SRAM_CORE_BG 以及VDDS_SRAM_MPU_BB 是否正確連接到1.8V的電壓源。
3、檢查某些內部LDO輸出的電壓是否正確(注意這些電壓都是內部LDO輸出的,相應端口不需要再外接電壓源,也不能被用作某些電路的供電電源)。通常這類電源叫做CAP_XXX,如果以下列出的項目電平值不正確,說明內部的某些電源軌配置不正確:
1)CAP_VDD_SRAM_CORE = 1.2V
2)CAP_VDD_SRAM_MPU = 1.2V
3)CAP_VBB_MPU = 1.1V
4)CAP_VDD_RTC = 1.1V (注意:如果RTC_KALDO_ENn管腳配置為低電平,那么CAP_VDD_RTC管腳為內部LDO輸出1.1V;如果 RTC_KALDO_ENn管腳配置為高電平,那么CAP_VDD_RTC管腳為電源輸入腳,需要外接1.1V的電壓源,具體可參考:AM335x Schematic Checklist - RTC Section )
4、系統時鍾檢查)(19.2, 24, 25, 26 MHz)。
1)如果使用外部振盪器,保證震盪頻率落在相應的頻域內。
2)如果外接晶體(使用AM3352內部振盪器),務必在 XTALIN 腳有相應頻率的正弦波信號, XTALOUT 腳正弦波允許小微的失真。
3)直接連接晶體到AM3352的 XTALIN 和 XTALOUT 之間,確保使用正確的電容取值。
5、檢查上電復位信號PORZ。復位信號必須一致保持低電平在整個上電時序過程中,並且等到電源以及時鍾頻率都穩定后才可以拉高。
二、測試系統是否alive
1、如果有預留Debug串口(UART0),連接串口設備到PC端的串口調試工具,上電會發現串口有不斷地打印“CCCC.......”,如果看到如上現象說明ROM已經運行並且正在嘗試加載UBOOT。
當然前提是在BOOT啟動配置包含串口啟動這一項,系統上電后會按照BOOT啟動配置進行加載,按照優先級逐個嘗試,當前設備無法成功加載的話會自動轉到下一級設備嘗試啟動。如主板BOOT配置如下,則優先級為NAND--NANDI2C--MMC0--UART0,
2、如果BOOT配置了UART0,而上電后看不到串口打印“CCC....”,考慮串口通信有問題。
1)用示波器探頭測試UART_TX信號線上是否有信號波形,如果有波形數據而在PC端看不到數據考慮如下幾點:是否串口參數設置問題,是否串口芯片有問題,是否串口線有問題
2)串口芯片問題檢查技巧(以SP3232為例):
SP3232這類串口芯片原理就不再贅述,簡單測試幾個點就可以確定芯片是否正常。如下SP3232連接圖,
①檢查電源VCC是否正常
②測試pin1與pin3 pin4與pin5間電容兩端是否有充放電波形,有充放電波形說明功能正常
③測試V+端電壓是否為+5.5V, V-端電壓是否為-5.5V
以上三項簡單測試即可以判斷串口芯片是否正常工作。
3、利用CLKOUT1 CLKOUT2輸出驗證內部系統時鍾是否正常。
1)設置 SYSBOOT[5] = 1,會輸出系統時鍾到CLKOUT1,如果能在CLKOUT1測試到系統時鍾信號,則表明內部系統時鍾跑起來了。
三、SD卡插入檢測不正常問題。
1、采用Micro SD卡進行系統啟動,發現BOOT加載失敗,測試MMC0與CPU的CLK信號正常。
2、測試SD卡Detect腳電平,未插入SD卡電平上拉為3.3V;插入SD卡,電平沒有按照預設的結果電平被拉低,而是仍然保持3.1V的高電平,Deteect檢測錯誤。
3、排查原因,發現是接地的問題。
1)Micro SD卡插入檢測原理:Micro SD卡座的第9腳為檢測腳,未插入SD卡時電平被上拉到3.3V高電平,插入SD卡時,第9腳彈片被擠壓與卡座外殼接觸,卡座外殼是接地設計的,所以會將Detect腳電平拉低,從而檢測到有卡插入。
2)電路設計問題:系統地與保護地隔離設計,導致出現浮地現象出現,從而造成檢測錯誤。