ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Practica Sistemas Digitales

yurgensuarez16 de Septiembre de 2014

2.764 Palabras (12 Páginas)380 Visitas

Página 1 de 12

Planteamiento del problema

Se pide diseñar e implementar una alarma domestica que monitorize

varias señales governadas por sensores tales como detección de fuego, fugas

de agua e intrusiones. Dicha alarma se especifica en el enunciado en forma de

dos bloques generales: el primero se ocupa de detectar un código numérico

tecleado por el usuario mientras que el segundo se encarga de gestionar las

accionesdela propia alarma.

Se ha decidido partir el problema en varios sub-bloques para disponer de

un diseño modular más limpio y mantenible facilitando así las tareas de

depuración y mantenibilidad. Dichos bloques se describen en el apartado

“diagrama de bloques”.

Cabe destacar en este punto los estados o modos que soporta la alarma y

que se activan/desactivan en función de claves introducidas por el usuario.

Dichosmodosson:

– AV:Clavede activacióndelmodo M1.

– AA:Clavede activacióndelmodo M2.

– AAT:Clavede atraco.

– DA:Clavede desactivaciónde laalarma.

Por otraparte,lasseñales relevantes del sistema seenumeranyexplican

acontinuación:

– PP: Indicasi lapuertaprincipalha sido abierta

– AP:Vale“1”sialgunaventanao puertadiferente de laprincipalse

encuentraabierta,0encaso contrario.

– SF:Se activaen casode detectarsefuego.

– SG:Avisasobrelapresenciade una fugade gas.

– SA:Informaencaso de detectarseun escapede agua.

El sistema debe ser capaz de gestionar una serie de situaciones que se

especifican claramente en el enunciado. También se detalla en el enunciado el

cómo realizar llamadas telefónicas una vez detectada una de las situaciones

antes citadas.

Diagrama de bloques

La captura de pantalla siguiente muestra el “top” schematic del proyecto,

con todos los módulos interconectados y los signals de entrada/salida

mapeadospor las contraints.

Enumeramos seguidamente una breve descripción de las funciones de

cada módulo, así como el fichero de constraints resultante, cada módulo se

verá com más detalleenla sección “Bloquesusados”:

1) Reloj de múltiples frecuencias: El circuito dispone de necesidades

variables en cuanto a tiempos de reloj. Este módulo proporciona 4

frecuenciasderelojdistintas apartirde laquefacilitalaplaca(50Mhz).

2) Detección de código: Sirve para permitir o denegar las claves de

activación/desactivaciónde laalarma.

3) Anti-rebotes: Proporcionado ya implementado en la práctica, sirve para

evitarseñales residualespormalos contactosenlos pulsadores.

4) Núcleo: Parte central del diseño, se encarga como se ha dicho antes, de

toda la lógica de estados inherente de la alarma (control de modos,

activacióndesenyales de alarma,activaciónde llamadas,etc..).

5) Temporizador: Hace posible cumplir con los requistos del enunciado

referentes a esperas para activar/desactivar estados en la alarma (T1 &

T2).

6) Llamadas: Ejecuta el tren de pulsos para realizar las llamadas según el

tipo de alarma que ha sido activado, previo direccionado del número que

se encuentraenel módulo memoria.

7) Memoria: Almacena los números de teléfono a los que llamar en caso de

atraco,fuego, fugade gaso de agua.

Elementosfísicos delaplaca (constraint.ucf)

El fichero de contraints(constraint.ucf) asocialasconexiones físicas de la

placa Spartan3con losnombres lógicos de las entradas y salidas. Después de

cambiaralguno de estos aliasycomentar los queno necesitábamos, queda de

la siguiente forma:

######################################

# Constraint file for Spartan3 Board #

######################################

#---------------------#

# Seven Segments

#---------------------#

NET "SEL3" LOC = "E13"; # Select one of the four 7 segments

NET "SEL2" LOC = "F14"; #

NET "SEL1" LOC = "G14"; #

NET "SEL0" LOC = "D14"; #

NET "A" LOC = "E14"; # A

NET "B" LOC = "G13"; # ----NET "C" LOC = "N15"; # F -> | | <- B

NET "D" LOC = "P15"; # | G |

NET "E" LOC = "R16"; # ----NET "F" LOC = "F13"; # E -> | | <- C

NET "G" LOC = "N16"; # | D |

NET "DP" LOC = "P16"; # ---- . <- DP

#---------------------#

# Switches

#---------------------#

#NET "SW0" LOC = "F12";

#NET "SW1" LOC = "G12";

#NET "SW2" LOC = "H14";

#NET "SW3" LOC = "H13";

#NET "SW4" LOC = "J14";

#NET "SW5" LOC = "J13";

#NET "SW6" LOC = "K14";

#NET "SW7" LOC = "K13";

#---------------------#

# Push Buttons

#---------------------#

NET "BTN0" LOC = "M13";

NET "BTN1" LOC = "M14";

NET "BTN2" LOC = "L13";

NET "BTN3" LOC = "L14"; # User Reset button

#---------------------#

# LEDs

#---------------------#

#NET "LED7" LOC = "P11";

#NET "LED6" LOC = "P12";

#NET "LED5" LOC = "N12";

#NET "LED4" LOC = "P13";

#NET "LED3" LOC = "N14";

NET "LED2" LOC = "L12";

NET "LED1" LOC = "P14";

#NET "LED0" LOC = "K12";

#---------------------#

# Clocks

#---------------------#

NET "CLK" LOC = "T9"; # 50Mhz clock

NET "SCLK" LOC = "D9"; # Socket clock

Descripción general

Parapoderutilizarla alarma,el usuario ha de seleccionarmediante

tecladoel modo de trabajoenel que quiere que funcione (M1 o M2); si no,

aunqueintroduzcaloscódigos de desactivaralarma(DA) o antiatraco (AAT)

no se activaráningunaseñal de alarmani serealizará ningunallamada

telefónica.

El sistemase pone en marcha mediante pulsadores;la entrada quellega

desde los pulsadores pasa por una bateríade filtros antirebotes paraevitar

unadetecciónerróneadelaspulsaciones. Una vezfiltradala entrada se

detectael código introducidomediante unbloque de estados (ACCESO). En

caso de ser un código correcto, se informaaotro bloque de estados

(NUCLEO)que, en función del código introducido funcionaráen unode dos

posibles modosde trabajo:

– En el modo detrabajoM1 laalarmacontrolaráincidenciasde tipono

intrusivomediantesensores externos;encaso de ocurrir unevento (ya

seauna fugade gas,aguao unincendio) el sistemaactivaráuna alarma

(AL1)que avisaalusuario. Además el sistemamarcaráelnúmero de

teléfono correspondiente alaincidenciamedianteun tren depulsos.

– En el modo detrabajoM2 laalarmacontrolatodo tipo de incidencias, ya

que se supone que el localestavacío.Incluyetodas las delmodoM1.

En el momento de la activar el modo M2 el sistema esperadurante una

temporización(T1ON) en laque nose controla el sensor deaperturade

puertaprincipal (PP), esto permite alusuario abandonar el local;por otro

lado,si la alarma estáfuncionando en modo M2 y unusuario entraenel local,

éste dispondráde untiempo (T2ON)paradesactivarla,ya que sinó se pondrá

enmarchala señal (AL2) que indicaquealguien que no conoce el códigode

desactivaciónha entrado;como puede darse el caso de queelusuario se

equivoqueal introducir elcódigo de desactivación,el marcadode lallamada

por robo no se produce (pero sí la señal AL2)hasta que el usuariointroduce

elcódigo AAT.

En el hipotético caso deque el usuario que conoce la clavede DA fuera

forzado a desactivarla alarma,éste puede intoducir el código AATen

cualquier momento (incluso si estáactivado yaAL2), conesto parará el AL2

pero segenerará una llamada telefónica(NROB).

Si mientras el sistemaestátrabajandoen cualquiera de los dos modos

ocurre unaindicencia(fuga de gas por ejemplo), se detectael problema yse

activala marcación del número de teléfono correspondiente medianteun

bloquedeestados(LLAMADAS) queva generando pulsosenfunción de un

número deteléfono que se encuentraalmacenado en una memoria

direccionadapor los bloquesLLAMADASyNUCLEO.

Bloques usados

A continuación sedetallael proceso que hemos seguido para

...

Descargar como (para miembros actualizados) txt (20 Kb)
Leer 11 páginas más »
Disponible sólo en Clubensayos.com