griet final report new[1]

Upload: suresh4ever

Post on 10-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 Griet Final Report New[1]

    1/72

    CHAPTER 1

    INTRODUCTION

    1

  • 8/8/2019 Griet Final Report New[1]

    2/72

    INTRODUCTION

    1.1 Project Overview

    The present project work wireless Industrial data communication on Ethernet network is

    basically a security system that can monitor multiple entry points(maximum 35 with

    AVR8515 microcontroller) into a building. we detect the status of doors/windows. The

    allowable status are 1. Door Broke Open, 2. Window Broken, 3. Both Are Broken.The status

    information is transmitted through wireless modules to a supervisory monitoring station.

    In the project work, for the demonstration purpose, a door and a window was

    considered for monitoring. A magnetic reed sensor detects when the door or window is

    opened and a signal is sent to the interrupt pin of the microcontroller.

    The microcontroller senses the interrupt and depending on the status of the flag bits,

    the microcontroller sends information to the receiver through wireless module. The

    microcontroller connected to the receiver analyses the information received and turns the

    buzzer on and also displays corresponding message on an LCD and that data is send through

    the Ethernet module (WIZ105SR)to the system.

    The low-cost of this system makes it viable for ready real time application as against the

    high priced solutions available today.

    The required DC power supply for the proper operation of the electronic circuitry in the

    demo module is derived from AC 230v 50Hz main line. This unit consists of an adapter,

    rectifier and regulator circuits. The overall demo modules is simple and requires less

    maintenance.

    APPLICATION AREAS

    The major area of application of wireless Industrial data communication on Ethernet

    network is industrial/home security systems. This can be used to monitor many doors and

    windows of a building. Using wireless transmitter and receiver, the building can be

    monitored from a distant place as well. The wireless technology can be used for a variety of

    applications like monitoring hazardous places, which help to take preemptive measures.

    2

  • 8/8/2019 Griet Final Report New[1]

    3/72

  • 8/8/2019 Griet Final Report New[1]

    4/72

    CHAPTER 2

    HARDWAREANDSOFTWAREREQUIREMENTS

    4

  • 8/8/2019 Griet Final Report New[1]

    5/72

    2.1 HARDWARE REQUIREMENTS

    5

    HARDWARE DESCRIPTION

    STT-433 and STR-433 modules These are the wireless transmitter and receiver whichoperates at 433MHZ, developed by SUNROMtechnologies.

    AVR Microcontroller The AT Mega 8515 is a low power CMOS 8 bitmicrocontroller based on the AVR enhancedRISC architecture.

    MAX 232 IC Port for USARTWith 9 Pin db Connector.

    It is Used for communication between the avrmicrocontroller to PC.

    WIZ105SR Ethernet module WIZ105SR is a gateway module between serialdevice and Ethernet.It can transmit serial data toEthernet and vice versa.

    Power Supply To design power supply of 5Volts to controller aswell to RF Modules.

  • 8/8/2019 Griet Final Report New[1]

    6/72

    Table 2.1 Hardware Requirements

    2.2 SOFTWARE REQUIREMENTS

    6

  • 8/8/2019 Griet Final Report New[1]

    7/72

    Table 2.2 Software Requirements

    7

    SOFTWARE DESCRIPTION

    WIN AVR Win Avr is a suite of executable ,opensource software development tools for theAtmel AVR series of RISC microprocessorshosted on the Windows platform. It includesthe GNU GCC compiler for C,C++..

    AVR Studio The AVR Simulator is software simulatorfor the avr architecture and devices.It

    simulates the cpu,including all

    instructions,interrupts and most

    of the on chip I/O modules.

    WIZ105SR Configuration Tool

    Version 2.1.0.

    WIZ105SR Configuration Tool is used to

    configure ip address.

    EDIT PLUS

    EditPlus is a text editor, HTML editor and

    programmers editor for Windows. While it can

    serve as a good Notepad replacement, it also

    offers many powerful features for Web page

    authors and programmers.

  • 8/8/2019 Griet Final Report New[1]

    8/72

    CHAPTER 3

    HARDWARE

    DESCRIPTION

    3.1 MAGNETIC REED SENSOR:

    8

  • 8/8/2019 Griet Final Report New[1]

    9/72

    The reed switch is an electrical switch operated by an applied magnetic field. It was invented

    at Bell Telephone Laboratories in 1936 by W. B. Ellwood. It consists of a pair of contacts on

    ferrous metal reeds in a hermetically sealed glass envelope. The contacts may be normally

    open, closing when a magnetic field is present, or normally closed and opening when a

    magnetic field is applied. The switch may be actuated by a coil, making a reed relay, or by

    bringing a magnet near to the switch. Once the magnet is pulled away from the switch, the

    reed switch will go back to its original position.

    An example of a reed switch's application is to detect the opening of a door, when used as a

    proximity switch for a burglar alarm

    Wireless Magnetic Door / Window Contact Sensor

    The Wireless Magnetic Door / Window Contact Sensor is a protective device that can send

    notification when the opening and closure of doors and windows occurs. It is designed to

    send a wireless signal to a compatible home security system when the contact between the

    transmitter and corresponding magnetic sensor is broken.

    Fig 3.1 Magnetic Door/Window Contact Sensor

    Magnetic contact used to monitor normally closed entry points such as doors and

    windows

    Wirelessly communicates with a compatible home security system up to 300 feet away

    Adjustable radio frequency settings and built-in technology prevent missed signals and

    transmission errors.

    3.1.1 Reed Switch features

    Ability to switch up to 10,000 Volts

    Ability to switch currents up to 5 Amps

    Ability to switch or carry as low as 10 nanoVolts without signal loss

    Ability to switch or carry as low as 1 femptoAmp without signal loss

    9

    http://www.smarthome.com/_/Security/Security_Systems/Visonic/_/H/1Rp/1x5/nav.aspxhttp://www.smarthome.com/_/Security/Security_Systems/Visonic/_/H/1Rp/1x5/nav.aspx
  • 8/8/2019 Griet Final Report New[1]

    10/72

    Ability to switch or carry up to 7 GigaHertz with minimal signal loss

    Isolation across the contacts up to 1015 W

    Contact resistance (on resistance) typical 50 milliOhms (mW)

    In its off state it requires no power or circuitry

    Ability to offer a latching feature

    Operate time in the 100 ms to 300 ms range

    Ability to operate over extreme temperature ranges from 55oC to 200oC

    Ability to operate in all types of environments including air, water, vacuum, oil, fuels,

    and dust laden atmospheres

    Ability to withstand shocks up to 200 Gs

    Ability to withstand vibration environments of 50 Hz to 2000 Hz at up to 30 Gs

    Long life. With no wearing parts, load switching under 5 Volts at 10 mA, will operate

    well into the billions of operations.

    3.2 TRANSMITTER (433 MHz RF Transmitter STT-433)

    3.2.1 OVERVIEW:

    The STT-433 is ideal for remote control applications where lowcost and longer range is

    required. The transmitter operates from a 1.5-12V supply, making it ideal for battery-

    powered applications.The transmitter employs a SAW-stabilized oscillator, ensuring accurate

    frequency control for best range performance. Output power and harmonic emissions are easy

    to control, making FCC and ETSI compliance easy. The manufacturing-friendly SIP style

    package and low-cost make the STT-433 suitable for high volume applications.

    This is the wireless transmitter which operates at 433MHZ frequency, developed by

    SUNROM technologies. Theoretical range is around 100 meters.STT-433 consists of 4pins

    viz., antenna, ground, data, VCC. The information to be transmitted is given to data pin of

    transmitter and wireless transmission is done through antenna pin.

    3.2.2 ASSEMBLED VIEW:

    10

  • 8/8/2019 Griet Final Report New[1]

    11/72

    STT-433 SYMBOL STT-433 PACKAGE

    Fig 3.2.2 Assembled View of Transmitter(STT-433MHZ)

    11

  • 8/8/2019 Griet Final Report New[1]

    12/72

    3.2.3 TRANSMITTER SCHEMATIC:

    Fig 3.2.3 Transmitter Schematic

    3.2.4 TRANSMITTER BOARD:

    Fig 3.2.4 Transmitter Board

    3.2.5 FEATURES:

    12

  • 8/8/2019 Griet Final Report New[1]

    13/72

    433.92 MHz Frequency LOW Cost 1.5-12V operation

    11mA current consumption at 3V

    Small size

    4 dBm output power at 3V

    3.2.6 PIN CONFIGURATIONS:

    STT-433

    Table 3.2.6 STT-433 Pin Configurations

    3.2.7 OPERATION:

    THEORY

    OOK(On Off Keying) modulation is a binary form of amplitude modulation. When a

    logical 0 (data line low) is being sent, the transmitter is off, fully suppressing the carrier. In

    this state, the transmitter current is very low, less than 1mA. When a logical 1 is being sent,

    13

  • 8/8/2019 Griet Final Report New[1]

    14/72

    the carrier is fully on. In this state, the module current consumption is at its highest, about

    11mA with a 3V power supply.

    OOK is the modulation method of choice for remote control applications where power

    consumption and cost are the primary factors. Because OOK transmitters draw no power

    when they transmit a 0, they exhibit significantly better power consumption than FSK

    transmitters.

    OOK data rate is limited by the start-up time of the oscillator. High-Q oscillators which have

    very stable center frequencies take longer to start-up than low-Q oscillators. The start-up time

    of the oscillator determines the maximum data rate that the transmitter can send.

    Data Rate

    The oscillator start-up time is on the order of 40uSec, which limits the maximum data rate to

    4.8 kbit/sec.

    Typical Application

    Fig 3.2.7 Typical Application for STT-433

    14

  • 8/8/2019 Griet Final Report New[1]

    15/72

    3.3 RECIEVER (433 MHz RF Reciever STR-433)

    3.3.1 OVERVIEW:

    The STR-433 is ideal for short-range remote control applications where cost is a primary

    concern. The receiver module requires no external RF components except for the antenna. It

    generates virtually no emissions, making FCC and ETSI approvals easy. The super

    regenerative design exhibits exceptional sensitivity at a very low cost. The manufacturing-

    friendly SIP style package and low-cost make the STR-433 suitable for high volume

    applications.

    This is the wireless transmitter which operates at 433MHZ frequency, developed by

    SUNROM technologies. Theoretical range is around 100 meters.STT-433 consists of 4pinsviz., antenna, ground, data, VCC. The antenna pin of receiver receives the data and sends it to

    microcontroller through data pin.

    3.3.2 ASSEMBLED VIEW:

    15

  • 8/8/2019 Griet Final Report New[1]

    16/72

    STR-433 SYMBOL STR-433 PACKAGE

    Fig 3.3.2 Assembeled View of Reciever(STR-433MHZ)

    3.3.3 RECEIVER SCHEMATIC:

    Fig 3.3.3 Reciever Schematic

    3.3.4 RECEIVER BOARD:

    16

  • 8/8/2019 Griet Final Report New[1]

    17/72

    Fig 3.3.4 Reciever Board

    3.3.5 FEATURES:

    LOW Cost 5 volts operation

    3.5mA current drain

    No External Parts are required

    Receiver Frequency: 433.92 MHZ

    Typical sensitivity: -105dBm

    IF Frequency: 1MHz

    3.3.6 PIN CONFIGURATIONS:

    STR-433

    17

  • 8/8/2019 Griet Final Report New[1]

    18/72

    Table 3.3.6 STR-433 Pin Configurations

    3.3.7 OPERATION:

    Super-Regenerative AM Detection:

    The STR-433 uses a super-regenerative AM detector to demodulate the incoming AM carrier.

    A superregenerative detector is a gain stage with positive feedback greater than unity so that

    it oscillates. An RC-time constant is included in the gain stage so that when the gain stage

    oscillates, the gain will be lowered over time proportional to the RC time constant until the

    oscillation eventually dies. When the oscillation dies, the current draw of the gain stage

    decreases, charging the RC circuit, increasing the gain, and ultimately the oscillation starts

    again.

    Data Slicer:

    The data slicer converts the base-band analog signal from the super-regenerative detector to a

    CMOS/TTL compatible output. Because the data slicer is AC coupled to the audio output,

    there is a minimum data rate. AC coupling also limits the minimum and maximum pulse

    width. Typically, data is encoded on the transmit side using pulse-width modulation (PWM)

    or non-return-to-zero (NRZ).

    Antenna Input:

    It will support most antenna types, including printed antennas integrated directly onto the

    PCB and simple single core wire of about 17cm. The performance of the different antennas

    varies. Any time a trace is longer than 1/8th the wavelength of the frequency it is carrying, it

    should be a 50 ohm microstrip.

    Power Supply:

    The STR-433 is designed to operate from a 5V power supply. It is crucial that this power

    supply be very quiet. The power supply should be bypassed using a 0.1uF low-ESR ceramic

    18

  • 8/8/2019 Griet Final Report New[1]

    19/72

    capacitor and a 4.7uF tantalum capacitor. These capacitors should be placed as close to the

    power pins as possible. The STR-433 is designed for continuous duty operation. From the

    time power is applied, it can take up to 750mSec for the data output to become valid

    Typical Application:

    Fig 3.3.7 Typical Application for STR-433

    3.4 AVR MICRO CONTROLLER(ATMEGA 8515)

    3.4.1 OVERVIEW:

    The ATmega8515 is a low-power CMOS 8-bit microcontroller based on the AVR

    enhanced RISC architecture. By executing powerful instructions in a single clock cycle, the

    ATmega128 achieves throughputs approaching 1 MIPS per MHz allowing the system

    designer to optimize power consumption versus processing speed.

    The AVR core combines a rich instruction set with 32 general purpose working

    registers. All the 32 registers are directly connected to the Arithmetic Logic Unit (ALU),

    allowing two independent registers to be accessed in one single instruction executed in one

    clock cycle. The resulting architecture is more code efficient while achieving throughputs up

    to ten times faster than conventional CISC microcontrollers.

    The ATmega8515 provides the following features: 128K bytes of In-System

    Programmable Flash with Read-While-Write capabilities, 4K bytes EEPROM, 4K bytes

    SRAM, 53 general purpose I/O lines, 32 general purpose working registers, Real TimeCounter (RTC), four flexible Timer/Counters with compare modes and PWM, 2 USARTs, a

    19

  • 8/8/2019 Griet Final Report New[1]

    20/72

    byte oriented Two-wire Serial Interface, an 8-channel, 10-bit ADC with optional differential

    input stage with programmable gain, programmable Watchdog Timer with Internal

    Oscillator, an SPI serial port, IEEE std. 1149.1 compliant JTAG test interface, also used for

    accessing the On-chip Debug system and programming and six software selectable power

    saving modes. The Idle mode stops the CPU while allowing the SRAM, Timer/Counters, SPI

    port, and interrupt system to continue functioning. The Power down mode saves the register

    contents but freezes the Oscillator, disabling all other chip functions until the next interrupt or

    Hardware Reset. In Power-save mode, the asynchronous timer continues to run, allowing the

    user to maintain a timer base while the rest of the device is sleeping. The ADC Noise

    Reduction mode stops the CPU and all I/O modules except Asynchronous Timer and ADC,

    to minimize switching noise during ADC conversions. In Standby mode, the

    Crystal/Resonator Oscillator is running while the rest of the device is sleeping.

    This allows very fast start-up combined with low power consumption. In Extended Standby

    mode, both the main Oscillator and the Asynchronous Timer continue to run.

    The device is manufactured using Atmels high-density nonvolatile memory technology. The

    On-chip ISP Flash allows the program memory to be reprogrammed in-system through an

    SPI serial interface, by a conventional nonvolatile memory programmer, or by an On-chip

    Boot program running on the AVR core. The boot program can use any interface to download

    the application program in the application Flash memory. Software in the Boot Flash section

    will continue to run while the Application Flash section is updated, providing true Read-

    While-Write operation. By combining an 8-bit RISC CPU with In-System Self-

    Programmable Flash on a monolithic chip, the Atmel ATmega128 is a powerful

    microcontroller that provides a highly flexible and cost effective solution to many embedded

    control applications.

    The ATmega8515 AVR is supported with a full suite of program and system

    development tools including: C compilers, macro assemblers, program debugger/simulators,

    in-circuit emulators, and evaluation kits.

    3.4.2 FEATURES:

    ->High-performance, Low-power AVR 8-bit Microcontroller

    ->Advanced RISC Architecture->130 Powerful Instructions Most Single Clock Cycle Execution

    20

  • 8/8/2019 Griet Final Report New[1]

    21/72

    ->32 x 8 General Purpose Working Registers + Peripheral Control Registers

    ->Fully Static Operation

    -> Up to 16 MIPS Throughput at 16 MHz

    ->On-chip 2-cycle Multiplier

    Nonvolatile Program and Data Memories:

    8K Bytes of In-System Reprogrammable Flash

    Endurance: 10,000 Write/Erase Cycles

    Optional Boot Code Section with Independent Lock Bits

    In-System Programming by On-chip Boot Program

    True Read-While-Write Operation

    512 Bytes EEPROM

    Endurance: 100,000 Write/Erase Cycles

    512 Bytes Internal SRAM

    Up to 64K Bytes Optional External Memory Space

    Programming Lock for Software Security

    SPI Interface for In-System Programming

    Extensive On-chip Debug Support

    Programming of Flash, EEPROM, Fuses and Lock Bits through the JTAG Interface

    Peripheral Features

    One 8-bit Timer/Counter with Separate Prescaler and Compare Mode

    One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture

    Mode

    Three PWM Channels

    Programmable Serial USART

    Master/Slave SPI Serial Interface

    Programmable Watchdog Timer with Separate On-chip Oscillator

    On-chip Analog Comparator

    Special Microcontroller Features

    Power-on Reset and Programmable Brown-out Detection

    Internal Calibrated RC Oscillator

    External and Internal Interrupt Sources

    21

  • 8/8/2019 Griet Final Report New[1]

    22/72

    Three Sleep Modes: Idle, Power-down and Standby

    I/O and Packages

    35 Programmable I/O Lines

    40-pin PDIP, 44-lead TQFP, 44-lead PLCC, and 44-pad ML

    Operating Voltages

    2.7 - 5.5V for ATmega8515L

    4.5 - 5.5V for ATmega8515

    Speed Grades

    0 - 8 MHz for ATmega8515L

    0 - 16 MHz for ATmega8515

    3.4.3 PIN CONFIGURATIONS:

    Fig 3.4.3 ATMEGA8515 Pin configuration

    Pin Descriptions:

    VCC: Digital supply voltage

    22

  • 8/8/2019 Griet Final Report New[1]

    23/72

    .GND: Ground.

    Port A (PA7...PA0):

    Port A is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for

    each bit). The Port A output buffers have symmetrical drive characteristics with both high

    sink and source capability. As inputs, Port A pins that are externally pulled low will source

    current if the pull-up resistors are activated. The Port A pins are tri-stated when a reset

    condition becomes active, even if the clock is not running. Port A also serves the functions of

    various special features of the ATmega8515.

    Port B (PB7...PB0):

    Port B is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for

    each bit). The Port B output buffers have symmetrical drive characteristics with both high

    sink and source capability. As inputs, Port B pins that are externally pulled low will source

    current if the pull-up resistors are activated. The Port B pins are tri-stated when a reset

    condition becomes active, even if the clock is not running. Port B also serves the functions of

    various special features of the ATmega8515.

    Port C (PC7...PC0):

    Port C is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for

    each bit). The Port C output buffers have symmetrical drive characteristics with both high

    sink and source capability. As inputs, Port C pins that are externally pulled low will source

    current if the pull-up resistors are activated. The Port C pins are tri-stated when a reset

    condition becomes active, even if the clock is not running. Port C also serves the functions of

    special features of the ATmega8515.

    Port D (PD7...PD0) :

    Port D is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for

    each bit). The Port D output buffers have symmetrical drive characteristics with both high

    sink and source capability. As inputs, Port D pins that are externally pulled low will source

    current if the pull-up resistors are activated. The Port D pins are tri-stated when a reset

    condition becomes active, even if the clock is not running. Port D also serves the functions of

    various special features of the ATmega8515.

    23

  • 8/8/2019 Griet Final Report New[1]

    24/72

    Port E(PE2..PE0) :

    Port E is an 3-bit bi-directional I/O port with internal pull-up resistors (selected for

    each bit). The Port E output buffers have symmetrical drive characteristics with both highsink and source capability. As inputs, Port E pins that are externally pulled low will source

    current if the pull-up resistors are activated. The Port E pins are tri-stated when a reset

    condition becomes active, even if the clock is not running.

    RESET:

    Reset input. A low level on this pin for longer than the minimum pulse length will

    generate a reset, even if the clock is not running. Shorter pulses are not guaranteed to

    generate a reset.

    XTAL1: Input to the inverting Oscillator amplifier and input to the internal clock operating

    circuit.

    XTAL2: Output from the inverting Oscillator amplifier.

    3.4.4 AVR CPU CORE

    3.4.4.1 Introduction

    This section discusses the AVR core architecture in general. The main function of the

    CPU core is to ensure correct program execution. The CPU must therefore be able to access

    memories, perform calculations, control peripherals and handle interrupts.

    3.4.4.2 Block Diagram of the AVR Architecture:

    24

  • 8/8/2019 Griet Final Report New[1]

    25/72

    Fig 3.4.4.2 Block Diagram of the AVR Architecture

    3.4.4.3 Architectural Overview:

    In order to maximize performance and parallelism, the AVR uses a Harvard

    architecture with separate memories and buses for program and data. Instructions in the

    program memory are executed with a single level pipelining. While one instruction is being

    executed, the next instruction is pre-fetched from the program memory. This concept enables

    instructions to be executed in every clock cycle. The program memory is In-System

    Reprogrammable Flash memory.

    25

  • 8/8/2019 Griet Final Report New[1]

    26/72

    The fast-access Register file contains 32 x 8-bit general purpose working registers

    with a single clock cycle access time. This allows single-cycle Arithmetic Logic Unit (ALU)

    operation. In a typical ALU operation, two operands are output from the Register file, the

    operation is executed, and the result is stored back in the Register file in one clock cycle.

    Six of the 32 registers can be used as three 16-bit indirect address register pointers for

    Data Space addressing enabling efficient address calculations. One of the these address

    pointers can also be used as an address pointer for look up tables in Flash Program memory.

    These added function registers are the 16-bit X-register, Y-register and Z-register, described

    later in this section.

    The ALU supports arithmetic and logic operations between registers or between a

    constant and a register. Single register operations can also be executed in the ALU. After an

    arithmetic operation, the Status Register is updated to reflect information about the result of

    the operation.

    Program flow is provided by conditional and unconditional jump and call instructions,

    able to directly address the whole address space. Most AVR instructions have a single 16-bit

    word format. Every program memory address contains a 16- or 32-bit instruction. Program

    Flash memory space is divided in two sections, the Boot Program section and the Application

    Program section. Both sections have dedicated Lock bits for write and read/write protection.

    The SPM instruction that writes into the Application Flash Memory section must reside in the

    Boot Program section.

    3.4.4.4 AVR ATmega 8515 Memories:

    This section describes the different memories in the ATmega8515. The AVR

    architecture has two main memory spaces, the Data Memory and the Program memory space.

    In addition, the ATmega8515 features an EEPROM Memory for data storage. All three

    memory spaces are linear and regular.

    In-System Reprogrammable Flash Program memory:

    The ATmega8515 contains 8K bytes of On-chip In-System Reprogrammable Flash

    memory for program storage. Since all AVR instructions are 16 or 32 bits wide, the Flash is

    26

  • 8/8/2019 Griet Final Report New[1]

    27/72

    organized as 4K x 16. For software security, the Flash Program memory space is divided into

    two sections, Boot Program section and Application Program section.

    The Flash memory has an endurance of at least 10,000 write/erase cycles.

    TheATmega8515 Program Counter (PC) is 12 bits wide, thus addressing the 4K Program

    memory locations. The operation of Boot Program section and associated Boot Lock bits for

    software protection.

    Fig: 3.4.4.4 Flash Program Memory of ATmega8515

    SRAM Data Memory:

    The lower 608 Data Memory locations address the RegisterFile, the I/O Memory, and

    the internal data SRAM. The first 96 locations address the Register File and I/O Memory, and

    the next 512 locations address the internal data SRAM.

    An optional external data SRAM can be used with the ATmega8515. This SRAM will

    occupy an area in the remaining address locations in the 64K address space. This area starts

    at the address following the internal SRAM. The Register File, I/O, Extended I/O and

    27

  • 8/8/2019 Griet Final Report New[1]

    28/72

    Internal SRAM occupies the lowest 608 bytes in normal mode, so when using 64KB (65536

    bytes) of External Memory, 64928 Bytes of External Memory are available.

    When the addresses accessing the SRAM memory space exceeds the internal

    Datamemory locations, the external data SRAM is accessed using the same instructions as for

    the internal Data memory access. When the internal data memories are accessed, the read and

    write strobe pins (PD7 and PD6) are inactive during the whole access cycle. External SRAM

    operation is enabled by setting the SRE bit in the MCUCRRegister.

    Accessing external SRAM takes one additional clock cycle per byte compared to

    access of the internal SRAM. This means that the commands LD, ST, LDS, STS,LDD, STD,PUSH, andPOP take one additional clock cycle. If the Stack is placed in external SRAM,

    interrupts, subroutine calls and returns take three clock cycles extra because the two-byte

    Program Counter is pushed and popped, and external memory access does not take advantage

    of the internal pipe-line memory access. When external SRAM interface is used with wait-

    state, one-byte external access takes two, three, or four additional clock cycles for one, two,

    and three wait-states respectively. Interrupts, subroutine calls and returns will need five,

    seven, or nine clock cycles more than specified in the instruction set manual for one, two, and

    three wait-states.

    The five different addressing modes for the Data memory cover: Direct, Indirect with

    Displacement, Indirect, Indirect with Pre-decrement, and Indirect with Post-increment. In the

    Register File, registers R26 to R31 feature the indirect addressing pointer registers.

    The direct addressing reaches the entire data space. The Indirect with Displacement

    mode reaches 63 address locations from the base address given by the Y- or Z-register. When

    using register indirect addressing modes with automatic pre-decrement and post increment,

    the address registers X, Y, and Z are decremented or incremented.

    The 32 general purpose working registers, 64 I/O Registers, and the 512 bytes of

    internal data SRAM in the ATmega8515 are all accessible through all these addressing

    modes.

    28

  • 8/8/2019 Griet Final Report New[1]

    29/72

    Fig 3.4.4.5: RAM Organization of ATmega8515

    CHAPTER 4

    ETHERNET MODULE (WIZ105SR)

    29

  • 8/8/2019 Griet Final Report New[1]

    30/72

    4.1 INTRODUCTION:

    WIZ105SR is a gateway module between serial device and Ethernet. It can transmit

    serial data to Ethernet and vice versa. With WIZ105SR, We can connect the serial device

    with Ethernet via WIZ105SR provides interface quite easier and shorten our development

    periodto obtain more gains.

    This provide full functional configuration tools for WIZ105SR. We can set

    WIZ105SR upon our needs by using serial configuration command when WIZ105SR is in

    30

  • 8/8/2019 Griet Final Report New[1]

    31/72

    serial configuration mode or using provided configuration tool via Ethernet to make

    WIZ105SR embedded in our products well.

    4.1.1 FEATURES:

    High speed Serial-to-Ethernet gateway module with an RJ-45 jack

    High stability and reliability Ethernet connection solution

    10/100Mbps Ethernet interface supported with full hardwired TCP/IP stack

    chip W5100

    Up to 230Kbps serial communication interface

    Serial configuration commands support

    Simple command frame format

    Comprehensive & readable command set for network and serial settings

    On-site configuration without PC

    Powerful remote configuration tool

    RoHS compliant

    4.1.2 PRODUCT SPECIFICATION:

    WIZ105SR Module:

    WIZ105SR uses a high performance 8051 compatible microcontroller which feathers

    62K in chip Flash, 16K in chip SRAM and 2K EEPROM. WIZ105SR feathers our fast

    hardwired TCP/IP stack chip W5100 and most of TCP/IP protocols such as TCP, UDP, IP,

    ARP, ICMP, IGMP, PPPoE and Ethernet MAC are all supported. 10Mbps and 100Mbps

    Ethernet are all supported and one standard Ethernet Jack is mounted in WIZ105SR. One

    serial port is provided in WIZ105SR via 12-pin connector which feathers standard RS-232

    specification. WIZ105SR can be powered by a DC 3.3V power supply with at least 200mA

    current supply. The detailed specifications are listed in below Table

    31

  • 8/8/2019 Griet Final Report New[1]

    32/72

    Table4.1.2.1: WIZ105SR Module Specification

    Connector Pin Assignment:

    WIZ105SR provides an external connector to connect it with your application board. The pin

    assignment and definition of the connector are introduced in Figure.1 and the specification of

    each pin is described in below Table.

    Figure 4.1.2.1: WIZ105SR Connector Pin Assignment and Definition

    32

  • 8/8/2019 Griet Final Report New[1]

    33/72

    Table 4.1.2.2: Pin Assignment

    RJ-45 Pin Assignment:

    The pin assignment of Ethernet Jack RJ-45 is described in Figure 2, and description of each

    pin is introduced in below Table.

    Fig 4.1.2.2: Pin Assignment of RJ-45 in WIZ105SR

    Table 4.1.2.3: Pin Definition of RJ-4

    33

  • 8/8/2019 Griet Final Report New[1]

    34/72

    4.2 CONFIGURATION FOR WIZ105SR:

    This chapter describes the configuration steps of WIZ105SR. The following listed items

    which are included in your WIZ105SR-EVB package will be required in configuration.Power Adapter (included in the WIZ105SR-EVB package)

    Serial and Ethernet Cable (included in the of WIZ105SR-EVB package)

    A computer with Network Interface Card ( NIC) and/or one RS232 serial port

    If you have prepared those things, the configuration of WIZ105SR can be getting started.

    The board connection steps are introduced in section 4.2.1

    4.2.1 Hardware Installation ProcedureThe following steps are required while to set up the configuration environment for

    WIZ105SR and the connection diagram is shown in Figure

    Fig 4.2.1 WIZ105SR Configuration

    STEP 1: Connect the WIZ105SR module to the test board by using the 12pin cable.

    STEP 2: Connect the 3.3V DC power line to the power jack of the test board.

    STEP 3: Use the RJ45 Ethernet cable in order to connect the module to an Ethernet

    network.

    STEP 4: Use the serial data cable to connect the test board to a serial device.

    34

  • 8/8/2019 Griet Final Report New[1]

    35/72

    4.2.2 Network Configuration

    Fig 4.2.2. Configuration Tool (Network Config)

    Version : Displays firmware version.

    Enable Serial Debug Mode : If this mode is checked, you can monitor the status module

    and socket message (listen OK, connect fail etc.) through serial terminal. If Debug mode is

    on, debug message can cause abnormal operation of the serial device. Therefore, just use this

    mode only for Debug mode.

    Board List : If you click Search button, all the MAC addresses on a same subnet, will be

    displayed.

    IP Configuration Method: Select IP setting mode, you can select one of Static, DHCP,

    PPPoE mode.

    35

  • 8/8/2019 Griet Final Report New[1]

    36/72

    Static: Static is option for setting WIZ105SR IP with static IP address. Firstly, select MAC

    address which you wanted to set as static IP in the board list. Then Local IP, Subnet,

    Hardwired Internet Connectivity Wizard (WIZnet, Inc.)

    Gateway box will be enabled. Input Static IP address and click setting button. Then set the

    IP address as you wanted. (PPPoE ID, Password box is disabled)

    DHCP: Set this option to use DHCP mode. Firstly, check DHCP and click Setting button.

    If IP address is successfully acquired from DHCP server, the MAC address will be displayed

    on the configuration window. (It takes some time to acquire IP address from DHCP server)

    When a module on the board list is selected, IP address, Subnet mask and Gateway are

    displayed. If module could not acquire network information from DHCP server, IP address,

    Gateway Address and Subnet mask will be initialized to 0.0.0.0.

    PPPoE : WIZ105SR supports PPPoE for ADSL user. When you select PPPoE at the IP

    Configuration Method, PPPoE ID & Password box is enabled.

    1. To set PPPoE, connect PC to WIZ105SR directly and execute Configuration Tool program

    on PC. (Configuration Tool Version should be 2.1 or above)

    2. Select PPPoE of the IP Configuration Method tab and input ID & Password.

    3. Click setting button to apply.

    4. Connect Module to ADSL Line.

    5. If Enable Serial Debug Mode is selected, you can see PPPoE access status via serial

    console.

    Local IP/Port : WIZ105SRs IP address and Port number for network connection

    Subnet : WIZ105SRs subnet mask

    Gateway : WIZ105SRs Gateway address

    PPPoE ID/Password : If you select PPPoE mode, input ID/Password which you received

    from ISP company.

    Server IP/Port : When WIZ105SR is set as Client mode or Mixed mode, server IP and

    port should be set. WIZ105SR attempts to connect this IP address.

    Network mode:

    client/server/mixed : This is to select the communication method based on TCP. TCP is the

    protocol to establish the connection before data communication, but UDP just processes the

    data communication without connection establishment.

    36

  • 8/8/2019 Griet Final Report New[1]

    37/72

    The Network mode of WIZ105SR can be divided into TCP Server, TCP Client and Mixed

    mode according to the connection establishing method. At the TCP server mode,

    WIZ105SR operates as server on the process of connection, and waits for the connection trial

    from the client. WIZ105SR operates as client at the TCP Client mode on the process of

    connection, and tries to connect to the servers IP and Port. Mixed modes supports both of

    Server and Client. The communication process of each mode is as below.

    TCP server mode Communication

    Fig42.2.1. TCP Server mode

    At the TCP Server mode, WIZ105SR waits for the connection requests. TCP Server mode

    can be useful when the monitoring center tries to connect to the device (where WIZ105SR is

    installed) in order to check the status or provide the commands. In normal time WIZ105SR is

    on the waiting status, and if there is any connection request (SYN) from the monitoring

    center, the connection is established (ESTABLISH), and data communication is processed

    (Data Transanction). Finally connection is closed (FIN).

    In order to operate this mode, Local IP, Subnet, Gateway Address and Local Port Number

    should be configured first.

    As illustrated in the above figure, data transmission proceeds as follows,

    1. The host connects to the WIZ105SR which is configured as TCP Server mode.

    37

  • 8/8/2019 Griet Final Report New[1]

    38/72

    2. As the connection is established, data can be transmitted in both directions from the host

    to the WIZ105SR, and from the WIZ105SR to the host.

    TCP client mode Communication

    Fig 4.2.2.3 . TCP Client mode

    If WIZ105SR is set as TCP Client, it tries to establish connection to the server.

    To operate this mode, Local IP, Subnet, Gateway Address, Server IP, and Server port number

    should be set. If server IP had domain name, use DNS function.

    In TCP Client mode, WIZ105SR can actively establish a TCP connection to a host computer

    when power is supplied.

    As illustrated in the above figure, data transmission proceeds as follows:

    1. As power is supplied, WIZ105SR board operating as TCP client mode actively establishes

    a connection to the server.

    2. If the connection is complete, data can be transmitted in both directions from the host

    to the WIZ105SR and from WIZ105SR to the host.

    38

  • 8/8/2019 Griet Final Report New[1]

    39/72

    4.2.3 Serial configuration

    Fig 4.2.3. Configuration Tool (Serial Config.)

    Serial

    Serial Configuration value of selected module is displayed.In order to change the serial

    configuration of WIZ105SR, this menu can be used.

    Option configuration

    Fig4.2.3.1. Configuration Tool (Option Config.)

    39

  • 8/8/2019 Griet Final Report New[1]

    40/72

    Fig 4.2.3.2. Operation Mode for Password Setting

    Data Transmission

    Run terminal emulator program (e.g. Hyper terminal) on Test PC. Set the baud rate as the

    same value of WIZ105SR.

    Fig 4.2.3.3. Serial Terminal Program configuration

    Execute another Hyper terminal and set the IP address and port number.

    40

  • 8/8/2019 Griet Final Report New[1]

    41/72

    Type some character on the serial Hyper terminal screen. In this example, 01234567890

    is entered. Make sure this data is shown on the Network Hyper terminal window. (Serial to

    Ethernet).

    Fig 4.2.3.4: Received Data by Network Terminal Program

    41

  • 8/8/2019 Griet Final Report New[1]

    42/72

    CHAPTER 5USART

    PROTOCOL

    42

  • 8/8/2019 Griet Final Report New[1]

    43/72

    5.1 USART PROTOCOL

    5.1.1 OVERVIEW:

    Some early telegraph schemes used variable-length pulses and rotating clockwork

    mechanisms to transmit alphabetic characters. The first UART-like devices (with fixed-

    length pulses) were rotating mechanical switches (commutators). These sent 5-bit Baudot

    codes for mechanical teletypewriters, and replaced morse code. Later, ASCII required a

    seven bit code. When IBM built computers in the early 1960s with 8-bit characters, it became

    customary to store the ASCII code in 8 bits.

    The Universal Asynchronous Receiver/Transmitter (UART) controller is the key componentof the serial communications subsystem of a computer. The UART takes bytes of data and

    transmits the individual bits in a sequential fashion. At the destination, a second UART re-

    assembles the bits into complete bytes.

    Serial transmission is commonly used with modems and for non-networked communication

    between computers, terminals and other devices.

    There are two primary forms of serial transmission: Synchronous and Asynchronous.

    Depending on the modes that are supported by the hardware, the name of the communication

    sub-system will usually include a A if it supports Asynchronous communications, and a S if it

    supports Synchronous communications. Both forms are described below.

    Some common acronyms are:

    UART Universal Asynchronous Receiver/Transmitter

    USART Universal Synchronous-Asynchronous Receiver/Transmitter

    5.1.2 Synchronous Serial Transmission

    Synchronous serial transmission requires that the sender and receiver share a clock

    with one another, or that the sender provide a strobe or other timing signal so that the receiver

    knows when to read the next bit of the data. In most forms of serial Synchronous

    communication, if there is no data available at a given instant to transmit, a fill character must

    be sent instead so that data is always being transmitted. Synchronous communication is

    usually more efficient because only data bits are transmitted between sender and receiver, and

    43

    http://en.wikipedia.org/wiki/ASCIIhttp://en.wikipedia.org/wiki/1960shttp://en.wikipedia.org/wiki/ASCIIhttp://en.wikipedia.org/wiki/1960s
  • 8/8/2019 Griet Final Report New[1]

    44/72

    synchronous communication can be more costly if extra wiring and circuits are required to

    share a clock signal between the sender and receiver.

    A form of Synchronous transmission is used with printers and fixed disk devices in

    that the data is sent on one set of wires while a clock or strobe is sent on a different wire.

    Printers and fixed disk devices are not normally serial devices because most fixed disk

    interface standards send an entire word of data for each clock or strobe signal by using a

    separate wire for each bit of the word. In the PC industry, these are known as Parallel

    devices.

    The standard serial communications hardware in the PC does not support Synchronous

    operations. This mode is described here for comparison purposes only.

    5.1.3Asynchronous Serial Transmission

    Asynchronous transmission allows data to be transmitted without the sender having to

    send a clock signal to the receiver. Instead, the sender and receiver must agree on timing

    parameters in advance and special bits are added to each word which are used to synchronize

    the sending and receiving units.

    When a word is given to the UART for Asynchronous transmissions, a bit called the

    "Start Bit" is added to the beginning of each word that is to be transmitted. The Start Bit is

    used to alert the receiver that a word of data is about to be sent, and to force the clock in the

    receiver into synchronization with the clock in the transmitter. These two clocks must be

    accurate enough to not have the frequency drift by more than 10% during the transmission of

    the remaining bits in the word. (This requirement was set in the days of mechanical

    teleprinters and is easily met by modern electronic equipment.)

    After the Start Bit, the individual bits of the word of data are sent, with the Least

    Significant Bit (LSB) being sent first. Each bit in the transmission is transmitted for exactly

    the same amount of time as all of the other bits, and the receiver looks at the wire at

    approximately halfway through the period assigned to each bit to determine if the bit is a 1 or

    a 0. For example, if it takes two seconds to send each bit, the receiver will examine the signal

    to determine if it is a 1 or a 0 after one second has passed, then it will wait two seconds and

    then examine the value of the next bit, and so on.

    44

  • 8/8/2019 Griet Final Report New[1]

    45/72

    The sender does not know when the receiver has looked at the value of the bit. The sender

    only knows when the clock says to begin transmitting the next bit of the word.

    When the entire data word has been sent, the transmitter may add a Parity Bit that the

    transmitter generates. The Parity Bit may be used by the receiver to perform simple error

    checking. Then at least one Stop Bit is sent by the transmitter.

    When the receiver has received all of the bits in the data word, it may check for the

    Parity Bits (both sender and receiver must agree on whether a Parity Bit is to be used), and

    then the receiver looks for a Stop Bit. If the Stop Bit does not appear when it is supposed to,

    the UART considers the entire word to be garbled and will report a Framing Error to the host

    processor when the data word is read. The usual cause of a Framing Error is that the sender

    and receiver clocks were not running at the same speed, or that the signal was interrupted.

    Regardless of whether the data was received correctly or not, the UART automatically

    discards the Start, Parity and Stop bits. If the sender and receiver are configured identically,

    these bits are not passed to the host.

    If another word is ready for transmission, the Start Bit for the new word can be sent as soon

    as the Stop Bit for the previous word has been sent.

    Because asynchronous data is self synchronizing, if there is no data to transmit, thetransmission line can be idle.

    5.1.4 USART ON AVR (ATMega 8515)

    Features

    USART The Universal Synchronous and Asynchronous serial Receiver and Transmitter

    (USART) is a highly flexible serial communication device. The main features are:

    Full Duplex Operation (Independent Serial Receive and Transmit Registers)

    Asynchronous or Synchronous Operation

    Master or Slave Clocked Synchronous Operation

    High Resolution Baud Rate Generator

    Supports Serial Frames with 5, 6, 7, 8, or 9 Data Bits and 1 or 2 Stop Bits

    Odd or Even Parity Generation and Parity Check Supported by Hardware

    Data Overrun Detection

    Framing Error Detection

    Noise Filtering Includes False Start Bit Detection and Digital Low Pass Filter

    45

  • 8/8/2019 Griet Final Report New[1]

    46/72

    Three Separate Interrupts on TX Complete, TX Data Register Empty, and RX Complete

    Multi-processor Communication Mode

    Double Speed Asynchronous Communication Mode

    5.1.5 USART Block Diagram

    Fig 5.1.5 Usart Block Diagram

    46

  • 8/8/2019 Griet Final Report New[1]

    47/72

    5.1.6 BLOCK DIAGRAM DESCRIPTIONS

    The dashed boxes in the block diagram separate the three main parts of the USART (listed

    from the top): Clock Generator, Transmitter, and Receiver. Control registers are shared by all

    units. The clock generation logic consists of synchronization logic for external clock inputused by synchronous slave operation, and the baud rate generator. The XCK (Transfer Clock)

    pin is only used by Synchronous Transfer mode. The Transmitter consists of a single write

    buffer, a serial Shift Register, parity generator and control logic for handling different serial

    frame formats. The write buffer allows a continuous transfer of data without any delay

    between frames. The Receiver is the most complex part of the USART module due to its

    clock and data recovery units. The recovery units are used for asynchronous data reception.

    In addition to the recovery units, the receiver includes a parity checker, control logic, a Shift

    Register and a two level receive buffer (UDR). The receiver supports the same frame formats

    as the Transmitter, and can detect frame error, data overrun and parity errors.

    Clock Generation

    The clock generation logic generates the base clock for the transmitter and receiver. The

    USART supports four modes of clock operation: Normal Asynchronous, Double Speed

    Asynchronous, Master Synchronous, and Slave Synchronous mode. The UMSEL bit in

    USART Control and Status Register C (UCSRC) selects between asynchronous and

    synchronous operation. Double speed (Asynchronous mode only) is controlled by the U2X

    found in the UCSRA Register. When using Synchronous mode (UMSEL = 1), the Data

    Direction Register for the XCK pin (DDR_XCK) controls whether the clock source is

    internal (Master mode) or external (Slave mode). The XCK pin is only active when using

    Synchronous mode.

    Internal Clock Generation The Baud Rate Generator

    Internal clock generation is used for the asynchronous and the synchronous master modes of

    operation. The USART Baud Rate Register (UBRR) and the down-counter connected to it

    function as a programmable prescaler or baud rate generator. The down-counter, running at

    system clock (fosc), is loaded with the UBRR value each time the counter has counted down

    to zero or when the UBRRL Register is written. A clock is generated each time the counter

    reaches zero. This clock is the baud rate generator clock output (= fosc/(UBRR+1)). The

    transmitter divides the baud rate generator clock output by 2, 8, or 16 depending on mode.The baud rate generator output is used directly by the receivers clock and data recovery

    47

  • 8/8/2019 Griet Final Report New[1]

    48/72

    units. However, the recovery units use a state machine that uses 2, 8, or 16 states depending

    on mode set by the state of the UMSEL, U2X and DDR_XCK bits.

    Table below contains equations for calculating the baud rate (in bits per second) and for

    calculating the UBRR value for each mode of operation using an internally generated

    clock source.

    Table 5.1.6 Equation for Baud rate Setting

    BAUD Baud rate (in bits per second, bps)

    fOSC System Oscillator clock frequency

    UBRR Contents of the UBRRH and UBRRL Registers

    5.1.7 Frame Formats

    A serial frame is defined to be one character of data bits with synchronization bits (start and

    stop bits), and optionally a parity bit for error checking. The USART accepts all 30

    combinations of the following as valid frame formats:

    1 start bit

    5, 6, 7, 8, or 9 data bits no, even or odd parity bit

    1 or 2 stop bits

    A frame starts with the start bit followed by the least significant data bit. Then the next data

    bits, up to a total of nine, are succeeding, ending with the most significant bit. If enabled, the

    parity bit is inserted after the data bits, before the stop bits. When a completeframe is

    transmitted, it can be directly followed by a new frame, or the communication line can be set

    to an idle (high) state. Figure 5.2 illustrates the possible combinations of the frame formats.

    Bits inside brackets are optional.

    48

  • 8/8/2019 Griet Final Report New[1]

    49/72

    Possible Combinations Of Frame Format:

    Fig 5.1.7 Frame Format

    St Start bit, always low.

    (n) Data bits (0 to 8).

    P Parity bit. Can be odd or even.

    Sp Stop bit, always high.

    IDLE No transfers on the communication line (RxD or TxD). An IDLE line must be high.

    The frame format used by the USART is set by the UCSZ2:0, UPM1:0 and USBS bits in

    UCSRB and UCSRC. The receiver and transmitter use the same setting. Note that changing

    the setting of any of these bits will corrupt all ongoing communication for both

    the receiver and transmitter.

    The USART Character SiZe (UCSZ2:0) bits select the number of data bits in the frame.

    TheUSART Parity mode (UPM1:0) bits enable and set the type of parity bit. The selection

    between one or two stop bits is done by the USART Stop Bit Select (USBS) bit. The receiverignores the second stop bit. An FE (Frame Error) will therefore only be detected in the cases

    where the first stop bit is zero.

    49

  • 8/8/2019 Griet Final Report New[1]

    50/72

    CHAPTER 6

    FLOWCHART

    50

  • 8/8/2019 Griet Final Report New[1]

    51/72

    6.1 FLOWCHART FOR PROJECT

    NO

    YES

    YES

    51

    START

    UART INITIALISATION

    SENSOR DATA STATUSINITAILISATION

    WAIT FOR COMMANDS

    FROM THE SYSTEM

    WAIT FORSYNCHRONISATION OFSENSOR DATA WITH AVR

    IF TOTALDATA

    RECIEVED

    IF NEXTDATA WANTTO BERECIEVED

    DATA SENT ONETHERNETMODULE

    DATA UPDATED IN THE

    SYSTEM WITH TIME

  • 8/8/2019 Griet Final Report New[1]

    52/72

    Fig 6.1 Project Flow Chart

    CHAPTER 7IMPLEMENTATION

    52

    END

  • 8/8/2019 Griet Final Report New[1]

    53/72

    7.1 CODE FOR IMPLEMENTATION:

    7.1.1 CODE FOR TRANSMITTER

    / * RF transmission routine for 433MHz RF transmitter.

    Transmit sequence 0xaa ,address, data,check sum - sequence 0xaa is the start character.

    Data pin of RF transmitter connected to TX pin (PD1) of UART0 in Atmega8515

    Transmission is done at a baud rate of 1200 bps .Here, int is generated when window

    or door is open detected thru int0 and int1, when int occurs , send appropriate code on tx

    ex: when normal send 'n'; door open send 'd' and window open send 'w' */

    #include #include#include

    #include int i;unsigned static volatile char intr0,intr1;unsigned char address,data;

    main(){DDRB = 0XFF;

    PORTB = 0X10;GICR=0XC0; //int 0 and 1 are enabledMCUCR=0X0f; // for falling edge put 0x0A:: for rising edge put 0x0f

    //EMCUCR=0X01;// ck this???UBRRH=2;UBRRL=63; // for baud rate of 1200 UBRR value = 575=>512+63UCSRB=0X08; //only tx is enabledUCSRC=0X86; // 8 bit data

    DDRD=0X00;for(i=0;i

  • 8/8/2019 Griet Final Report New[1]

    54/72

    while(!(UCSRA&0X20));UDR= 'N'; // address

    _delay_ms(100);}else if(intr0==0&&intr1==1)

    data='D';else if(intr0==1&&intr1==0)

    data='W';else{data='B';PORTB=0Xf0;}while(!(UCSRA&0X20));UDR= 0xaa; // start character

    _delay_ms(100);

    while(!(UCSRA&0X20));UDR= address; // address

    _delay_ms(100);

    while(!(UCSRA && 0X20));UDR=data; //data

    _delay_ms(100);

    while(!(UCSRA&0X20));UDR= address + data; // check_sum

    _delay_ms(100);}

    }

    SIGNAL(SIG_INTERRUPT0){

    cli();PORTB = 0X55;//send code on uart

    intr0=1; //For Window

    sei();}SIGNAL(SIG_INTERRUPT1){

    cli();

    PORTB = 0X0f;intr1=1; //For Door

    54

  • 8/8/2019 Griet Final Report New[1]

    55/72

    // send code on uartsei();

    }

    7.1.2 CODE FOR RECEIVER

    /* Receive routine for 433 MHz RF receiver

    Baud Rate = 1200 bps

    Data pin of RF receiver connected to RX (PD0) of UART0 of ATmega8515

    initially all leds on portb are OXFF. if start, addr and checksum are correct and data

    received is 'A' and PORTB leds are thrown 0x50 :- all lower nibble leds and alternate leds in

    upper nibble will glow LEDs connected to PORTB */

    #include

    #include #include #include

    #define sbi(ADDR,BIT) ADDR = (ADDR | (1

  • 8/8/2019 Griet Final Report New[1]

    56/72

    DDRB = 0XFF; // for LEDsPORTB =0XFF;PORTC=0Xff;lcd_init();

    while(1){UDR = 0;PORTB=0x55;while(!(UCSRA&0X80));start = UDR;PORTB = start;

    lcd_data('a');//display(normal1);

    if(start == 0xaa){

    UDR = 0;while(!(UCSRA&0X80));address = UDR;

    UDR = 0;while(!(UCSRA&0X80));data = UDR;

    UDR = 0;while(!(UCSRA&0X80));chksum = UDR;

    if(address == 0x86){

    if(chksum == address+data)

    {PORTB=0X00;if(data == 'W'){

    PORTB=0XC3;sbi(PORTD,1);delay();

    //delay();delay();

    cbi(PORTD,1);display(window1);

    }else if(data=='D'){

    PORTB=0Xfe;sbi(PORTD,1);

    56

  • 8/8/2019 Griet Final Report New[1]

    57/72

    delay();// delay();

    delay();cbi(PORTD,1);

    display(door1);}else if(data=='B'){PORTB=0X3c;sbi(PORTD,1);

    //delay();delay();

    delay();cbi(PORTD,1);display(both1);

    }else if(data=='N'){PORTB=0X55;

    display(normal1);}

    else break;}

    }

    }

    }

    }//end of main// End of the program

    void lcd_init(){

    lcd_cmd(0x38);_delay_ms(100.00);lcd_cmd(0x0E);

    _delay_ms(100.00);lcd_cmd(0x01);

    _delay_ms(100.00);lcd_cmd(0x06);

    _delay_ms(100.00);lcd_cmd(0x80);

    _delay_ms(100.00);}//end lcd_init

    57

  • 8/8/2019 Griet Final Report New[1]

    58/72

    void lcd_cmd(unsigned char c){

    PORTC = c;cbi(PORTA,0); //rs = 0cbi(PORTA,1); //rw = 0

    sbi(PORTA,2); //en = 1_delay_ms(100.00);cbi(PORTA,2); //en = 0

    }//end lcd_cmd

    void lcd_data(unsigned char d){

    PORTC = d;sbi(PORTA,0); //rs = 1

    cbi(PORTA,1); //rw = 0sbi(PORTA,2); //en = 1

    _delay_ms(100.00);cbi(PORTA,2); //en = 0

    }

    void delay(){

    /*int k,l;for(k=0;k

  • 8/8/2019 Griet Final Report New[1]

    59/72

    }}//end display

    7.2 VISUAL BASIC PROGRAMMING

    7.2.1 CODE FOR SERVER

    Option Explicit

    Dim iSockets As Integer

    'Dim sItemData(3) As String

    Dim stat As String

    Dim sServerMsg As String

    Dim i As Integer

    Dim sRequestID As String

    Private Sub Form_Load()

    i = 0

    Form1.Show

    lblHostID.Caption = Socket(0).LocalHostName

    lblAddress.Caption = Socket(0).LocalIP

    Socket(0).LocalPort = 5000

    sServerMsg = "Listening to port: " & Socket(0).LocalPort

    List1.AddItem (sServerMsg)

    Socket(0).Listen

    End Sub

    Private Sub socket_Close(Index As Integer)

    sServerMsg = "Connection closed: " & Socket(Index).RemoteHostIP

    List1.AddItem (sServerMsg)

    Socket(Index).Close

    Unload Socket(Index)

    59

  • 8/8/2019 Griet Final Report New[1]

    60/72

    iSockets = iSockets - 1

    lblConnections.Caption = iSockets

    End Sub

    Private Sub socket_ConnectionRequest(Index As Integer, ByVal requestID As Long)

    sServerMsg = "Connection request id " & requestID & " from " &

    Socket(Index).RemoteHostIP

    If Index = 0 Then

    List1.AddItem (sServerMsg)

    sRequestID = requestID

    iSockets = iSockets + 1

    lblConnections.Caption = iSockets

    Load Socket(iSockets)

    Socket(iSockets).LocalPort = 5000

    Socket(iSockets).Accept requestID

    End If

    End Sub

    Private Sub socket_DataArrival(Index As Integer, ByVal bytesTotal As Long)

    Dim sItemData1 As String

    Dim strData As String

    Dim strOutData As String

    Dim strConnect As String

    Socket(Index).GetData stat, vbString

    'i = i + 1

    'If i < 3 Then

    60

  • 8/8/2019 Griet Final Report New[1]

    61/72

    'Exit Sub

    'End If

    'i = 0

    ' get data from client

    'Socket(Index).GetData sItemData1, vbString

    'Socket(Index).GetData sItemData2, vbString

    'Socket(Index).GetData sItemData3, vbString

    'sServerMsg = "Received: " & sItemData & " from " & Socket(Index).RemoteHostIP & "("

    & sRequestID & ")"

    If stat = "d" Then

    i = i + 1

    sItemData1 = "Door broke open"

    ElseIf stat = "w" Then

    i = i + 1

    sItemData1 = "window broken"

    ElseIf stat = "b" Then

    i = i + 1

    sItemData1 = "both are broken"

    End If

    List1.AddItem (sItemData1)

    'strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\students.mdb;Persist

    Security Info=False"

    Dim strPath As String

    'Change the database path in the text file

    61

  • 8/8/2019 Griet Final Report New[1]

    62/72

    Dim fso As New FileSystemObject, txtfile, _

    fil1 As File, ts As TextStream

    Set fil1 = fso.GetFile("path.txt")

    ' Read the contents of the file.

    Set ts = fil1.OpenAsTextStream(ForReading)

    strPath = ts.ReadLine

    ts.Close

    Set fso = Nothing

    strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _

    "Persist Security Info=False;Data Source=" & strPath & _

    "; Mode=Read|Write"

    Dim rs As New ADODB.Recordset

    ' Get clients request from database

    strData = "SNo = '" & i & "'"

    rs.Open "select * from door_status", strConnect, adOpenKeyset, adLockOptimistic

    rs.Find strData

    'strOutData = rs.Fields("Name")

    'rs.Edit

    rs!Status = sItemData1

    rs!Time = Time$

    rs.Update

    'send data to client

    'sServerMsg = "Sending: " & strOutData & " to " & Socket(Index).RemoteHostIP

    'List1.AddItem (sServerMsg)

    'Socket(Index).SendData strOutData

    End Sub

    62

  • 8/8/2019 Griet Final Report New[1]

    63/72

    7.2.2 CODE FOR CLIENT

    Option Explicit

    Private Sub cmdClose_Click()

    Winsock1.Close

    shpGo.Visible = False

    shpWait.Visible = False

    shpError.Visible = True

    End Sub

    Private Sub cmdConnect_Click()

    Winsock1.RemoteHost = "124.123.190.175" 'Change this to host ip

    Winsock1.RemotePort = 5000

    Winsock1.Connect

    shpGo.Visible = True

    txtItem.SetFocus

    End Sub

    Private Sub go_Click()

    If Winsock1.State = sckConnected Then

    Winsock1.SendData txtItem.Text

    shpGo.Visible = True

    Label3.Caption = "Sending Data"

    Else

    shpGo.Visible = False

    shpWait.Visible = False

    shpError.Visible = True

    Label3.Caption = "Not currently connected to host"

    End If

    63

  • 8/8/2019 Griet Final Report New[1]

    64/72

    End Sub

    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

    Dim sData As String

    Winsock1.GetData sData, vbString

    'Label1.Caption = sData

    'txtPrice.Text = sData

    Label3.Caption = "Received Data"

    shpGo.Visible = True

    shpWait.Visible = False

    shpError.Visible = False

    End Sub

    Private Sub Winsock1_SendComplete()

    Label3.Caption = "Completed Data Transmission"

    End Sub

    64

  • 8/8/2019 Griet Final Report New[1]

    65/72

    CHAPTER 8

    RESULTS

    65

  • 8/8/2019 Griet Final Report New[1]

    66/72

    8.1 PROJECT TEST RESULTS

    Fig 8.1: Programming in Avr Studio.

    66

  • 8/8/2019 Griet Final Report New[1]

    67/72

    Fig 8.2: Implimentation on Avr Boards with RF Modules

    Fig 8.3 : Output as WINDOW BROKEN ON LCD

    Fig 8.4 : Output as DOOR BROKE OPEN ON LCD

    67

  • 8/8/2019 Griet Final Report New[1]

    68/72

    Fig 8.5 : Output as BOTH ARE BROKEN ON LCD

    Fig 8.6: Data sent Through Ethernet Module to System

    68

  • 8/8/2019 Griet Final Report New[1]

    69/72

    Fig 8.7: Connection success from Client (Ethernet) when Server is run.

    69

  • 8/8/2019 Griet Final Report New[1]

    70/72

    Fig 8.8 : Data updated in the system with Time.

    CONCLUSION

    70

  • 8/8/2019 Griet Final Report New[1]

    71/72

    This project gives an insight into implementation of wireless Industrial data communication

    on Ethernet network. is basically a security system that can monitor multiple entry

    points(maximum 35 with AVR8515 microcontroller) into a building. we detect the status of

    doors/windows. The allowable status are 1. Door Broke Open, 2. Window Broken, 3. Both

    Are Broken.The status information is transmitted through wireless modules to a supervisory

    monitoring station.

    The microcontroller senses the interrupt and depending on the status of the flag bits,

    the microcontroller sends information to the receiver through wireless module. The

    microcontroller connected to the receiver analyses the information received and turns the

    buzzer on and also displays corresponding message on an LCD and that data is send through

    the Ethernet module (WIZ105SR)to the system.

    The low-cost of this system makes it viable for ready real time application as against the high

    priced solutions available today.

    With this technology learnt we can design many applications based on RF Modules like

    Open door detection in Industries.

    Home security systems

    Monitoring hazardous places etc

    FUTURE SCOPE:

    The present project can be extended to a full fledged home automation system by

    increasing the number of monitoring doors and windows. Further more, powerful transmitter

    and receivers can be used to wirelessly transmit the information over larger distances. The

    data being wirelessly transmitted can be encrypted to prevent hackers from entering the

    system and thus increase the security manifold.

    71

  • 8/8/2019 Griet Final Report New[1]

    72/72

    BIBLOGRAPHY

    Programming and Customizing the AVR Microcontrollerby Dhananjay V. Gadre

    AVR: An Introductory Course by John Morton.

    Datasheet of the STT-433

    http://www.sunrom.com/

    1. Datasheet of the STR-433 http://www.sunrom.com/

    2. Web site of Atmel with information about AVR ATmega8515 http://www.atmel.com/

    3. Datasheet of the Ethernet Module WIZ105SR http://www.wiznet.co.kr/

    http://www.sunrom.com/http://www.sunrom.com/http://www.atmel.com/http://www.wiznet.co.kr/http://www.sunrom.com/http://www.sunrom.com/http://www.atmel.com/http://www.wiznet.co.kr/