JTAG chaining

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

Hello!

Once again another topic regarding JTAG chaining multiple AVR devices.

I have to design a board with a lot (about 30) AVR's on it, and would like to be able to program them at once. (by "at once" I mean that I wouldn't like to have to move the programming cable around 30 times until I program all of them).

I know that AVR Studio and the simulator does not support devices on a JTAG chain, but as far as I know AVRDUDE does, and I want to use the JTAG port only for programming, not simulation, or debugging.

My question is if AVRDUDE can really be used this way, and if so, how?

(Or if there is any other tool that can do the programming)

Regards,

axos88

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

Quote:

I have to design a board with a lot (about 30) AVR's on it,

Out of curiosity, what kind of app has this requirement? A sensor per AVR, and ~30 channels?

I've got "distributed" AVR apps, too, but rarely more than one per 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

It's a kind of LED wall

axos88

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

I'm fairly sure you can set JTAG daisy chain parameters in the JTAGICE.

From the JTAGICEmkII docs:

Quote:
Connecting JTAGICE mkII to several devices placed in a JTAG Chain
JTAGICE mkII support emulation of devices placed in a JTAG Chain. When connecting N devices in a JTAG scan chain all devices should connect to TMS and TCK in parallel. The first device should connects it's TDI to the emulator while the TDO should be wired to TDI of the next device up to device N. The last device should connects it's TDO to the emulator.

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

I've done something like this, although with my own programmer, and only 20 devices in the chain. The thing to look out for if whether the tool that connects to the jtag chain can generate long enough IRSCAN sequences; AVRs have 4 bit IR, meaning that if the tool uses signed chars to count bits, you may hit a wall at 127/4=31.

And watch out for signal integrity; With 30 inputs on it the TCK line will require a hefty driver.

/Kasper

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

Just read the JTAGICE mkI and that one only supports IR lengths of up to 32 bits, so that imposes a maximum of 8 devices.

Didn't find any number in the mkII docs.

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

Thank you very much for your info, one further question remains:
Can I automate (batch) the programming of all devices (with the same code) in the chain? I am using an MKI device, so chains of 8 AVRs can be used, but programming 4 times is still better than 30.

However clicking all my way through the interface for each AVR is not very effective...

axos88

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

I think AVRdude might be your friend here. Never used it so I can't comment on it.