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

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
X-Modem Protocol
If you have never heard about X-modem protocol, it’s probably the most widely used modem to modem download protocol
on the planet and still widely used. There are a number of variants that have been developed over the years such as X-
modem 1K, X-Modem CRC, Y-Modem, Z-Modem and so forth, but fundamentally they all work the same way; the
“uploader” sends packets (usually 128-256 bytes) to the “downloader” until the entire file has been sent. The uploader
is typically the PC and the downloader is typically another PC that needs the file or a standalone device.
X-Modem protocol is rather simple, but a bit tricky to implement robustly since there are lots of potential forks in the
communications logic that have to do with packets being lost, errors, resending, timeouts, etc. If you have ever written a
communications protocols you really understand how complex getting them to work robustly is. You can read about X-
Modem protocol by Googling for it, but here are a couple good references online:
So, what we did was take the protocol and make a simple downloader / receive function that initiates an X-Modem
transfer download over the serial port. The function assumes that the uploader is already running and waiting for the
downloader (the Chameleon) to initiate the transfer. This is a very important part of X-Modem transfer protocol; the
uploader is started and it simply waits for the downloader to start requesting packets. There is actually a timeout that it will
give up (in the minutes), but usually the idea is you start the uploader and leave it THEN go run the downloader and it
controls the flow of information or the rate of data reception. Additionally, the downloader checks each block of information
against a sent checksum (all of these is covered in the links above). But, briefly here’s the packet format (or block as they
like to call it):
ASCII Control Codes
http://en.wikipedia.org/wiki/XMODEM
http://www.techheap.com/communication/modems/xmodem.html
© 2009 NURVE NETWORKS LLC “Exploring the Chameleon PIC 16-Bit”
233

Related parts for Chameleon-PIC