Processes and operating systems z Telephone answering machine

  • Slides: 18
Download presentation
Processes and operating systems z. Telephone answering machine. © 2000 Morgan Kaufman Overheads for

Processes and operating systems z. Telephone answering machine. © 2000 Morgan Kaufman Overheads for Computers as Components

Theory of operation z. Compress audio using adaptive differential pulse code modulation (ADPCM). analog

Theory of operation z. Compress audio using adaptive differential pulse code modulation (ADPCM). analog time ADPCM 3 2 1 -1 -2 -3 time © 2000 Morgan Kaufman Overheads for Computers as Components

ADPCM coding z. Coded in a small alphabet with positive and negative values. y{-3,

ADPCM coding z. Coded in a small alphabet with positive and negative values. y{-3, -2, -1, 1, 2, 3} z. Minimize error between predicted value and actual signal value. © 2000 Morgan Kaufman Overheads for Computers as Components

ADPCM compression system S quantizer integrator inverse quantizer encoder samples decoder © 2000 Morgan

ADPCM compression system S quantizer integrator inverse quantizer encoder samples decoder © 2000 Morgan Kaufman inverse quantizer integrator Overheads for Computers as Components

Telephone system terms z. Subscriber line: line to phone. z. Central office: telephone switching

Telephone system terms z. Subscriber line: line to phone. z. Central office: telephone switching system. z. Off-hook: phone active. z. On-hook: phone inactive. © 2000 Morgan Kaufman Overheads for Computers as Components

Real and simulated subscriber line z. Real subscriber line: y 90 V RMS ringing

Real and simulated subscriber line z. Real subscriber line: y 90 V RMS ringing signal; ycompanded analog signals; ylightning protection, etc. z. Simulated subscriber line: ymicrophone input; yspeaker output; yswitches for ring, off-hook, etc. © 2000 Morgan Kaufman Overheads for Computers as Components

Requirements © 2000 Morgan Kaufman Overheads for Computers as Components

Requirements © 2000 Morgan Kaufman Overheads for Computers as Components

Comments on analysis z. DRAM requirement influenced by DRAM price. z. Details of user

Comments on analysis z. DRAM requirement influenced by DRAM price. z. Details of user interface protocol could be tested on a PC-based prototype. © 2000 Morgan Kaufman Overheads for Computers as Components

Answering machine class diagram 1 1 Microphone* Line-in* Line-out* Controls 1 1 Playback 1

Answering machine class diagram 1 1 Microphone* Line-in* Line-out* Controls 1 1 Playback 1 1 Speaker* 1 © 2000 Morgan Kaufman 1 1 1 Buttons* 1 Record 1 1 1 Lights Overheads for Computers as Components 1 1 1 * Outgoing* message * Incoming* message

Physical interface classes Microphone* Line-in* Line-out* sample() ring-indicator() sample() pick-up() © 2000 Morgan Kaufman

Physical interface classes Microphone* Line-in* Line-out* sample() ring-indicator() sample() pick-up() © 2000 Morgan Kaufman Buttons* Lights* record-OGM play messages num-messages Overheads for Computers as Components Speaker* sample()

Message classes Message length start-adrs next-msg samples Incoming-message Outgoing-message msg-time length=30 sec © 2000

Message classes Message length start-adrs next-msg samples Incoming-message Outgoing-message msg-time length=30 sec © 2000 Morgan Kaufman Overheads for Computers as Components

Operational classes Controls Record Playback operate() record-msg() playback-msg() © 2000 Morgan Kaufman Overheads for

Operational classes Controls Record Playback operate() record-msg() playback-msg() © 2000 Morgan Kaufman Overheads for Computers as Components

Software components z. Front panel module. z. Speaker module. z. Telephone line module. z.

Software components z. Front panel module. z. Speaker module. z. Telephone line module. z. Telephone input and output modules. z. Compression module. z. Decompression module. © 2000 Morgan Kaufman Overheads for Computers as Components

Controls activate behavior Compute buttons, line activations Activations? Play OGM Record OGM Play ICM

Controls activate behavior Compute buttons, line activations Activations? Play OGM Record OGM Play ICM Wait for timeout Erase Answer Play OGM Allocate ICM Record ICM © 2000 Morgan Kaufman Overheads for Computers as Components

Record-msg/playback-msg behaviors nextadrs = 0 msg. samples[nextadrs] = sample(source) speaker. samples() = msg. samples[nextadrs];

Record-msg/playback-msg behaviors nextadrs = 0 msg. samples[nextadrs] = sample(source) speaker. samples() = msg. samples[nextadrs]; nextadrs++ F nextadrs=msg. length F End(source) T T playback-msg record-msg © 2000 Morgan Kaufman Overheads for Computers as Components

Hardware platform z. CPU. z. Memory. z. Front panel. z 2 A/Ds: ysubscriber line,

Hardware platform z. CPU. z. Memory. z. Front panel. z 2 A/Ds: ysubscriber line, microphone. z 2 D/A: ysubscriber line, speaker. © 2000 Morgan Kaufman Overheads for Computers as Components

Component design and testing z. Must test performance as well as testing. y. Compression

Component design and testing z. Must test performance as well as testing. y. Compression time shouldn’t dominate other tasks. z. Test for error conditions: ymemory overflow; ytry to delete empty message set, etc. © 2000 Morgan Kaufman Overheads for Computers as Components

System integration and testing z. Can test partial integration on host platform; full testing

System integration and testing z. Can test partial integration on host platform; full testing requires integration on target platform. z. Simulate phone line for tests: yit’s legal; yeasier to produce test conditions. © 2000 Morgan Kaufman Overheads for Computers as Components