|
前段时间设计了一块STM32F429ZGT6+DP83848+FPGA+AD的板卡,功能都调通了,但发现网络速度较慢,无法实际应用。FPGA控制多路A/D芯片连续采集外部模拟信号,并缓存在FPGA内部的RAM中,积攒到一定量的采样点后通知ARM读到ARM内部的SRAM,然后使用UDP方式立即通过MAC发送出去,初步评估连续传输的有效数据的流量大约只有1.28MBit(纯A/D有效数据,不算网络开销的数据);用示波器检测一些时间状态:在有效数据包长1442字节的情况下,FPGA间隔大约9ms通知依次ARM读取数据,ARM从FPGA读取数据的时间大约42us,然后执行UdpClientSend(pUdpPcb, (char *)adata[0], 1442)子程序大约用时不到40us;监视ARM传输到DP83848(txen高电平)时间约120us,之后ARM等待下一次数据读取和传送;监视ARM与DP83848的TXCLK是25MHz,说明网络工作于100MHz。板卡的网口直接和电脑的网口相连,在电脑上运行UDP接收程序并将有效数据保存在电脑硬盘中,时候分析存储的数据,在前述速度下基本不丢包(数据包中有包计数标志),但适当提高点A/D速度,就能明显发现出现丢包现象,请教各位大拿,上述过程影响速率的主要因素会是什么,有什么好的办法可以进一步提高速度呢? |
【福利三:雨露均沾·逢7狂欢】之四:用一个定时器同步另外两个定时器输出PWM
【逢7发帖赢大礼】STM32开发之WIFI实时时钟
【逢7发帖赢大礼】STM32开发之指纹识别!
【逢7发帖赢大礼】STM32开发之环境空气质量监测
【逢7发帖赢大礼】STM32开发之人体实时运动信息监测!
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
【逢7发帖赢大礼】全网最简单的Arduino_STM32开发环境搭建教程!
STM32F4中文用户手册
STM32F400、STM32F402 Cortex-M4超值单片机
SPI 高温读错最后一位?STM32F42xx 官方根治方案
微信公众号
手机版