Newbie questions: When, if ever, do I need a high-voltage programmer?

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

So I've found various things asserting that you sometimes need a high voltage programmer. I saw one post (sadly, I can't remember where) asserting that all the advice saying you needed a high-voltage programmer for fuses was out of date, because the fuses are now resettable normally.

 

A bit of experimentation confirms that if I have a chip which is fused for an external clock, I can access it with avrdude as long as I provide an external clock, even if the clock is the wrong speed, up to a point. (Specifically, a 328p taken from an Arduino, with a 20MHz clock because I apparently do not actually own a single 16MHz clock that's not soldered into an Arduino.)

 

My *guess* would be that the remaining issue would be cases where, for instance, the reset pin is disabled in the fuses. Which I am not immediately planning to do. But I am not sure, and have found conflicting data.

 

I'm also not sure whether the "high voltage programmer" is actually doing anything more than hooking up regular ICSP pins and also a 12-volt signal to the RESET pin. At least some schematics I've looked at seem like that's all they're actually doing.

 

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

I've been playing around with AVRs for a few years and I've never needed to do HV programming.  As you pointed out above, there a few specific situations that require it, but if you never find yourself in those situations, you won;t need it.  That being said, I have an AVR Dragon that can do HV programming should I need to.

Greg Muth

Portland, OR, US

Xplained/Pro/Mini Boards mostly

 

Make Xmega Great Again!

 

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

1. In the old days there was some AVR's where it was the only way to program it.

2. If you program RESET to be an IO.

3. On some chips you can set clk so bad that it's the only way to reprogramme it

 

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

Thanks, that helps a lot. I will probably ignore the question for now, I usually have at least one spare chip I could use in the rare cases where I'm messing with fuses at all.

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

Just to be clear:

 

You understand that on the one chip where you have to feed in a clock from another source, that you can also re-set the fuses for that chip to run on the internal RC Osc, (with or without the divide by 8 fuse set, if the micro also has that option...).

Just re-program the Fuses while you have the external clock source attached.

 

It is difficult to imagine a non-production product that actually requires the Reset\ pin be re-programmed as an I/O pin.

So the best advise is "just don't do it", (unless you know exactly what, and WHY, you are doing so).

 

I used a Dragon to do HV programming of a chip years ago, when I first started with AVR's.

Even with the instructions, (which were clear as mud at the time...), I needed Ross and Chuck to guide me through the process.

 

I've never used HV programming since then.

 

JC

 

Last Edited: Sun. Dec 3, 2017 - 11:17 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes. In fact, I've already done exactly that, hooked up an oscillator and caps to the XTAL1/XTAL2 pins of a 328 to flash it to 8MHz internal so I can use it outside the Arduino.

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

the_real_seebs wrote:
hooked up an oscillator (sic?) and caps to the XTAL1/XTAL2 pins

 

You mean a crystal - not an oscillator?

 

You wouldn't need caps for an oscillator (it would have all that internally).

 

https://www.avrfreaks.net/comment...

 

https://www.avrfreaks.net/comment...

 

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

DocJC wrote:
It is difficult to imagine a non-production product that actually requires the Reset\ pin be re-programmed as an I/O pin.
https://www.avrfreaks.net/forum/high-voltage-programming-protocol-question#comment-1922341 by AtomicZombie

 

"Dare to be naïve." - Buckminster Fuller

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

It is difficult to imagine a non-production product that actually requires the Reset\ pin be re-programmed as an I/O pin.

Is it easier to imagine on an 8-pin part?

At the moment: "replace the V-USB bootloader code on cheap DigiSpark clones with your own bigger, non-USB application."  (Digispark clones selling for about the same price as the ATtiny85 chips that they use, in perhaps a more convenient form.)  Note that this requires "High Voltage Serial Programming", which is different than "High Voltage Parallel Programming."

 

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

I have never set RSTDISBL on any AVR so I have never actually needed HV programming. However I own a couple of STK500's (that can do High Voltage) and I have used HVPP in the past to switch some mega168's back to default fuses as it was just quicker/easier than trying to work out whether they were in DWEN state or not. However I didn't HAVE to do it that way. So on the whole you can ignore the whole HV thing.

 

That is UNLESS you are one of those people who picks the wrong AVRs for a job and, because of some fascination with small package devices, you habitually pick AVRs that don't have quite enough pins. In this case you may be tempted to actually use RSTDISBL, if you do you may actually need high voltage to "get them back"

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

clawson wrote:
So on the whole you can ignore the whole HV thing.

I can't recall us ever doing HV, and we've done many scores of AVR8 production designs since 2000.

 

Now, sometimes you end up just "stuck" with e.g. no more chips or proto units, and the need.  Unless you are really stuck, the time and effort and expense to get set up for HV will [always?  almost always?] outweigh the cost of chalking up that processor to experience.

 

NB:  How many apps do you have nowadays with a socketed processor to even make it feasible?  Surely you don't put the 12V to running around your app board?

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

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

Like the others, I can't recall ever having done HV programming on an ISP-capable microcontroller.

 

I do remember doing HV programming on UV-EPROMs - but haven't even done that in over a decade

 

theusch wrote:
NB:  How many apps do you have nowadays with a socketed processor to even make it feasible?  

Indeed.

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

sparrow2 wrote:
1. In the old days there was some AVR's where it was the only way to program it.

Oh, yeah -- I went back to the 1997 databook and don't see any such models.  Examples?

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

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

With small-pin-count devices like the t25/45/85, it can be handy to use /RESET as a GPIO pin.  In practice, though, you only need HVSP in development.  Once you're at the product stage, it shouldn't be needed.  The catch is that product firmware updates will either have to be done via a bootloader, or with HVSP, which means you'll need tolerance for 12V for anything connected to /RESET, and you'll need (electrically) unhindered access to 5 out of 6 pins on the target (plus VCC/GND).  This is one more than required by ISP.

 

Larger devices which employ HVPP are much more of a pain, requiring 18 connections to the target (plus VCC/AVCC/GND).  Hard to arrange on a finished PCB.

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

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

I think it was tiny11

But perhaps is was the cheaper version, the never released (at least to the public) tiny 10. 

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

The Tiny11 was HVSP-only.

Um... http://www.oocities.org/westfw/e...

 

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

westfw wrote:

The Tiny11 was HVSP-only.

Um... http://www.oocities.org/westfw/e...

 

wow--I guess I have to agree.  Kind of a "boutique'" selection, isn't it?

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

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

And the ATtiny 10 wink and of course not to be confused with the ATtiny10.....

 

 

 

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

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

[ATtiny11 is] Kind of a "boutique'" selection

Well, yeah.  Bargain-hunter-hobbyist dream find: "If I get a hundred microcontrollers at only $0.25 each , I'll be able to do all sorts of neat stuff!"  (Buys 100.   Does 2 or 3 projects, including the device programmer...)

I'm currently fighting that urge WRT some MC9RS08 chips that seem to be getting sold for fire-sale prices...  (At least the tiny11 chips had "future replacements."   I'm suspecting that the Motorola/Freescale/NXP S08 chips are well and truly headed for extinction.)