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.

TMS320 C6678 EMIF16的EMIFBE信号问题



关于6678的EMIF16接口,使用中有两个问题想请教下专家:

1:EMIF16的EMIFBE信号根据手册上讲是控制高低字节有效的信号

但是外挂的16 比特位宽的NOR FLASH只有一个BYTE的输入控制信号,当BYTE=1时为16比特操作,BYTE=0时为8比特操作

怎么用6678的EMIF16的 EMIFBE[1:0] 两个信号来控制外部的这个BYTE这一个信号呢?

我的理解是:

(1)如果DSP要16比特方式去读NOR FLASH,就把flash的BYTE信号置1(16比特访问)---出来的数据是16比特

(2)如果DSP要8比特方式去读NOR FLASH,就把flash的BYTE信号也置1(16比特访问)--- 出来的数据是16比特

       然后DSP的内部逻辑根据寻址时是要用这16比特的高字节还是低字节来自动从这16比特来提取一个字节的数据(提高8位或者低8位)

  EMIFBE[1:0] 只是一个状态指示信号的作用,没有实际的控制外设的作用

不知道这样理解是否正确,不然EMIFB1信号不知道怎么接到FLASH上去,FLASH上面根本没有对应的管脚啊。。。

2:EMIF16接口 16比特方式访问外挂的NOR FLASH时,地址线为什么必须要错位连接呢?

如手册上讲的  EMIFA [22:00,23]-------------->NOR FLASH   A [n:0]

这样相当于将EMIFA 23直接接在了FLASH的 A0上,为什么不用顺序连接的方式呢?

EMIF A [0]--------> NOR FLASH A[0]

EMIF A [1]--------> NOR FLASH A[1]

.......................................

EMIF A [n]--------> NOR FLASH A[n]

希望专家抽空可以给解答一下,多谢

  • 1. BE1, BE0的输出逻辑见EMIF手册上的表2.5.3 EMIF16 Truth Table。
    www.ti.com/.../sprugz3a.pdf

    您用的flash的byte线为高表示16bit位宽,BE1,0要做一下逻辑再去接,总之,就是要让两者的时序匹配。

    2. EMIFA地址A0是least significant bit of a 32-bit word address,所以接16bit,8bit时需要用A23, A22表示least-significant bits of the halfword or byte address。具体可以看下面的帖子说明。
    e2e.ti.com/.../166642