Echo Sounder : Ocean Depth Measurer - Online Article


Maritime safety is of paramount concern to the scores of people who make a living from the sea. To ensure their safety and to provide safe navigation for ships, the most popularly used instrument worldwide is the Echo Sounder. The Echo Sounder is a real time embedded system whose applications include measurement of ocean depth, survey, dredging, defense and other scientific applications. Echo Sounding oceanography is defined as a process of measuring the water depth by emitting a sonic or ultrasonic signal and measuring the time it takes for the signal's echo to return from the sea floor. The Echo Simulator is an instrument that is used for testing and calibrating Echo Sounders, Sonar and other such devices. The heart of this project is the microcontroller which performs most of the functioning. The microcontroller we have employed is the 89C2051, an 8-bit microcontroller from ATMEL. After the impulse transmitted by the apparatus being tested is received by the Echo Simulator, the latter sends back a simulated echo, which is digital in nature and whose basic parameters can be selected with extreme simplicity. Our project has been aimed at developing such an indigenous product.


The need for intelligent devices has drastically revolutionized the electronic market during the past decade. The urge for such smart systems has led to the emergence of a new class of products namely Embedded Systems. An Embedded System is defined as a computing device, built into a device that is not a computer, and meant for doing specific computing tasks. These computing tasks could range from acquiring or transferring data about the work done by the mother device. In many cases the presence of an embedded device is far from obvious to the observer. Hence, Embedded Systems enable us to build intelligent machines. An average European household has around 250 embedded systems.

Embedded systems form an integral part of real time operating systems or RTOS. Real time refers to the scheduling of tasks, so that they are completed in the correct order within specified amount of time. In real time there are various degrees of accuracy called hard and soft real-time. Hard real-time systems are scheduled such that tasks are implemented within a precise number of microseconds, without exception. These are required for mission critical applications such as airplane navigation or landing systems and antilock brakes. These applications demand systems with extreme reliability as well as accuracy. Such accurate systems can be only developed using microprocessor based systems.

The heart of such real-time based embedded systems is the microprocessor and in many occasions the microcontrollers. Microcontrollers offer a 'one-chip solution' which drastically reduces parts count and design cost. Microcontrollers come in many varieties. Depending on the power and the features that are needed, you might choose a 4, 8, 16 or 32 bit microcontroller. With the advancement in VLSI technologies complete computers on single chips i.e. microcontrollers are being created in a very cost effective and compact form. Using these microcontroller's versatility and compactness highly efficient systems can be fabricated.

Testing equipments are a real challenge and are more complex in design and operation than the test equipment. Such equipments mostly require real-time based operation. One such application is that of testing the Echo Sounder. Echo Sounders are used worldwide for meticulous measurement of water depths for hydrographic surveys, dredging, ship navigation, defense and scientific applications. An Echo Sounder provides safe navigation. The instrument that is used for testing and calibrating the Echo Sounder is called the Echo Simulator. It provides an echo corresponding to the depth after it receives a pulse from the Echo Sounder.

The microcontroller we have employed is the 89C2051 an 8 bit microcontroller from ATMEL. It is a 20 pin device and has 2 ports. This microcontroller has a 2K Flash on which the program can be written.

ECHO Sounder


Echo Sounders basically perform Echo Sounding Oceanography which is defined as a process of measuring water depth by emitting a sonic or ultrasonic signal to the sea floor and measuring the time it takes for the signal's echo to return from the sea floor. From this time obtained we can calculate the depth of the ocean bed

The purpose of the echo sounder is to provide safe navigation by detecting the clearance below the ship (particularly in shallow waters). The echo sounder can well in advance give warning to the ship if the ship is getting too close to any shallow areas or closing with the coastline. The original echo sounder was a long line with a piece of lead on the end and a series of marks along its length which, when dropped to the sea bottom, measured the depth of water.

The basic system consists of a display unit, a distribution box, a matching box and a transducer.

The electronic Echo Sounder works in a similar way to the radar. A transducer at the bottom of the hull sends out an electronic pulse which echoes back from the seabed. The echo is timed electronically and transposed into a reading of the depth of water under the hull. Multi-color displays in the monitor show not only the depth of water, but different types of sea beds, prominent features such as sunken wrecks, and sometimes even schools of fish. The more advanced sounders can transmit the pulse ahead of the boat and thus indicate the approach of navigational hazards such as reefs or shores in good time to avoid them.

There are 2 main uses for the echo sounder in coastal navigation. The first, as described above, is to help locate the ship's position when used in conjunction with other electronic instruments, and secondly, to assist in navigation through shallow inshore passages and channels, or over bars.

Most Echo Sounders measure the time interval by means of electronic circuits and produce a continuous record of the depth of water beneath the vessel in the form of a chart or graph and stores all processed analog water column data and or an ASCII log file to a mass storage device via a standard parallel port.

Operating Mode

The echo sounder functions as both a single frequency and dual frequency instrument. Standard frequencies are 200 and 24 KHz or 210 and 33 KHz. In the single frequency mode, the user selects between the low and high frequency channel. In the dual frequency mode, the echo sounder interleaves and transmits from both the low and high frequency channel to offer the user two simultaneous acoustic representations of the bottom topography. The dual frequency echo sounding is also useful in differentiating the mud surfaces and sediment layer below it since higher frequency pulses are reflected by the silt while the lower frequency penetrates the bottom and produces the echo at various sediment layers and rocky bottom.

The transducer is available in 200 KHz or 50 KHz. The 200 KHz system is advantageous in rough weather or congested waterways where there are many bubbles or wakes of other vessels, it is suitable for most echo sounding applications in shallow waters on the continental shelf The 50 KHz system is recommended for deeper range of' operation on large vessels.

The basic unit transmits a burst of electrical pulses to an acoustic transducer which converts electrical pulses into acoustic form. The received echo pulses are reconverted into electrical form by transducer and presented to the basic unit. The echo pulses are amplified in the basic unit and presented to a CPU digitizer. The CPU digitizer calculates the time taken between the transmission of pulses and received echo as't'. Now the depth range is also calculated by the CPU as

D = (c*t)/2

where c is the velocity of sound in water.

Compositional Details

  1. Master Unit.
  2. 33 KHz Transducer Assembly
  3. 210 KHz Transducer Assembly
  4. Repeater Unit

Technical Descriptionl

Master Unit

Power supply modules generate the various dc supplies required for the basic operation. The basic unit utilizes ultrasonic echo sounding on standard 33 and 210 KHz frequencies separately for detecting the depth range. The 210 KHz higher frequency signals are attenuated and reflected even by the sediment and silt layers at the sea bottom. 33 KHz penetrates these layers to be reflected by the underneath rocky bottom. Thus the two channels of echo sounder, together present the true picture of sea bottoms by showing the various depths of silt and rocky bottoms. The basic unit has got two distinct functional parts.

  1. Digital portion.
  2. Analog portion.

The digital portion contains the microprocessor which controls the transmission pulse triggering, and also counts the time taken for the echo from transmission, then by calculating the depth on both channels.

The analog portion triggers and generates a burst of electrical pulses to the transducer. The returned echo from the transducer is filtered, amplified and fed to digital portion for further processing which in turn presents a reshaped digital echo for finding the depth.

Purposes and facilities of the System

There are various applications or facilities provided by the echo sounder. This includes the dual frequency sounding which has already been mentioned. Another feature is the measurable depth; this ranges from 40 cm to around I500m. The sound velocity can be entered from 1400 m/s to l600m/s. The unit of depth can also be set as either cm or m using the toggle switch.


The accuracy and precision of such equipment is very vital as far as navigational people are concerned as this equipment's performance is crucial. To test and calibrate such equipment, it is not feasible to take the equipment to a point in the sea where the depth is predetermined. Hence there should be some provision to test the instrument offshore i.e. in the industry itself. The testing equipment should therefore simulate an echo signal corresponding to a known sea depth. Comparing the readings of the equipments, we can test the quality of the device. It should also be able to test various other parameters of the device such as time varying gain etc.

ECHO Simulator

The echo simulator is an instrument used for the test and calibration of echo sounders, sonar, and similar devices. After the impulse transmitted by the apparatus being tested is received by the Echo Simulator, the latter sends back a simulated echo, which is digital in nature and whose basic parameters can be selected with extreme simplicity.

The signal, since it is generated by a quartz crystal, is notably stable and accurate. In addition to this, it is possible to vary the frequency by 1 KHz steps thus permitting a reliable check on the tuning of the receiver being tested.

The timing of the echo impulses can be continuously changed in accordance with the input trigger pulse thus permitting the best reading of the trace on graph paper according to the chosen measure range.

It is possible to select a single echo or echo repetitively until successive pulses coming from the device under test. This will enable in testing parameters like time varying gain etc. of the device.

Using the thumbwheel switches the simulated depth of the echo simulator can be programmed from 1 to 9999 in two different measure units (cm or m) selected by an external toggle switch. The choice of a particular length measure unit and the assumption for a determined sound speed value is entirely left up to the user to change and modify one of the two length measure units, pre-cabled at the factory, or he can vary the speed, either slowing or increasing the speed of sound, thus meeting his present and future needs. The device is programmed permanently for a particular speed; mostly around 1500 m/s and the user may calibrate his equipment for other needs.

Block Diagram and Description

Block Diagram

The block diagram of the Echo Simulator is as shown in the figure on the previous page. The equipment is basically used for testing the Echo Sounder. The BCD switches are used for setting the input to the device. These switches are used for setting the depth, which determines the delay; the pulse rate, which determines the number of times the echo occurs; and also for setting the duration of the pulse. These switches are connected to the microcontroller via a Buffer. The buffer enables the input to be compatible with the microcontroller i.e. it has a tri-state output. The unit of depth i.e. either meter or centimeter is set using a toggle switch. This toggle switch is directly connected one of the microcontroller pins.

The trigger input from the Echo Sounder is connected to a re-triggerable mono shot via a buffer. The mono shot produces an interrupt signal of a particular duration. The pulse duration is determined by the external capacitance and resistance value of the mono shot. This interrupt signal is then applied to the interrupt pin of the microcontroller. As soon as the microcontroller receives the interrupt signal, it executes its particular interrupt routine. Based on the input setting, the microcontroller calculates the delay required for the depth set. After this delay, the output goes high. The duration of this high pulse depends on the input setting. This echo signal is repeated depending on the pulse rate.

The output from the microcontroller is applied to a mono shot. This mono shot controls the output duration depending on its component values. The output from the mono shot is applied to a buffer and we take the final output from the buffer. This output is then applied back to the Echo Sounder under test. The Echo Sounder gives the reading based on the echo produced. If this reading is same as our input setting, then the device is good, else the device will have to be corrected.

Circuit Details and Description


The basic aim of an echo simulator is to produce or simulate signal corresponding to an echo; and this signal is known as digital echo. This signal is mainly used to test the fidelity of equipments like Echo Sounder, Radar etc. the Echo Simulator achieves this by generating a pulse after a particular time delay, in response to an interrupt signal. This time delay'd', corresponds to the depth being set as the input to this device. The trigger input pulse from the echo sounder acts as the external interrupt signal. The output signal can also be subjected to certain variations or modifications so as to study certain specifications and characteristics of the echo sounder.

The delay is calculated by taking the velocity of sound in water as 1500 m/s. Based on this value, the system calculates the time delay'd' using the formula

D = (2 x h)/V

Where 'h' is the depth and 'V' is the velocity of sound in water.

The system is usually configured for use with a minimum depth of 30cm and a maximum depth of around 2000m. If the depth is in cm, then the delay would be small and can easily be generated; but for larger depths the delay would be more and it creates certain difficulties due to certain device constraints. For e.g., if the depth is said to be 750m, the to and fro distance would be 1500m and it would take 1 sec for the signal to reach back (Echo). As far as the microcontroller is concerned this delay is comparatively large and it cannot easily generate such a large delay. Therefore, for ease of operation, a smaller depth whose delay, can be easily generated by the microcontroller, is taken and this depth is set as the standard. Knowing the actual depth and the standard value, the delay for the actual depth can be generated.


The diagram for the equipment is as shown in figure. The central part of the circuit is the microcontroller 2051 which along with its external circuitry generates the delay corresponding to the depth set. The working of the system can be divided into three:

Reading the input

The input to the system is set using the Thumb wheel switches provided in the front panel of the device. The Thumb wheel switches are connected to port 1 of the microcontroller through the octal buffers 54240. Instructions are fetched and executed by the microcontroller automatically, beginning with the instruction located at ROM memory address 0000H at the time when the microcontroller is first reset. At the beginning of the program, all the interrupts are disabled and all the control words are configured as per the requirement. The readings at the thumbwheel switches which are connected external to the circuit are now accessed. For this, the buffers are enabled one at a time and the readings at port 1 are stored in different memory locations. The depth is set using the thumb wheel switches TW4, TW3, TW2 and TW1; the repetition rate of the pulse r, is set using the thumb wheel switch TW5, and the duration of the pulse (in milliseconds) is set using the switch TW6.

The thumb wheel switches have at the other end BCD converters which convert the setting on these switches, which range from 0-9 to their corresponding BCD codes. These are then applied to the octal buffers. The outputs of the BCD converters are pulled down to the ground and their common point is connected to the Vcc. Hence when the BCD output is high, the output pin is connected to the common point and the output will be Vcc i.e. high; and when the BCD output is low, the pin is pulled down to the ground and the output will be low. When the buffers are in the disabled state, their output is tristate i.e. in a high impedance state.

After the readings from the thumbwheel switches have been read and stored, the microcontroller reads the unit in which depth is set. This is set using the toggle switch which is connected external to the circuit. This is connected to pin P3.0 of the microcontroller. If the pin is set high, then the unit is in meters, and if the pin is set low, the unit of depth is in centimeters.

Processing the data

As mentioned earlier, the microcontroller has to calculate the delay for an arbitrary depth which is kept as the standard. This depth controls the operation of the timer 0. For convenience; this depth is taken to be 10 cms. This would mean a total of 20cms to be traveled, with a speed of 1500m/s; and the delay for the standard depth is approximately 133 μs. This delay would be easily generated using any of the two timers of the microcontroller. For a single loop of operation of the timer, the timer will take one machine cycle; and for a 12MHz clock, this is 1μs. Hence 8-bit timers could generate a maximum delay of 255 μs in a single loop of operation. Hence using the timer in an iterative loop, we can generate the require delay. For generating the delay we use the timer 0. This timer is configured in mode 2 so that it acts as an auto-re-loadable 8 bit counter. The TH0 register is loaded with the hexadecimal equivalent of the difference of 255 and 133, which comes to 7AH.

Now based on the unit of depth, the program calculates the number of tens of cms in the depth. Hence the depth is manipulated by '10' if the unit is set in meter and it is divided by '10' if the unit is set in cms. This calculated value 'n' is then stored in a memory location. This is used as the count for timer 0 operation. This completes the initialization procedure

Generation of Delay

After the initialization procedure, the interrupts are enabled and the microcontroller enters into a wait state. The external interrupt INTO is now enabled and the calculation of the delay is written as an interrupt service subroutine.

Interrupt Signal

The interrupt signal is the input trigger from the echo sounder. This is a low pulse of very short duration, tp and this is applied to 1A3 of the inverting octal buffer, 74HC240. The output from this buffer at IY3 is a high pulse and this is applied to one half of the mono shot 54123. The mono shot is configured in such a way that it will be triggered by the CLR input. For this the input to A is kept low and B s kept high. Under this configuration, a positive edge at the CLR input triggers the monostable multivibrator. The device may be triggered by the CLR input (positive edge) because of the Schmitt trigger input; after triggering, the output maintains the monostable state for the time period determined by the external resistor Rx and capacitor Cx. When Cx >l0nF and Rx>10 K? The output pulse width value is approximately given by the formula:

tW (OUT) = K * Cx * Rx,

where K=0.45

Taking CLR low breaks this MONOSTABLE state. If the next trigger pulse occurs during the MONOSTABLE period it makes the MONOSTBLE period longer, i.e. this is a retriggerable mono shot. Hence the pulse at CLR of the mono shot enables the output i.e. Q goes high for a period tW and the inverted Q goes low for the same duration. This inverted output i.e. a low pulse of duration 'tW1' is applied to pin P3.2 which is the INTO input of the microcontroller. This is a low active pin and as soon as the voltage at this pin goes low, the microcontroller acknowledges this interrupt and executes the IEO interrupt subroutine.

Timer 0 Operation

In the IEO interrupt subroutine, the timer 0 is set; the timer 0 interrupt is enabled while the INTO interrupt is disabled and the timer0 interrupt is given a higher priority. As and when the timer overflow flag TF0 is set, the program goes to the corresponding interrupt routine which checks whether the count value is reached. If the count is reached, it implies that the required delay is achieved and then the output pin P3.1 is made high; else the count is increased and the timer starts again. Though the timer acts if it was a clock pulse of duration 133 μs operating for n clock cycles, where n is the count, so as to achieve the delay d as shown in figure below.

Timer 1 Operation

The output has to remain high for a short duration td .This ranges from 1 to 9 milliseconds and is set by the user using the thumb wheel switches. But has mentioned earlier this delay cannot be directly implemented using the timer. Instead the timer is used in an iterative loop which executes the loop for a particular count value. This count value is determined by reading from the thumb wheel switch TW6. The reading from TW6 is first multiplied by ten and this value is set as the count for this timer. Therefore, if we have a 100 μs delay generated using the timer in a single iterative loop then the desired duration of pulse can be achieved. For this the program makes use of timer 1. This timer is also programmed to be used in mode 2 as an auto re-loadable 8 bit counter. The TH1 of this timer is loaded with a hexadecimal equivalent of the difference of 255 and 100 i.e. 9BH so that we can achieve a delay of 100μs.

As and when the output goes high the program returns from the timer 0 interrupt and the program sets the timer 1. The timer 1 interrupt is called enabled and it is given a higher priority. When the timer overflow flag TF1 is set, it executes its corresponding interrupt routine. This routine checks whether the particular count is reached or not. If the desired count is reached, then the desired duration of pulse td is achieved and then the output is made low and the program returns from its interrupt routine; else the output remains high and the count for this particular routine is incremented until it achieves the desired value.

Generation of Repetition rate

When the program returns from the TF interrupt routine, the program checks whether the repetition rate is achieved or not. If this value is achieved, then the program returns from interrupt routine for INTO and this completes the output procedure. If this rate is not achieved, the program returns to the point where enabled timer 0 interrupt is, so that the entire cycle repeats itself until the repetition rate is achieved.


This output from the microcontroller is connected to two parts. In one part the output is directly fed to the inverting octal buffer 74HC240. Here it is first applied 1Al whose output is obtained at 1Yl but inverted. This inverted output is applied to 1A2 and we get the original output from 1Y2. In fact the output from the microcontroller is inverted twice to obtain the output. We call this output the static echo, whose duration td is controlled by the thumb wheel switch alone.

About the Author:

No further information.


No comment yet. Be the first to post a comment.