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.

c6657网络传输速率问题



我想用c6657的网口进行图片传输,图片大小为1M左右。C6657的网络传输速度用户手册上写的能达到1000Mbps,但是我实际传输的时候一张图片传了1秒多种。代码是利用NDK写的,有什么方法能提高传输速度吗?我希望一秒钟能传输4到5张图片,请问能实现吗?

  • 你好,

             NDK的效率的确不高,但是1M的图片传了1秒钟,很可能是phy芯片的链接速率没有达到1000M,只有100M,请首先确定phy的工作状态是1000Mbps。每秒4到5张图片对于NDK来说还是绰绰有余的,但是如果想达到30MB/S以上的传输速度,建议不用NDK,直接使用底层驱动控制PA及GbE Switch来进行数据包的收发,这样可以达到更高的传输速度。

  • 您好,可以问一下你用的NDK版本吗?还有NSP你安装了吗?

    在导入NDK例程的时候遇到这个错误:

    Description Resource Path Location Type
    RTSC product-type 'com.ti.rtsc.NSP' is not recognized. Please install at least one product of this type. ndk_evm6748_elf_cfgdemo ndk_evm6748_elf_cfgdemo Problems

    请问一下你知道这么问题怎么解决吗?

  • miker wang,

    谢谢您的解答!因为NDK我也只是依葫芦画瓢,所以不知道在哪里设置和查看phy的工作状态...希望能指导一下。您上面提到30MB/S以下可以用NDK,可以理解为一秒钟单传输的话1M图片可以传30张左右吗?

  • liang he2 ,

    您好!我用的NDK是2.21.2.43,NSP的话随MCSDK安装的时候没有安装,之后自己下了一个装了,但是也没有用到过。至于您说的问题我没有遇到过,MSCDK中提供的例程我都是可以直接编译运行的,而且我用的芯片是C6657,抱歉帮不了你。

  • yuxin

           你好,

    1、如果你是使用网线与电脑相连的话,可以直接在电脑的任务管理器中的“联网”目录下查看网络连接的状态,根据显示的速率就可以知道phy的连接速率。如果连接其他板卡,需要通过MDIO口读取phy芯片的寄存器值来确定速率。

    2、你的理解是对的。

           

  • miker wang,

    您好!根据您的指导,我到任务管理器中看了一下,速率慢的原因可能是我是用的虚拟机进行传输,导致速度很慢。如果知道了phy的连接速率没有达到要求,那应该怎样设置使其达到较高速度呢?

  • yuxin,

            任务管理器里显示的线路速率是多少呢?100Mbps还是1000Mbps?确认一下你电脑的网卡能支持1000Mbps的速率,否则就算配置phy在1000Mbps速率还是会以100M的速率工作。如果电脑网卡支持1000M,而且连接速率显示的是100M,这时需要通过MDIO口修改phy的寄存器,你可以参考MCSDK目录下的NDK例程hello world或者client,其中有一个EVM_init()函数中的platform_init()函数中包含了对phy的初始化,而且初始化的速度就是1000M。你可以使用该函数初始化phy。

  • miker wang,

    1.任务管理器中线路速率显示为1Gbps,但是虚拟机的速率一直显示100Mbps,所以我感觉应该是虚拟机的问题。

    2.我查看了一下hello world和client的代码,发现其中关于phy的设置只有一条语句,而两个例程中的设置不一样,

        hello wrold中是:sFlags.phy  = 1;    /* Ethernet                     */

        client中是:sFlags.phy  = 0; /* Ethernet */

    请问哪一种才是设置为1Gbps的?

  • yuxin,

             这个flag是代表是否初始化phy,设置为1就代表初始化phy,初始化的速率固定就是1000Mbps。你可以查看一下platform_init这个函数的源代码,在platform.c这个源文件里。路径如下,我这是6678的pdk路径,你在6657的pdk路径里找就行了:

  • 谢谢,

    我想问一下那个NSP是怎么安装的呢,下载的解压包解压到ti文件夹下然后还要做什么吗?

  • 我记得不用做什么了,重新打开ccs的时候会有对话框让你把NSP加到ccs里去,做完那个应该就可以了。因为没有用过所以也不确定,还是问一下ti工程师比较好。

  • 嗯,还是谢谢你。我想我也不用管那个了吧。

  • 您好,你这网络传输速率上去了么?!与PC机的速率能到多高?!!