Señal de campana de llamada entrante
2.6 Sistema de control de comunicaciones
Se desea diseñar un sistema electrónico capaz de manejar un teléfono celular, así que se tomará como base el diagrama de un celular, concentrándonos en el modulo lógico de control de un celular (explicado en el capitulo 1) para el diseño de este circuito de control de comunicaciones.
Como se puede observar en la figura 2.6.1, el modulo lógico de control es básicamente una pequeña computadora, en donde el bloque encargado de la lectura del teclado (escaneo de teclas) y de controlar los mensajes que aparecen en el display es un circuito de aplicación especifica integrada (ASIC), dicho bloque envía una señal de barrido línea a línea dentro de la matriz y lee el estado de las columnas para ver si ocurrió una opresión de tecla.
La única parte del (ASIC) a la cual se puede obtener acceso directamente, es la parte que corresponde a las salidas y entradas que conforman la matriz del teclado telefónico, ésta consta de líneas de salida y columnas de entrada. Al oprimir una tecla, esta conecta una línea con una columna, el ASIC detecta el cierre y apertura de teclas en su matriz numérica. En base a esto se construyó un sistema que conmute estas líneas y columnas, como si se hiciese de forma manual, pero con la ventaja de que este conmutador electrónico de matriz se puede controlar desde un sistema externo.
1 2 3 4 5 6 7 8 9 * 0 # Pantalla d e LC D Co ntrolador de LCD C.I. Controlador de Pantalla y Teclado de celular (ASIC) Teclado Matricial
Modem
RAM PROM CPU EPROM Generador de DTMF Control Señales de DTMF hacia el módulo de AF Señales de control al módulo de RF Señales de control al módulo de AF Señales de informació n al módulo de AF Señales de informació n al módulo de AF Direcciones DatosFigura 2.6.1 Módulo Lógico de control de un teléfono celular
Las salidas de este modulo es la matriz del teclado, aquí se conectó el sistema de control de comunicaciones
La primera cosa que hay que obtener es la configuración de la matriz del teléfono, y después habrán de caracterizarse cada una de las señales de dicha matriz para ver la mejor opción para realizar dicho conmutador matricial. Para obtener la matriz telefónica primero han de seleccionarse las teclas que han de tomarse en cuenta para los propósitos de automatización, las cuales son, los números del 0 al 9, incluyendo #, * CLEAR, END, SEND. Las demás teclas si las hubiere, no se toman en cuenta por el hecho de que no son necesarias para el marcaje, contestación y terminación de una llamada telefónica. En la mayoría de los teléfonos la matriz telefónica se obtiene por inspección visual y algunas pruebas de continuidad eléctrica, Para ello primero hay que destapar el teléfono y extraer la membrana que forma el teclado numérico.
A continuación se muestra en la figura 2.6.2, la disposición de la matriz encontrada en el teléfono celular NOKIA 980
X1 X2 X3 X4 Y1 Y2 Y3 Y4 1 2 3 4 5 6 7 8 9 * 0 # CLR END SEND NO.EXISTE
Figura 2.6.2 Matriz encontrada en el teléfono celular NOKIA 980.
Se puede observar que la matriz del teléfono se puede formar con 15 conmutadores que interconecten electrónicamente las columnas X con los renglones Y, así como también el resultado que se obtiene en el teléfono al interconectar un reglón y columna específicos. Es de vital importancia conocer el tipo de señales que se encuentran en esta matriz del teléfono celular ya, que esto nos permitirá el diseñar el sistema más apropiado para la conmutación de esta matriz.
Señal eléctrica de la matriz del teléfono celular
Como se mencionó anteriormente es necesario conocer las características de las señal que se maneja en la matriz del teclado, para poder diseñar el sistema de conmutación matricial. Y también se debe de saber cuando existe una llamada entrante, el tipo de señal que genera y como manejarla.
Señal presente en la matriz numérica del teclado matricial telefónico
Parámetros importantes:
• Frecuencia de barrido • Niveles eléctricos
Esta señal es de sumo interés puesto que se construirá un circuito que permita la marcación automática, se deben de respetar los niveles eléctricos presentes en la matriz del teclado, básicamente se pretende crear una matriz electrónica de conexión que maneje estas señales. A continuación se muestra en la figura 2.6.3, el oscilograma obtenido en la matriz numérica.
Figura 2.6.3 Oscilograma proveniente de la matriz numérica
En la figura anterior, se observa que la señal en la matriz tiene una amplitud de 3.4V y Ranuras estado lógico “0”, de cero volts con duración de 22.8 microsegundos. Las especificaciones de voltaje deben de respetarse, es decir si a las entradas de la matriz numérica se aplica por ejemplo 5V estas pueden dañarse. Lo anterior descarta el uso de lógica TTL, ya que al superar este voltaje se puede dañar el circuito manejador de matriz ASIC. Para evitar daños, se utilizaron interruptores analógicos electrónicos (circuito integrado CD4066), que es un circuito que contiene 4 interruptores analógicos en un solo chip. Este circuito integrado puede alimentarse con voltajes que van desde los 3V hasta los 20 Vcc y por lo tanto el voltaje de entrada en cada interruptor puede estar entre el valor de 0 hasta un máximo equivalente al voltaje de alimentación. Para una señal de entrada de 3.4 Volts, es suficiente con alimentar el circuito a 5 volts.
A continuación se muestra en la figura2.6.4, la disposición de estos interruptores en el circuito integrado así como la conformación interna de cada interruptor, la información fue obtenida de las hojas de especificaciones del fabricante. [8]
En este oscilograma se muestra que existe un ancho de pulso de 22.8 microsegundos
Figura 2.6.4 Circuito integrado 4066 cuádruple interruptor analógico
Al manejarse 15 señales distintas se requieren 15 interruptores analógicos, los cuales podremos bien encontrar en 4 circuitos integrados 4066, sin embargo, si se interconectasen estos 15 interruptores de forma directa a un microcontrolador, se requerirían de 15 terminales de control, es decir una línea de control por cada interruptor.
Esto primeramente hace pensar en la posibilidad de reducción de líneas para manejar estos interruptores, para ver si esto es posible se debe responder la pregunta siguiente.
¿Cuantos interruptores deberán ser operados de manera simultanea en un sistema conmutador de marcado telefónico? La respuesta es: Para marcar cualquier número telefónico NO existe la necesidad de oprimir 2 ó más teclas de forma simultanea. Esto abre la posibilidad de reducir el número de líneas de control de 15 a solo 4 mediante el uso de un demultiplexor de 1 a 16 líneas.
Buscando un circuito de tal característica y de tecnología CMOS para conservar el consumo lo más bajo posible, se encuentra que el circuito integrado MC14067B, que satisface la posibilidad de controlar directamente los 15 interruptores mediante solo 4 líneas de control, ya sea activando un cero ó un uno en la salida seleccionada, esto ventajoso ya que nos permite configurar el estado activo de las salidas y por lo tanto la conexión totalmente directa entre las salidas del multiplexor/demultiplexor y los interruptores analógicos.
A continuación se muestra la tabla de verdad de dicho multiplexor/demultiplexor analógico. Tabla 2.6.1 Tabla de verdad del circuito integrado MC14067B
Entradas de control Canal
A B C D Inh Seleccionado X X X X 1 Ninguno 0 0 0 0 0 X0 1 0 0 0 0 X1 0 1 0 0 0 X2 1 1 0 0 0 X3 0 0 1 0 0 X4 1 0 1 0 0 X5 0 1 1 0 0 X6 1 1 1 0 0 X7 0 0 0 1 0 X8
1 0 0 1 0 X9 0 1 0 1 0 X10 1 1 0 1 0 X11 0 0 1 1 0 X12 1 0 1 1 0 X13 0 1 1 1 0 X14 1 1 1 1 0 X15
Como se puede observar en la tabla 2.6.1, las condiciones de operación de este circuito son las siguientes:
Línea de INHIBIT debe mandarse a tierra para poder seleccionar un canal, mientas que la línea OUT/IN debe mandarse a uno lógico para que al seleccionar un canal, se obtenga un uno a la salida seleccionada , es decir el circuito se esta usando como un demultiplexor, esta salida con valor de uno lógico se conecta directamente a cada una de las líneas de control de los 15 interruptores analógicos CD4066, así se reduce la necesidad de 15 líneas de control a solo 4 líneas, que ahora son A,B,C,D. También es necesario conocer su disposición interna y terminales asociadas, las cuales se muestran en la figura 2.6.5, obtenida de las hojas de especificación del fabricante [9]
Figura 2.6.5 Disposición de las terminales del circuito integrado MC14067B
Así que lo que se tiene, es un arreglo de 16 interruptores de tipo analógico controlados a través de 4 bits, cada interruptor se selecciona mediante el código binario correspondiente. Cada salida Xn interconecta un renglón y una columna de la matriz del teléfono.
Utilización de comunicación serie síncrona
Se pretende reducir aún más el número de entradas requeridas por el sistema a través de un registro de corrimiento de entrada serie y salida en paralelo, (reducción 4 a 2), todo esto se puede hacer si se anexa un circuito integrado 74HC164. y se conecta este, al multiplexor/demultiplexor MC14067. de esta manera tenemos solo 2 líneas requeridas para
el control de marcaje. Una línea de datos serie y una línea de reloj de sincronía.
Para poder tener una comunicación serie con este registro de corrimiento, se utilizará la interfaz periférica sincronía SPI del microcontrolador, la forma en que se programa la interfaz periférica serie depende de los requerimientos eléctricos del registro de corrimiento A continuación mostramos en la tabla 2.6.2, los niveles lógicos que se obtienen del 74HC164 obtenidos de las hojas de especificación del fabricante [10] del circulito integrado así como su diagrama interno.
Tabla 2.6.2 Tabla de verdad del 74HC164
De la tabla de verdad se desprende que para que exista entrada de datos serie se requiere que el reloj envíe un flanco ascendente a la línea de reloj de este circuito, mientras la línea clear se mantiene el alto, así mismo se puede observar en la figura 2.6.6, en el diagrama de bloques de este registro, que podemos escoger entre las líneas de entrada de datos A ó B de forma indistinta, cualquiera que se escoja funciona de igual manera mientras que la línea no utilizada se deberá mandar a uno lógico, dado que se trata de una compuerta “Y”.
Figura 2.6.6 Diagrama a bloques internos del registro de corrimiento 74HC164 Datos de salida del microcontrolador al control de comunicaciones.
Así la salida (MOSI) del microcontrolador será la entrada de datos del registro de corrimiento 74HC164, el cual además de convertir los datos de formato serie a paralelo, almacena el dato en sus salidas, el microcontrolador envía 1 byte por comando, pero solo se ocupan 4 bits para alimentar al Multiplexor/Demultiplexor analógico MC14067 el cual manda un uno lógico a la salida Xn, activando con esto el interruptor correspondiente. Al
activarse dicho interruptor se interconecta una línea Y, con una columna X, introduciendo un digito al teléfono.
A continuación, en la tabla 2.6.3, se resume la correspondencia entre salida del microcontrolador y la tecla detectada en el teléfono.
Tabla 2.6.3 Correspondencia entre dato de entrada y tecla conmutada en el teléfono
Dato de salida en el SPI HC11
Salida 14067 Conexión 4066 Tecla/Función
0 X0 X1,Y1 Dígito 1
1 X1 X1,Y2 Dígito 2
2 X2 X1,Y3 Dígito 3
3 X3 X1,Y4 Tecla Clear
4 X4 X2,Y1 Dígito 4
5 X5 X2,Y2 Dígito 5
6 X6 X2,Y3 Dígito 6
7 X7 X2,Y4 Tecla Send
8 X8 X3,Y1 Dígito 7
9 X9 X3,Y2 Dígito 8
10 X10 X3,Y3 Dígito 9
11 X11 X3,Y4 Tecla End
12 X12 X4,Y1 Tecla *
13 X13 X4,Y2 Dígito 0
14 X14 X4,Y3 Tecla #
15 X15 X4,Y4 Ninguna tecla
De esta forma se automatiza el marcado del teléfono utilizando la interfaz periférica serie conectada al sistema de control de comunicaciones, requiriendo par ello solo 2 bits. Además de esto, la tarjeta de control de comunicaciones deberá de ser capaz de detectar tonos DTMF presentes en el canal acústico del celular.
Requerimiento de detección DTMF
El prototipo requiere poder ser comandado vía remota desde cualquier teléfono utilizando los tonos duales (DTMF) que se generan en cualquier teléfono moderno, dichos tonos pueden ser decodificados y convertidos en un numero binario, esto implica la posibilidad de crear un sistema de comando vía remota
Es importante el conocimiento de la señal DTMF presente a la salida de la bocina del teléfono celular, cuando esta es enviada desde un teléfono remoto, y así tener una idea del ruido presente y la amplitud de dicha señal, por ello se obtuvo el oscilograma correspondiente, el cual se comenta a continuación.
Señal Dual Tone Multifrequency (DTMF)
La señal DTMF es la obtenida en la salida del celular (bocina) cuando se recibe una señal Dual Tone Multifrequency que corresponde a otro teléfono (en una llamada al celular) oprimiendo cualquier tecla en el teléfono remoto. Para este oscilograma se utilizó la tecla
cero.
Por el tipo de oscilograma obtenido (ver figura 2.6.7.), se muestra claramente una señal muy limpia y con una amplitud bastante grande 3.4 Vpp, la cual se puede alimentar de forma directa al decodificador DTMF, a continuación se comenta la constitución interna de este circuito con la información obtenida de las hojas de especificaciones del fabricante.
Figura 2.6.7 Señal Dual Tone Multifrequency correspondiente dígito cero Decodificador de Tono DTMF MC145436
La señal DTMF proveniente de la bocina del celular, se alimentará a un circuito decodificador MC145436 de Motorota (existente en México). Este circuito, entrega un código binario natural de 4 bits correspondiente a cada señal DTMF recibida, que invariablemente corresponden a las 16 teclas de marcado telefónico (10 numéricas más asterisco y gato) y otras 4 que corresponderán a funciones especiales.
A continuación se muestra en la figura 2.6.8, un diagrama de la estructura interna de dicho circuito integrado, obtenida de las hojas de especificaciones del fabricante. [11]
Figura 2.6.8 Constitución interna del decodificador DTMF MC145436
Como puede observarse en la figura anterior este circuito tiene como entrada una línea llamada (Ain), en la cual deberá de llegar un tono DTMF, el circuito filtra la componente senoidal de baja frecuencia en el grupo de filtros que va de 697 a 941 Hz y por otra parte hace el mismo filtrado con la componente senoidal de alta frecuencia en el grupo de filtros que va de 1209 a 1633 Hz, ambas señales filtradas son llevadas a un circuito decodificador que convierte estas salidas a un formato binario de 4 bits.
El manual de especificaciones de este circuito1 marca que la entrada máxima de voltaje por la terminal de detección de tono llamada Ain puede tener un valor comprendido entre Vdd-10 V hasta Vdd + 0.5 Volts donde Vdd, es el voltaje de alimentación con respecto a tierra, en el prototipo el voltaje de alimentación manejado es de 5 volts.
El manual de operación recomienda el uso de un capacitor de paso en la terminal de entrada (Ain), en el caso de que la señal de entrada exceda el voltaje de alimentación, cosa que según el oscilograma anterior es falso, más sin embargo para no correr riesgos se pone dicho capacitor, ya que no afecta en lo absoluto el desempeño del circuito y en cambio lo protege de un posible pico voltaje mayor a 5 Volts.
A continuación se muestra la tabla de verdad del circuito integrado MC145436 (tabla 2.6.4)
Tabla 2.6.4 Tabla de verdad del decodificador de DTMF 14436 Código de salida Digito D8 D4 D2 D1 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 0 1 0 1 0 * 1 0 1 1 # 1 1 0 0 A 1 1 0 1 B 1 1 1 0 C 1 1 1 1 D 0 0 0 0
Dado que la interfaz periférica serie SPI del HC11, esta siendo usada para enviar los números de marcado telefónico, conviene utilizarla también para la lectura del DTMF. Para mandar estos 4 bits de regreso al microcontrolador utilizaremos el registro de corrimiento 74HC165, conectado a la salida del decodificador de DTMF, requiriendo solo 3 líneas reloj , salida de datos y control de carga de bits (Load). Obsérvese la tabla 2.6.5 (tabla de verdad del 74HC165) obtenida de las hojas de especificaciones del fabricante. [12]
Tabla 2.6.5 Tabla de verdad del registro de corrimiento 74HC165
La tabla de verdad de este circuito nos muestra que para que exista carga de datos la línea LOAD debe de estar en estado bajo, una vez hecho esto podemos transferir este dato con la línea de reloj en flanco ascendente, de tal forma que: la línea SCK del SPI se interconecta deforma directa con la línea de reloj de este circuito. La línea enable deberá mandarse a tierra y la línea SS de la SPI servirá para controlar la carga de dato DTMF al registro
74HC165, la línea MISO se conecta a la salida QH del 74HC165 (salida de dato). A continuación se hablará del sistema Periférico serie SPI del microcontrolador.
Interfaz periférica serie SPI
El microcontrolador cuenta con una interfaz serie sincronía que permite la comunicación bidireccional, y simultanea entre el microcontrolador y dispositivos externos., mediante 2 líneas de de datos (MISO para entrada, MOSI para salida) y una línea de reloj (SCLK), cuenta con una terminal llamada SS para efectos de control del sistema según este en modo maestro ó esclavo. El elemento central de la Interfaz Periférica Serie (SPI) es un registro de corrimiento y un registro relectura de datos El sistema puede manejar un solo dato durante la transmisión, mientras que en modo recepción acepta 2 bytes en otras palabras, en modo transmisión no puede ser escrito, un segundo dato al registro de corrimiento hasta que la transferencia previa esté completa. Mientras que para la recepción, un dato recibido es transferido en un registro de lectura paralela para que el registro de corrimiento pueda aceptar un segundo dato serie. El sistema permite lectura y escritura de forma simultanea. A continuación se muestra un diagrama de bloques de este subsistema (figura 2.6.9), obtenida de las hojas de especificación del fabricante [13]
Una vez recibido un dato en el registro de lectura, este se debe leer tan pronto como sea posible, ya que si el registro de lectura y el registro de corrimiento están llenos , no se podrá recibir ningún otro byte y por lo tanto se perdería este nuevo dato. Para realizar operaciones de lectura y escritura se utiliza un solo registro. Por otro lado existe un registro de estados del SPI
(SPSR), aquí se registran los estados actuales del subsistema como (transferencia completa, colisión de escritura, etc.)y también existe un registro de control llamado SPCR desde el cual se puede configurar el SPI para su funcionamiento.
Controles de polaridad y fase del reloj del SPI
Mediante 2 bits en el registro de control (SPCR), de la interfaz SPI, se puede seleccionar una de 4 combinaciones de fase de reloj serial y su polaridad. La fase y la polaridad del reloj deben ser idénticas en el dispositivo maestro y el dispositivo esclavo. El dispositivo maestro es quien controla el intercambio de información y genera el reloj de transferencia. El dispositivo esclavo es quien acepta el reloj maestro para la transferencia de datos.
En este caso el microcontrolador será el responsable de comandar las comunicaciones y será programado como maestro, mientras que los registros de corrimiento harán las funciones de esclavos, en modo maestro la línea SS queda libre para utilizarse como línea de salida de propósito general.
Terminales de entrada y salida del SPI
En el caso de este prototipo se interconectará la interfaz periférica serie con 2 registros de corrimiento, uno (74HC164) para el envío de dígitos de marcación del micro al sistema de control de comunicaciones, y otro registro de corrimiento (74HC165) de formato paralelo a serie para la lectura de un tono DTMF entrante proveniente del canal de voz del celular. La interfaz Periférica serie utiliza 4 terminales del puerto “D” del microcontrolador llamados MISO, MOSI, SS negado, Y SCK, La terminal MOSI, conectara a la entrada de datos del registro de corrimiento Así mismo la terminal MISO se conectará a la terminal QH del 74HC165, ya que por aquí entra el digito DTMF detectado.
La terminal SCK el la salida de reloj y deberá conectarse a ambos registros de corrimiento, en las terminales de reloj de cada uno.
La terminal de SS negado Puede utilizarse en esta configuración del microcontrolador en modo maestro como una línea extra de control para la carga de datos para el registro de