len

Transcription

len
Energooszczędne
układy radiowe
Contrans TI
Mariusz Kaczor
Sylwester Nowocień
Piotr Tadrzak
Texas Instruments – kilka słów o firmie
Mariusz Kaczor
Sylwester Nowocień
Piotr Tadrzak
Mikrokontrolery i procesory
Applications Processors & DSP
Microcontrollers
32-bit
ARM
32-bit
Real-time
MSP430
ARM
C2000
Ultra-low
Power
Industry Std
Low Power
Fixed &
Floating Point
Up to 25 MHz
<100 MHz
Up to 150 MHz
16-bit
Flash
1KB to 256KB
Flash
64KB to 1 MB
Applications
Processors
DSP/ARM
Video SoC
USB, ENET,
ADC, PWM, SPI
PWM, ADC,
CAN, SPI, I2C
Measurement,
Sensing, General
Purpose
Host
Control
Motor control,
digital power,
lighting
$0.49 to $9
$2 to $8
$1.50 to $20
High-Perf
Single/MultiCore DSP
C6000,
OMAP3, DM3x,
DM64x,
C5000, C6000, OMAP-L1,
C64x+
A8, ARM9
C64x+, ARM9 ARM9, C64x+, C67x, C55x
Low Power,
Leadership DSP
Video optimized
Power efficient perf
High perf, GPP,
Performance
accel. & periph
and value
Open Source S/W
2.01 DMIPS/MHz
4800 MMACs/
1.07 DMIPS/MHz
2400 MMACS
MMU
MMU, Cache
Up to 256 KB
RAM
USB, LCD,
MMC, EMAC
VPSS, USB,
EMAC, MMC
USB, EMAC,
PCI, McBSP
Lin/Win O/S
User Apps
Lin/Win O/S +
Video, Imag, MM
Comm, Audio,
Signal Proc.
$8 to $35
$12 to $65
$4 to $99
Flash
32KB to 512KB
Analog I/O, ADC
LCD, USB, RF
Low-Power
Processors
48000 8-bit
MMACS
Up to 3 MB
L2 Cache
1G EMAC, SRIO,
DDR2, PCI-66
Comm, Military,
Industrial/
Medical Imaging
$99+
Mikrokontrolery MSP430
●
• 0.1uA w trybie
powerdown
• 0.8uA w trybie standby
• 250uA / 1MIPS
• start zegara w <1us
• upływność portu <50nA
• Zero-power BOR
●
• Signal Chain on Chip (SCoC)
• buforowane porty
komunikacyjne i
przetworniki A/C
• wielofunkcyjne peryferia
●
●
●
• budżetowe narzędzia
- eZ430 - Emulator za 20$
- eZ430-RF2500 – narzędzie
do
komunikacji
bezprzewodowej za 49$
• szerokie portfolio przykładowych aplikacji
• optymalizowana dla
języka C
• łatwość adresowania
• brak wady pojedynczego
akumulatora
• ortogonalność
adresowania
wyjątkowo niski
pobór energii
RISC 8/16/18/25MHz
bogate peryferia (ADC
10/12/16, DAC12,
DMA, RTC)
wkrótce USB 1.1 slave
(kwiecień 2009 MSP430F55x)
MSP430+radio (w
produkcji lato 2009 MSP430F6xx/CC430)
MSP430-zastosowania
• mierniki poziomu cukru i
cholesterolu, termometry, EKG,
monitory pracy serca,
pulsoksymetry
• napięcie, natężenie prądu,
temperatura, ciśnienie,
współczynnik pH
• mierniki energii
• wodomierze
• gazomierze
• zdalny odczyt opomiarowania
• infrastruktura opomiarowania
• podzielniki ciepła
• systemy alarmowe, czujniki dymu
• domowa automatyka i sterowanie
• bezprzewodowe śledzenie
• czujniki bezprzewodowe
• telefony komórkowe, aparaty
cyfrowe, odtwarzacze MP3
• zegarki sportowe, czujniki
• szczoteczki golarki
• zdalne sterowanie
• klawiatury, myszy
bezprzewodowe
MSP430F54xx Product Overview
●
●
●
●
●
●
●
●
●
●
●
●
Low Supply-Voltage Range: 1.8V to 3.6V
Ultra Low Power Consumption
●
Active Mode: 165uA/MHz
●
Standby mode (RTC Mode): 2.6uA
●
Off Mode (RAM Retention): 1.6uA
●
Shutdown Mode: 0.1uA
Wake-up in <5us (From Standby Mode)
16-bit RISC Architecture
●
Extended Memory (Up to 256KB Flash/16KB RAM)
Unified Clock System
●
FLL, VLO, REFO, 32kHz Crystals)
Flexible Power Management System
●
Integrated LDO w/ programmable regulated core supply voltage
●
Supply voltage supervision, monitoring, and brownout
32x32-Bit Hardware Multiplier
ADC12_A, RTC_A, WDT
4 USCI, 3-Ch DMA,
Timer0_A5, Timer1_A3, Timer_B7
Temp range: -40 to 85 deg C
80-pin QFP, 100-pin QFP, 113-ball BGA package options
YC/VR 01/30/2008
6
Product Overview of MSP430F55xx
Full-speed USB (12 Mb/s)
●
Low supply voltage range
●
1.8V to 3.6V
●
Ultra low power consumption
●
Active mode: 160uA/MHz
●
Standby mode with RTC:1.5uA
●
Wake-up in <5us
●
Up to 128KB flash memory
●
Up to 8KB +2KB RAM
●
2K data buffers (System RAM when USB
module is disabled)
●
Flexible power management system
●
Fully integrated LDO with programmable
regulated core supply voltage
●
Supply voltage supervision, monitoring, and
brownout
●
Unified clock system (UCS)
●
Other peripherals:
●
ADC12_A, Comp_B
●
2 USCI, 3-ch DMA
●
MPY 32x32
●
Timer0_A5, Timer1_A3, Timer_B7,
Timer2_A3
●
Up to 60 GP I/O
●
80-pin TQFP, 64-pin QFN and 113-ball BGA
YC/VRoptions
01/30/2008
●
Temp range: -40 to 85 deg C
●
7
Procesory DSP TMS320C2000
●
●
●
●
●
●
sterowanie
przetwarzaniem energii
systemy baterii
słonecznych
modemy
telekomunikacyjne
sterowanie silnikami
Czujniki
Nowa rodzina - Piccolo!!!
Piccolo Family
Scaleable Solutions
•
– Single Supply With
Integrated Reset + Brown
Out Detection
– Reduce Support Pins, More
Functional Pins
– Smaller Packaging
– Lower Power
F2803x
Performance
TM
128kB Flash
60MHz w/ CLA
F2802x
TM
64kB Flash
60MHz
64kB Flash
40MHz
128kB Flash
60MHz w/ CLA
w/out CLA
w/out CLA
64kB Flash
60MHz w/ CLA
64kB Flash
60MHz w/ CLA
w/out CLA
w/out CLA
32kB Flash
60MHz
32kB Flash
40MHz
38-pin
48-pin
64-pin
80-pin
Lower Device & System
Cost
•
Flexible Options
– Option with and without CLA
based on performance
requirements
F2803x MCU Family
Piccolo B
Performance
 60 MHz C28x 32-bit CPU
 Control Law Hardware Accelerator
 Full software compatibility with previous generations
Features
 Core
 C28x 32-bit CPU
 Single cycle 32-bit MAC
60MHz
Performance

 Control Law Hardware Accelerator
 Memory


Flash: 64, 128 KB
RAM: 20 KB
Applications include:

Air Conditioners, Washing Machine, Induction Cooking, Compressors, Digital
Power, LED Lighting, Electric Power Steering, Hybrid Battery Management,
Radar Collision Avoidance, Audio, Advanced Sensing
TMS320F2802x
Memory
C28x 32-bit
CPU
60 MHz
32x32-bit Multiplier
RMW Atomic ALU
Control Law
Accelerator
 Highlights








Single 3.3V supply
High accuracy on-chip oscillators (10MHz)
Best in class PWM and event capture capability
150ps resolution on PWM frequency
12-bit ratio-metric ADC with individual channel triggers
Two analog comparators with 10-bit reference
CAN 2.0B up to 16 mailboxes
Up to 44 General Purpose I/Os
 Packages: 64-pin TQFP, 80-pin LQFP
64-128 KB Flash
20 KB RAM
Boot ROM
Power & Clocking
Dual OSC
10MHz
3.3 V Supply
Power on
Reset
Brown Out
Reset
(On-chip 1.9V)
Debug
Real Time JTAG
Peripheral Bus
Peripherals
Analog Modules
Serial Interfaces
SPI
x2
SCI
12-bit, 13-/16ch
Up to 4MSPS
CAN
I2C
Comparators
Up to 3x
LIN
Timer Modules
ePWM x12
(5x HR PWM)
QEP
Up to 1x
eCAP x1
Procesory DSP TMS320C6000
telekomunikacja
systemy śledzenia
obiektów
technologie video
w rodzinie jednostki
stało- i
zmiennoprzecinkowe
oraz procesory
wielordzeniowe
TMX320C6474
Performance Optimized Multicore Processor
Features
 New C64x+™ Core
 Three
 16/32
(3) C64x+ DSP Core at 1GHz each
bit ISA, doubled MPY vs C64x core
 Memory
 32
kB L1 program memory, 32 kB L1 data memory
 3 MB of total L2 memory (2 configurations)
1MB / 1MB / 1MB or 1.5MB / 1MB / 0.5MB
 Boot ROM, DDR2-667MHz 32-bit
TMS320C6474
C64x+™
Core
C64x+™
Core
C64x+™
Core
 Peripherals
L1 Data
L1 Data
L1 Data
 10/100/1000
L1 Prog
L1 Prog
L1 Prog
L2 Memory
L2 Memory
TCP2
 McBSP
Mbps Ethernet - SGMII
(TDM)
 High-speed interconnects
 2x
sRIO (1x links)
Antenna interface supporting OBSAI / CPRI
– 6 links
• 65nm Process
• 561 BALLS, 23x23 MM FC-BGA
(5 Rows + 11x11 center array)
L2 Memory
EDMA 3.0 with Switch Fabric
GPIO
PLL
I2C
Timers
Others
Boot
ROM
Benefits
• 3GHz Raw performance
• Interconnect efficiency due industry standards (sRIO,
OBSAI / CPRI, DDR Memory, etc)
• SmartReflex to minimize power consumption
A
Controller
McBSP
DDR-2
IF
10/100/
1G
Ethernet
Antenna
Interface
TCP2
 VCP2,
VCP2
 Acceleration
Serial
RapidIO
EVM Available
12
Development tools and support
ease customer migration
C6474 Evaluation Module
Software debug platform for high
performance application development
EVM highlights:
• Two C6474 processors
• High-speed DSP interconnect enabled by EMAC, AIF and
SRIO SERDES interfaces
• 256MB of 667MHz DDR2 per C6474 processor
• SGMII switch provides Gigabit Ethernet connection
• McBSP, Timer, GPIO interfaces accessible via connector
• Onboard JTAG emulation plus a XDS560T
(Trace Pod) Header
• Board-specific Code Composer Studio™ Integrated
Development Environment
• Simple setup
• Includes design files such as Orcad and Gerber
• Board support library accelerates software development
on the EVM
Support:
• Broad market support: Product Information Center - FAE
- Community forums - Documentation - Training
AIF
JTAG
Power
Modules
AMC
Connector
DDR
Memory
C6474
Processors
Power
Power
Modules
DDR
Memory
JTAG
SGMII
Switch
CPLD
AIF
TMDXEVM6474: $1995
Now Available
www.ti.com/c6474evm
13
Procesory DSP TMS320C5000
multimedia
wizualizacja danych
telekomunikacja
indywidualna
systemy pomiarowe
Procesory OMAP
OMAP = ARM +
DSP + system
operacyjny
komputery
przenośne
nawigacja
satelitarna
OMAP35x – ARM
Cortex A8
600MHz
DaVinci - procesory DM355
kamery sieciowe
przenośne
urządzenia TV
nawigacja
satelitarna
przenośne
urządzenia
multimedialne
DSP C6000 +
ARM9
ISO722x: Single, Dual, Triple and Quad
High-Speed Digital Isolators
•SiO2 Dielectric Capacitor
process provides highest
reliability and life expectancy
(>25 years)
•High magnetic immunity
maximizes signal integrity in
noisy environments
•Lowest skew and jitter
minimizes error and noise
•4kV ESD on all pins ideal
provide high reliability in harsh
environments
Supports:
• Industrial Process Control
• HVAC/Building automation
• Industrial Networks/Communication
ADS1232/4
2/4 Channel 24-bit Bridge Sensor ADCs
•
•
•
•
•
•
•
•
•
Only 17nVRMS input-referred noise (G=128)
±20mV input range with Up to 23.5 ENOB
10SPS or 80SPS data rate
Onboard PGA (selectable 64 or 128)
Internal oscillator w/external opt.
Onboard temp sensor
Over 100dB of 50Hz and 60Hz noise rej.
Simple serial interface
-40°C to +105°C temp range
•
•
•
•
•
Single-chip weigh scale front-end
Bridge sensors
Strain gauges
Pressure transducers
Ratiometric measurements up to 5V
• Greatly Reduces Design Cycle Time
− Complete Low Noise Front-End Solution
• Low Software Overhead
- Pin Configurable Simplicity
- No Digital Registers to Program
• Easy to Use Reference Design Board
24pin / 28pin TSSOP
EVM
ADS1232REF
ADS1232: $3.90 (1k pcs) ADS1234: $4.50 (1k pcs)
Oversampling
(∆Σ) ADC’s
ADS1274/8: Widest Bandwidth, 4/8-channel,
Simultaneous Sampling, 24-bit ∆Σ ADC
Eight 128ksps 24-bit ADC’s
synchronized in one package
provide high performance while
lowering system cost and
complexity
Pin configurable operating
modes - high speed, high
resolution, low power, low speed
maximize design flexibility while
reducing software overhead
Daisy chainable output up to 106
simultaneous channels
Identical package offers drop-in
expandability
Supports:
• Vibration Analysis
• Acoustics/Dynamic Strain Gauges
• Power Conditioning/Metering
• ECG/Multi-channel Data Acquisition Systems
ADS1282
Ultra-High Performance ΔΣ ADC with PGA
• Extremely High Resolution
- SNR: 130dB (250SPS, G=1)
- SNR: 125dB (250SPS, G=16)
• Ultra-Linear
- THD -122dB, INL: 0.5ppm
• Flexible Data Rate
- 250SPS to 4kSPS
• Onboard High Performance Digital Filter
- SINC + FIR + IIR (selectable)
- Linear or Minimum Phase
- 0.5Hz to 7.5Hz High Pass
- Filter Bypass Mode
• Low Power
- ADS1282: 25mW (17mW Low Power Mode)
 Unmatched Performance, Integration and
Low-power Operation
 Single-chip Solution for Digitizing Geophones
or Hydrophones
 Filter Bypass Mode Allows Direct Access to
Modulator Data for Use with External Digital
Filter
ADS1282: MUX
+ PGA
+ Mod. + Dig. Filter
AVDD
V
DVDD
REF
CLK
SYNC
ADS1282
MUX
PWDN
RESET
In1
PGA
•
•
•
•
Seismic / Energy Exploration
Geophone / Hydrophone Recording
Earthquake/Building Monitoring
Scientific Instrumentation
In2
ADS1282: $36.95 (1k pcs)
1 to 64
4th order
∆Σ
Mod.
Programmable
Digital Filter
& Calibration
SPI
3
Serial
Interface
I/O
Mod. Out
Over-Range
AVSS
DGND
ADS5562: 16-bit 80-MSPS ADC Featuring Highest
Signal to Noise Ratio
84dBFS @ 3MHz IF and lowfrequency noise suppression
mode offers 6dB greater SNR
and 0.6 ENOB than competing
solutions and improves system
accuracy
Dynamic power scaling reduces
power consumption to 540mW
@ 25MSPS enhancing battery
life and reducing thermal
effects
Supports:
• Wireless Communications
• Medical Imaging – MRI, PET
• Radar and Guidance Systems
• Test, Measurement, and Instrumentation
Small 7x7mm form factor and
pin compatible sample rate
options in same family
(ADS5560: 16-bit 40MSPS) save
board space and improve
design flexibility
DAC8881: Lowest Noise, Low Power
16-bit DAC with Buffer
Low noise (24nV/√Hz) and low
INL (+/- 1LSB) ideal for open loop
and waveform generation
applications where high accuracy
is required
Internal output buffer reduces
number of external components
Low power consumption (6mW)
and power down mode improves
battery life
Supports:
18-bit upgrade path provides
design flexibility (DAC9881 –
avail. 2Q)
• Portable Instrumentation
• Industrial Process Control
• Automatic Test Equipment
• Waveform Generators
DRV401-EP
Sensor Signal Conditioning IC for
Vacuumschmelze Magnetic Current Sensor
•Temp range: -55C to 125C
•One chip solution for VAC Magnetic Sensors
•Linearity Error: < 0.1%
•Overload Detection
•Fault Detection
•Built-In Degauss System
•Dynamic Error Correction
•Inherent Galvanic Isolation
•Included Integrated Filter
Compensation
drive
Out1
Out
2
• Combined with VAC sensors, the DRV401 monitors
both ac and dc currents to high accuracy.
• Improves VAC sensor accuracy
• Recovers the probe loop in the case of distortion
noise and excessive overload.
• Detects fault conditions such as output shorts, low
load or low supply conditions
• Restores high magnet performance after a
strong overload condition
• Ensures DC precision over temperatures and long
term accuracy
• Protects application circuitry
• Reduces noise
RS
DRV401
S2
IP
VAC Current Sensor
Diff.AMP
S
1
Sensor
Interface
Integrator
Filter
Timing, Error
Detection,
Power Control,
V Out
Ref-In.
H-Bridge
Driver
1k Price: $7.25
DeGauss
VRef.
2.5V
Clock
+5V
GND
Vref
OPA333, OPA2333
Very Low Power Zero-Drift Operational Amplifier








Ultra-Low Quiescent Current: 25µA (max)
Low Offset Voltage: 10µV (max)
Offset Voltage Drift: 0.05µV/˚C (max)
Low Voltage Noise: 1.1 µVP-P
Bandwidth: 350kHz
Rail-to-Rail Input and Output
Supply Voltage 1.8V to 5.5V
TemperatureRange: -40°Cto+125°C
 Lowest Power Increases Battery Life
 Low Offset and Drift Removes Need for
Calibration
 RRIO Increases Dynamic Range
 1.8V Supply Excellent for Battery Devices
 Micro SC70 Package Saves Board Space
 MicroPackages:
Singles (OPA333): SC70-5, SOT23-5, SO-8
Duals (OPA2333): QFN-8, SO-8






Battery-Powered Instruments
Temperature Measurement
Precision Strain Gages
Precision Sensor Applications
Medical Instrumentation
Handheld Test Equipment
1KU $.95 Single
1KU $1.50 Dual
INA210 – INA214
Zerø-Drift – Bi-directional Current Shunt Monitor
•
Complete Bi-directional high/low-side current sensing
•
Permits measurement of bidirectional shunt currents
•
Voltage offset: ±35µV (max, INA210)
•
Enables shunt drops of 10mV full-scale
•
10mV Full-scale input voltage
•
Cost savings : smaller shunt resistors and best power efficiency
•
1% error (max over temp)
•
Cost savings: smaller error margins needed in design
•
CMR: - 0.3V to +26V with +2.7V to +26V Supply
•
High CM inputs using a low single supply
•
100µA (max) supply current in SC70 package
•
Ideal for power and space sensitive applications
•
Voltage output with three gain options:
• INA210: 200V/V – Released!
• INA211: 500V/V – in sign-off
• INA212: 1000V/V – in sign-off
• INA213: 50V/V – Released!
• INA214: 100V/V – Released!
1k Price: $0.65
•
•
Battery management
Computers
• Servers
• Desktop
• Notebook
Package: SC-70
EVM
INA210EVM – call Niki
INA209: Zero-Drift Power Shunt Monitor over I2C
Bus
Monitors current and voltage, and
calculates power providing
complete thermal management
solution
Triple watchdog limits
(underlimit, overlimit, and
separate critical path) offers
design flexibility and fast
shutdown capability
High 0V to 26V common mode
inputs from single 3V to 5.5V
supply saves power
Supports:
• Computers – Servers, Desktop
• Battery Management
• Power Supplies
+/-40mV full scale input range and
1% max temp error improves
accuracy at low voltage drops
PGA11x: Single-Ended, Single-Supply Zero-Drift
PGA with MUX
2 channel and 10 channel
versions provide design
flexibility
RRIO increases dynamic range
Binary and Scope gain options
for optimum A/D range
matching
Internal calibration channels
allow easy gain and offset
adjustment
< 4µA shutdown is ideal for
power sensitive applications
Supports:
• Industrial Process Control
• Programmable Logic Controllers
• Portable Instrumentation
PGA308 - Auto-Zero Sensor Amp w/Prog. Gain & Offset

Auto Zero: 0.2uV/C Drift, 50uV Offset (max)

Offset Adj: Coarse (+/-100mV) & Fine (+/-VREF/2)










Gain Adj: PGIA (4 -1600), Output (2-6), Fine (0.33-1)
7xOTP Memory (7 Individual Banks)
One-Wire Programming Interface
Fault Detection + Over & Under-Scale Limits
2x2 Input Mux
Low Noise: 50nV/rt-Hz
Low Power: 2mA w/ 20uA Shutdown Mode
+2.7V to +5.5V Operation
Extended -40C to +125C Temp Range
10-MSOP Package, 3x4mm DFN-10






Enables precision drift and offset for top performance
Digital Calibration of Offset and Gain eliminates costly ‘analog’ bridge
trim methods
Allows up to 4 times calibration to prevent error
1-Wire digital serial interface simplifies programming
Ideal for protection and system level diagnostics
Capable of sensor lead swapping electronically
Reference
or
V supply
PGA308
Reference
Input
Coarse
Offset
1k Price: $1.85



Bridge sensors
Remote 4-20ma transmitters
Strain, load, and weigh scales
Input
Mux
Fine
Offset
Auto-Zero
P GIA
+
PGA308EVM
Fine
Gain
Serial Interface
VC L A M P
/DOU T
Over
S cale
Fault
Monitor
OTP Memory
EVM
Digital Out
or
V CLAMP
Output
Amplifier
Under
S cale
Limit
Ckt
VOU T
1W
TPS780xx/781xx
Low IQ LDO with Dual-Level Outputs
•
:
:
•
•
•
•
Fits a wide variety of power requirements
Very low power consumption
Powered from standard voltage rails
Full range of µC voltage needs
•
•
Optimizes performance or power saving modes
Small solution size
•
•
Rated Output Current: 150mA
Ultra low Power
- 500nA typ (TPS780xx)
- 1uA typ (TPS781xx)
Drop out Voltage: 200mV @ 150mA
Input Voltage Range: 2.2V to 5.5V
Output Voltages: Fixed (1.5 to 4.2V) and
Adjustable (1.22 to 5.25V)
Toggle Between Two Factory EEPROM Preset
Values
Stable with 1μF Ceramic Output Capacitor
TSOT23-5, 2X2mm SON Packages
•
•
•
•
TI MSP430 Attach Applications
Wireless Handsets
Portable Media Players
Battery Operated Devices w/ extended sleep times
•
•
•
•
0.65-Ω Dual SPDT Analog Switch With Negative Rail Capability and Click-Pop
Suppression
TS5A22362, TS5A22364
Features
●
●
●
●
●
●
Negative Signaling Capability : Analog I/O Range = V+ - 5.5V to V+
Internal Shunt Switch prevents audible click-and pop when switching between two
sources (TS5A22364 only )
Low ON-State Resistance (0.65-Ω typ)
Excellent ON-State Resistance Matching
2.3-V to 5.5-V Power Supply (V+)
TS5A22362/TS5A22364 Packaging Options
●
WCSP-10 (0.5mm pitch - YZP) 1.9mm x 1.4mm
●
SON-10 (DRC) 3mm x 3mm
●
VSSOP-10 (DGS) 4.9mm x 3mm
TS5A22362/4
R1
Ref R
L
L1
Audio Source 1
TPA6130A2
Applications
●
●
●
●
Cell Phones
PDAs
Portable Instrumentation
Audio Routing
R2
L2
Audio Source 2
Część 3 – Projekt 2 – transmisja P2P
Mariusz Kaczor
Sylwester Nowocień
Piotr Tadrzak
Co to jest HAL?
●
HAL (Hardware Abstraction Layer) – część
oprogramowania pośrednicząca pomiędzy aplikacją
(polecenie logiczne) a elementami wykonawczymi
(sygnały fizyczne)
Co to jest HAL dla MSP-EXP i CC2500?
Biblioteki dla MSP430 do pracy z transceiverami
CC1100/CC2500 przygotowanie przez Texas Instruments
Więcej szczegółów: AN049 (swra141)
HAL – struktura oprogramowania
HAL zawiera:
● Część specyficzną dla
urządzenia (MCU,
wbudowane peryferia
MCU)
● Część niezależną od
urządzenia (układy I/O,
interfejs użytkownika,
interfejsy
komunikacyjne, w tym
radio
HAL – drzewo plików
hal
●
common
hal_spi
hal_spi_config
hal_int
hal_rf
include
hal_exp430
●
hal_board
hal_mcu
hal_uart
hal_timer
hal_digiio
hal_led
hal_lcd
●
hal_common
●
common: biblioteki
obsługi peryferiów,
biblioteki obsługi
przerwań
hal_exp430: biblioteki
wykonawcze dla
MSP_EXP
hal_template: wzorzec
bibliotek dla innych
platform (PCB)
include: definicje
zmiennych, itp.
HAL – przykładowe funkcje obsługi transceivera
void halRfBurstConfig( const HAL_RF_BURST_CONFIG
rfConfig,const uint8* rfPaTable,uint8 rfPaTableLen)
//blokowy zapis konfiguracji transceivera
uint8 halRfGetChipId(void)
//odczyt znacznika ID transceivera
HAL_RF_STATUS halRfWriteReg(uint8 addr, uint8 value)
//zapis rejestru konfiguracyjnego z odczytem statusu
HAL_RF_STATUS halRfWriteFifo(uint8* data, uint16
length)
//zapis danych do FIFO uprzednim odczytem statusu
HAL – przykładowe funkcje obsługi peryferiów
MCU
void halMcuInit(void)
//inicjalizacja mikrokontrolera
void halMcuSetPowerMode(uint8 mode)
//sterowanie trybem poboru mocy
uint8 halDigioConfig(const digioConfig* pin)
//konfiguracja wyprowadzeń wg zdefiniowanej tablicy
(tablica typu struct)
void halUartRead(uint8* buffer, uint16 length)
//odbiór danych z portu szeregowego (Contrans TI)
HAL – przykładowe funkcje obsługi LCD
void halLcdInit(void)
//inicjalizacja wbudowanego kontrolera LCD
void halLcdWriteValue(uint16 value, uint8 radix, uint8
line)
//zapis liczby (wartość, system liczenia,...)
void halLcdWriteSymbol(uint8 symbol, uint8 on)
//zapis znaku specjalnego
void halLcdClear(void)
//kasowanie zawartości wyświetlacza
Projekt 2 – transmisja P2P – terminal znakowy
Połączenie terminali za pomocą fal radiowych:
● MSP-EXP + CC2500 pracuje jako modem
komunikacyjny z portem RS-232
●
●
●
●
Radio jest całkowicie
„przeźroczyste”
Używamy bibliotek
HAL
Ustawienia terminala
PC : 9600,8,NONE,Off
Transmisja po CRLF
hello :)
MSPEXP
radio
CC2500
hello :)
MSPEXP
radio
CC2500
Projekt 2 – algorytm
Projekt 2 – co należy konfigurować?
1) Nawiązanie komunikacji P2P
Zespół nr 1
Parametry
Ćwiczenie nr 1
250kB; MSK; Sensitivity; 6
Ćwiczenie nr 2
115kB; 2-FSK; Current; 2
Ćwiczenie nr 3
main.c → msg[4]=??
smpl_config.dat →
DTHIS_DEVICE_ADDRESS=
"{0x??, 0x??, 0x??, 0x??}"
gdzie: ?? − numer
stanowiska
2) Zabezpieczenie sieci przed przesłuchami
●
●
●
Zmiana kanału komunikacyjnego (najprostszy)
Filtracja adresów (zalecany)
Filtracja długości pakietów (wymaga głębszej analizy)
Projekt – drzewo plików
●
Aplikacja
main.c (do
edycji)
●
●
●
Biblioteki HAL
Ustawienia RF:
my_rf_settings.h
(do edycji przy
użyciu SmartRF
Studio)
●
Część 4 – SimpliciTI
Mariusz Kaczor
Sylwester Nowocień
Piotr Tadrzak
Ankieta
●
Moja ocena szkolenia
●
Co dalej?

●
Do czego wykorzystam wiedzę?
Sonda: jak mógłby wyglądać mój projekt
„radiowy”


Zbuduję radio sam, czy poszukam gotowego
rozwiązania?
Jeśli gotowe rozwiązanie to jakie powinno
mieć cechy?
Ankieta jest anonimowa
2
Co jest na pendrive?
Ćwiczenia:
Dokumenty:
●
SmartRF Studio
●
Noty projektowe
●
HAL
●
Karty katalogowe
●
SimpliciTI
●
Narzędzia
●
Noty aplikacyjne
●
Projekty referencyjne
Podręcznik
●
Podręcznik PDF
3
Co jest na pendrive?
Firmware:
●
HAL dla MSP-EXP
●
SimpliciTI
●

1.03

1.06

dokumentacja
Oprogramowanie PC
●
CCE3
●
IAR EW 430
●
IAR EW 430 Eval
●
Packet Sniffer
●
SmartRF Studio
●
Inne


inne

/.../solutions
(rozwiązania zadań)
Ćwiczenie 3, wersja dla
eZ430-RF2500
Ćwiczenie 3,
oprogramowanie AP
dla eZ430-RF2500
4
SimpliciTI – czym jest?
Cechy protokołu:












protokół sieciowy – firmowy (Texas Instruments)
dwie architektury: gwiazda oraz p2p
częstotliwości pracy: sub 1GHz, 2.4GHz
prosty w implementacji – kilka podstawowych funkcji API
przeznaczony dla urządzeń o niskim poborze energii (sleeping devices)
szyfrowanie: sprzętowe, programowe (w przyszłości)
dynamiczna zmiana kanału (frequency agility)
trzy typy urządzeń: punkt dostępowy (Access Point), urządzenie
końcowe/terminal (End Device) i retransmitter (Range Extender)
nie wymaga dużych zasobów: ~6k Flash, ~512 RAM
na różne platformy: MSP430+CC1100/2500, SoC (CC1110/2510,
CC1111/CC2511), DSSS (w przyszłości)
otwarty – dostępne pliki źródłowe
darmowy (przy wykorzystaniu układów Texas Instruments)
5
Obszar zastosowań

systemy zabezpieczeń / alarmowe
(czujniki dymu/tlenku węgla, antywłamaniowe)

liczniki / rejestratory
(gazomierze, wodomierze, ciepłomierze, liczniki energii elektrycznej)

sieci strukturalne
(obsługa drzwi garażowych, czujniki środowiskowe, przekaźniki i sterowniki)
6
Sieć czujników z bramką dostępową i AP
Bramka dostępowa
może mieć funkcję
zdalnego
raportowania
stanu sieci.
Posiada
funkcjonalność
urządzenia
dostępowego i
zarządza siecią.
Retransmitery
zwiększają zasięg
7
Sieć aktywnych znaczników (tagów) radiowych
Tagi mogą pojawiać
się w zasięgu sieci
zupełnie
przypadkowo.
Tagi muszą mieć
możliwość szybkiego
dołączenia do sieci
przy zachowaniu
niskiego poboru
energii
8
Sieć czujników dymu
Punkt dostępowy (opcjonalnie)
Czujnik / retransmiter
Sm
oke
Ala
rm
Urządzenie alarmujące
Sm
oke
Ala
rm
Sm
oke
Ala
rm
Sm
oke
Ala
rm
Sm
oke
Ala
rm
Sm
oke
Ala
rm
Sm
oke
Alar
m
Gatew
C
ay
Sm
oke
Ala
rm
Sm
oke
Ala
rm
Sm
oke
Ala
rm
Przepływ komunikatu
9
SimliciTI / ZigBee
Protokół:
SimpliciTI
ZigBee
Sieć typu mesh
Nie
Tak
Typowa liczba węzłów
2 - kilkadziesiąt
2 do setek
Topologia point-to-point i gwiazda
Tak
Tak
Platforma sprzętowa
MSP430 + CC, SoC (8051)
MSP430F2418 + CC2420, CC2430
Częstotliwość, typ modulacji
sub 1GHz, 2.4GHz
IEEE 802.15.4 DSSS, 2.4GHz
oprogramowanie
darmowe
darmowe
Źródła oprogramowania
darmowe
nie
Rozmiar kodu po kompilacji
~6k – zależny od konfiguracji
50-60k – zależny od konfiguracji
Zgodność pomiędzy urządzeniami
pochodzącymi od różnych dostawców
Nie
Możliwa
Kodowanie
128bit AES wbudowane,
inne programowo
128bit AES
Właściwości sieci:
Oprogramowanie i sprzęt
10
Architektura sieci
End Device (ED):

realizuje funkcje warstwy aplikacji

dwa tryby pracy: controlled listen lub sleeping/polling

może pracować w trybie „tylko nadawanie”

zasilany bateryjnie
●
Range Extender (RE):

dokonuje retransmisji wiadomości

może posiadać funkcjonalność ED

zasilany w sposób ciągły
ED
ED
AP
ED
●
RE
ED
Access Point (AP):

zarządza siecią – dynamiczne przyłączenie i
odłączanie do/z sieci ED

zarządza częstotliwością pracy (frequency agility)

gromadzi i udostępnia wiadomości dla ED typu
sleeping/polling (data hub),

może posiadać funkcjonalność ED

zasilany w sposób ciągły
●
ED
ED
11
Archtektura
oprogramowania
Struktura warstwowa:

Brak formalnej warstwy Link i PHY

Board Support Package (BSP) w miejsce HAL
dopasowanie do różnych MCU, obsługa interfejsu SPI, przerwań

Minimal RF Interface (MRFI)
realizacja interfejsu z radiem (RF), zapis/odczyt danych, formowanie ramki

Network Layer (NWK)
zarządza pracą radia, transmisją, kolejkowaniem, dekodowaniem portów

Network Applications (NWK APPs)
realizacja funkcji zarządzania siecią, połączeniami, kanałami częstotliwościowymi

User Applications
●
12
Tylko 6 wywołań API




inicjacja
smplStatus_t SMPL_Init (uint8 (*pCB)(linkID))
linkowanie
smplStatus_t SMPL_Link (linkID_t *linkID)
smplStatus_t SMPL_LinkListen (linkID_t *linkID)
transmisja
smplStatus_t SMPL_Send (linkID_t lid, uint8 *msg, uint8 len)
smplStatus_t SMPL_Receive (linkID_t lid, uint8 *msg, uint8 *len)
konfiguracja
void SMPL_Receive (ioctlObject_t object, ioctlAction_t action, void *val)
13
Parametry transmisyjne
/* Przykład konfiguracji parametrów radiowych */
/*..\Simpliciti\Components\mrfi\smartrf\CC1101\ */
#ifndef SMARTRF_CC1101_H
#define SMARTRF_CC1101_H
#define SMARTRF_RADIO_CC1101
#define SMARTRF_SETTING_FSCTRL1 0x0C
#define SMARTRF_SETTING_FSCTRL0 0x00
#define SMARTRF_SETTING_FREQ2
0x22
#define SMARTRF_SETTING_FREQ1
0xB1
#define SMARTRF_SETTING_FREQ0
0x3B
#define SMARTRF_SETTING_MDMCFG4 0x2D
#define SMARTRF_SETTING_MDMCFG3 0x3B
#define SMARTRF_SETTING_MDMCFG2 0x13
#define SMARTRF_SETTING_MDMCFG1 0x22
#define SMARTRF_SETTING_MDMCFG0 0xF8
#define SMARTRF_SETTING_CHANNR 0x14
#define SMARTRF_SETTING_DEVIATN 0x62
#define SMARTRF_SETTING_FREND1 0xB6
#define SMARTRF_SETTING_FREND0 0x10
...
/* Przykład konfiguracji kanałów częstotliwościowych */
/*..\Simpliciti\Components\mrfi\radios\common\mrfi_f1f2.c
*/
#if defined( MRFI_CC2500 ) || defined( MRFI_CC2510 ) ||
defined( MRFI_CC2511 )
static const uint8_t mrfiLogicalChanTable[] =
{
3,
103,
202,
212
};
...
14
Statyczna konfiguracja
/* przykład smpl_config.dat (ED) */
/* przykład smpl_nwk_config.dat (ED)*/
// Liczba połączeń
-DNUM_CONNECTIONS=1
// liczba hop'ów dla wiadomości
-DMAX_HOPS=1
// wielkość buforów wiadomości transmisyjnego /
odbiorczego
-DSIZE_OUTFRAME_Q=1
-DSIZE_INFRAME_Q=1
// liczba hop'ów od AP
-DMAX_HOPS_FROM_AP=1
// adres urządzenia
-DTHIS_DEVICE_ADDRESS="{0x06, 0x06, 0x06,
0x06}"
// typ urządzenia
-DEND_DEVICE
//-DACCESS_POINT
// tryb pracy dla ED
-DRX_POLLS
// maksymalna wielkość obszaru payload wiadomości
-DMAX_APP_PAYLOAD=10
// link token
-DDEFAULT_LINK_TOKEN=0x01010101
// join token
-DDEFAULT_JOIN_TOKEN=0x05060708
// tryb frequency agility
//-DFREQUENCY_AGILITY
// tryb pracy dla AP
//-DAP_IS_DATA_HUB
// w trybie 'data hab', wielkość bufora
//-DNUM_STORE_AND_FWD_CLIENTS=3
15
Konfiguracja dynamiczna
void SMPL_Ioctl (ioctlObject_t object, ioctlAction_t action, void *val)
Parametry:
object – obiekt determinujący działanie
action – akcja
val – wskaźnik do struktury danych
Obiekty:
IOCTL_OBJ_FREQ – odczyt/ustawienie kanału częstotliwościowego (frequency agility)
IOCTL_OBJ_CRYPTKEY – ustawienie klucza szyfrującego (niezaimplementowane)
IOCTL_OBJ_RAW_IO – wysłanie/odczyt wiadomości
IOCTL_OBJ_RADIO – kontrola trybu pracy radia, odczyt/zapis podstawowych parametrów
IOCTL_OBJ_AP_JOIN – blokada/zezwolenie na przyłączenie do sieci (AP)
IOCTL_OBJ_ADDR – odczyt/zmiana adresu urządzenia
IOCTL_OBJ_CONNOBJ – zwolnienie połączenia i zasobów przez nie zajmowanych
IOCTL_OBJ_FWVER – odczyt wersji oprogramowania
IOCTL_OBJ_PROTOVER – odczyt wersji protokołu
16
Adresowanie, sposoby komunikacji
Opis:
Adres fizyczny – statyczne, 4B lub adres rozgłoszeniowy (broadcast)
Adres sieci – join token, 4B
Identyfikacja połączenia – link token, 4B
Logical path
ED 2
ED 1
RE
ED 1
Data path
NWK
management
ED 2
ED 1
ED 1
RE
AP
AP
Poll
Poll
Sleeping
ED 2
Sleeping
ED 2
17
Format pakietu
Opis:
PREAMBLE/SYNC – synchronizacja sprzętowa
LENGTH – długość ramki
MISC – zarezerwowane
DSTADDR/SRCADDR – adres docelowy/źródłowy
PORT – typ szyfrowania (brak,SW, HW,) oraz identyfikator aplikacji (nr portu)
DEVICE INFO – typ urządzenia (ED, RE, AP) oraz tryb pracy (controlled listen,
sleeps/polls)
TRACEID – nr ramki (identyfikator tranzakcji)
PAYLOAD – ciało wiadomości (maks. wielkość 52B)
FCS – suma kontrolna
18
Cechy środowiska
IDE: IAR Embedded Workbench, CCEssentials (również)
Platforma: MSP430 i SoC (8051)
Cechy oprogramowania:

statyczna alokacja pamięci (nie jest wymagany obszar heap)

praca synchroniczna (nie wymaga architektury
wielowątkowej)

zajęty jeden licznik (TA), wykorzystany system przerwań

konieczność zadbania o realizację potwierdzenia
wiadomości lub i jej powtórzenia
Platformy ewaluacyjne:
EXP (MSP430 Experimenter board)
MSP430FG4618 + radio EM
eZ430RF MSP430F2274 + CC2500
SRF04 8051 (SoC EM)
SRF05 MSP430F2618 + CC2520EM
Moduły radiowe RF:
CC1100EM/CC1101EM
CC1110EM/CC1111EM (SoC)
CC2500EM/CC2510EM/CC2430EM
CC2520EM (SoC)
19
Sprzętowe wsparcie oprogramowania
Experimenter's board (MSP430FG4619)

złącze modułów EM (CC1100/CC2500)

LCD

złącze RS232

klawiatura pojemnościowa

mikrofon + wzmacniacz

wzmacniacz słuchawkowy
●
eZ430RF-2500 (MSP430F2274+CC2500)

emulator USB

adapter zasilania bateryjnego
●
CC2510-CC2511DK, CC1110-CC1111DK

współpraca z SmartRF Studio, Smart Sniffer

LCD

złącze RS232
●
20
Przykład
Access Point:

zasilanie ciągłe

konfiguracja: data hub

cykliczny pomiar temperatury i Vcc

cykliczne przesyłanie żądania wartości
pomiarowych do ED

przesyłanie zebranych informacji do
komputera
Sieć:

struktura: gwiazda

praca dynamiczna, struktura otwarta
n
1
End Device:

zasilanie bateryjne

konfiguracja: sleeping/polling

cykliczny pomiar temperatury i Vcc

na żądanie AP lub użytkownika
(przycisk) przesłanie mierzonych
wartości
AP
2
3
21
Jak to działa ...
22
Algorytm działania – AP
23
inicjalizacja
procesora i peryferiów
BSP_Init()
MCUInit()
inicjalizacja protokołu,
dołączenie do sieci (join)
SMPL_Init()
połączenie z AP (link)
SMPL_Link()
konwersja ADC
zakończona?
Algorytm działania – ED
błąd
pauza 1s
błąd
pauza 1s
tak
rozpocznij
konwersję ADC
przełącz rf
w tryb aktywny
cykliczne
przerwanie
(timestamp)
dane w buforze AP?
SMPL_Receive()
nie
tryb uśpienia
nie
konwersja ADC
zakończona?
nie
tak
wyznaczenie
temp. i Vcc
AdcValCalc()
naciśnięty przycisk?
nie
tak
format ramki
prawidłowy?
tak
nie
formatowanie wiadomości
zapis temp. i Vcc
wysłanie wiadomości
SMPL_Send()
przełącz rf
w tryb uśpienia
24
Uruchamiamy projekt
smplStatus_t SMPL_Send (linkID_t lid, uint8 *msg, uint8 len)
Parametry zwracane:
SMPL_SUCCESS – operacja zakończona sukcesem.
SMPL_BAD_PARAM – niewłaściwa wartość parametru/ów
SMPL_NOMEM – brak miejsca w buforze transmisyjnym
Parametry:
lid – identyfikator połączenia (LinkID)
msg – wskaźnik bufora wiadomości
len – długość wiadomości
smplStatus_t SMPL_Receive (linkID_t lid, uint8 *msg, uint8 *len)
Parametry zwracane:
Parametry:
lid – identyfikator połączenia (LinkID)
msg – wskaźnik bufora dla wiadomości
len – długość wiadomości
SMPL_SUCCESS – zapisano wiadomość w buforze *msg
SMPL_BAD_PARAM – niewłaściwa wartość parametru/ów
SMPL_NO_FRAME – brak wiadomości
SMPL_NO_PAYLOAD – wiadomość bez zawartości (payload)
SMPL_TIMEOUT - (Polling Device) brak odpowiedzi od AP.
SMPL_NO_AP_ADDRESS - (Polling Device) nieznany adres AP
SMPL_NOMEM (Polling Device) brak miejsca w buforze transmisyjnym
SMPL_NO_CHANNEL (Polling Device) – nie udało się odnaleźć właściwego kanału transmisyjnego
( Frequency Agility)
25
Projekt 3 – drzewo plików
●
Aplikacja:

Temperature_monitor_
ED_main.c
●
bsp
●
mrfi
●
nwk
●
nwk_app
26
Pytania???
27
Dziękujemy za uwagę
28