Caller ID

Discussion in 'The Projects Forum' started by jonnythain, Nov 4, 2011.

  1. jonnythain

    Thread Starter New Member

    Jun 27, 2011
    27
    0
    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!
     
  2. jonnythain

    Thread Starter New Member

    Jun 27, 2011
    27
    0
    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.
     
  3. MrChips

    Moderator

    Oct 2, 2009
    12,441
    3,361
    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
     
  4. jonnythain

    Thread Starter New Member

    Jun 27, 2011
    27
    0
    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
     
  5. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    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.
     
  6. jonnythain

    Thread Starter New Member

    Jun 27, 2011
    27
    0
    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.
     
  7. MrChips

    Moderator

    Oct 2, 2009
    12,441
    3,361
    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.
     
  8. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    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
     
  9. jonnythain

    Thread Starter New Member

    Jun 27, 2011
    27
    0
    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?
     
  10. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    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: Nov 10, 2011
  11. jonnythain

    Thread Starter New Member

    Jun 27, 2011
    27
    0
    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.
     
  12. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    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.
     
Loading...