forked from SukkoPera/avr-fusebit-doctor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREAD!.txt
242 lines (183 loc) · 9.96 KB
/
READ!.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
This is a project of AVR Atmega fusebit doctor (HVPP+HVSP).
Hardware and software: Manekinen (Pawe³ Kisielewski)
manekinen@gmail.com
Compiler: bascom v.1.11.9.0
PCB: Eagle light v.5.4.0
Project website: http://diy.elektroda.eu/atmega-fusebit-doctor-hvpp/
English language: http://diy.elektroda.eu/atmega-fusebit-doctor-hvpp/?lang=en
Any modifications allowed, do not remove this README! from archive.
Do not remove info from pcb and code.
Any usage of this project in commercial/profit purposes is prohibited.
Have a question? Post in comments on site, or contact me at manekinen@gmail.com
For software updates notifications, follow me at http://www.twitter.com/manekinen
03.05.2010
*******************************************************************************
*******************************************************************************
SUPPORTED CHIPS LIST (from v2.09) 145:
1kB:
AT90s1200, Attiny11, Attiny12, Attiny13/A, Attiny15
2kB:
Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22, Attiny25, AT90s2313, AT90s2323, AT90s2343
4kB:
Atmega48/A, Atmega48P/PA, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45
8kB:
Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, Attiny861/A, Attiny87, Attiny88, AT90s8515, AT90s8535
16kB:
Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega168P/PA, Atmega169A/PA, Attiny167, AT90pwm216, AT90pwm316, AT90usb162
32kB:
Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250, Atmega325A/PA, Atmega3250A/PA, Atmega328, Atmega328P, Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A/PA, AT90can32
64kB:
Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega645A/P, Atmega6450, Atmega6450A/P, AT90usb646, AT90usb647, AT90can64
128kB:
Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256kB:
Atmega2560, Atmega2561
*******************************************************************************
*******************************************************************************
CHANGELOG:
________________________
First release 03.05.2010
Hardware 2.0c PCB
-first PCB - BUGGED - DO NOT CLONE!
Firmware 2.0g BETA:
-first public release
-support only Atmega8, Atmega16, Atmega32
FUSEBITS: internal 8MHz clock, EESAVE enabled ( L:0xE4 H:0xD1 )
____________________
#1 UPDATE 15.05.2010
Hardware 2.0d PCB:
-fixed reset line issues - added 1K pulldown resistor
Firmware 2.01 BETA:
-added support for 73 chips, total 76
FUSEBITS: internal 8MHz clock, EESAVE enabled ( L:0xE4 H:0xD1 )
____________________
#2 UPDATE 03.06.2010
Hardware adapters:
-"#1 adapter" as HVPP extension, for 20pin Attiny26 compatible and 40pin Atmega8515 compatible processors.
-"HVSP adapter" for 8pin and 14pin HVSP processors.
Firmware 2.03:
-added support for HVPP chips: AT90s8515, AT90s8535, AT90s1200, AT90s4433, AT90s4414, AT90s4434, AT90s2333
-added support for HVSP adapter and HVSP chips: (8pin) Attiny11, Attiny12, Attiny13, Attiny15, Attiny25, Attiny45, Attiny85, Attiny22, AT90s2323, AT90s2343 (and 14pin) Attiny24, Attiny44, Attiny84
-device will automatically detect the HVSP adapter and start in the HVSP mode (info on rs232 output).
FUSEBITS: internal 8MHz clock, EESAVE enabled ( L:0xE4 H:0xD1 )
Other:
-added all sockets compatibility list with images... "B" means that this is the adapter #1 socket, and "C" - HVSP adapter socket.
-total supported chips: 96, total DIL socket compatible: 53.
-as this is now 2in1 (HVPP and HVSP) 8kB of Atmega8 memory was too short to fit all the goods inside...
-not all of chips names are send over rs232, but most common. This does not affect fixing process in any way.
-some of text for rs232 are holded in the eeprom memory. Even if you do not need the rs232 output, you MUST write the EEP.BIN
____________________
#3 UPDATE 31.07.2010
Firmware 2.04:
-fixed couple of bugs
-added new processors support, total 106 (138)
-internal clock change to 1MHz, budrate on UART output change to 2400bps
ATTENTION, FUSEBITS! If you make an update of firmware to 2.04, please change the internal clock generator to 1MHz.
If you make this circuit from beginning, just set the EESAVE fusebit – 1MHz clock is already set as default.
FUSEBITS: internal 1MHz clock, EESAVE enabled ( L:0xE1 H:0xD1 )
____________________
#4 UPDATE 18.08.2010
Firmware 2.05:
-no eeprom file needed
-improved support for 20-pin chips
-improved signature recognition
-fixed attiny26 issues
-no chip names trough uart
-uart baudrate 4800 (2400 was just too slow)
FUSEBITS: internal 1MHz clock, EESAVE enabled ( L:0xE1 H:0xD1 )
____________________
#5 UPDATE 07.11.2010
Firmware 2.06:
-fixed Atmega324P signature recognition
-added proper timings for Attiny15 on PB.3
-fixed data bug in hvsp "chip erase" command
-added proper additional data for Attiny15 "chip erase" command
FUSEBITS: internal 1MHz clock, EESAVE enabled ( L:0xE1 H:0xD1 )
____________________
#6 UPDATE 27.11.2010
Hardware: Added a SMD version of PCB - by Shuffle (thanks!)
-"doctor" part as smd
-dip sockets part as a adapter
-added usb (tf232 chip)
Check the "SMD-pcb" folder, added only necessary files.
To get original package from Shuffle (with pictures), go back to download page.
____________________
#7 UPDATE 23.01.2011
Hardware V2e:
-added a 100ohm pulldown resistor for +5V line
Now, circuit is more stable
This fixes a problem when some of chips worked in non-HV mode and we can't fix the RSTDISBL fusebit.
Firmware 2.07:
-CRITICAL FIX for AT90s1200, AT90s2313, AT90s2323, AT90s2343, AT90s4414, AT90s4434, AT90s8515, AT90s8535
(different fusebits and lockbits adresses, see datasheet)
-also, improved AT90s2313 default fuses - short start-up time is disabled by default.
-added new chips to uc's database: Atmega406, Atmega16HVB, Atmega32HVB (not listed above). Those are supported theoretically, see datasheet how to program "battery magament avr's".
-fixed bug in rs232 info
FUSEBITS: internal 1MHz clock, EESAVE enabled ( L:0xE1 H:0xD1 )
Compiled with basc-avr 2.0.4.0
____________________
#8 UPDATE 05.03.2011
Firmware 2.08:
-fixed default fuses values for: Attiny28, Atmega161, Atmega163.
-AT90s2313 still was bugged (after critical fix in 2.07) - FIXED
-now, you can use following (backwards compatible with m8) uC as doctor chip:
Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P.
Code for 16kB and 32kB chips will send uC names trough uart (like in 2.04 firmw).
FUSEBITS: internal 1MHz clock, EESAVE enabled:
M8 L:0xE1 H:0xD1
M88,M168 L:0x62 H:0xD7 E:0xF9
M328 L:0x62 H:0xD1 E:0xFF
____________________
#9 UPDATE 13.03.2011
Firmware 2.09:
-added support for new chips: Atmega6490A/P, Atmega645A/PA, Atmega6450A/PA
-fixed issue when not writing the extended fuse in Atmega649A/P
-corrected a bunch of chips names with A/P/PA suffix
This includes terminal names and chips list names (recalculated, 145 supported chips!)
-code optimalisations, still fits into 8kB - shrinked to 7310B :)
FUSEBITS: internal 1MHz clock, EESAVE enabled:
M8 L:0xE1 H:0xD1
M88,M168 L:0x62 H:0xD7 E:0xF9
M328 L:0x62 H:0xD1 E:0xFF
Hardware V2g:
-added AVCC connection on main PCB - needed in M168 and M328
-added pullup resistor on doctor's reset pin
Update PCB if you experience problems
_____________________
#10 UPDATE 20.03.2011
Hardware V.2h:
-added Rx pin as goldpin as 3rd pin in RS232 connector
-added pulldown resistor for Rx pin - this is NECESSARY when updating to 2.10!
Firmware 2.10:
-new feature: send your own fuses and locks trough terminal, talk with chips with broken signature.
If you connect terminal Tx pin to PCB Rx pin - manual mode will be enabled automatically.
This requires Tx-terminal pin to be HIGH and OUTPUT when idle. It must pull up the 10K pulldown.
If this condition is not met, doctor will work in normal - automatic mode.
USAGE:
First, doctor will read signature. And if fail, it will ask to type signature manually.
Type two last bytes of signature in HEX (4 chars) and hit enter.
Then, doctor will try to read the chip depending on given signature.
When succeed, select an option:
1 - write fusebits - this will perform a fuse write cycle with fuse-values from buffer (default).
2 - modify fusebits - this will let you to type fuses manually, values in buffer will update.
Type one byte in HEX (2 chars) and hit enter. Repeat for each byte (if exist).
3 - set lockbits - type new lock value in HEX (2 chars) and hit enter - do this with caution!
Remember that unused bits are always 1! E.g. if want to enable LB1 and LB2, type FC (11111100)
4 - erase the chip - this will just erase the chip and locks, it require "allow erase" jumper for safety.
5 - end - exit programming and drop voltages, now you can safely remove the chip.
See "fix_tiny13.png" to see how Attiny13 with broken signature was repaired
See "mess_tiny13.png" to see how the same chip was broken again
Do not suggest LEDs when in manual mode - they just blinking randomly :)
FUSEBITS: internal 1MHz clock, EESAVE enabled:
M8 L:0xE1 H:0xD1
M88,M168 L:0x62 H:0xD7 E:0xF9
M328 L:0x62 H:0xD1 E:0xFF
_____________________
#11 UPDATE 30.04.2011
Firmware 2.11:
-fixed bug when not writing the HIGH fusebyte (concerns all chips!)
"Just" a typo which i made during optimalisations for 2.10 firmware :)
FUSEBITS: internal 1MHz clock, EESAVE enabled:
M8 L:0xE1 H:0xD1
M88,M168 L:0x62 H:0xD7 E:0xF9
M328 L:0x62 H:0xD1 E:0xFF