我们计划开发一个带有一个Xilinx FPGA的独立电路板,需要与多个板载模块进行通信。其中一些模块具有PCIe接口,因此可用作PCIe端点。我们在这个领域没有多少经验,但到目前为止我们已经知道的是,我们需要在FPGA内部使用PCIe IP核作为根端口,以便与这些芯片进行通信。据我所知,我们还需要在FPGA和端点之间使用PCIe交换机来扩展PCIe总线。为了管理这些设备之间的所有通信,我们正在考虑实施MicroBlaze CPU Soft Core和PetaLinux。
我的问题是:
1 - 谁负责执行PCIe端点枚举,PetaLinux操作系统或根端口IP核?
2 - PCIe交换机位于中间,我是否需要某种驱动程序才能工作,或者它是完全透明的,操作系统或根端口只看到连接到下游端口的所有PCIe端点?
先谢谢
答案 0 :(得分:2)
PCIe根联合体后面的操作系统,驱动程序和所谓的PCIe子系统进行枚举。
正如名称“开关”所说,它是透明的。尽管如此,一些交换机还具有额外的功能来编程链路计数,通道数,QoS,热故障转移......
PCIe子系统驱动程序枚举时也配置了PCIe交换机。
这本书可能有所帮助:来自Mindshare Press的PCI Express Technology 3.0。