Chameleon-PIC Nurve Networks, Chameleon-PIC Datasheet - Page 14

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

Chameleon-PIC

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

Specifications of Chameleon-PIC

Processor To Be Evaluated
PIC24
Data Bus Width
16 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 PIC 16-Bit”
Figure 1.1 – Chameleon system level diagram.
Referring to Figure 1.1, this is a system level diagram of the relationship of the Chameleon to all the system components.
First, everything to the right is optional and only needed for programming the Chameleon. Once the Chameleon is
programmed it’s a standalone application that you can put anywhere you like. With that in mind, let’s take a quick look at
how things work. To begin with, there are two processors on the Chameleon PIC, the PIC24HJ and the Parallax Propeller
chip. The PIC chip is used as the “master” processor. You write your application on there in C/C++, ASM and then using
a very simply API you send “messages” to the Propeller chip. The messages direct the Propeller chip to perform tasks.
These tasks can ultimately be anything, but for now, we have set the Propeller up so it can generate NTSC and VGA
graphics, audio, and read keyboards and mice. So the Propeller does all the work for you, the PIC does very little, thus
freeing the PIC to take the role as master controller.
The messages sent to the Propeller are transferred over a high speed SPI (serial peripheral interface) link. The PIC has
SPI hardware built in, so sending bytes to the Propeller is as simple as setting up a few registers and writing some bytes.
However, the Propeller has no SPI hardware, so we had to write drivers that emulate the SPI protocol with software. This
means there are limits to the speed you can send SPI traffic as well as the software SPI drivers are not very robust, they
are just “starter” drivers for you, I suggest you improve them.
As an example of how the system works, let’s say you have a PIC C/C++ program you developed with MPLAB. It has a
A/D convertor and measures temperature. The temperature is then sent out to a crude LCD screen and looks ugly. Also,
there are some controls for the program that you must use some external push button switches to set, but it would be nice
if you had a keyboard or mouse for user input. This is no problem for the chameleon!
You would take you original program, compile it for the Chameleon, then add a few lines of code from our NTSC or VGA
API that command the Propeller to draw text on the screen. Then you can print out your temperature information nicely on
a little NTSC/VGA monitor. Moreover, you can write some simple GUI controls, so with the mouse or keyboard you could
make command selections on the NTSC/VGA screen! Very slick! As another example, you can use the Chameleon’s built
in USB serial port to communicate to the PC. So say you want to control some motors, or do some A/D, but you want the
PC to take that information and plug it into some larger application. Normally, to get something interfaced with the PC is
nightmare in the era or post legacy devices where only USB connectors exist and there are no parallel or DB9 serial ports.
But, with the Chameleon its easy, you just write your driver code on the Chameleon, use the serial UART library to
communicate to the PC and send the information. Moreover, you can display status and what’s going on thru one of the
local video ports of the Chameleon, so even if the PC is remote the local Chameleon can display what’s going on and
what its being told to do by the PC.
14

Related parts for Chameleon-PIC