USB-Atmel External 3.3V Level Converter

In order to programm devices which run at 3. 3V (either SPI-based ones like AVRs or JTAG-based ones like CPLDs), the input and output signal levels need appropriate level conversion (or level shifting) because a 5V input may not see HIGH at 3. 3V and a 3. 3V device may be damaged by a 5V signal. No tristate outputs: If in your design, the programming lines are multiplexed with other
USB-Atmel External 3.3V Level Converter - schematic

interface logic, then you need to disconnect the plug after programming. In order to convert 5V to 3. 3V, I use a 74VHC04 (or alternatively a 74VHC14) which has 5V-tolerant inputs when powered at 3. 3V to get the appropriate 3. 3V output levels. For 3. 3V to 5V level shifting, a 5V-powered 74HCT04 (or alternatively a 74VHCT04) will do the trick since the `T` variants have lowered thresholds for TTL compatibility. (It turned out experimentally that a 74HCT14 Schmitt trigger works as well but looking at the input levels in the data sheet, I must discourage its application. ) The level converter requires a 5V supply voltage but no 3. 3V supply since it generates the 3. 3V itself from 5V using the LM2937 LDO regulator. Using the two switches on the board, all important power configuration options can be realised: Primary output logic level selector. This switch allows to select the secondary logic level voltage. For normal 5V to 3. 3V level shifting, select the 3. 3V from the LDO (lower position). When choosing the 5V line (upper position), level shifting will switched off since both input and output logic levels are then 5V. This switch should have 2 positions. Selects the power supply options for the device to be programmed. This switch should have 3 positions: In the upper position, the external device to be programmed will be supplied with 5V, in the lower position it will be supplied with output logic level voltage (as...

Leave Comment

characters left:

New Circuits