Transcript
Práctica 6: Diseño de un sistema SCADA
UNIVERSIDAD DE CANTABRIA
Objetivos: • Realizar el diseño de una aplicación de tiempo real basada en un sistema de adquisión de datos SCADA y validarlo mediante el análisis del modelo MAST Descripción: • Modelar el sistema con MAST tanto en su versión monoprocesadora como distribuida • Estimar los tiempos de peor caso del sistema y realizar el análisis de sensibilidad • Explicar las posibles diferencias en los resultados obtenidos para las versiones monoprocesadora y distribuida • El sistema SCADA presenta las siguientes características: © Michael González Harbour, Héctor Pérez 15/Apr/14
GRUPO DE COMPUTADORES Y TIEMPO REAL FACULTAD DE CIENCIAS
1
Práctica 6: Architecture
UNIVERSIDAD DE CANTABRIA
Tr_Display 1s pu
read
mp _te g v _a get
em p
measmnt buffer
100 ms
sensor ISR
read_sensor
t _t
display
_a v
g
screen get_ reco rd
50 ms
check
ord _rec write
IRQ
Tr_check 50 ms
sensor
GRUPO DE COMPUTADORES Y TIEMPO REAL
read_ke
y
kbd ISR IRQ
Tr_Read
FACULTAD DE CIENCIAS
wr ite
© Michael González Harbour, Héctor Pérez 15/Apr/14
keyboard
2
Práctica 6: Transactions
UNIVERSIDAD DE CANTABRIA
Tr_Read • initiated by active sensor through IRQ • periodic, T=100ms • involves read_sensor by ISR, and read task that invokes put_temp and other instructions • D=1ms Tr_Display • Initiated periodically, T=1s • executes get_avg_temp, write_avg and other instructions • D=100 ms
GRUPO DE COMPUTADORES Y TIEMPO REAL FACULTAD DE CIENCIAS
© Michael González Harbour, Héctor Pérez 15/Apr/14
Práctica 6: Transactions (cont’d)
3
UNIVERSIDAD DE CANTABRIA
Tr_Check • initiated by operator through keyboard IRQ • assume keyboard controller limits max keys: sporadic event, MIT=50ms • the check task protects the timing - alternative 1: polling task with Tpoll=50 ms; initiated by sporadic event (’C’ pressed) with MIT=50ms - alternative 2: sporadic server task with Tpoll=50 ms, budget=WCET; initiated by sporadic event (’C’ pressed) with MIT=50ms
• check task executes get_record, write_record, and other instructions • D=20ms GRUPO DE COMPUTADORES Y TIEMPO REAL FACULTAD DE CIENCIAS
© Michael González Harbour, Héctor Pérez 15/Apr/14
4
Práctica 6: Data for the analysis Trans Tr_Read Tr_Display Tr_Check
Task
C(ms)
sensor_ISR
0.004
read
0.500
display kbd_ISR
3.800 0.004
check
8.100
Shared object
Operation
measmnt_buffer
screen
GRUPO DE COMPUTADORES Y TIEMPO REAL FACULTAD DE CIENCIAS
UNIVERSIDAD DE CANTABRIA
T, MIT(ms)
D(ms)
100
1
1000
100
50
20
C(ms)
put_temp
0.030
get_avg_tmp
0.010
get_record
0.030
write_avg
0.700
write_record
4.900
© Michael González Harbour, Héctor Pérez 15/Apr/14
5
Práctica 6: Platform features
UNIVERSIDAD DE CANTABRIA
The execution platform has the following features: • Range of priorities supported - Levels 1-30 for tasks - Levels 31-32 for interrupts
• Platform overhead model Overhead ISR switch
0.010
Alarm clock overhead
0.003
Context switch
0.010
GRUPO DE COMPUTADORES Y TIEMPO REAL FACULTAD DE CIENCIAS
C(ms)
© Michael González Harbour, Héctor Pérez 15/Apr/14
6
Práctica 6: Distributed architecture CPU-1
UNIVERSIDAD DE CANTABRIA
CAN-Bus Tr_Display read remote
mp _te avg _ t ge
temp message
display
measmnt buffer 100 ms
pu
wr it
e_ av g
screen get_ r
sensor ISR
read_sensor
p tem t_
50 ms ecor d
check
w r ite
_rec
ord
Tr_check
IRQ
read
50 ms
sensor
read_ke
y
kbd ISR IRQ
Tr_Read
© Michael González Harbour, Héctor Pérez 15/Apr/14
GRUPO DE COMPUTADORES Y TIEMPO REAL FACULTAD DE CIENCIAS
Transaction Tr_Read
Task
0.400
read
0.100
Value
Throughput
1 Mbit/s
Blocking time in CAN Bus = 1 large message
0.130 ms
Packet overhead in CAN Bus = packet header
66 bits
Send ISR operation for CAN Bus
0.010 ms
Rcv ISR operation for CAN Bus
0.015 ms
Temp_message (payload)
100 bits
GRUPO DE COMPUTADORES Y TIEMPO REAL
© Michael González Harbour, Héctor Pérez 15/Apr/14
UNIVERSIDAD DE CANTABRIA
C(ms)
read_remote
Network Features
keyboard
7
Práctica 6: Additional Data for the Distributed Analysis
FACULTAD DE CIENCIAS
CPU-2
1s
8