Como vimos antes, todo el transceptor DECT está integrado en una sola pastilla, el A3545:
http://www.datasheetcatalog.com/datashe ... 3545.shtml
Según muestra la hoja de datos, se gobierna mediante el tÃÂpico bus I2C, para el que no lo sepa, este es un bus muy común para comunicaciones entre integrados compuesto de 3 hilos a nivel de lógica TTL. Estas tres señales se denominan ENABLE (pin 6), DATA (pin 4) y CLOCK (pin 8). ENABLE le dice al dispositivo que se prepare para recibir instrucciones, DATA es una cadena de bits cuyo formato varÃÂa según el modelo especÃÂfico de dispositivo, es en esta cadena de bits donde se codifican las órdenes y finalmente, la lÃÂnea CLOCK indica cuando comienza la transmisión de un bit DATA (CLOCK a estado alto) y cuando finaliza ese bit (CLOCK a estado bajo).
Como podemos ver, será muy fácil hacernos con el control del transceptor, en una primera aproximación podemos utilizar tres lÃÂneas del puerto paralelo de un PC para gobernar este integrado, haciendo un pequeño programita en cualquier lenguaje de programación que dominéis, como C, JAVA, PASCAL, Visual Basic, etc. Tan sólo necesitáis acceder a bajo nivel al puerto 0x378 que suele corresponderse con el puerto paralelo del ordenador.
Ya hemos visto la utilidad de las señales Enable y Clock, vamos a ver ahora la más importante, el formato de la señal DATA. Como podéis ver en la hoja de datos, la señal data consta de un stream o hilera de 24 bits, cuyo significado, de bit de mayor peso (msb) a bit de menor peso (lsb) paso a describir:
b23 a b20: son bits de comprobación, siempre deben estar a cero para que la cadena sea válida.
b19: Este es un bit un poco especial, normalmente lo dejaremos a cero para obtener la señal de banda base demodulada en el pin 7 (RDATAP), ver la hoja de datos para más información.
b18 a b17: Estos bits le indican al integrado de qué valor es el cristal de referencia que se utiliza como señal de reloj interno, las posibilidades son:
00 para 3,456 MHz
01 para 13,824 MHz
10 para 6,912 MHz
11 para 10,368 MHz
b16 a b10: bits de control, siempre a cero.
b9 y b7: Cambian el modo de operación (ver hoja de datos para los diferentes modos).
00: modo normal.
01: modo de baja señal.
10: no usado.
11: Modo avanzado de señal.
b8: Fuerza al PLL del sintetizador a estar siempre encendido mientras el VCO lo esté si está a 1.
b6: Este bit parece tener una doble función, por un lado, si está a cero, el chip está en modo receptor, si está a 1 el chip está en modo emisor, pero a la vez es el bit de menor peso del divisor del PLL que sintetiza la frecuencia del canal de operación, lo que parece indicar las frecuencias de transmisión y recepción no coinciden. Hay que experimentar esto.
b5 a b0: divisor principal del PLL que sintetiza la frecuencia del canal de operación, según la siguiente fórmula:
n es el número, pasado a decimal, formado por los bits: b5, b4, b3, b2, b1, b0, b6
divisor = 2176 + n
Frecuencia del canal = 0,864 x (2176 + n)
para n = 00, esto es 0000000 en binario, Fc = 1880,064 MHz
para n = 47, esto es 0101111 en binario, Fc = 1920,672 MHz
Con lo que hemos visto hasta aquÃÂ, ya podemos hacernos nuestro primer scanner para DECT, lo primero que tenemos que hacer es separar, desoldando, las tres patillas del bus I2C de la placa de circuito impreso, esto es las patillas 4, 6 y 8, para ello necesitaremos unas pinzas, flux para dispositivos de montaje superficial (smd) y malla de cobre que podemos sacar de un coaxial de buena calidad RG58 o RG213, también podemos comprar tira de cobre para desoldar smd que venden en cualquier tienda de electrónica, en esta página podeis aprender como se desueldan componentes smd:
http://www.servisystem.com.ar/smd1.html
tened en cuenta que sólo teneis que desoldar los tres pines en cuestión, después de aislarlos de la placa del teléfono, soldaremos a estos tres pines unos hilos finos, en las tiendas de electrónica venden un hilo esmaltado muy fino para estos menesteres, pero si no lo encontráis, se puede utilizar hilo para bobinar inductancias que está igualmente esmaltado, hay que quemar un poco la punta con el soldador para remover el esmalte y estañarlo bien para soldarlo a las patillas, otro sistema es cortar con un cutter muy afilado y mucha maña las pistas de circuito impreso que van al chip, para repararlo luego bastara un poquito de estaño que vuelva a unir las pistas.
Una vez que tenemos el bus de control aislado del resto del terminal, partimos por la mitad un zócalo de circuito integrado de 14 pines (de los que tienen los pines circulares, no los planos) dejando dos hileras de 7 pines, soldamos los pequeños hilos de bobina que hemos puesto, a las patillas de una de las hileras de pines, asàtenemos un enchufe donde enchufar el cable que vendrá del puerto paralelo y al que soldaremos el otro medio zócalo, para asàenchufar un medio zócalo dentro del otro medio y poder conectar y desconectar el cable paralelo fácilmente, este cable debe de tener 5 hilos, los tres de las señales de control, más un cuarto hilo, el pin 25 del conector paralelo, que conectaremos a la masa del teléfono o en su defecto a cualquiera de los siguientes pines del integrado (ahora NO hay que desoldar estos pines de masa) 10, 13, 18, 19 ó 30. Este conector podemos ponerlo en una esquina de la carcasa del teléfono, haciendo una pequeña abertura con el cutter, el quinto hilo será la salida del detector, patilla 7 del integrado A3545.
A partir de aquàpodemos comenzar a experimentar enviando comandos de control al chip y ver como reacciona, serÃÂa interesante tener un osciloscopio conectado al demodulador (patilla 7) para ver el formato de los datos que recibimos. El altavoz del teléfono lo encenderemos y apagaremos descolgando o simulando que hacemos una llamada, porque en realidad ahora aunque marquemos el teléfono no hará nada, ya que el control del interfaz radio lo tenemos nosotros.
Otra idea que serÃÂa muy interesante es monitorear con el puerto paralelo las tres lÃÂneas de control del integrado A3545, pero sin llegar a cortarlas, de esa forma, como ya sabemos el significado de los bits de control, podemos hacer un pequeño programa que lea el puerto paralelo del ordenador y nos diga que hace el teléfono en cada uno de los siguientes casos:
a) buscar la base
b) sincronizarse con ella
c) protocolo de handshaking
d) datos que se intercambian
e) hacer una llamada
f) formato en que están los datos al hablar
Todo esto antes de tomar nosotros el control, serÃÂa un programa sniffer o husmeador que espiarÃÂa como funciona el teléfono, de esto podriamos aprender muchÃÂsimo sobre como funciona DECT.
Próximo episodio en su casa.
Happy hacking…
Nota: La propiedad intelectual de este artÃÂculo es exclusiva de su autor y su única intención es meramente didáctica, estando amparado por las libertades de cátedra y de expresión, principios recogidos en La vigente Costitución Española de 1978. Queda autorizada su copia y difusión por cualquier medio siempre que se cite la fuente y al autor.
Jesús M. Tormo.