NXP LPC1788/LPC4088 (Cortex-M3/M4F) + Xilinx XC6SLX9 CPU Board
FPGA and IRC Equipped Control SystemThe LX_CPU system is based on the NXP LPC1788 ARM Cortex-M3 ( or optionally LPC4088 ARM Cortex-M4F) microcontroller. The Xilinx Spartan 6 XC6SLX9 FPGA is placed on the board in addition to the base MCU and 32 MB of SDRAM. The system has been designed as universal control board with initial use as replacement of control unit of our HPLC systems spectrophotometric UV/VIS detector. LX_CPU board is used in our motion control systems. One such system is LX_RoCoN multi-axes motion controller for PMSM, BDLC, DC and stepper motors with FPGA based commutation coprocessor.
The system features:
- ARM Cortex-M3, running at frequencies of up to 120 MHz
- 96 kB on-chip SRAM
- 32 MB SDRAM chip. It is connected by 32 bit bus.
- 512 kB on-chip Flash program memory
- 8 kB EEPROM connected to I2C bus.
- USB device controller
- Two full speed USB (12Mbit/s) device controller. The first configured as device and second as host. LX_CPU2 board can be directly connected to the host computer and can be even fully powered from it.
- Four UARTs
- The UART0 is connected to the dedicated connector directly on LX_CPU2, with 3.3 Volts levels TTL.
- The UART1 is connected to galvanic isolated RS232 or RS485 transceiver.
- The UART3 is connected to the IO Extension Connector.
- The UART4 is connected to the TTL IO connector and provides 5 Volt TTL levels.
- ETHERNET Controller
- On chip ethernet MAC with external 10/100M PHY DP83848I. The LX_CPU2 board is populated with integrated connector module (ICM) socket suitable for direct connection to the standard ETHERNET infrastructure.
- I2C Bus
- Three channel I2C bus. Channel 0 connected to EEPROM and LCD connector. Channel 1 connected to IO Extension Connector and channel 2 connected to dedicated I2C connector.
- CAN controller with two channels
- The first channel connected to galvanic isolated CAN driver. The second channel connected to IO Extension Connector.
- LCD Connector
- 30-pin Molex FFC/FPC-to-Board connector is provided for LCD modules connection. The MX1 LCDC enables to directly connect most of passive and TFT LCD panels.
- FPGA Xilinx XC6SLX9
- 9,152 Logic Cells, 1,430 Slices, 11,440 Flip-Flops, 32 RAM blocks 576Kb RAM total
- Connected to CPU with 32 bit data and 16bit address bus.
- 26 User IO accessible witch IO Extension Connector and can be use as 13 high speed differential I/O
- IRC input
- Four IRC input each witch four differential channel input connected to FPGA.
- IO Extension Connector
- 80-pin Standard double row header carries most IO signals form CPU and FPGA: UART, CAN, SPI and I2C interfaces signals, analog inputs, timer, PWM and some more signals for general purpose IO functions.
- JTAG Connector
- 10-pin header with slightly-reduced pin count JTAG interface is provided for debugging.
- Boot select jumper and LEDs
- Boot select jumper enables serial bootstrap mode. Two LED diode can be used for software diagnostics purposes, one LED i connected to FPGA and other two are reflects ETHERNET connect and traffic state.
- Power Supply
- The MX_CPU2 board can be powered directly from USB +5 VDC power supply or thought dedicated pins located on IO Extension connector. Because two switching power regulators are located on board only +5 VDC supply is required. The supply interconnection on IO Extension Connector or additional power supply is required to power isolated communication interfaces - RS233, RS485 and CAN.
- 120 mm x 80 mm
Top View of LX_CPU2 Board (Full Image)
Top View of LX_CPU2 Board with Connectors Description (PDF file)
Schematic Diagram of LX_CPU2 Board (PDF file)
The LX_CPU2 board has been designed by Petr Porazil.
Work has been financed and is owned by PiKRON Ltd.
Design ideas, consulation and software work is carried mainly by Pavel Pisa.
The published documentation can be used and copied if pointers to original sources are preserved.
There is no restriction for design use as base of derived works, but cooperation on hardware enhancements, bare metal system-less, uLAN and RTEMS support would be highly appreciated.
The LX_CPU2 boards batches are now produced and used in more of PiKRON's laboratory devices and can be ordered from PiKRON company. Boards are used in LX_RoCoN systems, HPLC high resolution UV-VIS detectors and ongoing design of electronics for diode array detectors.
Next operating systems and development frameworks has been ported and tested with LX_CPU boards:
- real time executive used in many mission critical applications (http://www.rtems.org/)
- uLAN sysless framework
- the core libraries used in PiKRON's instruments bare metal firmware (http://ulan.sourceforge.net/)
- ARM mbed
- common ARM based MCU operating system developed by ARM (http://developer.mbed.org/)
- small operating system providing Linux like API environment (http://nuttx.org/). LX_CPU board support is included in 8.1 official release.
- port of U-Boot to LPC MCUs