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.

[参考译文] TMS570LC4357-EP:8位 EMIF 接口

Guru**** 2468460 points
Other Parts Discussed in Thread: TMS570LC4357

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1038236/tms570lc4357-ep-8bit-emif-interface

器件型号:TMS570LC4357-EP
主题中讨论的其他器件:TMS570LC4357

我在 TI MCU 上有一个 EMIF 接口、该接口配置有一条8位外部宽度数据总线;该接口为异步 SRAM 正常模式。 但 MCU 正在连接 FPGA、我只对 EMIF 访问的解码感兴趣、即硬件视图。 问题如下:

是否可以通过单个操作将单个32位字读取或写入物理8位 EMIF 端口、以便端口上的实际操作是一个4个读取/写入序列(即、激活 NWW 和/或 NCS、字节地址 BA[1..0]从0.0.3递增或可能递减);
(字节使能信号可能也会更新、但不使用)。
SPRU971e 和 TMS570LC4357 16/32位 RISC 闪存微控制器参考手册中的所有插图仅显示一个事务。



这样、使用8位宽的 EMIF 接口、只能进行字节访问、32位宽的读取/写入必须作为4个单独的操作执行。 在我的案例中、这将是不幸的、因为例如、软件人员必须防止中断中断中断中断4个连续的操作。

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

    尊敬的 Peter:

    是的、您可以使用物理8位 EMIF 端口读取32位字。 下图是具有16位 EMIF 端口的32位读取的波形。 第1个波形为 OE、第2个波形为 CS:

    unsigned int read_emif_memory_32位(unsigned int Start_Address、unsigned int No_Of_words、unsigned int 模式)

       unsigned int ReadPattern;
       unsigned int *地址=(unsigned int *) Start_Address;

       while (NO_Of _words > 0)
       {
          ReadPattern =*地址++;

          NO_NO_ON_TO_CES--;
       }
       返回(0);

    如果使用了 DQM[1:0]、则可以执行字节读取/写入。

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

    谢谢、王、这很有帮助。

    start_Address 只是一个指向 EMIF 地址空间的数字、并在将其转换为32位指针之后(我假设此上下文中的无符号整型为32位、对吧? 否则、我们只是显示16位可以访问 EMIF 16位接口)、该接口会自动执行双读操作以检索2 x 16位并返回32位 uint。 我同意、它很可能也适用于四路8位操作。