School Related

ICIDS – Internet Connected Intruder Detection System

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



Break switch



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

Email: mzinni@rimail.com
AOL Screenname: Zin9999