High Voltage Seral Programming (HVSP)

Go To Last Post
9 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

In looking over the AVRISP help document I found the following

Quote:
RESET Used as General IO port.

If the RESET pin is used as a general purpose IO, In-System Programming is not possible. The reason is that the RESET pin must pulled to 12V to enter High Voltage Serial or Parallel Programming mode (HVSP or HVP). HVSP or HVP must be used to change the RSTDSBL fuse.

All the data sheets I have read only talk about low voltage serial programming, which cannot be used if the RESET is used for general I/O.

Where do I find more info on HVSP?

Laurence Boyd II

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

HVSP is only for 8 pin AtTiny AVR's which don't have enough pins for HVP check out page 3-14 on the STK500 data sheet

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

In general, when referring to High Voltage Programming we are talking about lower-level chip access programing.
We provide the "High Voltage", which usually is 12VDC for the FLASH devices, and have total control over the chip programming.

Atmel uses HVSP ("High Voltage Serial Programming") for the Tiny AVR family, and "(High Voltage) Parallel Programming" for the Mega AVR family.

You can find the detailed programming algorithms in the all the AVR Data sheets.
A couple of years ago, I successfully built an Off-Line (=Stand alone) AVR Fuse Editor, using those algorithms

High Voltage Serial Programming can not be done by ATAVRISP or AVRprog.exe, but only by STK500, or special hardware.

Giorgos.

I hope for nothing; I fear nothing; I am free. (Nikos Kazantzakis)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Giorgos:

I have been wondering for a while (& have no good answer)--why bother to use high voltage programming along with all of the needed connections? What is wrong with the simple & efficient low voltage serial programming? The data sheets tell how to do both but never seem to mention why you'd go through the bother of using the HV mode. Can it do things LV programming can't? I suspect so, but am not sure.

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi avrcandies.

Just an example.
Question: We have an application that requires an MCU with six I/O pins.and can use the ATtiny13 uC. Why would raise the total PCB cost and space using a bigger part, if we could use instead the tiny13's PB5 as the sixth I/O? But if we did this, how could we program the chip, knowing that the PB5 pin is also the ISP /RESET pin? After the initial programming we will be unable to modify anything because the /RESET functionality of PB5 will be lost..

Answer: Simply use the PB5 as an ordinary I/O, and program the chip otherwise; parallelly, maybe?

By the way, this is the "Off-Line AVR Fuse Editor" PCB parts layout, I mentioned above.

The red lines are the top-layer jumpers, since this is a home-made, one layer PCB.
A stand alone, very handy device that needs a single 5VDC to run, and edits off-line all the target-chip Fuse and Lock bits.

The ATmega8515 is the Master programming chip, all the other sockets host the Target Slaves to be programmed, the MAX662 generates the stabilized +12V programming voltage on demand, the five buttons select the target chip and the programming and editing options and values, and the "Slave-Access LED" and the LCD Module provide the User feedback.

The serial EEPROM holds the .hex to upload to the target chip, the "COM-PORT" links the m8515 to the host PC, and the "Master ISP" upgrades the m8515 firmware.

Can you see the extended usability of such a device?

Giorgos.

Attachment(s): 

I hope for nothing; I fear nothing; I am free. (Nikos Kazantzakis)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the info, since I have never looked seriously at the Tiny series, I mised the HVSP part.
In answer to the the the question about why bother with high voltage parallel when you can use low voltage serial. I agree, it is my choice. However, if you set the fuse to use the RESET pin as a general purpose I/O, low voltage serial is no longer availble. You can still use the bootloader, which I intend to do (mega8), but the only way to reset the fuse is with high voltage parallel :(
When I saw the high voltage serial, I thought perhaps... :) , but that was just wishfull thinking on my part.

Laurence Boyd II

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

nice work but you can publish the rest of layer and .hex of the programmer??

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

zeborg wrote:
nice work but you can publish the rest of layer and .hex of the programmer??

My intention was not to advertize this product, since this topic's subject is different.
My point was, that it is doable: Been there, done that, here it is.

I made this device to save the time and trouble engaging the STK500, every time I messed with the AVR Fuses. I cannot find any other use of this device, and if I did I think I would try to exploit it.
The code this device is running is nothing special; I only used the AVR programming algorithms, that the data sheets explain in high detail.

The $80 STK500 functionality is superior to mine's.
After all, the only real use of this device is to aid the prototyping process, since the commercial applications do not use the DIP packages. And if some of them use the DIPs, in order for them to be in the proffesional league, the chips should be directly soldered to the PCB.

Answering your question, yes, I guess I could publish the project. Under a gnu license, perhaps.

The thing is that in order to do so, I should first write down the design description, the detailed specs, and a user manual. It would save me the time to answer any of the related questions I expect to have.
Since this is not a commersial product, how long do you think that this would require from my spare time?

Giorgos.

I hope for nothing; I fear nothing; I am free. (Nikos Kazantzakis)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ok. i understand you.. but for beginners like me, your self made tool, is a great help in prototiping.
Offcourse the datashet of micro. has the algoritms.. but do them , is another cuestion for beginers,

greetings.....