Herramientas de diseño para sistemas embebidos

25
Herramientas de diseño para sistemas embebidos

Transcript of Herramientas de diseño para sistemas embebidos

Page 2: Herramientas de diseño para sistemas embebidos

Que es un sistema embebido

Lo podemos definir como un sistema cuyo hardware y software están específicamente diseñados y optimizados para resolver un problema concreto de forma eficiente.

Un subsistema electrónico de procesamiento, diseñado y programado para realizar una o pocas funciones para cumplir con un objetivo específico o determinado, habitualmente formando parte de un sistema de mayor entidad (‘host’ o anfitrión) y frecuentemente en un sistema de tiempo real.

Page 3: Herramientas de diseño para sistemas embebidos

En un sistema embebido la mayoría de los componentes se encuentran incluidos en la placa base, está integrado por circuitos integrados programables, memoria flash o ROM, el correspondiente circuito impreso y el software embebido o empotrado como parte esencial del mismo sistema, conocido en inglés como firmware o embedded software.

Page 4: Herramientas de diseño para sistemas embebidos

El software empotrado se utiliza para controlar los productos electrónicos y usualmente se ejecuta sobre un microprocesador interno, en un microcontrolador, en un procesador digital de señal (DSP), en una compuerta programable en campo (FPGA), o en un controlador lógico programable (PLC) y a veces en una PC de propósitos generales adaptada para fines específicos. Este software difiere del software convencional de una computadora, se tendrán requisitos específicos según la aplicación. Tiene entre otras las siguientes características y necesidades :

Page 5: Herramientas de diseño para sistemas embebidos

Trabajo en tiempo real

Los sistemas de tiempo real se diferencian de los sistemas informáticos de aplicación general en que deben cumplir con requisitos de tiempo que no sólo implica velocidad de respuesta , sino garantía de acción en el instante requerido de acuerdo a lo especificado. En algunas aplicaciones los sistemas embebidos tienen que ser capaces de responder inmediatamente y cumplir requerimientos de tiempo real por razones de seguridad (mission criticalsystems).

Page 6: Herramientas de diseño para sistemas embebidos

A menudo se requieren certificaciones de seguridad y conformidad con determinados estándares. La naturaleza dedicada en tiempo real del sistema conduce a un mayor grado de dependencia y a una mayor integración con el hardware.

Page 7: Herramientas de diseño para sistemas embebidos

Optimizar al máximo los recursos disponibles aunque la capacidad de cálculo y dispositivos externos será limitada. Debido a que un sistema embebido está dedicado a una tarea específica, el diseño puede ser optimizado reduciendo los costos , el tamaño del producto, poca memoria y el consumo de potencia , a la vez de incrementar la confiabilidad y eficiencia.

Page 8: Herramientas de diseño para sistemas embebidos

Interacciona directamente con los sistemas hardware.-Tiene una interfaz directa con el hardware del dispositivo y es el intermediario entre el software de alto nivel y la funciones del hardware. Su lenguaje de programación, en la mayoría de los casos es de bajo y mediano nivel, Programación en ensamblador, aunque en los últimos años, los fabricantes o empresas externas han mejorado la oferta de compiladores que nos permiten trabajar en lenguajes de alto nivel, tales como C.

Page 9: Herramientas de diseño para sistemas embebidos

SOFTWARE

Dentro del software embebido se pueden distinguir a su vez diferentes categorías:

El software original o básico, indispensable para el funcionamiento del aparato, el cual constituye su sistema operativo ad-hoc. El lenguaje de programación es ensamblador ( assembler) del microcontrolador , C/C++ o VHDL , y hasta en algunos casos BASIC.

Page 10: Herramientas de diseño para sistemas embebidos

Un segundo tipo de SW es el requerido por algunos de los equipos, pero que por condiciones específicas (como pueden ser requerimientos regulatorios de una determinada comunidad), pero también condiciones existentes o simplemente modalidades o costumbres se hace necesario adaptar el equipo original al uso específico requerido.

Page 11: Herramientas de diseño para sistemas embebidos
Page 12: Herramientas de diseño para sistemas embebidos

Lenguaje de descripción de hardware

(HDL, Hardware Description Language) permite documentar las interconexiones y el comportamiento de un circuito electrónico, sin utilizar diagramas esquemáticos.

El flujo de diseño suele ser típico:

• Definir la tarea o tareas que tiene que hacer el circuito.

• Escribir el programa usando un lenguaje HDL. También existen programas de captura de esquemas que pueden hacer esto, pero no son útiles para diseños complicados.

• Comprobación de la sintaxis y simulación del programa.

• Programación del dispositivo y comprobación del funcionamiento.

Page 13: Herramientas de diseño para sistemas embebidos

Un rasgo común a estos lenguajes suele ser la independencia del hardware y la modularidad o jerarquía, es decir, una vez hecho un diseño éste puede ser usado dentro de otro diseño más complicado y con otro dispositivo compatible.

Lenguajes

• VHDL

• Verilog

• ABEL HDL

• Otros lenguajes HDL propietarios

Page 14: Herramientas de diseño para sistemas embebidos

VHDL. • es el acrónimo que representa la combinación

de VHSIC Very High Speed IntegratedCircuit y HDL Hardware Description Languagees . Es un lenguaje definido por el IEEE (Institute of Electrical and Electronics Engineers) (ANSI/IEEE 1076-1993) usado por ingenieros para describir circuitos digitales. Otros métodos para diseñar circuitos son la captura de esquemas (con herramientas CAD) y los diagramas de bloques, pero éstos no son prácticos en diseños complejos.. Aunque puede ser usado de forma general para describir cualquier circuito se usa principalmente para programar PLD (Programable Logic Device -Dispositivo Lógico Programable), FPGA(FieldProgrammable Gate Array), ASIC y similares.

Page 15: Herramientas de diseño para sistemas embebidos

VerilogVerilog es un HDL, usado para modelar sistemas electrónicos,

soporta el diseño, prueba e implementación de circuitos analógicos, digitales y de señal mixta a diferentes niveles de abstracción. Los diseñadores de Verilog querían un lenguaje con una sintaxis similar a la del lenguaje de programación C, de tal manera que le resultara familiar a los ingenieros y así fuera rápidamente aceptada. El lenguaje tiene un preprocesador como C, y la mayoría de palabras reservadas de control como "if", "while", etc, son similares. El mecanismo de formateo en las rutinas de impresión y en los operadores del lenguaje (y su precedencia) son también similares.

Page 16: Herramientas de diseño para sistemas embebidos

A diferencia del lenguaje C, Verilog usa Begin/Enden lugar de llaves para definir un bloque de código. Por otro lado la definición de constantes en Verilog requiere la longitud de bits con su base. Verilog no tiene estructuras, apuntadores o funciones recursivas. Finalmente el concepto de tiempo, muy importante en un HDL, no se encuentra en C.

Page 17: Herramientas de diseño para sistemas embebidos

ABEL

Es la abreviatura de Advanced BooleanExpression Language. Es un lenguaje de descripción de hardware y un conjunto de herramientas de diseño para programar dispositivos lógicos programables (PLDs). ABEL permite describir un diseño concurrentemente mediante tablas de verdad o ecuaciones lógicas

Page 18: Herramientas de diseño para sistemas embebidos

Altera Corporations.-

Altera es una de las compañías mas importantes en producción de dispositivos lógicos programables y es la familia que mas ofrece. Algunas de sus familias son APEX,FLEX,MAX y Clasic. La capacidad de integración de cada familia varia desde 300 hasta 1´000,0000 de compuertas utilizables por el dispositivo además que todas pueden integrar sistemas complejos.

Las características mas significativas de los dispositivos Altera son las siguientes:

• -frecuencia de operación del circuito superior a los 175 Mhz y retardos pin a pin de menos de 5 ns.

Page 19: Herramientas de diseño para sistemas embebidos

-la implementación de bloques de arreglos integrados (EAB), que se usan para realizar circuitos que incluyan funciones aritméticas. Tambien se aplican en microprocesadores, microcontroladores y funciones complejas con DPS (procesadores digitales de señales).

-La programación en Sistemas (ISP), que permite programar los dispositivos montados en la tarjeta.

-mas de 40 tipos y tamaños de encapsulados.- operación multivoltaje, entre 5 y 3.3 v para máximo

funcionamiento y 2.5 en sistemas hibridos.Potentes herramientas de SoftWare como el

MAX+PLUS II que soporta toda la familia de dispositivos Altera, asi como el Software estándar compatible con VHDL.

Page 20: Herramientas de diseño para sistemas embebidos
Page 21: Herramientas de diseño para sistemas embebidos

Cypress semiconductor

Ofrece una amplia variedad de dispositivos lógicos programables complejos (CPLD), que se encuentran en las familias ULTRA3700 y FLASH370i cada una con reprogramación en sistema (ISR). En su interior contienen desde 32 hasta 128 macroceldas. En cuanto al software ofrece su podereso programa Warp basado en VHDL. Rstr prama permite simular de manera grafica el circuito programado generando un archivo de mapa de funciones (jedec) que puede ser programado directamente en cualquier PLD o FPGA de Cypress u otra compañía compatible.

Page 22: Herramientas de diseño para sistemas embebidos

• Clear Logic

Introdujo los dispositivos logcos procesados por laser (LPLD), tecnología que prevee reemplazos de los dispositivos de la compañía Altera pero a un costo y tamaño menores. Puede disponer de arriba de un millón de transistores para construir alrededor de 523 macroceldas. CL7000 (E)

• Motorola

Ofrece dispositivos FPGA y FPAA, estos últimos son los primeros campos programables para aplicaciones analógicas, utiizado en redes y telecomunicaciones.

Page 23: Herramientas de diseño para sistemas embebidos

Xilinx

• Es una de las compañías líder en soluciones de lógica programable, incluyendo circuitos integrados avanzados, herramientas de software para diseño, funciones predefinidas y soporte de ingeniería. Es la compañía que invento los FPGA y en la actualidad sus dispositivos ocupan mas de la mitad del mercado mundial.en PLD

Page 24: Herramientas de diseño para sistemas embebidos

Las familias de CPLD XC9500 y XC9005XL proveen gran variedad con voltajes de 5 – 3.3v, 36-288 macroceldas, 34-192 terminales entrada salida, y programación en sistema.las familias Xc400 y XC1700tienen una capacidad de integración de mas de 40,000 compuertas lógicas y programación en sistema.

En cuanto al software desarrollo una herramienta llamada Foundation Series que soporta diseños estándares basados en ABEL.HDL y VHDL.