TI中文支持网
TI专业的中文技术问题搜集分享网站

28377 emif 总线 设置为32bit,其实还是16bit

把28377 emif 总线 设置为32bit,异步模式

setup_emif1_pinmux_async_32bit(0);

Emif1Regs.ASYNC_CS2_CR.all = (EMIF_ASYNC_ASIZE_32 | 
                                                                 EMIF_ASYNC_TA_1 | 
                                                                 EMIF_ASYNC_RHOLD_1 |
                                                                 EMIF_ASYNC_RSTROBE_4 | 
                                                                 EMIF_ASYNC_RSETUP_1 |
                                                                 EMIF_ASYNC_WHOLD_1 |
                                                                 EMIF_ASYNC_WSTROBE_1 | 
                                                                 EMIF_ASYNC_WSETUP_1 |
                                                                 EMIF_ASYNC_EW_DISABLE | 
                                                                 EMIF_ASYNC_SS_DISABLE     );

但实际测试中发现,所谓的32bit总线其实是个假的。其实是把32bit的数据分成2个16bit的,然后先后两次,第一次用数据总线低16bit传,第二次用数据总线高16bit传。不知道这样的32bit总线有什么意义呢?

Susan Yang:

建议您看一下您是否置位了Narrow Mode

When set to 1, the data bus is set to 16-bits. When set to 0, the data bus is set to 32-bits.

把28377 emif 总线 设置为32bit,异步模式

setup_emif1_pinmux_async_32bit(0);

Emif1Regs.ASYNC_CS2_CR.all = (EMIF_ASYNC_ASIZE_32 | 
                                                                 EMIF_ASYNC_TA_1 | 
                                                                 EMIF_ASYNC_RHOLD_1 |
                                                                 EMIF_ASYNC_RSTROBE_4 | 
                                                                 EMIF_ASYNC_RSETUP_1 |
                                                                 EMIF_ASYNC_WHOLD_1 |
                                                                 EMIF_ASYNC_WSTROBE_1 | 
                                                                 EMIF_ASYNC_WSETUP_1 |
                                                                 EMIF_ASYNC_EW_DISABLE | 
                                                                 EMIF_ASYNC_SS_DISABLE     );

但实际测试中发现,所谓的32bit总线其实是个假的。其实是把32bit的数据分成2个16bit的,然后先后两次,第一次用数据总线低16bit传,第二次用数据总线高16bit传。不知道这样的32bit总线有什么意义呢?

qingyulan:

回复 Susan Yang:

在F2837xD_emif.h里看,SDRAM_CR是用来配置访问SDRAM的,ASYNC_CS2_CR_REG才是配置异步访问外部存储器的(比如FPGA),但ASYNC_CS2_CR_REG里只有一个设置的地方ASIZE,但设置为EMIF_ASYNC_ASIZE_32没啥用,还是16bit的

把28377 emif 总线 设置为32bit,异步模式

setup_emif1_pinmux_async_32bit(0);

Emif1Regs.ASYNC_CS2_CR.all = (EMIF_ASYNC_ASIZE_32 | 
                                                                 EMIF_ASYNC_TA_1 | 
                                                                 EMIF_ASYNC_RHOLD_1 |
                                                                 EMIF_ASYNC_RSTROBE_4 | 
                                                                 EMIF_ASYNC_RSETUP_1 |
                                                                 EMIF_ASYNC_WHOLD_1 |
                                                                 EMIF_ASYNC_WSTROBE_1 | 
                                                                 EMIF_ASYNC_WSETUP_1 |
                                                                 EMIF_ASYNC_EW_DISABLE | 
                                                                 EMIF_ASYNC_SS_DISABLE     );

但实际测试中发现,所谓的32bit总线其实是个假的。其实是把32bit的数据分成2个16bit的,然后先后两次,第一次用数据总线低16bit传,第二次用数据总线高16bit传。不知道这样的32bit总线有什么意义呢?

li jianguo:

回复 qingyulan:

你好,这个问题你解决了吗?能分享一下解决方法吗?

赞(0)
未经允许不得转载:TI中文支持网 » 28377 emif 总线 设置为32bit,其实还是16bit
分享到: 更多 (0)