This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

am1808emif口配置问题

Other Parts Discussed in Thread: AM1808

你好!我现在用am1808的emif口作为数据总线传输信号,数据位宽为16bit。将ASIZE设置为16-bit data bus,发现在读写的时候,每读写一次读写使能信号出现使能两次。比如我在读的时候,用示波器抓取CS使能信号及WE使能信号,读一次,在CS使能期间,会出现两次WE使能。另外我将ASIZE设置为8-bit data bus,读一次,在CS使能期间,会出现四次WE使能。然后我将ASIZE设置为2时,读一次,在CS使能期间,就只会出现一次WE使能,但是低位地址线EMA_BA就被禁止了。请问是不是还有其他地方需要配置数据宽度,使得数据位宽为16bit时,只出现一次读写使能?

下面是ASIZE配置

ASIZE             0-3h          Asynchronous Data Bus Width. This field defines the width of the asynchronous device's data bus.


                              0          8-bit data bus
                            1h         16-bit data bus
                      2h-3h          Reserved

另外,SDRAM Configuration Register (SDCR)中有个NM参数,改变这个设置也没有任何变化

NM         Narrow mode bit. This bit defines whether a 16- or 32-bit-wide SDRAM is connected to the EMIFA.
This bit field must always be set to 1. Writing to this field triggers the SDRAM initialization
sequence.

       0             32-bit SDRAM data bus is used.
       1             16-bit SDRAM data bus is used.

  • 有没有大神帮忙解答一下

  • 请问您是用emif接什么外设,感觉这个时序是对应DDR的。

  • 感谢回答!接了一个网口芯片,作为数据通信。我也觉得像是对应一个传送32bit的DDR,如果要接一个16bit的外设,该怎么设置?

  • 建议你看下AM1808的TRM的19章,用异步接口去控制

  • 这个我都看了,也都是按照异步来设置的,上面那个参数就是异步设置的,但是结果却不对

  • 哎,感觉TI这个论坛已经没什么用了,问了很多问题,没有一个问题得到解决。。。。

  • 你好,我想请问一下EMIF口接异步时,那些AWE和AOE是如何控制的

  • Jia Lu,

    #1. 根据上面的描述,我想你是在做32-bit访问的时候观察到这个现象的,首先来说,你观察到的现象是正确的。因为AM1808的EMIF是16bit宽的,也可配置成8 bit使用。

    #2. 当做EMIF访问时,CPU送出访问命令给EMIF,接下来的就是EMIF自己完成了。当是一个32bit访问时,EMIF为16bit宽时,则分为2次16位连续访问,即CS为低,WE或OE送出2次。这个操作是EMIF分解的,与CPU没有关系。

    #3. 如果一定要得到一个CS出现一次读写使能,那么在你的代码中,对赋值对像设为16位的short型即可。

    另个SDRAM的配置只影响CE0,与其它片选的表现无关。

  • Ke Lee 说:
    你好,我想请问一下EMIF口接异步时,那些AWE和AOE是如何控制的

    Ke Lee,

    AWE和AOE是接口根据读还是写操作送出的控制信号,并不需要人为控制,这是异步接口的标准信号。对于异步接口,只需要根据所接外设的时序要求,换算成EMIF相应的setup, strobe, hold参数即可。

  • 非常感谢!

    我现在是想用6713EMIF接一个多通道DA,我采用EMIF的低3位地址线控制通道转换,对地址线怎么控制有点儿困惑

    EA=0x00;EA=0x01;EA=0x02;……这样写吗?地址变量是EA吗还是其他?有没有类似的例程?

  • 怎么突然又转到C6713了,C6713的EMIF与AM1808的有所不同,C6713的地址线A2:A21只是取名为了跟以前的C671x芯片兼容,其实其真实含义跟配置成多少位相关。请参考spru266e的Table 3-2.

    简单来说,如果配置成的是8bit,那么地址线最低位A2输出的是A0,如果是16位,那么地址线A2输出的是A1

  • 恩,明白,我是查看一些EMIF接异步的例程看到了,还是非常感谢!

x 出现错误。请重试或与管理员联系。