You are here: Home Documentation Tutorials Controller Board Overview
Document Actions

Controller Board Overview

Note: Return to tutorial view.

A tour through the features of the Make Controller Board.

Overview

A description of the Controller Board.
The Controller Board is built around the Atmel AT91SAM7X256, and adds the essential components (like the crystal, voltage regulator, filter capacitors, etc.) required to run it, while bringing most of the signals of the processor out to standard 0.1" spaced sockets.

The idea behind this design was to provide a board that takes care of the most difficult issues of surface mount assembly of a 100 pin package, and presents the powerful features of the SAM7X in an accessible and uniform way, such that it could be used with a variety of interface boards.

controller_under_over_500.png

The Topside

Details on the components on the topside of the Make Controller.

The Atmel AT91SAM7X256, or SAM7X, is an ARM7-based 32-bit processor that runs at up to 55MHz/48MIPs. It has 64K of RAM and 256K of Flash memory, with an impressive list of onboard peripherals: Ethernet, USB 2.0, RS232, SPI, TWI (or I2C), JTAG, CAN, as well as a generous amount of general purpose I/O. For a quick overview of SAM7X peripherals, see the block diagram.


controller_sam7x.png

LEDs

There are two LEDs on the Controller board. One indicates presence of power, and the other is available for the processor to use.

controller_leds.png

Communications

A description of the different peripherals on the Make Controller Board that have to do with communication.
The SAM7X provides an Ethernet MAC, but an additional chip is required for the PHY (physical) layer - the DM9161A from Davicom. With this chip on the Controller Board, it's possible to simply include a normal Ethernet connector on a daughter board, such as the MAKE Application Board, and wire it up without any further layout issues. This chip is located on the underside of the Controller Board.

controller_ethernet.png

CAN

CAN (Controller Area Network) is a serial networking protocol that is used for board-to-board communication when you create a network of multiple MAKE Controllers. The SAM7X has an onboard CAN controller, and the addition of the CAN transceiver chip means that the Controller Board can be CAN-enabled using only 2 signal lines. A 4-position connector on the Application Board makes it quite easy to wire the MAKE Controller to a CAN network.
controller_can.png

USB

The SAM7X has an onboard USB 2.0 controller, and the MAKE Controller is a full-speed USB device, transferring data at 12 MBits/sec. USB is used for two purposes on the Controller board - one is to permit general input and output. The other provides a mechanism for quickly programming the controller.


JTAG

The SAM7X Controller has JTAG facilities, permitting external hardware to examine the state of the processor, start and stop it, etc. The lines that are required for JTAG are brought out on the Controller's connectors.

Miscellaneous

A collection of the remaining significant sections.

Power

The SAM7X runs at 3.3V (and internally at 1.8V). The Controller Board can be powered from a 3.3V source (as it is when connected to the Application Board) or it can be run from V+ (a DC supply from 7V to 12V). In this case, a small on board regulator provides the 3.3V. The onboard regulator can provide 3.3V for a limited amount of external circuitry.

The 3.3V line is protected against momentary higher voltage application by a TVS diode but it will not last long if higher voltages are applied for more than a second or two.

EEPROM

In addition to the on chip memory of the SAM7X, on the Make Controller there is an additional 32kB of EEPROM for providing byte-by-byte permanent storage. While the Flash memory on the chip is ample, it can only be written a sector (256 bytes) at a time, and only from code running in RAM, so an additional form of permanent storage is very useful. EEPROM can be written a byte at a time and is used to store things like the board's serial number, the assigned IP address, etc.
controller_eeprom.png

IO

In addition to the larger-scale devices described above, the SAM7X chip provides many more devices and general IO pins. Access to as many of these as possible are provided on the connectors, J1 - J4.
controller_connections.png

Firmware

The SAM7X is based on the very popular ARM7TDMI core. There is an open source toolchain (GCC etc) and many online discussion boards filled with people using these processors.

All of the hardware features on the board require software to set them up and to make them work. There are two approaches to programming the MAKE Controller Kit - either start from the very minimalist tiny project which presents a very small codebase from which the microcontroller can be programmed, or the opposite approach can be taken, to start with a very complete project we have supplied called heavy.

Using tiny will require a more in-depth understanding of the processor since there are fewer builtin facilities, but for those who want to wring every ounce of speed and flexibility from their systems, this will be the way to proceed. For others who want to benefit from an operating system, TCP/IP stack and other niceties, the larger heavy. codebase will be the best place to start.

See Programming The Make Controller Kit for more details.