Voice Over IP – Software Western Washington University By: Jonathan R. Peterson.

Slides:



Advertisements
Similar presentations
Internet Control Protocols Savera Tanwir. Internet Control Protocols ICMP ARP RARP DHCP.
Advertisements

Intermediate TCP/IP TCP Operation.
Mark Schaumburg.  Dash Module for Formula Car  Sample pulse from engine for RPM  Display Information  Control gui  Can network interface  Request.
EEE 435 Principles of Operating Systems Principles and Structure of I/O Software (Modern Operating Systems 5.2 & 5.3) 5/22/20151Dr Alain Beaulieu.
Figure 2.8 Compiler phases Compiling. Figure 2.9 Object module Linking.
An 8051 Based Web Server Project by Mason Kidd Advised by Dr. Schertz.
Network Layer4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side,
Network Layer4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side,
NETWORK CENTRIC COMPUTING (With included EMBEDDED SYSTEMS)
Characteristics of Communication Systems
BlueECG System Software Design Western Washington University By: Corey Williamson.
LWIP TCP/IP Stack 김백규.
1 Lecture 20: I/O n I/O hardware n I/O structure n communication with controllers n device interrupts n device drivers n streams.
Specview 32 Release 2.5 Enhancements
University of the Western Cape Chapter 12: The Transport Layer.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
Lectu re 1 Recap: “Operational” view of Internet r Internet: “network of networks” m Requires sending, receiving of messages r protocols control sending,
TCP/IP Protocol Suite 1 Chapter 10 Upon completion you will be able to: Internet Group Management Protocol Know the purpose of IGMP Know the types of IGMP.
TCP/IP (Transmission Control Protocol / Internet Protocol)
Author George Peck EVLA Hardware Monitor & Control PDR March 13, MIB FUNCTIONALITY.
 Home Security and Lighting System  Western Washington University  Jonathon Ross  28 April, 2009.
System Software Design and Documentation Zach Hill Western Washington University.
Digital Handheld Communication and Navigation Device
Vinh Le.  MCU: Freescale Kinetis K60512 ARM Cortex M4  Bus Frequency: 50MHz  Available Memory: ◦ 512KB Flash ◦ 64KB SRAM  Memory Required: ◦ 10KB.
SYSTEM SOFTWARE DESIGN JAMES ZUROSKE Pet Proximity Sensor.
Ryan Hansgen. General System Design  MC9S08QE64CFT 24MHz Bus Frequency 64 K byte Flash EEPROM, 4.0 K byte RAM  Memory required 8 K bytes ROM 2 K bytes.
RFID Access Control System Lucius Knight. General System Design  Microcontroller  PSoC CY8C29466  24MHz Bus Frequency  Memory Available  32kB FLASH.
BICYCLE SECURITY AND TRIP COMPUTER MATTHEW ROTHNIE WESTERN WASHINGTON UNIVERSITY 4/25/12.
By Jesse W. Spalding.  Microcontroller Choice  Motorola 9S12DP256B ◦ Set to 24 MHz for the Bus Frequency ◦ Memory  256K Bytes of ROM  12K Bytes of.
ATV INSTRUMENTATION DISPLAY System Design Ed Raezer Senior Project Western Washington University.
Multi-Access Lock Andrew Hall. General System Requirements MCU: MC9S12C128 Bus Frequency: 24MHz Memory Requirements: 11k bytes Flash EEPROM 3k bytes RAM.
System Software Design Engineer: Mac Gainor Western Washington University.
Machine Access System Software Design and Documentation Western Washington University By: Kevin Pogue.
Portable/Programable Location System – Software Design By: Mark Moerdyk.
LED CUBE Preliminary System Software Design Fernando J. Garcia May
Humidity Sensing Fan Controller Jason Huft 05/11/10.
Yared Woldekiros Western Washington university WEB ENABLE HOME AUTOMATION.
System Software Design Dan Sweet May 6 th, 2008 Western Washington University Bicycle Power Meter.
Automatic Pressure Canning System System Software Design By: Michael Drysdale.
Atmospheric Data Measuring Rocket Software Design & Description Matt Buonadonna ADaM Code Presentation.
Software Design Review Andres Rodriguez. General System Design  MCU: STM32F405  MCU Bus Frequency: 84MHz  Memory Requirements  Flash: ~ 10Kb  RAM:
System Software Design GPS Training System Jason Corbridge May 8, 2008 Western Washington University.
LED CUBE Preliminary System Software Design Fernando J. Garcia May
WESTERN WASHINGTON UNIVERSITY KENT SYKES 2009 Audio Field Recorder System Software Design.
ATV INSTRUMENTATION DISPLAY System Software Design Ed Raezer.
HOME CONTROL SYSTEM By: Justin E. Klumpp & Leo L.S. Wan Leo L.S. Wan.
ECET 340 Entire Course (All ilabs and Homework) For more classes visit ECET 340 Week 1 HomeWork 1 ECET 340 Week 1 iLab 1 ECET 340.
System Software Design Doorbell Jukebox Henry Arbicor and Arthur Bingcang.
Electronic Automotive Motor Control System Software Description Viking 32.
Electronic Memory Game System Software Design Jack Sullivan May 08, 2007.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
An Overview When Connecting to Yaskawa Drives Date: 8/14/06, Rev: PP.AFD.26.
Conserve-A-Watt System Software Design Justin Rapozo.
Cisco Routers Routers collectively provide the main feature of the network layer—the capability to forward packets end-to-end through a network. routers.
FOR MORE CLASSES VISIT   ECET 340 Week 1 HomeWork 1  ECET 340 Week 1 iLab 1  ECET 340 Week 2 HomeWork 2  ECET 340 Week 2 iLab.
Software Overview Walking Robot by Sharon Davis Kernel MicroC/OSII.
The Guardian: Refrigerator Contents Tracker Bryant Lampano Western Washington University Electronics Engineering Technology [Type the company name]
Automated Aquarium Controller System Software Design ETEC 474 Western Washington University By: Gregory Rose.
28 April 2005 Brushless DC Motor Controller Software Design Presentation Western Washington University Patrick Prendergast.
System Software Design Presentation Western Washington University Taylor Reijm.
© 2003, Cisco Systems, Inc. All rights reserved.
Wireless Optical USB Mouse
Voice Over IP By: Jon Peterson.
Mobile Operating System
By: Justin E. Klumpp & Leo L.S. Wan
ECET 340 Competitive Success/snaptutorial.com
ECET 340 Education for Service-- snaptutorial.com.
ECET 340 Teaching Effectively-- snaptutorial.com.
System Software Design
Class 3: Embedded TCP/IP Concepts
Presentation transcript:

Voice Over IP – Software Western Washington University By: Jonathan R. Peterson

Kernel Selection MicroC/OS-II  Manages complicated timing  Preemptive multitasking  Message passing with Semaphores (pending)

Task and ISR Overview EPHY_ISR  Sets a Semaphore every time a physical change occurs on the network. (Network cable plugged/unplugged) TimerISR  Handles the interrupt generated every 8kHz. StartTask  Completes system initialization and task creation, removes itself from the task scheduler. EthernetTask  Responds to the Semaphore created by EPHY_ISR and updates the link status. TCPIPTask  Scans the Rx buffers for new data and then processes it.

Task and ISR Overview (continued) DHCPTask  Handles dynamic addressing, and renews the IP address when the lease expires. KeyTask  Scans the keypad for a keypress. OnHookTask  Scans the button on bit 2 of Port-G to see if the receiver is in use or not. VOIPTask  Processes audio packets (incoming and outgoing), handles VOIP call requests and acknowledgements (handshaking). UITask  Displays user information via the LCD, and receives user input via the keypad.

Task and ISR Specifications Task/ISRPriorityOperationPeriod Execution Time Average CPU Load Maximum CPU Load EPHY_ISR---Sporadic5s1µs TimerISR---Periodic 8kHz125µs~40µs0.32 StartTask ms--- EthernetTask5Periodic 1ms (pends on EPHY_ISR) Typical: 57.2µs Max: 115.2µs TCPIPTask6Periodic2ms Typical: 353µs Max: 724µs DHCPTask7Periodic2ms Typical: 1µs Max: 100µs KeyTask8Periodic15ms Typical: 1µs Max: 2.2µs OnHookTask9Periodic15ms Typical: 1µs Max: 2.2µs VOIPTask10Periodic2ms~150µs0.075 UITask11Periodic200ms~5ms0.025 Total:

ISR Details – EPHY_ISR Description: This ISR is generated when a physical change occurs on the network.  Link speed  Duplex  Cable plugged/unplugged The ISR posts to a semaphore so that that EthernetTask may process the change. Details: Period: ~5s (Sporadic) Execution Time: ~1µs

ISR Details – TimerISR Description: This ISR handles the precise timing required for audio capture & reproduction. Details: Period: 125µs (8kHz) Execution Time: ~40µs

Task Details - StartTask Description: Performs all system initialization Creates the tasks Removes itself from the task scheduler Details: Priority: 4 Period: Once upon system startup Execution Time: 24.7ms

Task Details – EthernetTask Description: Pends on the Semaphore posted by EPHY_ISR. Determines what variety of link change occurred and updates the system. Details: Priority: 5 Period: 1ms Execution Time: 57.2µs

Task Details - TCPIPTask Description: Checks the Rx buffer for received packets. Writes to the Tx buffer when necessary. Processes packets through all layers except the application layer (described on the next slide). Details: Priority: 6 Period: 2ms Execution Time: 353µs

TCP/IP Details

Task Details - DHCPTask Description: This task processes the DHCP requests, and renews the lease of the IP address before it expires. Details: Priority: 7 Period: 2ms Execution Time: 1µs

Task Details - KeyTask Description: This task scans the 4x4 keypad, waiting for a key to be pressed. This is the same task that we used in ETEC 454. Details: Priority: 8 Period: 15ms Execution Time: 1µs

Task Details - OnHookTask Description: This task scans the push-button on bit 2 of Port-G and waits for a voltage level change. Details: Priority: 9 Period: 15ms Execution Time: 1µs

OnHookTask – De-bouncing

Task Details – VOIPTask Description: This task processes the incoming and outgoing audio packets, as well as handles VOIP call requests and acknowledgements. Details: Priority: 10 Period: 2ms Execution Time: ~150µs

VOIPTask – Incoming Call

VOIPTask – Outgoing Call

Task Details – UITask Description: This task is responsible for displaying information to the user via the LCD. The task also processes the user input. Details: Priority: 11 Period: 200ms Execution Time: ~5ms

Module Descriptions ATD – Analog to Digital conversions DHCP – Dynamic IP support EEPROM – Interface for the SPI to access the EEPROM Ethernet Driver – Allows Ethernet functionality IP – Internet Protocol support Keypad – Interfaces with the 4x4 keypad (**REUSED**) LCD – Displays text via the 2x16 LCD (**REUSED**) SPI – Handles synchronous serial communications TCP/IP – Integrates the Ethernet driver, IP, UDP and DHCP Timer – Configures the 8kHz sample rate UDP – User Datagram Protocol, Part of the TCP/IP stack VOIP – Contains the User Interface and application specific code.

Module Details ATDDHCPEEPROM Ethernet Driver IPKeypadLCDSPITCP/IPTimerUDPVOIP ISRs --- EPHY_ISR--- TimerISR--- Tasks ---DHCPTask---EthernetTask---KeyTask--- TCPIPTask--- StartTask --- OnHookTask --- VOIPTask --- UITask Public Func. ATDInitIsDHCPInitEEInitEthernetIsIPXXInitSPIUDP_WriteDataInitTimerIsUDPmain StartATDDHCPReqWriteEECloseEthernetMakeIPHdrXXWriteSPIGetAppDataGetCountMakeUDPHdr--- ReadEEStartTxIsICMPXXReadSPI--- CheckRxBuffersMakeICMPXX--- MakeEthHdrIsARPXX--- IsEthernetMakeARPXX--- Public Vars ---DHCPState---ActiveBufferMyNodeXX---VOIPFlag--- TxData[ ] ---DHCPAddr---GotLinkNodeBuf[ ]XX--- RxData[ ] --- CurrNodeXX---

General System Dataflow TimerISR SPI Ethernet EPHY Ethernet Driver IP/ICMP UDP RxData[ ] TCP/IP VOIP Rx Ethernet EPHY Ethernet Driver IP/ICMP UDP TxData[ ] TCP/IP VOIP Tx ATD DHCP DACFilter MI C

Basic Dataflow OSSemPend( ) EPHY_ISR Ethernet Driver EthernetTask LinkFlag GotLink TCP/IP IsEthernet( ) TCPIPTask IP IsIP( ) IsUDP( ) UDP IsDHCP( ) DHCP VOIP VOIPTask VOIPFlag

Keypad Dataflow VOIP KeyInit( ) KeyPend( ) Key KeyFlag Keypad Driver KeyTask KeyCodeTable Keypad I/O