我想用c6657的网口进行图片传输,图片大小为1M左右。C6657的网络传输速度用户手册上写的能达到1000Mbps,但是我实际传输的时候一张图片传了1秒多种。代码是利用NDK写的,有什么方法能提高传输速度吗?我希望一秒钟能传输4到5张图片,请问能实现吗?
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的网口进行图片传输,图片大小为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的?
我记得不用做什么了,重新打开ccs的时候会有对话框让你把NSP加到ccs里去,做完那个应该就可以了。因为没有用过所以也不确定,还是问一下ti工程师比较好。