[squeak-dev] Raspberry - GPIO - telephone caller id - Squeak

Ben Coman btc at openinworld.com
Tue Jun 16 18:54:20 UTC 2015

On Tue, Jun 16, 2015 at 10:57 PM, Louis LaBrunda
<Lou at keystone-software.com> wrote:
> Hi Tim and Ben,
> To answer Tim's question, I have looked around the Raspberry Pi forums but
> the posts mostly talk about using a caller id enabled modem.  Unfortunately
> the inexpensive ones don't support the latest version of caller id info
> used here in the US (I have one that doesn't work).  I contacted the
> manufacturer and they have no plans to keep making the modem, never mind
> updating it to the latest caller id level.
> One of the links that one of you gave me led me to a chip the CYG2020
> [1] http://parts.arrow.com/item/detail/ixys/cyg2020#RpgQ that looks good for
> the job.  We may also need an LCA110
> [2] https://parts.arrow.com/item/detail/ixys/lca110#eygg.  I have ordered one
> of each for about $22.50 including tax and shipping.
> Now I need to learn enough about wiring them to a Raspberry without frying
> everything.  Any help in that area will be great.
> Lou
> P.S.  I can point you to some PDF spec sheets if you want them.

btw also search for "application note" documents...
[3] http://www.ixysic.com/home/pdfs.nsf/www/AN-121.pdf/$file/AN-121.pdf

Where [1] said "Pins 13 & 14 should be connected to a 1-Form-A solid
state relay (Clare LCA110)"
confused me for a while.  I had assumed that CID1 & CID2 would provide
the Caller ID Output, but it seems actually they are an input to
enable the Caller ID Output to appear on LINE1 & LINE2.  If you only
want to use this for caller id and not voice/data, then I think you
can just short CID1 & CID2 together to permanently enable this mode.

In case its new to you, read about "Form 1A" contacts here
[4] http://www.siongboon.com/projects/2006-06-19_switch/

You might find this generally interesting for its layout guidelines
[5] http://pdfserv.maximintegrated.com/en/an/AN4863.pdf

also page 3 here which says "This is by far the most cost effective
way to implement the Caller ID path"...
[6] http://pdfserv.maximintegrated.com/en/an/AN5004.pdf

and some FCC requirements/protections...
[7] http://www.ixysic.com/home/pdfs.nsf/www/AN-124.pdf/$file/AN-124.pdf

The zeners across LINE1 & LINE 2 are said to limit voltage to Min =
-5V & Max = +5V per
page 3 of [3]  "Transient Voltage Protection on Line 1 and Line 2 (Pins 1,2)".
This is signal not compatible with the RPi's 3.3V GPIO pins.  You'd
need to use an interface circuit, maybe like the voltage divider
described at [8].   Probably one of LINE 1 or 2 would be tied to RPi's
ground but I'm not sure if the -5 to +5 volt zener clamping means you
end up with 5V or 10V that needs to be converted to 3.3V.
Alternatively you might use an OpAmp like bottom half of Figure 5 of
[8] http://elinux.org/RPi_GPIO_Interface_Circuits

Another option may be to use a 3.3V compatible device like this "Phone
Line Monitor"
[9] http://www.ixysic.com/home/pdfs.nsf/www/CPC5710N.pdf/$file/CPC5710N.pdf
or alternatively the MX602 where it looks like RXD may be a dedicated
pin for the caller id and anyway this has some interesting timing
[10] http://www.cmlmicro.com/assets/MX602DB_R4.pdf

btw, Probably the RPi forums are a better place to discuss electrical

cheers -ben

More information about the Squeak-dev mailing list