Graphics & Design

Development of MSP430-based ultra-low power expandable underwater acoustic recorder

Description
Development of MSP430-based ultra-low power expandable underwater acoustic recorder
Published
of 10
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
  Development of MSP430-based ultra-low power expandable underwateracoustic recorder Chau-Chang Wang a,  , Yu-Hung Hsiao b , Min-Chih Huang b a Institute of Undersea Technology and the Asian Pacific Ocean Research Center, National Sun Yet-sen University, Kaohsiung 804, Taiwan b Department of Systems and Naval Mechatronic Engineering, National Cheng Kung University, Tainan 701, Taiwan a r t i c l e i n f o  Article history: Received 5 August 2008Accepted 8 January 2009Available online 23 January 2009 Keywords: Ultra-low powerMSP430 MCUMaster-slave architectureUnderwater acoustic recorderLong-term deployment a b s t r a c t Reducing overall power consumption is core issue in low power, high sampling rate, large storage dataloggers necessary for long-term underwater acoustics research and other applications. A low-powermicroprocessor MSP430 offers a solution for the development of long-term deployment remotesystems. In this paper, we present a multi-MSP430, master-slave architecture to resolve the powerlimitation issue. The proposed design is scalable in nature. For every additional slave unit installed inthe array, the data sampling and streaming rate can be increased proportionally. We demonstrate theadvantages of this concept using a multi-channel underwater acoustic recorder with a 100kHzsampling rate. The performance of the system is demonstrated by a field acoustic experiment in whichthe reflection coefficient of the seafloor is measured. The proposed architecture will be applicable tomany underwater long-term deployment systems. With its flexibility in configuration and synchroniza-tion of multi-channel sampling, it also provides a simple architecture for the construction of hydrophone arrays. &  2009 Elsevier Ltd. All rights reserved. 1. Introduction When studying underwater acoustics in an indoor laboratorysetup, signal acquisition generally does not pose problemsbecause many off-the-shelf products are available for a rangeof configurations and applications. These solutions are generallyimplemented on a PC or a rugged industrial chassis. Moreover,electric power supply, data storage and communications areassumed to be handy and unlimited. However, when investigatingacoustics in the underwater environment, all these conditions areeither too expensive or impossible. A feasible approach forunderwater instruments must overcome these constraints.Ocean environment is full of noises from a variety of sources.A broad band of acoustic signals, from several Hz to severalhundred kHz, can be found (Wenz, 1962). For example, marinemammals make sounds in frequencies ranging from 100Hz to150kHz (Au, 1993). Raindrops falling on the sea surface createbubbles which generate loud noises in the range of 1–50kHz asthey collapse (Nystuen, 2001). Ship traffic radiates noise from 1 to10kHz (Corcker,1998). To study these ocean acoustic phenomena,sound is measured in the field and then analyzed in situ or post-processed in the laboratory. For measuring sound in the field,if the site is not far from the shore, a cabled system is generallyadopted. However, deployment and maintenance of cable systemsis costly. Moreover, coastal waters are generally full of humanactivities, subjecting underwater cables to the constant risk of being damaged by trawling and anchoring.For both cabled or stand-alone systems, the ocean environ-ment poses challenges for power supply, data storage, and systemstability. If the study site is too far from the coast, too deep, or toocostly for a cabled system, stand-alone and self-contained loggingsystems are deployed on the seafloor. Regular service is needed toretrieve data and replace the battery pack.To address these problems, Ma and Nystuen (2005) developedan autonomous acoustic recorder called Passive Aquatic Listeners(PALs). This instrument consists of a microprocessor, a low-noise10/20dB amplifier board, a hydrophone, and a battery pack. Themicroprocessor is a low-power Persistor microcontroller whichhas 8 channels of 10-bit AD, 16 I/Os, and a CF card interface fordata storage. The system was designed to record rainfall acousticspectrum in the ocean for up to one year. In order to achieve long-duration measurement, PAL normally stays in ‘‘sleep’’ modeto save power. It wakes up once every one or two minutes(programmable) to measure environment noise at a 100kHzsampling rate for 4.5s to obtain the spectrum. If the spectrumcontains the signature of rainfall, the system will pick up thehydrophone signal, calculate, and store the spectrum continuouslyuntil the rainfall signature vanishes from the spectrum. To reducethe size of the memory storage needed, the system does not savethe signal time series but only the spectrum. The 10/20dB ARTICLE IN PRESS Contents lists available at ScienceDirectjournal homepage: www.elsevier.com/locate/oceaneng Ocean Engineering 0029-8018/$-see front matter  &  2009 Elsevier Ltd. All rights reserved.doi:10.1016/j.oceaneng.2009.01.008  Corresponding author. Tel.: +88675252000x5276; fax: +88675255270. E-mail address:  chauwang@mail.nsysu.edu.tw (C.-C. Wang).Ocean Engineering 36 (2009) 446–455  amplifier board also provides options to capture the signal withappropriate scale. Taking this project as an example, we can seethe issues of power and memory management are core issues forlong-term deployment instruments.To record acoustic signals continuously in the ocean, Wiggins(2003) developed a low-power, high-data capacity autonomousacoustic recorder called the Autonomous Acoustic RecordingPackage (ARP). ARP consists of an OS500 data logger manufac-tured by Ocean Sensor Corporation, a hydrophone, two 36GB SCSIdisks for data storage and battery packs. Given the large capacityof the SCSI hard disk drives, memory constraints are not an issue.The power consumption of the OS500 and hydrophone areapproximately 600mW without the SCSI disk drives. The batterypacks consist of two lithium batteries, a 580Ah (ampere-hour)/10V for the OS500 data logger, and a 135Ah/17V for the SCSI diskdrives. The systemprovides a 1000Hz sampling rate, and supportslong-term deployments of up to one year.Burgess et al. (1998) developed a low-power autonomousrecording system, called CAP, 36cm long and 10cm diameter. It iscapable of withstanding depths of 2000m and records acousticsignals at 5kHz for up to 10h, along with temperature and depthlogging. This device is so compact that it can be tagged on marinemammals to study their behavior. Later, CAP was upgraded to aneven more compact and power-efficient version called Bioprobe.The acoustic sampling rate of the new model can be set to anynumber between 100Hz and 20kHz with 16-bit resolution. Thesystem uses flash-memory as the data storage medium, and isthus more power efficient. With a 1.5Ah/3.6V alkaline cell, it canoperate at a 2kHz acoustic sampling rate for up to 41h. Thodeet al. (2006) used the design of the Bioprobe as the core of loggingdevices in a four-element vertical array to record and track marinemammals.Recently, other projects have applied the Bioprobe architecturein developing a new generation of compact and ultra-low poweracoustic loggers for marine mammal protection ( Johnson andTyack, 2003; Madsen and Wahlberg, 2007). For marine mammal monitoring, Wiggins and Hilderbrand(2007) used a 32-bit, 20MHz microcontroller as the platform toconstruct a long term (months) and broadband (200kHz)autonomous underwater acoustic recorder. Because the monitor-ing needs to record continuously at a high sampling rate,data storage volume and battery power pack capacity are twochallenging engineering problems. Their solution was an arrayof laptop 2.5 00 disk drives (1.9TB) as the storage medium. Tomanage power efficiently, the data are stored in a 32MB RAMbuffer prior to streaming to the disk drives. Using this technique,onlyone drive in the array is activated fora short period of writingtime. Power consumption is thus reduced substantially.A recent development is Ecological Acoustic Recorder (EAR)of  Lammers et al. (2008), which monitors biological activityon coral reefs and in surrounding waters. This microprocessor-based autonomous recorder samples the ambient sound fieldperiodically and automatically detects sounds which meet certaincriteria. With several power packs (each power pack consistsof seven high-capacity alkaline D-cell in series), the system canoperate up to one year. With its programmable recording dutycycle and power pack module arrangement, the system can beeasily configured to meet different needs of environmentmonitoring projects.The aforementioned projects show that engineers must tradeoff among long-term deployment, sampling rate, and data storagecapacity when constructing stand-alone, non-cabled underwaterlogging systems. High sampling rates and long operating periodsrequire greater data storage and high-performance microproces-sors. This in turn creates demand for large disk drives thatconsume more power. The resulting large battery packs increasethe size and weight of the system, impairing its portability.Fortunately, ongoing developments in microprocessors and flash-memory based storage have created new possibilities for thedevelopment of stand-alone, non-cabled underwater loggingsystems.One of the new generation of ultra-low power microcontrollersis the MSP430 MCU (Micro Controller Unit) from Texas Instru-ments. It is specifically designed for battery-operated productslike MP3 players, hand-held meters, and medical equipment.Its architecture significantly reduces both power consumptionand the complexity of peripheral circuits. In this research we usethe MSP430 MCU to design an architecture which is scalableand expandable in sampling rate, data storage, and numberof digitizing channels, at milliwatt power levels. We call it theUltra-Low Power Expandable Acoustic Recorder (UPEAR). 2. Hardware architecture The performance of data logging systems is usually limited bythe bottlenecks of AD conversion speed and data streaming rate.Our design strategy is to fully exploit a single ultra-low powerMCU, rather than using a more powerful microprocessor or DSP.To overcome the challenges of high-speed data acquisition andstreaming, not only a fast AD conversion circuit, but also aneffective way to continuously stream data into a storage mediumwithout interrupt is needed. Streaming large quantities of datainto a storage medium is generally achieved by adoptinga powerful CPU and a high-speed data bus. This inevitablyintroduces complicated architecture and consumes more power.Such an approach is not an optimum solution for low powerstand-alone systems.The MSP430 MCU has a series of models with different numberof AD channels, digital I/Os, buffer and flash-memory sizes, andoptional peripherals such as LCD drivers. Compact in size, theyare extremely low in power consumption, ranging from roughly10mW in the active mode to less than a fraction of a mW in sleepmode. All models come in different packaging formats, includingQFN, LQFP, SSOP, and DIP. They can be as small as 12  12  1.5mm. Many MSP430 models have a 100kHz AD sampling rate,sufficient to meet the requirement for underwater acousticrecording, since ocean environmental noise is generally lowerthan 50kHz (Wenz, 1962). The unit cost for an MSP430 MCU isalso low, less than 10 USD a piece for most models. The MSP430 isthus very cost-effective compared with PC- or DSP-based solu-tions. However, a single MSP430 MCU does not have the capacityto execute all the tasks (multi-channel AD conversion, real-timeclock stamping, and data streaming) needed for a data acquisitionsystem running at a high sampling rate. We thus use multipleMSP430 MCUs to construct a master-slave architecture which isboth scalable and expandable.  2.1. Slave unit  A slave unit consists of a MSP430-F169 MCU and a SecureDigital (SD) memory card. Its schematic is shown in Fig. 1. Thesignal is digitized using the MSP430’s built-in 12-bit Analog-to-Digital converter and then streamed to an SD card (TexasInstruments Corporation, 2003). The SD card is a removableflash-based storage device (SanDisk Corporation, 2003). Itsspecifications were srcinally defined by Toshiba Corporation,SanDisk Corporation, and Matsushita Electric Company for variousconsumer electronics such as digital cameras, PDA, mobile phonesand portable music devices. It is compact, simple, large incapacity, low in power consumption and low cost, an idealsolution for our design (Hsiao, et al., 2006, 2007). MSP430’s ARTICLE IN PRESS C.-C. Wang et al. / Ocean Engineering 36 (2009) 446–455  447  Universal Synchronous/Asynchronous Receive/Transmit (USART)communicates with the SD card via Serial Peripheral Interface(SPI). SPI is a synchronous serial protocol for interfacingperipheral devices with microcontrollers in a simple manner.As shown in Fig. 2, only four pins are needed for transferringdata between the MCU and the SD card (Texas InstrumentsCorporation, 2006).Upon power up, the MSP430 reads the first 512 bytes (definedas a block) of the SD card to retrieve the memory usage prior tothe current power cycle. This information is used to allocate freememory space for storing the upcoming new recording event.In other words, during each power cycle, the system will initiatea new clip automatically. The MSP430 then switches to sleepmode to preserve electricity. It stays in this low power mode untilawakened by sampling/storing trigger commands coming fromthe master unit, described in the next subsection.To ensure the success of simultaneous A/D conversion and datastreaming, a double-buffer structure is adopted along with DirectMemory Access (DMA). DMA is a module component of MSP430microcontroller family. It can transfer data between MCU memoryand peripherals without CPU intervention. MSP430-F169 has 2kbytes of random access memory (RAM). One kilo bytes are used toconstruct two buffers, denoted as Buffer I and Buffer II, 512 byteseach. MSP430 digitizes the signal and stores the results intothe buffer sequentially. A subprogram monitors the growth of thebuffers. Once Buffer I is full, its contents will be dumped into theSD card using DMA while the digitization continues streamingresults into Buffer II. Tasks are thus rotated between Buffers Iand II. With this arrangement, the acoustic signal is sampledcontinuously in each slave device which serves as a basic digitalrecorder that works on simple tasks (sample/store) by itself.According to our test, the slave unit takes 0.02ms to stream thedata buffer into the SD card, meaning a single slave unit canhandle digitization and logging up to 50k samples per second.Each SD card is enabled by pulling down its ‘‘SELECT’’ pin toground. With proper multiplexing circuitry and data storagemanagement, multiple SD’s can thus easily be daisy chained toexpand the data storage capacity.  2.2. Master unit  A master unit consists of two MSP430-F169’s, denoted as M1and M2, and an Real-Time Clock (RTC) chip DS1302 (shown inFig. 3). The DS1302 operates on very low power consumption.With a single 3.3V coin battery cell, it can run for years withoutlosing time (Dallas Semiconductors Corporation, 2005). When thepower is turned on, M1 starts communicating with the RTC viathree I/Os to retrieve the current clock time. M1 sends the clock tothe slave units via general I/O ports. In total 26 I/O ports are used.For example, the month is represented by a number between 1and 12, requiring four ports. Similarly, it takes 5 ports for the day,5 ports for the hour, 6 ports for the minute and 6 ports for thesecond. The year is skipped because we ran short of I/O ports onthe MSP430-F169. However the year can be easily managed inthe user’s experiment logbook. For the next generation, we mayuse another MSP430 model which provides more I/O ports toaccommodate the year information in the time stamp. The RTCDS1302 is an inexpensive product, very popular in consumerelectronics. It is synchronized to GPS before deployment but it ARTICLE IN PRESS HydrophoneSamplingTrigger Time TagBlock Serial Number     D  a   t  a   B  u  s   f  r  o  m   M  a  s   t  e  r   U  n   i   t StoringTrigger  AD converterDigital DataBuffer SD Memory cardSlave UnitSPI MemoryUsage Table DataMSP430MCUPre-ampfier board(filters, gain) Fig. 1.  Functional block diagram of a single slave unit. SD CardVcc 123456789 50KMSP430SSMOSIMISOSCK − Fig. 2.  Wiring diagram for MSP430 USART and SD card. C.-C. Wang et al. / Ocean Engineering 36 (2009) 446–455 448  drifts several seconds per day. For this prototype, we only useits clock to have an approximate time of the recording. In thenext generation of development, we will use SeaScan Real TimeClock (SEASCAN INC.) which drifts less than 1 second per year.Nevertheless, with the master-slave configuration, all the recei-vers get the same sample-and-hold command from the master I/Oport. The difference in actual sampling time between channels isless than 125 nano-seconds, accurate enough for the beamform-ing of the array.M2 is in charge of the overall coordination and synchronizationof the slave units. It can operate in either standby mode, delay-time mode. For the former, it waits for the start command from anexternal trigger; for the latter, it wakes up to work at a pre-programmed time. For diver deployment, the system does notneed to be turned on until all the preparations have beencompleted, to conserve battery power. For anchor-drop free falldeployment, if we can estimate the time of descent, a pre-setdelayed time can be used to conserve battery power.Upon startup, M2 sends sampling commands sequentially toeach of the slave units one at a time along with a block serialnumber. This serial number, cycling between 0 and 255, willbe used to align the time line when the data from all slave unitsare merged together during post-processing. The details of thisprocess will be further elaborated in Section 3. For both modes,the duty cycle (sampling duration versus sleeping duration) canbe set to any value the user desires. In sum, M2 controls when aspecific slave unit samples and stores data.  2.3. Assembly In Fig. 4, we show a basic configuration of the system. Itconsists of one master unit and two slave units. The prototypeboards, not minimized for its circuit layout yet, are small already(15cm  9.5cm). A single slave unit is very compact, so two unitsarelaid outon one PCB board. The master unitboard and the dual-slave board are stacked together to reduce the space required forthe housing. The master unit communicates with the slave unitsvia a 40-pin ribbon cable. If more slave unit boards are added, allwe need to do is to put more inline connectors in the ribbon cable.More slave unit boards can be added to have either moresynchronized AD channels or to achieve higher sampling rate.The number of slave unit boards (channels in an array) is limitedby the fan-out current of the MSP430’s output port. According tothe specifications of MSP430-F169, each IO port is capable of driving six slave unit boards. If more channels are needed, we mayuse a buffer IC or a pull-up resister from V+ to increase the fan-out. The reconfiguration of the resources will be described in thenext section in greater detail.We use ITC 6050C hydrophones which have a built-in 20dBgain with an output sensitivity of    157dB//1V/ m Pa. Anotheramplifier board, designed by Applied Physics Lab, University of Washington, is added between the hydrophone and AD to act as a45kHz anti-aliasing filter. The original design of this boardprovides 20/40dB gain but we use only the signal after the anti-aliasing filter. 3. Software architecture A single slave unit is capable of digitizing and streaming datato the SD card at up to 50k samples per second. The main goal of  ARTICLE IN PRESS Time TagSamplingTrigger Block SerialNumber StoringTrigger MSP430MCU2DS1302Real-Time ClockMaster Unit    D  a   t  a   B  u  s   t  o   S   l  a  v  e   U  n   i   t MSP430MCU1Start Fig. 3.  Functional block diagram of the master unit. Fig. 4.  Prototype circuitboards: master(left,15cm  9.5cm) and slave units (right,15cm  9.5cm). C.-C. Wang et al. / Ocean Engineering 36 (2009) 446–455  449  this paper is to design a flexible architecture to overcome thislimitation with minimum hardware effort. By ‘‘flexible’’ we meanthe change of configuration is onlya matter of downloading a newprogram and changing the jumper settings.  3.1. Single-slave mode Fig. 5 illustrates how the subsystem works. The master unitsends out a sampling command regularly at the desired samplingrate. At the rising edge of the command, the slave unit digitizesthe signal and augments the results with a time tag and a serialnumber provided by the master unit and then stores it in thebuffer. The master unit keeps track of the sample counts it hasissued. When the sample count reaches 250, the master unittriggers the slave unit to stream the data in Buffer I to the SD card.While streaming data, the upcoming AD result will be redirectedto Buffer II until it is full and the master unit will trigger anotherdata transfer. Basically, the two buffers take turns saving theirdata to the SD card. With this configuration, a single slave unit iscapable of digitizing and streaming data into the SD card atsampling rates of up to 50kHz.  3.2. Multiple-slave mode When a sampling rate higher than 50kHz is required, eventhough the slave unit can execute the master unit’s samplingcommand promptly, data streaming becomes a bottleneck whichstalls the performance (the specification of the MSP430 ADsampling rate is as high as 200kHz, but that is under thecondition that no other tasks are executed except AD sampling).This bottleneck is a result of the limitation of the SPI throughputbandwidth and size of the buffer. We solve this problem byaddingadditional slave units to share the data streaming task. Twoconfigurations are proposed, alternating mode and interlacingmode.  3.2.1. Alternating mode In Fig. 6, a scenario in which a master unit (denoted as M)coordinates two slave units (denoted as S1 and S2) in alternatingmode is depicted. M starts bycommanding S1 tosample data first.250 samples are collected and stored in Buffer I of S1 before Mtriggers S2 to take over the sampling task. At this moment,S1 streams data to the SD card. Then the same task is shifted to ARTICLE IN PRESS TimeBuffer I250 triggersSamplingStoringBuffer II250 triggersSingle Slave Unit with Dual BuffersBuffer I250 triggersBuffer II250 triggers Stream Buffer I to SDStream Buffer II to SDStream Buffer I to SD Fig. 5.  Coordinating clock for sampling and storing commands. Two Slave Units with Dual Buffers (Alternating mode) TimeSamplingStoringBuffer I250 triggersBuffer II250 triggersS1 AD IdleBuffer I250 triggersS2 AD IdleBuffer II250 triggersSaving S2 Buffer I to SDTime available for saving S2 Buffer ISaving S1 Buffer I to SDTime available for saving S1 Buffer ISamplingStoring Slave 1Slave 2 S1 AD IdleSaving S1 Buffer II to SD Fig. 6.  Coordinating clock for sampling and storing commands for two slave units operating in alternating mode. C.-C. Wang et al. / Ocean Engineering 36 (2009) 446–455 450
Search
Similar documents
View more...
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks