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.

[参考译文] TMS320F28377S:EMIF 异步通信

Guru**** 2482105 points
Other Parts Discussed in Thread: C2000WARE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/795810/tms320f28377s-emif-asynchronous-communication

器件型号:TMS320F28377S
主题中讨论的其他器件:C2000WARE

在 F28377S 上进行 EMIF 异步通信实验时、 整个选定区域中的数据会发生变化。 它是否是 EMIF 配置问题? 以下是代码:

空 EMIF_Init (空)

 EALLOW;
 ClkCfgRegs.PERCLKDIVSEL.bit.EMIF1CLKDIV = 0x1;
 EDIS;

 EALLOW;
 //禁用访问保护(CPU_Fetch、CPU_WR/DMA_WR)
 EMIF1ConfigRegs.EMIF1ACCPRT0.ALL = 0x1;  
 //提交与保护相关的配置。 直到该位保持置位
 //无法更改 EMIF1ACCPROT0寄存器的内容。
 EMIF1ConfigRegs.EMIF1COMMIT.ALL = 0x1;
 //锁定配置,使 EMIF1COMMIT 寄存器不能
 //再更改。
 EMIF1ConfigRegs.EMIF1LOCK.ALL = 0x1;  
 EDIS;

 Emif1Regs.ASYNC_CS2_CR.bit.ASIZE  = 1;  // 16位存储器接口
 EMif1Regs.ASYNC_CS2_CR.bit.R_HOLD =14;  //读取1个 EMIF 时钟的保持时间
 EMIF1Regs.ASYNC_CS2_CR.BIT.R_SETUP =6;  //读取4个 EMIF 时钟的选通时间
 EMIF1Regs.ASYNC_CS2_CR.BIT.R_STROBE = 6;  // 1个 EMIF 时钟的读取建立时间
 EMIF1Regs.ASYNC_CS2_CR.bit.W_HOLD =14;  // 1个 EMIF 时钟的写入保持时间
 EMIF1Regs.ASYNC_CS2_CR.BIT.W_SETUP =6;  //写入选通时间为1 EMIF 时钟
 EMIF1Regs.ASYNC_CS2_CR.bit.W_STROBE = 6;  // 1个 EMIF 时钟的写入建立时间
 Emif1Regs.ASYNC_CS2_CR.bit.TA =8;   // 2个 EMIF 时钟的周转时间
 EMIF1Regs.ASYNC_CS2_CR.BIT.SS =1;   // EMIF_ASYNC_SS_ENABLE
 Emif1Regs.ASYNC_CS2_CR.bit.EW =1;   //扩展等待启用。

 EMif1Regs.INT_MSK_SET.bit.at_MASK_SET = 1;
 setup_emif1_pinmux_async_16bit (0);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    F. F、

    是的、如果配置错误、可能会发生这种情况。 您可以在 C2000Ware 中看到此 EMIF 应用手册以了解基本调试技术、并使用 EMIF 配置工具:\C2000Ware_XXXX\boards\TIDesigns\F28379D_EMIF_DC\C2000-EMIF_ConfigurationTool.xlsx

    Tommy