Reporte Práctica 2

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 11

Reporte práctica 2.

Nombre: Jhojan Santiago Sanchez Moreno


Código: 1004756055

Marco teórico
Modos de conexión de un Dip-swicth a un microcontrolador.
Un dip-swicth en síntesis es un componente que alberga una conjunto de interruptores. Cuando se
usa un interruptor en cualquier circuito, ocurre que cuando el interruptor está abierto no existe un
estado definido de forma clara, es decir, es difícil para los circuitos lógicos distinguir si la entrada
es un uno o cero lógico. Para solucionar la problemática anterior existen las configuraciones pull up
y pull down, las cuales hacen posible los dos modos de conexión de un interruptor a un
microcontrolador.

Conexión pull up

En esta configuración se presenta una lógica inversa, es decir cuando el interruptor esta abierto, la
entrada del microcontrolador lee un 1 lógico. Del mismo modo cuando el interruptor se cierra la
entrada lee un cero lógico. Es importante mencionar que los microcontroladores JM60 de la familia
S08 de Motorola contienen resistencias pull down internamente, lo que resume los componentes de
la conexión dado que tales resistencias se pueden activar a través del código que se carga en el
microcontrolador.
Conexión pull down
En esta segunda configuración, se presenta una lógica directa, es decir, cuando el interruptor esta
abierto se interpreta un cero lógico en la entrada del microcontrolador. Por otro lado, cuando el
interruptor se cierra se ejecuta un 1 lógico en la entrada del microcontrolador. Dado que el
microcontrolador no cuenta con resistencias pull down internas esta configuración siempre debe
realizarse con elementos externos.

Modos de conexión de un led a un microcontrolador


Para el caso de la conexión de un led, existen dos formas, sumidero y fuente. En amabas
configuraciones se deben agregar resistencias que regulen la corriente que transcurre por el sistema
con el objetivo de proteger el led y no superar la magnitud de intensidad de corriente soportada por
los pines del microcontrolador.
Conexión fuente
En la conexión fuente, la corriente sale del pin hacia el led. La lógica es directa, es decir, cuando se
activa un uno lógico en la salida del microcontrolador, se enciende el led. Del mismo modo cuando
se presenta un cero lógico el led se mantiene apagado.

Conexión sumidero

En la conexión sumidero, la corriente pasa por el led y entra al pin del microcontrolador. La lógica
es inversa, cuando en la salida del pin existe un cero lógico el led se enciende. No obstante, cuando
se expresa un uno lógico en la salida del microcontrolador el led se mantiene apagado.

Información técnica relacionada con las líneas E/S del microcontrolador.


Niveles lógicos: Los niveles lógicos indican que rango de valores son tomados por las líneas del
microcontrolador como 1 lógico y 0 lógico. Según información extraída del datasheet
correspondiente al microcontrolador jm60 de la familia S08 del fabricante motorola, el nivel lógico
alto se encuentra en el rango Vdd – 0.70Vdd y el nivel bajo se posiciona en el rango 0.35Vdd – 0 V.
A continuación, se presenta una grafica que ilustra los rangos.

TABLA 1. Valores técnicos de los puertos del microcontrolador.

Parámetro Valor Unidad


Corriente máxima 25 mA
Resistencias Pull-up internas Min Típico Max KΩ
20 45 65
Tiempo de subida Slew rate Slew rate ns
activado Desactivado
75 40
Tiempo de bajada Slew rate Slew rate ns
activado Desactivado
35 11

Cálculo de resistencia de protección


Dado que sin importar el porcentaje de corriente máxima que se tome, el voltaje de activación del
led y el Voh del microcontrolador son constantes (siempre y cuando no se exceda la corriente
máxima), es posible obtener una expresión general que permite reemplazar el porcentaje de
corriente máxima que corresponde a la malla y determinar rápidamente el valor del resistor de
protección. La expresión mencionada es la siguiente:
VoH −V Led
R=
I
5−2
R=
I
TABLA2. Valores de R en base a diferentes porcentajes de Imax

Porcentaje de Imax Valor de R (Ω)


50% 240
75% 160
90% 133

Registros relacionados a las líneas E/S


Registro de dirección de datos: el microcontrolador tiene físicamente un numero determinado de
pines, este registro permite denominar tales puertos como salidas o entradas. Ambos puertos pueden
realizar ambas funciones, es decir, un puerto en una aplicación puede ser salida y en otra puede
operar como entrada.
Registro de datos: permite conocer o modificar algún bit que se encuentre dentro de una posición
de memoria. Es decir, permite saber si el estado lógico en tal bit es uno o cero lógico, o en caso
contrario, permite modificar el estado del bit.
Registro de activación de resistencias pull-up internas: Como se explicó con anterioridad, al
conectar un interruptor al microcontrolador debe ir acompañado de resistencias pull-down o pull-
up. Con el propósito de ahorrar elementos es posible usar las resistencias pull-up internas por medio
de este registro en el código del programa a utilizar.
Registro de activación de alta corriente: los pines del microcontrolador tienen establecidos dos
modos de corriente, baja intensidad (4mA) y alta intensidad (15mA). Según la aplicación que se
realice se puede necesitar un modo de baja o alta corriente que debe ser activado por medio del
código a través de este registro.
Registro para la activación del slew rate: Cuando el microcontrolador se emplea en aplicaciones
que requieren un funcionamiento a altas frecuencias, se puede presentar cierta interferencia
electromagnética que afecta la operación del dispositivo. Para reducir el efecto de lo anterior se
activa el modo Slew rate, por medio de este registro a través del código de la aplicación.

ANALISIS PARA IMPLEMENTACION DE CODIGOS.


Tabla de verdad de la situación planteada.

Entradas del sistema Salidas del sistema


n1 (sensor n2 (sensor b1 (sensor b2 (sensor m1(bomba m2 (bomba 2)
pozo de pozo de superior inferior del 1)
bomba 1) bomba 2) del depósito)
depósito)
0 0 0 0 0 0
0 0 0 1 0 0
0 0 1 0 No aplica (no es lógico)
0 0 1 1 0 0
0 1 0 0 0 1
0 1 0 1 0 1
0 1 1 0 No aplica (no es lógico)
0 1 1 1 0 0
1 0 0 0 1 0
1 0 0 1 1 0
1 0 1 0 No aplica (no es lógico)
1 0 1 1 0 0
1 1 0 0 1 1
1 1 0 1 1 0
1 1 1 0 No aplica (No es lógico)
1 1 1 1 0 0

Diagrama de bloques
Diagrama del circuito

Con lo anterior es posible iniciar las tres estrategias para la elaboración de los códigos.

Primera estrategia:
Las expresiones lógicas de las salidas son las siguientes:
m1=n 1 b 1
m 2=n 2 b 1b 2+ n1 n 2 b 1

En términos de programación las anteriores expresiones se traducen en:


PTA5 = PTA3&(~PTA1)
PTA4 = (PTA2&(~PTA1)&(~PTA0)) | ((~PTA3)&PTA2&(~PTA1))

Diagrama de flujo resultante de la primera estrategia:

Teniendo claro lo anterior es posible realizar el código de la primera estrategia.

Segunda estrategia:
Para esta segunda estrategia se presentan las expresiones canónicas de cada una de las salidas
(m1,m2) del sistema.

m1=n 1 n2 b 1 b 2 (1000 )+ n1 n 2 b 1 b2 ( 1001 ) +n 1 n2 b 1 b 2 (1100 )+ n1 n 2 b 1 b 2(1101)


m 2=n 1 n 2b 1 b 2 ( 0100 ) +n 1 n2 b 1 b 2 ( 0101 ) + n1 n 2 b 1b 2(1100)
Por lo tanto, se tienen las siguientes expresiones a validar en el código:
m1(n1, n2, b1, b2) = 1000+1001+1100+1101= m8+m9+m12+m13
m2(n1, n2, b1, b2) = 0100 + 0101 + 1100 = m4 + m5 + m12
Lo anterior permite definir todas las entradas como un numero binario de 4 bits y en base a tal
número definir un uno lógico en las respectivas salidas m1 y m2 siempre y cuando tal número
corresponda a un min termino definido en las expresiones previas. De lo contrario el resultado en
las salidas corresponderá a un cero lógico.
Diagrama de flujo resultante de la segunda estrategia:

Teniendo claro lo anterior es posible realizar el código de la segunda estrategia.

Tercera estrategia:
Para esta estrategia se desea recrear la tabla de verdad previamente realizada en el código. Con esta
lógica, las entradas se resumen en ingresar la posición de la tabla que hace referencia a la
disposición de bits que se necesitan ubicar en el registro de datos de los puertos correspondientes
para el correcto funcionamiento del programa. La tabla y organización de los datos seria la
siguiente:
Se observa que las posiciones donde existe un uno lógico en alguna de las dos salidas corresponde a
un uno lógico en el bit correspondiente al puerto de cada salida, de esta forma al ingresar las
diferentes configuraciones de entrada, se genera la posición que corresponde a la distribución de
datos que debe ocurrir en el puerto A.

Diagrama de flujo resultante de la tercera estrategia:

Teniendo claro lo anterior es posible realizar el código de la tercera estrategia.


Comparación de los códigos.
Los tres códigos realizan la misma función, no obstante, hay factores que los diferencias, como la
dificultad de su implementación, su tamaño y el contexto de la situación a solventar.
En términos de implementación la estrategia 1 y 3 fueron las mas fáciles. En el caso de la estrategia
1 solo se debe programar la expresión lógica, la cual en varios casos es entregada lo que simplifica
el análisis. En el caso de la estrategia tres se debe implementar un código netamente basado en la
tabla de verdad de la problemática, siendo esta el primer paso a seguir cuando se realiza un análisis
lógico de cualquier situación. Es pertinente mencionar que si se tienen mas de 4 variables, la
trascripción de la tabla de verdad al código puede ser una labor tediosa.
En el caso del tamaño, un factor determinante dado que al trabajar con microcontroladores es vital
optimizar la memoria, la estrategia 3 presento una compilación del código menor que el resto de las
estrategias. La estrategia 1 ocupo 98 espacios de memoria, la estrategia 2 ocupo 57 espacios de
memoria y finalmente la estrategia 3 ocupo 43 espacios de memoria (contando la tabla, que se
definió como variable global).
Es complicado definir una estrategia que sobre todas las situaciones y factores sea la mejor opción,
en el caso de la problemática desarrollada en esta segunda practica de laboratorio, la estrategia 3 es
la mejor, dado que su implementación fue simple y el código generado obtuvo un menor peso
respecto a las otras estrategias. No obstante, según la situación la estrategia 1 y 2 pueden resultar ser
mejores opciones.

También podría gustarte