Using CPLD/1
From Manuals
(→SPI Port Extender) |
|||
| Line 31: | Line 31: | ||
==SPI Port Extender== | ==SPI Port Extender== | ||
The SPI port extender application expands the available I/Os to the processor using both the extended I/O connector J12 and the PC/104 connector J13. The PC/104 signals are reclassified according to table 2-1. | The SPI port extender application expands the available I/Os to the processor using both the extended I/O connector J12 and the PC/104 connector J13. The PC/104 signals are reclassified according to table 2-1. | ||
| - | [[Image: | + | [[Image:104 Connector Pin out.png|center|]] |
Revision as of 14:54, 21 June 2010
Contents |
Introduction
Expansion via Programmable Logic
The Eagle 100 includes a Xilinx XC9572XL Complex Programmable Logic Device(CPLD) that can augment the microcontroller capabilities using high speed logic. In this scenario, the CPLD can perform repetitive dedicated tasks and allow the processor to concentrate in more supervisory functions. Examples include event monitors, pwm generators, motor controllers and expansion bus interfaces. Micromint provides several reference implementations with source code that can be adapted to specific application requirements.
Processor Interface
The ARM microcontroller uses 5 pins for communication with the CPLD as shown in Table 1-1.
The reference implementation uses an SSI (Synchronous Serial Interface) port at 4 MHz. The serial interface uses 9-bit frames including a 1-bit command flag and an 8-bit data word. (SSI). Up to 63 CPLD I/O pins in connectors J12 and J13 are available for applications.
Electrical Interface
The XC9572XL is a 3.3V device with 5V tolerant I/O. Please refer to the following Xilinx documents for guidelines on thresholds, termination and impedance.
XC9572XL 3.3V High-Performance CPLD Data Sheet
http://www.xilinx.com/support/documentation/data_sheets/ds057.pdf
Xilinx CPLD I/O User Guide
http://www.xilinx.com/support/documentation/user_guides/ug445.pdf
XC9500XL CPLD Documentation
http://www.xilinx.com/support/documentation/xc9500xl.htm =Reference Implementations
Monitor
This monitor application uses the CPLD to watch events and trigger an alarm when a condition is reached. By delegating the monitoring task to the CPLD, the processor can concentrate on other tasks. If properly implemented, this distributed processing can lead to very efficient applications. The event being monitored is the number of pulses on pin 30 (PXC7) of the extended I/O connector J12. It uses two CPLD registers: the current count (RXA) and the count limit (RXB). Once the count limit is reached, the interrupt line (IO_INTR) is asserted. A status of the count changes is printed on serial port COM1. The count changes are monitored every 100 ms. The alarm event is handled asynchronously using an interrupt service routine (ISR). To run this application, download the monitor.svf firmware to the CPLD using the procedure in section 3 of the manual and the cpld_monitor.bin firmware to the microcontroller using a JTAG or the Luminary Flash Programmer.
SPI Port Extender
The SPI port extender application expands the available I/Os to the processor using both the extended I/O connector J12 and the PC/104 connector J13. The PC/104 signals are reclassified according to table 2-1.


