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:EMIF 发出错误的 32 位读取 tms570lc4357 RevB

Guru**** 2651505 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/1583793/tms570lc4357-emif-issue-wrong-32bits-read-tms570lc4357-revb

器件型号: TMS570LC4357

尊敬的团队:

代表我们的客户发帖。

我使用 的是一个 TMS570LC4357 修订版 B 芯片、该芯片配置为主器件并使用 CS4_N、具有 32 位 EMIF 异步接口并启用等待功能、连接到外部器件。  然而、当测试 C 代码中的 32 位读取访问时、我观察到在偏移量 0x8 处、只有一个半周期(看起来为 16 位)访问、这意味着芯片选择仅变为活动状态一次。  相比之下、在偏移 0x0、 0x4 及以上的位置读取访问显示正确(0x8 除外)、可提供正确的数据、显示与完整 32 位访问相对应的两个芯片选择激活(2 × 16 位传输)。  如果我在偏移 0x8 处执行两次读取、第二次读取行为正确、芯片选择切换两次、并且在第二次读取时返回正确的 32 位值、则第一次读取始终会为偏移 0x8 提供 0x0。

-这种行为的解释是什么,可以读出哪些寄存器来澄清问题?

此致、

Danilo

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

    尊敬的  Danilo:

    EMIF 数据总线是 16 位。 如果使用 16 位存储器、则 32 位或 4 字节的异步读取请求将需要两个访问周期。

    您在 PCB 板上使用的是 8 位存储器还是 16 位存储器? 是否正确配置异步数据总线宽度 (CE4CFG 寄存器中的 ASIZE)?