Copy Link
Add to Bookmark
Report

NuKE Issue 08-012

  

-----BEGIN PGP SIGNED MESSAGE-----

NuKE_NuKE_NuKe_NuKE_NuKE_NuKE_NuKE_NuKE_NuKE_NuKE_N
uK Nu
KE "Build The Call Blocker Device" uK
E_ by KE
_N Popular Electronics E_
Nu June 1994 _N
uK Nu
KE_NuKE_NuKE_NuKE_NuKE_NuKE_NuKE_NuKE_NuKE_NuKE_NuK

NuKE Info-Journal #8
April 1994

Have you ever been annoyed by a phone that constantly rings off the hook
while you were trying to devote your attention elsewhere. To make matters
worse, it seems that most of those calls are from people you did not wish to
speak with. You can, and at times probably have, broken down and turned off
the bell on your phone just to get a little peace and quiet. The only problem
with that solution is that you are then completely cut off from the outside
world and even important calls from friends or family can't get through.

There are a number of companies that are now offering a device that will
display the number of the calling party for you to view prior to picking up
the telephone (called `Caller ID'). That is nice, but even if you can
determine that you don't want to answer the call, you peace has already been
invaded by the ringing of the telephone and the act of getting up to see
whose number is displayed on the LCD.

There is a better solution. The Call-Block described in this article is a
device that connects between your telephone and the telephone wall jack and
prevents the phone from ringing unless the telephone number of the person
calling matches one of the numbers you have entered into its memory. For
maximum versatility, an answering machine can be placed on the same line to
handle those calls that do not qualify to ring the phone; those can be dealt
with later on at your own convenience. The unit can be used in conjunction
with a Caller ID display unit.

A list of up to 62 different telephone numbers can be easily entered into the
non-volatile memory using a tone-dialled phone without changing the initial
hook-up of the Call Block unit. The memory is broken up into two separate
directories with an external switch used to select which one will be active.
One of the directories can be used to hold a large list of numbers from
people whom you wish to allow to ring your phone on a daily basis, while the
other directory can be used for a more selective list of the most important
callers for those times when you want more privacy. Because the Call Block's
memory is stored in an EEPROM, all telephone numbers programmed into memory
will stay there even if the power is interrupted.

ABOUT CALLER ID
~~~~~~~~~~~~~~~
With the recent implementation of the service known as CND (Caller Number
Delivery) on most major phone networks, it is now possible to receive data
about the calling party prior to picking up the phone. That data is what is
used by the many caller ID units now hitting the market, and it is what makes
this circuit possible. CND is a subscriber feature that transmits data (date,
time, number) about the calling party during the silent period between the
first and second ring. You must subscribe to the service or no data will be
received, but once you have subscribed, you will receive the data on all
calls regardless of whether the caller subscribes or not. Call you local
phone company to get more information about getting CND on your line.

The date and time information is sent on all calls, but actual calling number
will only be available from parties who are calling from within your area.
At the present time "your area" consists of local calls that originate from
where CND is available, but will soon be set up to include long-distance
calls made from wherever CND is available. As more and more telephone
companies upgrade their equipment, the list of callers outside "your area"
will continue to decrease.

The actual data sent over the telephone line is a burst of modem tones using
1200 Hz as a logical 1 (mark) and 2200 Hz as a logical 0 (space). The data
stream begins with a "Channel-Seizure" signal that consists of a block of 300
alternating mark/space bits used by the receiver as an indication that data
will soon follow. That is followed immediately by 180 mark bits; that allows
time for the receiver to set up for the first word. Each data word is 8-bits
long (least significant but transmitted first), and is preceded by a start
bit (space) and followed by a stop bit (mark). In addition, up to 10 mark
bits may be added between words.

The portion of the message that contains the calling number is preceded by
a "type code" of 04(hex). The first word to follow is a "length" word that
indicates the number of the words in the message. Following the length word,
the data, time (in 24 hour format), and the telephone number is sent is ASCII
format. Finally, a checksum word is sent. For example, 01-15-94 2:30pm 514-
555-1212 would be sent as follows:

<type><length>
01159414305145551212
<checksum>

1st Ring .5s
2 seconds |-----+---+-----------------|.5s
|--/\/\/\/\/\/\---+0101 | 1 | DATA +---/\/\/\/\/\/\----
|-----+---+-----------------|
RING DETECT(12)
-------| |------------------------------------| |---
|________| |________|

CARRIER DETECT(13) CD DATA STREAM(15)
------------------------| | |-------------------
|___|_________________|

POWER UP(7)
----------| |-------------------
|___________________________________|


CIRCUIT THEORY
~~~~~~~~~~~~~~
The circuit is made possible by U2, Motorola's new Calling-Line
Identification
Receiver chip (part no. MC145447), which receives the modem-like tones from
the telephone line and decodes them. The above figure shows the timing
relationship between the data on the phone line and the various output pins
of that IC.

When a ring pulse is detected on the phone line, the Ring Detect pin (12)
goes low. About .5 seconds after the end of the ring, the channel seizure
signal (shown as 0101) causes the Carrier Detect pin (13) to go low. The "1"
shown after the "0101" represents the series of marks that are sent to allow
the microprocessor to set up to receive data. The Data-Out pin (15) goes low
when receiving the very first start bit, which is the space following the
series of marks, and continues to output the decoded dat, serially, at TTL
levels. The Power-Up pin (7) was designed to conserve power and is not used
here.

The schematic diagram for the Call Block is shown is file CALLBLCK.GIF. The
modem like tones are coupled through C3, C4, R1, and R2 to pins 1 and 2 of
U2. The metal-oxide varistor (MOV1) protects the circuit from high voltage
spikes, such as those produced by lightning strikes. The ring pulses are
coupled to the Ring Detect pins (3 and 4) of U2 via C1, C2, BR1, and R3-R5.
The relay K1 is used to connect/disconnect the telephone from the phone line.
The optoisolator U5 monitors the current flow through the telephone and pulls
the voltage on R10 low when the phone is lifted off hook. Transistors Q2 is
used as a switch to turn LED1 on and off, which indicates when the circuit
is in the programming mode.

Power is taken from a 9-VDC wall adapter and is regulated by U6, a low-
current 5-volt regulator, and filtered by capacitors C13-C15. To allow the
telephone's keypad to be used, current is supplied to the telephone through
R9 when the circuit is in the programming mode.

The heart of the circuit is U1, a PIC16C55 EPROM-based 8-bit CMOS
microcontroller manufactured by Microchip. That microcontroller has one 4-
bit and two 8-bit I/O ports, with each I/O pin being configured separately
as either an input or output through software commands. The chip has 512 x
12 bits of EPROM memory to hold the operating program and 32 x 8 bits of data
RAM used for working registers. For those who wish to program their own PIC,
the .ASM and .OBJ files are listed at the end of this article.

The outputs pins of U2, as referred to before are connected to U1 through the
upper half of port B. U1 monitors the Ring and Carrier-Detect pins and when
a call is detected, U1 reads the calling party's number from U2, which is
output serially through pin 15, and stores it in an internal register. The
telephone number is then compared to the group of numbers stored in U4, a
93LC56 2K serial EEPROM also manufactured by Microchip. The 93LC56 uses a 4-
line (chip select, Clock, Data in and Data Out) interface, which is connected
on the Chip-Select pin, data is then transferred to and from the 93LC56 on
the positive transition of the Clock pin. Each read or write function is
preceded by a start bit, and opcode (identifying the function to be
performed,
ie. read, write, etc...) an 8-bit address, and the 8 bits of data that are
being written to, or read from, that address. Immediately preceding and
following all write operations, the microcontroller (U1) sends instructions
to the 93LC56 that enables/disables the write function, thereby protecting
the data afterwards.

When entering the programming mode, the telephone is disconnected from the
phone line by the relay K1 and is connected to the analog input (pin 7) of
U3, a DTMF receiver manufactured by Motorola. Integrated circuit U3 is used
to decode the tones emitted by the telephone and place its 4-bit word
equivalent on the lower half of U1's port B. As each number is entered by the
telephone, U1 reads the 4-bit word on port B and writes it to the EEPROM (U4)
using port A. If the jumper JU1 is installed, the microcontroller is
configured to omit all area codes (both in programming and receiving),
thereby simplifying the programming operation and allowing more numbers to
be entered into memory.

CONSTRUCTION
~~~~~~~~~~~~
Resistors (all are 1/4-watt, 5% units)
R1,R2,R10-R15 : 10,000 ohm
R3 : 470,000 ohm
R4 : 18,000 ohm
R5 : 15,000 ohm
R6 : 270,000 ohm
R7, R8 : 2000 ohm
R9 : 75 ohm
R16 : 150 ohm

Capacitors
C1,C2 : 0.2 uF, Mylar
C3,C4 : 470 pF, ceramic disc
C5 : 0.22 uF, 16-WVDC tantalum
C6-C8, C10, C14, C15 : 0.1 uF, Mylar
C9 : 0.01 uF, Mylar
C11, C12 : 15 pF, ceramic disc
C13 : 47 uF, 16WVDC, electrolytic

Semiconductors
U1 : PIC16C55-XT/P, microcontroller, integrated circuit.
U2 : MC145447 , calling-line identification receiver IC.
U3 : MC145436 , DTMF receiver
U4 : 93LC56, serial EEPROM
U5 : PS2505-1 optoisolator or equivalent
U6 : 78L05, low power 5-volt regulator
Q1,Q2 : 2N4401 NPN silicon transistor
D1 : 1N4148 general purpose silicon diode
LED1 : Red light-emitting diode
BR1 : 1.0 amp, 200-PIV, fullwave bridge rectifier

Other Parts
K1 : 5VDC, DPDT relay
MOV1 : 130 VRMS metal-oxide varistor
XTAL1 : 3.58-Mhz, TV colorburst crystal
S1,S2 : toggle switches

OPERATION
~~~~~~~~~
You must call your phone company and subscribe to the Caller ID service for
your Call Block unit to function. It may take several days to be hooked up,
depending on your local telephone company, so it is a good idea to do that
in advance.

Using a piece of paper, make two lists of telephone numbers, one for each
directory. As explained earlier, one directory can contain a large list of
all your friends and family whom you wish to allow to ring your phone on a
daily basis. The other list can be more selective, listing only those most
important callers for times when you want more privacy. Each directory can
hold up to 255 characters including the '#' sign, which is used to separate
the telephone numbers. That works out to 31 different 7 digit telephone
numbers or 23 different 10 digit numbers (those with area codes).

When programming the Call Block, you may enter just a prefix such as '752',
and all numbers beginning with '752' will ring your phone. That comes in
handy if you with the people in your neighbourhood to be included in your
list but you do not want to enter all their numbers separately. Also, if the
unit is configured to use the area code, entering a three digit prefix will
include all callers from that particular area code.

NOTE: If you configured your Call Block to use area codes, (omitting JU1),
all numbers entered into memory must include the area code whether local or
long distance. The number "1" is not required at the beginning of long
distance numbers and should not be used when entering your numbers.

To enter your list of telephone numbers into memory, first verify that the
bypass switch (S1) is inactive (open), then switch (S2) to the desired
directory and pick up the phone while holding down the '#' button on its
keypad. The LED should light indicating that you are in the programming mode.
Release the '#' button and begin entering your telephone numbers with your
phone's keypad. At the end of each telephone number press the '#' button, and
after all numbers have been entered press the '*' button to end programming.

-----BEGIN PGP SIGNATURE-----
Version: 2.2

iQCVAgUBLfmnEk0EOTLgG0HDAQEn+AP9GdxCBVgq4fK1UIaWU07qC7XZ+ncGPHSM
WeD96Qcl+WL35wFqhQZgnXanQMhW/Je55JqQQjAHlhJqcuxUCpagNUEMeRdGZdKw
gY0wv1Ktg+n1VCrRBNWmzULeDji5VJXk9k+Cc175dTFY1DbzOmpPWkZxp+lEMrGg
UIIgbmlt9/w=
=x83o
-----END PGP SIGNATURE-----

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT