Function of the Tiny24 in the NGW100...

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

I have been working on a custom board using the AP7002, and I am relying heavily on the NGW100 reference design for the base systems, as the AP7002 datasheet kinda sucks (over 800 pages and no dedicated section about clock systems makes no sense to me...).

On the NGW100 there is an ATtiny24, that seems to be used just to assert a boardwide reset, and to provide I2C (TWI) to the expansion header.. My question is does the chip serve any critical purpose other than take space on the board? I can manage the resets without it, and do not need it for TWI, but will it break some major stuff when I am ready to load linux on it?

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

Well, this board is a reference design, so, the attiny is there just as a demonstration. So, one could for instance, burn serial numbers in there or something. But it's not used for anything really.

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

Cool, that's what I thought... ;)

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

There's some info on what the Board Controller is supposed to do ... but note that the firmware is kind of broken, it doesn't actually conform to the PMBus 1.1 spec (or even the 1.0 spec). (Examples: none of the values are encoded using the scheme specified by the PMBus spec.) It stores the serial number (which should be used to derive the board's Ethernet addresses), exposes the board revision, packages a temperature sensor, and a bit more.

I've been meaning to update that firmware; someone in one of the Forums commented on how they didn't actually set the fuse that prevents updating it. My PMBus code runs nicely on an ATtiny84 I had floating around, but because of WinAVR codegen bugs -- bad interrupt prologues, for one thing -- it doesn't quite fit into 2KB. I figure I need to pull out the existing code too (EEPROM values etc) before I replace Atmel's code.

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

According to what I have read, it's not possible to reprogram the attiny without removing it from the board, because the voltages needed to program it would burn other components on the board.

I'm not sure if mac address could or should be derived from it. The linux kernel gets it from uboot, and afaik, there is no uboot code to talk to the microcontroler.

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

As I said, the docs are wrong: they did not set the fuses, so you can look at it using a normal ISP hookup. "What you've read" is incorrect on several levels ... I think that those docs (see that board controller URL I gave before) were written to assume finished and robust firmware, but that's not what's shipping.

The attachment here shows what's inside the ATtiny. I soldered the ISP connector for it, and just sucked the data out with my Dragon -- first time worked like a charm.

EDIT: note by the way that TWI works just fine without this chip, but the two pullups on this part of the NGW schematic are important (TWI won't work without them). Also, that while it seems that the reset signal could be directly asserted using GPIOs from the ATtiny (PB3) and its ISP, or by the AVR32 itself (PB29), I've not seen any signs that such a mechanism is used. Or for that matter, that the ATtiny will issue EXTINT3 to the NGW, as part of the PMBus support or otherwise.

Attachment(s):