Next Article in Journal
Modeling the Energy Performance of LoRaWAN
Next Article in Special Issue
Defect Detection of Adhesive Layer of Thermal Insulation Materials Based on Improved Particle Swarm Optimization of ECT
Previous Article in Journal
A Phase-Intensity Surface Plasmon Resonance Biosensor for Avian Influenza A (H5N1) Detection
Previous Article in Special Issue
Application of Negative Curvature Hollow-Core Fiber in an Optical Fiber Sensor Setup for Multiphoton Spectroscopy
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Improved Scheduling Algorithm for Data Transmission in Ultrasonic Phased Arrays with Multi-Group Ultrasonic Sensors

1
School of Mechanical & Automotive Engineering, South China University of Technology, Guangzhou 510641, China
2
Guangzhou Doppler Electronic Technologies Co., Ltd., Guangzhou 510663, China
*
Author to whom correspondence should be addressed.
Sensors 2017, 17(10), 2355; https://doi.org/10.3390/s17102355
Submission received: 29 September 2017 / Revised: 29 September 2017 / Accepted: 12 October 2017 / Published: 16 October 2017
(This article belongs to the Special Issue Intelligent Sensing Technologies for Nondestructive Evaluation)

Abstract

:
High data transmission efficiency is a key requirement for an ultrasonic phased array with multi-group ultrasonic sensors. Here, a novel FIFOs scheduling algorithm was proposed and the data transmission efficiency with hardware technology was improved. This algorithm includes FIFOs as caches for the ultrasonic scanning data obtained from the sensors with the output data in a bandwidth-sharing way, on the basis of which an optimal length ratio of all the FIFOs is achieved, allowing the reading operations to be switched among all the FIFOs without time slot waiting. Therefore, this algorithm enhances the utilization ratio of the reading bandwidth resources so as to obtain higher efficiency than the traditional scheduling algorithms. The reliability and validity of the algorithm are substantiated after its implementation in the field programmable gate array (FPGA) technology, and the bandwidth utilization ratio and the real-time performance of the ultrasonic phased array are enhanced.

1. Introduction

The technology of multi-group ultrasonic sensors that consist of lots of piezoelectric elements and various scanning patterns of an ultrasonic phased array (UPA) have recently attracted widespread attention in the non-destructive testing area [1,2]. The UPA produces a series of the ultrasonic waves controlled by the amplitudes and phases of the electrical pulses to excite a series of elements of the sensors. The waves can easily penetrate inside some materials by adjusting their radiation direction to synthesize flexible and rapidly focused scanning ultrasonic beams. The parameters of beams such as angles, focal distances, and focal spot sizes can be readily tuned with suitable software. Therefore, the beams can be used to detect defects that possibly occur at random positions of the materials [3,4,5,6].
To increase the focusing ability, a UPA instrument is often equipped with multiple ultrasonic sensors to collect the ultrasonic echo data from different directions. Each sensor can work in one or more groups so that a variety of scanning modes are generated [7,8,9,10], which can be called as a multi-group scanning, and each group scanning includes many focused beams. Hence, the number of the sensors and the scanning groups are two important factors to determine detection accuracy [11,12], such as size, location, and orientation of defects. For example, Song et al. verified that a large-aperture hemispherical phased array can restore a sharp focus and maximize acoustic energy delivery at target tissue [11]. Regardless of the orientation of individual focused beams, the multiple focused beams can change their focal depths and sweeping angles through the phase interference. As a consequence, it is possible to precisely detect the position and the size of defects by means of increasing the number of the sensors, the scanning groups, and the focused beams. However, this strategy will in turn significantly increase the amount of scanning data in the process of the defect detection, which makes these data difficult to be transmitted to a peripheral through a single (or small quantity) high-speed serial bus, and subsequently produces an ultrasound image.
Each focused beam often brings different sampling rates and sizes of data stream. During the transmission process, different data streams compete against each other to gain access to the unique high-speed serial bus. An excellent transmission scheduling algorithm should allow all the data streams to be transferred to a peripheral without any blocking in a serialized way. Otherwise, the data streams would be blocked or severely delayed. Therefore, it is very desirable to design an effective algorithm to serially transmit a great amount of the data streams. Several well-known scheduling algorithms have been proposed, such as Time Division Multiple Access (TDMA) [13] and Round Robin (RR) [14]. The verification, analysis, and comparison of the two algorithms were presented in literature [15], which proves that the TDMA strategy based on the fixed allocation of a time slot to each master process may lead to important latencies as a time slot, and the RR protocol allows any unused slots to be reallocated to a master process to provide higher bandwidth. Unfortunately, the process of the reallocation will make the time slice resources more fragmented, and increase the complexity of the scheduling algorithm. Multiple examples of implementation for the scheduling algorithm are available in the open literatures [16,17,18,19,20,21,22,23]. Srinivasan et al. designed a self-configuring scheduling protocol for ultrasonic sensor systems by using an algorithm of the timeslot allocation, which simplified the deployment of the present detection system [16]. Long et al. proposed a time-division-multiple-access-based energy consumption balancing algorithm for the general k-hop wireless sensor networks, where one data packet is collected in one cycle, and the results demonstrated the effectiveness of the algorithm in terms of energy efficiency and time slot scheduling [19]. However, although these strategies can effectively improve the efficiency of the data transmission, they increase the complexities of both hardware and software, and their application scopes are limited, which makes such strategies not suitable for UPA of the multi-group sensor scanning system because of limited hardware and software resources and high real-time request.
FPGA, which is short for the term field programmable logic gate array, has the characteristics of static system repeatable programming and dynamic system reconfiguration, so that hardware can be modified programmatically, and FPGA also is a special kind of ASIC with the advantages of parallel processing, high speed and flexibility. In this paper, we used a series of FIFOs as high-speed caches and cache times as weights to propose a novel FIFOs and bandwidth-sharing scheduling (MFBSS) algorithm of the data transmission, where the lengths of the FIFOs are achieved by a series of multivariate equations. Actually, the algorithm shows many advantages such as real-time and high efficiency when it is implemented by FPGA technology. As far as the UPA system of the array sensors is concerned, we designed a data stream transmission scheduling mode based on the MFBSS algorithm, with which reading operations among all the FIFOs shares a fast reading bus without time slot waiting when the reading bus switches between any two FIFOs. Hence, such algorithm gives the maximum bandwidth utilization ratio and improves the real-time performance of the UPA instruments with minimal consumption of time and space resources.
In Section 2 of the paper, we will describe the data transmission of ultrasonic scanning for UPA [24,25,26]. In Section 3, we will study scheduling mechanism of the MFBSS algorithm for the data transmission. Section 4 will describe the results of implementation for the scheduling algorithm by FPGA technology. Finally, Section 5 will summarize the research to derive the conclusion.

2. Multi-Group Sensor Scanning Ultrasonic Data Transmission

Figure 1 shows the UPA data transmission framework of the bandwidth-sharing with multiple scanning patterns [7,8,9,10]. In order to realize the optimal sampling of the UPA’s echoes, different frequency echoes should be digitized with different sampling frequencies [27,28,29]. A sensor with a frequency of fp Hz produces ultrasonic echoes with the same frequency after excitation, and thus the sampling frequency is fs = K × fp Hz (K is a scaling factor, and K ≥ 2). Hence, N-group sensors can form N-group scanning patterns, generating N sampling frequencies (fs0 ~ fsN−1, where 0 and N − 1 represent the numbers of sampling) and forming N focusing beams with specific speeds and sizes.
As shown in Figure 1, the data of various scanning groups such as Gp0, Gp1, …, and GpN−1 produced from the ultrasonic sensors are written into FIFO0, FIFO1, …, FIFON−1, respectively, which are cached by a DDR3 through the Avalon bus in the bandwidth-sharing way [30]. Then, the data from the DDR3 are transmitted to the host computer through the PCIe bus [31,32]. The entire data transmission process is controlled by a bandwidth scheduler, which is composed of a controller with all the FIFOs’ lengths and a reading arbiter, and usually runs the following scheduling algorithms such as First Come First Serve (FCFS), TDMA and Equal Time Slice Polling Scheduling (ETSPS) based on the principle of the RR scheduling which will be mentioned in Section 4, and so on. This paper will adopt the MFBSS algorithm to realize reading operations from every FIFO without time slot waiting through adjusting the lengths of FIFOs, timings of the reading and writing, and priority of the interrupts. Therefore, this algorithm can not only ensure the data transmission synchronization but also maximize the bandwidth utilization in all groups, which is readily implemented by FPGA technology with parallel processing.

3. Data Transmission Scheduling Mechanism of MFBSS Algorithm

3.1. The principle of the Maximal Bandwidth Utilization

To evaluate the utilization ratio of the data transmission bandwidth of the N-group scanning in the multi-input and single-output interfaces of the UPA system, the following requirements are satisfied:
  • Data transmission models Gp(n), n = 0, 1, …, N − 1 are independent from each other and have identical distributions for every group.
  • The sum of the data bandwidth [ n = 0 N 1 B v G p ( n ) ] of all the groups and the sum of the memory bandwidth ( B v R A M ) and the sum of the transmission bandwidth ( B v T r a n s ) of the peripheral need to satisfy the following inequality:
    n = 0 N 1 B v G p ( n ) min ( B v R A M , B v T r a n s )
The defined parameters of the N-group scanning and the N FIFOs caches are listed in Table 1. The writing bandwidth and the reading bandwidth of the nth FIFOn are VW(n) [VW(n) = fsn × ΔB] and VR bit/s, respectively. The sum of the writing bandwidth of all the FIFOs [ n = 0 N 1 V W ( n ) ] should equal to the sum of the transmission bandwidth of the N-group scanning data [ n = 0 N 1 B v G p ( n ) ], i.e., n = 0 N 1 V W ( n ) = n = 0 N 1 B v G p ( n ) . Likewise, the sum of the reading bandwidth (VR) of all the FIFOs should equal to the sum of the transmission bandwidth of the DDR3 bandwidth ( B v R A M ), i.e., VR = B v R A M . When the Equation (1) becomes an equality, the maximum bandwidth utilization ratio is achieved, i.e., the single-output bandwidth equals to the sum of the multi-input bandwidths from the FIFOs. Consequently, the mathematical principle of the maximal bandwidth utilization ratio can be written as Equation (2).
{ n = 0 N 1 B v G p ( n ) B v R A M n = 0 N 1 B v G p ( n ) = n = 0 N 1 V W ( n ) B v R A M = V R V R = n = 0 N 1 V W ( n )

3.2. Realization of the Maximal Bandwidth Utilization Ratio

According to Equation (2), the mathematical model of the N FIFOs’ length functions of L(i), i = 0, 1, …, N − 1, [L(0) ≤ L(1) ≤ … ≤ L(N − 1), FIFO0, FIFO1, …, FIFON−1] can be described as follows:
  • Assuming that at the moment T i j , when the FIFOi is read until empty, the reading operation of the FIFOi will be disabled.
  • At the next T i j + 1 , when the FIFOi is full and the amount of the data is L(i) (i = 0, 1, …, N − 1), the reading operation of the FIFOi will be enabled.
When the FIFOi transfers from empty to full (where the consumed time is ΔTi = T i j + 1 T i j = L ( i ) V W ( i ) and a reading interrupt is produced), the FIFOi will gain access to the reading of the Avalon bus. During this process, the other FIFOs with the number of 0, 1, …, i + 1, i + 2, …, N − 1 have also transferred from full to empty with the consumed time of ΔT'i = k = 0 , k i N 1 L ( k ) V R V W ( k ) . The time slot transition diagram of the N FIFOs reading operations is shown in Figure 2. Because ΔTi = ΔT'i, i.e., ΔT'i − ΔTi = 0, i = 0, 1, …, N − 1, the mathematical equations of the N FIFOs’ length functions of L(i), i = 0, 1, …, N − 1 can be easily described in Equation (3).
{ L ( 0 ) V W ( 0 ) + L ( 1 ) V R V W ( 1 ) + L ( 2 ) V R V W ( 2 ) + + L ( N 1 ) V R V W ( N 1 ) = 0 L ( 0 ) V R V W ( 0 ) L ( 1 ) V W ( 1 ) + L ( 2 ) V R V W ( 2 ) + + L ( N 1 ) V R V W ( N 1 ) = 0                                                                                                                                                                         L ( 0 ) V R V W ( 0 ) + L ( 1 ) V R V W ( 1 ) + + L ( N 2 ) V R V W ( N 2 ) L ( N 1 ) V W ( N 1 ) = 0
where L(i) ≠ 0, i = 0, 1, …, N − 1 in Equation (3). A series of new variables are given in Equation (4) for the simplification of Equation (3).
{ K 0 = 1 V W ( 0 ) ,                 K 1 = 1 V W ( 1 ) , , K N 1 = 1 V W ( N 1 ) K 0 = 1 V R V W ( 0 ) , K 1 = 1 V R V W ( 1 ) , , K N 1 = 1 V R V W ( N 1 ) V R = i = 0 N 1 V W ( i )
Equation (3) is transformed into a matrix of Equation (5):
( - K 0 K 1 K N 1 K 0 - K 1 K N 1 K 0 K 1 - K N - 1 ) ( L ( 0 ) L ( 1 ) L ( N - 1 ) ) = ( 0 0 0 ) A = ( - K 0 K 1 K N 1 K 0 - K 1 K N 1 K 0 K 1 - K N - 1 ) , L = ( L ( 0 ) L ( 1 ) L ( N - 1 ) ) , 0 = ( 0 0 0 ) A L = 0
The matrix A is achieved by elementary row transformation, and then the triangular array is applied:
A ~ ( - K 0 K 1 K n 1 K 0 + K 0 - ( K 1 + K 1 ) 0 0 0 K N 3 + K N 3 - ( K 1 + K N 2 ) 0 0 0 K N 2 + K N 2 - ( K N 1 + K N 1 ) ) ~ ( f K ( x 0 ) K 1 K N 1 0 f K ( x 1 ) K N 1 0 0 f K ( x N - 1 ) )
f K ( x i + 1 ) = K i + 1 + K i + 1 K i + K i f K ( x i ) + K i + 1 , i = 0, 1, …, N − 2, fK(x0) = −K'0, and f K ( x i + 1 ) can be done by using the following recursion:
f K ( x i + 1 ) = K i + 1 + K i + 1 K i + K i ( K i + K i K i - 1 + K i - 1 ( ( K 1 + K 1 K 0 + K 0 f K ( x 0 ) + K 1 ) + ) + K i ) + K i + 1 = K i + 1 + K i + 1 K i + K i K i + K i K i - 1 + K i - 1 K 1 + K 1 K 0 + K 0 f K ( x 0 ) + K i + 1 + K i + 1 K i + K i K i + K i K i - 1 + K i - 1 K 2 + K 2 K 1 + K 1 K 1 + K i + 1 + K i + 1 K i + K i K i + K i K i - 1 + K i - 1 K 3 + K 3 K 2 + K 2 K 2 + + K i + 1 + K i + 1 K i + K i K i + K i + 1 = K i + 1 + K i + 1 K 0 + K 0 f K ( x 0 ) + K i + 1 + K i + 1 K 1 + K 1 K 1 + K i + 1 + K i + 1 K 2 + K 2 K 2 + + K i + 1 + K i + 1 K i + 1 + K i + 1 K i + 1 = ( K i + 1 + K i + 1 ) ( K i + 1 K i + 1 + K i + 1 + K i K i + K i + + K 2 K 2 + K 2 + K 1 K 1 + K 1 K 0 K 0 + K 0 ) = ( K i + 1 + K i + 1 ) [ ( j = 1 i + 1 K j K j + K j ) K 0 K 0 + K 0 ]
According to Equation (4), f K ( x i + 1 ) can be described as Equation (7).
f K ( x i + 1 ) = ( 1 V R V W ( i + 1 ) + 1 V W ( i + 1 ) ) ( j = 1 i + 1 1 V R V W ( j ) 1 V R V W ( j ) + 1 V W ( j ) 1 V W ( 0 ) 1 V R V W ( 0 ) + 1 V W ( 0 ) ) = 1 ( V R V W ( i + 1 ) ) V W ( i + 1 ) ( j = 0 i + 1 V W ( j ) V R )
For the N-group scanning of the UPA system, when i = N, according to the Equation (2), VR = n = 0 N 1 V W ( n ) , and f K ( x N 1 ) = 1 ( V R V W ( N - 1 ) ) V W ( N - 1 ) 1 V R ( j = 0 N - 1 V W ( j ) V R ) | V R = j = 0 N 1 V W ( j ) = 0 . The matrix A can be transformed to A through the primary row transformation:
A = ( - K 0 K 1 K N 1 K 0 - K 1 K N 1 K 0 K 1 - K N - 1 ) ~ ( f K ( x 0 ) K 1 f K ( x 1 ) 0 0 0 0 f K ( x 1 ) K 2 f K ( x 2 ) 0 0 0 0 0 f K ( x N 2 ) K 2 f K ( x N 1 ) 0 0 f K ( x N 1 ) ) f K ( x N 1 ) = 0 _ _ ( f K ( x 0 ) K 1 f K ( x 1 ) 0 0 0 0 f K ( x 1 ) K 2 f K ( x 2 ) 0 0 0 0 0 f K ( x N 2 ) K 2 0 0 0 ) = A
Because the rank R ( A ) of the matrix A and the rank R ( A ) of the matrix A have the following relation R ( A ) = R ( A ) < N , Equation (5) has an infinite number of the solutions, and because A L = 0 A L = 0 , and the solutions can be expressed as follows:
fK(xi) × L(i) + (Ki+1fK(xi+1)) × L(i+1) = 0, (i = 0, 1, …, N − 2), and L(i) = f K ( x i + 1 ) K i + 1 f K ( x i ) L ( i + 1 ) , (i = 0, 1, …, N − 2), and L(i) can be further deduced forward:
L ( i ) = f K ( x i + 1 ) K i + 1 f K ( x i ) f K ( x i + 2 ) K i + 2 f K ( x i + 1 ) f K ( x N 1 ) K N 1 f K ( x N 2 ) L ( N 1 ) = j = i N 2 f K ( x j + 1 ) K j + 1 f K ( x j ) L ( N 1 )
Substituting the expression of fK(xi+1) from Equation (7) into Equation (8). The values of L(i), i = 0, 1, …, N − 1 are obtained, as shown in Equation (9):
{ L ( 0 ) = ( V R V W ( 0 ) ) V W ( 0 ) ( V R V W ( N 1 ) ) V W ( N 1 ) L ( N 1 )               L ( i ) = ( V R V W ( i ) ) V W ( i ) ( V R V W ( N 1 ) ) V W ( N 1 ) L ( N 1 )               L ( N 2 ) = ( V R V W ( N 2 ) ) V W ( N 2 ) ( V R V W ( N 1 ) ) V W ( N 1 ) L ( N 1 ) L ( N 1 ) = L ( N 1 )
when Equation (9) is multiplied by a term of ( V R V W ( N 1 ) ) V W ( N 1 ) L ( N 1 ) , a set of fundamental solutions ξ to the equations of A L = 0 will be obtained:
ξ = ( ( V R V W ( 0 ) ) V W ( 0 ) ,   ( V R V W ( 1 ) ) V W ( 1 ) ,   ,   ( V R V W ( N 1 ) ) V W ( N 1 ) ) T .
Therefore, the solutions to the equations of A L = 0 can be expressed as L = α ξ (αR+). The length function of L(i), i = 0, 1, …, N − 1 of the FIFOs has a proportional relation, as showed in Equation (10).
L ( 0 ) : L ( 1 ) :   :   L ( N 1 ) = ( V R V W ( 0 ) ) V W ( 0 ) : ( V R V W ( 1 ) ) V W ( 1 ) : : ( V R V W ( N 1 ) ) V W ( N 1 )
Equation (10) can be used to describe the most critical conclusion to realize the MFBSS algorithm, which shares the transmission bandwidth for the N-group scanning of the UPA system. Therefore, according to the ratios of the FIFOs’ lengths, i.e., the cache time of each FIFO, the reading operation can be switched among each FIFO without time slot waiting, thus maximizing the bandwidth utilization ratio.
When the algorithm is implemented by an FPGA, in order to make the consumed resources of the FIFOs minimal, the ratio of L(0):L(1):…:L(N − 1) can often be simplified to a series of the suitable integer ratios. In the system of the N-group scanning and the N FIFOs caches, if the sampling rate fsn (n = 0, 1, …, N − 1, and unit is 100 MHz) of the N groups linearly increases, VR = n = 0 N 1 f s n Δ B , and ΔB = ΔBW = ΔBR. The ratios of L(0):L(1):…:L(N − 1) of the FIFOs’ lengths are calculated from Equation (10), and the results are listed in Table 2.
Figure 3 shows the time slot switching flow chart with the sharing reading bus of the N-group scanning and the N-FIFO caches (N = 3 or 4). The horizontal axis represents the time (unit: s). In the initialization phase, the FIFON−1 caches the maximum sampling rate beam, which is filled with the length L(N − 1) data. Meanwhile, the other caches FIFON−2 ~ FIFO0 are filled with the lengths [L(i) − ( n = i + 1 N 1 K n L ( n ) ) / K i ](i = N − 2, N − 3, …, 1, 0), respectively. The working principle is described as follows:
When an FIFO is full, it will be immediately read until empty (the symbol R represents the reading state of the FIFO), and subsequently switches to the next FIFO without any time slot in the process of the data transmission. Likewise, when the next FIFO is just written fully, it will be read immediately. Therefore, the whole process is carried out in cycles without any delay, maximizing the utilization ratio of the data transmission bandwidth.

4. Implementation and Performance Evaluation of the Scheduling Algorithm

The scheduling algorithm is realized by using a UPA instrument (PA2000 model), which was made by Guangzhou Doppler Electronic Technologies Co., Ltd. (Guangzhou, China), and a Cyclone V GT FPGA Development Board made by Intel Corporation (Santa Clara, CA., USA) as the PCIe communication module with the PC. The UPA data are transmitted to the PC through the PCIe interface, and the multi-group scanning images are processed.
The UPA system with a work clock frequency (fs) of 100 MHz is mounted with four sensors with four different frequencies (fs) of 2, 2.5, 5, or 10 MHz, and thus the system can implement 4-group scanning patterns. The echoes of all the groups are up-sampled (fs = 10 × fp) by using digital signal processing technology, and thus the actual sampling frequencies of fs0 ~ fs3 become 20, 25, 50, or 100 MHz. The bit-width (ΔB) of the echo data is 8 bits, and both widths of the input (ΔBW) and the output (ΔBR) ports of the FIFOs are 64 bits. Table 3 lists the parameters of the writing frequency [VWf(n)] and the reading frequency (VRf) of the FIFOn caches. Obviously, VW(n) equals to VWf(n) × ΔBW, and VR equals to VRf × ΔBR for this case, hence, the scheduling algorithm can be used to allow the 4-FIFO caches to realize sharing transmission bandwidth. The capacities of the FIFOs are L(n) × ΔBW, and the length ratios of the FIFO caches can be calculated from Equation (10), i.e., L(0):L(1):L(2):L(3) = 14:17:29:38. As listed in Table 3, the value of VRf is calculated to be 24.375 MHz, but it is relatively easier to implement the value of VRf = 25.0 MHz (VRf = fs/4 = 25.0 MHz ≈ V'Rf) by the FPGA than the value of VRf = 24.375 MHz, and thus we design the value of VRf = 25.0 MHz for the experiment.
Figure 4 shows the 4 FIFOs reading timing waves of the MFBSS algorithm from Signaltap, and a soft oscilloscope is used to observe FPGA internal signals. The signals of FIFO0_rd ~ FIFO3_rd respectively control the reading operation of the 4 FIFOs, allowing it to enable output data in a time slice polling way. The times for reading the 4 FIFOs until empty are ΔT0 ~ ΔT3. The variables of ΔT0T1T2T3 have the following relation:
Δ T 0 : Δ T 1 : Δ T 2 : Δ T 3 L ( 0 ) V R f V W f ( 0 ) : L ( 1 ) V R f V W f ( 1 ) : L ( 2 ) V R f V W f ( 2 ) : L ( 3 ) V R f V W f ( 3 )
All the FIFOs are readed in turn until empty in every cycle. The sum of data (DW−sum) for writing into the FIFOs and the sum of data (DR−sum) for reading out from the FIFOs are given by the two formulas ( Δ t 0 V W f ( 0 ) + Δ t 1 V W f ( 1 ) + Δ t 2 V W f ( 2 ) + Δ t 3 V W f ( 3 ) ) Δ B W and ( Δ t 0 + Δ t 1 + Δ t 2 + Δ t 3 ) V R f Δ B W , respectively. As a result, the experimental results show that DW−sum equals to DR−sum, which meets the relation V R = n = 0 N 1 V W ( n ) of Equation (2), and also agrees well with the theoretical analysis.
In the N-group scanning system, the bandwidth utilization ratio η b w ( N ) of the MFBSS algorithm can be expressed by Equation (11):
η b w ( N ) = i = 0 3 V W f ( i ) V R f × 100 % .
Therefore, in the experiment, when N = 4, the utilization ratio η b w ( 4 ) of the MFBSS algorithm used in the UPA system can be calculated by Equation (12):
η b w ( 4 ) = i = 0 3 V W f ( i ) V R f × 100 % = V R f V R f = 24.375 25 × 100 %   =   97.5 % .
The ETSPS scheduling algorithm based on the equal allocation of a time slot to each task. As compared with the MFBSS algorithm in this work, the ETSPS scheduling algorithm has four characteristics: (i) The lengths of all the FIFOi (i = 0, 1, 2, …, N − 1) are the same as each other, i.e., L(0) = L(1) = … = L(N − 1). (ii) All the time slice resources of the reading operation of the N FIFOs are also equal to each other. (iii) All the FIFOs have the reading speed (V'Rf) which is equal to the maximum of the writing speed [VWf(i)], same as that of the individual FIFO, i.e., V'Rf = max[VWf(i)], i = 0, 1, …, N − 1. (iv) When the FIFOi (i = 0, 1, 2, …, N − 1) is filled by writting, the reading operations of the FIFOi will be immediately performed. Therfore, the general utilization ratio of the bandwidth-sharing transmission with N-group scanning of the UPA system can be calculated by Equation (13):
η b w ( N ) = j = 0 N 1 V W f ( j ) N V R f × 100 % = j = 0 N 1 V W f ( j ) N max ( V W f ( i ) ) × 100 % . i = 0 , 1 , N 1
For N-group scanning data stream with bandwidths {VW(0), VW(1), …, VW(N − 1)} (unit: Byte/s), we use the FPGA technology to implement the MFBSS algorithm together with the the traditional ETSPS scheduling algorithm, and analyze their bandwidth utilization ratios η b w ( N ) and η b w ( N ) . For example, the FPGA (Arria-II EP2AGX65DF29I5) with a work clock frequency of fclk = 100 MHz. So, it is easy to produce the clock frequencies such as F1 = {1, 2, 3, …, fclk } and F2 = {fclk/100, fclk/99, fclk/98, …, fclk/1} (unit: MHz) by using the clock fclk by Digital Phase Locked Loop technology.
  • The MFBSS algorithm. According to Equation (11), the theoretical value of the shared output bandwidth is V R f or ( i = 0 3 V W f ( i ) ). The actual value of the shared output bandwidth is V R f , which satisfies the following conditions: V R f V R f , V R f F1 or V R f F2, and the value of ( V R f V R f ) is minimized. For instance, when V R f = 24.375 HMz, and V R f = fclk/4 = 25 MHz, and thus the actual bandwidth utilization ratio is V R f V R f × 100 % which equals to 97.5%.
  • The ETSPS algorithm. According to Equation (13), the larger the value of max(VWf(i)) is, the smaller the value of η b w ( N ) is. The smaller the value of max(VWf(i)) is, the larger the value of η b w ( N ) is. So, when the value of max ( V W f ( i ) ) equals to 1 N j = 0 N 1 V W f ( j ) , i.e., VW(0) = VW(1) = … = VW(i) = … = VW(N − 1), the maximum theoretical value of η b w ( N ) can be expressed by Equation (14).
    max ( η b w ( N ) ) = j = 0 N 1 V W f ( j ) N max ( V W f ( i ) ) × 100 % = η b w ( N )
when the value of max(VWf(i)) is close to j = 0 N 1 V W f ( j ) , i.e., V W f ( i ) j = 0 N 1 V W f ( j ) , the minimum theoretical value of η b w ( N ) can be expressed by Equation (15).
min ( η b w ( N ) ) j = 0 N 1 V W f ( j ) N max ( V W f ( i ) ) × 100 % ( 100 N ) %
Figure 5 shows the bandwidth utilization ratio curves of the two scheduling algorithms (cross axis: the theoretical value of the shared output bandwidth VRf (N = 4), and vertical axis: the bandwidth utilization). η b w ( N ) and η b w ( N ) are the bandwidth utilization ratios of the MFBSS algorithm and the ETSPS algorithm, respectively.
The symbols η b w ( N ) and η i d e a l represent the experimental and ieal values of the algorithm MFBSS, respectively. The results show that the value of η b w ( N ) is between 92% and 100%, for example, for the above experiment of 4-group scanning based on the MFBSS algorithm, when VRf equals to 24.375 MHz, η b w ( N ) equals to 97.5% and η i d e a l equals to 100%. Whereas the value of η b w ( N ) is relevant to the value of N, its value is between (100/N)% and η b w ( N ) . For N-group scanning patterns, only when all groups have the same bandwidth, η b w ( N ) equals to η b w ( N ) . Otherwise, η b w ( N ) would be much smaller than η b w ( N ) .
Similarly, we use FPGA to implement the traditional ETSPS algorithm with the same parameters in Table 3, and collected reading timing waves of the 4 FIFOs by using Signaltap. As shown in Figure 6, the signals FIFO0_rd ~ FIFO3_rd control the reading operation of the four FIFOs, and the time resources occupied by the signals are assigned by the signal FIFO_rd.
Assuming that the symbols fFIFO_rd, fFIFO0_rd, fFIFO1_rd, fFIFO2_rd, and fFIFO3_rd represent the frequencies of signals FIFO_rd, FIFO0_rd, FIFO1_rd, FIFO2_rd, and FIFO3_rd, respectively, the following results can be easily obtained, as shown in Figure 6: fFIFO_rd = 1 Δ T = 50 MHz, fFIFO0_rd = 1 Δ T 0 = 2.5 MHz, fFIFO1_rd = 1 Δ T 1 = 3.125 MHz, fFIFO2_rd = 1 Δ T 2 = 6.25 MHz, fFIFO3_rd = 1 Δ T 3 = 12.5 MHz.
So, the utilization ratio of the data transmission with the 4-group scanning of the ETSPS algoritnm can be calculated by Equation (16):
η b w ( 4 ) = f FIFO 0 _ rd + f FIFO 1 _ rd + f FIFO 2 _ rd + f FIFO 3 _ rd f FIFO _ rd × 100 % = j = 0 N 1 f s j N max ( f s 0 , f s 3 ) × 100 % = 2.5 + 3.125 + 6.25 + 12.5 50 × 100 % = 48.75 %
As a consequence, the bandwidth utilization ratio of the MFBSS algorithm η b w ( 4 ) reaches to 97.5% as shown in the inset of Figure 5, while the bandwidth utilization of the ETSPS algorithm η b w ( 4 ) is only 48.75%. The experimental results demonstrate that the MFBSS algorithm is efficient when used in the multi-group sensors scanning UPA system.

5. Conclusions

The novel MFBSS algorithm was proposed on the basis of the FIFOs variable lengths by FPGA technology, and was used for the multi-sensor scanning UPA system to maximize the bandwidth utilization ratio. The mathematical modeling of the MFBSS algorithm was established, and the formula VR = n = 0 N 1 V W ( n ) of maximizing bandwidth transmission utilization ratio in the N-group scanning patterns was successfully deduced. The lengths of the N-group FIFOs were achieved by using the designed equations, from which the length ratios were readily calculated. The algorithm was realized by FPGA technology, which made the reading operation of one FIFO switch to another FIFO without any time slot waiting, and thus it obtained the data transmission bandwidth utilization of no less than 92% hence allowing the UPA system to have the bandwidth utilization higher than that of the traditional ETSPS algorithm. In order to improve transmission efficiency of the large data generated by the sensor systems and the real-time performance of the algorithm through the multi-FPGA technology, the MFBSS scheduling algorithm based on data transmission has important applications in the multi-sensor systems, and the future research is likely to focus on designing some special scheduling algorithm module for different sensor systems.

Acknowledgments

This work was financially supported by the National Key Foundation for Exploring Scientific Instrument (2013YQ230575) and Guangzhou Science and Technology Plan Project (201509010008).

Author Contributions

Wenming Tang and Guixiong Liu conceived the idea of the paper; Wenming Tang and Daji Tan performed the experiments, and Yuzhong Li carried out the system model; Wenming Tang and Cuixiong Liu wrote the paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Walter, S.; Hersog, T.; Schubert, F.; Heuer, H. Investigations of PMN-PT composites for high sensitive ultrasonic phased array probes in NDE. Proceeding of the 2015 IEEE Sensors, Busan, Korea, 1–4 November 2015; pp. 1–4. [Google Scholar]
  2. Yuan, C.; Xie, C.; Li, L.; Zhang, F.; Gubanski, S.M. Ultrasonic phased array detection of internal defects in composite insulators. IEEE Trans. Dielectr. Electr. Insul. 2016, 23, 525–531. [Google Scholar] [CrossRef]
  3. Rubtsov, V.; Tarasov, S.; Kolubaev, E.; Psakhie, S. Ultrasonic phase array and eddy current methods for diagnostics of flaws in friction stir welds. In Proceedings of the International Conference on Physical Mesomechanics of Multilevel Systems, Tomsk, Russia, 3–5 September 2014; pp. 539–542. [Google Scholar]
  4. Hynynen, K.; Clement, G.N.; Vykhodtseva, N.; King, R.; White, P.J.; Vitek, S. 500-element ultrasound phased array system for noninvasive focal surgery of the brain: A preliminary rabbit study with ex vivo human skulls. Magn. Reson. Med. 2004, 52, 100–107. [Google Scholar] [CrossRef] [PubMed]
  5. Qiu, Y.; Gigliotti, J.V.; Wallace, M.; Griggio, F.; Demore, C.E.M.; Cochran, S. Piezoelectric micromachined ultrasound transducer (PMUT) arrays for integrated sensing, actuation and imaging. Sensors 2015, 15, 8020–8041. [Google Scholar] [CrossRef] [PubMed]
  6. An, J.; Song, K.; Zhang, S.; Yang, J.; Cao, P. Design of a broadband electrical impedance matching network for piezoelectric ultrasound transducers based on a genetic algorithm. Sensors 2014, 14, 6828–6843. [Google Scholar] [CrossRef] [PubMed]
  7. Taylor, K.J.; Milan, J. Differential diagnosis of chronic splenomegaly by grey-scale ultrasonography: Clinical observations and digital A-scan analysis. Br. J. Radiol. 1976, 49, 519–525. [Google Scholar] [CrossRef] [PubMed]
  8. Dutt, V.; Greenleaf, J.F. Adaptive speckle reduction filter for log-compressed B-scan images. IEEE Trans. Med. Imag. 1996, 15, 802–813. [Google Scholar] [CrossRef] [PubMed]
  9. Li, Y.; Blalock, T.N.; Hossack, J.A. Synthetic axial acquisition-full resolution, low-cost C-scan ultrasonic imaging. IEEE Trans. Ultrason. Ferroelectr. Freq. Control 2008, 55, 236–239. [Google Scholar] [PubMed]
  10. Lin, R.B.; Liu, G.X.; Tang, W.M. FPGA implementation of ultrasonic s-scan coordinate conversion based on radix-4 CORDIC algorithm. Zeitschrift Gemeine Mikrobiologie 2012, 15, 505–512. [Google Scholar] [CrossRef]
  11. Song, J.; Pulkkinen, A.; Huang, Y.; Hynynen, K. Investigation of standing-wave formation in a human skull for a clinical prototype of a large-aperture, transcranial MR-guided focused ultrasound (MRgFUS) phased array: An experimental and simulation study. IEEE Trans. Biomed. Eng. 2012, 59, 435–444. [Google Scholar] [CrossRef] [PubMed]
  12. ASTM F2491-13. Standard Guide for Evaluating Performance Characteristics of Phased-Array Ultrasonic Testing Instruments and Systems; ASTM: West Conshohocken, PA, USA, 2013. [Google Scholar]
  13. Choi, H.K.; Choi, J.D.; Jang, Y.S. Numerical analysis of queuing delay in cyclic bandwidth allocation TDMA system. Electr. Lett. 2014, 50, 1204–1205. [Google Scholar] [CrossRef]
  14. Park, H.; Choi, K. Adaptively weighted round-robin arbitration for equality of service in a many-core network-on-chip. IET Comput. Digit. Tech. 2016, 10, 37–44. [Google Scholar] [CrossRef]
  15. Slimane, M.B.; Hafaiedh, I.B.; Robbana, R. Formal-based design and verification of SoC arbitration protocols: A comparative analysis of TDMA and round-robin. IEEE Des. Test 2017, 34, 54–62. [Google Scholar] [CrossRef]
  16. Srinivasan, S.; Pandharipande, A. Self-configuring scheduling protocol for ultrasonic sensor systems. IEEE Sens. J. 2013, 13, 2517–2518. [Google Scholar] [CrossRef]
  17. Patil, S.; Kulkarni, R.A.; Patil, S.H.; Balaji, N. Performance improvement in cloud computing through dynamic task scheduling algorithm. In Proceedings of the International Conference on Next Generation Computing Technologies, Dehradun, India, 4–5 September 2015; pp. 96–100. [Google Scholar]
  18. Chronaki, K.; Rico, A.; Casas, M.; Moreto, M.; Badia, R.; Ayguade, E. Task scheduling techniques for asymmetric multi-core systems. IEEE Trans. Parallel Distrib. Syst. 2017, 28, 2074–2087. [Google Scholar] [CrossRef]
  19. Long, J.; Dong, M.; Ota, K.; Liu, A. A Green TDMA Scheduling algorithm for prolonging lifetime in wireless sensor networks. IEEE Syst. J. 2017, 11, 868–877. [Google Scholar] [CrossRef]
  20. Yaashuwanth, C.; Ramesh, R. A New Scheduling Algorithm for Real Time System; Auto-Ordnance Corporation: West Hurley, NY, USA, 2010; pp. 1104–1106. [Google Scholar]
  21. Liu, J.; Soleimanifar, M.; Lu, M. Resource-loaded piping spool fabrication scheduling: Material-supply-driven optimization. Visual. Eng. 2017, 5, 1–14. [Google Scholar] [CrossRef]
  22. Fischetti, M.; Monaci, M. Using a general-purpose mixed-integer linear programming solver for the practical solution of real-time train rescheduling. Eur. J. Oper. Res. 2017, 263, 258–264. [Google Scholar] [CrossRef]
  23. Ou, X.; Chang, Q.; Chakraborty, N.; Wang, J. Gantry scheduling for multi-gantry production system by online task allocation method. IEEE Robot. Autom. Lett. 2017, 99, 1848–1855. [Google Scholar] [CrossRef]
  24. SCFIFO and DCFIFO IP Cores User Guide. Available online: https://www.altera.com/content/dam/altera-www/ global/en_US/pdfs/literature/ug/ug_fifo.pdf (accessed on 2 January 2017).
  25. Pan, D.; Yang, Y. FIFO-based multicast scheduling algorithm for virtual output queued packet switches. IEEE Trans. Comput. 2005, 54, 1283–1297. [Google Scholar]
  26. Fernandez, G.; Jalle, J.; Abella, J.; Quinones, E.; Vardanega, T.; Cazorla, F.J. Computing safe contention bounds for multicore resources with round-robin and FIFO arbitration. IEEE Trans. Comput. 2017, 66, 586–600. [Google Scholar] [CrossRef]
  27. Tassart, S. Time-invariant context for sample rate conversion systems. IEEE Trans. Signal Proc. 2012, 60, 1098–1107. [Google Scholar] [CrossRef]
  28. Castiglioni, P.; Piccini, L.; Rienzo, M.D. Interpolation technique for extracting features from ECG signals sampled at low sampling rates. In Proceedings of the Computers in Cardiology, Thessaloniki Chalkidiki, Greece, 21–24 September 2003; pp. 481–484. [Google Scholar]
  29. Samson, C.A.; Bezanson, A.; Brown, J.A. A sub-nyquist, variable sampling, high-frequency phased array beamformer. IEEE Trans. Ultrason. Ferroelectr. Freq. Control 2017, 64, 568–576. [Google Scholar] [CrossRef] [PubMed]
  30. Avalon Interface Specifications. Available online: https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/manual/mnl_avalon_spec.pdf (accessed on 10 February2017).
  31. Cyclone V Avalon-ST Interface for PCIe Solutions User Guide. Available online: https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/ug/ug_c5_pcie_avst.pdf (accessed on 15 January 2017).
  32. Durante, P.; Neufeld, N.; Schwemmer, R.; Balbi, G.; Marconi, U. 100 Gbps PCI-express readout for the LHCb upgrade. IEEE Trans. Nuclear Sci. 2015, 62, 1752–1757. [Google Scholar] [CrossRef]
Figure 1. The diagram of the ultrasonic data transmission for the multi-sensor scanning.
Figure 1. The diagram of the ultrasonic data transmission for the multi-sensor scanning.
Sensors 17 02355 g001
Figure 2. The time slot transition diagram of the N FIFOs reading operations.
Figure 2. The time slot transition diagram of the N FIFOs reading operations.
Sensors 17 02355 g002
Figure 3. No time-gap switching flow chart of the N-group scanning and the N-FIFO caches shared.
Figure 3. No time-gap switching flow chart of the N-group scanning and the N-FIFO caches shared.
Sensors 17 02355 g003
Figure 4. The 4 FIFOs read timing waves of the MFBSS algorithm from Signaltap.
Figure 4. The 4 FIFOs read timing waves of the MFBSS algorithm from Signaltap.
Sensors 17 02355 g004
Figure 5. Comparison of the bandwidth utilization ratios of the MFBSS algorithm and the ETSPS algorithm.
Figure 5. Comparison of the bandwidth utilization ratios of the MFBSS algorithm and the ETSPS algorithm.
Sensors 17 02355 g005
Figure 6. The 4 FIFOs reading timing waves of the ETSPS algorithm from Signaltap.
Figure 6. The 4 FIFOs reading timing waves of the ETSPS algorithm from Signaltap.
Sensors 17 02355 g006
Table 1. The parameters of the N groups and the N FIFOs caches.
Table 1. The parameters of the N groups and the N FIFOs caches.
Group NumberSampling Rate (Hz)Bit WidthCacheLength of FIFOInput Width of FIFO (bit)Writing Bandwidth (bit/s)Output Width of FIFO (bit)Reading Bandwidth (bit/s)
0fs0ΔBFIFO0L(0)ΔBWVW(0)ΔBRVR
1fs1ΔBFIFO1L(1)ΔBWVW(1)ΔBRVR
2fs2ΔBFIFO2L(2)ΔBWVW(2)ΔBRVR
...........................
N − 1fsN−1ΔBFIFON−1L(N − 1)ΔBWVW(N − 1)ΔBRVR
Table 2. The N-group scanning and the N-FIFO caches depth ratios.
Table 2. The N-group scanning and the N-FIFO caches depth ratios.
Nfs0fs1fs2fs3...fsN−1L(0):L(1):...:L(N − 1)
212××××1:1
3123×××5:8:9
41234××9:16:21:24
..................×...
N1234...N − 1(VR − fs0) × fs0:(VRfs1) × fs1:...:(VRfsN−1) × fsN−1
Table 3. The parameters of the 4 groups scanning and the 4 FIFO caches.
Table 3. The parameters of the 4 groups scanning and the 4 FIFO caches.
fp (MHz)fsn (MHz)VWf(n) = fsn × ΔB/ΔBW (MHz)VRf = ΣVWf(n) (MHz)L(n) × ΔBW (bit)
2202.524.37514 × 64
2.5253.12524.37517 × 64
5506.2524.37529 × 64
1010012.524.37538 × 64

Share and Cite

MDPI and ACS Style

Tang, W.; Liu, G.; Li, Y.; Tan, D. An Improved Scheduling Algorithm for Data Transmission in Ultrasonic Phased Arrays with Multi-Group Ultrasonic Sensors. Sensors 2017, 17, 2355. https://doi.org/10.3390/s17102355

AMA Style

Tang W, Liu G, Li Y, Tan D. An Improved Scheduling Algorithm for Data Transmission in Ultrasonic Phased Arrays with Multi-Group Ultrasonic Sensors. Sensors. 2017; 17(10):2355. https://doi.org/10.3390/s17102355

Chicago/Turabian Style

Tang, Wenming, Guixiong Liu, Yuzhong Li, and Daji Tan. 2017. "An Improved Scheduling Algorithm for Data Transmission in Ultrasonic Phased Arrays with Multi-Group Ultrasonic Sensors" Sensors 17, no. 10: 2355. https://doi.org/10.3390/s17102355

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop