Está en la página 1de 3

1

Práctica # 2
Linear Feedback Shift Register
Universidad de San Carlos de Guatemala, Facultad de Ingenierı́a, Escuela de Mecánica Eléctrica
Laboratorio de Microcontroladores. Primer Semestre 2018. Aux. Lucı́a Wolford

I. O BJETIVOS
I-A. General
Para habilitar y configurar el periférico GPIO
Aplicar los conocimientos del laboratorio de
del controlador, es necesario realizar los siguientes
Microcontroladores.
pasos:

I-B. Especı́ficos Habilitar el reloj para el periférico.


Comprender el funcionamiento de los periféri- Habilitar el puerto a utilizar.
cos del controlador TM4C123GH6PM. Escoger los pines que funcionarán como entra-
Utilizar el vector de interrupciones apropiada- das o salidas.
mente. Para tipo entrada, configurar resistencias pull-
Implementar un registro de desplazamiento up o pull-down.
con realimentación lineal. Si es salida, configurar el drive strength para
variar el slew rate de la señal.
II. M ARCO T E ÓRICO
II-A. Entradas y Salidas de Propósito General II-B. Temporizador de Propósito General (GPTM)
(GPIO) Un GPTM es un modulo encargado de realizar
Los GPIO, son pines sin propósitos especı́ficos conteos para controlar por tiempo la ejecución de
definidos cuyo comportamiento puede controlarlo algún evento. Los temporizadores funcionan por
el usuario. Un puerto GPIO es un grupo de medio del aumento o decremento de un registro
pines GPIO ordenados y controlados como grupo, de tamaño especı́fico, puede ser ascendente o
generalmente de 8 pines. Si la configuración es descendente. Cuando un temporizador llega a su
de entrada, entonces introducen datos externos valor final, puede configurarse para generar un
al sistema digital para realizar su procesamiento aviso, permitiendo el control de acciones y eventos
correspondiente, de igual forma, si se configuran dependientes del tiempo de forma precisa.
como salidas, recibirán la información procesada
por el sistema y se encargarán de su reproducción Modos de Funcionamiento:
en el medio externo. Disparo Único (One-Shot)
Periódico
II-A1. GPIO en Controlador TM4C123GH6PM: RTC (Real Time Clock)
El módulo GPIO provee control sobre 8 pines in- Contador de flancos
dependientes en cada puerto. El controlador cuenta
con 6 puertos (nombrados de A hasta F). Cada pin
se puede configurar con los siguientes parámetros: II-B1. GPTM en Controlador TM4C123GH6PM:
Configuración como entrada o salida. El módulo de temporizador provee dos contadores
En modo entrada, puede generar interrupcio- de media amplitud que pueden operar de forma
nes con distintas configuraciones. independiente o combinada, para generar un
En modo salida, puede configurarse el slew contador de amplitud completa. Los contadores
rate de la señal. de media amplitud se les refiere como Timer A
Posee opción para resistencias pull-up y pull- y Timer B. Puede configurarse temporizadores
down. de 16 bits de media amplitud y un temporizador
Posee opción para operación open-drain. de 32 bits de amplitud completa. Ası́ mismo,
2

puede trabajarse con dos temporizadores de 32 III. L INEAR F EEDBACK S HIFT R EGISTER (LFSR)
bits combinados para generar un temporizador Un registro de desplazamiento es un circuito
de amplitud completa de 64 bits. Para habilitar y secuencial que controla la forma en que se cargan
configurar el GPTM deben realizarse los siguientes y acceden a los datos que se almacenan. La
pasos: capacidad de almacenamiento de un registro es
el número total de los bits contenidos en él. Para
Habilitar el periférico del temporizador a uti- su funcionamiento es necesario sincronizar una
lizar. señal de reloj, por lo general se incluye una señal
Escoger el modo de funcionamiento del tem- de reset ası́ncrona que pone todas las salidas
porizador. en estado bajo simultáneamente para limpiar el
Cargar el valor al temporizador y seleccionar registro.
su amplitud.
Habilitar el temporizador. Un LFSR es un registro de desplazamiento
con retroalimentación lineal, lo cual se refiere a
que la entrada es un bit obtenido a través de
II-C. Controlador de Interrupciones Anidadas transformaciones lineales del estado anterior. El
(NVIC) valor inicial del registro se le conoce como semilla,
El controlador de interrupciones anidadas es el la secuencia posee un periodo de repetición, lo
periférico encargado de manejar las interrupciones que significa que vuelve a generarse y se repite
del sistema. Una Interrupt Request (IR) es una indefinidamente, ası́ mismo cuando ese periodo
señal recibida por la unidad de procesamiento que de repetición es máximo, entonces el LFSR posee
le indica la interrupción del curso de la ejecución interés criptográfico.
actual para dedicarse a ejecutar un método
encargado de tratar la situación. Las interrupciones Los cifrados de flujo actuales utilizan
surgieron para evitar el polling, respondiendo a una sucesión de bits generados de forma
las solicitudes de los periféricos, sin necesidad de pseudoaleatoria, dicha generación puede realizarse
sensar constantemente los dispositivos periféricos. a través de la aplicación de un LFSR, ya que se
El proceso que realiza una interrupción en el implementan fácilmente en hardware. Un ejemplo
sistema es el siguiente: de cifrado de flujo LFSR es el sistema de cifrado
A5/1 estandarizado para cifrado en voz en las
Terminar la ejecución de la instrucción actual. redes GSM. Sin embargo, si se utiliza un LFSR
Guardar el estado del procesador y el valor del para cifrado de flujo, la seguridad es baja ya que la
contador de programa en la pila. De forma que llave es el estado inicial del registro, por lo que por
pueda seguir ejecutando el programa a partir ingenierı́a inversa pueden descifrarse el mensaje.
de la última instrucción, después de atender la
interrupción.
El procesador salta a la dirección donde se
encuentra la rutina de servicio de interrupcion
(ISR) y la ejecuta.
Al terminar la rutina de la interrupción, el
procesador restaura el estado guardado en la
pila y retorna al programa anterior.

II-C1. NVIC en Controlador TM4C123GH6PM:


Para habilitar una IR en el controlador, es necesario
realizar los siguientes pasos:
Habilitar las interrupciones globales.
Habilitar la interrupción del periférico a usar.
Establecer el nivel de prioridad de la interrup-
ción.
Generar la rutina de interrupción.
Agregar la rutina al vector de interrupciones.
3

IV. D ESCRIPCI ÓN DE LA P R ÁCTICA


1. Descargar el archivo con el material para rea-
lizar la práctica 2.
2. Investigar el funcionamiento de un LFSR.
3. El LFSR debe ser de 8 bits, de los cuales se
escogerán 3 bits para ser mostrados en el LED
RGB de la tarjeta cada T segundos.
T = (500 + 100 ∗ n)ms (1)
4. La semilla debe ser tomada de 8 de los 14 bits
menos significativos del timer de propósito
general que utilicen. Será cargada dicha semi-
lla cuando se presione el push F0 de la tarjeta.
5. Al cargarse la semilla, debe de programarse
un indicador visual, haciendo oscilar uno de
los LED 4 veces durante 1 segundo. Después
de dicho indicador, comenzará a funcionar
con la nueva semilla y el tiempo indicado.

V. F ORMATO DE E NTREGA
1. Debe de incluirse entre las expresiones a mos-
trar, tanto la carga de la semilla, como el valor
de los bits de cada LED.
2. Presentar impreso el código fuente utilizado
para desarrollar la práctica.
3. La práctica es INDIVIDUAL y deben de en-
tregarla únicamente al auxiliar del curso.

NO se reciben prácticas, circuitos, investigaciones


y tareas tarde.

R EFERENCIAS
[1] Desarrollo del curso Introducción al Diseño de Sistemas Em-
bebidos, utilizando el controlador TM4C123GH6PM como
actualización del Laboratorio de Microcontroladores
Autor: Ing. David Josué Barrientos Rojas

También podría gustarte