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.

[参考译文] PCI1520-XIO2001:使用 PCI1520和 EP 进行意外中断绑定

Guru**** 2386620 points
Other Parts Discussed in Thread: XIO2001, PCI1520, XIO2001EVM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1509982/pci1520-ep-unexpected-interrupt-binding-using-pci1520-with-the-xio2001

部件号:PCI1520-PCI1520 EP
主题中讨论的其他部件:XIO2001PCI1520XIO2001EVM

工具/软件:

你好

我们的应用需要从没有 PCI 接口但具有 PCIe 接口的现代 CPU 中读取两个 PC 卡。

我们搜索了 TI E2E 论坛上的各种帖子、并发现多个 TI 客户已使用 XIO2001和 PCI1520来实现这一目的。

我们非常了解这些 IC 的成熟度、但我们需要支持需要 PCMCIA 接口的传统应用。

我们使用以下设置执行了初始测试:

XIO2001EVM 安装在主板 PCIe 插槽中。 由于 TI 未提供 PCI1520EVM、我们已购买了采用板载 PCI1520 IC 的商用产品(PCI 至 CardBus/PCMCIA/PC 卡适配器、2个插槽、Texas Instruments PCI1520芯片组| Team Solutions、Inc.)。

在此设置中、我们可以在 PC 卡中读取和写入数据。 读取和写入从主板上的 CPU 执行。

当我们将 PCI1520卡插入 XIO2001 EVM 上的第一个 PCI 插槽时、我们可以使用映射 IDSEL 16和 INTA 成功读取和写入数据。

当我们将 PCI1520卡插入 XIO2001 EVM 上的第二个 PCI 插槽时、我们可以使用映射 IDSEL 17和 INTB 成功读取和写入数据。

当我们将 PCI1520卡插入 XIO2001 EVM 上的第二个 PCI 插槽时、我们可以使用映射 IDSEL 18和 INTC 成功读取和写入数据。

此绑定与 XIO2001EVM 一致、其中第一个插槽具有映射 IDSEL = 16和 INTA (在 PCI 连接器的 INTA# A6引脚上)、第二个插槽具有映射 IDSEL = 17和 INTB、第三个插槽具有映射 IDSEL = 18和 INTC。

在 PCI 至 PCI 桥接架构规范1.1版中、IDSEL 根据表3-1进行映射。

也就是说、器件编号0的 IDSEL 为16、器件编号1的 IDSEL 为17、器件编号2的 IDSEL 为18。

"XIO2001实施指南"规定了以下绑定(此处的下游设备是 PCI1520)。

所有这一切对我们来说都是有意义的,我们有一个16A、17B 和18C 的约束。

 

在这一初步成功之后、我们设计了一个带有 XIO2001和 PCI1520的定制电路板。

我们认为、我们已采用与上述设置相同的方式实现了该定制电路板。

但是、初始测试未成功、我们无法读取和写入 PC 卡中的数据。

我们从 XIO2001到 CPU 的连接是标准 PCIe。

XIO2001和 PCI1520之间的连接的实现方式与 XIO2001EVM 上的第一个 PCI 插槽类似。

原理图的相关部分附在这种情况下。

在我们的定制电路板上、我们实现了以下结果:

  • 当 PCI1520的 MFUNC0引脚(INTA)连接到 XIO2001 INTA (如所附原理图所示、通过 R51)时、我们无法读取和写入数据
    • 这是第一个插槽(16A)中的 EVM 设置对应的映射。
  • 当我们将 PCI1520的 MFUNC0引脚(INTA)连接到 XIO2001 INTB (如原理图上的红色箭头所示)时、我们能够成功地读取和写入数据(16B 绑定)
  • 当我们将 PCI1520的 MFUNC0引脚(INTA)连接到 XIO2001 INTC、将 IDSEL 连接到 AD17时、我们可以成功读取和写入数据(17C 绑定)
  • 当我们将 PCI1520的 MFUNC0引脚(INTA)连接到 XIO2001 INTD 和 IDSEL 连接到 AD18时,我们可以成功地读取和写入数据(绑定到18D)
  • 当我们将 PCI1520的 MFUNC0引脚(INTA)连接到 XIO2001 INTA 和 IDSEL 连接到 AD19时,我们可以成功地读取和写入数据(绑定到19A)

这使我们想到了主要问题。

为什么绑定与预期不同?

 

请提供建议。

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

    嗨、拉尔斯;

     让我查看原理图 并在星期四提供反馈。

    好极了

    Brian

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

    嗨、Brian

    我期待您的反馈。

    此致

    Lars

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

    将在星期一之前完成。

    好极了

    Brian

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

    尊敬的 Lars:

      可能寄存器设置为01? 顺便说一下、TUSB1520已经停产、您在哪里购买了该器件?

    好极了

    Brian

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

    嗨、Brian

    我将尽快检查寄存器。

    PCI1520是什么意思? 我们已经在其他产品中使用它、并通过最后一次购买获得了安全库存。

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

    嗨、Brian

    我们已读取该寄存器、位31:30为00。

    因此、这不是中断绑定不匹配的原因。

    您还有其他建议吗?

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

    80h 的位29和92h 的位2:1如何?

    好极了

    Brian

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

    我们已读取 PCI1520的当前寄存器(从0x00到0x100)。

    00:ac55104c 02100007 06070001 00824010

    10:94001000 020000a0 40030302 90080000

    20:900bf000 90040000 9004f000 0000a000

    30:0000a7fc 00000000 00000000 01400130

    40:12345678 000003e1 00000000

    50:00000000 00000000 00000000

    60:00000000 00000000 00000000

    70:00000000 00000000 00000000

    80:2844f060 00000000 00000000 00c01d02

    90:606000c0 00000000 00000000

    A0:7e020001 00c00000 0000081f 0000000b

    b0:0800000000 00000000 00000000

    C0:00000000 00000000 00000000

    d0:00000000 00000000 00000000

    E0:00000000 00000000 00000000

    F0:00000000 00000000 00000000

     

    80h:2844f060、即位29为‘1 '

    92h:6060、即位2:1为‘00'

    这些寄存器设置在我们自己的硬件和评估板设置(包括 XIO2001EVM 和商用 PCI1520卡)中看起来都是一致的。

    还有什么想法吗?

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

    让我读一下注册表、明天再给您回复。

    Brian

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

    尊敬的 Lars:

      似乎8Ch 为00、这意味着 MFUNC0/MFUNC1配置为 GPIO、而不是 INT。

     顺便说一下、您能否读取 PCMCIA 板的所有寄存器信息 以便我们比较配置?

    好极了

    Brian

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

    是否有任何更新?

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

    嗨、Brian。

    我对你的回答感到困惑。

    根据我在上一篇文章中给出的存储器转储、我将寄存器偏移量8Ch MFUNC0位解释为0b0010 (提供小端字节序表示法)。

    我们不同意这一点?

    是的、我们可以在需要时读取寄存器。

    您是否在 XIO2001EVM 设置中指的是商用 PCMCIA 板?

    此致 Lars

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

    尊敬的 Lars:

     很抱歉您 的混淆、00C01D02通常显示为8C/8D/8E/8F、但从您的格式来看、00C01D02 为8F/8E/8D/8C。 8C 是02

    您是否指的是 XIO2001EVM 设置中的商用 PCMCIA 板?

    是的、我需要为 PCMCIA 卡提供寄存器信息 以进行比较。

    好极了

    Brian