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