This is an early work-in progress test implementation of a digital readout, part of a low-power mixed-signal multichannel sensor interface for acoustic emission detection. The sensor interface is developed to support a passive, micromechanically-implemented ultrasonic signal frequency decomposition MEMS device, based on an array of piezoelectric micro-resonators: https://ieeexplore.ieee.org/document/9139151.
The digital part implemented here, performs real-time tracking of time-frequency spectrograms of individual acoustic emissions. It is assumed that each input-channel represents a signal amplitude envelope of the associated frequency-component over time, digitized using a flash ADC. The analog part of the ADC is not implemented here. Each input channel is represented by 7 input lines per channel representing the thermometer code output of a flash ADC. This test design implements only two-channels. The amplitude of an signal envelope at each channel is decoded into 3-bit BCD code. Presence of an input signal at any channel (detector of acoustic emission start) initiates event-based 1 MHz sampling of the time-frequency amplitude spectrogram. The sampling lasts for 200 us. Once finished, the state machine controls reads-out the data stored. A double buffer composed of D-bistables is used to manage the storage and readout simultaneously. The stored data is sent serially for each channel. An RTC module is used to retrieve the time of the acoustic emission start.
This design is part of research activities https://www.fer.unizg.hr/liss/aemems. The design is generally applicable as a generic multi-channel time-series feature extraction block, and serve for subsequent clustering or classification, as part of an low-power MEMS-based sensor system-on-chip for acoustic event detection, or non-destructive testing. This is the first TinyTapeout submission of the design.
Please contact authors for detailed instructions on how to set-up the design.
Logics analyzer will be useful for debugging.
# | Input | Output | Bidirectional |
---|---|---|---|
0 | ch1(0) | serial_out(0) | ch2(0) |
1 | ch1(1) | serial_out(1) | ch2(1) |
2 | ch1(2) | SL_time | ch2(2) |
3 | ch1(3) | SL_ch | ch2(3) |
4 | ch1(4) | signal_detected | ch2(4) |
5 | ch1(5) | memorization_completed | ch2(5) |
6 | ch1(6) | serial_readout | ch2(6) |
7 | RTC_clk(1kHz) | sending_data | serial_readout_clk(4Mhz) |