Analog And Digital Interfacing - PowerPoint PPT Presentation

1 / 71
About This Presentation
Title:

Analog And Digital Interfacing

Description:

resistance, capacitance, current, voltage, and etc. ... Magnetometer. SFE MicroMag 3-Axis. Interface : SPI. Applications: detecting vehicles ... – PowerPoint PPT presentation

Number of Views:287
Avg rating:3.0/5.0
Slides: 72
Provided by: SYL73
Category:

less

Transcript and Presenter's Notes

Title: Analog And Digital Interfacing


1
Analog And Digital Interfacing
2
Big Picture
Physical world
Other Systems or ICs
Digital Communication
Analog Interfacing
MSP430
3
Sensors
  • A device that converts a physical phenomenon into
    an electrical signal
  • Physical phenomenon
  • light, temperature, humidity, pressure, and etc.
  • Electrical signal
  • resistance, capacitance, current, voltage, and
    etc.
  • Maps a physical phenomenon change to a electrical
    signal change

4
Signal Path
Produce a proper output voltage level
Signal Conditioning (if necessary)
Sensors
  • Amplification
  • Filtering

Analog to Digital Conversion (ADC)
  • Light
  • Temperature
  • Acceleration
  • Humidity
  • Pressure
  • etc.
  • Resistance
  • Capacitance
  • Current
  • Voltage
  • etc.

10011101
Convert to voltage
Converts voltage to digital number
5
Sensors We Have
  • Raw sensors
  • Produce raw electrical signal
  • Signal conditioned sensors
  • Have some signal conditioning circuit
  • Produce analog output
  • Mostly Voltage
  • Sometime Current

6
Sensors We Have
  • Digitalized sensors
  • Have some signal conditioning circuit
  • Convert analog to digital internally
  • Provide digital output

7
Our Focus
Produce a proper output voltage level
Sensors
Signal Conditioning (if necessary)
Sensors
  • Amplification
  • Filtering
  • Light
  • Temperature
  • Acceleration
  • Humidity
  • Pressure
  • etc.

Analog to Digital Conversion
  • Resistance
  • Capacitance
  • Current
  • Voltage
  • etc.

10011101
Convert to voltage
Converts voltage to digital number
  • We are not going to talk about signal
    conditioning
  • You can find many sensors that are signal
    conditioned and provide a proper analog output,
    or even digitalized
  • We will focus on how to understand these signal
    conditioned sensors and get the output we want

8
Some Raw Sensors
  • Temperature Sensors
  • Thermistors
  • Temperature-sensitive resistor
  • RTDs (resistive temperature devices)
  • Temperature-sensitive resistor
  • Thermocouples
  • Temperature gt voltage (mV)
  • Pressure sensors
  • Piezoresistive
  • Resistance change with applied pressure

9
Photodiodes
  • Light gt current
  • Generate current proportional to light density

10
Photodiodes
  • Two on Taroko
  • S1087 for visible range
  • S1087-01 for visible to IR(infrared) range

11
Signal Conditioned Analog Output
  • Proximity sensor
  • Sharp GP2D120XJ00F
  • Analog voltage output
  • Accelerometer
  • ADXL330 3-axis accelerometer
  • Analog voltage output
  • Industry standard analog output
  • Flow sensors, pressure sensors, gas sensors, etc.
  • 420 mA, 05 V, 010 V

12
Proximity Sensor
  • Sharp GP2D120XJ00F
  • Output voltage proportional to the reflection
    distance
  • Measure range 30 cm

13
Accelerometer
  • Analog Device Inc. ADXL330
  • Output voltage proportional to the acceleration
  • Measurement range /- 3.6 g

14
Industry standard analog outputs
  • Many industrial instruments provide analog
    outputs
  • 420 mA current loop
  • Most commonly used
  • The instrument produce a current, range from 4 mA
    to 20 mA
  • Physical measured quantity linearly maps to this
    current range
  • Others
  • 0 5 V
  • 0 10 V

15
420 mA current loop
  • Examples
  • Measure temperature 0 100 oC
  • Measure flow speed 0 50 m3/h

Measurements 0 oC 50 oC 100 oC
Current Output 4 mA 12 mA 20 mA
Usually this range is user configurable
Measurements 0 m3/h 25 m3/h 50 m3/h
Current Output 4 mA 12 mA 20 mA
16
How to Convert to Voltage
  • Add a resistor

17
Others Analog Output Sensors
  • Ultrasound sensors
  • http//www.baumerelectric.com/en/shop/catalog/Ultr
    aschall_Sensoren/page3.html?filterallsortFamili
    edirascending
  • Gyroscopes
  • http//www.analog.com/en/subCat/0,2879,764255F801
    255F0255F255F0255F,00.html

18
Digitalized Sensors
  • Ultrasound sensors
  • SRF10
  • Interface I2C
  • Temperature and Humidity Sensor
  • SHT11
  • Interface manufacturer defined

19
Digitalized Sensors
  • Magnetometer
  • SFE MicroMag 3-Axis
  • Interface SPI
  • Applications detecting vehicles
  • Digital compass
  • Hitachi HM55B
  • Interface UART

20
Digitalized Sensors
  • GPS
  • Garmin GPS18
  • Interface UART
  • Image sensor
  • ST VS6451
  • Interface I2C

21
Understand The Analog Sensors
  • Most important goal
  • Obtain the relationship between voltage and the
    physical phenomenon quantity you want to measure
  • Transfer function
  • Understand the characteristics and limitation of
    the sensors

22
Sensor Characteristics Definitions
  • Transfer Function
  • Relationship between physical quantity and output
    voltage
  • Sensitivity
  • Ratio of change between physical quantity and
    output voltage
  • Accuracy
  • Largest expected error
  • Linearity
  • How linear the transfer function is
  • Noise
  • In real world, signal are usually coupled with
    noise
  • Resolution
  • minimum detectable signal fluctuation
  • Bandwidth
  • response times to an instantaneous change in
    physical signal

23
Transfer Function
Ratiometric? Output voltage is a ratio of supply
voltage
  • ADXL330 accelerometer

From ADXL330 datasheet
It means when supply voltage Vs is 3 V, if the
acceleration increase by 1 g, the output voltage
will increase 330 mV (typical)
It means when supply voltage Vs is 3 V, if the
acceleration is 0 g, the output voltage will be
1.5 V (typical)
Transfer function Voltage (V) 1.5 (0.3
acceleration (g) )
24
Transfer Function
  • Proximity sensor Sharp GP2D120XJ00F

Transfer function Voltage (V) f(Distance (cm))
  • Not a linear function
  • Check datasheet
  • if the manufacturer has provided
  • Table mapping
  • Approximations
  • By a few straight lines
  • Curve fitting

25
Transfer Function
  • Photodiode S1087, S1087-01

Transfer function Voltage (V) f(light
level(lx)) Calculate by yourself
From Taroko Schematic
Step 2 find the relationship between current and
the voltage at ADC4 (V IR)
Step 1 find the relationship between light level
and current
26
Sensitivity
  • ADXL330 accelerometer
  • Sharp GP2D120XJ00F
  • Not a constanst
  • Photodiode S1087, S1087-01
  • (Current)/(light level)

27
Linearity
Sharp GP2D120XJ00F
Photodiode S1087, S1087-01
BAD
GOOD
GOOD
ADXL330 accelerometer
28
Bandwidth
  • How fast the next valid output ready

When power up, you have to wait for 52.9ms to get
a first valid output. You have to wait another
47.9ms to get the second one.
Proximity sensor Sharp GP2D120XJ00F
For the module we will use, the filter capacitor
is 0.1 uF. It means the accelerometer module can
have at most 50 different read-outs in one second
ADXL330 accelerometer
29
Analog to Digital Conversion
30
Analog to Digital Converter (ADC)
  • ADC takes two inputs
  • Voltage reference
  • Range of voltage that it can measure
  • It has a limited range
  • Sensor signal
  • Resolution
  • How many bits the ADC can output
  • Sample Rate
  • How many sample it can takes in one second
  • For MSP430F1611, it is about 200 ksps

Thats why we need signal conditioning to produce
a proper voltage output
31
Voltage reference
  • Input voltage compares to the voltage reference
  • Ratio of (input voltage)/(voltage reference)
    determines the output number
  • Two voltage references
  • Positive voltage reference (Vref)
  • Negative voltage reference (Vref-)
  • In this figure, Vref 1.6V Vref- 0 V
  • 0,0.1) V -gt 0000
  • 0.8,0.9) V -gt 1000
  • 1.5,1.6) V -gt 1111
  • If we change the Vref 3.2V Vref- remains 0
    V, then
  • 0,0.2) V -gt 0000
  • 1.6,1.8) V -gt 1000
  • 3.0,3.2) V -gt 1111

32
About Voltage Reference
  • Voltage reference can by internal or external
  • Many ADCs have internal voltage reference
    integrated
  • Unstable Voltage reference will affect the
    accuracy of the ADC
  • Minimum, Maximum
  • If input voltage gt Vref, always output 1111
  • If input voltage lt Vref-, always output 0000
  • Voltage Reference cannot exceed power supply
    voltage

33
Resolution
  • You heard 10-bit ADC, 12-bit ADC, 16-bit ADC
  • What are they?
  • Number of bits the ADC can output
  • This is a 4-bit ADC
  • 0,0.1) V -gt 0000
  • 0.1,0.2) V -gt 0001
  • 0.2,0.3) V -gt 0010
  • 1.5,1.6) V -gt 1111
  • If it is a 6-bit ADC
  • 0,0.025) V -gt 000000
  • 0.025,0.05) V -gt 000001
  • 0.05,0.075) V -gt 000010
  • 1.575,1.6) V -gt 111111

34
Detectable Voltage Change
  • Voltage reference Resolution
  • Define the detectable voltage change
  • Detectable voltage change ((Vref)
    (Vref-))/(2resolution)
  • Examples
  • Vref 1.6V, Resolution 4-bit
  • Vref 3.2V, Resolution 4-bit
  • Vref 1.6V, Resolution 6-bit

1.6/(24) 0.1 V
3.2/(24) 0.2 V
1.6/(26) 0.025 V
35
Sample And Hold
  • There is a sample-and-hold circuit before A/D
    conversion
  • Mostly integrated in the ADC chip
  • When no conversion, switch S1 is open
  • When a conversion start
  • S1 closed
  • Input signal charge C1
  • S1 open, C1 holds the value of input signal
  • A/D conversion
  • Sample-and-hold time
  • Time between S1 close and re-open
  • If it is too short
  • C1 will not fully charged (error)

36
ADC Clock
  • ADC needs a clock
  • For sample-and-hold and the A/D conversion

37
ADC on Taroko
  • 12-bit on-chip ADC in MSP430
  • Voltage reference
  • Internal Vref 1.5V, 2.5V
  • No external Vref on Taroko
  • User configurable combination for Vref and Vref-
  • Sample rate
  • Approximate 200 ksps
  • User configurable sample-and-hold time
  • User configurable clock sources

38
An Example ADXL330
  • ADXL330 3-axis accelerometer
  • Transfer function V 1.5 (0.3 g)

39
An Example ADXL330
  • Taroko ADC setting
  • Resolution 12-bit
  • Voltage reference
  • Vref 2.5 V
  • Vref- 0 V
  • Conversion formula
  • NADC is the output number
  • For our setting

40
An Example ADXL330
  • Transfer function V 1.5 (0.3 g)
  • Conversion formula
  • When the acceleration is 0 g
  • V 1.5
  • NADC 2457
  • When the acceleration is 1.5 g
  • V 1.95
  • NADC 3194
  • When NADC 1784, what is the acceleration?
  • When NADC 2635, what is the acceleration?

41
Real World Design
  • In practical design, there are always errors
  • Noises
  • Power supply noise
  • Digital circuit noise
  • RF noise
  • Devices noise
  • Devices Tolerances
  • 5 resistor, 1 resistor
  • 10 capacitor
  • etc.
  • Temperature drift
  • Devices characteristics change when temperature
    change
  • Two very simple methods to deal with two very
    common errors

42
First Type of Errors
  • Noise
  • Dynamic
  • ADXL330 at 0 g (1.5V)
  • Sample at S1 -gt ok
  • Sample at S2 -gt it is 0.333 g
  • Sample at S3 -gt it is -0.333 g
  • Solution
  • Average
  • (S1 S2 S3)/3 (1.51.61.4)/3 1.5

1.6V
1.5V
1.4V
S1
S2
S3
43
How Many Samples
  • How many samples needed to average
  • Depends on your requirement
  • Suggestion factor of 2 (2N)
  • Take 10 samples and average
  • Take 16 samples and average

Division gt slow
Total Si //(i1,,10) Result Total/10
Bit shift gt fast
Total Si //(i1,,16) Result (Totalgtgt4)
44
Cautions!
  • Is the Total large enough to hold the summation
  • Max possible Total 409616 65536
  • Total should be at least 16-bit unsigned int
  • IMPORTANT!!
  • int in IAR for MSP430 is 16-bit long

Total Si //(i1,,16) Result (Totalgtgt4)
45
Second Type of Errors
  • Offset
  • Static
  • For example ADXL330
  • For A accelerometer, 0 g output maybe 1.5V
  • For B accelerometer, 0 g output maybe 1.54V

30 of ADXL330, 0 g output is 1.53V
4 of ADXL330, 0 g output is 1.5V
From ADXL330 datasheet
46
Calibration
  • Maintain a calibration constant, adjust the
    offset error
  • ADXL330 with calibration
  • Transfer function V (1.5 Ccal) (0.3 g)
  • Ccal is calibration constant
  • For A accelerometer, 0 g output is 1.5V
  • Ccal 0
  • If NADC 2879, acceleration should be 0.859 g
  • For B accelerometer, 0 g output is 1.54V
  • Ccal 0.04
  • If NADC 2879, acceleration should be ?? G

47
Calibration Reference
  • Calibration needs a reference
  • Precision of the reference decide the precision
    of the calibration
  • How do you calibrate the accelerometer ADXL330??
  • How do you calibrate a temperature sensor?

To calibrate, you want to know the voltage output
at 0 g. But how to make 0 g?
You must produce a precise 0 g (or 1 g)
acceleration
Acceleration gt voltage
To calibrate, you want to know the voltage output
at certain temperature (25 oC).
You must produce a precise temperature
Temperature gt voltage
48
Digital Communications
  • Sending bits between each other
  • Serial communication
  • Sending bits one by one
  • UART, SPI, I2C, USB, etc.
  • Parallel communication
  • Sending multiple bits at one time
  • Ethernet

10011101
A
B
Our focus
1 0 0 1 1 1 0 1
A
B
A
B
1
0
0
1
1
1
0
1
49
Agreements
For digital, wired communication
  • In order to communicate, two parties must at
    least agree on
  • Logic level
  • MSP430
  • RS232 (COM port)
  • Output data
  • Start, stop
  • Output data valid time (clock)

0V -gt logic low (0) 3.3V -gt logic high (1)
-12V -gt logic high (0) 12V -gt logic low (1)
What number it represent?
Read
2x Read
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
A
B
50
Protocols
  • Chips to Chips
  • SPI Serial Peripheral Interface
  • I2C Inter Integrated Circuit
  • Manufacturer defined
  • UART Universal Asynchronous Receiver Transmitter
  • Systems to systems (usually)
  • Define logic level
  • RS-232 old traditional
  • RS-485 popular in industrial control system
  • Define output data
  • UART Universal Asynchronous Receiver Transmitter
  • Define both
  • USB

A
B
UART
UART
RS232 or RS485
RS232 or RS485
51
SPI
  • MasterSlave mode
  • Synchronous protocol
  • All transmissions are referenced to a common
    clock
  • Clock generated by the master (MCU)
  • Four main signals
  • Master Out Slave In (MOSI) data from master to
    slave
  • Master In Slave Out (MISO) data from slave to
    master
  • Serial CLocK (SCLK or SCK) clock
  • Chip Select (CS) select particular peripheral
    when multiple peripherals are connected to master

52
SPI Transmission
  • Read data at clock edge
  • Data Register Exchange
  • Master transfer a byte to slave, push slave to
    transfer a byte back to master
  • Master Read and Write
  • Simultaneously
  • Master write only
  • Ignore the byte it receive
  • Master read only
  • Master must transfer a dummy byte in order to
    initiate a slave transmission

MOSI
MISO
CLK
CLK
1
0
CS
CS
1
1
1
0
0
0
1
0
0
1
1
0
0
1
Slave read
Master read
53
I2C
Pull-up resistor
  • Two wires, multiple devices
  • SDA (serial data)
  • SCL (serial clock)
  • I2C transmission
  • START SDA is pulled low while SCL stays high
  • Transfer
  • SDA sets the transferred bit while SCL is low
    (blue)
  • data is read when SCL rises (green)
  • STOP SDA is pulled high while SCL stays high

54
I2C
  • Acknowledge (ACK) and Not Acknowledge (NACK)
  • Upon the transmission of the eighth data bit
  • Transmitter releases the SDA
  • Master then generates an additional clock pulse
    on SCL
  • Triggers the receiver to acknowledge the byte by
    pulling SDA low

55
I2C
7-bit address
  • Addressing
  • 7-bit address
  • Direction bit
  • If 0 master write to slave
  • If 1 master read from slave
  • 10-bit address
  • Clock stretching
  • A slave may hold the clock line (SCL) low after
    receiving (or sending) a bit, indicating that it
    is not yet ready to process more data

10-bit address
56
Comparison
SPI I2C
Four wires Two wires
Full duplex Half duplex
Higher throughput (then I2C) Lower throughput
Synchronous protocol Synchronous protocol
No slave acknowledgment Acknowledgment
Simple Complicated
57
Manufacturer Defined Protocols
  • The ideals are similar
  • Feed a clock
  • Start, stop
  • Read/write the data
  • Read datasheet
  • Many times
  • Get use to those timing diagrams
  • We will use the temperature/humidity sensor SHT11
    on Taroko as an example

58
Implementations
  • How to implement these protocols?
  • Hardware
  • There are SPI, I2C peripherals on MSP430F1611
  • You need to properly configure (setting
    registers) the modules
  • Software
  • Use GPIO
  • Generate clock
  • Read data set the pin to input
  • Write data set the pin to output
  • Things to consider
  • Timing some devices cannot operate too fast
  • Check devices datasheet

// use P1.0 as clock pin P1SEL (0x01) //
GPIO P1DIR 0x01 // output // clock P1OUT
0x01 // high P1OUT (0x01) // low
// add some delay between clock P1OUT
0x01 // high (delay some time) P1OUT
(0x01) // low
59
In General
  • You want to interface some digital ICs to MSP430
  • CC2420 radio chip (SPI)
  • 8 Mbit flash memory (SPI)
  • SHT11 sensor (manufacturer defined, similar to
    I2C)
  • Typical process
  • How to interface?
  • Connections two wires, three wires, four wires,
    etc.
  • How to communicate?
  • Available commands
  • Timing diagram start, transfer, (ack), stop
  • How to configure the IC
  • Setting the registers on the IC
  • Start reading/writing data from/to the IC

60
An Example SHT11
  • The temperature/humidity sensor on Taroko
  • How to Interface
  • two wires bi-direction
  1. Use a GPIO pin as clock (SCK), it is always
    output direction
  2. Use another GPIO as DATA, dynamic setting it to
    input(read) or output(write) direction

SHT11 datasheet
61
An Example SHT11
  • How to start
  • What are the commands available

62
An Example SHT11
Pull-up
Data pin in output direction
Set data pin to input direction, then SHT11
controls the DATA line
  • Timing diagram

63
An Example SHT11
  • Configure device

If you dont understand what is the meaning,
check datasheet
64
Timing
  • Check the timing requirement carefully
  • The device wont work at all if you exceed the
    limit

65
UART
  • UART Universal Asynchronous Receiver Transmitter
  • Two wires Rx, Tx
  • Full duplex
  • Asynchronous
  • No common clock required
  • Without common clock
  • How do they communicate??

A Rx Tx
B Tx Rx
66
Universal data rates
  • Two devices agree on same data rate
  • Baudrate 1200, 2400, 4800, 9600, , (bits per
    second)

A (1 MHz system clock)
B (8 MHz system clock)
9600
9600
Baudrate generator
Baudrate generator
UART
UART
Baudrate 9600 bps
Length of a bit 1/9600 (seconds)
67
UART Data
This bit became parity bit when parity checking
is enabled
  • Send one byte at a time
  • Data
  • One start bit
  • Pull-down the line
  • 7 or 8 bits data
  • One or two stop bit
  • Pull-up the line for one or two slots
  • Simple error checking parity (optional)
  • Even parity If the data has odd number of 1,
    parity bit 1 (make it even) else parity bit
    0
  • Odd parity If the data has even number of 1,
    parity bit 1 (make it odd) else parity bit 0
  • Four parameters for UART communication
  • Baudrate, data-bit, parity, stop-bit
  • We wrote 9600 8N1,
  • Means baudrate9600, 8-bit data, no parity, 1
    stop bit

68
RS232
  • Since the 1960s
  • Cable lengths of up to 25 meters
  • Signal level
  • logic high -gt -5 to -15V (typically -12V)
  • logic low -gt 15 and 1V (typically 12V)
  • Interface

Signal Function 25-pin 9-pin Direction
Tx Transmitted data 2 3 From DTE to DCE
Rx Received data 3 2 To DTE from DCE
RTS Request to send 4 7 From DTE to DCE
CTS Clear to send 5 8 To DTE from DCE
DTR Data terminal ready 20 4 From DTE to DCE
DSR Data set ready 6 6 To DTE from DCE
DCD Data carrier detect 8 1 To DTE from DCE
RI Ring indicator 22 9 To DTE from DCE
FG Frame ground (chassis) 1 - Common
SG Signal ground 7 5 Common
69
RS485
  • Two-wire, half-duplex
  • Multipoint serial connection
  • Signal level
  • Difference between the wires voltages
  • A B gt 0.2V gt logic high (0)
  • A B lt -0.2V gt logic low (1)
  • Why it is popular in industrial applications
  • Only two wire
  • 35 Mbit/s up to 10 m and 100 kbit/s at 1200 m

70
USB Serial IC
  • Thats what we have on Taroko
  • FT232BL (www.ftdichip.com)
  • To communicate with PC
  • It simulate a serial communication on PC through
    USB interface
  • Virtual com port

71
Applications
All you need to do is properly configure UART for
both sides (baudrate, data-bit, parity,
stop-bit), and start sending/receiving data
RS232 IC
PC or other systems
COM PORT
MSP430
USB
UART
USB serial IC (FT232)
Other systems
RS485 IC
RS485 IC
Write a Comment
User Comments (0)
About PowerShow.com