|
发表于 2007-9-14 09:07:23
|
显示全部楼层
源码没找到。
硬件上 改了,加了个 PNP 控制 芯片的VCC,因为你原来的电路没对 VCC 进行控制。上面说过,我是对M8编程解开M48的,在M8中文手册中说明:RST-> io后,必须以下面的方式进入编程模式
“注意,如果通过对RSTDISBL 熔丝位的编程将RESET 引脚禁用,或选择外部晶体或外
部RC,它不可能提供合格的XTAL1 脉冲。在这种情况下,应采取如下算法:
1. 设置列于 P 213Table 90 的 Prog_enable 引脚为 “0000”。
2. 在VCC 与GND 间提供电压4.5 - 5.5V 同时在RESET 上提供11.5 - 12.5V 电压。
3. 等待100 ns。
4. 对熔丝位重编程,保证外部时钟源作为系统时钟(CKSEL3:0 = 0b0000)。如果锁定
位已编程,在改变熔丝前必须执行芯片擦除指令。
5. 通过降低器件功率或置RESET 引脚为0b0 来退出编程模式。
6. 用前面讲到的算法进入编程模式。”
老的M48 的中文数据手册中没有说明,但是新的 英文手册中对进入编程模式有说明,就是VCC上升时限
“The following algorithm puts the device in Parallel (High-voltage) Programming mode:
1. Set Prog_enable pins listed in Table 26-12 on page 290 to “0000”, RESET pin to 0V and
VCC to 0V.
2. Apply 4.5 - 5.5V between VCC and GND.
Ensure that VCC reaches at least 1.8V within the next 20 μs.
3. Wait 20 - 60 μs, and apply 11.5 - 12.5V to RESET.
4. Keep the Prog_enable pins unchanged for at least 10μs after the High-voltage has been
applied to ensure the Prog_enable Signature has been latched.
5. Wait at least 300 μs before giving any parallel programming commands.
6. Exit Programming mode by power the device down or by bringing RESET pin to 0V.
If the rise time of the VCC is unable to fulfill the requirements listed above, the following alternative
algorithm can be used.
1. Set Prog_enable pins listed in Table 26-12 on page 290 to “0000”, RESET pin to 0V and
VCC to 0V.
2. Apply 4.5 - 5.5V between VCC and GND.
3. Monitor VCC, and as soon as VCC reaches 0.9 - 1.1V, apply 11.5 - 12.5V to RESET.
4. Keep the Prog_enable pins unchanged for at least 10μs after the High-voltage has been
applied to ensure the Prog_enable Signature has been latched.
5. Wait until VCC actually reaches 4.5 -5.5V before giving any parallel programming
commands.
6. Exit Programming mode by power the device down or by bringing RESET pin to 0V.”
所以 你还是必须对VCC进行控制。 原装 stk500 也对VCC进行了控制,本站有原装STK500 电路PDF,你可以参考。能确信的就是 M48可以通过上面方法解。
能帮你的就这些,希望有用。
Good Luck !
sflfw |
|