WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Multiple channel data acquisition system    
United States Patent4928246   
Link to this pagehttp://www.wikipatents.com/4928246.html
Inventor(s)Crawley; H. Bert (Ames, IA); Rosenberg; Eli I. (Ames, IA); Meyer; W. Thomas (Ames, IA); Gorbics; Mark S. (Ames, IA); Thomas; William D. (Boone, IA); McKay; Roy L. (Ames, IA); Homer, Jr.; John F. (Ames, IA)
AbstractA multiple channel data acquisition system for the transfer of large amounts of data from a multiplicity of data channels has a plurality of modules which operate in parallel to convert analog signals to digital data and transfer that data to a communications host via a FASTBUS. Each module has a plurality of submodules which include a front end buffer (FEB) connected to input circuitry having an analog to digital converter with cache memory for each of a plurality of channels. The submodules are interfaced with the FASTBUS via a FASTBUS coupler which controls a module bus and a module memory. The system is triggered to effect rapid parallel data samplings which are stored to the cache memories. The cache memories are uploaded to the FEBs during which zero suppression occurs. The data in the FEBs is reformatted and compressed by a local processor during transfer to the module memory. The FASTBUS coupler is used by the communications host to upload the compressed and formatted data from the module memory. The local processor executes programs which are downloaded to the module memory through the FASTBUS coupler.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 4928246
Multiple channel data acquisition system - US Patent 4928246 Drawing
Multiple channel data acquisition system
Inventor     Crawley; H. Bert (Ames, IA); Rosenberg; Eli I. (Ames, IA); Meyer; W. Thomas (Ames, IA); Gorbics; Mark S. (Ames, IA); Thomas; William D. (Boone, IA); McKay; Roy L. (Ames, IA); Homer, Jr.; John F. (Ames, IA)
Owner/Assignee     Iowa State University Research Foundation, Inc. (Ames, IA)
Patent assignment
All assignments
Publication Date     May 22, 1990
Application Number     07/261,031
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     October 21, 1988
US Classification     700/8 340/825 341/142
Int'l Classification     G06K 015/00 H04J 003/00
Examiner     Lall; Parshotam S.
Assistant Examiner     Mattson; Brian M.
Attorney/Law Firm     Welsh & Katz, Ltd.
Address
Parent Case    
Priority Data    
USPTO Field of Search     364/514 364/550 364/137 364/138 364/140 364/148 364/178 364/179 340/825.06 340/825 341/141 341/142 341/155
Patent Tags     multiple channel data acquisition
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4811195
Evans
700/4
Mar,1989

[0 after 0 votes]
4757460
Bione
709/248
Jul,1988

[0 after 0 votes]
4750137
Harper
709/238
Jun,1988

[0 after 0 votes]
4750135
Boilen
709/231
Jun,1988

[0 after 0 votes]
4745559
Willis

May,1988

[0 after 0 votes]
4347563
Paredes
700/8
Aug,1982

[0 after 0 votes]
4315330
Brickman
370/241
Feb,1982

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A multiple channel data acquisition system for converting analog signals from a multiplicity of data channels into digital data samples and for transferring the data samples to a host processor, said data acquisition system comprising:

a plurality of data acquistion modules, each including a local processor means, module memory means, channel conversion means, front end buffer (FEB) means, and communications coupling means;

a high speed communication pathway which couples each communications coupling means of a respective module to the host processor;

each of said data acquisition modules further including a module bus for coupling said FEB means, said module memory means, said local processor means, and said communication coupling means, said module bus adapted for bidirectional communications between said FEB means and said module memory means, said FEB means and said communications coupling means, or said module memory means and said communications coupling means;

said channel conversion means including means for periodically converting the analog signals from at least one of said data channels into the data samples, cache memory means, means for storing the data samples in said cache memory means, and means for periodically transferring the data samples stored in said cache memory means to said FEB means;

wherein said host processor controls communications between said communications coupling means and said module memory means or said FEB means; and

wherein said local processor controls communications between said module memory means and said FEB means or said communications coupling means.

2. The multiple channel data acquisition system as set forth in claim 1 wherein said means for periodically transferring said data samples stored in said cache memory means to said FEB means includes:

means for processing said data samples in accordance with information contained in the data samples stored in said cache memory means.

3. The multiple channel data acquisition system as set forth in claim 2 wherein said means for processing includes:

means for compressing the data samples stored in said cache memory means.

4. The multiple channel data acquisition system as set forth in claim 3 wherein said means for compressing the data samples stored in said cache memory means includes:

means for discarding data samples which are less than a predetermined threshold value.

5. The multiple channel data acquisition system as set forth in claim 3 wherein said means for compressing the data samples stored in said cache memory means includes:

means for discarding data samples based upon information contained in two or more consecutive data samples.

6. The multiple channel data acquisition system as set forth in claim 5 wherein said means for discarding includes:

means for discarding data samples which are less than a predetermined threshold value or are not preceded by n data samples or followed by n data samples which are greater than or equal to said threshold value, n being an integer value or zero.

7. The multiple channel data acquisition system as set forth in claim 1 wherein said means for periodically transferring said data samples from said cache memory means to said FEB means comprises:

address generation means for reading data samples from said cache memory means at a read address and for writing data samples to said FEB mean at a write address.

8. The multiple channel data acquisition system as set forth in claim 7 wherein said address generation means includes:

means for comparing the digital value of a read data sample to an amplitude threshold;

means for incrementing the read address to read the next data sample;

means for incrementing the write address if the digital value of said compared data sample is greater than said threshold; and

storing the next data sample at the write address.

9. The multiple channel data acquisition system as set forth in claim 8 wherein said address generator means further includes:

means for storing said write address if said present data sample is greater than said amplitude threshold;

means for comparing the number of consecutive data samples thereafter in excess of a width threshold;

means for resetting said write address to said stored address if said comparison is not in excess of said width threshold.

10. The multiple channel data acquisition system as set forth in claim 9 which further includes:

amplitude threshold memory means for storing said amplitude threshold at a memory location corresponding to a particular data channel; and

width threshold memory means for storing said width threshold to a memory location corresponding to a particular data channel.

11. The multiple channel data acquisition system as set forth in claim 1 wherein:

said module memory means is partitioned into a program buffer means for storing instructions executable by said local processor means and a module event buffer means for storing data samples transferred from said FEB means; and

said local processor means includes means for executing said instructions stored in said program buffer means to control the transfer of said data samples from said FEB means to said module event buffer means.

12. The multiple channel data acquisition system as set forth in claim 11 wherein:

said program buffer means comprises random access memory which is addressable by said communications coupling means.

13. The multiple channel data acquisition system as set forth in claim 12 which further includes:

means for downloading said executable instructions through said communications coupling means to each module memory means.

14. The multiple channel data acquisition system as set forth in claim 11 wherein:

said module event buffer means comprises random access memory which is addressable by said communications coupling means.

15. The multiple channel data acquisition system as set forth in claim 14 which further includes:

means for uploading said stored data samples from each module event buffer through said communications coupling means.

16. The multiple channel data acquisition system as set forth in claim 11 wherein:

said local processor means includes means for executing said instructions stored in said program buffer means to process said data samples during transfer from said FEB means to said module event buffer means.

17. The multiple channel data acquisition system as set forth in claim 16 wherein:

said means for executing instructions processes said data samples into a format compatible with said host processor.

18. The multiple channel data acquisition system as set forth in claim 16 wherein:

said means for executing instructions processes said data samples according to a characteristic of the data.

19. The multiple channel data acquisition system as set forth in claim 18 wherein:

said means for executing instructions compresses said data samples based upon whether any data samples are stored in said FEB means.

20. The multiple channel data acquisition system as set forth in claim 19 wherein:

said means for executing instructions communicates with said uploading means to indicate whether any data samples have been transferred to said module event buffer means.

21. A method for converting the analog signals from a multiplicity of data channels into digital data samples and for transferring the data samples to a host processor, said method comprising:

sampling the multiplicity of data channels in parallel in response to a trigger signal by the host processor to generate the data samples;

storing the data samples of each channel into an associated multiplicity of first memories;

transferring said data samples from a plurality of channels stored in said first memories into an associated multiplicity of second memories;

processing said data samples into processed data samples during said transfer from said first to said second memories;

transferring said processed data samples from a plurality of second memories into an associated multiplicity of third memories;

processing said processed data samples into information samples during said transfer from said second to third memories; and

transferring said information samples from each of said third memories to said host processor.

22. The conversion method as set forth in claim 21 wherein said step of sampling includes:

sampling a plurality of sequential data samples during a load period of specific duration.

23. The conversion method as set forth in claim 22 wherein said step of transferring said data samples from said first memories to said second memories includes:

sequentially transferring all data samples from one channel before transferring the data samples of the next channel in the plurality of channels during a dump period of specific duration.

24. The conversion method as set forth in claim 23 wherein:

said step of sampling is accomplished at a higher rate than said step of transferring data samples from said first to second memories.

25. The conversion method as set forth in claim 23 wherein said step of transferring said processed data from said second to said third memories includes:

halting said processing step during said load and dump periods.

26. The conversion method as set forth in claim 23 wherein said step of processing said data samples includes:

compressing said data samples into fewer data samples.

27. The conversion method as set forth in claim 26 wherein said step of compressing includes:

discarding data samples which have less amplitude than a threshold.

28. The conversion method as set forth in claim 27 wherein said step of discarding includes:

writing said discarded data samples into said second memory;

determining whether said discarded data samples are less than said threshold;

overwriting said discarded data samples with data samples which are in excess of said threshold.

29. The conversion method as set forth in claim 26 wherein said step of compressing includes:

discarding data samples which have less width than a threshold.

30. The conversion as set forth in claim 21 wherein said step of processing said processed data samples includes:

formatting said information samples for transfer to said host processor.
 Description Submit all comments and votes
 


The invention pertains generally to systems for the acquisition of analog data by digital processors and is more particularly directed to such systems which include many high speed data acquisition channels.

The acquisition of analog data by a digital processor is known to include the conversion of an analog signal to a digital form by an analog to digital converter and the input of the converted digital value by the processor over a data bus. The data in digital form, once stored in the processor memory, can be further processed and used for a variety of purposes. Software process control systems based upon the digital conversion and input of sensed analog values are common. Other systems use converted analog data for diagnostic purposes where the values pertain to limits or alarm values. Another of the more advantageous uses for such systems is to collect data relating to a physical event from a multiplicity of the sensors for later analysis.

Systems for the collection of physical data and its digitization and storage are prevalent in scientific systems where vast quantities of data need to be analyzed. Examples of such disciplines where these systems have been used to advantage are physics, astronomy, medicine, chemistry and others. Physical event data acquistion systems generally present the problem of simultaneously digitizing many data channels and efficiently recording the outputs of the channels from which the individual data was taken.

A specific example of an advantageous use of this type of data acquisition system would be in connection with a barrel-shaped electromagnetic calorimeter termed the High-Density Projection Chamber (HPC). The HPC is a fine grained gas sampling calorimeter which uses the principle of time projection to obtain a three-dimensional localization of the energy deposition within it. A series of proportional tubes with U-shaped cross sections are used to amplify the drifted charge and the signals induced on the cathodes of these tubes are collected on a series of pads. The HPC includes 128 readout pads in each of 144 sectors, for a total of 18,432 readout channels.

This calorimeter can be utilized to measure the charge deposited by photons, electrons or other charged particles passing through it. An interesting physical experiment in which charged particles are generated for basic elementary particle research will be performed at the Large Electron Positron Collider, in which two charged particle beams are collided to radiate a number of other smaller charged particles. These emitted particles can then be detected by measuring the energy which they impart to the gases of the barrel calorimeter upon impingement.

However, in order to resolve the energy of single photons and pions, the calorimeter in such instances would have to sample the collected charge 256 times per event over the 90 cm. drift length of each calorimeter sector. This necessitates the collection of digitized charge information for approximately 4.7 X 10.sup.6 spatial samples per event. Moreover, the beam crossing rate of the collider requires that digitization of the charge deposited by the particles traversing the calorimeter occur at a frequency of about 15 MHz. Additionally, the charge deposited by individual pions and electrons is relatively small with respect to groups or showers of particles. In order to provide for the sampling of minimum ionizing particles and showers of energies 20 GeV without appreciable saturation, a dynamic range of approximately 800:1 is needed. Therefore, the data acquisition system for such configuration must convert massive amounts of analog information to a digital format in a very short time and over a large dynamic range.

In scientific digitization systems generally, and particularly in the HPC example, there is, much of the time, no relevant data present in many of the data samples. Such digitizations of irrelevant values, or even zero values, take up memory space, and they should be discarded. However, the time constraints of data acquisition for a large number of channels for such systems make such further data processing difficult to accomplish concurrently.

The calibration of data acquisition systems with a large number of data channels further presents difficulty. The gains and zero values for each channel must be set before the digitization system can take an accurate measurement. With a large number of data channels, a manual calibration, or even an automated calibration, can take a significant amount of time.

Another difficulty encountered with the digitization of data from a large number of data channels is the efficient transfer of the data from the acquisition system to a host processor. When massive amounts of data must be moved from one system to another, an efficient communications interface must be used. Otherwise, the acquisition system will spend more time transferring the data than acquiring it. A method of providing efficient data transfer for digital systems is to make the transfer hierarchial where data can be preprocessed before transfer o to the host. Preprocessing can further be accelerated by distributing the processing engines, either serially or in parallel. An efficient communications interface which can be used to connect a host processor with a large number of peripheral devices is the FASTBUS. This bus, which implements IEEE Standard 960-1986 for communications, is a 32-bit wide gateway for data and information between a host and its peripherals. However, this efficient communications interface has not been used in a data acquisition system utilizing a distributed and/or hierarchial preprocessing data transfer technique.

SUMMARY OF THE INVENTION

The invention solves these and other problems of data acquisition systems by providing a system which efficiently digitizes information from a multiplicity of channels and transfers it to a host processor.

In a preferred embodiment, a data acquisition system includes a plurality of data acquisition modules, each adapted to digitize the analog information from a multiplicity of input channels. Each module includes a communications coupler which interfaces with an efficient communications structure for transferring data to a host processor. In the implementation illustrated, the communications coupler connects each module to a FASTBUS backplane which is then interfaced to the host processor.

Each data acquisition module comprises, in addition to the communications coupler, a multiplicity of input digitization circuits including a flash analog to digital o converter (FADC), a cache memory for buffering converted information, and means for reading data from said cache circuit onto a submodule bus. The modules are triggered by the host to convert a plurality of sequential time slots (event) into digital samples which are then stored to the cache memories.

Each submodule bus connects the cache memories of a plurality of the input channels to a front end buffer (FEB). Between the FEB and each cache is a zero suppression circuit which filters the data for non-zero o values. Because only non-zero values of the data are passed from each cache memory to a FEB, each FEB is divided into two sections where one section stores the data samples and another section stores a digital value corresponding to a time slot at which the data was taken.

The zero suppression circuit, including an address generator, will reject data values based on a threshold values are clocked sequentially out of each cache memory, and the address generator determines whether the data is retained. The selection is made by first clocking

data into the FEB at an address generated by the address generator and then retaining the data by incrementing the address or discarding the data by overwriting depending on whether it passes the zero suppression criteria. The zero suppression criteria, in the preferred implementation, threshold and width, are stored in a random access memory which can be read and written to change the parameters stored therein.

In the preferred embodiment, zero suppression is effected if a data sample does not exceed a threshold, which in turn exceeds a pedestal level. The pedestal levels are determined from the zero values of each FADC of the module during a calibration operation. If the data sample is above the threshold, it will be tentatively stored until it is determined if the subsequent two samples are above the threshold thereby passing the width test.

The FEB is further partitioned into individual memory spaces for each associated channel which can hold multiple events for that channel. The partitioning is such that each event begins at a fixed location in the FEB. The lower order byte at this location contains the valid word count for the channel, i.e., the number of data words corresponding to non-zero data values.

Each module further comprises a module bus and a local processor with random access memory which is further connected to the module bus. The module thus exists as a pathway between the FEB of each submodule, the local processor, the module event buffer memory, threshold and width memories, and the communications coupler. The FEB, threshold and width memories, and the module event buffer exist in the memory space of both the local processor and the communications host.

This architecture provides an advantageous method for transferring digitized data to the communications host. In a first method, the communications host can directly access and upload from the FEB of each submodule of each module. Alternatively, the local microprocessor can upload the data o from each submodule to the event buffer and the communications host can upload each event buffer from each module.

This method is advantageous in that the local processors of each module work in parallel to process the data from the FEBs to a single place in each module event buffer where more effective block transfers of data are possible. The local processor also works in series with the zero suppression processor to provide a hierarchial processing technique. In addition, the local processor is capable of reformatting the data from FEB format to a format compatible with the communications host. Moreover, the system with the local processor is capable of additional data compression and analysis or other front end processing on the FEB data. The amount of processing by the local processor is variable to the degree needed for a particular application. Any number of different programs can be provided, since the local processor program is downloaded into the module memory before the beginning of data collection.

According to another feature of the invention, each local processor can auto-calibrate the FADC channels associated with its module. The local processor performs the calibration by executing a calibration program downloaded from the communications host. The calibration program disables the zero suppression and averages a number of data samples taken during a quiescent event time of the device. From these samples, the local processor computes a pedestal level for each channel under its control. Since all the local processors operate in parallel, a calibration which otherwise would be laborious and time consuming can be accomplished with facility.

These and other objects, features, and aspects of the invention will become apparent and more fully described upon reading the following detailed description when taken in conjunction with the attached drawings wherein:

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system block diagram of an apparatus for measuring a physical event incorporating a data acquisition system constructed in accordance with the invention;

FIG. 2 is a detailed block diagram of one of the segments of the event generator illustrated in FIG. 1 showing the module groupings associated therewith;

FIG. 3 is a detailed functional diagram of one of the data acquisition modules of the data acquisition system illustrated in FIGS. 1 and 2;

FIG. 4 is a detailed hardware block diagram of the module bus, local processor, the FASTBUS coupler, and their interconnections;

FIG. 5 is a detailed block diagram of the timing and control circuitry associated with the module illustrated in FIG. 3;

FIG. 6 is a pictorial representation of various timing and clock signals generated by the circuitry illustrated in FIG. 5;

FIG. 6A is a schematic of the watch dog driver of the system;

FIG. 7 is a detailed electrical schematic of the input channel circuitry illustrated in FIG. 3;

FIG. 8 is a detailed electrical schematic diagram of the circuitry to generate the plurality of reference voltages which are used by the FADC illustrated in FIG. 7:

FIG. 9 is a detailed electrical schematic diagram of the FEB of one submodule illustrated in FIG. 3;

FIG. 10 is a pictorial representation of the allocation of memory space in a FEB of one submodule illustrated in FIG. 3;

FIG. 11 is a pictorial representative of the allocation of memory space for the threshold and width memories of the module illustrated in FIG. 3;

FIG. 12 is a detailed electrical schematic diagram of the control circuitry for the FEB memory and the threshold and width memories of the module illustrated in FIG. 3;

FIG. 13 is an electrical schematic diagram of the threshold and width memories, and address generators which form the zero-suppression circuitry of the module illustrated in FIG. 3;

FIG. 14 is a detailed electrical schematic diagram of one of the address generators illustrated in FIG. 13;

FIG. 15 is a pictorial representation of various data samples being compared by the zero suppression circuitry;

FIG. 16 is a detailed electrical schematic of the local processor, control interface, arbitration logic, control status register, and interrupt control illustrated in FIG. 4;

FIG. 17 is a detailed electrical schematic of the module memory, cross connect, and memory control illustrated in FIG. 4;

FIG. 18 is a detailed block diagram of the FASTBUS coupler illustrated in FIG. 4;

FIG. 19 is a pictorial representation of timing waveforms representing a communication between the FASTBUS backplane and the FASTBUS coupler illustrated in FIG. 18;

FIG. 20 is a system flow chart of the executive program for controlling the data acquisition system illustrated in FIG. 1;

FIG. 21 is a detailed flow chart of the initialization routine illustrated in FIG. 20;

FIG. 22 is a detailed system flow chart of a threshold calibration operation;

FIG. 23 is a detailed system flow chart of a gain computation operation; and

FIG. 24 is a pictorial representation of a reformatted data blocklet sent to the host by the local processor.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 illustrates a system for the acquisition of digital data related to a particular physical event which includes a data acquisition system constructed in accordance with the invention. The system includes an event generator 10 which is a device equipped with a multiplicity of sensors to take measurements of a physical phenomena. As an example, the specification will use as an event generator the barrel calorimeter described for the HPC. While data acquisition for this particular phenomena requires a multiplicity of data sensors, there are many other event generators which are equivalent in that they require many sensors operating simultaneously to record an event properly.

In the system illustrated in FIG. 1, the event generator 10 comprises six segments 1-6, each having 24 sectors, for a total of 144 sectors. Each sector 1-144 has multiple data sensors shown schematically at 13, 15, 17, 19, 21 and 23 which connect to groups of segment modules 12, 14, 16, 18, 20 and 22, respectively. The segment modules contain a plurality of modules for each sector and segment, such that sufficient circuitry is L provided to digitize all the analog signals detected by the sensors. The segment modules 12-22 connect to a communications bus 25 which transfers the recorded digital data from the sensing of an event to a communications host 26 through an interface 24. In the preferred embodiment, this communications bus 25 is a master/slave driven communications interface termed a FASTBUS. The segment modules 12-22 are identical such that they interconnect easily to the FASTBUS backplane 25.

The communications host 26 is under a control of a system host 28 to input and process the data which is measured by the data acquisition system 27. The system host 28 communicates to the data acquisition system 27 via the communications host 26 and the interface 24. An event control 30 further communicates to the system host 28 through communications host 26. The event control 30 provides timing and clock lines 32 to the segment modules 12-22. The event control 30 further has sensors 35 which are read on lines 34 which do not take data but are for event control and processing of the data acquired during an event.

In operation, the sensors 35 attached to sensor lines 34 detect particular parameters and cues concerning the physical status of the event generator 10 and cause the event control 30 to issue a trigger to begin the data acquisition by data acquisition system 25. The data acquisition system 25 digitizes the inputs from the multiplicity of sensors 13-23 and then transfers this acquired data either in full or compressed form via the FASTBUS backplane 25 to the communications host 26 and eventually the system host 28.

If, durinq the digitization, the event control 30 determines that the detected event is not interesting, then it can reset the data acquisition system 27. Thus, the system will only digitize during events (triggers) and only for the amount of time necessary to determine the event may have significant data. If there is a determination that the data is interesting then it will be stored and further processed. The segment modules 12-22 will communicate to the communications host 26 whether significant data is stored or not.

A more expanded view of the modules which comprise one segment group, for example segment group 12, is shown in FIG. 2. Each segment module group contains 24 sector groups of which sector 1 at 40 is an example. Sectors 2-24 are represented as sector modules 50-62, respectively, and contain the same configuration and number of modules that sector 1 at 40 contains. The sector 1 group comprises four modules 42, 44, 46 and 48, each of which are coupled to the FASTBUS backplane 25 and to a plurality of sensors 39 for the respective sector of a segment. In a preferred embodiment, each module, for example 42, digitizes the inputs from thirty-two channels 0-31. The total system, thus, instruments 128 channels for each of the 144 sector groups for a total of 18,432 channels. Because of the particular event generator 10 described, 256 time slots are measured per event. Total digitized information for the system of approximately 4.7 x 10.sup.6 data words are thereby recorded per event. Such massive data acquisition in a relatively short period of time requires the efficient and extremely fast data acquisition system which is provided by the invention.

With respect now to FIG. 3, there is shown a detailed block diagram of one module, for example the one designated 42 in FIG.2, of the multi-channel data acquisition system. The module 42 comprises a plurality of submodules 66, 68, 70, and 72 connected to a module bus 77. Each of the submodules, for example 66, includes a plurality of input channel circuits comprising an input channel group (for example, channel group 80) a zero suppression circuit 82, a FEB (FEB) 84, and gates 86, 88. Each of the input channel circuits of a channel group 80 includes an input amplifier 92, a flash analog to digital converter (FADC) 94, a cache memory 96 and a gate 98.

The module further includes a local processor 104 connected to the module bus 77 and associated module memory 106 similarly connected to the module 102 bus. Completing the elements of the module 42 is a communications coupler 102 coupling the module bus 77 to the FASTBUS backplane 25.

In operation, the analog signal from the respective event sensor is input to the amplifier 92, differentially amplified, and then converted to a digital value by FADC 24 at a specified clock rate. The digital values are temporarily stored in the cache memory 96 of the input channel circuit until an entire event is recorded (256 samples). When the loading cycle is complete, the data is transferred (dumped) to the FEB 84 from each cache memory of the eight channels in the group. The unloading of the cache memories for a group 80 is sequential, with the first finishing before the next starts. Gate 86 which is closed for the load cycle is open during the dump cycle and is connected to the open gate of group 80 in sequence. The data flows first to the zero suppression circuit 82 which causes data values below a threshold and less than a predetermined width to be discarded.

After data from the cache memories of the associated channel groups have been transferred to the FEBs of the submodules 66, 68, 70 and 72, one of two operations may take place to upload the data to the communications host 26. The first operation includes the direct addressing of the FEBs by the communications host 26 to take the information directly. The communications host 26 accomplishes the transfer by enabling gate 88 of a submodule, and by then addressing the FEB 84 directly.

Alternatively, and more advantageously, the local processor 104 controls the transfer the information stored in each FEB for each submodule into the section of module memory 106 designated as the module event buffer 100. The communications host 26 can then perform a block transfer of all the data for a module by addressing the module event buffer 100. The local processor 104 is halted during the load and dump cycles of the submodules so that it Will not interfere with the sensitive analog sensors of the design.

In the preferred implementation shown in the drawing, the module 42 is capable of digitizing 32 channels of information, CHAN0-31. These 32 channels are partitioned into groups of 8 input channel circuits, where each group shares a zero suppression circuit and a FEB. While each group shares a zero suppression circuit, there is provision for each input channel to have its own suppression criteria. A group of 8 input channels, a zero suppression circuit and a FEB form one of the four submodules. The four submodules, the module event memory 106, the local processor 104, the module bus 77 and the communications coupler 102, comprise the module 42.

A more detailed block diagram of the local processor 104 and the module bus 77 are shown to advantage in FIG. 4. The module bus 77 comprises a control bus 108, a 19-bit wide address bus 110, and a 32-bit wide bidirectional data bus having data lines D0-D15 and data lines D16-D31 at 112. The module bus 77 is common to the local processor 104, the communications coupler 102 and the module memory 106 thereby allowing access of the module memory by either the local processor or the communications host through the coupler 102.

The system further includes arbitration logic 114 to determine which processor, the local processor 104 or host processor, will control the bus 77, for how long and by what protocol. A control interface 56 also generates control signals which assist the local processor and the communications coupler to handle the module bus 77. In addition, the control interface provides control signals to a cross-connect circuit 60 to allow the data on line D0-D15 of the data bus to be applied to the opposite data lines D15-D31, and vice versa. A control status register CS10 at 118 is selected by control lines from the address bus 110 to select the module. Once selected, the control status register CSR10 inputs data from the communications coupler via the data bus 112. These data are the control commands of the communications host for the local processor 104. The commands of the control status register 118 are translated by an interrupt control 120 into interrupts which command a microprocessor 122 to transfer command processing to selected control routines. The memory control 124 is accessible by both the local processor 104 and the communications host 26 to either read or write data into the module memory 106.

Because the communications coupler 102 uses a 32-bit data bus and the microprocessor 122 uses a 16-bit data bus, it is necessary to reconfigure the data bus 112 dynamically from 32 to 16 bits. This is done by a cross-connect circuit 128 which connects data lines D16-D31 to their corresponding data lines D0-D15 when the microprocessor 122 tries to access data that would be in the upper 16 bits in a 32-bit word. The control signals provided by the communications coupler 102 are not the same as those recognized by the microprocessor 122 and module memory 106. Therefore, control interface circuitry 126 is provided to transform the signals from the FASTBUS coupler 102 into compatible signals.

The system has a series of triggers or levels which causes data from individual events to be accepted for further processing or discarded as not of current interest. These trigger levels provide a prefilter or preprocessor for the massive amounts of data which the system is able to digitize. The system is presently configured to be capable of digitizing 18,432 sensor output channels, each having 256 samples, every 22 microseconds. If all of this data were stored even for a short time, the processing capabilities and storage of the host would be overextended. Because, in many physical experiments, much of the data is not interesting, as it does not include the event being searched for, extraneous values should be discarded at the earliest possible time in the system processing cycle so as not to tie up higher level system assets.

Therefore, at a first level, the system is triggered to begin taking data for an event. In the present example, this trigger is coincident with the beam crossing of two particle beams which produces charges in the calorimeter. No trigger is applied to the system unless there is a good possibility that significant data will result, i.e., a prescreened event occurs. If during the digitization of an event or the buffering of the data in the FEBs, the event control 30 decides that the event data should not be further processed, then a second level trigger will reset the system. The transfer of the digitized data will not be made, but the system will instead cycle back to an idle mode and be immediately ready to digitize another event upon synchronization with the next beam crossing. With this priority triggering system, only a few events out of the many possible will be digitized by the first level trigger, for example, 1 event in 100 possible events. Still fewer, those which after digitization were noted to be of interest will be stored to the FEBs, for example, 1 event in 100 of those digitized. Of the events which are stored in the FEBs, the data therein has also been effectively compacted by zero suppression.

A third level of triggering is provided by the local processor 104. The local processor by means of various computations, or other system functions, can preprocess the data stored in the module event buffer to determine if it contains information which may require further processing. In this case the module will signal the communications host it has data ready. If the information the data contains has been totally zero suppressed or otherwise discounted, the module will not signal the host. Further, during the transfer of the data from the FEBs to the module event buffer, the data can be further compress