FPGA-BASED CONTROL SYSTEM OF AN ULTRASONIC PHASED ARRAY

Array based imaging systems have been used for various applications such as: radar, sonar and ultrasounds. In general, a set of transmitters emits a wave (electromagnetic or mechanical) into the medium. The waves scattered or reflected by different parts of the medium are received and processed to form an image with intensities that represent some physical parameters of the medium. Although applicable to a range of array-based imaging system, this work is presented from the perspective of pulse-echo ultrasound imaging. One of the main features of ultrasonic phased arrays is the ability to create an ultrasonic focused beam by applying time-delayed signals to each one of the elements of the array. If the focused beam can sweep a certain area it is possible to obtain a B-scan image. This process is called beamforming. In this work, a prototype control system for a phased array, based in a FPGA (Field Programmable Gate Array), was conceived. The array has 30 elements and is to be used in B-scan low resolution imaging (50x50 pixels). Time-delayed was implemented by mean of a 50 MHz oscillator, which allows a minimum delay of 20 ns. Using nine bits counters it is possible to obtain a maximum delay of 10.24 (cid:80) s between control signals. The scanning sector area has 60 mm in depth and a +/-30º aperture.


Introduction
The ultrasonic waves are mechanical vibrations that can propagate through many different types of materials. Typically, in ultrasonic non-destructive testing (UNDT), an ultrasonic signal is transmitted into the material to be tested, then this signal is collected and processed to obtain information that may be related to parameters or properties of that material. A classic application is the detection of defects or inclusions inside a given material: the ultrasounds when travelling between materials with different properties (interface material/defect), give rise to a reflected wave, which can be used for identification and classification of defects or inclusions. After a defect has been located in a given material it is often important to have information about their shape and size and then make decisions about its integrity. In the medical field, 2D US images are important means of diagnosis essential to evaluate many clinical situations. One of the most used techniques is the ultrasonic B-scan imaging. This technique combines the information obtained by one-dimensional A-scan method, related to the ultrasonic beam propagation inside the material, with a mechanical movement, that produced an image parallel to the direction of propagation. The time-of-flight (travel time) of the sound energy is displayed along the vertical axis and the linear position of the transducer is displayed along the horizontal axis. The mechanical movement made by the transducer is usually replaced by an electronic scanning of the beam, by means of a phased array [1,2]. In the most basic sense, a phased array system utilizes the wave physics principle of phasing. Varying the time between a series of outgoing ultrasonic pulses, in such a way that the individual wave fronts generated by each element in the array combine with each other to add or cancel energy in predictable ways, that effectively steer and shape the sound beam.
In this work, it is presented a way to implement the delays to be provided to each of the elements of a linear array with 30 elements, designed to obtain low resolution ultrasonic B-scan images. In the proposed implementation a low cost and high scale of integration solution, based on an FPGA xc3s1000 from Xilinx, was used.

Ultrasonic B-scan imaging with phased arrays
In most of the conventional ultrasonic inspections only one probe is used and the information gathered is related to propagation axis. If this monoblock probe is divided into several elements (array) with width much less than its length, we can assume that each of the elements leads to a linear source of cylindrical waves. The wavefronts of the array elements will interfere, generating an overall wavefront [3]. The new wave fronts may be delayed and synchronized with each other in terms of phase and amplitude in order to create an ultrasonic beam with the possibility of focusing and steering. The individual control of each of the elements of the array is made to give rise to a focused beam, with the possibility of changing some parameters such as angle, the focal length or size. This process is controlled by dynamic software. The scanning of the focused beam allows detection of defects with several orientations, as well as outside of the propagation axis. These situations are illustrated in Fig.1: (a) a single probe showing some limitations in the detection of defects presenting the illustrated orientations or located outside the propagation axis. To produce a beam with constructive interference, the various elements of the array must be excited with signals with small time differences between them. In Fig. 2 it is represented the acquisition and control system for the transmitted (a) and received signals (b), in order to produce a focus on the desired point. The collected signals are shifted in time, as shown in Fig. 3 before being added. The result is an A-scan signal that emphasizes the response of the desired focal point and attenuates the echoes from other points of the testing material. Delays at reception During the transmission, the acquisition unit sends a trigger signal to the control system, which converts this signal into a high voltage pulse with a time delay and width programmed according to the focal law. Each element receives only one pulse, giving rise to a beam with a specific angle and focal length. When the beam reaches the defect a reflection occur and the signal is collected by each one of the elements of the array, and time-shifted according to the parameters of the system. Finally the signals are combined so that only one ultrasonic pulse is delivered to the acquisition system. Fig.  4 shows the beam focusing for an angled incidence.
There are several techniques of beam scanning to obtain an image [4]. Typically, in phased arrays with a high number of elements, a sequential excitation of a group of active transducers with the same delay is done along the array. In other cases, it may be a scan based on changes in focal length, with all elements to be used simultaneously and focalization on the receiving stage. Other techniques use a focalization of all elements simultaneously with constant distance from the centre of the array and variable inclination.

Focusing delay calculation
To make the focusing of a phased array transmitted beam at a particular point, it is assumed that each of its elements will behave as a point source and the radiation diagram is omnidirectional in the plane of interest. For a homogeneous medium with constant wave speed, it is then necessary to determine the distances from each one elements of the array to the focussing points. The resulting delays are obtained from the corresponding ratio between the distances and wave speed in the medium. The figure 5 depicts the geometry used to deduce the expression for calculating the delays to provide to a phased array with an even number of elements.
For a particular focalization point with polar coordinates (r, ), it is possible to obtain the distances (dist n ) to each array element by the expression where r is the distance to the centre of the array, N the number of elements of the array and d is the distance between two consecutive elements. Using an auxiliary variable defined as k n the equation (1) can be simplified leading to The delays can now be calculated by c dist dist delay n n max (4) where c is the wave speed in the medium and dist max is the maximum distance value. With the present system, we intend to control an array with 30 elements having 1 mm separation between elements, capable to produce a scanning area from 10 to 60mm in depth with an aperture of +/-30º. The fig. 6 shows schematically these dimensions. The low resolution image has 2500 pixels (50x50), corresponding to 1 pixel/mm in the direction perpendicular to the array (depth) and a minimum of 1.35 pixel/mm in the angle direction. The situation where there are major differences between the delays is for the closer points to the array. For the minimum focalization distance (10 mm), the maximum delay between the central element and one of the extremes of the array can be easily calculated, and for the present case is 5. 3 s. The delays are implemented based on synchronous counters which operate at a frequency of 50 MHz, allowing a minimum counting period (delay) of 20 ns. As it will be used 9 bit counters, maximum delay values of 2 9 x20 ns = 512x20 ns=10.24 s are possible, which is about two times above the desired specifications.

Delay implementation
The implementation of the delays was done using a Xilinx FPGA xc3s1000 from Spartan-3 family. The Digilent programmable logic board presented in Fig. 7 and VHDL programming language were used for that goal. This board has high-speed USB2 port, together with a collection of I/O devices (VGA output, push-buttons, switches and LCD display), data ports and expansion connectors that allow a wide range of designs to be completed without needing any additional components. The simplified block diagram of hardware implementation is depicted in Fig. 8. Each block represents a programming module and is controlled by the whole global program responsible for data loading. To determine the different distances from the focalization points to the elements of the array, the equation (3) will be used with the parameters n, d and N previously defined. Again we have to use a strategy of calculating the square root since this is not supported by the language. In this case the use of LUT is not adequate because it would consume many resources (50x50 values), so the alternative was the development of equation (3) in terms of Taylor series. This module is called as Calc_dist.
After calculating the distances, the module Calc_dist max determines the maximum of all distances. From this point, the system will have so many parallel channels as the number of elements of the array, that for the present system are 30. From the set of distances previously calculated and using its maximum value, the delays will be calculated using the module Calc_delay_ n , which in practice implements the equation (4). After the calculation of the delays, these values must be converted to multiples of the time unit of the system, which are 20 ns. As already mentioned, the system uses 9 bit counters, which allows a maximum number of 512 counts. The initial value to load each one counters, L_cont n , is then given by The greater the value of delay n , which indicates a higher proximity of the element to the focalization point, the lower the L_cont n value to provide to the counter. The final module Cont n consists of a counter. After all L_cont n signals have been loaded, a control signal sent to all counters (not represented) will start the count of each one from the original value L_cont n . The control signals of the array S n will change its state, when each a counter reaches the maximum count, leading to the desired shift to provide to the corresponding element. For a new focalization point, the whole process is repeated, with the introduction of the angle and radius parameters.

Results
At this stage the system was only tested for a focalization in a single point. In Fig. 9, it is represented the timing diagram for the outputs S n corresponding to a focalization point with an angle of +9° and a distance of 43.5 mm from the centre of the array. As can be seen, the shifting between the signals agrees with the predictions: the transducers further away from the focalization point are excited first (extremes of the array) and the closest are excited later (centre of the array). Note that in this case, the excitation of the elements 12, 13, 14, 15 and 16 is simultaneous, which is due to the fact that the spatial difference between them is very small, causing differences in the propagation times less than 20 ns. Delays were measured and found in accordance with the theoretical values given by equation (4).
It was also possible to verify that only 40% of all resources (10 6 gates) of the FPGA have been used. Thus, this circuit can be used in situations where controlling of larger number of elements or analysing of greater scanning areas are needed. Fig. 9: Timing diagram of the excitation signals for a focalization point with 9º inclination and 43.5 mm of distance, for the centre of the array.

Conclusions
In this work, it was developed a way to implement a phased array control to be used in low resolution ultrasonic B-scan imaging. Using a FPGA, the signals were successfully obtained to excite the array elements. The experimental results are in agreement with the analytical calculations. One of the major advantages of the presented implementation is the great degree of miniaturization when compared with the use of conventional electronic circuits. The used FPGA occupies an area less than 3 cm 2 . Another advantage is related to the huge cost savings. The developed hardware allows controlling the array transmission. The future work will deal with developments concerning to the reception of the collected signals and their processing, towards the formation of B-scan image of the interior of structures to be inspected.