Networked Home Theater

Functional Description

By

Jeff Patrick

Advisor: Alexander Malinowski

Overview:

Most Sony home theater components have a built in communications protocol. The various components connect to each other through a S-Link port. S-Link is a two-wire serial data bus that provides two way communication. Sony’s intent for this bus was to allow their components to interact and allow an easier and more fun home theater experience.

The Networked Home Theater project connects the S-Link bus to a PC (Personal Computer). The PC has the opportunities for advanced automation of the components. The PC will be able to control the CD player as well as read information from the player. A Java server on the PC will allow Java applets on the Internet to connect and remotely control the player. The server will also download the CD information from CDDB.com.

Figure 1 The block diagram of the networked Sony system connected to a personal computer connected to the home Intranet or to the Internet.

Figure 1 shows the block diagram of the entire system. The Sony CD player will connect directly to a microcontroller through the S-Link connection. The microcontroller will control communications directly to the CD player.

The microcontroller will then be connected to a PC running a Java server. The connection will be made through either a serial or parallel port. The microcontroller and PC will communicate to each other through a proprietary protocol that is not yet developed.

The Java server will manage several tasks. First, it will connect to the CDDB online database and retrieve the information about the currently playing CD (title and track contents.) Access to the CDDB database is available through a proprietary library available in C language for Windows platform. The Java language allows C functions to be called within the Java code. The server will also communicate with Java applets that will connect either locally or over the Internet. The applets will be the front end of the Networked Home Theater system. The end user will be able to send the server commands, which in turn will send the commands to the microcontroller, and ultimately, the CD player.

The Other Components Block could be other Sony products, such as DVD players or receivers. It could also be another brand of control signal if it exists.

Modes of Operation:
Idle

The system is in an idle state while it is waiting for a client to connect to the server and control the unit (Remote Control Mode) and listens to activity on the S-Link bus. In the case of playing a new CD, the mode switches to Query mode.

Remote Control

The system is being controlled by a remote user. The user sends input through the system, and the system sends back status information to the user. When a user plays a CD the system temporarily switches to the Query mode so that the CD information may be retrieved. The current command set is listed in Table 1 below:

Play Will play the selected Disc and track.
Stop Will stop all activities of the CD player.
Pause Will toggle pause mode while in play mode.
Next Track Switch to the next track on the disc.
Previous Track Switch to the previous track on the disc.
Power Will toggle the CD player power if digitally controlled.
Disc Check Will report on all of the discs in the player.
Eject Eject the CD tray.
Exchange Exchange other CD’s while playing the current disc.
Next Disc Switch to the next disc.
Previous Disc Switch to the previous disc.
Disc<Disc#> Switch to the first song of <Disc #>.
Disc<Disc #><Track #> Switch to song <Track #> on disc <Disc #>
Track<Track #> Switch to track <Track #> on the current disc.

Table 1 Current instructions to be made available to a remote user of the system.

Query Mode

The CD player reports the CD identification number to the PC. The PC then retrieves the CD information from the CDDB database. The information of each CD will be stored in a local database to allow selection of any CD in the player and to prevent the necessity of multiple inquiries about the same CD in the future. After obtaining the information the system returns to the mode previously active.

Inputs/Outputs:
CD Player
Port: S-Link 1 The CD player will send status information to the microcontroller. It will also receive instructions from the microcontroller on the same port.
Port: S-Link 2 May be used to connect multiple Sony components to the Networked Home Theater
Port: RCA Out The CD player will send analog music signals out from the RCA ports. The music signals will be sent to an unspecified receiver to be processed.
Port: Digital Out Will most likely not be used.
MicroController
Port: RS232 This port will be connected to the PC to send status signals and receive instruction signals.
Port: S-Link This port will be connected to the S-Link bus to control the CD player and receive status information.
PC
Port: Serial/Parallel This port will be connected to the microcontroller to send and receive instructions or status information.
C API for CDDB: The proprietary SDK from CDDB.com will be used to connect to the CDDB database and obtain information about the CD contents.
TCP/IP Socket A TCP/IP socket will be used for to connect to the client applet and send/receive control information and CD information.
Applet
TCP/IP Socket The TCP/IP port will be used to connect to the Java server and obtain information about the CD playing as well as any play-lists compiled. It will also be used to send the user input back to the Java server.
GUI The GUI (Graphical User Interface) will be the front end of the project. It will display pertinent information about the CD playing as well as other CD’s in the player.