Michael Zinni
Giulio Lugini
ELE408 Project Report
General Description
This project will attempt to merge the data processing and
ethernet capabilities of the Motorola Coldfire processor into a
complete home security system. The feature that will set this system
apart from the rest of the market will be the fact that, in addition
to the usual alarm siren, the ICIDS will utilize an Internet
connection to alert the owner of an intrusion.
Functional Description
The ICIDS design can be broken down into 2 major blocks: the
detection unit, and the notification unit. Each unit will be a
separate entity in the fact that they will be able to run by
themselves. This will ease the design and testing phases of the
project. See block diagram below.
Detection Unit Description
The detection unit consists of four circuits: two infrared
beams and two break switches. The IR circuits will be simple
break-beams, and the break switches will be the usual touching metal
connectors. Both types of circuits will use +5v as power and will
share a common ground. The output characteristics are listed in the
table below.
Unit Name |
No Intruder |
Intruder
Detected |
IR break-beam unit |
+5v |
0v |
Break switch |
+5v |
0v |
See appendix for IR and break-switch
circuit design.
All of the output coming from the
detection unit will pass through logic circuitry to clean up the
signals and invert them for processing. Also, a global enable signal
coming from the notification unit will control the detection unit
output. This will be achieved by running each of the detection
signals through a logical AND gate with the SYSTEM ENABLE signal.
The figure below depicts the basic layout of each of the
signals.
Notification Unit
Description
The notification unit consists of the SBC5307 Coldfire board
configured for parallel port general I/O. The Coldfire processor
will continuously poll the detection unit for status information. If
the detection unit is enabled, and an intruder is detected, the
notification unit will enable a siren and notify the owner via the
Internet. The software used to implement the notification unit is
described below.
Software Description
The software for the Coldfire-based notification unit has
three major functions: interact with the owner through a UI,
enable/disable the detection unit, and monitor the detection unit
for an intruder. Each function of the notification unit will be
discussed in greater detail in the paragraphs to follow.
User Interface
The user interface will consist of statically created
strings, a subroutine to display these strings, and functionality to
retrieve user input from the terminal keyboard. The strings will be
stored in memory in ASCII (byte) form. Each string will have a
pointer to its starting address, and a memory location containing
it’s length. The subroutine to display these strings will be a
simple loop that utilizes the board’s out_char trap 15 functionality
for each character in the string. User input will be handled using
the char_present and in_char trap 15 functionality. Each key entered
will be stored in memory, and upon a carriage return (CR), the
user-supplied input code will be compared to the alarm code by the
enable/disable section of software, which is described next.
Enable/Disable Functionality
The enable/disable functionality of the notification software
handles user code verification and alarm status toggling. When the
UI receives a user-supplied alarm code, it calls a subroutine that
verifies that the user code is correct, and based on the results of
that verification, toggles the alarm enable signal on or off. The
alarm enable signal is based off of parallel port pin number 3,
PP[3]. If enabled, the hex value $0x04 is logically OR’ed with the
current value of the parallel port data register, the PADAT,
resulting in PP[3] having a value 1. If disabled, the hex value
$0xFB is logically AND’ed with the current value of the parallel
port data register, the PADAT, resulting in PP[3] having a value 0.
The programming of the parallel port will be discussed in much
greater detail in the section below.
Detection Unit Monitoring
This portion of the notification unit software is probably
the most simple. After setting up the parallel port with the proper
configuration, the monitoring unit simply polls parallel port pins
7-4 (PP[7:4]) continuously, and upon receiving a non-zero value,
sounds the alarm and notifies the owner via the Internet. The
parallel port configuration and register values are as
follows:
Enable parallel ports 7-0, PP[7:0] |
PAR($0x10000004) = $0xFF00 |
PP[3:0] as output, PP[7:4] as input |
PADDR(0x10000244) =
$0x00F0 |
With the parallel port configured as
above, the data register (PADAT) can be continuously read, and a
mask applied to it to determine if an intruder is present or not. If
an intruder is detected, enabling PP[2] with a value of 1 starts the
alarm siren.
Appendix Listing