Transcript Document

Video Phone System Design
Brad Murray
Greg Lefty
Mike Halfen
ECES 488 Spring 2000
Introduction
Unique Design Features
•
•
•
Button Scheme
“Streamed Video”
Time Stamp From Caller ID
User Defined System
Constraints
• Require external power supply
• Plug directly to Telco Jack
• Maximum message length of 60
seconds
• Maximum of 30 messages
•
When message memory is filled, the oldest
message is erased.
• Standalone device
Technical System
Constraints
• Audio Sample Rate = 8K samples/second
• Audio Memory Requirement
384 Kbyte/message
• QCIF Standard Video Format (176 x 144)
304 Kbit/ frame
Compressed (20:1) = 15.2 Kbit/frame
At 1 frame/sec = 114 Kbyte/message
• Total Message Storage - 14.9 MB
• Additional DSP Data/Table Memory = 64K
Design Options
• Available Hardware Options
• Off the shelf IC
• DSP/Microcontroller
• FPGA
• ASIC
• Determining Factors
• Design Cost
• Production Cost
• Flexibility
Component Comparison
Hardw are Type
Design Cost
Production Cost
Flexibility
Shelf IC
None
Low
None
DSP/Micro Cont
Moderate
Low
High
FPGA
High
Low
Moderate
ASIC
Very High
Moderate
Low
The Competition
• Market segmented
 Video calls over IP


Dominant segment
Extremely cheap ($70 for camera/software)




Hardware often consists only of digital camera
Software driven design
Computer, network connection required
Video over telephone

TV / Monitor products


Still cheap ( < $300)
Display Integrated devices

Most Expensive
Display Integrated
Videophones
• Common features
 H.324 compliant
 Able to send minimum of 7 frames/sec (up to 15!)




Use of QCIF standard (176 x 144 pixel picture transmitted)
Camera electronically adjustable: zoom, pan, tilt
4” LCD Display: adjustable picture quality and size
Average retail price: $600
• Manufacturers
 Aiptek



Cheap!! ~$450 at Amazon.com
Basic features only
MCF Enterprises (~$600)


Picture in Picture
Advanced standard telephone features


Answering machine (voice only)
Redial & Number Memory
Display Integrated
Videophones
• Other Manufacturers
 8x8


Led market in this segment
Discontinued telephone products



Now manufactures H.323 products
 Video conferencing over I.P.
Provides chip sets and development solutions for H.324
Panasonic



Only major electronics manufacturer in this market
Same features as Aiptek, 8x8
Priced 2 - 3 times higher ($1150!!)
System Overview
LCD Display
Digital
9
0
#
Button
*
Button
Cancel
Button
Camera
LCD
Controller
RAM
1
2
3
4
5
6
7
8
Microphone
FLASH
A/D
Converter
Speaker
Audio
Amp
D/A
Converter
DSP (video
processing)
BUTTONS
De-bounce
Circuitry
DSP (audio
Processing)
Modem
Phone
Line
(POTS)
Button
Button
Components
•LCD Display
•Digital Camera
•Analog to Digital Converter (ADC)
•Digital to Analog Converter (DAC)
•Modem DSP
•Video DSP
•Memory
LCD Display
Requirements
•320 x 240 resolution 8 bit color
•DSP Controlled
•Low Cost
Market Analysis
V e n do r
PN
H a n t ro n ix
H D M 3 2 2 4 -L C
E p s on
S E D 13 35
N e w a rk E le c t ro n i c s
A ND 32 222M S T
N e w a rk E le c t ro n i c s
A N D 7 1 1 A S T-3 0
Lum e x
LC M 52 40x 1 28G S F
NE C
N L322 4
S h a rp
LQ 03 9Q 2D S 5 4
C ry s ta ll o i d
C R3 2240
P rice
N o te s
$ 7 0 . 8 1 3 2 0 x 2 4 0 (C o l o r)
C o l o r / B W P i x e l s/1 0 0 0 M e tr i c / P r i c e
30
77
$ 1.31
$2 73.00 B /W 32 0x 2 40
5
77
$ 0.30
$ 1 1 5 . 0 0 B / W (2 4 0 x 6 4 )
5
15
$ 0.18
$ 78.00 240x 128 B /W
5
31
$ 0.46
$2 97.00 320x 240 C olor
30
77
$ 0.36
$2 50.00 320x 240 C olor
30
77
$ 0.43
5
77
$ 1.17
$ 1 0 . 6 0 C o n t ro ll e r fo r a b o ve L C D
$ 7 0 . 0 0 3 2 0 x 2 4 0 (B /W )
Digital Camera
Requirements
•320 x 240 resolution 8 bit color
•DSP Controlled
•Low Cost
Market Analysis
Ve nd or
PN
A l li e d
C V C -5 0 B C / P H
$ 8 9 . 0 0 C o lo r B o a rd
P r i c e N o te s
S t a rk E le c t ro n ic
V -X0 0 9 5 -P C B -3 . 6
$ 7 9 . 0 0 C o lo r B o a rd - N TS C
ADC / DAC
Requirements
•8,000 Samples per Second
•8 bits per Sample
•Low Cost
Market Analysis
V e nd or
PN
P r ic e
B its
Sp ee d M Hz
F a i rc h i ld
A D C 080 4
$2.00
8
10
P h il li p s
TD A 8 7 9 2 M /C 2
$6.40
8
25
N a ti o n a l S e m i c o n d u c t o r
A D C 080 4
$2.00
8
10
FS C/R ay m ill
A D C 080 4
$2.00
8
10
V e nd or
PN
P r ic e
B its
Sp ee d M Hz
F a i rc h i ld
DA C 080 8LC M X
$1.37
8
P h il li p s
TD A 8 7 0 2 TD -T
$1.84
8
6 .67
30
N a ti o n a l S e m i c o n d u c t o r
DA C 080 8LC M
$0.81
8
6 .67
FS C/R ay m ill
DA C 080 8
$1.37
8
6 .67
Memory
Requirements
•Maintain 30 Messages
•60 Seconds each
•Communicate with Video DSP
•Large Flash Memory for Message Storage
•Small Memory for Program and Data Space
•Low Cost
Market Analysis
Ve nd or
PN
B ri g h t (W in b o n d ) B M 2 9 F 0 4 0
P rice
N o te s
$ 6 . 5 0 4 M b F l a s h - 9 0 n s s e c t o r e ra s e
S i z e M e tr i c M e tr i c / P r i c e
4.00
$ 0 .6 2
S h a rp
LH 28 F00 8S CTL85
$ 1 0 . 3 9 8 M B F l a s h - 6 4 K b l o c k e ra s e
8.00
$ 0 .7 7
S h a rp
LH 28 F00 4S CTL85
$ 8 . 7 8 4 M B F l a s h - 6 4 K b l o c k e ra s e
4.00
$ 0 .4 6
S h a rp
LH 28 F16 0S CB L95
16.00
$ 1 .2 3
S h a rp
LH 51 64A
0.06
$ 0 .0 3
$ 1 3 .0 1 3 V -F L A S H 1 6 M E G - B l o c k E ra s e
$ 2 . 0 7 6 4 K S R A M - 8 K * 8 a rra n g e m e n t
Audio DSP
Requirements
•Communicate with Video DSP
•Process Audio (ADC/DAC)
•Communicate with Modem
•H.324 Compliance
•Mux/Demux modem data
•H.223 Protocol
•Process Inter-terminal communication
•H.245 Protocol
•Low Cost
Video DSP
Requirements
•Communicate with Modem DSP
•Receive and Compress Camera Data
•Decompress and Send LCD Data
•Encode/Decode Video Data
•H.263 Protocol for H.324 Compliance
•Store and Retrieve Messages
DSP Evaluation
• Speed
• # of Interfaces
 Serial
 Parallel
• Cost
• Bit capability
 ALU
 Bus width
 Registers
T
TM M S
S 32
32 0
TM
0C C 2
T
S3 M A 2 0 0 3
2 0 S3 D 3 P P Z
V 20 S P Z
C C - 2 57
5
40 2 0 10
2 3 4
TM A D G P Z
S G 8
T M S 3 P U1 0
2 T
0
M S 0 L 210 0
S3 3 2 C
4
20 0L 20 L
C C 3
T M A 3 2 0 PZ
D 2P 3
P
S S
3 2 P- C M Z
TM
21 4
0
S
C 0 0
3
2
T 2 0 A D 06 6 5L
M LC S P
T S3 5 P - Z 8
M 2 41 2 0
S3 0 L B 1 0
20 C 2 P Z 5
L C 0 6 -6
P 6
A 206 Z 8
D
T
M A S PZ 0
S3 D S P- 8
20 P 21 0
TM
C - 21 8 4
2
S
A 09 8 4
32
D P L
0V
S N
C A D P- 2 5 7
T
M T 5 4 0 S P 11
S3 M 9 - 2 5
20 S 3 G G 18
L C 20 U 6
54 F 20 100
TM TM
S3 S 3 A 6 A 6 P
20 20 DS P Z Z
L C C P- - 5
0
3
TM
54 2P 21
S
5A C 81
32
A P M5
T 0L D S B K 0
M C
X3 5 4 P- - 5 0
20 6 A 21 0
V P 1
Z
A C 3 -6
D 3P 6
A SP G
TM TM
D -2 E
A
S S3 D S P 1 8
3 2 2 S -2 3
TM 0 0 P 1
L C - 8
S C 3 21 5
3 2 54 2P 8
TM
0L 5 A C 5L
C P M6
S
32
5 B
T M 0 A 4 3 K- 0
LC D P 6
T S 3 5 S Z1 6
M 2 4 P -4
0 2 T S3 L B P G 2 1 0
M 2
0
T M S 0L C 5 E 1 3
3 B 1 2
S
40
P
TM 3 0 C
2 0 L C 51 Z A
S
TM 3 V 5 P 5
4 Z 7
S 2 0 L C 5 3 P A5
32 C 4
Z
0 5 9G 1 7
T M V C 42 G - 50
5 P U
T M S 3 4 9 G E -8
0
S 2 0C G G 1- 5
32
U
0
0 L 3 1 -1
C P 0
A 3 QL 0
D 1P 4
S Q 0
P
- 2 -4
10 0
65
DSP Market Analysis
Rating Per DSP
35.00
30.00
25.00
20.00
15.00
10.00
5.00
0.00
TI TMS320VC35402
Pricing Analysis
Summary
H a n d t ro n i x
L C D D is p la y
$7 0.81
E ps on
L C D C o n t ro ll e r
$1 0.60
P h i li p s
M o d e m In t e rfa c e
C e rm t e k
$8.00
M odem D A A
$1 6.67
C a m e ra
$7 9.00
S h a rp
F l a s h M e m o ry
$ 1 3 .0 1
S h a rp
SRAM
$2.07
N a t io n a l S e m i c o n d u c to r
ADC
$2.00
N a t io n a l S e m i c o n d u c to r
DA C
$0.81
Te x a s In s t ru m e n t s
A u d io D S P
$6 .94
Te x a s In s t ru m e n t s
V ideo D S P
$6 .94
S ta rk E l e c t ro n i c
L a b o r & E n g in e e ri n g (p e r u n i t)
$ 18
T o ta l C o st
$ 234.85
Bus Interfaces
• Serial Interface
 Digital Camera
 AD/DA converters
• HPI Interface
 DSP – DSP communication
• Parallel
 Memory
 LCD Controller
Serial Port Interface: Transmitting
1
2
3
4
5
6
7
8
9
10
CLKX
FSX
Frame Sync TXM
DX
Next transmission may begin
D0
D1
D2
D3
D4
D5
D6
MSB
D7
LSB
XINT
Clock 1: Data is loaded into output register
Clock 2, rising edge: Frame sync signal is generated
Clock 2, falling edge: Interrupt generated to indicate transmission has begun
Clock 3..10: One data bit is sent on each rising clock edge
Clock 9: New data may be loaded into output register
Clock 10: If output register was loaded, frame sync signal is generated
Next transmission may begin
Next transmission may begin
Serial Port Interface: Receiving
1
2
3
4
5
6
7
8
9
10
CLKR
FSR
Frame Sync RX
DR
Next transaction may begin
D0
D1
D2
D3
D4
D5
D6
MSB
D7
Next transaction may begin
LSB
RINT
Clock 1: Frame sync is generated
Clock 2..9: One data bit is sampled on each falling clock edge
Clock 9, falling edge: Interrupt generated to indicate data is ready in receive register
Clock 10, rising edge: Frame sync may be generated for next transaction
Clock 10: If frame sync generated, MSB of next byte is received
Inter-DSP Communication:
Parallel Bus to HPI Interface Bus
Master DSP
Slave DSP
ADDR 14:0
HA 14:0
DATA 15:0
HD 15:0
/IS
/HDS
R-/W
R-/W
GPIO
READY
Slave is mapped into master’s IO space
/HDS
HREADY
HPI Transaction Timing Diagrams:
Write:
Read:
/HCS
HR-/W
HA[15:0]
HD[15:0]
HREADY
15-bit address
HPID contents
15-bit address
HPID contents
Push-button Interface
• Implements user
interface
• Software definable
functions


Greatly reduces
number of physical
buttons needed
Menu of options
displayed on-screen
Vert.
1
Vert.
2
Vert.
3
Menu options listed in boxes
Vert.
4
to the right and below.
Vert.
5
Hz.
Hz.
Hz. Hz. Hz. Hz. Hz. Hz.
1
2
3
4
5
6
7
8
Video Picture displayed in this
box.
Push Button Interface

Physical buttons

13 buttons used

Button
Button
Hz
6
Vert.
1
Vert.
2
Vert.
3
Vert.
4
Vert.
5
Hz Hz
7
8
Button
Hz
5
Button
Adjacent to on-screen
menu options
Hz
4
Button

Hz
3
Button
Placed around LCD
screen
Hz
2
Button

Hz
1
Button

Buttons needed for a
single function placed
together
 Keeps the
interface easy to
use
Making a call requires
0-9, #, *, and “Cancel”
LCD Display
Button
Button
Button
Button
Button
Interface Flow Example (1):
1: Initial Menu:
2: “Place Call” is pressed
Place Call
9
Play
Messages
0
Greeting
Options
#
System
Options
*
Cancel
Cancel
1
2
3
4
5
6
7
8
4: a) Sequence completed-- dials
3: Numbers/Symbols pushed
(displayed on-screen as pushed)
b)”Cancel” pushed – returns (1)
9
9
0
0
#
1 216 368 200
*
2
3
4
5
6
7
8
*
Dialing…
Cancel
1
#
1 216 368 2000
Cancel
1
2
3
4
5
6
7
8
Interface Flow Example (2):
1: Initial Menu:
2: “Place Messages” is pressed
Place Call
Place Call
Play
Messages
Play
Messages
Greeting
Options
Greeting
Options
System
Options
System
Options
Cancel
Cancel
Play
Previous Next
Erase
Message Message Message Message
Current Message: 4 of 25
Received: 6:30 PM 4/27/00
3: a) “Erase Message” pushed
Message Erased.
Place Call
Play
Messages
3: b) “Play Message”: Plays current message
c) “Cancel” : Returns to 1
d) “Greeting Options” displays Greeting menu
Place Call
Greeting
Options
Play
Messages
System
Options
Greeting
Options
Cancel
Play
Previous Next
Erase
Message Message Message Message
System
Options
Current Message: 4 of 24
Received: 6:30 PM 4/27/00
Cancel
Record View
Disable Select
Greeting Greeting Video Active
Greeting Greeting
Greeting 3 is currently active
Flow Chart Level 1
Idle
User Presses Record Greeting
Time-out/button press
Recording Code Entered Playing
Messages
Messages
Record Outgoing
Message
Phone Answers
Calling
Communicating
Flow Chart Level 2: Playing Messages
Remote Code Entered
User Presses Play
Get First Message From Flash
Decompress
Audio
Yes
Remote
Checking?
No
Insert Delay
Decompress
Video
Play Audio
Next Message
Previous Message
Play Video
Delete Message
Repeat Message
Get Next Message
No
Does Message
Exist?
Yes
Get Message
Time Out/ Disconnect/
User Presses Stop
Flow Chart Level 2: Recording Messages
4 Rings
Yes
No
Digital
Connection?
Get Audio/Video
Out Message
Get Voice Out Message
Send
Play Out Message
No
Done?
Done?
Receive Phone
Data Packet
Extract Audio/
Video Data
Code
Entered?
No
Receive Voice Message
Yes
No
Done?
Store In Flash
Play Messages
No
Time Out?
Yes
Yes
Code
Entered?
Yes
Store In Flash
No
No
Yes
Done?
No
Time
Out?
Play Messages
Yes
No
Flow Chart Level 2: Calling
Call Button Pressed
No
Dialtone?
Yes
Yes
Connected?
Communication
No
Cancel Button
Pressed
Yes
No
User Presses
0-9, #, *
Send Tone
Flow Chart Level 2: Record Outgoing Message
Record Button Pressed
Get Audio
Get Video
Compress Audio
Compress Video
Yes
No
Cancel Button
Pressed?
Yes
No
Time Out?
Flow Chart 2: Communication
Answer Phone
Other End Picks Up
Establish Digital Communication/
Modem Training
Initialization
Yes
Idle
Yes
Hangup?
No
Is Sender?
Get Audio
Get Video
Compress Audio
Compress Video
No
Get Phone Data
Unpack A/V From H.324
Decompress Audio
Decompress Video
Pack A/V into H.324/ Add Audio Delay
Insert Requested Delay
Send Over Phone
Play Audio
Play Video
State Machine Diagram
Communicating
6.0
Answer == TRUE
Record_Greeting == TRUE
State = 6.0
State = 3.0
Phone_Answer == TRUE
State = 6.0
Record
Outgoing
Greeting
3.0
Disconnect == TRUE
State = 1.0
End_Recording == TRUE ||
Rec_Msg_Packets > OUT_MSG_MAX
Idle
State
1.0
Make_Call == TRUE
State = 5.0
Callin
g
5.0
State = 1.0
Disconnect == TRUE ||
Rec_Msg_Time_Out == TRUE
User_Cancel == TRUE
State = 1.0
State = 1.0
Rings == 4
State = 2.0
No_Messages == TRUE ||
Disconnect == TRUE ||
Stop_Playback == TRUE
Play_Msgs == TRUE
State = 4.0
State = 1.0
Playback
Message
4.0
Valid_Code_Entered == TRUE
State = 4.0
Record
Caller Msg
2.0
Idle State 1.0 Diagram
Make_Call == TRUE
Listen
For First
Ring
1.1
State = 5.0
Ring_Detect == TRUE
Record_Greeting == TRUE
State = 1.2
Rings < 4
State = 3.0
State = 1.2
Ringer_Timeout == TRUE
Count
Rings
1.2
Rings == 4
State = 2.0
Answer == TRUE
State = 6.0
State = 1.1
Play_Msgs == TRUE
State = 4.0
Record Caller Msg State 2.0 Diagram
Retrieve
Outgoing
Greeting
2.1
More_Data_Available == TRUE
Packet Retrieved
State = 2.1
State = 6.3
Valid_Code_Entered == TRUE
State = 4.0
Send Data
6.3
More_Data_Available == FALSE &&
Flash_Full == TRUE
State = 2.2
More_Data_Available == FALSE &&
Flash_Full == FALSE
State = 2.3
Overwrite
Oldest
Message
2.2
Done_Overwriting == TRUE
State = 2.3
Get Next
Available Msg
Location
2.3
Flash_Ready == TRUE
State = 6.4
Receive Data
6.4
Packet_Stored == TRUE
Data_Received == TRUE
State = 6.4
Packet_Type = MSG
State = 2.4
Store
Packet
2.4
Disconnect == TRUE ||
Rec_Msg_Time_Out == TRUE
State = 1.0
Record Outgoing Greeting State 3.0 Diagram
Get Audio / Video
7.0
Read_Data_Buffer == FULL
State = 3.2
Compress Audio and
Video
3.2
AV_Compression == COMPLETE
Packet_Type = OUTGOING
State = 2.4
End_Recording == TRUE ||
Rec_Msg_Packets >= OUT_MSG_MAX
State = 1.0
Store Packet
2.4
End_Recording == FALSE &&
Rec_Msg_Packets < OUT_MSG_MAX
Rec_Msg_Packets++
State = 7.0
Playback Messages State 4.0 Diagram
Retrieve
Message
4.1
Play_Msgs == TRUE &&
Msg_Retrieved == TRUE
Msg_Selection == REPEAT
Valid_Code_Entered == TRUE &&
Msg_Retrieved == TRUE
State =4.1
State = 4.4
State = 4.2
Decompress
Audio
4.2
Decompress Audio
And Video
4.4
Audio_Decompression == COMPLETE
Decompression == COMPLETE
State =4.3
State =4.5
Play
Audio
4.3
Play Audio
And Video
4.5
Msg_Selection == NEXT
Msg_Played == TRUE
Audio_Sent == TRUE
State =4.6
State =4.6
No_Messages == TRUE ||
Disconnect == TRUE ||
Stop_Playback == TRUE
State = 1.0
Message
Selection
4.6
Message_To_Play++
State =4.1
Msg_Selection == PREVIOUS
Message_To_Play-State =4.1
Calling State 5.0 Diagram
User_Cancel == TRUE
Waiting
For User Input
5.1
State = 1.0
Number_Entered == TRUE
Ringing == FALSE
State = 5.2
State = 5.1
Send Tone
5.2
Ringing == TRUE
State = 5.3
Wait For
Pickup
5.3
Phone_Answer == TRUE
State = 6.0
Communicating State 6.0 Diagram
Negotiate
Setup
6.1
Parameters_Set == TRUE
Get Audio / Video
7.0
State = 7.0
Read_Data_Buffer == FULL
Parameters_Set == TRUE
State = 3.2
State = 6.2
Disconnect == TRUE
State = 1.0
Outgoing_Data_Present == TRUE
Wait For
Data
6.2
Data_Reception_Complete == TRUE
State = 6.2
Compress Audio and
Video
3.2
Incoming_Data_Present == TRUE
State = 6.2
State = 6.4
Data_Transmission == TRUE
Receive
Data
6.4
Decompress Audio
And Video
4.4
State = 7.0
Packet_Received == TRUE
Outgoing_Data_Present == TRUE
State = 4.4
State = 6.3
Decompression == COMPLETE
State =4.5
Play Audio
And Video
4.5
Send
Data
6.3
Caller ID – Physical
Layer
Physical Layer
•8 bit Characters Transmitted Asynchronously
•One Start Bit, Between One and Ten Stop Bits
•1200 baud FSK Modulated Data
Format
S2 M B7 B6 B5 B4 B3 B2 L S1
S1 – Start Bit
S2 – Stop Bit
M – Most Significant Bit
L – Least Significant Bit
B* - Bit Numbers 2 to 7
Most Significant Octet is Transmitted First
Caller ID – Datalink
Layer
Channel Mark Message Message Message
Checksum
Presentation
Layer
Seizure Signal
Type
Length
80 – 262 ms > 45 ms
96 – 315 bits > 55 bits
~ 9.8 ms
8 bits
~ 9.8 ms
8 bits
0 – 2488 ms
0 – 2040 bits
~ 9.8 ms
8 bits
Channel Seizure – Phasing Pattern of Alternating 1’s and 0’s
Mark Signal – A Series of Mark Bits (1’s)
Message Type – Application Dependent
Checksum – 2’s Complement Sum of all Bytes From “Message
Type” Word
Caller ID – Presentation
Layer
Parameter Parameter Parameter
Type
Length Byte(s)
…
Parameter Type
1 – Time & Date
2 – Calling Line Directory Number (DN)
3 – Called Directory Number
4 – Reason for Absence of DN
7 – Caller Name / Text
8 – Reason for Absence of Name
17 – Call Type
19 – Network Message System Status
Parameter Parameter Parameter
Type
Length Byte(s)
Messaging
Next Available Msg
Msg 3
Msg 4
Msg 6
Msg 7
Msg 8
Msg 1
Msg 2
Msg 5
Msg Lookup Table
Flash Memory
Msg 1
Msg 2
Msg 3
Msg 4
Msg 5
Msg 6
Msg 7
Audio
Video
Msg 30
When a message is recorded, it is put on the bottom of the Next Available Msg buffer
When a message is deleted, it is put on the top of the Next Available Msg buffer
Interphone Communication
• Follow H.245 control protocols
 Mandated by H.324
 Overview

Master/Slave relationship between terminals


Machines exchange capabilities




Based on terminal type or random #
Master transmits preferences
Slave accepts/rejects
 Based on capabilities and settings
Master establishes channels for data transfer
Data transferred
Conclusions
• Potential per unit profit margin: $215
 Low competitor’s retail: $450
 Per unit expense: $235
• Competitively featured
 H.324 compliant
 Video messaging capabilities
 Slick UI
• Solid Design Foundation
 Ease Implementation Issues
 Facilitate quick time to market