Está en la página 1de 12

SOMI XVII Congreso de Instrumentacin

MICROONDAS JVT1833

DISEO Y CONSTRUCCIN EN FPGA DE LAS SEALES DE
TEMPORIZACIN Y TONOS DE SEALIZACIN PARA UN CONMUTADOR
TELEFNICO DIGITAL (PABX)
*

Joel E. Novelo Ruiz
(1)
, Domingo Lara Rodrguez
(2)
, Jos G. Viveros Talavera
(3)

(1) Instituto Tecnolgico de Tuxtla Gutirrez, (2) Cinvestav-Seccin de Comunicaciones, (3) UAM-A
Tel: 5061-3765; Email: vtjg@correo.azc.uam.mx

ABSTRACT
In this paper, we present the design of the timing circuit, which generates the timing signals
necessary for the operation of a private automatic branch exchange (PABX), likewise the
generating circuit of signaling tones is described which generates in digital form starting with
samples stored in memory the following tones: dial, busy, ring back, congestion, error and call in
wait. As a first step the circuits were designed and built with discreet components. In a second step
they were integrated in a FPGA. In this way, the size, power consumption were reduced and
increase the reliability of the circuit. This paper is organized as follows. The general architecture of
the PABX is described in the introduction, being focused in the block of common resources. The
general architecture of the circuits that conform the block of common resources and its design
based on discreet circuits are presented in section 2. In section 3, the form in that the circuits were
integrated in a FPGA is described. Finally, the results and conclusions are presented.

RESUMEN
Se presenta el diseo del circuito de reloj el cual genera las seales de temporizacin necesarias
para el funcionamiento de un conmutador telefnico digital (PABX), as mismo se describe el
circuito generador de tonos de sealizacin el cual genera en forma digital a partir de muestras
almacenadas en memoria los tonos de: invitacin a marcar, ocupado, eco de llamada, congestin,
error y llamada en espera. Los circuitos se disearon y construyeron en una primera etapa con
componentes discretos. En una segunda etapa se integraron en un FPGA, lo cual redujo el
tamao, consumo de potencia y se aumento la confiabilidad del circuito. Este artculo est
estructurado de la siguiente manera, en la introduccin se describe la arquitectura general del
PABX, enfocndose en el bloque de recursos comunes, en la seccin 2 se describe la arquitectura
general de los circuitos que integran el bloque de recursos comunes y su diseo en base a
circuitos discretos, en la seccin 3 se describe la forma en que fueron integrados los circuitos en
un FPGA y finalmente se presentan los resultados obtenidos y las conclusiones.

1. INTRODUCCION
Los elementos principales que forman un PABX se muestran en la figura 1, la arquitectura del
conmutador se describe a detalle en [1] y [2], aqu nos enfocamos en el bloque de recursos
comunes el cual esta formado por: El circuito de temporizacin que es la base de tiempo del
PABX, esta base de tiempo la utilizan todos los dems elementos para sincronizarse, este circuito
tiene la funcin de generar todas las seales de reloj que se necesitan dentro del sistema. El
circuito asignador de ranuras de tiempo cuya funcin es la de generar cada una de las treinta y
dos ranuras de tiempo que se necesitan para formar una va PCM de primer orden (E1), estas
ranuras son utilizadas por los CODECs, para transmitir o recibir las muestras de voz en alguna de
estas ranuras de tiempo, y el circuito generador de tonos, el cual tiene como funcin la de generar
en forma digital los tonos de sealizacin que se le envan a los usuarios para indicarle el estado
de la llamada.

En la figura 2 se ilustran los elementos que forman los recursos comunes. Cada uno de los
elementos que forman parte de los recursos comunes tiene caractersticas particulares, las cuales
se describen a continuacin:

Circuito de temporizacin. Es la base de tiempo del sistema de conmutacin digital, la cual toman
todos los dems elementos para sincronizarse y comunicarse. Este circuito tiene la funcin de
generar en forma sncrona todas las seales de reloj que se necesitan dentro del sistema.

*
Este trabajo fue apoyado por el proyecto MARINA-2002-CO1-3199, del fondo sectorial CONACYT
Secretara de Marina.
SOMI XVII Congreso de Instrumentacin
MICROONDAS JVT1833



Figura 1. Diagrama a bloques de un Conmutador Telefnico Digital.
Circuito asignador de ranuras de tiempo. Tiene como funcin la de generar cada una de las 32
ranuras PCM que se encuentran dentro de la trama E1. Cada una de estas ranuras se utiliza para
transportar informacin en el momento en que se establece una comunicacin.

Circuito generador de tonos. Tiene como funcin la de generar en forma digital los tonos de
sealizacin que se le envan al usuario para indicarle el proceso de la llamada.











Figura 2. Diagrama a bloques de los recursos comunes.

2. DISEO ETAPA I
En esta primera etapa los tres circuitos que forman el bloque de recursos comunes se disearon
usando lgica discreta, cada uno se construyo en una tarjeta de circuito impreso, esta primera
etapa se realiz de esta manera con el objetivo fundamental de probar y depurar el diseo
propuesto, a continuacin se describe a detalle las funciones de cada circuito as como su diseo.

2.1 Circuito de temporizacin
Las especificaciones bsicas que cumple el circuito de temporizacin son: Estabilizacin en base
a cristal; Generacin de diez seales de reloj sncronas las cuales son: 4.096 MHz, 2.048 MHz,
1.024 MHz, 512 KHz, 256 KHz, 128 KHz, 64 KHz, 32 KHz, 16 KHz y 8KHz. Para cumplir estas
especificaciones, se plantearon dos opciones: una de ellas utilizar Flip-Flops y la otra contadores,
ambos empleados como divisores de frecuencia. Despus de realizar un anlisis de cada una de
ellas se opt por utilizar contadores sncronos, debido principalmente a la reduccin de espacio
que esto significa. La estabilizacin requerida se consigue mediante el uso de un cristal de 4.096
MHz, el cual se toma como base para generar las dems seales. La idea general que se plante
consiste en acondicionar la seal del cristal, para despus pasar a la etapa de divisin de
CONTROL Y TEMPORIZACIN

SEAL ANALOGICA
UNIDAD DE
LNEA
ANALGICA

UNIDAD DE
LNEA
DIGITAL

GENERADOR DE TIMBRE

GENERADOR DE TONOS

MATRIZ

DE

CONMU-
TACION
UNIDAD
DE
TRONCAL
UNIDAD
DE
TRONCAL
RED
TELEFONICA
PUBLICA
RECEPTOR
DE DIGITOS
DTMF
TELEFONO
DIGITAL

SEAL DIGITAL
TELEFONO
ANALOGICO
SOMI XVII Congreso de Instrumentacin
MICROONDAS JVT1833

1 2 3 4
A
B
C
D
4 3 2 1
D
C
B
A
Title
Number Revision Size
B
Date: 19-Mar-2003 Sheet of
File: D:\RELOJ.DDB Drawn By:
4.096 MHZ
CRISTAL
R1 R2
C1
C2
1
2
3
A
SN7400
1
2
3
A
SN7400
1
2
3
A
SN7400
1
2
3
A
SN7400
C
L
R
1
L
O
A
D
9
E
N
T
1
0
E
N
P
7
C
L
K
2
R
C
O
1
5
A
3
Q
A
1
4
B
4
Q
B
1
3
C
5
Q
C
1
2
D
6
Q
D
1
1
V
C
C
1
6
G
N
D
8
C
L
R
1
L
O
A
D
9
E
N
T
1
0
E
N
P
7
C
L
K
2
R
C
O
1
5
A
3
Q
A
1
4
B
4
Q
B
1
3
C
5
Q
C
1
2
D
6
Q
D
1
1
V
C
C
1
6
G
N
D
8
C
L
R
1
L
O
A
D
9
E
N
T
1
0
E
N
P
7
C
L
K
2
R
C
O
1
5
A
3
Q
A
1
4
B
4
Q
B
1
3
C
5
Q
C
1
2
D
6
Q
D
1
1
V
C
C
1
6
G
N
D
8
VCC
4.096MHz
2.048MHz
8kHz
1.024MHz
16kHz
512kHz
32kHz
256kHz
64kHz
128kHz
CIRCUITO DE TEMPORIZACIN
S
N
7
4
L
S
1
6
3
S
N
7
4
L
S
1
6
3
S
N
7
4
L
S
1
6
3
C
1
C
2
C
3
frecuencias, la cual proporciona las seales de reloj requeridas. Este proceso se ilustra en la
figura 3.












Figura 3. Diagrama a bloques del circuito de temporizacin.
La etapa de acondicionamiento de la seal se dise con el propsito de filtrar la seal
proveniente del cristal de ruidos y frecuencias no deseables. Esto se logr mediante la utilizacin
de compuertas NAND y arreglos RC. Para la etapa de divisin de frecuencias se eligi el contador
SN74LS163, el cual es un contador ascendente de cuatro bits. En este diseo su funcin es la de
dividir la frecuencia de entrada, por lo cual, se necesitaron tres contadores para obtener las diez
seales de reloj requeridas. En la figura 4 se ilustra el diagrama esquemtico del circuito de
temporizacin, en donde se pueden identificar las conexiones de los elementos que lo componen,
as como las seales de reloj que proporciona.

























Figura 4. Diagrama esquemtico del circuito de temporizacin.


SOMI XVII Congreso de Instrumentacin
MICROONDAS JVT1833

2.2 Circuito generador de ranuras de tiempo
Para poder establecer una comunicacin es necesario contar con recursos que permitan
transportar e identificar los diferentes paquetes de informacin. Estos recursos son las 32 ranuras
de tiempo que maneja la portadora digital E1, la cual, es empleada como estndar de transmisin
en Mxico. Este sistema tambin se conoce como PCM 30+2. Por medio de estas ranuras, se
enva y recibe la informacin sirviendo a la vez como elementos de sincronizacin en el proceso
de comunicacin. Debido a esto, se plante la necesidad de disear un elemento que tuviera la
capacidad de asignar cada una de las 32 ranuras del estndar PCM, cada una de estas ranuras
tiene una duracin de 3.9 s. Por lo tanto, el diseo debe proporcionar 32 salidas, en las cuales se
encuentran cada una de las 32 ranuras PCM. Como solucin al problema se planteo el diseo a
base de decodificadores.

La idea general consiste en tomar como base algunas seales de reloj generadas por el circuito
de temporizacin, las cuales sirven como entradas para la etapa de decodificacin. Esta etapa
selecciona cada una de sus salidas conforme las entradas cambian sus estados. Dichas salidas
se acondicionan y a partir de esto se obtienen las 32 ranuras PCM. Este proceso se ilustra en la
figura 5.













Figura 5. Diagrama a bloques del generador de ranuras de tiempo.

En base a un anlisis de tiempos, se determino las seales de reloj necesarias para generar las
32 ranuras de tiempo. En este anlisis se tomaron en cuenta dos consideraciones. En primer lugar
la duracin de la ranura de tiempo, que de acuerdo al estndar PCM es de 3.90625s y la
segunda es la forma en que se realizara la seleccin de las ranuras. Para esto ltimo se eligi un
decodificador, el cual es el DM74LS154. A partir de estas dos consideraciones el anlisis se
realiz de la siguiente manera: el decodificador elegido tiene 4 lneas de entrada (A, B, C y D), por
medio de las cuales va seleccionando alguna de sus 16 lneas de salida.

La seleccin de la salida se realiza a medida que las entradas van cambiando de estados. La
entrada A es la que ndica el tiempo que permanecer habilitada la salida. Por tanto y teniendo en
cuenta que cada salida debe durar 3.90625 s, esta entrada debe ser una seal que permanezca
3.90625 s en un nivel bajo y el mismo tiempo en un nivel alto, lo cual nos indica que esta seal
debe tener un perodo igual a 7.8125 s, siendo est el perodo de la seal de reloj de 128 KHz. A
partir de ello se obtuvieron las entradas B, C y D, ya que estas son dos, cuatro y ocho veces el
perodo de la seal de 128 KHz. (entrada A). Se necesitaron dos decodificadores para seleccionar
las 32 ranuras PCM. El hecho de tener dos decodificadores implica el que uno de ellos seleccione
16 ranuras y posteriormente el otro haga lo mismo. Por tanto se debe tener una seal que sirva
para indicar el decodificador que estara activo. Esta seal debe permanecer en un nivel bajo el
tiempo que dura la seleccin de las primeras 16 ranuras (62.5 s) y cambiar a un nivel alto el
tiempo que dura la seleccin de las 16 ranuras restantes (62.5 s) de acuerdo con esto esta seal
debe tener un perodo de 125 s, el cual es el perodo de la seal de reloj de 8 KHz. La lgica de
seleccin del decodificador es inversa por tanto la etapa de acondicionamiento de la seal consta
de unos inversores. En la figura 6 se ilustra la manera en que las seales de reloj que se
analizaron intervienen en la seleccin de la ranura de tiempo (C0 a C31).

SOMI XVII Congreso de Instrumentacin
MICROONDAS JVT1833

1 2 3 4
A
B
C
D
4 3 2 1
D
C
B
A
Title
Number Revision Size
Orcad A
Date: 21-Mar-2003 Sheet of
File: D:\ESQUEMA.ddb Drawn By:
A
23
B
22
C
21
D
20
G1
18
G2
19
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
13
12
14
13
15
14
16
15
17
VCC
24
GND
12
DECODIFICADOR 1
SN74154
A
23
B
22
C
21
D
20
G1
18
G2
19
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
13
12
14
13
15
14
16
15
17
VCC
24
GND
12
DECODIFICADOR 2
SN74154
Ranura 7
Ranura 6
Ranura 5
Ranura 4
Ranura 3
Ranura 2
Ranura 1
Ranura 0
Ranura 8
Ranura 9
Ranura 10
Ranura 11
Ranura 12
Ranura 13
Ranura 14
Ranura 15
Ranura 23
Ranura 22
Ranura 21
Ranura 20
Ranura 19
Ranura 18
Ranura 17
Ranura 16
Ranura 24
Ranura 25
Ranura 26
Ranura 27
Ranura 28
Ranura 29
Ranura 30
Ranura 31
VCC
VCC
32KHZ
16KHZ
64KHZ
8KHZ
128KHZ
ASIGNADOR DE RANURAS



















Figura 6. Seales de reloj necesarias para la generacin de las
32 ranuras de tiempo con formato PCM 30 +2.
A partir del anlisis anterior, se determin utilizar cinco seales de reloj provenientes del circuito
de temporizacin: 128 KHz, 64 KHz., 32 KHz, 16 KHz. y 8 KHz. Las primeras cuatro seales son
las entradas de los decodificadores y la seal de 8 KHz se utiliza para seleccionar el decodificador
activo tal y como se haba mencionado. El diagrama esquemtico de este circuito se ilustra en la
figura 7.


























Figura 7. Diagrama esquemtico del generador de ranuras de tiempo.
SOMI XVII Congreso de Instrumentacin
MICROONDAS JVT1833

2.3 Circuito generador de tonos
Al momento de darle servicio a un abonado, el sistema de conmutacin digital debe indicarle la
etapa en que se encuentra la llamada para mantenerlo informado y este pueda proceder segn la
situacin en que se encuentre. La forma de indicarle al usuario en que etapa de llamada se
encuentra es mediante el envo de tonos de sealizacin. Debido a esto, se plante la necesidad
de disear un elemento que genere en forma digital estos tonos. Las consideraciones que se
tomaron en cuenta para realizar el diseo fueron las siguientes: seleccin de los tonos a generar;
seleccin de frecuencia y cadencia para cada uno de los tonos; clculo de muestras para la
generacin de los tonos; y generacin en forma continua.

La seleccin de los tonos a generar as como la frecuencia y cadencia de cada uno de los tonos
se determino de acuerdo a la recomendacin E.180/Q.35 de la Unin Internacional de
Telecomunicaciones (UIT). El generador digital de tonos de sealizacin genera los tonos de:
invitacin a marcar, ocupado, eco de llamada, congestin, error y llamada en espera 1 y 2. En la
tabla 1 se muestran los valores de frecuencia y cadencia recomendados por la UIT, as como los
valores seleccionados para cada uno de los anteriores tonos.




















Tabla 1. Valores de frecuencia y cadencia seleccionados para cada tono.

Dado que la generacin de los tonos se realiza por procedimientos digitales, es necesario calcular
una cantidad de muestras que representen a los tonos que se desean generar. Como se observa
en la Tabla 1, las frecuencias elegidas para los siete tonos de sealizacin son las de 400 Hz y
500 Hz. Esto significa que solo se necesita realizar el clculo para generar estas seales. La
forma de generar una seal senoidal con alguna de estas frecuencias por procedimientos digitales
tiene que realizarse de acuerdo a los estndares existentes para codificacin de seales que se
encuentran en la banda de voz (300 Hz a 3.4 KHz.).

Si se realizar una codificacin lineal de est seal, se necesitaran 13 bits para cumplir con los
requisitos de transmisin de seales de voz [3]. Debido al excesivo ancho de banda que implica
utilizar este tipo de codificacin, la UIT ha definido estndares para solucionar estos problemas, el
estndar consultado es el G.711 de la UIT. En el caso de Mxico se utiliza la ley A de compresin
como estndar de codificacin. Las principales caractersticas de la ley A son: Velocidad de
muestreo de 8000 muestras / segundo; La codificacin se realiza con 8 bits por muestra; Incorpora
la funcin de compresin-expansin en las etapas de codificacin/decodificacin respectivamente;
Utiliza 4096 pasos de cuantizacin para realizar la codificacin-decodificacin.

De los ocho bits que se compone la codificacin, el bit ms significativo es el bit de signo, siendo 1
cuando la muestra es positiva y 0 cuando est es negativa. Los tres bits siguientes identifican a
los ocho diferentes segmentos, en los cuales estn contenidos los 4096 pasos. Cada uno de estos
SOMI XVII Congreso de Instrumentacin
MICROONDAS JVT1833

segmentos con diferentes nmeros de pasos. Los ltimos cuatro bits identifican los diecisis
diferentes intervalos de cuantizacin en que pueden caer los valores de las muestras. En la Tabla
2 se puede observar lo explicado anteriormente.

















Tabla 2. Codificacin en ley de compresin A.

Por ejemplo, una muestra representada por el cdigo 1 001 0010 nos definira que la muestra es
positiva (primer bit), se encuentra dentro del segmento 2 (siguientes tres bits), dentro del paso 36
al 38 por estar en el segundo intervalo de cuantizacin (ltimos cuatro bits). Como se observa en
la Tabla 2 el mximo valor que se puede obtener es 4096, el cual de acuerdo a la recomendacin
G.711 representa un valor de 3.14 dBm0 (2.5 V
p
). Para realizar el clculo de muestras codificadas
en ley A es necesario definir los parmetros de frecuencia y amplitud de la seal. Analizaremos el
caso para la seal con frecuencia de 400 Hz, el calculo para la de 500 Hz es idntico. La amplitud
se defini en 1 V
p
o 2 V
pp
. El primer paso que se realiza, es el de determinar el nmero de
muestras que se necesitan para obtener esta seal. Para realizar este clculo definamos: N =
nmero de muestras por periodo de la seal; T
s
= Periodo de muestreo; F
s
= frecuencia de
muestreo = 1/T
s
; y T = Periodo de la seal, por lo tanto:
T = N T
s
= N / F
s
(1)
Despejando N obtenemos:
N = T F
s
(2)
Para nuestro caso: T = 2.5 ms (periodo de la seal de 400 Hz), F
s
= 8 KHz. Sustituyendo estos
valores en (2) se obtiene N = 20. Lo cual nos indica que necesitamos 20 muestras para obtener
una seal de 400 Hz. El segundo paso que se realiza, es el clculo del valor, que el nivel de
amplitud elegido representa. Esto se realiza mediante la siguiente simple regla de tres:
4096 2.5 V
p

X 1.0 V
p

Al efectuar est operacin obtenemos el valor de X = 1638, el cual es uno de los valores que nos
servirn para obtener la amplitud de las muestras. A continuacin se determina los grados de
separacin entre muestras, lo cual se obtiene dividiendo un ciclo de la seal (360) entre el
numero de muestras (20), obtenindose 18 de separacin, lo cual representaremos como S. Para
realizar el clculo se propuso una fase inicial diferente de cero la cual representaremos como ,
esto es con la finalidad de evitar que tengamos muestras con amplitud de cero volts, muestra 10
(180) y 20 (360), la fase inicial elegida fue = 8. Finamente se obtiene el valor de las muestras
para la seal senoidal de 400 Hz, a partir de la siguiente ecuacin:
A
N
= X Sen (NS + ) (3)
SOMI XVII Congreso de Instrumentacin
MICROONDAS JVT1833

Donde: N = Nmero de muestra = 0,1,2, ......., 19, A
N
= Amplitudes de las muestras. Sustituyendo
los valores en la ecuacin 3 se obtienen veinte valores, los cuales son: 228, 718, 1138, 1446,
1613, 1622, 1472, 1178, 769, 284, -228, -718, -1138, -1446, -1613, -1622, -1472, -1178, -769, -
284. Una vez obtenidos estos valores, se convierte cada uno de ellos a un cdigo de ocho bits
usando la Tabla 2. Por ejemplo la primera muestra tiene un valor de 228, este valor es positivo por
lo tanto el bit ms significativo es 1. Consultando la Tabla 2 se busca el segmento en donde se
ubica este valor el cual se encuentra en el cuarto segmento por lo tanto los siguientes tres bits
son: 011 y por ultimo se determina el intervalo de cuantizacin en donde se encuentra el cual es el
intervalo nmero doce por lo tanto los ltimos cuatro bits son: 1100, por lo que el cdigo que
representa a la primer muestra es: 1 011 1100. Estos mismos pasos se realizan para obtener los
diecinueve cdigos restantes. Usando el mismo procedimiento se obtienen las muestras del tono
de 500 Hz.

Se decidi que los tonos de sealizacin se generaran en forma continua, es decir que estuviesen
siempre presentes debido a que en muchos casos se utilizan en forma simultnea algunos o todos
ellos. La idea general para resolver el problema se basa en el uso de una memoria de solo lectura.
En sta se encuentran almacenadas las veinte muestras del tono de 400 Hz. La memoria se
direcciona en las posiciones en que se encuentran grabadas las muestras (00H 14H). Estas se
leen, se convierten y con esto se obtiene el tono de invitacin a marcar. Para obtener los dems
tonos, se toma como base el tono generado y se le insertan las cadencias respectivas de los
tonos restantes. Una vez que se tienen los siete tonos, el siguiente paso es adaptarlos para
tenerlos en una sola salida. Este proceso se ilustra en la figura 8.









Figura 8. Diagrama a bloques del generador digital de tonos.

El generador de direcciones est compuesto por dos contadores de 4 bits (SN74LS193), los
cuales direccionan la memoria desde la posicin 00H hasta la posicin 14H. Una vez que llegan a
esta cuenta se reinician para volver a direccionar estas mismas posiciones. El contador 1 toma
como base de tiempo la seal de 8 KHz (frecuencia de muestreo), la cual proviene del circuito de
temporizacin. Esto trae como consecuencia que el direccionamiento se realice a una velocidad
de 125 s/muestra. La memoria (AT28C64) por su parte se encuentra habilitada para funcionar
como de solo lectura y en ella se encuentran grabadas las 20 muestras codificadas en ley A de la
seal de 400 Hz. La velocidad con que se leen los datos de la memoria es la misma velocidad con
la que se direcciona (8000 muestras/segundo). A continuacin se realiza una retencin del dato
con el circuito SN74LS373 y posteriormente una conversin de paralelo a serie mediante el uso
del registro SN74LS165. La forma en que realiza esta conversin es tomando el dato (8 bits) en
forma paralela y convertirlo a una cadena serial de bits asignndoles una ranura de tiempo que
proviene del circuito que las genera. Como resultado de esta conversin se obtiene el tono en
forma digital (tono de 400 Hz). Por otra parte, un microcontrolador (PIC16F84) genera las
cadencias caractersticas de cada uno de los tonos restantes, las cuales son insertadas al tono
obtenido y con ello se logra generar los siete tonos requeridos. La forma en que genera las
cadencias el PIC es bsicamente escribiendo en uno de sus puertos cada determinado tiempo
(100 ms) los estados lgicos de cada una de las seis cadencias requeridas. El tiempo de 100 ms
se eligi porque es la menor resolucin que aparece en la cadencia de los tonos. Este tiempo de
100 ms se consigue mediante una rutina de retardo que se ejecuta cada vez que se ha escrito en
el puerto. Una vez generadas las cadencias mediante el PIC, se inserta cada una de ellas al tono
digital generado. Esta insercin se realiza mediante compuertas AND. Finalmente se adaptan las
salidas de todos los tonos utilizando buffers de tres estados, los buffers le asignan una ranura a
cada tono, con lo que se obtiene una sola salida (salida PCM), en la cual se encuentran los siete
SOMI XVII Congreso de Instrumentacin
MICROONDAS JVT1833

1 2 3 4 5 6
A
B
C
D
6 5 4 3 2 1
D
C
B
A
Title
Number Revision Size
B
Date: 27-Mar-2003 Sheet of
File: D:\Usuarios\novelo\protel\MyDesign.ddb Drawn By:
A0
10
A1
9
A2
8
A3
7
A4
6
A5
5
A6
4
A7
3
A8
25
A9
24
A10
21
A11
23
A12
2
NC
1
WE
27
CE
20
OE
22
V
C
C
2
8
V
S
S
1
4
NC
26
DQ0
11
DQ1
12
DQ2
13
DQ3
15
DQ4
16
DQ5
17
DQ6
18
DQ7
19
SH/LD
1
CLKINH
15
CLK
2
SER
10
A
11
B
12
C
13
D
14
E
3
F
4
G
5
H
6
QH
9
QH
7
VCC
16
GND
8
OC
1
C
11
1D
3
1Q
2
2D
4
2Q
5
3D
7
3Q
6
4D
8
4Q
9
5D
13
5Q
12
6D
14
6Q
15
7D
17
7Q
16
8D
18
8Q
19
VCC
20
GND
10
CLR
14
UP
5
DOWN
4
LOAD
11
CO
12
BO
13
A
15
QA
3
B
1
QB
2
C
10
QC
6
D
9
QD
7
VCC
16
GND
8
CLR
14
UP
5
DOWN
4
LOAD
11
CO
12
BO
13
A
15
QA
3
B
1
QB
2
C
10
QC
6
D
9
QD
7
VCC
16
GND
8
VCC
1 2
1A
8 kHz
1
2 3
A
1
2 3
A
1
2 3
A
1
2 3
A
1
2 3
A
1
2 3
A
1
2 3
A
1
2
3
8A
SN74LS08
SN74LS193
SN74LS193
AT28C64
SN74LS373
1
2
3
1A
SN74LS32
1
2
3
2A
SN74LS32
1
2
3
3A
SN74LS32
1
2
3
4A
SN74LS32
1
2
3
5A
SN74LS32
1
2
3
6A
SN74LS32
CANAL1
CANAL3
CANAL5
CANAL7
CANAL9
CANAL11
CANAL13
1
2
3
7A
SN74LS08
2.048MHz
1
2
3
6A
SN74LS08
1
2
3
5A
SN74LS08
1
2
3
4A
SN74LS08
1
2
3
2A
SN74LS08
1
2
3
1A
SN74LS08
1
2
3
3A
SN7408
RA0
17
RA1
18
RA2
1
RA3
2
RA4/T0CKI
3
RB0/INT
6
RB1
7
RB2
8
RB3
9
RB4
10
RB5
11
RB6
12
RB7
13
V
S
S
5
MCLR
4
OSC1/CLKIN
16
OSC2/CLKOUT
15
V
D
D
1
4
PIC16F84
SN74LS165
CANAL1
CANAL3
CANAL5
CANAL7
CANAL9
CANAL11
CANAL13
SN74LS126
SN74LS126
SN74LS126
SN74LS126
SN74LS126
SN74LS126
SN74LS126
GENERADOR DE TONOS MEDIANTE UNAMEMORIAAT28C64
EDUARDO NOVELO
1
2
3
4
5
6
7
SALIDAPCM
FSR
5
DR
6
BCLKX
10
MCLKX
9
BCLKR/CLKSEL
7
MCLKR/PDN
8
VFRO
3
TSX
13
DX
11
FSX
12
GSX
14
VFXI+
16
A
G
N
D
2
V
B
B
1
V
C
C
4
VFXI-
15
TP3057
-5 V
SALIDAANALOGICA
CANAL X
CONTADOR 1
CONTADOR 2
4.096 MHz
tonos asignados a siete ranuras de tiempo diferentes. El diagrama esquemtico de este circuito se
ilustra en la figura 9.























Figura 9. Diagrama esquemtico del generador de tonos.

3. DISEO ETAPA II
Los tres circuitos mencionados en el apartado anterior, se construyeron en placas de circuito
impreso usando componentes discretos, con el propsito de verificar su correcto funcionamiento y
posibles errores de diseo, una vez habiendo obtenido resultados satisfactorios se procedi a su
implementacin en un circuito programable (FPGA), el problema a resolver plantea que el circuito
programable a usar debe tener como nica entrada la seal de temporizacin de 4.096 MHz y
como salidas debe proporcionar las diez seales de temporizacin, las treinta y dos ranuras de
tiempo PCM y los siete tonos de sealizacin. Esto se ilustra en la figura 10.
3.1 Eleccin del hardware y software para el FPGA
De acuerdo a lo anterior se realizo un anlisis para determinar que dispositivo se empleara, se
llego a la conclusin que el ms adecuado para nuestra aplicacin era un FPGA debido a las
prestaciones que ofrece. Existen muchas compaas que fabrican estos circuitos, tales como
Altera, Xilinx, Actel, Cypress. Cada una de ellas ofrece herramientas adecuadas para el diseo
con estos dispositivos. Despus de comparar precios, soporte, caractersticas tcnicas, se eligi
utilizar el FPGA EPF10KLC-84 y la memoria de configuracin EPC1441, ambos de Altera.





Figura 10. Integracin de los recursos comunes.
En el presente diseo la eleccin del software fue influenciada por el hardware elegido, ya que la
mayora de las empresas ofrecen ambos elementos para proporcionar soluciones integrales a
problemas especficos. Debido a esto se tuvo que elegir entre los programas que proporciona
Altera, el ms adecuado para la aplicacin a realizar. Para la eleccin se tomaron en cuenta los
siguientes aspectos: Compatibilidad con el hardware elegido: debido al hardware elegido
(EPK10K10LC-84) el software deba soportar este elemento en todos los aspectos. Entre estos
SOMI XVII Congreso de Instrumentacin
MICROONDAS JVT1833

podemos mencionar las herramientas de simulacin, compilacin y sntesis; Diversidad de
entradas de diseo: el software deba contar con diversas opciones para la entrada del diseo, es
decir, distintas formas para indicar el diseo lo que se quiere realizar. De acuerdo a lo anterior y
despus de realizar un anlisis, se eligi el software MAX + PLUS II de Altera, debido a que
satisface con las caractersticas planteadas anteriormente.

3.2 Integracin y programacin
A continuacin lo que se hizo fue programar los diseos previamente obtenidos en la etapa I en el
FPGA, usando los herramientas de diseo de Altera, el nico circuito que sufri cambios es el
generador de cadencias, para este caso se sustituye el microcontrolador PIC por una memoria de
solo lectura, en la cual se encuentran grabados cien datos que representan las cadencias
respectivas de los tonos mencionados anteriormente. Esta se direcciona usando contadores a una
velocidad de 100 ms. En la Tabla 3 se indican los pines de salida de la memoria y la cadencia
correspondiente que se encuentra en cada uno de ellos.

SALIDAS DE LA MEMORIA CADENCIA CORRESPONDIENTE AL TONO DE:
Q0 ECO DE LLAMADA
Q1 OCUPADO
Q2 CONGESTION
Q3 LLAMADA EN ESPERA 1
Q4 LLAMADA EN ESPERA 2
Tabla 3. Ubicacin de las cadencias en los pines de salida de la memoria.
Para realizar la programacin se hizo uso del entorno grfico proporcionado por el software de
Altera. El modulo de recursos comunes se dividi en seis bloques, los cuales en su conjunto
constituyen la integracin de los recursos comunes. La funcin de cada bloque se detalla a
continuacin:

Bloque 1: Este bloque se dise tomando como base la figura 4. Tiene como funcin generar diez
seales de temporizacin El nico componente externo al FPGA es el cristal. Bloque 2: Este
bloque se dise tomando como base la figura 7. Tiene como funcin generar treinta y dos
ranuras de tiempo PCM, este bloque no presenta diferencias con el diseo anterior. Bloque 3A:
Este bloque, al igual que los bloques 3B y 3C se disearon tomando como base la figura 9, la
funcin de este bloque es generar una seal de 400 Hz mediante procedimientos digitales, la cual
se toma como base para generar los restantes tonos de sealizacin. Bloque 3B: Este bloque
tiene como funcin generar las cadencias de los cinco tonos de sealizacin que se ilustran en la
Tabla 3. Bloque 3C: Este bloque tiene como funcin generar tanto las dos frecuencias del tono de
error ( f = 400 Hz, f = 500 Hz) como su cadencia, cuyos valores estn indicados en la Tabla 1.
Bloque de Salida: Este bloque tiene como funcin asignar a cada tono una ranura de tiempo de
salida en una misma trama PCM.

Para la creacin de estos bloques se seleccionaron los elementos que los conformaran, todos
ellos se importaron de las libreras con que cuenta el programa. El nmero total de
entradas/salidas del diseo es de cuarenta y cuatro, estas se ilustran en la Tabla 4, el diagrama
esquemtico final del diseo se muestra en la figura 11 y en la figura 12 se muestra el resultado
de la simulacin de las seales de temporizacin y algunas ranuras de tiempo.








Tabla 4. Etiquetas de entra/salida del FPGA.

SOMI XVII Congreso de Instrumentacin
MICROONDAS JVT1833

































Figura 11 Diagrama esquemtico final del diseo























Figura 12. Simulacin de las seales de temporizacin y algunas ranuras de tiempo.
SOMI XVII Congreso de Instrumentacin
MICROONDAS JVT1833

4. RESULTADOS Y CONCLUSIONES
En la figura 13(a) se muestra la tarjeta de circuito impreso construida para evaluar el diseo
obtenido usando el FPGA, en la figura 13(b) se muestran algunas de las seales de
temporizacin, en la figura 13(c) algunas de las ranuras de tiempo y en la figura 13(d) el tono de
invitacin a marcar. Para la prueba del bloque 3 (a, b y c) se utilizo un circuito integrado (Codec),
el cual tiene la funcin de convertir el tono de digital a analgico. Este circuito es el TP3057, el
cual funciona como codificador/decodificador. Para nuestro caso, el tono se encuentra codificado y
por tanto es necesario que este circuito funcione como decodificador para recuperar el tono en
forma analgica y se verifique si el generador digital de tonos funciona de forma correcta.




















Figura 13. (a) Tarjeta del FPGA, (b) Seales de Temporizacin,
(c) Ranuras de Tiempo y (d) Tono de invitacin a marcar.
Todas las seales cumplen con las especificaciones propuestas en la etapa de diseo, como
conclusin principal podemos decir que si bien otras tecnologas de diseo de circuitos integrados
estn fuera del alcance de la economa de nuestro pas, la tecnologa de FPGAs y otra similares
son factibles de usar prcticamente para cualquier centro de educacin superior, lo cual nos
permite hacer uso de ellas, capacitarnos y de alguna manera estar cerca de la tecnologa de
punta, desgraciadamente en la mayora de los casos reservada para pases altamente
desarrollados.
REFERENCIAS
[1] Jos G. Viveros T., Pedro Abarca R., Edmundo Noriega S., Conmutador Telefnico Digital:
Hardware, Memorias del SOMI XVI Congreso de Instrumentacin, Quertaro, Qro. Octubre de
2001.
[2] Jos G. Viveros T., Pedro Abarca R., Edmundo Noriega S., Conmutador Telefnico Digital:
Software, Memorias del SOMI XVI Congreso de Instrumentacin, Quertaro, Qro. Octubre de
2001.
[3] Jos G. Viveros T., Principios de Comunicaciones Digitales, Ed. UAM-A, Coleccin libros de
texto y manuales de practicas, Mxico, 1999.
2.048 MHz
1.024 MHz
512 KHz
256 KHz.
4.096 MHz
(a) (b)
(c) (d)