senior design project 2004 2005 web enabled caller identification
Download
Skip this Video
Download Presentation
Senior Design Project 2004/2005 Web-Enabled Caller Identification

Loading in 2 Seconds...

play fullscreen
1 / 28

bled Caller Identification - PowerPoint PPT Presentation


  • 706 Views
  • Uploaded 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:

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

Senior Design Project 2004/2005Web-Enabled Caller Identification

12/09/2004

Barron Shurn

Daniel St. Clair

Professor Soules

design idea function
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
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
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
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
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
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
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
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
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
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
Caller ID Problems Encountered
  • Holtek HT9032C device not operating as expected
  • Device clock issues
  • Read UART/Write EEPROM conflict
next steps
Next Steps
  • Caller ID
    • Design manageable storage scheme
      • Validation
      • Indexing
      • Reliability
system block diagram14
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
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
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
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
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
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
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
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
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
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
Ethernet Controller Problems
  • Realtek RTL8019AS could not be reset in software.
    • Unable to configure
    • Unable to debug
debugging
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
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
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