Correct me if I'm wrong but It's look like the STK500 buildin ISP programmer does not tri-state is MOSI,MISO,SCK line. And why
it's done like this???
I don't have an STK500, but after looking at the schematics and the User Guide, it looks like you connect the lines you mention only during serial ISP programming of the target AVR. If this is true, and you disconnect the lines when programming has completed then they would not have to be tri-stated.
I had try with a AVRISP module and I don't have to disconnect the programming cable the ouput of the AVRISP after programmigentoes in tri-state, but the STK500 not do the same?
Yes, I believe you are correct.
ButtLoad tristates the programming pins automatically, except for the external dataflash /CS line :D.
Having said that, the STK500 firmware is a superset of the AVRISP firmware, and as far as I know the HEX for both are built from the same C code. I would imagine that the STK500 tristates the ISP6 connector pins like the AVRISP - I can check this for you if you wish, but bear in mind that my STK500 is damaged and thus may not accurately refect what a "normal" STK500 does.
- Dean :twisted:
Make Atmel Studio better with my free extensions. Open source and feedback welcome!
The STK500 definitely doesn't tri-state... I had a target with an m32 and a microchip SPI ADC. The m32 could not communicate with the ADC when the STK500 was connected. And in this case the m32 was running its SPI extremely slow (<200khz clock), so I doubt it was simply needing to drive the extra traces/capacitance.
I actually was worried something would be damaged, but it didn't seem to be. That actually has me pretty confused. So maybe the STK500 does tri-state but has some monster pullups or....?
I just did some searching through the two schematic PDF's and here's what I've been able to figure out:
The STK500 always operates at 5 volts, and there are level-shifting circuits (based on the VTG provided by the target device) on the ISP signal lines, just before entering the IS6PIN and ISP10PIN connectors.
The AVRISP operates at whatever VTG is provided by the device being programmed. The ISP signals pass, untranslated, into the ISP10PIN and ISP6PIN connectors.
The AVRISP does tristate its signals, and the effect will be seen directly by the device being programmed.
The STK500, executing the same firmware, will also tristate its signal lines. However, the level-shifting circuitry just before the ISP10PIN and ISP6PIN connectors does not have any knowledge of this tristate effect; the signals will always be driven to a solid high or low. (See sheet 9 of the STK500 schematics PDF.)
Ok, that's confirm what I had experiment, I had fry my AVRISP and I just have a STK500, Digikey had BO AVRISP until june, Tonight I will try to modify my Butterfly with bootload to see if I will work like my old AVRISP...
Just in case someone is still wondering about tri stating on the STK500 with Tiny devices. Have a look at this site. A great device to solve the issue
© 2021 Microchip Technology Inc.