AVRISP-MKII.txt 11.7 KB
 Dean Camera committed May 08, 2010 1 2 3 4 5 /** \file * * This file contains special DoxyGen information for the generation of the main page and other special * documentation pages. It is not a project source file. */  6   Dean Camera committed May 08, 2010 7 8 /** \mainpage AVRISP MKII Programmer Project *  Dean Camera committed Dec 26, 2010 9  * \section Sec_Compat Project Compatibility:  Dean Camera committed May 08, 2010 10 11 12  * * The following list indicates what microcontrollers are compatible with this project. *  Dean Camera committed Aug 31, 2010 13 14 15  * - Series 7 USB AVRs (AT90USBxxx7) * - Series 6 USB AVRs (AT90USBxxx6) * - Series 4 USB AVRs (ATMEGAxxU4)  Dean Camera committed Sep 09, 2010 16  * - Series 2 USB AVRs (AT90USBxx2, ATMEGAxxU2) - 8KB versions with reduced features only  Dean Camera committed May 08, 2010 17  *  Dean Camera committed Dec 26, 2010 18  * \section Sec_Info USB Information:  Dean Camera committed May 08, 2010 19 20 21 22 23 24 25 26 27 28 29 30  * * The following table gives a rundown of the USB utilization of this project. * * *
USB Mode:Device
USB Class:Vendor Specific Class
USB Subclass:N/A
Relevant Standards:Atmel AVRISP MKII Protocol Specification
Usable Speeds:Full Speed Mode
* * * * * * *  31  *  Dean Camera committed May 08, 2010 32 33 34 35 36 37 38 39 40 41 42 43 44  * * * * * * * * * * * * *  Dean Camera committed Dec 26, 2010 45  * \section Sec_Description Project Description:  Dean Camera committed May 08, 2010 46 47 48  * * Firmware for an AVRStudio compatible AVRISP-MKII clone programmer. This project will enable the USB AVR series of * microcontrollers to act as a clone of the official Atmel AVRISP-MKII programmer, usable within AVRStudio. In its  Dean Camera committed Feb 08, 2012 49 50 51  * most basic form, it allows for the programming of AVRs at the programmer's VCC voltage from within AVRStudio with * no special hardware other than the USB AVR and the parts needed for the USB interface. If the user desires, more * advanced circuits incorporating level conversion can be made to allow for the programming of 3.3V AVR designs.  Dean Camera committed May 08, 2010 52 53 54 55 56 57  * * This device spoofs Atmel's official AVRISP-MKII device PID so that it remains compatible with Atmel's AVRISP-MKII * drivers. When prompted, direct your OS to install Atmel's AVRISP-MKII drivers provided with AVRStudio. * * Note that this design currently has the following limitations: * - No reversed/shorted target connector detection and notification  Dean Camera committed Jul 29, 2010 58  * - A separate header is required for each of the ISP, PDI and TPI programming protocols that the user wishes to use  Dean Camera committed May 08, 2010 59  *  Dean Camera committed Aug 17, 2011 60  * On AVR models with an ADC converter, AVCC should be tied to 5V (e.g. VBUS) and the \c VTARGET_ADC_CHANNEL token should be  Dean Camera committed May 08, 2010 61  * set to an appropriate ADC channel number in the project makefile for VTARGET detection to operate correctly. On models  Dean Camera committed Feb 08, 2012 62  * without an ADC converter, VTARGET will report a fixed 3.3V level at all times.  Dean Camera committed May 08, 2010 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  * * While this application can be compiled for USB AVRs with as little as 8KB of FLASH, for full functionality 16KB or more * of FLASH is required. On 8KB devices, ISP or PDI/TPI programming support can be disabled to reduce program size. * * \section Sec_ISP ISP Connections * Connections to the device for SPI programming (when enabled): * * *
Programmer Pin:Target Device Pin:ISP 6 Pin Layout:
MISOPDO1
SCLKSCLK3
MOSIPDI4
PORTx.y 2/RESET5
GNDGND6
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  Dean Camera committed Nov 08, 2010 108 109 110  * In addition, the AVR's OCR1A pin will generate a 4MHz clock, to act as an external rescue device clock if the * fuses have been mis-set. To use the recovery clock, connect the OCR1A pin of the USB AVR to the target AVR's * XTAL1 pin, and set the ISP programming speed to 125KHz (note: other ISP speeds will not work correctly).  Dean Camera committed May 08, 2010 111  *  Dean Camera committed Dec 26, 2010 112 113  * 1 Optional, see \ref Sec_Options section - for USB AVRs with ADC modules only \n * 2 See AUX line related tokens in the \ref Sec_Options section  Dean Camera committed May 08, 2010 114 115  * * \section Sec_PDI PDI Connections  Dean Camera committed May 20, 2010 116  * Connections to the device for PDI programming (when enabled):  Dean Camera committed May 08, 2010 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  * * *
Programmer Pin:Target Device Pin:PDI 6 Pin Layout:
Tx/Rx 2DATA1
N/AN/A3
N/AN/A4
XCKCLOCK5
GNDGND6
* * * * * * * * * * * * * * * * * * * * * * * * *  Dean Camera committed May 26, 2010 145  *  Dean Camera committed May 08, 2010 146 147 148 149 150 151 152 153 154 155  * * * * * * * * * *  Dean Camera committed Dec 26, 2010 156  * 1 Optional, see \ref Sec_Options section - for USB AVRs with ADC modules only \n  Dean Camera committed May 08, 2010 157 158 159  * 2 The AVR's Tx and Rx become the DATA line when connected together via a pair of 220 ohm resistors \n * * \section Sec_TPI TPI Connections  Dean Camera committed May 20, 2010 160  * Connections to the device for TPI programming (when enabled):  Dean Camera committed May 08, 2010 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178  * * *
Programmer Pin:Target Device Pin:TPI 6 Pin Layout:
Tx/Rx 2DATA1
XCK 2CLOCK3
N/AN/A4
PORTx.y 3/RESET5
GNDGND6
* * * * * * * * * * * * * * *  Dean Camera committed May 26, 2010 179  *  Dean Camera committed May 08, 2010 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199  * * * * * * * * * * * * * * * * * * * *  Dean Camera committed Dec 26, 2010 200  * 1 Optional, see \ref Sec_Options section - for USB AVRs with ADC modules only \n  Dean Camera committed May 08, 2010 201  * 2 The AVR's Tx and Rx become the DATA line when connected together via a pair of 220 ohm resistors \n  Dean Camera committed Dec 26, 2010 202  * 3 See AUX line related tokens in the \ref Sec_Options section  Dean Camera committed May 08, 2010 203  *  Dean Camera committed Dec 26, 2010 204  * \section Sec_Options Project Options  Dean Camera committed May 08, 2010 205  *  Dean Camera committed Jul 30, 2010 206  * The following defines can be found in this project, which can control the project behaviour when defined, or changed in value.  Dean Camera committed May 08, 2010 207 208 209 210 211 212 213 214 215  * * *
Define Name:Location:Description:
AUX_LINE_PORTMakefile LUFA_OPTSPORT register for the programmer's AUX target line. The use of this line varies between the programming protocols, * but is generally used for the target's /RESET line. Ignored when compiled for the XPLAIN board.
AUX_LINE_PINMakefile LUFA_OPTSPIN register for the programmer's AUX target line. The use of this line varies between the programming protocols, * but is generally used for the target's /RESET line. Ignored when compiled for the XPLAIN board.
AUX_LINE_DDRMakefile LUFA_OPTSDDR register for the programmer's AUX target line. The use of this line varies between the programming protocols, * but is generally used for the target's /RESET line. Ignored when compiled for the XPLAIN board.
AUX_LINE_MASKMakefile LUFA_OPTSMask for the programmer's AUX target line. The use of this line varies between the programming protocols, * but is generally used for the target's /RESET line. Must not be the AVR's /SS pin. Ignored when * compiled for the XPLAIN board.
VTARGET_ADC_CHANNELMakefile LUFA_OPTSADC channel number (on supported AVRs) to use for VTARGET level detection, if NO_VTARGET_DETECT is not defined.  243  * Ignored when compiled for targets lacking an ADC.
ENABLE_ISP_PROTOCOLMakefile LUFA_OPTSDefine to enable SPI programming protocol support. Ignored when compiled for the XPLAIN board.
ENABLE_XPROG_PROTOCOLMakefile LUFA_OPTSDefine to enable PDI and TPI programming protocol support. Ignored when compiled for the XPLAIN board.
NO_VTARGET_DETECTMakefile LUFA_OPTSDefine to disable VTARGET sampling and reporting on AVR models with an ADC converter. This will cause the programmer  Dean Camera committed Feb 08, 2012 259  * to report a fixed 3.3V target voltage to the host regardless of the real target voltage. Ignored when compiled for  260  * targets lacking an ADC.
VTARGET_REF_VOLTSMakefile LUFA_OPTSIndicates the programmer AVR's AVCC reference voltage when measuring the target's supply voltage. Note that the supply * voltage should never exceed the reference voltage on the programmer AVR without some form of protection to prevent damage  267  * to the ADC. Ignored when compiled for targets lacking an ADC, or when NO_VTARGET_DETECT is defined.
VTARGET_USE_INTERNAL_REFMakefile LUFA_OPTSSelects the internal 2.56V ADC reference voltage, instead of using the AVR's VREF pin. When enabled, this option will  Dean Camera committed Aug 16, 2011 273 274  * override the VTARGET_REF_VOLTS configuration option. Ignored when compiled for targets lacking an ADC, or when * NO_VTARGET_DETECT is defined.
VTARGET_SCALE_FACTORMakefile LUFA_OPTSIndicates the target's supply voltage scale factor when applied to the ADC. A simple resistive divider can be used on the * ADC pin for measuring the target's supply voltage, so that voltages above the programmer AVR's AVCC reference voltage can be * measured. This should be the reciprocal of the division performed - e.g. if the VTARGET voltage is halved, this should be set  282 283  * to 2. Ignored when compiled for targets lacking an ADC, or when NO_VTARGET_DETECT is defined.
LIBUSB_DRIVER_COMPATMakefile LUFA_OPTSDefine to switch to a non-standard endpoint scheme, breaking compatibility with AVRStudio under Windows but making  Dean Camera committed Feb 08, 2012 288  * the code compatible with software such as avrdude (all platforms) that use the libUSB driver.
XCK_RESCUE_CLOCK_ENABLEMakefile LUFA_OPTSDefine to move the ISP rescue clock to the AVR's XCK pin instead of the OCR1A output pin. This is useful for existing programming  Dean Camera committed Feb 08, 2012 294  * hardware that does not expose the OCR1A pin of the AVR, but *may* cause some issues with PDI programming mode.
INVERTED_ISP_MISOMakefile LUFA_OPTSDefine to invert the received data on the ISP MISO line. This is sometimes needed depending on the level translation hardware used,  Dean Camera committed Feb 08, 2012 300 301 302 303 304 305  * if the translator hardware inverts the received logic level.
FIRMWARE_VERSION_MINORDefine to set the minor firmware revision nunber reported to the host on request. By default this will use a firmware version compatible * with the latest Atmel IDE version, however if desired the reported minor value can be adjusted here.
* * * * * *  Dean Camera committed Jul 19, 2010 216  *  Dean Camera committed May 08, 2010 217 218 219 220 221  * * * *  Dean Camera committed Jul 19, 2010 222  *  Dean Camera committed May 08, 2010 223 224 225 226 227  * * * *  Dean Camera committed Jul 19, 2010 228  *  Dean Camera committed May 08, 2010 229 230 231 232 233  * * * *  Dean Camera committed Jul 19, 2010 234  *  Dean Camera committed May 08, 2010 235 236 237 238 239 240  * * * *  Dean Camera committed Jul 19, 2010 241  *  Dean Camera committed May 20, 2010 242  *  Dean Camera committed May 08, 2010 244 245 246  * * *  Dean Camera committed Jul 19, 2010 247  *  248  *  Dean Camera committed May 08, 2010 249 250 251  * * *  Dean Camera committed Jul 19, 2010 252  *  253  *  Dean Camera committed May 08, 2010 254 255 256  * * *  Dean Camera committed Jul 19, 2010 257  *  Dean Camera committed May 08, 2010 258  *  Dean Camera committed May 08, 2010 261 262  * *  Dean Camera committed May 27, 2010 263  *  Dean Camera committed Jul 19, 2010 264  *  Dean Camera committed May 27, 2010 265 266  *  Dean Camera committed May 27, 2010 268 269  * *  Dean Camera committed Jul 26, 2011 270 271 272  * * *  Dean Camera committed Jul 26, 2011 275 276  * *  Dean Camera committed May 27, 2010 277  *  Dean Camera committed Jul 19, 2010 278  *  Dean Camera committed May 27, 2010 279 280 281  * *  Dean Camera committed May 27, 2010 284  *  Dean Camera committed May 13, 2010 285  *  Dean Camera committed Jul 19, 2010 286  *  Dean Camera committed May 08, 2010 287  *  Dean Camera committed May 08, 2010 289  *  Dean Camera committed Nov 16, 2010 290 291 292 293  * * * *  Dean Camera committed Nov 16, 2010 295  *  Dean Camera committed Oct 30, 2011 296 297 298 299  * * * * * * * *  Dean Camera committed Oct 30, 2011 306  *  Dean Camera committed May 08, 2010 307 308  * */  309