利用官方例程调试网口,现在利用dsp往pc发数,
一帧数总共两万多bytes。把这一帧拆成22包,每包1248bytes。
从wireshark抓到数的现象来看,每一小包的间隔很短,大概在0.0003s这样。但是每一大帧的间隔却很长,0.025s这样。我希望每一大帧的速率能达到0.02s以内,请问有什么办法能提高我的速率呢?谢谢各位大神指点!
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.
利用官方例程调试网口,现在利用dsp往pc发数,
一帧数总共两万多bytes。把这一帧拆成22包,每包1248bytes。
从wireshark抓到数的现象来看,每一小包的间隔很短,大概在0.0003s这样。但是每一大帧的间隔却很长,0.025s这样。我希望每一大帧的速率能达到0.02s以内,请问有什么办法能提高我的速率呢?谢谢各位大神指点!
你设计中 1个小包对应1个descriptor,也就是说1大帧是拆成22个小descriptor循环发送,对吗?如果对的话,请问您帧与帧之间是怎么调度的呢?
我目前是把1帧拆成22小包,一包对应一个描述符的。
我现在就是把这个发数的函数直接while循环了,就是一直在不断重复发帧。然后这样的话我的帧频是0.25ms。不知道能否再提高速度?怎么提高?
我跟踪到descriptor的buffer_ptr里的地址对应是0x82000000,于是我屏蔽掉invalidcache等函数,直接往这个地址里写数。可是pc端就抓不到数了。
用描述符发数必须要invalidcache吗?我觉得我的时间都花在开缓存,从缓存往ram里搬数里了。我可以省略这些步骤吗?怎么做才是对的?
网上关于描述符的资料很少,我自己看ti的文档也是一知半解,还请您指点!谢谢!
此外,您说的调度是什么意思?这是发数的一种办法吗?