Tuesday, April 20, 2010

Chameleon PIC 16-Bit System

The Chameleon design is based on the concept of using the PIC24 as the MASTER (client) and the Propeller Multicore Processor as the media SLAVE (server). This is accomplished thru a SPI interface from the PIC to the Propeller (see images to right). The PIC sends "commands" to the Propeller chip via the SPI interface and a set of drivers on the Propeller (see images to right) parse, execute, and dispatch the messages to the various media objects running on the Propeller's multiple cores. Thus, printing characters on the NTSC screen from the PIC's point of view is as simple as sending 3 bytes thru the hardware SPI interface, the Propeller does all the rest with the supplied drivers.

If you're a PIC enthusiast, Propeller programmer, Arduino fan, or just someone that needs a very capable application board to solve problems and solve them fast, the Chameleon is the perfect tool. You can use as little or as much of the system as you wish due to the design of the sub-systems. You can use it as a PIC 16-bit system, Propeller multicore system, or tie the processors together, its up to you. Included with the package is the Chameleon itself as well as a 150+ page electronic manual on DVD that outlines how the Chameleon works with examples of using the media processing abilities. Also, the manual illustrates the hardware design, using MPLab, the Our Custom Text Editor Based Environment IDE, Propeller IDE, software installation, the API, and how to write your own drivers if you wish. But, best of all, you can get started immediately with the Chameleon and use the included API and program the PIC directly with MPLab or our Custom Text Editor based IDE.

The Chameleon also comes pre-loaded with the Microchip bootloader, thus you can use the protocol compatible tools to program the Chameleon over the USB port without a Pickit2 compatible ISP (in system prgrammer). However, we recommend that you purchase a Pickit2 ISP programmer (or similar), so you can use MPLab to its fullest potential, debug, as well as re-burn the FLASH bootloader if you wish to do so (or if its damaged accidentally).

The Propeller is programmed with a simple serial protocol right over the USB serial port, so no
additional hardware is required.

The Chameleon PIC 16-Bit was designed to be Arduino I/O compatible as much as possible, so programs written for the Arduino (or Chameleon AVR) in C/C++ could be easily ported to the Chameleon PIC as supported by the I/O headers. However, the Chameleon PIC 16-bit is over 200% faster than the Arduino and double the bandwidth since its a 16-bit processor. Additionally, the Chameleon PIC comes pre-programmed with a custom Microchip bootloader, so you can develop directly with a very simple text editor and set of batch files we have created that give the Chameleon PIC an "Arduino-like" development experience if you don't want to use the more complex MPLab. So right out of the box, all you need to program the Chameleon PIC is a USB cable and a PC.

The Chameleon PIC 16-Bit has a full arsenal of I/O devices and features including:
  • Runs Microchip PIC24 16-bit applications, as well as Parallax Propeller applications.
  • Microchip PIC24HJ128GP502 16-bit processor with 128K FLASH / 8K SRAM running at 40 MIPS (pre-
  • loaded with Microchip bootloader).
  • Parallax Propeller Multicore 32-bit processor with 8 cores running at 20 MIPS per core for 160 MIPS
  • of processing power!
  • 1 MByte SPI FLASH memory.
  • 64 Kbyte EEPROM (for Propeller processor boot program storage).
  • 500mA max power 3.3/5V dual supplies (power by USB or external 9V DC supply with hot swapping).
  • Mini USB port with USB to serial UART (FTDI chip), used for programming the Propeller, PIC in
  • bootloader mode as well as serial comms.
  • VGA output with 2x2x2 RGB.
  • Composite video output for NTSC/PAL video.
  • Microchip 6-pin ISP programming port for direct access to PIC (programmer not included).
  • PS/2 keyboard/mouse port.
  • I/O headers exporting digital, analog input inputs and power (95% compatibility with Arduino I/O
  • headers).
  • Exported SPI, Serial and I2C buses.
  • Removable XTALs for overclocking.