极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14967|回复: 12

为什么MANGO II的程序下载速度比别的板子慢很多?

[复制链接]
发表于 2013-12-5 21:14:24 | 显示全部楼层 |阅读模式
本帖最后由 isilcala 于 2013-12-5 21:17 编辑

一段自己写的程序,编译后13k。用官方IDE,在三块板子上分别下载:


  • 意大利进口原厂UNO:

下载窗口结束时显示时间:# | 100% 2.01s
自己掐表从第一个avrdude: Send: 0 [30]   [20] 开始到下载结束的时间:约5秒。


  • MANGO II:

下载窗口结束时显示时间:# | 100% 4.49s
自己掐表从第一个avrdude: Send: 0 [30]   [20] 开始到下载结束的时间:约10秒


  • 一块自己焊的Arduino兼容板+CP2102下载器(ATMEGA328P):

下载窗口结束时显示时间:# | 100% 1.77s
自己掐表从第一个avrdude: Send: 0 [30]   [20] 开始到下载结束的时间:约4秒。


这是为何啊……

下载其他程序的时间也是基本成比例的。

一开始以为是MANGO的Bootloader问题,刷了optiboot的328P的Bootloader(自己焊的板子也是用的这枚)以后没有任何变化。

对比了输出窗口的详细记录,三者的输出也是一模一样的一字不差。

想不明白了……
回复

使用道具 举报

发表于 2013-12-6 10:39:14 | 显示全部楼层
应该是usb转串口 那地方效率不好吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-6 13:29:47 | 显示全部楼层
flashria 发表于 2013-12-6 10:39
应该是usb转串口 那地方效率不好吧

MANGO用的是FT232,照理来说是最好的USB转串口芯片了啊……
回复 支持 反对

使用道具 举报

发表于 2013-12-6 13:51:49 | 显示全部楼层
应该是用老版的bootloader的原因,老版bootloader波特率比较低貌似是38400,  现在UNO R3的波特率都是115200
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-6 14:37:43 | 显示全部楼层
啷哩个铛 发表于 2013-12-6 13:51
应该是用老版的bootloader的原因,老版bootloader波特率比较低貌似是38400,  现在UNO R3的波特率都是115200

原帖里已经说了,刷了optiboot的新bootloader了
回复 支持 反对

使用道具 举报

发表于 2013-12-6 22:58:59 | 显示全部楼层
isilcala 发表于 2013-12-6 13:29
MANGO用的是FT232,照理来说是最好的USB转串口芯片了啊……

FT232是兼容性最好最稳定,但不是最快啊。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-7 03:26:00 | 显示全部楼层
Simon 发表于 2013-12-6 22:58
FT232是兼容性最好最稳定,但不是最快啊。


是不一定要最快,但也不至于这么离谱吧。

要说UNO上的16U2,某种意义上可以算是个“软”的USB2TTL芯片,速度比CP2102略慢点还说得过去。

FT232数倍于CP2102的价格,速度才人家一半都不到这就有点说不过去了吧……

何况,要比较稳定和兼容性,也应该是在速度一致的前提下去比较才是有意义的。如果舍弃速度,PL2303也可以做到稳定。但那种稳定没有意义啊。FT232这么好的口碑,相信不至于会那样。

另外也确认过,这3个板子下载时都是如下一样的波特率:
         Using Port                    : \\.\COM9
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200

回复 支持 反对

使用道具 举报

发表于 2013-12-7 12:11:35 | 显示全部楼层
isilcala 发表于 2013-12-7 03:26
是不一定要最快,但也不至于这么离谱吧。

要说UNO上的16U2,某种意义上可以算是个“软”的USB2TTL芯 ...

最好另外找一块用FT232的板测试一下对比才有意义。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-7 15:35:51 | 显示全部楼层
本帖最后由 isilcala 于 2013-12-7 15:40 编辑
Simon 发表于 2013-12-7 12:11
最好另外找一块用FT232的板测试一下对比才有意义。


刚才又做了另一个测试,利用MANGO TTL部分的跳线帽。(有一句说一句,这个设计还是很不错的。包括ICSP刷写头那个设计也是。)

用MANGO的串口部分,也就是板载的FT232,接自己焊的DIY板下载,速度同MANGO下载。

用CP2102的串口部分,接MANGO的328P下载,速度同CP2102接自焊DIY板下载。

那就排除了2块板子上2种封装的328P,以及各自Bootloader的问题。

看来问题还是在FT232这部分。可是FT232的手里只有这一块,没法做其他测试。不知道其他用MANGO的朋友有没有同样的问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-8 22:39:09 | 显示全部楼层
有没有手里有MANGO的同学也能测一下的啊?
回复 支持 反对

使用道具 举报

发表于 2013-12-13 09:11:07 | 显示全部楼层
这个确实有可能,FT232是最稳定的。。。但绝对不是最快的。有大神实测过,CP2102极限通信速度是usb转ttl中最快的。。。但是在驱动支持,长期运行可靠性上。。FT232是最优良的,长期用于工业应用上。因为稳定,意味着就要各种校验等等,就像服务器上的ECC内存,其实速度只有普通内存的一半,因为多了校验环节,但是稳定性就提高很多。我感觉是FT232在内部设计上增加了校验功能,这种增加的校验功能只有在长期大量通信下才能看出来效果。就像普通内存,你连续运行2,3天是看不出来和服务器内存差距的,但是你7X24连续内存上高负荷读写一个月,就能看出来差别了。
uno的bootloader通信速率是115200,这个属于ttl通信速度中很高的了。如果是内部带硬件校验,这个速度下变慢不是很奇怪的,可以试试在57600通信速度下下载,感觉57600下差距应该会小不少。

消费类电子产品追求的是速度,用来做开发的东西还是追求稳定性更好一些。

我们给工业环境下的ttl通信波特率。。。长期使用9600~~~或者更低。。。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-13 16:21:42 | 显示全部楼层
弘毅 发表于 2013-12-13 09:11
这个确实有可能,FT232是最稳定的。。。但绝对不是最快的。有大神实测过,CP2102极限通信速度是usb转ttl中最 ...

好吧,google一圈,发现的确很多人在说FT232慢的问题,可是没理出什么线索,一些人说的办法也不管用。

去更新了个最新驱动也不管用。

最后瞎倒腾的时候发现这个设置:

默认值是16,改成最低的1,速度一下子就正常了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2013-12-17 22:04:45 | 显示全部楼层
isilcala 发表于 2013-12-13 16:21
好吧,google一圈,发现的确很多人在说FT232慢的问题,可是没理出什么线索,一些人说的办法也不管用。

...

。。。。居然是这里的默认设置。。学习了。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-10 14:45 , Processed in 0.049914 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表