huatong 发表于 2011-11-30 16:58:58

请问LPC1788外接SDRAM,连线要使用蛇形线吗?

我将一片LPC1788焊到一块LPC2478的板上,结果SDRAM写入时经常出错,但是使用LPC2478的时候,怎样操作都没有问题,请问是不是因为SDRAM的连线没有等长的原因呢?

huatong 发表于 2011-11-30 17:00:01

将LPC1788的操作时钟设置为72M还是有问题.

Achin 发表于 2011-12-1 20:22:07

SDRAM不需要等长吧。
我也是1788焊在2478的板子上,用着正常。SDRAM型号变了没?驱动代码相同么?看看SDRAM的模式设置寄存器有没有配置对。

huatong 发表于 2011-12-2 14:47:37

SDRAM还是那个SDRAM,EMC的寄存器大多是一样,多了个EMCDLYCTL的寄存器,我写了个0x00000808的值.
LPC_SC->PCONP |= 0x00000800;
LPC_SC->EMCDLYCTL = 0x00000808;
LPC_EMC->Control = 0x00000001;
LPC_EMC->Config = 0x00000000;               
LPC_EMC->DynamicConfig0 = 0x680;

        LPC_EMC->DynamicReadConfig = 0x00000001; /* Command delayed strategy, using EMCCLKDELAY */
        LPC_EMC->DynamicRasCas0 = 0x303;                // RAS=3 CCLKs,CAS=3 CCLKs

        LPC_EMC->DynamicRP = 1;
         LPC_EMC->DynamicRAS = 3;
        LPC_EMC->DynamicSREX = 7;
        LPC_EMC->DynamicAPR = 2;
        LPC_EMC->DynamicDAL = 5;
        LPC_EMC->DynamicWR = 1;
        LPC_EMC->DynamicRC = 5;
        LPC_EMC->DynamicRFC = 5;
        LPC_EMC->DynamicXSR = 7;
        LPC_EMC->DynamicRRD = 1;
        LPC_EMC->DynamicMRD = 2;

delayMs(0, 200);                                                   /* wait 100ms */
LPC_EMC->DynamicControl    = 0x00000183; /* Issue NOP command */
delayMs(0, 400);                                                   /* wait 200ms */
LPC_EMC->DynamicControl    = 0x00000103; /* Issue PALL command */
LPC_EMC->DynamicRefresh    = 0x00000002; /* ( n * 16 ) -> 32 clock cycles */
for(i = 0; i < 0x40; i++);                   /* wait 128 AHB clock cycles */

        LPC_EMC->DynamicRefresh = 28;

LPC_EMC->DynamicControl    = 0x00000083; /* Issue MODE command */
dwtemp = *((volatile unsigned int *)(SDRAM_BASE | (0x32<<(13))));
LPC_EMC->DynamicControl    = 0x00000000; /* Issue NORMAL command */
LPC_EMC->DynamicConfig0 = 0x80680;

chensi007 发表于 2011-12-2 15:55:21

SD只要線長差得不太離譜。沒多大問題。我們原來部門一哥們。PCB文件由AD格式轉成PADS格式。不知他在怎麼搞。搞來搞去。最後把SDRAM部分的線全搞亂了。打樣回來不工作,最後一根根的用漆包線接。接好後照樣跑。三片DEMO啊。那兄弟接了好幾天。人都是逼出來的。這話一點不假啊

huatong 发表于 2011-12-2 19:18:50

最短那条是998mil,最长那条是2610mil,要蛇一下吗?

huatong 发表于 2011-12-2 19:22:11

这样蛇行吗?
http://cache.amobbs.com/bbs_upload782111/files_48/ourdev_701015L3X6LH.JPG
(原文件名:捕获.JPG)

rx_78gp02a 发表于 2011-12-5 10:40:45

回复【6楼】huatong
-----------------------------------------------------------------------
你这蛇形还不如不加,same net保持3W原则,不然加速效应明显,串扰大!

maimaige 发表于 2011-12-13 12:36:28

高频的,需要,一般情况没问题吧

huxiaoping 发表于 2012-2-5 00:13:28

回复【7楼】rx_78gp02a
回复【6楼】huatong   
-----------------------------------------------------------------------
你这蛇形还不如不加,same net保持3w原则,不然加速效应明显,串扰大!
-----------------------------------------------------------------------

顶,看来huatong 还没明白是啥意思

skype 发表于 2012-2-5 09:59:23

蛇形线是为了同层同组的信号线等长,如果不控制长度,加了还不如不加呢

niba 发表于 2012-2-5 22:53:23

楼主用的2层板?我用的4层板,还好没啥问题。

suebillt 发表于 2016-4-14 16:38:45

huxiaoping 发表于 2012-2-5 00:13
回复【7楼】rx_78gp02a
回复【6楼】huatong   
------------------------------------------------------- ...

3W 原则乱起来就是线距(边)是线宽的两倍吗

ryq0110 发表于 2016-4-14 16:41:45

频率又不高,没啥必要吧。
页: [1]
查看完整版本: 请问LPC1788外接SDRAM,连线要使用蛇形线吗?