| Interfaces - Command and Control | SPSU - AUV 2005 |
|---|
The Command and Control subsystem is the PC104 stack responsible for all parts of running the AUVSI submarine. In one manner or another, all other subsystems interface to and from the Command and Control subsystem. Some systems only send data to the Command and Control system. Others only receive data from the system. Some subsystems do both. At its heart the Command and Control subsystem reads the raw data sent from the various sensors throughout the submarine, uses it in the program running the sub and sends control signals to the appropriate subsystem that results in the functionality of the sub.
In this section of the web documentation the individual interfaces to and from the Command and Control subsystem will be detailed and explained by the individual subsystem. Each input and output from and to the Command and Control subsystem will be explained, as will signal definitions and declarations. This will provide a complete picture of the manner in which the Command and Control subsystem interacts with and controls the submarine.
The first focus of the interface characteristics of the Command and Control subsystem, and by extension the PC104 stack, are the physical interfaces ports into and out of the PC104 stack. There are two primary input and output ports for data flow and a single power input. Each of these is discussed below:
The first ports used to input and output data and control signals to and from the Command and Control subsystem is a series of four serial ports located on the Input/Output card of the PC104 stack. These serial ports are directly controlled by the program code running in the Linux operating system on the Processor card of the Command and Control PC104 stack. For our design, all four of these ports are used to interface various signals from other subsystems.
All of the serial ports are driven by basic serial port drivers and the signals are physically connected to and from the subsystems using standard serial port connectors on the Command and Control end. Stock, blank serial connectors are wired as needed with the input and output signals from the other subsystems. The individual specifics of which signals are present in which serial connector is detailed in the individual Interface section of the appropriate subsystem.
The four serial ports are assigned to the following subsystems:
COM 1 - Serial Port 1 - Navigation (Input from TCM 2.6 Gyro Controller)
COM 2 - Serial Port 2 - Motor Controller (Input and Output to motors)
COM 3 - Serial Port 3 - Vision Camera 1 (Input and Output from Camera 1)
COM 4 - Serial Port 4 - Vision Camera 2 (Input and Output from Camera 2)
The secondary, but equally vital, portion of data transfer hardware on the PC104 stack is the ISA bus. This is the primary method of communication within the PC104 architecture and is used for several vital functions within the AUVSI submarine. This bus functions to provide input and output from all of the custom PC104 cards on the stack. It is driven using the address lines and system control signals. Each function (not system) is assigned a specific address. The address/data system allows the individual subsystems access to the ISA bus lines in turn so they can communicate their data to or receive data from the Command and Control system.
The ISA bus is a contained part of the PC104 boards. The only PC104 board that does not contain a ISA bus connector is the Digital IO board which interfaces directly to the Processor card via a separate connector. The basic ISA bus diagram / pin definition is displayed below:
Power to the PC104 stack is supplied to the HE104 card through a connector on one side. The HE104 card filters the power through this supply source (the specifics of which are detailed in the Structure/Power subsystem documentation) and provides it through the PC104 ISA bus to the rest of the PC104 stack.
Each of the subsystems in the AUVSI submarine communicates with the Command and Control subsystem in one manner or another. As opposed to other systems, since the Command and Control subsystem has a universal control nature the logical data flow to and from every system those interfaces will be detailed here with respect to each system.
The only interface between the Structure and Power subsystem and the Command and Control system is that of power supply. The Structure and Power subsystem provides the needed power from the PC Stack battery to the HE104 card through the provided power input cable. This power supply is a 10-12 volt supply provided constantly while the battery has power.
The Navigation subsystem provides three basic information streams to the Command and Control subsystem. One of these sensor inputs is handled through serial communication with COM 1. The other two streams are sent through the ISA bus. The Navigation subsystem is also responsible for providing one of the custom PC104 cards housed on the stack which is described in depth on the Navigation Subsystem Interface and Hardware documentation webpages.
The only interface between the Command and Control and Propulsion subsystems are the control signals sent from the Digital I/O serial port and the motor controller designed to control the four motors housed on the outside of the submarine body. While the specifics of the motor controller to motor communication is detailed in the Propulsion Interface webpage the specifics of the Command and Control to motor controller communication is detailed here. The motor control signals are determined by the main program code running on the Processor board of the PC104 stack and sent, via the second serial port, to the motor controller.
The Vision system sends its camera images to the Command and Control subsystem through the last two serial ports on the Digital I/O card. During the operation of the submarine the Vision subsystem takes pictures of various parts of the pool floor in an effort to track the orange pipe and find the black box into which the markers are dropped. These images are sent to the Command and Control Processing stack for analysis through the link between the cameras and the serial ports (COM 3 and COM 4).
The Sonar subsystem custom card controls the sonar beacons located on the outside of the submarine body. This custom card interfaces to the Command and Control Processing card through the ISA bus. This is the only connection between the Command and Control and Sonar subsystems. The Command and Control subsystem prompts the Sonar subsystem for Sonar information through the ISA bus by using the address and control lines and reads the information supplied on the data lines of the ISA bus for use in the program code running on the Processor Card on the PC104 stack.
The Marker Launch system functions only when the control signals are sent from the Command and Control subsystem to release the markers into the box. These signals are sent to the Marker Launch through the Parallel port on the Digital I/O card. When a '1' (logical high) signal is sent from the Parallel port to the Marker Launch system, the marker is released. Each of the two markers are connected to a different signal line from the port and function independently.
An additional interface to the Command and Control subsystem is the Ethernet control. This interface is used in testing and diagnostics of the robot but is not used during the actual competition. An Ethernet cable is connected between the submarine and an external laptop and a telnet program is used to access the running program and test various parts of the submarine's operation.
| SSID | Subsystem |
|---|---|
| 0 | Command and Control |
| 1 | Propulsion |
| 2 | Navigation |
| 3 | SONAR |
| 4 | Vision |
| 5 | Marker Launch |
| 6 | Power |
| Error Code | Error |
|---|---|
| 0 | No Error |
| 101 | Mission timelimit expired |
| 102 | Objective timelimit exceeded |
| 103 | Critical subsystem reporting bad data |
| 104 | Critical subsystem nonfunctional/unresponsive |
| 105 | Algorithm stuck |
| 500-600 | User Definable |