Rapid Prototyping System (RPS)


Dual RPS using Radio Link Communication

The development system allows dual system debugging and real time interaction between both processor boards and the sound, graphics, navigation switch and other I/O functions.

The Rapid Prototyping System (RPS) features modular hardware and software components and integrates with the SchmartBoard surface mount IC prototyping modules.

Radio Link
The Freescale MC1392U radio link connection is provided for either the SMAC or ZIBEE stack. Very simple but powerful high level application program interface (API's) are provided to transfer radio messages between two radio linked systems. If the radio link is not needed then the general purpose input output (GPIO) pins are available to the user for general I/O.

Keypad
A 4x4 keypad interface is available through the 8 pin connector or the connector may be used for GPIO.

Real Time Clock
The real time clock is CPU independent and has crystal control and super capacitor backup. The real time clock will maintain accurate time for a number of days without external power. The clock also has two interrupt programmable alarms that may be set by date and time. These alarms can be recognized by the processor via an interrupt if desired. The alarm signal also is taken to an external header pin.

SD Card
The SD interface supports a mini sd card format. A full DOS FAT file system library is available for a DOS file system implementation. The SD system has both SPI and Nibble mode interfaces. The software library supports SPI access, but available to the user is the hardware interface to implement the much faster command mode control if it is needed.

8Mb serial flash chip with indexed file system. Code may be developed using the SD card then moved to a system more stable for embedded designs, the flash memory.

LCD Graphic
The RPS has a connection for a 128x64 monochrome LCD. A zif connector with a quick change locking tab allows the easy placement of the LCD for deployment testing or removal if not desired. The LCD has a processor controlled backlight that may be varied in intensity under software control.

User LED's
Three users LED's, green, yellow and red LED are provided for user control. These may be useful for example to flash an error code if the LCD display is not being used, or to indicate a read or write operation to the SD card. Software functions are provided for their control.

I2C temperature device

Dual Channel DAC with selectable rail limits

I/O
All key functionality is taken out to the headers and may be user controlled. All of the signals are available for use by the user, these signals are not dedicated. All 56 pins of the IO are available to jumper to any of the jumper shunts for redirecting signals. The default positions are established by installing the shunts however the shunt may be pulled and a push on jumper or wire wrap wire may re-route a signal.


Software Description

See the function prototypes in FcdDef.h for a full list of available functions.

Source code is provided for the following hardware functions:

Real Time Clock

RS232

Graphics LCD

Audio Wave files

Navigation Switch Interrupt Handler

User LED's
Library functions are provided for a full DOS FAT16 file system with DOS directory structure, source code may be obtained with sdFlashFile license purchase.

SD File System

Menu System
User changeable menu system for selection of application functions and sub functions within the selection. All display layouts are defined via constants in a header file.

Multiple Processor message transport with Ack, Nack protocol handshaking

Script File System
An ASCII text file may be used to control local and remote execution of procedures. The procedures are extensible.

Script Procedures
Print_LCDLED_Green_On
Print_SerialLED_Red_On
Print_Audit_OnLED_Green_Off
Print_Audit_OffLED_Red_Off
Wait_On_key
Time_DelayDisp_ClockLCD_BackLite_Off
LCD_BackLite_On
Set_rtc_Alarm {Alarm0 || Alarm1} {Alarm_On_Secs=||Alarm_On_Min_Secs=||Alarm_On_Hour_Min_Secs=|| Alarm_On_Day_Hour_Min_Secs=} d hh:mm:ss
Read_rtc_Alarm// alarm stored in struct
Set_rtc_Time yy/mm/dd day hh:mm:ss// 00 - 99/1-12/1-31 1-7 0-23:0-59:0-59
Enable_rtc_Alarm
Disable_rtc_Alarm
Play_Sound_File==MyWave.wav {Right Channel || Left Channel} {From_Flash {Index=} || From_SD}
Flash_File=
WaveFile=MyWave.wav Index=00// 00 --> 0 - FF as the index, manually set, must agree with spiFlash.h
CmndFile=MyCmnd.cmd Index=00
DataFile=MyData.dat Index=00

The Rapid Prototyping System was introduced at FTF in Orlando 2008 and will be used as a training tool in the near future.