Вы находитесь на странице: 1из 64

Sistemas embebidos basados

en FPGAs para
instrumentacin

Interfaces de usuario y
comunicacin
Marta Ruiz Llata
Introduccin
Sistema de instrumentacin: esquema de bloques

Procesamiento de
datos:
Almacenamiento
Acond. Visualizacin
Transductor A/D Comunicacin
seal
Tratamiento de
datos
Extraccin de
informacin

Tarjeta de adquisicin de
datos + SW

2
Introduccin

Interfaz de comunicacin con el usuario


Indicadores y displays
Pulsadores y teclados

Adquisicin de seales
Seales analgicas
Seales digitales peridicas

Generacin de seales de control de dispositivos

Comunicaciones serie
Buses locales
Redes locales

3
Figura de Spartan-3E FPGA Starter Kit Board User Guide Xilinx

4
Indicadores y displays

5
Indicadores y displays: Leds

+V

RLIMIT RLIMIT

RLIMIT para ILED aproximadamente 20 mA

6
Indicadores y displays: displays de 7 segmentos

Cuantas patas?
7(8) LEDS: 7 segmentos del dgito (+ punto)

B0 a Number Segments Hex


B1 b 0 0011 1111 0x3F
B2 c 1 0000 0110 0x06
B3 d
e
2 0101 1011 0x5B
B4
B5 f 3 0100 1111 0x4F
g 4 0110 0110 0x66
B6
B7 dp cc 5 0110 1101 0x6D
6 0111 1101 0x7D
Q1 7 0000 0111 0x07
DS 8 0111 1111 0x7F
9 0110 0111 0x67
7
Indicadores y displays: displays de matrices de puntos

Display alfanumrico o display grfico

Seleccin de fila y columna para


encender cada led

Funciones para representar datos:


Codificar
Refrescar

Diferentes alternativas (HW y SW) para implementar cada funcin

8
Codificacin y refresco mediante SW

Aplicaciones sencillas generalmente con displays de 7 segmentos. El microcontrolador


realiza las funciones de codificar los datos (BCD a 7 segmentos) y del refresco
peridicamente de cada dgito del display.
D0 D3
B0
B1
B2
B3
B4
Microcontrolador

B5 cc3 cc2 cc1


B6 cc0
B7
S3
S2
S3 S1
S2 S0
S1
S0 D0 D1 D2 D3

9
Codificacin y refresco mediante HW

Aplicaciones sencillas con displays de 7 segmentos o matrices de leds. Un integrado


almacena en su memoria interna el contenido del display y refresca de forma
peridica los leds. El microcontrolador comunica los datos a representar. Los sistemas
suelen incorporar control de luminosidad.

Interfaz serie
10
Indicadores y displays: LCDs grficos
Incorporan interfaz serie o paralelo con el procesador, el display LCD y circuitos
drivers, memoria y controlador. El micro enva comandor (borrar, posicionar el
cursor) y los datos a representar.

11
Sistema de visualizacin en FPGA

Adquisicin
Control
y procesado Memoria
display

12
Placa de desarrollo Spartan 3E: Display LCD

datos LCD
Controlador
FPGA (ej: HD44780)

control Driver

Interfaz paralelo
Datos (comandos y caracteres): D7:D4 (interfaz de 4 bits)
Control: E, RS, RW
Otras entradas: VDD, VSS, VADJ

13
Comandos en controlador de display alfanumrico HD44780

14
Codificacin de datos en controlador de display alfanumrico

15
Placa de desarrollo Spartan 3E: Interfaz de video VGA

Figura de Spartan-3E FPGA Starter Kit Board User Guide Xilinx

16
Seales VGA

Figura de Spartan-3E FPGA Starter Kit Board User Guide Xilinx


17
Seales VGA

Adquisicin
Controlador
y Memoria
VGA
procesado

Figura de Spartan-3E FPGA Starter Kit Board User Guide Xilinx


18
Otros indicadores: alarmas sonoras

Generacin de seales de frecuencias audibles

Oc. 5 (Hz) Oc. 6 (Hz)


Do 523,25 1046,50
Do# 554,37 1108,73
Re 587,33 1174,66
Re# 622,25 1244,51
Mi 659,26 1318,51
Fa 698,46 1396,91
Fa# 739,99 1479,98
Sol 783,99 1567,98
Sol# 830,61 1661,22
La 880,00 1760,00
La# 932,33 1864,66
Si 987,77 1975,53 19
Interruptores, pulsadores, teclados

20
Interruptor (dos estados) Pulsador

Eliminacin de rebotes
(alternativas HW y SW)
+V

RPULL-UP

21
Teclados matriciales

22
Teclados matriciales
Inicio

Columnas = 0

Leer filas

Si No hay tecla
F0 filas = 1?
pulsada
F1
No
F2 Filas = 0
F3
Leer columnas
C3 C2 C1 C0
Decodificar
Fin
tecla

23
Teclados y ratones: Interfaz serie PS/2

Figura de Spartan-3E FPGA Starter Kit Board User Guide Xilinx


24
Teclados, pulsadores y barras capacitivos

Necesitan funciones de temporizacin +


conversin A/D mTouch evaluation kit Microchip

25
Captura de datos

26
Conversin A/D: Fundamentos
x(t)
y[n]
A/D
11001010

D/A Seal digital


Seal analgica

Una conversin A/D incluye:

- Discretizacin temporal

- Cuantificacin de amplitud

27
Muestreo de una seal continua en el tiempo
Clk, fm=1/Tm
|X(jw)|
x(t) x[n]

-BW BW f
x(n*Tm)=x[n]
x(t) |X(ejw)|

n
t -1 -2 -0.5 0.5 1 2
Tm=periodo de muestreo
f/fm

Frecuencia de Nyquist= mnima frecuencia de muestreo para evitar aliasing


= 2 *BW (velocidad mnima que permite detectar los cambios de signo)
28
Cuantificacin de amplitud

Hay un rango de tensiones que se divide en un nmero entero de niveles

Se comete siempre un error, que ser ms pequeo


si se usan ms niveles

111
Vin Cdigo Binario (N bits)  2N niveles 110
A/D 101
Vref*Cdigo=Vinerror 100
Vref 011
-1/2 VLSB error<1/2 VLSB 010
001
Tamao del escaln: VLSB=Vref/ 2N 000
Vin

29
Discretizacin de amplitud, error de cuantificacin

1 LSB

N 1
111
Vin = VQ bk 2 k +
Cdigo de salida binario

110
k =0
101
Error
100
011
010 Resolucin Relacin seal a ruido
001 6 bits 37.9 dB
000 8 bits 49.9 dB
0 Vref Vref 3Vref
Vref
4 2 4 10 bits 62.0 dB
Vin (V) 12 bits 74.0 dB

+ LSB 14 bits 86.0 dB


Error

0 16 bits 98.1 dB
- LSB

30
Discretizacin de amplitud (RESOLUCION):

La tensin se representa con un nmero de bits N, dando lugar a 2N combinaciones distintas que nos
permite representar 2N valores discretos de tensin
Rango de tensiones
analgicas posibles

Rango de tensiones
analgicas convertibles
0 FS
VREF- VREF+

(VREF+ VREF- ) voltios para


2N combinaciones binarias distintas
VQ
Tensin de cuantificacin VQ = (VREF+ VREF- ) / 2N = 1 LSB

(Cuantificacin)

31
Captura de seales digitales

Sensor
Salida f Microcontrolador
Salida PWM

En el dominio del tiempo:


Periodo de una seal peridica
Intervalo de tiempo que dura una seal
Tiempo que transcurre entre dos eventos

En el dominio de la frecuencia:
Frecuencia de una seal peridica
El nmero de eventos en un determinado periodo de tiempo

32
Medida de periodos

Intervalos de tiempo desconocidos

Seal de
periodo
conocido

Tiempo = Periodo conocido [s cuenta ] cuentas acumuladas

Resolucin ?
33
Medida de frecuencias

Ventana temporal de medida

Seal
desconocida

Frecuencia promedio = Tiempo conocido [s ] cuentas acumuladas

34
Generacin de seales

Conversin DA

Generacin de seal PWM

0
TON
T TON
DC = 100 (%)
T
PWM = Pulse Width Modulated (Modulacin por ancho de pulso)
DC = Duty Cycle (ciclo de trabajo)

Generacin de seal seales de control

Temporizadores
35
Control de motores de corriente continua


motor V

1
Funcin
0 interruptor

Controlador
Dispositivos externos

Sistema Digital basado en Microprocresador

Tensin Nominal 12V


Velocidad Nominal a 12V 120 rpm
Consumo sin carga 12V 60 mA
Consumo eje frenado 12V 1500 mA
Relacin engranajes 50:1
Fuerza de parada 8,87 kgcm
Peso 152 g
36
Control de motores de corriente continua
Directa 2 posiciones Inversa
V+ de freno V+

Q1 Q3 Q1 Q3

motor motor

Q2 Q4 Q2 Q4

V- V-
Medio puente en H
Periodo (T)
DC
1
Q4 0
1
Q3 0
1
Q2 0
1
Q1 0 37
Comunicacin serie

38
Arquitectura del sistema
Dispositivo
externo SPI
I2C

Dispositivo
externo
Bus local

Dispositivo Dispositivo RS232/485/422


externo externo SDI-12
Aplicacin CAN
embebida Zigbee (inalmbrico)

Red local Ethernet


Equipo Equipo
remoto remoto GSM

39
Buses locales

40
Interfaces de comunicacin serie sncronas

Maestro Esclavo/s
CLK

Estndar de comunicacin SPI (Serial Peripherical Interface)


Estndar I2C (Inter-Integrated Circuits)

41
Interfaz SPI: Caractersticas

Propuesto por Motorola

Seales:
SCK (Serial Clock)
SDI (Serial Data In) Maestro Esclavo
SDO (Serial Data Out) SCK SCK
SS (Slave Select) SDO SDI
(MOSI) (MOSI)
SDI SDO
(MISO) (MISO)
SS SS

 Full duplex (microwire es una variante half-duplex)


 HW y protocolo muy sencillo.

42
Interfaz SPI: Conexiones

En paralelo Daisy Chain

SDO requiere salida triestado

43
Interfaz SPI: Modos de funcionamiento
Dependen de:
Polaridad de la seal de reloj
Estado inactivo a nivel bajo
Estado inactivo a nivel alto
Fase del reloj
Bit en SDO antes del primer flanco de reloj
Bit en SDO tras el primer flanco de reloj

Modo Polaridad Fase


0 LOW BIT
1 LOW IDLE
2 HIGH BIT
3 HIGH IDLE

44
Interfaz I2C: Caractersticas Bsicas

Desarrollado por Philips Semiconductor,

Version 1.0 1992 Standard (100-Kbps), Fast (400-Kbps)

Version 2.0 1998 High Speed (3.4-Mbps)

Orientado a comunicacin de distintos integrados en una placa de circuito impreso

Caractersticas

Serie Sncrono 2 hilos (SDA, SCL)

Maestro-Esclavo Dispositivos identificados por una direccin


(7 bits o 10bits)

Bidireccional float high, driven low

45
Definiciones bsicas

Figura de The I2C-bus specification


Phillips Semiconductor 2002 46
Esquema de Conexin

Interfase Serie Sncrono dos hilos SCL (Serial CLock)


SDA (Serial DAta)

Maestro Esclavos
(Cada uno se identifica por su direccin)

SCL
SDA

1 2 3 n

Dos papeles distintos para los dispositivos en el Bus

Maestro / Esclavo Emisor / Receptor


47
Conexin a nivel fsico

Bidireccional SDA (Serial DAta) es una lnea bidireccional (SEMIDUPLEX)

Lneas en colector abierto

2,2K - 1K Fast/HighSpeed
4,7K Standard

float high, driven low

0 valor dominante
1 valor recesivo

Figura de The I2C-bus specification


Phillips Semiconductor 2002 48
TRANSFERENCIAS INICIO / FIN (Master)

START STOP
(S) (P)

49
TRANSFERENCIAS Acknowledge

A cada transferencia de 8 bits, se le aade un ltimo bit (bit 9) de ACK

BYTE DATA TRANSFER ACK

50
Formato de los mensajes (direcciones de 7 bits)

51
Bus Arbitration

52
Redes locales

53
Protocolos Standard de Comunicacin Serie

Num. Separacin Velocidad de Tx


Interfase Formato
Dispositivos max. (bits/seg)
RS-232 Serie Asinc. 2 15 30 m 20k

IrDA Serie Asinc. 2 2m 115k

SPI Serie Sinc. 8 3m 2.1M

I2C Serie Sinc. 40 5.5 m 400k

USB Serie Asinc. 127 5m 12M

54
RS232 Standard (EIA-232)

Origen del Standard RS232

Diseado para comunicar un sistema DTE con un sistema DCE.


DTE (Data Terminal Equipment) usualmente, un Ordenador
DCE (Data Communications Equipment) usualmente, un mdem

Empleando dos lneas de datos, TX (Transmisin) y RX (Recepcin)

Tx Tx
DTE DCE DCE DTE
Rx Rx

RS232 RS232

55
Norma RS-
RS-232: Niveles lgicos

Circuitos conversores de nivel: MAX232 (TTL a RS232 y RS232 a TTL)


56
Norma RS-
RS-232: Conectores

57
Norma RS-
RS-232: Formato de los mensajes

Al no existir reloj  Necesidad de sincronizar RX y TX


Velocidad de transmisin fija y predeterminada
Bits de comienzo y final

carcter

Qu es configurable en una comunicacin asncrona?


Velocidad de transmisin
Datos de 9 bits  Utilizacin de un bit de paridad
Nmero de bits de parada: 1, 1.5, 2
58
Seales del Protocolo RS232

Direccin
Nombre Funcin Comentario
DTE DCE

TD Transmitted data
Par de Datos
RD Received Data
RTS Request to Send
Par de Handshake
CTS Clear to Send

DTR Data Terminal Ready


Par de Handshake
DSR Data Set Ready
DCD Data Carrier Detect
Habilitan DTE
RI Ring Indicator

59
Norma RS-
RS-232: Conexin null
null--modem (para anular control de flujo)

DTE DTE

60
SDI-12: serial data interface at 1200 baud

SDI-12 se utiliza en aplicaciones con los siguientes requisitos:


Sistemas alimentados por bateras con mnimos consumos de corriente
Existe un nico equipo de lectura y varios sensores conectados en un solo cable.
smart-sensors: sensores basados en microprocesador que realizan algoritmos
complejos de calibracin u otro tipo de procesamiento.

www.sdi-12.org

61
SDI-12: serial data interface at 1200 baud

62
Comandos y respuestas (caracteres ASCII)

63
Deberes

Estudiar los componentes del circuito de captura analgica de la placa de desarrollo


(amplificador de ganancia variable y conversor AD).
Identificar el esquema de conexiones (paralelo o cadena).
Determinar el modo de la interfaz SPI.

64

Вам также может понравиться