Ask Us
WET Labs

AN80: Inductive Modem (IM) Communication between Two Inductive Modem Modules (IMMs)

Document Number: 
Publication Date: 
Wednesday, September 14, 2005
appnote80.pdf258.23 KB


This application note assumes the user has two Inductive Modem Modules (IMMs), two IMM test couplers, and two PC serial cables.

Each IMM is shipped in Configuration Mode 7, ready to connect to a PC with a terminal program using RS-232.

  1. Connect a PC serial cable to each IMM at J1.
  2. Connect each serial cable to a PC serial port. Run two copies of Seaterm or another terminal program. If using Seaterm, select Configure/SBE 37, and on the COM Settings tab select RS-232 mode. Select the appropriate COM port for each IMM at 9600 baud, 8 bits, no parity, 1 stop bit. Select no flow control if using a terminal program other than Seaterm.
  3. Plug a test coupler into each IMM at J2, and run a loop of wire through the center of both couplers to a 1K series resistance [1]. The wire acts as the mooring cable in this setup.
  4. Connect a 9-volt battery each IMM. Each terminal program displays an IMM> prompt when you press Enter.

Note: Commands are not case sensitive.

  1. The IMM cannot listen for commands from the Inductive Mooring and the Host at the same time [2]. The terminal programs with the IMM> prompts serve as hosts in this setup. When power is applied to the IMM, the IMM immediately sends a prompt to the Host [3]. At one of the IMM> prompts, type PwrOff and press Enter. This terminates the host service and allows this IMM to respond to commands from the Inductive Mooring Cable. Additional keystrokes will wake the IMM and the IMM> prompt will appear. If this occurs, send PwrOff again.
  2. At the other IMM> prompt, type SetModemPrompt=S> and press Enter. This changes the prompt from IMM> to S> to avoid confusion.
  3. At the S> prompt, type CaptureLine and press Enter. The IMM tests the inductive line; if the line appears quiet, the IMM starts transmitting. If electrical noise causes the IMM to incorrectly report a busy line, use the ForceCaptureLine command.
  4. At the S> prompt, type ID? and press Enter. The other IMM responds via the IM line. If there is no response, press Escape to return to the S> prompt; then check that the other IMM is asleep (no IMM> prompt), both couplers are plugged in, and the wire loop runs through both couplers and a 1K resistor.
  5. The IMM Device ID should be 00, the default ID when IMM’s are shipped. At the S> prompt, type !00GetSD and press Enter to send the status command (get Status Data). Similar commands are GetHD (get Hardware Data) and GetCD (get Configuration Data).
  6. In addition to its ID, the IMM may be addressed by its serial number by inserting an S and the serial number before the command. Type !S70000002GetSD (where 70000002 is the IMM serial number) and press Enter. This addressing method works for all commands starting with ! or #.
  7. In the IMM terminal program, press Enter. The IMM> prompt returns.
  8. Only one device can transmit to the IM line at a time. At the IMM> prompt, type GetLineStatus and press Enter. The IMM detects the signal from the other IMM with the S> prompt, does not attempt to transmit, and reports that the line is busy. Type CaptureLine and press Enter. The IMM again reports that the line is busy.
  9. At the S> prompt, type PwrOff and press Enter to put the device to sleep. Since this IMM is transmitting, it first turns off its transmitter, then goes to sleep.
  10. At the IMM> prompt, type CaptureLine and press Enter. If the electrical environment is noisy, the IMM may report that the line is busy. If this happens, use ForceCaptureLine to start transmitting unconditionally.
  11. At the IMM> prompt, type TestCableCoupler and press Enter. This command works only when the line is captured. It checks that the cable coupler is properly installed and not damaged, reports the approximate coupler impedance, and characterizes the connection as good, fair, poor, or not connected.
  12. The IMM automatically listens to the IM line whenever a signal with sufficient amplitude is present. Newer inductive modem instruments, such as the SBE 39-IM, also automatically listen to the IM line whenever a signal with sufficient amplitude is present. Older IM devices require a wake-up tone to enable their receivers. At the IMM> prompt, type SendWakeupTone and press Enter to send a wake-up tone compatible with older devices.
  13. At the IMM> prompt, type ReleaseLine and press Enter. This disables the IMM transmitter. Type PwrOff and press Enter to put the IMM to sleep.


[1] The system is designed to work with resistances up to several Kilo-Ohms. A very short loop (under a meter) with no resistance increases power consumption and could cause communication problems.
[2] The IMM will soon be able to send a busy signal to the host when it is processing IM commands and vice versa.
[3] This is true in the current configuration, but the Host Service on Power-up can be disabled.


Application Note Revision History

Date Description
September 2005 Initial release.


Applies To