Hola Paquito, en la pagina de un amigo, hay un circuito de un Caller ID

El circuito creo sera similar al que empleas....
-------8<---------8<---------------8<---------------8<----
Con respecto a la información, el sistema comienza enviando una secuencia de 0"s y 1"s que son típicos en esta aplicación los cuales no representan información alguna y luego envía la información relativa a la llamada en si. Pese a disponer de 3 segundos completos para enviar datos este sistema sólo necesita de 495mS para llevar a cabo la transmisión, que está conformada de la siguiente forma:
250mS (30 Bytes) de 0"s y 1"s repetitivos.
70 mS en estado lógico alto (ó Marca).
175mS donde se transmite efectivamente la información como se muestra a continuación:
Los primeros 16 bits no son tomados en cuenta
Los siguientes 144 bits contienen la información propiamente dicha (ver mas abajo)
8 bits mas que no son utilizados.
Luego de esto el sistema entra en estado lógico bajo (ó espacio).
Dentro de los 144 bits el sistema debe informar al abonado Mes - Día - Horas - Minutos - Número que Llama. Cada guarismo consume un byte, por lo que la capacidad máxima para el número de abonado asciende a 14 dígitos. El sistema empleado para la numeración es el BCD, por lo que es muy simple de representar en pantallas convencionales.
De lo expuesto arriba lo único normalizado por el estándar es la cantidad de bits. Las compañías pueden enviar la información que deseen, la cual será mostrada en la pantalla del receptor. Incluso en algunos países se transmiten textos con codificación ASCII sin que ello represente problema alguno.
------------8<--------------------8<---------------8<-----
bueno, hay info en la pagina
http://www.pablin.com.ar/electron/circuito/telefon/callerid/index.htm
Para emplear este circuito en algo útil todo lo que hay que hacer es disponerlo en un proyecto microprocesado o microcontrolado y monitorear las tres señales arriba comentadas.
Primeramente hay que esperar a que se produzca el llamado de la campanilla, para ello se puede optar por controlar continuamente la señal Ring o activar interrupciones disparadas por ese pin. Luego hay que esperar que la línea Portadora presente un estado lógico bajo, lo que indicará que una llamada identificable será recibida. Seguidamente habrá que recibir los bits en una comunicación serie a 1200bps, 8 bits de datos, sin bit de paridad y sin bit de parada. La forma de saber cuando concluye la recepción de bits es muy simple, cuando la línea de Data Out queda en estado bajo permanente es porque no hay mas información. Otra forma es hacer un conteo de los bits recibidos a fin de detectar la llegada a cero. El método a elegir depende de cada desarrollo y lo que el programador vea conveniente. Cabe aclarar que cada ocho bits recibidos hay que almacenarlo en una posición de la RAM o mandarlo a pantalla, pero a fin de cuentas hay que agrupar los bits recibidos de a ocho para conformar los bytes.
