|
楼主 |
发表于 2004-11-6 15:42:05
|
显示全部楼层
我简单查看了avr910_2313_V36.asm
( www.mikrocontroller-projekte.de 30.Sep.2004 版本的汇编源代码)
发现:
1) 依然是软件SPI 参见子程序 rdser, wrser。
2) AT90S系列MCU仅仅支持字节写模式 每次一个字节 编程时间 4mS
ATMEGA系列MCU支持页写(Block Write)模式 每次64字(128字节) 编程时间 4.5mS
新产品MEGA系列支持页写模式,速度明显提高了
参数:
串口115200bps n,8,1 0.0868mS/Byte (10bit)
SPI 0.043mS/Byte AVRSTUDIO仿真得到的数值
页写 Block Write 4.5mS/128Bytes for ATMEGA16
字节写 Byte Write 4mS/Byte for AT90S8535 (实际时间用不到4mS)
AT90S8535 8192字节
(0.0868 + 0.043*4 + 4 )*8192+100(mS)= 35S
UART SPI 写 其他
ATMEGA16 64字x128页
(0.0868*128+0.043*4*128+4.5)*128+100(mS) = 4.9S
UART SPI 写 其他
ATMEGA8 推测时间 32字x128页
(0.0868*64+0.043*4*64+4.5)*128+100(mS) = 2.8S
UART SPI 写 其他
ATMEGA64 推测时间 128字x256页
(0.0868*256+0.043*4*256+4.5)*256+100(mS) = 18S
UART SPI 写 其他
总结:
1) 无论是那种下载线,如果MCU本身支持页写模式,速度将会高速提升。
2) 在页写模式中,UART和SPI是影响速度的主要因素
a. UART 115200bps 已经是普通串口最高速度,
该版本的作者建议使用USB型串口转换器,以获得更高速度 参见NOTE16
b. SPI速度也不能再提高了
ATMEL文件:
串行时钟(SCK) 的最小低电平时间和最小高电平时间要满足如下要求
低:> fck < 12 MHz 时为2 个CPU 时钟周期, fck >= 12 MHz 时为3 个CPU 时钟周期
高:> fck < 12 MHz 时为2 个CPU 时钟周期, fck >= 12 MHz 时为3 个CPU 时钟周期
要兼顾 1MHz~8MHz,速度只能以1MHz为准。
c.你可以为8MHz或16MHz的用户板做个专用版本,但相信BootLoads 的速度更高!!
3) 对于AT90S系列MCU,Sorry!无论是那种下载线,最高速度只能是 约 35S/8Kbytes 了
-----此内容被HJJourAVR于2004-11-06,15:46:24编辑过
-----此内容被HJJourAVR于2004-11-06,18:43:53编辑过 |
|