作者ResolaQQ (ResolaQQ)
看板Electronics
标题[问题] 自己写了一个USB烧录器,但速度有点慢...
时间Fri Aug 14 16:54:55 2015
啥都不开,最快的情况下,每秒能烧 11 bytes
https://youtu.be/ZJvEX7UOl_c
开启除错和验证模式,每秒只能够烧 2 bytes
https://youtu.be/kFm9HJKHf4A
题外话,除错模式有把所有烧录过程显示出来
使用的 USB to TTL 晶片是 PL-2303HXD
烧录慢的原因似乎是因为 RTS 跟 DTR 转换逻辑的速度很慢
10 万次逻辑转换测试里,最快要 2 ms,最慢要 14 ms
而且之前设定 20 ms 也有烧录失败过,所以实际情况应该还会更糟
想请问这是 PL-2303HXD 的晶片问题吗?
如果改用 FT232 或 CP2102,烧录速度是否会大幅提升?
谢谢各位
--
放着养蚊子的部落格
http://resolaqq.blogspot.tw
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.233.7.104
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Electronics/M.1439542498.A.780.html
1F:推 qinriddick: 不晓得你的mcu是哪颗... 08/15 19:17
2F:→ qinriddick: n年前用51 ISP烧录三种都测试过没有问题 08/15 19:18
3F:→ AKPPT: CLK=? 还有你设的baud rate? 都有影响 我是用FT232做的 08/15 19:24
4F:→ AKPPT: 但是用这种USB to RS232多少会慢一些 直接用MAX232速度最快 08/15 19:25
5F:→ teravideo: 将鲍率提升到921600bps,FT232、PL2303、CP2102、CH340 08/15 21:13
6F:→ teravideo: 都有支援,或SUNIX的PCI的RS-232卡也有支援 08/15 21:16
7F:→ ResolaQQ: MCU是AT89S52,Baud Rate是115200(预设值) 08/16 02:44
8F:→ ResolaQQ: 不过我的程式不是用TX在烧的耶,这样改Baud Rate有用吗? 08/16 02:45
9F:→ ResolaQQ: 弄错了,Baud Rate预设是9600 08/16 03:12
10F:→ ResolaQQ: 但试过Baud Rate 75/9600/921600/12000000 08/16 03:14
11F:→ ResolaQQ: 烧256 bytes所花的时间一样都是21秒,一秒都不差 08/16 03:15
12F:→ ResolaQQ: AT89S52的CLK是24M,PL-2303HXD没得外接,内建似乎是96M 08/16 03:19
13F:→ dsplab: 建议改用1T指令集的变种8051,笙泉或宏晶都有类似晶片, 08/16 13:26
14F:→ dsplab: AT89S52应该没办法使用921600bps的串列速度! 08/16 13:28
15F:推 kingstong: 可以问一下烧录器是用哪种COMPILER吗?!是ASM还是机器语 08/16 13:41
16F:→ kingstong: 言?! 08/16 13:41
17F:→ ResolaQQ: 烧录器是指烧录程式吗?我是用Python写的 08/16 14:00
18F:→ ResolaQQ: 1T指令集的变种8051我在研究一下,缺乏知识,有看没有懂 08/16 14:24
19F:推 kingstong: 没错Python就是一种COMPILER,烧录器就是烧录程式,就像 08/16 15:46
20F:→ kingstong: 浏览器明明就是程式偏偏就取名浏览器.这样看来PYTHON 08/16 15:48
21F:→ kingstong: 算是一种很低阶的COMPILER. 08/16 15:48
22F:推 kingstong: 在CompScience版有PYTHON的讨论区,有兴趣你可以去逛一 08/16 15:51
23F:→ kingstong: 下. 08/16 15:51
24F:→ ResolaQQ: 可是Python是直译程式,不用编译耶,一般是分到高阶语言 08/16 16:16
25F:→ ResolaQQ: 虽然有RPython需要编译而且跑得快很多,但一般不会用到 08/16 16:18
26F:推 kingstong: Lisp,Pascal,C,BASIC 与 Python都有直译器版本能用 08/16 18:06
27F:→ kingstong: WIKI直译语言和直译器. 08/16 18:06
28F:→ Schottky: 我以前自己做 AT89S52 烧录器时也发生过一样的事 08/17 09:10
29F:→ Schottky: 不管是用主机板原生 RS-232 还是 printer port 08/17 09:10
30F:→ Schottky: 甚至用另一颗 AT89S52 来烧都一样,速度慢又不稳定 08/17 09:11
31F:→ Schottky: 当时并没有去深究原因,後来直接照着做别人的烧录器解决 08/17 09:12
32F:→ Schottky: 现在想想,用过这麽多介面状况都一样,应该是我在 08/17 09:13
33F:→ Schottky: implement ISP 烧录程序时有什麽细节没注意到的缘故 08/17 09:13
34F:→ ResolaQQ: 可是烧录程序就那麽几行,应该不太会出错 08/17 13:19
35F:→ ResolaQQ: 不然下次我也试试看用另一颗AT89S52来烧AT89S52好了 08/17 13:21