Chameleon-AVR Nurve Networks, Chameleon-AVR Datasheet - Page 158

MCU, MPU & DSP Development Tools AVR8 & PROPELLER DEV SYSTEM (SBC)

Chameleon-AVR

Manufacturer Part Number
Chameleon-AVR
Description
MCU, MPU & DSP Development Tools AVR8 & PROPELLER DEV SYSTEM (SBC)
Manufacturer
Nurve Networks
Datasheet

Specifications of Chameleon-AVR

Processor To Be Evaluated
AVR 328P
Data Bus Width
8 bit
Interface Type
USB, VGA, PS/2, I2C, ISP, SPI
Operating Supply Voltage
3.3 V, 5 V
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
© 2009 NURVE NETWORKS LLC “Exploring the Chameleon AVR 8-Bit”
19.3 Header File Contents Overview
The “SPI and I2C” module header CHAM_TWI_SPI_V010.h is very important since it houses the constants for the SPI
communications interface to the Propeller, so we are going to cover it in detail. Let’s begin with the #defines that declare
2
some of the hardware signals and constants used to represent I
C and SPI interfaces):
The #defines simply declare the I/O ports, signal bits and some timing constants. For example, TWI_CLOCK is a
convenient constant to pass the initialization function (covered later), and the last set of constants are paraphrased from
the hardware control register settings for the SPI speed settings, but broken out, so you don’t have to decode them
yourself from the datasheet.
2
2
Also, note that the I
C and SPI #defines declare very specific hardware and I/O. The I
C interface for example uses the
TWI hardware on Port C at bits 1:0 for the interface. These are exported via the expansion port. Similarly, the SPI
interface is the “primary” SPI interface in the AVR 328P, not the USARTs in SPI mode. Moving on, the SPI channel
connects to the SPI-Mux as well as the Propeller chip and is exported to the I/O headers. So, if you want to control an
external SPI device you can use the other SPI-Mux addresses (the Propeller and FLASH use address 0 and 1).
Next, there are some timing constants that slow things down and make sure when SPI commands are sent to the
Propeller the AVR waits long enough before issuing another command. These don’t matter too much as the drivers
evolved, but were needed in earlier driver development:
158

Related parts for Chameleon-AVR