Senior Design Project 2004/2005 Web-Enabled Caller Identification 12/09/2004 Barron Shurn Daniel St. Clair Professor Soules.

Slides:



Advertisements
Similar presentations
Introduction to TCP/IP
Advertisements

Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
UDP - User Datagram Protocol UDP – User Datagram Protocol Author : Nir Shafrir Reference The TCP/IP Guide - ( Version Version.
An 8051 Based Web Server Project by Mason Kidd Advised by Dr. Schertz.
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
OSI Model.
Understanding Networks. Objectives Compare client and network operating systems Learn about local area network technologies, including Ethernet, Token.
Introduction To Networking
Senior Design Project 2004/2005 Web Enabled Calling Number Delivery Daniel St. Clair Barron Shurn Professor Soules 10/28/2004.
Chapter 2 Internet Protocol DoD Model Four layers: – Process/Application layer – Host-to-Host layer – Internet layer – Network Access layer.
Defining Network Protocols Application Protocols –Application Layer –Presentation Layer –Session Layer Transport Protocols –Transport Layer Network Protocols.
Chapter Overview TCP/IP Protocols IP Addressing.
CS 356 Systems Security Spring Dr. Indrajit Ray
CCNA 1 Module1. Objectives Internet Connections Physical – NIC card to connect to local net Logical – Use a standard set of protocols (TCP/IP) Applications.
Lecture 8 Modeling & Simulation of Communication Networks.
Network Layer (Part IV). Overview A router is a type of internetworking device that passes data packets between networks based on Layer 3 addresses. A.
IST 228\Ch3\IP Addressing1 TCP/IP and DoD Model (TCP/IP Model)
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 24 November 11, 2004.
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
Chapter 1-3 The Ethernet LAN. Ethernet The networking protocol used in most modern computer networks is Ethernet. Ethernet is a CSMA/CD LAN protocol.
AS Computing F451 F451 Data Transmission. What data is transmitted? Phone SMS Radio TV Internet.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
Chapter 2 Network Models
COMT 429 The Internet Protocols COMT 429. History 1969First version of a 4 node store and forward network, the ARPAnet 1972Formal demonstration of ARPAnet.
Examining TCP/IP.
Chapter 7 Low-Level Protocols
IP Forwarding.
Chapter Three Network Protocols By JD McGuire ARP Address Resolution Protocol Address Resolution Protocol The core protocol in the TCP/IP suite that.
Cisco S2 C4 Router Components. Configure a Router You can configure a router from –from the console terminal (a computer connected to the router –through.
TCP/IP Transport and Application (Topic 6)
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Chapter 6-2 the TCP/IP Layers. The four layers of the TCP/IP model are listed in Table 6-2. The layers are The four layers of the TCP/IP model are listed.
Network Protocols A network protocol defines the structure of messages sent over the network We will only talk about the Internet Network protocols need.
© 2008 RoboRubik1 11 Technical Communication Skills Practicum Theory of Operation and Hardware Design Narrative.
Introduction To Networking. Requirements for Internet connection Connections can be seen as 2 components: The physical connection: transfers signals between.
TCP/IP Honolulu Community College Cisco Academy Training Center Semester 2 Version 2.1.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
CSE 6590 Department of Computer Science & Engineering York University 111/9/ :26 AM.
1 Chapter 8 – TCP/IP Fundamentals TCP/IP Protocols IP Addressing.
TCP/IP (Transmission Control Protocol / Internet Protocol)
BZUPAGES.COM Presentation on TCP/IP Presented to: Sir Taimoor Presented by: Jamila BB Roll no Nudrat Rehman Roll no
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
1 Introduction to TCP/IP. 2 OSI and Protocol Stack OSI: Open Systems Interconnect OSI ModelTCP/IP HierarchyProtocols 7 th Application Layer 6 th Presentation.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network, Enhanced Chapter 3: TCP/IP Architecture.
Linux Operations and Administration Chapter Eight Network Communications.
1 Syllabus at a glance – CMCN 6103 Introduction Introduction to Networking Network Fundamentals Number Systems Ethernet IP Addressing Subnetting ARP DNS.
Slide #1 CIT 380: Securing Computer Systems TCP/IP.
Voice Over Internet Protocol (VoIP) Copyright © 2006 Heathkit Company, Inc. All Rights Reserved Presentation 5 – VoIP and the OSI Model.
2.1 Chapter 2 Network Models – cont. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
The OSI Model. Understanding the OSI Model In early 1980s, manufacturers began to standardize networking so that networks from different manufacturers.
CIS 173 Networking Week #9 OBJECTIVES Chapter #6 Network Communications Protocols.
IP - Internet Protocol No. 1  Seattle Pacific University IP: The Internet Protocol Kevin Bolding Electrical Engineering Seattle Pacific University.
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
© 2003, Cisco Systems, Inc. All rights reserved.
Behrouz A. Forouzan TCP/IP Protocol Suite, 3rd Ed.
Chapter Objectives In this chapter, you will learn:
Introduction to TCP/IP
Chapter 5 Network and Transport Layers
Layered Architectures
TCP/IP Transmission Control Protocol / Internet Protocol
The Open System Interconnection (OSI) Model & Network Protocols.
Topic 5: Communication and the Internet
Week 5: Network Protocols Part 1
TCP/IP Protocol Suite: Review
1 TRANSMISSION CONTROL PROTOCOL / INTERNET PROTOCOL (TCP/IP) K. PALANIVEL Systems Analyst, Computer Centre Pondicherry University, Puducherry –
OSI Reference Model Unit II
OSI Model 7 Layers 7. Application Layer 6. Presentation Layer
Transport Layer 9/22/2019.
Networking Theory (part 2)
Presentation transcript:

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

Design Idea - Details Used on a Home/Business LAN Broadband - Always Connected Size: Dimensions: 5”X5”X2” Dimensions: 5”X5”X2” Weight: Less than 2 lbs. 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 24FC Kb EEPROM – Caller ID Data Packet Whacker/ Realtek RTL8019AS Full Duplex Ethernet Controller Atmel AVR AT90S8515 HTTP + TCP/IP Microcontroller UART 1200bps I2C Protocol Proprietary Protocol LAN Telephone Network Microchip 24FC Kb EEPROM – Web 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 Decoded data from phone line Stored data to EEPROM Stored data to EEPROM Read data on EEPROM and displayed using UART + PC Terminal Software for verification Read data on EEPROM and displayed using UART + PC Terminal Software for verification

Caller Identification - Hardware Holtek HT 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 Theory of operation Data transmitted between first & second rings Data transmitted between first & second rings Uses Frequency Shift Keying 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 sent at 1200 bps using standard ASCII codes Data Transmission Scheme Data Transmission Scheme Initiation String – 30 bytes – ’01’ bit pattern Initiation String – 30 bytes – ’01’ bit pattern Type of message – 1 byte – For Caller ID is always 04h Type of message – 1 byte – For Caller ID is always 04h Length of message – 1 byte Length of message – 1 byte Month/Day/Hour/Minute – 2 bytes for each field Month/Day/Hour/Minute – 2 bytes for each field Phone number – 10 bytes Phone number – 10 bytes Line Owner’s Name – Up to 15 bytes Line Owner’s Name – Up to 15 bytes Check sum – 1 byte Check sum – 1 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 HT9032C 16 pin outputs both raw data and “cooked” data (w/o initialization string) Ring + Carrier Detection pins HT9032D HT9032D 8 pin Requires micro-controller to detect ring

Micro-Controller Atmel AT90S8515 Crystal Frequency: 4MHz (up to 16MHz) Crystal Frequency: 4MHz (up to 16MHz) Robust Instruction Set (130 Instructions) Robust Instruction Set (130 Instructions) AVR GCC C Complier (freeware) AVR GCC C Complier (freeware) Hardware UART Hardware UART Low Power Sleep Mode Low Power Sleep Mode 512 byte EEPROM byte SRAM 512 byte EEPROM byte SRAM

EEPROM 512 Kbit EEPROM (64Kbyte) I2C Compliant Protocol that allows EEPROM access using two lines (Serial Data Line, Serial Clock Line) 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 ( bytes)*8 bits= 344 bits/call 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 Design manageable storage schemeValidationIndexingReliability

System Block Diagram Atmel AVR AT90S8515 Caller ID Microcontroller Holtek HT9032D Calling Line Identification Receiver + Supporting Hardware Microchip 24FC Kb EEPROM – Caller ID Data Packet Whacker/ Realtek RTL8019AS Full Duplex Ethernet Controller Atmel AVR AT90S8515 HTTP + TCP/IP Microcontroller UART 1200bps I2C Protocol Proprietary Protocol LAN Telephone Network Microchip 24FC Kb EEPROM – Web 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 Hard Reset Perform Soft Reset by reading/writing a value to the NIC Perform Soft Reset by reading/writing a value to the NIC Write to NIC configuration registers 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 Used to store NIC configuration data 9346 is a 16 bit x 1k serial EEPROM 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 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 EEDO, EEDI, EESK Time sensitive code written in inline-assembly 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 Checks NIC for a packet by polling the NIC interrupt pin Packet Processing Examine Packet Header (first four bytes) Examine Packet Header (first four bytes) Determines Packet Length Read entire packet to microcontroller SRAM Read entire packet to microcontroller SRAM Determine Packet Type Determine Packet Type

Packet Types Address Resolution Protocol (ARP) Bind IP Address to MAC Address Bind IP Address to MAC Address Internet Protocol (IP) Internet Control Message Protocol (ICMP) Internet Control Message Protocol (ICMP) User Datagram Protocol (UDP) User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Transmission Control Protocol (TCP)

ARP Packet Handling ARP Response Packet Contents Source MAC Address Source MAC Address Source IP Address Source IP Address Destination MAC Address Destination MAC Address Destination IP Address Destination IP Address Padding characters to meet minimum packet size requirements (64 bytes) Padding characters to meet minimum packet size requirements (64 bytes) Number of bytes to be transmitted 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) Packet Type (ICMP = 0x00) Destination IP Address Destination IP Address Source IP Address Source IP Address Destination MAC Address Destination MAC Address Source MAC Address Source MAC Address IP Header Checksum IP Header Checksum Original Packet Data + Checksums Original Packet Data + Checksums

IP Packet Handling – UDP/TCP UDP Used for implementing DHCP Used for implementing DHCP ‘Connectionless’ – No acknowledgement sent ‘Connectionless’ – No acknowledgement sentTCP Used for receiving HTTP (Web Server) Requests Used for receiving HTTP (Web Server) Requests

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

Debugging Connected HTTP + TCP/IP Microcontroller to UART + PC Terminal Software Wrote software to perform a register dump of the NIC 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 Microchip PIC 16F877 and Rabbit 2000T

Debugging Simulated code in software environment Monitored Registers and I/O Monitored Registers and I/O Quadruple Checked Wiring / Hardware Setup Power Supply, Clock 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 Contact makers of the Ethernet Controller for more documentation Worst Case Scenario: Obtain new Ethernet controller Obtain new Ethernet controller Crystal Semiconductor CS8900A Popular + Well Documented Popular + Well Documented

Questions?