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.

TDA4VH-Q1: tda4vh-pcie-两个板子互连功能

Part Number: TDA4VH-Q1

我们需要将两个板子通过PCIE接在一起,目前一个板子为rc角色,一个板子ep 角色

两个通过线缆连接在一起,RC这边没能与EP,link up上

已验证:

单独修改RC电路,连接上PCIE 网卡可以识别到设备

请问这个问题怎么排除及解决,谢谢

  • 请问这个问题怎么排除及解决,谢谢

    1. 确认硬件连接2. 验证硬件配置3. 检查 PCIE 配置4. 检查驱动程序

  • 两两板子连接,硬件上是不是只需要以下就可以,时钟可以通过时钟IC单独供100Mhz

    PCIE0_RX0_P

    PCIE0_RX0_N

    PCIE0_RX1_P

    PCIE0_RX1_N

    PCIE0_RX2_P

    PCIE0_RX2_N

    PCIE0_RX3_P

    PCIE0_RX3_N

    PCIE0_TX0_P

    PCIE0_TX0_N

    PCIE0_TX1_P

    PCIE0_TX1_N

    PCIE0_TX2_P

    PCIE0_TX2_N

    PCIE0_TX3_P

    PCIE0_TX3_N

  • 您好,

    在硬件上,如果您要连接两个板子,步骤是1. 电气连接2. 时钟信号3. 信号完整性

  • test_result.log

    20231120_13:58:55:259:BAR0: OKAY
    20231120_13:58:55:259:BAR1: OKAY
    20231120_13:58:55:259:BAR2: OKAY
    20231120_13:58:55:260:BAR3: OKAY
    20231120_13:58:55:332:BAR4: OKAY
    20231120_13:58:55:785:BAR5: OKAY
    20231120_13:58:55:785:
    20231120_13:58:55:785:Interrupt tests
    20231120_13:58:55:785:
    20231120_13:58:55:785:SET IRQ TYPE TO LEGACY: OKAY
    20231120_13:58:56:825:LEGACY IRQ: NOT OKAY
    20231120_13:58:56:825:SET IRQ TYPE TO MSI: OKAY
    20231120_13:58:56:825:MSI1: OKAY
    20231120_13:58:56:825:MSI2: OKAY
    20231120_13:58:57:833:MSI3: NOT OKAY
    20231120_13:58:58:860:MSI4: NOT OKAY
    20231120_13:58:59:883:MSI5: NOT OKAY
    20231120_13:59:00:910:MSI6: NOT OKAY

    20231120_13:59:27:553:SET IRQ TYPE TO MSI-X: OKAY
    20231120_13:59:27:553:MSI-X1: OKAY
    20231120_13:59:27:553:MSI-X2: OKAY
    20231120_13:59:28:564:MSI-X3: NOT OKAY
    20231120_13:59:29:588:MSI-X4: NOT OKAY
    20231120_13:59:30:610:MSI-X5: NOT OKAY
    20231120_13:59:31:639:MSI-X6: NOT OKAY
    20231120_13:59:32:650:MSI-X7: NOT OKAY
    20231120_13:59:33:771:MSI-X8: NOT OKAY
    20231120_13:59:34:702:MSI-X9: NOT OKAY
    20231120_13:59:35:725:MSI-X10: NOT OKAY
    20231120_13:59:36:751:MSI-X11: NOT OKAY
    20231120_13:59:37:775:MSI-X12: NOT OKAY
    20231120_13:59:38:799:MSI-X13: NOT OKAY
    20231120_13:59:39:821:MSI-X14: NOT OKAY
    20231120_13:59:40:848:MSI-X15: NOT OKAY

    请问一下,为什么测试中,中断选项会报错,怎样修改可以通过测试

  • 中断选项报错可能是由于硬件或驱动程序的问题导致的。要解决这个问题,可以尝试以下方法:

    1. 检查硬件连接:确保中断控制器和设备之间的连接正确,没有松动或损坏的地方。

    3. BIOS设置:在BIOS中检查中断设置,尝试将中断类型设置为合适的选项

    4. 硬件故障:如果以上方法都无效,可能是硬件本身出现故障,需要进行更深入的硬件故障排查或更换硬件。

  • 请问一下4lane,按下面的测试方法

    3.2.2.11. PCIe End Point — Processor SDK Linux for J784s4 Documentation

    #mount -t configfs none /sys/kernel/config
    cd /sys/kernel/config/pci_ep/
    mkdir functions/pci_epf_test/func1
    echo 0x104c > functions/pci_epf_test/func1/vendorid
    echo 0xb00d > functions/pci_epf_test/func1/deviceid
    echo 2 > functions/pci_epf_test/func1/msi_interrupts
    echo 2 > functions/pci_epf_test/func1/msix_interrupts
    ln -s functions/pci_epf_test/func1 controllers/2900000.pcie-ep/
    
    mkdir functions/pci_epf_test/func2
    echo 0x104c > functions/pci_epf_test/func2/vendorid
    echo 0xb00d > functions/pci_epf_test/func2/deviceid
    echo 2 > functions/pci_epf_test/func2/msi_interrupts
    echo 2 > functions/pci_epf_test/func2/msix_interrupts
    ln -s functions/pci_epf_test/func2 controllers/2900000.pcie-ep/
    
    mkdir functions/pci_epf_test/func3
    echo 0x104c > functions/pci_epf_test/func3/vendorid
    echo 0xb00d > functions/pci_epf_test/func3/deviceid
    echo 2 > functions/pci_epf_test/func3/msi_interrupts
    echo 2 > functions/pci_epf_test/func3/msix_interrupts
    ln -s functions/pci_epf_test/func3 controllers/2900000.pcie-ep/
    
    mkdir functions/pci_epf_test/func4
    echo 0x104c > functions/pci_epf_test/func4/vendorid
    echo 0xb00d > functions/pci_epf_test/func4/deviceid
    echo 2 > functions/pci_epf_test/func4/msi_interrupts
    echo 2 > functions/pci_epf_test/func4/msix_interrupts
    ln -s functions/pci_epf_test/func4 controllers/2900000.pcie-ep/
    
    mkdir functions/pci_epf_test/func5
    echo 0x104c > functions/pci_epf_test/func5/vendorid
    echo 0xb00d > functions/pci_epf_test/func5/deviceid
    echo 2 > functions/pci_epf_test/func5/msi_interrupts
    echo 2 > functions/pci_epf_test/func5/msix_interrupts
    ln -s functions/pci_epf_test/func5 controllers/2900000.pcie-ep/
    
    mkdir functions/pci_epf_test/func6
    echo 0x104c > functions/pci_epf_test/func6/vendorid
    echo 0xb00d > functions/pci_epf_test/func6/deviceid
    echo 2 > functions/pci_epf_test/func6/msi_interrupts
    echo 2 > functions/pci_epf_test/func6/msix_interrupts
    ln -s functions/pci_epf_test/func6 controllers/2900000.pcie-ep/
    echo 1 > controllers/2900000.pcie-ep/start

    最大才2GB/s的速度,是测试方法不对嘛

    [  599.454943] WRITE => Size: 1 bytes    DMA: YES        Time: 0.000023405 seconds      Rate: 41 KB/s
    [  599.470922] 
    [  599.470922] WRITE => Size: 1024 bytes         DMA: YES        Time: 0.000012010 seconds      Rate: 83263 KB/s
    [  599.486922] 
    [  599.486922] WRITE => Size: 1025 bytes         DMA: YES        Time: 0.000011335 seconds      Rate: 88308 KB/s
    [  599.508274] 
    [  599.508274] WRITE => Size: 1024000 bytes      DMA: YES        Time: 0.000459040 seconds      Rate: 2178459 KB/s
    [  599.532269] 
    [  599.532269] WRITE => Size: 1024001 bytes      DMA: YES        Time: 0.000462540 seconds      Rate: 2161977 KB/s
    [  599.550919] 
    [  599.550919] READ => Size: 1 bytes     DMA: YES        Time: 0.000011330 seconds      Rate: 86 KB/s
    [  599.566918] 
    [  599.566918] READ => Size: 1024 bytes  DMA: YES        Time: 0.000012525 seconds      Rate: 79840 KB/s
    [  599.582920] 
    [  599.582920] READ => Size: 1025 bytes  DMA: YES        Time: 0.000013545 seconds      Rate: 73900 KB/s
    [  599.599688] 
    [  599.599688] READ => Size: 1024000 bytes       DMA: YES        Time: 0.000555825 seconds      Rate: 1799127 KB/s
    [  599.623565] 
    [  599.623565] READ => Size: 1024001 bytes       DMA: YES        Time: 0.000559655 seconds      Rate: 1786816 KB/s
    [  599.638956] 
    [  599.638956] COPY => Size: 1 bytes     DMA: YES        Time: 0.000042355 seconds      Rate: 23 KB/s
    [  599.654923] 
    [  599.654923] COPY => Size: 1024 bytes  DMA: YES        Time: 0.000012930 seconds      Rate: 77339 KB/s
    [  599.670922] 
    [  599.670922] COPY => Size: 1025 bytes  DMA: YES        Time: 0.000012345 seconds      Rate: 81083 KB/s
    [  599.695690] 
    [  599.695690] COPY => Size: 1024000 bytes       DMA: YES        Time: 0.000746510 seconds      Rate: 1339566 KB/s
    [  599.719719] 
    [  599.719719] COPY => Size: 1024001 bytes       DMA: YES        Time: 0.000776040 seconds      Rate: 1288594 KB/s

  • 这个测试方法是为了配置PCIe端点功能和进行性能测试。在测试中,您创建了6个名为func1到func6的PCIe端点功能,每个功能都有相同的vendorid和deviceid,并且都配置了2个MSI和2个MSIX中断。然后将这些功能连接到名为2900000.pcie-ep的控制器。

    在测试的最后,您将控制器的start文件设置为1,以启动测试。测试结果显示了不同大小数据的读取、写入和复制速度。

    至于速度只有2GB/s,这可能是由于测试方法不正确或者硬件/驱动程序的限制。你可能需要检查测试的配置和环境,以便找出速度低的原因。可能需要调整测试参数或者确认硬件和驱动程序的性能限制。

  • 请问有正确的方法应该是怎样的,我们现在是两个板pcie-to-pcie,rc发起测试,修改了中断数为4,数据也没有上升的情况,官方的evm板最大的测试速度是多少?

  • 官方的evm板最大的测试速度是多少?

    600MHz。

  • 这个速度是lane/s的速度是600MB/s 嘛,4lane就是2.4GB/s

  • 您好,是的

  • 请问测试方法是类似如下测试的打印嘛,还是用专业仪器的测试结果 pcie2pcie吞吐量

    3.2.2.11. PCIe End Point — Processor SDK Linux for J784s4 Documentation

    ti-processor-sdk-linux-j784s4-evm-08_06_00_12/docs/linux/Foundational_Components_Kernel.html

    [  599.454943] WRITE => Size: 1 bytes    DMA: YES        Time: 0.000023405 seconds      Rate: 41 KB/s
    [  599.470922] 
    [  599.470922] WRITE => Size: 1024 bytes         DMA: YES        Time: 0.000012010 seconds      Rate: 83263 KB/s
    [  599.486922] 
    [  599.486922] WRITE => Size: 1025 bytes         DMA: YES        Time: 0.000011335 seconds      Rate: 88308 KB/s
    [  599.508274] 
    [  599.508274] WRITE => Size: 1024000 bytes      DMA: YES        Time: 0.000459040 seconds      Rate: 2178459 KB/s
    [  599.532269] 
    [  599.532269] WRITE => Size: 1024001 bytes      DMA: YES        Time: 0.000462540 seconds      Rate: 2161977 KB/s
    [  599.550919] 
    [  599.550919] READ => Size: 1 bytes     DMA: YES        Time: 0.000011330 seconds      Rate: 86 KB/s
    [  599.566918] 
    [  599.566918] READ => Size: 1024 bytes  DMA: YES        Time: 0.000012525 seconds      Rate: 79840 KB/s
    [  599.582920] 
    [  599.582920] READ => Size: 1025 bytes  DMA: YES        Time: 0.000013545 seconds      Rate: 73900 KB/s
    [  599.599688] 
    [  599.599688] READ => Size: 1024000 bytes       DMA: YES        Time: 0.000555825 seconds      Rate: 1799127 KB/s
    [  599.623565] 
    [  599.623565] READ => Size: 1024001 bytes       DMA: YES        Time: 0.000559655 seconds      Rate: 1786816 KB/s
    [  599.638956] 

    测试脚本

    #!/bin/sh
    # SPDX-License-Identifier: GPL-2.0
    
    echo "BAR tests"
    echo
    
    bar=0
    
    while [ $bar -lt 2 ]
    do
    	pcitest -b $bar
    	bar=`expr $bar + 1`
    done
    echo
    
    echo "Interrupt tests"
    echo
    
    pcitest -i 0
    pcitest -l
    
    pcitest -i 1
    msi=1
    
    while [ $msi -lt 3 ]
    do
            pcitest -m $msi
            msi=`expr $msi + 1`
    done
    echo
    
    pcitest -i 2
    msix=1
    
    while [ $msix -lt 4 ]
    do
            pcitest -x $msix
            msix=`expr $msix + 1`
    done
    echo
    
    echo "Read Tests"
    echo
    
    pcitest -i 1
    
    pcitest -d -r -s 1
    pcitest -d -r -s 1024
    pcitest -d -r -s 1025
    pcitest -d -r -s 1024000
    pcitest -d -r -s 1024001
    echo
    
    echo "Write Tests"
    echo
    
    pcitest -d -w -s 1
    pcitest -d -w -s 1024
    pcitest -d -w -s 1025
    pcitest -d -w -s 1024000
    pcitest -d -w -s 1024001
    echo
    
    echo "Copy Tests"
    echo
    
    pcitest -d -c -s 1
    pcitest -d -c -s 1024
    pcitest -d -c -s 1025
    pcitest -d -c -s 1024000
    pcitest -d -c -s 1024001
    echo
    

  • 如果只是简单的测试PCIE2PCIE的吞吐量,可以使用类似上述打印的方式来测试。这种方式可以简单地测试数据传输速度,但是不够准确,无法检测到一些潜在的问题。如果需要更加准确的测试结果,可以使用专业的测试仪器来测试,比如逻辑分析仪或者示波器等。这些仪器可以提供更加全面的测试结果和分析,以便更好地了解系统的性能和问题。