會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





PIC32 初始化DDR不成功
新會員
註冊日期:
2016/04/07 15:45
所屬群組:
註冊會員
文章: 2
等級: 1; EXP: 2
HP : 0 / 0
MP : 0 / 4
離線
我使用PIC32MZ2025DAG176,想要使用內部的SDRAM,在初始化時脈時,程式會卡在檢查DDR時脈是否穩定,這類問題我該如何解決?


void SYS_CLK_Initialize( const SYS_CLK_INIT const * clkInit )
{
SYS_DEVCON_SystemUnlock ( );

PLIB_OSC_FRCDivisorSelect( OSC_ID_0, OSC_FRC_DIV_1);

/* Memory PLL */
PLIB_DEVCON_MPLLVregEnable( DEVCON_ID_0 );
while (!PLIB_DEVCON_MPLLVregIsReady(DEVCON_ID_0));

PLIB_DEVCON_MPLLVrefSet(DEVCON_ID_0, DEVCON_MPLL_VREF_EXT);
PLIB_DEVCON_MPLLInputDivSet( DEVCON_ID_0, 1 );
PLIB_DEVCON_MPLLMultiplierSet ( DEVCON_ID_0, 50 );
PLIB_DEVCON_MPLLODiv1Set( DEVCON_ID_0, DEVCON_MPLL_ODIV_3 );
PLIB_DEVCON_MPLLODiv2Set( DEVCON_ID_0, DEVCON_MPLL_ODIV_1 );
PLIB_DEVCON_MPLLEnable( DEVCON_ID_0 );
while(!PLIB_DEVCON_MPLLIsReady( DEVCON_ID_0 ))
{
PLIB_DEVCON_SystemUnlock(DEVCON_ID_0);
PLIB_DEVCON_SystemLock(DEVCON_ID_0);
}
/* Enable Peripheral Bus 1 */
PLIB_OSC_PBClockDivisorSet (OSC_ID_0, 0, 2 );
PLIB_OSC_PBOutputClockEnable (OSC_ID_0, 0 );

/* Enable Peripheral Bus 2 */
PLIB_OSC_PBClockDivisorSet (OSC_ID_0, 1, 2 );
PLIB_OSC_PBOutputClockEnable (OSC_ID_0, 1 );
/* Enable Peripheral Bus 3 */
PLIB_OSC_PBClockDivisorSet (OSC_ID_0, 2, 2 );
PLIB_OSC_PBOutputClockEnable (OSC_ID_0, 2 );
/* Enable Peripheral Bus 4 */
PLIB_OSC_PBClockDivisorSet (OSC_ID_0, 3, 2 );
PLIB_OSC_PBOutputClockEnable (OSC_ID_0, 3 );
/* Enable Peripheral Bus 5 */
PLIB_OSC_PBClockDivisorSet (OSC_ID_0, 4, 2 );
PLIB_OSC_PBOutputClockEnable (OSC_ID_0, 4 );
/* Enable Peripheral Bus 6 */
PLIB_OSC_PBClockDivisorSet (OSC_ID_0, 5, 2 );
PLIB_OSC_PBOutputClockEnable (OSC_ID_0, 5 );
/* Enable Peripheral Bus 7 */
PLIB_OSC_PBClockDivisorSet (OSC_ID_0, 6, 1 );
PLIB_OSC_PBOutputClockEnable (OSC_ID_0, 6 );



/* Disable REFCLKO1*/
PLIB_OSC_ReferenceOscDisable ( OSC_ID_0, OSC_REFERENCE_1 );
/* Disable REFCLK1_OE*/
PLIB_OSC_ReferenceOutputDisable ( OSC_ID_0, OSC_REFERENCE_1 );
/* Disable REFCLKO2*/
PLIB_OSC_ReferenceOscDisable ( OSC_ID_0, OSC_REFERENCE_2 );
/* Disable REFCLK2_OE*/
PLIB_OSC_ReferenceOutputDisable ( OSC_ID_0, OSC_REFERENCE_2 );
/* Disable REFCLKO3*/
PLIB_OSC_ReferenceOscDisable ( OSC_ID_0, OSC_REFERENCE_3 );
/* Disable REFCLK3_OE*/
PLIB_OSC_ReferenceOutputDisable ( OSC_ID_0, OSC_REFERENCE_3 );
/* Disable REFCLKO4*/
PLIB_OSC_ReferenceOscDisable ( OSC_ID_0, OSC_REFERENCE_4 );
/* Disable REFCLK4_OE*/
PLIB_OSC_ReferenceOutputDisable ( OSC_ID_0, OSC_REFERENCE_4 );
/* Disable REFCLKO5*/
PLIB_OSC_ReferenceOscDisable ( OSC_ID_0, OSC_REFERENCE_5 );
/* Disable REFCLK5_OE*/
PLIB_OSC_ReferenceOutputDisable ( OSC_ID_0, OSC_REFERENCE_5 );

SYS_DEVCON_SystemLock ( );
}

3月31日 10:20:38
轉換PDF檔 列印


Re: PIC32 初始化DDR不成功
資深會員
註冊日期:
2010/06/30 16:18
來自 CAE, Microchip Technology Inc.
所屬群組:
站務管理者
註冊會員
文章: 1583
等級: 33; EXP: 75
HP : 163 / 818
MP : 527 / 19290
離線
請問使用的硬體是否為官方實驗板?
若是, 請協助提供下資訊,
若否, 可否提供相關線路供判讀.

4月02日 10:42:51
轉換PDF檔 列印


Re: PIC32 初始化DDR不成功
新會員
註冊日期:
2016/04/07 15:45
所屬群組:
註冊會員
文章: 2
等級: 1; EXP: 2
HP : 0 / 0
MP : 0 / 4
離線
問題是解決了,是沒有設定clock的問題!
可是後來遇到另一個問題,DDRPHYCLKDLY暫存器的bit4,bit5一直為low,導致初始化不成功,那這方面問題可以朝什麼方向解決

4月13日 10:14:44
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
2018 Winter Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project