Caller ID

Thread Starter

jonnythain

Joined Jun 27, 2011
27
Hi,

I have made a simple ring detection device that transmits a signal to operate light/sound/vibration. I also wanted to add a Caller ID facility to the transmitter iterface of my project, but this does not need to be transmitted, just an LCD screen to show the name or number (as it should work on a PBX also). From my understanding as i am in the UK i need to use a FSK based system (SIN227). I have looked into a few decoders such as IDT NW6005 and Mitel MT8843, and it seems straighforward, but i wanted to use a PIC chip to display the information on an LCD, but all project etc seems to use the decoder chips but for DTMF? I dont want to over complicate anything, i just need to create a basic addition that shows a caller id and maybe a button to clear the screen aftrerwards. Any help would be much appreciated as i have searched the internet for days!
 

Thread Starter

jonnythain

Joined Jun 27, 2011
27
Nobody has been able to give me an answer on this, however i may have made some progress myself. I am looking at using a HT95168 Caller ID Telephone IC, please see data sheet at: http://www.datasheetdir.com/HT95168+download

The problem i now face (providing i can get this part) is trying to find a suitable LCD. I assume it has to be 7 segment, but it appears this chip will drive the LCD directly, but i cannot find any displays that match the criteria. (See Page 10).

If anyone can help me with this it would greatly be appreciated.
 

MrChips

Joined Oct 2, 2009
30,706
Ok, I have done Caller ID to announce in voice the name of the caller, or the number if the name of the person is not known. Maybe I can help.

I prefer to use 16x2 LCD displays. These are very common and relatively simple to interface. There are many to choose from, they all use the same LCD controller chip.
Here are some numbers:

Sharp LM16255
Optrex DMC16202
Optres DMC16205
Optrex DMC16207
 

Thread Starter

jonnythain

Joined Jun 27, 2011
27
Thanks for that, if i look at the pin connections from the built in LCD driver it shows SEG0-SEG15 and COM0-COM7 which is confusing me. WOuld i be able to directly connect the 16x2 LCD screen to this? What did you use in your caller id project to view the information? Was it FSK based Caller Id?

Thanks for your reply
 

SgtWookie

Joined Jul 17, 2007
22,230
You should use the datasheet on the manufacturer's site whenever available:
http://www.holtek.com/pdf/comm/95168v110.pdf

You might just use DTMF decoding routines in a PIC uC instead of relying on a custom IC that will probably be obsolete if it isn't already.
Have a look at Roman Blacks' DTMF decoder for Microchip PICs:
http://romanblack.com/DTMF/DTMF_alg.htm
I don't know if the tones in the UK are the same as in the States, but that should be easy to find out.
 

Thread Starter

jonnythain

Joined Jun 27, 2011
27
That's the issue, iv'e seen lots of DTMF based decoders, but the UK used FSK (v23) so i have to decode that data. Teh data sheet link is the same data sheet as i have posted (although off a 3rd party site) so that is what i have been working off. I just seem to be stuck trying to implement a very simple caller id interface with LCD screen!!! I'd love to use a PIC to comlplete this project but it doesnt appear that anyone has done a PIC based on the UK FSK Caller Id format.
 

MrChips

Joined Oct 2, 2009
30,706
1) On the Caller ID. I did not have a DTMF chip. I bought an off-the-shelf Caller ID display, opened it, and tapped off the serial data stream (standard TTL UART signal).

2) The 16x2 LCD comes with a 14-pin connection, 8-bit data bus, 3 control signals, 2 power and 1 contrast. You can interface using 4-bit data bus. So total interface requires 7 I/O lines from your PIC.
 

SgtWookie

Joined Jul 17, 2007
22,230
Take a look at the chart on page 10, below the display.
If COM4 and SEG6 are high, the result is 14a. This means for display position 14, turn on segment a, which is the top horizontal bar.
If COM5 and SEG6 are high, the result is 14b. This means for display position 14, turn on segment b, which is the top right vertical bar.
Segment c is the bottom right vertical bar
Segment d is the bottom horizontal bar
Segment e is the lower left vertical bar
Segment f is the upper left vertical bar
Segment g is the center horizontal bar

Now if COM7 and SEG6 are high, the result is S1 (turn on segment S1) which means there is an incoming call. There are also S2 thru S7.

SEG1 thru SEG4 and 21-24 appear to be just to verify that COM0 thru COM7 are good. I don't see documentation on how to use those codes; perhaps they're used on startup or something.
Anyway, you could likely decode them using a PIC, and use the info to drive a standard 2x16 LCD display
 

Thread Starter

jonnythain

Joined Jun 27, 2011
27
The think that still puzzles me though is lets say in that exapmple regarding COM 4 SEG 0 High, COM 5 SEG 0 High turning on 14a and 14b, (i think it is SEG1 and not SEG6 for that as PIN 6 is SEG1) if i wanted to turn on 14F and NOT 14G i would have to make SEG0 high, but surely that would turn on both 14F and 14G?
 

SgtWookie

Joined Jul 17, 2007
22,230
There IS no SEG0. I think you meant SEG6.

You don't control the COMx nor SEGx; they are output by the H95168.
You need to read those as inputs, and build the characters in your PIC, and send them to either a compatible LCD or LED.

You might consider just using 7-segment LED displays, but using transistorized drivers from the H95168 - but the % of duty cycle from the chip will be very low; at best 1/14
 
Last edited:

Thread Starter

jonnythain

Joined Jun 27, 2011
27
When i put SEG0 im refering to the pinout on the chip which says it has SEG0-SEG15 and COM0-COM7. I understand that i do not control these and it is outputting the information i need to control my PIC etc or a 7 Segment Display. The issue is i cant see how the output could iluminate 14A, 14B 14F but not 14G. OR is that the point that you would never be in that situation when you needed to do so as no numbers fir that criteria? Thanks for the continued replies.
 

SgtWookie

Joined Jul 17, 2007
22,230
I believe that it only outputs one COMx and one SEGx pair at a time.

It will take you awhile to analyze the combinations that are coming out of the IC. The only documentation I see on it is that chart.
 
Top