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

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
All of the drivers and their sub-objects are included in the source directory for this chapter located on DVD-ROM in:
If you look on the Parallax Object Exchange you should be able to find most of these drivers as well; however, we will use
the ones from my chapter and my sources since I made slight modifications to each of them to make things easier.
16.4.1 Normalization of Drivers for Common RPC Calls in Future
The last thing I want to discuss about the drivers in the interfaces to all of them. Since this is a pieced together system of
other people’s drivers, each driver obviously has its own methodology and API. For example, the NTSC calls look entirely
different from the keyboard calls and so forth. Alas, if you were to develop a system from the ground up and design
drivers for NTSC, VGA, keyboard, etc. you would be wise to design all the APIs in a similar fashion with conventions for
function calls, inputs and outputs, so that technologies like RPC calls and others could more easily be implemented and
optimized better.
17.0 Chameleon AVR API Overview
In this section of the manual we are going to discuss the Chameleon AVR API and its related components. First and
foremost, I want to make it clear that the API we have developed is by no means complete, the best, the fastest, etc. It’s
just a set of source files and functions that get you started developing applications. Moreover, since the whole idea of the
Chameleon is to leverage the functionality of the drivers running on the Propeller chip. The AVR side API is nothing more
than “wrapper” functions that container a number of SPI commands, so you don’t have to type a lot to get things done. In
other words, you don’t have to use these libraries in most cases, you can just send command directly if you wish.
Moreover, these API functions are designed for the specific drivers running on the default Propeller drivers. If you change
or modify drivers on the Propeller side chances are these new drivers will have different functionality and you will want to
re-write a new high level “wrapper” API for the driver in question.
However, I hope that you use them as starting points only to develop your own API, functions, and drivers that are much
more optimized and complete. On the other hand, I have spent a good deal of time trying to develop a base set of API
libraries to get you started, so that you can do everything from graphics and sound to UART communications with the PC.
Table 17.1 lists all the API library modules we have developed for you to jumpstart your development and exploration of
the Chameleon AVR and the AVR processor itself.
DVD-ROM :\ CHAM_AVR \ SOURCE \ PROPELLER_DRIVER \ *.*
Function
MCP (master control program)
NTSC
VGA
Audio
Serial
PS/2 Keyboard
PS/2 Mouse
Note 1: Many of the drivers include other sub-objects as well.
Note 2: There are two versions the MCP driver, one is called CHAM_DEFAULT2_DRV_V112.spin this is used for all our
examples. However, there is a slightly modified version called CHAM_DEFAULT1_DRV_V112.spin that uses the plain
vanilla NTSC terminal that might work better on some LCDs. You can drop down to it if you have trouble with the default2
driver.
Note 3: The Chameleon only has one PS/2 port, so only one driver; keyboard or mouse can be active at once. However,
the default MCP driver can “hot” swap the drivers, so you can unplug the keyboard/mouse in real-time and with software
“start” the new device.
Table 16.2 - Objects used for the Chameleon default MCP drivers.
Version
1.11
1.1
1.0
5.2
1.2
1.0
1.0
© 2009 NURVE NETWORKS LLC “Exploring the Chameleon AVR 8-Bit”
Top object file name
CHAM_DEFAULT2_DRV112.spin
CHAM_GFX_DRV_001_TB_001.spin
TV_Text_Half_Height_011.spin
VGA_Text_010.spin
NS_sound_drv_052_11khz_16bit.spin
FullDuplexSerial_drv_012.spin
keyboard_010.spin
mouse_010.spin
(3)
(3)
(1)
(2)
(2)
(2)
137

Related parts for Chameleon-AVR