search

 Senior Design Project 2004/2005 Web-Enabled Caller Identification

0 comments

file time: 2008-03-22

file siez:157.5KB

filetype:ppt

Click Here To Download...

>  

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: View/Query Call Log Edit Call Log Download/Archive Call Log  

Design Idea - Details 

Used on a Home/Business LAN Broadband - Always Connected Size: Dimensions: 500500200 Weight: Less than 2 lbs. 5V AC/DC Power Adapter  

System Block Diagram 

Atmel AVR AT90S8515

Caller ID Microcontroller 

Holtek HT9032D

Calling Line Identification Receiver + Supporting Hardware 

Microchip 24FC515

512Kb EEPROM 00Caller ID Data 

Packet Whacker/ Realtek RTL8019AS

Full Duplex Ethernet Controller 

Atmel AVR AT90S8515

HTTP + TCP/IP Microcontroller 

UART

1200bps 

I2C Protocol 

I2C Protocol 

Proprietary Protocol 

LAN 

Telephone Network 

Microchip 24FC515

512Kb EEPROM 00Web Pages 

I2C Protocol

 

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 

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 

Holtek HT9032 - Decodes Caller ID data   Atmel AVR AT90S9515 00Reads + Parses Data From HT9032 and sends to EEPROM   Microchip 512Kb EEPROM - Stores 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 0030 bytes 0000100bit pattern Type of message 001 byte 00For Caller ID is always 04h Length of message 001 byte Month/Day/Hour/Minute 002 bytes for each field Phone number 0010 bytes Line Owner00 Name 00Up to 15 bytes Check sum 001 byte  

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 00ooked00data (w/o initialization string) Ring + Carrier Detection pins HT9032D 8 pin Requires micro-controller to detect ring  

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 

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 008 bytes total Phone number 0010 bytes Line Owner00 Name 00Up 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 

Holtek HT9032C device not operating as expected   Device clock issues   Read UART/Write EEPROM conflict  

Next Steps  

Caller ID Design manageable storage scheme Validation Indexing Reliability  

System Block Diagram 

Atmel AVR AT90S8515

Caller ID Microcontroller 

Holtek HT9032D

Calling Line Identification Receiver + Supporting Hardware 

Microchip 24FC515

512Kb EEPROM 00Caller ID Data 

Packet Whacker/ Realtek RTL8019AS

Full Duplex Ethernet Controller 

Atmel AVR AT90S8515

HTTP + TCP/IP Microcontroller 

UART

1200bps 

I2C Protocol 

I2C Protocol 

Proprietary Protocol 

LAN 

Telephone Network 

Microchip 24FC515

512Kb EEPROM 00Web Pages 

I2C Protocol

 

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 

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 

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 

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 

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 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 

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 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 00UDP/TCP 

UDP Used for implementing DHCP 00onnectionless00 00No acknowledgement sent TCP Used for receiving HTTP (Web Server) Requests  

Ethernet Controller Problems 

Realtek RTL8019AS could not be reset in software. Unable to configure Unable to debug  

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  

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 

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  

Questions?

   download Senior Design Project 2004/2005 Web-Enabled Caller Identification

Responses to Senior Design Project 2004/2005 Web-Enabled Caller Identification

It's no comment...

 

Your Name:
Your Email:
Your Talk: