projet réseau de capteurskerhoas/reseau_capteurs_/pres... · 2020. 3. 10. · champ de crc :...

24
Projet Réseau de capteurs PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli... 1 of 24 2/23/18, 12:39 PM

Upload: others

Post on 29-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Projet Réseau de capteurs

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

1 of 24 2/23/18, 12:39 PM

Architecture du Système

I2CSPI I2C

Capteur dePression

MPL115A

AnémomètreSOMFY

Capteur de Luminosité /

DistanceVL6180X

IMU 9 AxesAccelerometre /

Gyroscope / Magnétomètre

Invensense MPU9250

IHM avec QtPC Host

Timer

CAN Bus

Sonde PEAKPCAN-USB

Carte µC ST-Nucleo

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

2 of 24 2/23/18, 12:39 PM

Carte Nucleo F103

Virtual Com port

Mass Storage

Debug Port

gtktermou (excl)

IHM

file manager

openocd

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

3 of 24 2/23/18, 12:39 PM

Carte Nucleo F103Périphériques

I2C

CAN Bus

AnémomètreSOMFY

Capteur de Luminosité /

DistanceVL6180X

IMU 9 AxesAccelerometre /

Gyroscope / Magnétomètre

Invensense MPU9250

Sonde PEAKPCAN-USB

PC (gtkterm)pour debug

VL6180xApplication

DISPLAY_SEL

GPIOExpander

DisplayApplication

VL6180X Expansion Board

11

SDA(PB9)

SCK(PB8)

I2CTimer

PC

SPI

Capteur dePression

MPL115A

SPI1 Timer1

CORTEXM3

CAN

SN65 CAN Transceiver

UART2

CAN_L

CAN_H

TX(PA12)

ST-LINK

MO

SI

(PA

7)

RX(PA11)

MIS

O (

PA

6)

SC

K (

PA

5)

NS

S (

CS

) (P

A4)

TIM_CLK(PA8)

I2C1

CORTEXM3

CAN

SN65 CAN Transceiver

UART2

TX(PA12)

GPIO0

EXTI0GPIO

INPUT(PC13)

SDA(PB9)

SCK(PB8)

EXTI0(PB0)

SD

A

SC

L

GP

IO1(

Inte

rru

pt)

RX(PA11)

I2C1

CORTEXM3

CAN

SN65 CAN Transceiver

UART2

TX(PA12)

RX(PA11)

Environnement de Développement EclipseIDE Eclipse

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

4 of 24 2/23/18, 12:39 PM

Le Bus CANLe bus CAN est un une laison série :

asynchrone : pas de fil d’horloge (les différents éléments connectés doivent être configurés avec le mêmedébithalf Duplex : on parle chacun son tour, à condition que le bus soit libre

SN65HVD251 CANTransceiver

SN65HVD1050 CANTransceiver

SN65HVD233 CANTransceiver

SN65HVD257 CANTransceiver

RTERM

RTERM

RXTXRXTX RXTX

CANController

Node 1

CANController

Node 2

CANController

Node 3

CANController

Node n

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

5 of 24 2/23/18, 12:39 PM

Le Bus CANFormat d’une Trame de Données (Data Frame)

0 0 0 01

Sta

rt

of

Fram

e

Arbitration Field

RT

R

Control Field

DL

C0

DL

C3

Data Field

8N, 0≤N≤88 8

DL

C1

DL

C2

CRC Field

1

AC

K S

lot

Bit

CR

C D

el

AC

K D

el

Ack Field

1 1 1 1 1 1 1

End of Frame

1 1 1

11 715

IDE

RB

0

1

InterframeSpace

3

Bit de Start : Passage de 1 (état de repos) à 0Adresse / Identifiant / champ d’arbitrageChamp de Commande : Nombre d’octets dans le champ de donnéesChamp de donnéesChamp de CRC : Calcul sur les données envoyées permettant de détecter des erreurs de transmissionChamp de ACK : Tout message doit être acquité ; le destinataire doit forcer le bus à 0Fin de Trame

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

6 of 24 2/23/18, 12:39 PM

Le Bus CANFormat d’une Trame de Données (Data Frame)Capture d’une Trame avec Analyseur Logique SALEAE :

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

7 of 24 2/23/18, 12:39 PM

Le Bus CANArbitrage

SOF

RTR

node 110 9 8 7 6 5 4 3 2 1 0 Control Data

node 2

node 3

resultrecessive

node 2 is loosing the arbitrationlistening only

node 1 is loosing the arbitration

listening only

node 3 wins arbitration and transmits his data

any data

any data

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

8 of 24 2/23/18, 12:39 PM

Le Bus CANREMARQUE : Format Standard/Etendu

0 0 0 01

Sta

rt

of

Fra

me

Arbitration Field

SR

R

Control Field

DL

C0

DL

C3

Data Field

8N, 0≤N≤88 8

DL

C1

DL

C2

CRC Field

1

AC

K S

lot

Bit

CR

C D

el

AC

K D

el

Ack Field

1 1 1 1 1 1 1

End of Frame

1 1 1

11 715

IDE

RB

0

1

1

RT

R

IDE

1 0

RT

R

11 18

Standart Format Identifier(11 bits)

Extended Format Identifier (29 bits)

InterframeSpace

3

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

9 of 24 2/23/18, 12:39 PM

Le Bus CANFiltrage

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

10 of 24 2/23/18, 12:39 PM

Le Bus CANModèle ISO du Bus CANLa norme CAN spécifie les couches Physique et Liaison de données uniquement.D’autres protocoles (devicenet, canopen, ..) spécifient les couches hautes.

Data Link Layer

Physical Layer

Transport

Network

Session

Application

Presentation

CANController

CANTransceiver

Microcontrolleror

DSP

CAN_H CAN_L

OSI Reference LayersHardware

Implementation

Industry StandardCAN Networks

SAE J1939, TTCAN, CAN Kingdom,DeviceNet, SDS,

CCANSpecification

Bit encoding protocol,message identification, etc.

ISO/SAEPhysical LayerSpecifications

Electrical specifications:transceiver characteristics,connectors, cable, etc.

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

11 of 24 2/23/18, 12:39 PM

Le Bus CANLa Couche Physique

Le bit Stuffing

Trame àStuffer

Trame Stuffée

Trame àStuffer

Trame Stuffée

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

12 of 24 2/23/18, 12:39 PM

Le Bus CANLa Couche Physique

Une liaison différentielle

RecessiveLogic H

DominantLogic L

RecessiveLogic H

Time, t

CANL

CANH

Vdiff(D)

Vdiff(R)

Bus States

Typ

ical

Bu

sV

olt

age

(V)

12

34

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

13 of 24 2/23/18, 12:39 PM

Le Bus CANLes autres Trames

Trame de requête (Request Frame)

0 1 0 01

Sta

rt

of

Fram

e

Arbitration Field

RT

R

Control Field

DL

C0

DL

C3

Data Field

8N, 0≤N≤88 8

DL

C1

DL

C2

CRC Field

1

AC

K S

lot

Bit

CR

C D

el

AC

K D

el

Ack Field

1 1 1 1 1 1 1

End of Frame

1 1 1

11 715

IFS

7

IDE

RB

0

1

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

14 of 24 2/23/18, 12:39 PM

Le Bus CANLes autres Trames

Trame d’erreur (Error Frame)

1 1 1 1 1 1 1

End of Frame

1 1 1

7

InterframeSpace

3

0 0 0 0 0 0

6

Error Flag

Rem: Bit Stuffingdésactivé

BusOff

ErrorPassive

ErrorActive

Reset+config

REC>127ou

TEC>127

TEC>255

REC<127ou

TEC<127

Reset+config+reception of 128*11recessive bits

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

15 of 24 2/23/18, 12:39 PM

Capteur de Pression MPL115A1

Rappels : le Bus SPI

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

16 of 24 2/23/18, 12:39 PM

Capteur de Pression MPL115A1Mesure de la pressionSPI Commands

Command to Write “Convert Pressure and Temperature” = 0x24

Command to Read “Pressure ADC High byte” = 0x80

Command to Read “Pressure ADC Low byte” = 0x82

Command to Read “Temperature ADC High byte” = 0x84

Command to Read “Temperature ADC Low byte” = 0x86

Command to Read “Coefficient data byte 1 High byte” = 0x88

Start Pressure and Temperature Conversion, Read raw Pressure:

NOTE: Extra [0x00] at the end of each sequence to output the last data byte on the slave side of the SPI.

[CS=0],[0x24],[0x00],[CS=1],[3 ms Delay][CS=0],[0x80],[0x00],[0x82],[0x00],[0x84],[0x00],[0x86],[0x00],[0x00],[CS=1]

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

17 of 24 2/23/18, 12:39 PM

Anemomètre SOMFY

5 10

10

15 20

20

25 30

30

35 40

40

45 50

50

55 60

60

00

km/h

Hz

Vale urs du ve nt (Hz / km/h)

Tick TimerT3

Timer AnemoT1

Te

TIM1_CLK

t

t

t

Interruption Tick Timer --> RAZ Timer Anemo

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

18 of 24 2/23/18, 12:39 PM

Capteur de Luminosité / Distance VL6180xRappels Bus I2C

I2C

Capteur de Luminosité /

DistanceVL6180X

VL6180xApplication

DISPLAY_SEL

GPIOExpander

DisplayApplication

VL6180X Expansion Board

11

I2C1

CORTEXM3

GPIO0

EXTI0GPIO

INPUT(PC13)

SDA(PB9)

SCK(PB8)

EXTI0(PB0)

SD

A

SC

L

GP

IO1(

Inte

rru

pt)

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

19 of 24 2/23/18, 12:39 PM

Capteur Centrale Inertielle 9 axes Invensense MPU9250

MPU-9250

+Z

+X

+Y

+Z

+Y

+X

MPU-9250

+Z

+X

+Y

Orientation of Axes of Sensitivity for Compass

Orientation of Axes of Sensitivityand Polarity of Rotation

for Accelerometer ans Gyroscope

Block Diagram

MPU-9250

ChargePump

nCS

AD0 / SDO

SCL / SCLK

SDA / SDI

Temp Sensor ADC

ADCZ Gyro

ADCY Gyro

Digital MotionProcessor(DMP)

FSYNC

Slave I2C andSPI SerialInterface

Master I2CSerial

Interface

SerialInterfaceBypassMux

AUX_CL

AUX_DA

INTInterruptStatusRegister

Bias & LDOs

Z Accel

Y Accel

X Accel ADC

ADC

ADC

ADCX Gyro

SignalConditio

ning

FIFO

User & ConfigRegisters

SensorRegisters

Selftest

Selftest

Selftest

Selftest

Selftest

Selftest

XCompass

YCompass

ZCompass

ADC ADC ADC

Signal Conditioning

AK8963

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

20 of 24 2/23/18, 12:39 PM

Capteur Centrale Inertielle 9 axes Invensense MPU9250Traitement des Données

Angles d’Euler

X

Roulis (Roll)Φ (phi)

Lacet (yaw)Tangage (pitch)

Z

YΘ (theta)

Ψ (psi)

Problème du “Gimbal Lock” (blocage de cardan)

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

21 of 24 2/23/18, 12:39 PM

Capteur Centrale Inertielle 9 axes Invensense MPU9250Traitement des Données

Quaternions

wRepère Body

Repère Fixe

u

v

X

Z

Y

Vabc

Θ

Q = [ ], , ,q0 q1 q2 q3

Q = [ ]cos( ), a. sin( ), b. sin( ), c. sin( )θ2

θ2

θ2

θ2

= + . . .Qk+1 Qk12 Te Ωk Qk

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

22 of 24 2/23/18, 12:39 PM

Capteur Centrale Inertielle 9 axes Invensense MPU9250Traitement des Données

Algorithme de Madgwick

Champ de GravitéMesuré

Champ de Gravitéestimé

Calcul erreur de direction

z-1

(retard)

NormalisationCalcul Variation Quaternion

ΔQ

Qk

Qk+1

β

AccélérationsRepère Body

GirationsRepère Body

Qk

z-1

(retard)

ωx

ωy

ωz

ω

γγx

γy

γz

S

Qk

Qk

code madgwick.c

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

23 of 24 2/23/18, 12:39 PM

Déroulement du ProjetDurée : 12UCSalle : E021

Cahier des ChargesListe des Objectifs

IHMTutoriel Qt Creator

Bus Can et Qt –> cf Qt Bus Can

Affichage 3D des données du capteur MPU9250 –> cf Qt OpenGL

PRINTING DZSLIDES VIA IFRAMES file:///media/kerhoas/DATADRIVE1/COURS/WORKSPACE_WEB/print_sli...

24 of 24 2/23/18, 12:39 PM