Woody Home Page
 
   
从PA1688到PA6488 - TFTP性能
  
2009年9月1日
事实上PA1688不支持TFTP协议. 除了普通的HTTP升级, 它用特殊的PalmTool本地升级工具. 过去的三年多来我们开发了一个不成功的PA1688替代品, 但是在开发过程当中还是学了很多东西的. 其中最重要的一个, 就是按照现有标准的方式做工作.
AR1688用标准的TFTP升级取代PalmTool作为本地升级方法. 我们叫它本地升级方法因为在安全模式恢复中只能用它. 当然在正常运行时也能用, 就像HTTP升级一样. 作为TFTP服务器, AR1688能接收1.5-2.2Mbps的数据.
在600MHz PA648A板子上, 用我的Sony笔记本做TFTP终端, 我能够把一个18034784字节的文件在7秒的时间导入到PA6488 DDR2内存中!
18034784/512=35225 TFTP数据块. .
每个TFTP数据块需要额外的4(TFTP头)+8(UDP头)+20(IP头)+14(MAC头)+8(MAC同步字)+4(MAC 校验值)=58字节来接收.
在7秒内的网络总接收数据是18034784+35225*58=20077834字节.
对应网络带宽20077834*8*/7=22.9Mbps.
TFTP协议需要对每个收到的数据块返回ACK, 对方没有收到当前数据块的ACK就不发新的数据. 我们在100Mbps的局域网上得到的数据传输率因此并没有100Mbps那么高.
 
2015年3月4日更新
在最近整合PA6488和PA3288公用的TCPIP等相关软件代码的过程中顺便测试了PA3288的TFTP性能. 使用ENC28J60网络芯片, 跑192Mhz的PA3288能够把一个8.5M字节的文件在27秒的时间导入, 大约相当于2.8Mbps的数据吞吐率. 就像在ping 65500测试中看到的一样, 瓶颈在SPI接口的10Mbps网络芯片上.
原来AR1688和PA6488的TFTP代码都有32M字节文件大小的限制, PA3288也不例外, 不能测试大于32M字节的文件.

本页面尚无任何评论.

更多选项? 请先登录或者注册. metropolitan-tundra