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.

[参考译文] RM48L952:并行总线

Guru**** 2535750 points
Other Parts Discussed in Thread: RM48L952

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1114920/rm48l952-parallel-bus

器件型号:RM48L952

您好!

我想将我的16位数据总线 SRAM 与具有并行接口的 RM48L952相连接。

此外、对于通信、我使用的是 EtherCAT、它还需要 与 RM48L952连接的16位 EMIF 接口

您能不能建议使用 RM48器件具有2条并行总线来支持 SRAM 和 EtherCAT。

谢谢、Reshma

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

    您好、Reshma、

    我不明白您希望如何将 EMIF 用于 EtherCAT 通信。

    EMIF 的用途是将外部存储器(SDRAM、SRAM 和 NOR 闪存)连接到 CPU。

    通常 、对于 EtherCAT 通信、EMC/MDIO 将在控制器中使用。 该模块使用媒体独立接口(MII)和/或简化媒体独立接口(RMII)连接到物理层器件(PHY)。

    我刚才验证了 EMIF 引脚是否与 RM48控制器中的 MII/RMII 引脚重叠 、并且发现 在144和337引脚封装中它们之间没有重叠。 因此、您可以同时使用这两种通信(并行)。

    --

    谢谢、
    Jagadish。

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

    您好 Jagadish、

    感谢您的回答。

    我们已在并行主机总线配置中将 RM48L952 EMIF 接口与 EtherCAT 芯片(FIDO5200)搭配使用。

    FIDO5200具有16条数据线路和4条地址线路、我们将它们连接到 RM48上的 EMIF 线路。

    现在我们需要使用 SRAM (8条数据线和地址线)并行总线。

    EMIF 数据线路 D0至 D15数据线路连接到 FIDO 芯片、D16至 D31连接到 SRAM。

    EMIF 地址行 A0至 A3行连接到 FIDO、A4至 A11连接到 SRAM、以实现独立的地址配置。

    因此、我需要知道是否可以 在保留的 EMIF 线路上提供 SRAM。

    在该配置中、两个器件也可以并行工作。 请确认

    如果您有任何澄清、请告诉我。

    谢谢、

    分辨率

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

    您好、Reshma、

    为两个器件使用不同的地址和数据线路可能无法解决问题、因为当您将某些数据写入特定地址时、它只会影响 EMIF 的所有数据线路和地址线路、我们无法控制只影响一个特定器件地址线路和数据 线。

    相反、要将多个器件并行连接到 EMIF 外设、只需使用多个芯片选择即可。

    如果您在 EMIF 的上面看到存储器映射、您会注意到 CS2将在地址范围0x6000 0000到0x6400 0000时处于活动状态
    同样、CS3对于 地址范围为0x6400 0000至0x6800 0000将处于活动状态
    和 CS4表示 0x6800 0000到0x6C00 0000

    因此、您可以将控制器的不同 CS 引脚连接到不同的器件(一个用于 FIDO5200、另一个用于 SRAM)。 在这种情况下、您无需区分 地址行和数据行。 您通常可以使用相同的数据和地址行、具体取决于您在应用程序中访问的地址范围相应的 CS 将被激活、相应的器件将获取行上的地址和数据。

     您可以参阅下图以了解暂定硬件互连

    注意:在上图中、我还将 BA0和 Ba1线用于地址线、因为根据异步 EMIF 接口、BA 线也用作地址线、因为根据存储器类型(8位或16位)、BA 线也用作地址线。有关更多详细信息、请参阅 TRM 中的"21.2.6.1连接到异步存储器"。  

    根据您之前了解的信息、我认为您 的应用中的 SRAM 为8位、FIDO5200为16位、因此我可以 像这样进行互连。
    我的建议是、我没有参考 SRAM 和 FIDO5200的数据表、因此请在最终确定连接之前参考数据表。


    --
    谢谢、
    Jagadish。

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

    您好 Jagadish、

    感谢您提供详细信息。

    了解了设备之间的连接。

    但我仍然不确定是要从 FIDO 芯片读取数据、还是要将数据写入 SRAM、反之亦然

    这两种操作是否可以同时发生?

    请澄清

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

    您好、Reshma、

    如果我们将 CS2连接到 SRAM、则其地址范围为 0x6000 0000到0x6400 0000和  
    如果我们将 CS3连接到 FIDO,则其地址范围为 0x6400 0000到0x6800 0000。

    因此、假设您为应用中的 SRAM 起始地址分配了一个指针、即0x6000 0000、并且您正在尝试将一些数据写入该指针、例如0xAA、 在这种情况下、EMIF 将仅激活 SRAM 的片选(即 e.CS2)、并将地址(0x6000 0000)的 LSB (在本例中为0x00)写入地址和 BA 行、并将数据0xAA 写入数据行。 因此、现在 SRAM 将对地址和数据线路进行采样、并执行写入操作(请记住、 在本例中、FIDO 无法对地址和数据线路进行采样、因为其片选无效、这是因为我们访问的地址不在 FIDO 地址范围内)、 因此、这不是什么、而是我们将0xAA 写入 SRAM 的0x00地址位置。

    类似地、如果我尝试在 0x60000001地址中写入0xBB、那么它只不过是在 SRAM 的0x01地址位置写入0xBB。

    相同的过程 也适用于 FIDO、但地址范围不同、如果我尝试在0x6400 0000的地址中写入一些0xCC、则在这种情况下只有 CS3将被激活、因为它是 CS3地址范围、 EMIF 模块会将地址 0x64000000的最小半字节放入地址行和 BA 行、还会将0xCC 放置在数据行上。 之后、FIDO 将对地址和数据线进行采样(请记住、在这种情况下、SRAM 无法对地址和数据线进行采样、因为其片选处于非活动状态、这是因为我们尝试访问的地址不在 SRAM 地址范围内)。 因此、这只是将0xCC 写入 FIDO 的0x0地址。

    类似 地、如果我尝试在0x64000001地址中写入0xDD、那么它只不过是在 FIDO 的0x1地址位置写入0xDD。

    我希望这澄清了你的疑问。

    --

    谢谢、
    Jagadish。

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

    已理解您的解释。

    如果有进一步的疑问、我们将会返回给您。

    谢谢!!