NGW/NGW100 Board controller

From AVRFreaks Wiki

Jump to: navigation, search

Contents

Overview

The Network Gateway has a board controller chip. The Board Controller on the NGW keep manufacture ID, product ID and revision ID. The manufacturer ID and the product ID is hard-coded into the firmware of the board controller. The revision ID is calculated by reading the analoge value formed by the voltage divider pairs R25/R31 and R26/R32. The board controller can also read core and system voltages and report this to the CPU.

The board controller use the PMbus™ (powersig.org) standard for communication between the CPU and the board controller. The PMbus™ was selected for this purpose to provide a hardware identification mechanism that is common with mechanisms in commercial products. This allows developers to reuse code in the final product.

Block diagram

Image:NGW100BoardControllerBlockDiag.gif

TWI pull up resistors

The Two Wire Interface (TWI) bus requires pull-up resistors on the communication lines for activity sensing and control signals. These pull-ups must be large enough to not interfere with the signaling, yet small enough to quickly establish idle level on the bus.

The network gateway uses 4.7k Ohm pull-up resistors:

ResistorValue
R824.7k
R834.7k

Commands supported by the board controller

The following messages are supported by the board controller:

CommandValueReturn value
TWI_CMD_MFR_ID0x99 atmel.no (ascii)
TWI_CMD_MFR_MODEL0x9A NGW100 (ascii)
TWI_CMD_MFR_REVISION0x9B see Revision ID resistor values below, (unsigned char)
TWI_CMD_MFR_SERIAL0x9E NGW100 serial number (ascii)
TWI_CMD_READ_TEMP_10x8D Ambient temperature in kelvin (unsigned short int)

All PMbus™ read replies are on the format: <length><databyte0>...<databyteN>

The temperature is approximately calibrated in production and might have an offset.

Revision ID resistor values

The resistors mounted in position R25, R26, R31 and R32 are used to set the revision number of the Network Gateway. The revision number is returned from the board controller in a byte value. This byte value is the hardware revision number.

Image:NGW100RevisionIDResistors.gif

The 6-bit revision number consist of two 3-bit revision numbers. Each of these three bit numbers are read from the board controllers ADC inputs. The resistor values giving these 3-bit values are listed below:

Revision number R1 and R2R31/R32R25/R26
0470R10k
11k10k
21k510k
32k710k
45k610k
510k10k
610k4k2
710k470R

Board Controller headers

Two headers are connected to the board controller. One ISP header for programming of the Board Controller chip and one header holding spare signals from the board controller.

Note that these headers are not mounted on the NGW.

Image:NGW100BoardControllerISPHeaderPinOut.gif

Programming the board controller

Note that you cannot program the board controller chip without first performing a chip erase. This require high voltage programming of the device and hence you need to remove the chip from the design and erase it before you can program it. This is done on purpose since the Linux distribution on the NGW expect this board controller chip to function properly.

Static version created: 2007-03-07
Copyright (c) 2007 Atmel Corporation