52
Low Cost DAQ

Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Embed Size (px)

Citation preview

Page 1: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Low Cost DAQ

Page 2: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

What is DAQ

Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature, pressure, or sound with a computer. A DAQ system consists of sensors, DAQ measurement hardware, and a computer with programmable software. Compared to traditional measurement systems, PC-based DAQ systems exploit the processing power, productivity, display, and connectivity capabilities of industry-standard computers providing a more powerful, flexible, and cost-effective measurement solution.

Page 3: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

DAQ’s Block Diagram

Page 4: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

DAQ Device’s Components

Signal Conditioning

Signals from sensors or the outside world can be noisy or too dangerous to measure directly. Signal conditioning circuitry manipulates a signal into a form that is suitable for input into an ADC. This circuitry can include amplification, attenuation, filtering, and isolation. Some DAQ devices include built-in signal conditioning designed for measuring specific types of sensors.

Page 5: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

DAQ Device’s Components

Analog-to-Digital Converter (ADC)

Analog signals from sensors must be converted into digital before they are manipulated by digital equipment such as a computer. An ADC is a chip that provides a digital representation of an analog signal at an instant in time. In practice, analog signals continuously vary over time and an ADC takes periodic “samples” of the signal at a predefined rate. These samples are transferred to a computer over a computer bus where the original signal is reconstructed from the samples in software.

Page 6: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Computer Bus

DAQ devices connect to a computer through a slot or port. The computer bus serves as the communication interface between the DAQ device and computer for passing instructions and measured data. DAQ devices are offered on the most common computer buses including USB, PCI, PCI Express, and Ethernet. More recently, DAQ devices have become available for 802.11 Wi-Fi for wireless communication. There are many types of buses, and each offers different advantages for different types of applications.

DAQ Device’s Components

Page 7: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Market Background

• Nowadays, there is several low cost DAQ applications, with an average 200$ price tag.

• Typical dimensions varies from a size of a cigarettes pack.

• Typical power consumption of such devices varies between : ~ 0.1W - 0.5W

Page 8: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,
Page 9: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Project Motivation

• Ultra low cost MSP430™ series Microcontroller – starting from 2$

• Ultra low power consumption ~20uW• Integrated USB2 controller with PHY• Small dimension – can be applied on an USB

dongle

Page 10: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Principle of operation

• To implement the DAQ device, we will use an MSP430F5529’s GPIOs for collecting analog DATA and to generate a desired output. Integrated ADC will convert the signals. As a DAQ’s manipulator and a data analyzer, we will use a PC powered with NI LabView. Thanks to the integrated USB2 controller, we will be able to achieve a 12Mb/s data link.

Page 11: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Introducing the MSP as the heart of the DAQ

• 16-Bit RISC Architecture, 8+2KB SRAM, up to 25-MHz System Clock

• An ADC with a 12 bit A/D conversion for collecting the analog data

• Up to 43 GPIO’s for custom use• 4 16-bit timers for setting an analog sample rate, and

generating PWM signal.• Full speed USB with integrated PHY

Page 12: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Introducing the MSP as the heart of the DAQ

Page 13: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Things to do

• Check what an USB class device is the best for our application

• Implement an USB client side communication using a TI MSP430 USB API

• Implement the DAQ’s functions and operation modes

Page 14: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Things to do

• Implement a Windows driver for communicating with a MSP430F5529

• Using LabView, implement a GUI for data acquisition

Page 15: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: Tools

MSP430F5529 USB Experimenter’s Board

Page 16: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: Tools

MSP430F5529 USB EB Features

• USB Based Development Platform • 5-pad capacitive touch strip• microSD Card Slot• 102x64 grayscale, dot-matrix LCD with

backlight

Page 17: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: Tools

MSP430F5529 USB EB Features

• 4 push buttons• 3 GP LEDs, 5 LEDs for capacitive touch buttons,

and 1 LED Power indicator. • Scroll wheel/Potentiometer • Integrated eZ-FET for Spy-Bi-Wire (2-wire

JTAG) programming and debugging

Page 18: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: Tools

MSP430F5529 USB EB Features

• JTAG header for full 4-wire JTAG programming and debugging

• Easy access to F5529 I/O pins by 100mil header

Page 19: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: Tools

TI Code Composer Studio Integrated Development Environment v5

• CCS is used for MSP430 target code development and designing. It features integrated ez-FET driver for MSP430F5529 EB flasher/debbuger, MSP430 family API, various debugger tools, and C compiler for MSP430 MCUs.

Page 20: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: Tools

MSP430 USB API Stack for CDC/PHDC/HID/MSC

This API is used for implementing a client side USB communication with a Host. For our application, we have chose the CDC USB class. Classes description, and the choice reason will be explained later

Page 21: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: Tools

National Instruments LabView

LabVIEW (short for Laboratory Virtual Instrumentation Engineering Workbench) is a system design platform and development environment for a visual programming language from National Instruments.

Page 22: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: Tools

National Instruments LabView

This design platform was chosen for implementing the PC host side client application. The main reason of this choice is ease and relatively short development time of the host application

Page 23: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: Digital I/O

The digital I/O features include:

• Independently programmable individual I/Os

• Any combination of input or output

• Individually configurable P1 and P2 interrupts.

• Independent input and output data registers

• Individually configurable pullup or pulldown resistors

Page 24: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

• MSP459F5529 have eight digital I/O ports implemented (P1 to P8, PU and PJ).

• P1 to P7 ports contain eight I/O lines; however, P8, Port U and Port J contains three, three and four lines respectively.

• Ports P1 and P2 always have interrupt capability. Each interrupt for the P1 and P2 I/O lines can be individually enabled and configured to provide an interrupt on a rising or falling edge of an input signal.

• Most pins connect to a more specialized peripheral, but if that peripheral is not needed, the pin may be used for general-purpose I/O.

Development process: Digital I/O

Page 25: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

• We are going to use the following ports:• P1 or/and P2 - Timers and External interrupts.• P6, P7.0-P7.3 – 12 bit ADC inputs.• P5.0 and P5.1 - ADC reference voltage inputs.• PU – Communication with PC via USB

protocol.• P5.2-P5.5 – Inputs for 2 crystal oscillators.

Development process: Digital I/O

Page 26: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: Digital I/O For example Port 6 that can be used as GPIO and as

Analog signal inputs for ADC:

Page 27: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: USB

Universal Serial Bus (USB) is an industry standard developed in the mid-1990s that defines the cables, connectors and communications protocols used in a bus for connection, communication and power supply between computers and electronic devices. This communication protocol is widely used nowadays for communicating between a host PC and various detachable peripherals

Page 28: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: USB

MSP430F5529 Block diagram

Page 29: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: USB

MSP430 USB API stack supported USB classes1. HID2. MSC3. CDC4. PHDC

Page 30: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: USB

HID• Human interface device class• Pros: there is no need for a driver for a Host

machine. Great advantage for limited access workstations

• Contras: 64KB/s

Page 31: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: USB

MSC• Mass storage Device Class• Designed for storage operations• Supports only bulk transfer

Page 32: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: USB

PHDC• Personal Healthcare Device Class• Certified for use with several Personal

Healthcare devices such as blood pleasure monitor, thermometer, weight scale and etc.

• Pros: Easy development• Contras: For PH devices only, consumes large

amount of RAM

Page 33: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: USB

CDC• Communication device class• For use with various communication devices. Simple

protocol• Pros: Widely used virtual com class. High

communication speed. Simple host application development

• Contras: At the first use on the host workstation, an appropriate driver installation is needed. Disadvantage for a limited access workstations

Page 34: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: USB

DAQ’s USB Class• For implementing an USB communication with

a host PC, was decided to use the CDC protocol due to it’s high data rate speed (up to 6.3Mbp/s) and simple communication protocol that fits our needs

Page 35: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: USB

DAQ’s USB Class• Relying on the USB API stack, we developed a

target code that gives the ability to the MSP430F5529 to communicate with a host PC through virtual COM port.

Page 36: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: USB

DAQ’s USB Class• USB communication target code is initializing

MSP430 device as CDC class device with a temporary (development) VID/DID. USB interrupt register launches several routines to handle USB events such as initial connection handshake, data transmit ready, data receive ready, device disconnected, host busy and etc…

Page 37: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: USB

MSP430 USB communication code• USB communication target code is initializing

MSP430 device as CDC class device with a temporary (development) VID/DID. USB interrupt register launches several routines to handle USB events such as initial connection handshake, data transmit ready, data receive ready, device disconnected, host busy and etc…

Page 38: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: USB

USB Input handling• USB target code designed to continuously

receive all incoming data and to store it in the buffer. After receiving the CR (Enter) character, a C case routine handle the received data to perform the user desired request and the buffer is cleared.

Page 39: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: USB

USB output• After the desired DAQ’s operation performed,

MCU will prepare the collected data and transmit it back to the PC. Yet not designed a transmitted data package. It is up to the host’s application to handle and to decode the package

Page 40: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: ADC

• An analog-to-digital converter (abbreviated ADC) is a device that converts a continuous signal to a discrete time digital representation.

• Typically, an ADC is an electronic device that converts an input analog voltage or current to a digital number proportional to the magnitude of the voltage or current.

Page 41: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: ADC

MSP430F5529 ADC Block diagram

Page 42: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: ADC

• The ADC module supports 12-bit analog-to-digital conversions. The module implements a 12-bit SAR core, and a 16-word conversion-and-control buffer. The conversion-and-control buffer allows up to 16 independent analog-to-digital converter samples to be converted and stored without any CPU intervention.

Page 43: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: ADC

Main features1. Greater than 200-ksps maximum conversion rate2. Sample-and-hold with programmable sampling periods

controlled by software or timers.3. Conversion initiation by software or timers.4. Software-selectable on-chip reference voltage

generation (1.5 V, 2.0 V, or 2.5 V)5. Software-selectable internal or external reference6. Up to 12 individually configurable external input

channels

Page 44: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: ADC

Main features7. Conversion channels for internal temperature sensor,

AVCC, and external references8. Independent channel-selectable reference sources for

both positive and negative references9. Selectable conversion clock source10. Single-channel, repeat-single-channel, sequence

(autoscan), and repeat-sequence conversion modes11. Interrupt vector register for fast decoding of 18 ADC

interrupts12. 16 conversion-result storage registers

Page 45: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: ADC

Used ADC registers1. ADC12CTL0: For setting a sampling time and turning the

ADC module on2. ADC12CTL1: For choosing an internal sampling timer,

setting continuous/single sampling mode and choosing a conversion memory register

3. ADC12MCTLx: Assigning a memory register conversion input channel

4. ADC12IE: Enabling interrupts corresponding “memory loaded” flag

5. ADC12IV: Interrupt vector events

Page 46: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: ADC

ADC decoding formula

• Vin – Analog input

• Vr+ - Positive reference voltage

• Vr- - Negative reference voltage

4095* in RADC

R R

V VN

V V

Page 47: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: Timers

MSP430F5529 features 4 16bit Timers• Timer A0 with 5 Capture/Compare registers• Timer A1 with 3 Capture/Compare registers• Timer A2 with 3 Capture/Compare registers• Timer B0 with 7 Capture/Compare registers

Page 48: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: Timers

16-bit timer/counter with up to seven capture/compare registers. Timer can support multiple capture/compares, PWM outputs, and interval timing. Timer also has extensive interrupt capabilities. Interrupts may be generated from the counter on overflow conditions and from each of the capture/compare registers.

Page 49: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: Timer

Page 50: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Development process: Timer

We intend to use the timer for a sampling interval, as well as PWM generator. Timers code development hasn’t started yet.

Page 51: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

Gantt

task name duration 26/3 2/4 9/4 16/4 23/4 30/4 7/5 14/5 21/5 28/5 4/6 11/6 18/6 25/6

EXAMS

30/7 6/8 13/8 20/8

Reading materials  1 week  X                                  

Reading materials  1 week   X                                 

Experimenting with MSP430F5529  1 week      X                              

Characterization  1 week        X                            

C code writing: 10 weeks          X X   X X X X X X X X        

USB Interface 3 weeks          X X X        

ADC modes library 4 weeks          X X X X        

DAQ’s modes – MSP side 2 weeks X X

Host PC LabView GUI development 4 weeks X X X X

Fine tuning 1 week                 X       

Mid presentation 1 weeks 

                       X            

Verification and Debugging  3 weeks 

                             X  X    

Final report 7 weeks                              X  X X   X

Final presentation 1 weeks

                                   X

Page 52: Low Cost DAQ. What is DAQ Data AcQuisition (DAQ) is the process of measuring an electrical or physical signals such as voltage, current, temperature,

References

• Data Aacquisition- http://en.wikipedia.org/wiki/Data_acquisition• NI Low-Cost DAQ USB 6008 -

http://sine.ni.com/nips/cds/view/p/lang/en/nid/201986• TI datasheets:• http://www.ti.com/tool/msp-exp430f5529• http://www.ti.com/product/msp430f5529• http://

focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=analog&familyId=2020&uiTemplateId=NODE_STRY_PGE_T

• http://www.usb.org/home• http://www.ti.com/tool/msp430usbdevpack• http://www.ni.com/labview/• http://www.ni.com/data-acquisition/• http://www.ni.com/data-acquisition/usb/