Senior design project 2004 2005 web enabled caller identification
Download
1 / 28

bled Caller Identification - PowerPoint PPT Presentation


  • 701 Views
  • Updated On :

Senior Design Project 2004/2005 Web-Enabled Caller Identification 12/09/2004 Barron Shurn Daniel St. Clair Professor Soules Design Idea - Function Caller Identification device accessible via the Web All functions Web based, no physical interface to device Web Page Function:

Related searches for bled Caller Identification

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'bled Caller Identification' - Audrey


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Senior design project 2004 2005 web enabled caller identification l.jpg

Senior Design Project 2004/2005Web-Enabled Caller Identification

12/09/2004

Barron Shurn

Daniel St. Clair

Professor Soules


Design idea function l.jpg
Design Idea - Function

  • Caller Identification device accessible via the Web

  • All functions Web based, no physical interface to device

  • Web Page Function:

    • View/Query Call Log

    • Edit Call Log

    • Download/Archive Call Log


Design idea details l.jpg
Design Idea - Details

  • Used on a Home/Business LAN

  • Broadband - Always Connected

  • Size:

    • Dimensions: 5”X5”X2”

    • Weight: Less than 2 lbs.

  • 5V AC/DC Power Adapter


System block diagram l.jpg
System Block Diagram

Telephone Network

Holtek HT9032D

Calling Line Identification Receiver + Supporting Hardware

Atmel AVR AT90S8515

Caller ID Microcontroller

UART

1200bps

I2C Protocol

Microchip 24FC515

512Kb EEPROM – Caller ID Data

I2C Protocol

Packet Whacker/ Realtek RTL8019AS

Full Duplex Ethernet Controller

Atmel AVR AT90S8515

HTTP + TCP/IP Microcontroller

LAN

I2C Protocol

Proprietary Protocol

Microchip 24FC515

512Kb EEPROM – Web Pages


Mdr specification l.jpg
MDR Specification

  • A functioning Caller ID data decoder. The Caller ID data will be decoded and stored in a semiconductor memory device.  This  data will be verifiable using a Personal Computer running microcontroller development software

  • A microcontroller with a minimally functional TCP/IP stack implemented so that it can respond to ping requests


Caller identification l.jpg
Caller Identification

  • MDR Specification was Successful!

    • Decoded data from phone line

    • Stored data to EEPROM

    • Read data on EEPROM and displayed using UART + PC Terminal Software for verification


Caller identification hardware l.jpg
Caller Identification - Hardware

  • Holtek HT9032 - Decodes Caller ID data

  • Atmel AVR AT90S9515 – Reads + Parses Data From HT9032 and sends to EEPROM

  • Microchip 512Kb EEPROM - Stores Caller ID Data


Caller id data l.jpg
Caller ID Data

  • Theory of operation

    • Data transmitted between first & second rings

    • Uses Frequency Shift Keying

      • Logic 1 sent as 1200 Hz signal

      • Logic 0 sent as 2200 Hz signal

    • Data sent at 1200 bps using standard ASCII codes

    • Data Transmission Scheme

      • Initiation String – 30 bytes – ’01’ bit pattern

      • Type of message – 1 byte – For Caller ID is always 04h

      • Length of message – 1 byte

      • Month/Day/Hour/Minute – 2 bytes for each field

      • Phone number – 10 bytes

      • Line Owner’s Name – Up to 15 bytes

      • Check sum – 1 byte


Holtek device l.jpg
Holtek Device

  • Two devices available: HT9032C / HT9032D

  • Both devices decode Caller ID data from Frequency Shift Keying to ASCII codes which are sent out of the chip at 1200bps

  • Difference between two devices

    • HT9032C

      • 16 pin

      • outputs both raw data and “cooked” data (w/o initialization string)

      • Ring + Carrier Detection pins

    • HT9032D

      • 8 pin

      • Requires micro-controller to detect ring


Micro controller l.jpg
Micro-Controller

  • Atmel AT90S8515

    • Crystal Frequency: 4MHz (up to 16MHz)

    • Robust Instruction Set (130 Instructions)

    • AVR GCC C Complier (freeware)

    • Hardware UART

    • Low Power Sleep Mode

    • 512 byte EEPROM + 512 byte SRAM


Eeprom l.jpg
EEPROM

  • 512 Kbit EEPROM (64Kbyte)

  • I2C Compliant

    • Protocol that allows EEPROM access using two lines (Serial Data Line, Serial Clock Line)

  • Allows for 1400 logged calls

    • Month/Day/Hour/Minute – 8 bytes total

    • Phone number – 10 bytes

    • Line Owner’s Name – Up to 25 bytes

      (8+10+25 bytes)*8 bits= 344 bits/call

      512000 bit EEPROM/264 bits = 1400 calls stored

      *Plan to limit call log size to 500 calls


Caller id problems encountered l.jpg
Caller ID Problems Encountered

  • Holtek HT9032C device not operating as expected

  • Device clock issues

  • Read UART/Write EEPROM conflict


Next steps l.jpg
Next Steps

  • Caller ID

    • Design manageable storage scheme

      • Validation

      • Indexing

      • Reliability


System block diagram14 l.jpg
System Block Diagram

Telephone Network

Holtek HT9032D

Calling Line Identification Receiver + Supporting Hardware

Atmel AVR AT90S8515

Caller ID Microcontroller

UART

1200bps

I2C Protocol

Microchip 24FC515

512Kb EEPROM – Caller ID Data

I2C Protocol

Packet Whacker/ Realtek RTL8019AS

Full Duplex Ethernet Controller

Atmel AVR AT90S8515

HTTP + TCP/IP Microcontroller

LAN

I2C Protocol

Proprietary Protocol

Microchip 24FC515

512Kb EEPROM – Web Pages


What is the ethernet controller l.jpg
What is the Ethernet Controller

  • Allows device to directly connect to a network

  • Handles all hardware complexities

  • Delivers raw packets to the application

  • Very similar to the network interface card (NIC) in your typical Desktop PC


How to interface the ethernet controller l.jpg
How to interface the Ethernet Controller

  • Setup microcontroller ports for I/O

  • NIC Initialization:

    • Perform Hard Reset

    • Perform Soft Reset by reading/writing a value to the NIC

    • Write to NIC configuration registers

      • Set MAC Address

      • Accept only broadcast packets (ARP + DHCP Requests) + packets intended for set MAC address


Ethernet controller interface l.jpg
Ethernet Controller Interface

  • Software Emulation of 9346 EEPROM

    • Used to store NIC configuration data

    • 9346 is a 16 bit x 1k serial EEPROM

    • Only need 3 bytes of data from the EEPROM for using the NIC in 8-bit mode

  • Emulate by using 3 pins on the microcontroller

    • EEDO, EEDI, EESK

    • Time sensitive code written in inline-assembly


Tcp ip implementation l.jpg
TCP/IP Implementation

  • Written in C

  • Main Loop

    • Checks NIC for a packet by polling the NIC interrupt pin

  • Packet Processing

    • Examine Packet Header (first four bytes)

      • Determines Packet Length

    • Read entire packet to microcontroller SRAM

    • Determine Packet Type


Packet types l.jpg
Packet Types

  • Address Resolution Protocol (ARP)

    • Bind IP Address to MAC Address

  • Internet Protocol (IP)

    • Internet Control Message Protocol (ICMP)

    • User Datagram Protocol (UDP)

    • Transmission Control Protocol (TCP)


Arp packet handling l.jpg
ARP Packet Handling

  • ARP Response Packet Contents

    • Source MAC Address

    • Source IP Address

    • Destination MAC Address

    • Destination IP Address

    • Padding characters to meet minimum packet size requirements (64 bytes)

    • Number of bytes to be transmitted


Ip packet handling icmp l.jpg
IP Packet Handling - ICMP

  • ICMP is the protocol used for the ping function

  • Response packet is essentially an echoed packet with source and destination fields swapped.


Icmp packet handling l.jpg
ICMP Packet Handling

  • ICMP Packet Contents

    • Packet Type (ICMP = 0x00)

    • Destination IP Address

    • Source IP Address

    • Destination MAC Address

    • Source MAC Address

    • IP Header Checksum

    • Original Packet Data + Checksums


Ip packet handling udp tcp l.jpg
IP Packet Handling – UDP/TCP

  • UDP

    • Used for implementing DHCP

    • ‘Connectionless’ – No acknowledgement sent

  • TCP

    • Used for receiving HTTP (Web Server) Requests


Ethernet controller problems l.jpg
Ethernet Controller Problems

  • Realtek RTL8019AS could not be reset in software.

    • Unable to configure

    • Unable to debug


Debugging l.jpg
Debugging

  • Connected HTTP + TCP/IP Microcontroller to UART + PC Terminal Software

    • Wrote software to perform a register dump of the NIC

      • NIC was unreadable

  • Examined NIC drivers for other processors including:

    • Microchip PIC 16F877 and Rabbit 2000T


Debugging26 l.jpg
Debugging

  • Simulated code in software environment

    • Monitored Registers and I/O

  • Quadruple Checked Wiring / Hardware Setup

    • Power Supply, Clock

  • Replaced Realtek RTL8019AS

  • Posted Messages on support forums


Next step l.jpg
Next Step

  • Exhausted all of our current resources

    • Contact makers of the Ethernet Controller for more documentation

  • Worst Case Scenario:

    • Obtain new Ethernet controller

      • Crystal Semiconductor CS8900A

        • Popular + Well Documented



ad