FPG-EYE hardware and software
The FPG-EYE is a development board produced by Evidence S.r.l.. The board is based on Lattice core Lattice XP2-17 fpga. This board can either be used as a standard fpga development board or as a mico32 soft-core platform.
The FPG-EYE is equipped with following onboard devices:
- Fpga LFXP2-17
- 25Mhz crystal oscillator
- SRAM: 512 kB
- SDRAM: 32 MB
- Serial Flash: 4 MB
- Leds and switches
and additional external standard modules:
- RS232 Transceiver
- Ethernet module
Following external modules are also available optionally:
- CMOS Camera (Color)
- RF Transceiver Module
In the Erika repository there are two platform project. If you use the Lattice ispLever as development tool, you have to choose the fpg_eye_isplever, while if you use more recent Diamond as development tool the right platform is the fpg_eye_diamond. The FPG-EYE board comes with a pre-loaded demo application, the Web-server Camera demo, which is hosted by a Mico32 platform. The demo source files can be found in the Erika examples. The Web-server Camera demo is an Erika-based application and uses Evidence custom components and platforms. The FPG-EYE custom components and the bootloader are contained in the FPG-EYE software packet and can be freely downloaded.
The FPG-EYE software packet includes:
- Evidence custom mico32_camera component (MSB component with binary netlist).
- Evidence custom serpar_io component (MSB source component).
- Binary external flash bootloader.
- Python bootloader interface script.
- Mico32 standard Async SRAM Controller and SPI Flash Controller components patched (only for Lattice ispLever, not required for Lattice Diamond).
Brief description of software components
Evidence custom camera component
The mico32_camera is a wishbone component developed by Evidence S.r.l.. It must be imported in MSB's Available Components, before using in platform designs. Mico32_camera comes with an Erika driver which is needed for developing your applications.
Example of mico32_camera can be found under the section Camera API. To write your customised driver, refer Mico32_camera: Writing drivers based on mico32_camera page.
Evidence custom serpar_io component
It is basically a parallel to serial converter. The processor writes a datum on serpar_io component out register, that serializes it out to a 74hc595 (serial to parallel shift register) device. Similarly, serpar_io can get a serialized datum from 74hc165 (parallel to serial shift register) and puts it on the register so that the cpu can read it. The serial to parallel shift register enables/disables board peripherals power supply and LEDs, while the parallel to serial shift register reads switches the states.
The sample code for serialpar_io shows a simple use of this component.