sistemas embebidos basados en fpgas para instrumentación

28
Sistemas embebidos basados en FPGAs para instrumentación Guillermo Carpintero del Barrio Introducción a los sistemas de instrumentación basados en microprocesador

Upload: others

Post on 21-Nov-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas embebidos basados en FPGAs para instrumentación

Sistemas embebidos basados en FPGAs para

instrumentación

Guillermo Carpintero del Barrio

Introducción a los sistemas de instrumentación basados en

microprocesador

Page 2: Sistemas embebidos basados en FPGAs para instrumentación

Introducción al contenido de la asignatura

TransductorAcond.

A/D

Procesamiento de

datos:• Almacenamiento

• Visualización

• Comunicación

Sistema de instrumentación: esquema de bloques

2

Tarjeta de adquisición de datos + SW

TransductorAcond.

señalA/D • Comunicación

• Tratamiento de

datos

• Extracción de

información

Page 3: Sistemas embebidos basados en FPGAs para instrumentación

Introducción al contenido de la asignatura

Transductor

+

Acond. señal

Microcontrolador

Sistema de instrumentación: integración en sistemas embebidos

“Smart sensors”

3

Transductor +

Acond. señal +

conversión V-f

Microcontrolador

Transd. + Acond.

+

A/D + interfaz

Microcontrolador0 0 1 … 1

“Smart sensors”

• Visualización de datos

• Tratamiento de datos

• Comunicación de datos

Page 4: Sistemas embebidos basados en FPGAs para instrumentación

Introducción al contenido de la asignatura

Sensor o

sensores

Extracción

automática de

información

Sistema de instrumentación: “intelligent sensors”

Algoritmos

• Autocalibración

4

• Autocalibración

• Autotest

• Extracción de

características

• Soft-sensor

• ….Distintas plataformas:• PC• DSP o µcontrolador

• FPGAs

Page 5: Sistemas embebidos basados en FPGAs para instrumentación

Introducción al contenido de la asignatura

Sistema de instrumentación embebidos: aplicaciones

Domótica

Automoción

- ABS

- Sistemas de navegación

- Control del motor

- Electrodomésticos

- Consolas

- Iluminación

- Climatización

- Seguridad

5

motor

Sistemas eléctricosMedicina

- Control de demanda

- Calidad del suministro

- Marcapasos

- Imagen (resonancia magnética) Otros

Page 6: Sistemas embebidos basados en FPGAs para instrumentación

Arquitectura de un sistema embebido

¿Qué es un sistema embebido?

Computador . . . Propósito general

Gran cantidad de recursos

Programa principal un S.O.

6

Programa principal un S.O.

Cualquier otro tipo de sistema con un procesador es

Recursos limitatos

Propgrama principal RTOS

Embebidos . . . Propósito específico

Page 7: Sistemas embebidos basados en FPGAs para instrumentación

Software (SW)

Aplicación Real

Arquitectura de un sistema embebido

7

Hardware (HW)

VLSI

nos permite poner más HW en

menor espacio

Aumento de Complejidad

Page 8: Sistemas embebidos basados en FPGAs para instrumentación

8

Page 9: Sistemas embebidos basados en FPGAs para instrumentación

Memory Controllers Interface

Software

Ejemplo de un sistema embebido

9

Analog Digital Analog

Coprocessors

Converters

Processor

ASIC

Page 10: Sistemas embebidos basados en FPGAs para instrumentación

Tipos de sistema embebido

Simples (Tostadora, Microondas, Lavadora)

10

Complejos (Control de combustión de motor)

Herramientas de diseño:

• Verilog – Modelado y Síntesis de HW

• UML y Prog. Estructurada – Diseño SW

• C – implementación de SW

Page 11: Sistemas embebidos basados en FPGAs para instrumentación

Ciclos de diseño de sistema embebido

Captura de Requisitos

Especificación del Sistema

Diseño Funcional

Diseño del Hardware

Diseño del Software

Fusión de ambos

11

Diseño Funcional

Diseño Arquitectura

Prototipo

Fusión de ambos

Depuración

. . . Y más Depuración

Page 12: Sistemas embebidos basados en FPGAs para instrumentación

Diagrama de Bloques de un Sistema Embebido basado en

Microprocesador

while(1) {

Embedded Program

}

system bus

CORE

Memoria

12

system bus

Processor (CPU)

E/S

Page 13: Sistemas embebidos basados en FPGAs para instrumentación

Tamaño

system bus

Address

Data

Control

Word Size

13

Núm. de Buses

system bus

Harvard

Princeton

Page 14: Sistemas embebidos basados en FPGAs para instrumentación

Punto Fijo (4 bits)

Representación de los datos mediante 16 combinaciones

Enteros sin signo xxxx 0 a 16

Enteros con signo ±xxxx -8 a 7

Real xxx.x 0 a 7.5 (7.1 number)

xx.xx 0 a 3.75 (3.2 number)

x.xxx 0 a 1.6875 (1.3 number)

Representación de Datos

14

Nround Ntrunc

-2-n < ET < 0-2-n/2 < ET < 2-n/2

Page 15: Sistemas embebidos basados en FPGAs para instrumentación

15

Punto Flotante

Ancho de palabra = 32 bits 4.294.967.296 combinaciones.

ANSI/IEEE Std. 754-1985 ±3.4 x 1038 a ±1.2 x 10-38

Salto entre dos números consecutivos es 107 veces menor que el valor

numérico de estos.

Page 16: Sistemas embebidos basados en FPGAs para instrumentación

S Exp mantissa

1 8 23

v = s × 2Exp × mantissa

s = +1 (números positivos) cuando S es 0

s = −1 (números negaKvos) cuando S es 1

16http://www.zator.com/Cpp/E2_2_4a1.htm

e = Exp − 127 ("biased with 127")

m = 1,Fracción en binario

Page 17: Sistemas embebidos basados en FPGAs para instrumentación

Procesador Procesador

HarvardPrinceton

17

Memoria MemoriaDatos

MemoriaPrograma

Instruction Word Size

=

Native Data Format

PARALELIZA ACCIONES

Aumenta el ancho de banda

con la Memoria

Page 18: Sistemas embebidos basados en FPGAs para instrumentación

Principio de ejecución secuencial

Instruction Fetch

INS

TR

UC

TIO

ND

ATA

Memoria

AD

DR

ES

S

CO

NT

RO

L

Decode

Pasos queimplican

accesos amemoria

18

ExecutionMicroprocesador

INS

TR

UC

TIO

N

AD

DR

ES

S

CO

NT

RO

L Data Fetchy por tanto

tiempo

Page 19: Sistemas embebidos basados en FPGAs para instrumentación

Pipeline de Instrucciones

Oscilador

19

Ciclo de Instrucción

Tiempo que tarda en ejecutarse una instrucción.

Page 20: Sistemas embebidos basados en FPGAs para instrumentación

CPU

Processor

Registros Internos

Juego de Instrucciones

Ciclos x Instrucción

Profundidad Pipeline

Modos Direccionamiento

Longitud Instrucciones

20

Implementación

Processor

Microcontrolador

FPGA

Microchip PIC

Cypress PSOC

Atmel ATMEGA

IP CORES

Page 21: Sistemas embebidos basados en FPGAs para instrumentación

RISCCISC

Processor

21

Processor

Page 22: Sistemas embebidos basados en FPGAs para instrumentación

Instrucciones de Transferencia de DatosMovimiento (Move)Alteración Datos (Clear, Inc, Dec)Rotación Bits (Shift, Rotate)

Instrucciones Aritméticas (Add, Sub, Mult, Div)

Clasificación de las Instrucciones

22

Instrucciones Lógicas (And, Or, Xor)

Instrucciones Booleanas (Set bit, Clear bit, Jump if bit set,Jump if bit clear)

Instrucciones de Salto Control (Jump, Conditional jumps)Ralacionadas con Subrutinas (Push, Pull)Relacionadas con Interrupción (Retorno de Int.)

Page 23: Sistemas embebidos basados en FPGAs para instrumentación

Modos de direccionamiento

Medio para especificar en la instrucción la ubicación de los operandos.

Inmediato Inherente

Indirecto

23

DirectoIndirecto

Page 24: Sistemas embebidos basados en FPGAs para instrumentación

Directo Indirecto Indexadoa través registro a través registro

24

Indice OffsetIndice

Page 25: Sistemas embebidos basados en FPGAs para instrumentación

Microchip PIC

25

Figura de “PIC microcontrollers: An introduction to Microelectronics”

M. Bates

Elsevier/Newnes 2004

Memory = Massive blocks + Special registers ! ! !

Page 26: Sistemas embebidos basados en FPGAs para instrumentación

Input/Output

MemoryAddressData

Microchip PIC

26

CPU

Page 27: Sistemas embebidos basados en FPGAs para instrumentación

MicroBlaze

Opciones en Arquitectura Procesador

- Pipeline, Instrucciones

- Caches, FPU

- MMU

- Coprocesadores

Selección de Interfases E/S

27

Selección de Interfases E/S

- Ethernet, PCI

- UART, SPI, I2C, GPIO

- Definidos por Usuario

Interfases con memoria

- DDR, DDR2, SRAM, Flash

Page 28: Sistemas embebidos basados en FPGAs para instrumentación

MicroBlaze

28