El PLATHW de Orbital Critical Systems es una plataforma hardware de propósito general para prototipado y desarrollo de proyectos en los que la criticidad del sistema requiera de una fase de certificación. Se enmarca dentro de los sistemas SBC (Single Board Computer), siendo la única plataforma low-cost y de altas prestaciones que se ha diseñado pensando en las necesidades del flujo de desarrollo de aplicaciones críticas.
Su arquitectura está basada en un sistema modular, centrado todo en base a un SoC Zynq-7000. El SoC dispone de un procesador dual-core, junto a una parte de HW sintetizable donde poder desarrollar y testear los interfaces que la aplicación requiera.
Gracias a la gran capacidad de configuración que ofrecen las FPGAs, se puede obtener un sistema de propósito general con multitud de posibilidades.
En un mismo dispositivo podremos disponer de un procesador en el que ejecutar un sistema operativo y disponer de todos los periféricos que requiera la aplicación. La parte configurable de la FPGA ofrece un espacio donde sintetizar todos los elementos no incluidos en el SoC y que sean necesarios.
La parte configurable, será programada mediante diseños HDL para integrar la funcionalidad añadida que requiera el sistema (funciones agrupadas en bloques IP-Core). Para esta plataforma se han diseñado IP-Cores de interfaces aeronáuticos como ARINC-429, MIL-STD-1553, control de señales discretas, RS422/485. Todos estos IPCores son sintetizables en la Zynq, accesibles por el procesador mediante el bus del SoC (AMBA AXI).
La plataforma es compatible con Linux y se ha desarrollado una distribución utilizando Yocto Project. Los IP-Cores implementados en FPGA disponen de su driver específico para que desde el entorno de usuario las aplicaciones puedan hacer uso de sus recursos. Gracias a su interfaz web permite que con solo un cable Ethernet se pueda desde controlar el envío de mensajes por un interfaz Arinc-429 a configurar los mensajes de los “minor frames” del bus 1553.
La plataforma desarrollada consta de una placa madre (Mainboard) donde se encuentra el SoC y una serie de placas mezzanines conectadas a los AMC. Con este diseño se obtiene una flexibilidad máxima, ya que el “core” de toda aplicación sería una Mainboard, donde se programa la lógica y el SW. La capa física se emplaza en las placas AMC, que son conectadas a demanda de la aplicación.
La Mainboard dispone de conectores de dos interfaces presentes en el mercado BoosterPack y Pmod. Ambos interfaces permiten que con placas de terceros se pueda extender la funcionalidad. La placa AMC es una placa de prototipado para aplicaciones aeronáuticas, ya que dispone de la capa física de los principales interfaces presentes en estas aplicaciones:
- ARINC-429
- RS422/485
- MIL-BUS-1553
- Dual-Ethernet (for AFDX development)
AMC Overview
Power
- Input 3V3 and 12
- Dual Hot-Swap Power Controller
- Overcurrent Circuit Breaker
- Power-Good Reporting
- Digital Enable Control
External Interfaces
- ARINC 429 with Auto-test
- Four ARINC 429 Receivers
- Four ARINC 429 Transmitters
- MIL-STD-1553 Redundant Bus
- Two Isolated RS422 (up to 1Mbps) with Auto-test
- Two Ethernet 10/100Mbps
FMC
- FMC Low Profile compatible with Xilinx development boards (as ZedBoard)
- I2C
- SPI
- System Reset
Sensors
- On-Board Temperature sensor (Accuracy +/-0.25ºC)
Software
- AXI IP-Core Library Vivado® Design
- Yocto Linux Drivers
MAINBOARD Overview
Power
- Input 3V3 and 12V
- UC90120 Power Controller
- On/Off Switch
- 12V @ 5A AC/DC regulator
- Current and Voltage monitoring
System On Chip
- Xilinx® XC7Z020-1CLG484C Zynq-7000 AP SoC
- Primary configuration = QSPI Flash
- Auxiliary configuration options
- Cascaded JTAG
- SD Card
Memory
- 1GB MB DDR3 (256M x 32)
- 256 Mb QSPI Flash
Interfaces
- USB-JTAG Programming using Digilent SMT1-equivalent circuit
- Accesses PL JTAG
- PS JTAG pins connected through PS Pmod
- 10/100/1G Ethernet
- USB 2.0 HOSTS ULPI
- USB Hub 4 PORTS
- uSD Card
- USB 2.0 FS USB-UART bridge
- Two ADC inputs
- Two Digilent Pmod™ compatible headers (2×6)
- Two LPC FMC
- One AMS Header
- One Hercules Bootster pack compatible headers
- Isolated Dual CAN
- Isolated RS232
- Two Reset Buttons (1 PS, 1 PL)
- Seven Push Buttons
- HDMI Output
- Eight Isolated Discrete Inputs
- Eight Isolated Discrete Outputs
- I2C high reliability tree
- Temperature monitoring and fan controller
Zynq es un dispositivo de Xilinx dentro de la familia Serie-7, última versión de las FPGAs de este fabricante. Este dispositivo dispone de un procesador Cortex-A9 dual-core, elemento principal del PS (“Processing System”) y una zona de lógica programable, denominada PL, con tecnología de 28 nm.
Este proyecto fue cofinanciado por el Ministerio de Industria, Energía y Turismo dentro del Plan Nacional de Investigación Científica, Desarrollo e Innovación Tecnológica 2013-2016. El número de referencia del proyecto es TSI-100101-2013-102.