Professional Documents
Culture Documents
,
_
+ +
1
]
1
+
8 47
5
8 34
(2)
Da equao (2), temos que o termo S
m
indica o
tamanho limitado da mensagem m em bytes, e o
termo
bit
o tempo necessrio para transmitir um bit
sobre o barramento (como exemplo, sob um
barramento a 1Mbit/s, tem-se 1s).
O termo w
m
representa o atraso na fila no pior caso (O
maior tempo entre a insero de uma mensagem na
fila de prioridades e o incio de sua transmisso) e
dado pela equao (3).
+
1
1
1
1
+ +
+
) (
1
m hp j
j
j
bit j
n
m
m
n
m
C
T
J w
B w
(3)
Onde o termo hp(m) o conjunto de mensagens no
sistema com prioridade maior que a mensagem m, e
B
m
o tempo de bloqueio no pior caso da mensagem
m, e dado pela equao (4).
) ( max
) (
k
m lp k
m
C B
(4)
Da equao (4) tem-se que lp(m) o conjunto de
mensagens no sistema com prioridade menor que a
mensagem m.
Da equao (3) note que o termo J
j
o Jitter e T
j
o
perodo de ativao do conjunto de mensagens com
prioridade maior que a mensagem m.
O termo w
m
aparece em ambos os lados da equao,
requerendo assim a utilizao de uma relao de
recorrncia para sua soluo, conforme apresentado
na equao (5).
+
1
1
1
1
+ +
+
) (
1
m hp j
j
j
bit j
n
m
m
n
m
C
T
J w
B w
(5)
Finalmente o termo J
m
representa o Jitter da
mensagem (Tempo mdio de espera de uma
mensagem na fila de transmisso antes do
escalonamento) e determinado empiricamente.
Neste trabalho ns utilizamos o valor de 0.1 ms.
4.2. Anlise do Tempo de Resposta sob
Condies de Erro
No trabalho desenvolvido por Ken Tindell e Allan
Burns (Tindell and Burns, 1994a), foi proposto um
modelo para o clculo de tempo de resposta no pior
caso de mensagens CAN sob condies de erro. O
tempo de resposta no piro caso pode ento ser
calculado como na equao (6).
m m m m
C q J R + + (6)
Onde os termos J
m
e C
m
tem o mesmo siginificao
como apresentado anteriormente, e qm corresponde
agora o tempo gasto por uma mensagem na fila de
espera, sob condies de erro, podendo ser dado
diretamente ao resolvermos a seguinte formulao de
recorrncia dada pela equao (7).
+
+ +
1
1
1
1
+ +
+
) (
1
) (
m hp j
m m m j
j
bit j
n
m
m
n
m
C q E C
T
J q
B q
(7)
Como apresentado em Tindell e Burns (Tindell and
Burns, 1994b), o termo E
m
(t) da equao (7) uma
funo com overhead de recuperao de erro, e nos
d o limite superior sobre os overheads de
recuperao de erros que podem ocorrer num
intervalo de tempo t. Ver equao (8).
{ }
,
_
,
_
1
1
1
+
) ( max 29 1 ) (
) (
k
m m hp k
error
error m
C
T
t
n t E (8)
Da equao (8), tem-se ainda que nerror o nmero de
erros em rajada que podem ocorrer em um pequeno
intervalo arbitrrio e Terror o perodo de ocorrncia do
erro. O nmero de erros em um intervalo de durao t
denotado pela equao (9).
1
1
1
1
+
error
error
T
t
n (9)
Em cada erro o overhead de recuperao de erros
pode ser aumentado em 29 bits, seguido pela
retransmisso da mensagem. Apenas mensagens de
prioridade mais maior que a mensagem m e ela
mesma podem ser retransmitidas e atrasar a
mensagem m. A maior destas mensagens dada pela
equao (10):
{ }
) ( max
) (
k
m m hp k
C
(10)
Nas sees seguintes, as equaes acima sero
utilizadas para a anlise de escalonabilidade de uma
rede CAN, para o controle de uma aeronave.
5
5. Aplicao da Rede CAN sob o HELIX
O modelo de processamento de dados distribudo do
HELIX proposto, apresenta um conjunto de sinais
enviados entre 8 subsistemas diferentes, que como
um todo consiste em um sistema de tempo real
distribudo.
O sistema de controle do HELIX foi inicialmente
projetado utilizando links ponto a ponto como em
Gyron (1996), porm Fascioni (1996) props uma
nova arquitetura na forma de um sistema de controle
em tempo-real distribudo utilizando uma rede CAN
com propriedades de tempo real para transmisso de
mensagens.
5.1. Modelo de Tarefas e Mensagens
Os 8 sub-sistemas da arquitetura do HELIX so:
Controlador, Inercial, Posio, Atuadores, RFLinks,
Atitude, Monitoram e Cmera, sendo que cada um
deles possui um conjunto de tarefas em tempo real
geradoras de mensagens, com as propriedades
temporais herdadas das tarefas responsveis pela
comunicao entre os diversos sub-sistemas.
Em nosso caso especifico no e de nosso interesse
analisar as propriedades temporais das tarefas, e sim
apenas sua definio e disposio no sistema.
O conjunto de mensagens gerado no sistema HELIX
o qual utilizam uma rede CAN para serem
transmitidas, possuem determinadas propriedades
temporais herdadas pelas tarefas, as quais podem ser
vistas em detalhes na Tabela 1.
N Descrio do sinal Dados
[bits]
T
[ms]
Per./
Esp.
D De Para
1 Sinais PWM para servos s0 a s7 8 x 16 25 0 25 T1Control Ratuador
2 Acelerao angular e 3 x 16 50 1 50 T2Inercial Rcontrol
3 Velocidade angular e 2 x 32 50 2 50 T1Inercial Rcontrol
4 Ref. De posio Xref, Yref, Zref e Href 4 x 48 50 3 50 T1RFLinks Rcontrol
5 Rotao no motor 1 x 16 100 4 100 T1Monit Rcontrol
6 Angulo e velocidade d/dt 2 x 32 100 5 100 T1Atitude Rcontrol
7 Cdigos de operao 3 x 48 200 6 200 T2RFLinks Rcontrol
8 Velocidades lineares (x, y e z) 3 x 48 1000 7 1000 T2Posio Rcontrol
9 VDC, temp. no motor 3 x16 1000 8 1000 T2Monit Rcontrol
10 Latitude, longitude e altitude (x, y, z) 3 x 48 1000 9 1000 T1Posio Rcontrol
11 Refrncia para ajust e 4 x 48 1000 10 1000 T3RFLinks Rcontrol
12 Telemetria e monitorao 24 x 48 1000 11 1000 T2Control RFLinks
13 Sinal digitalizado 640 1000 12 1000 T1Camera Rcontrol
Tabela 1: Descrio os principais sinais de comunicao do HELIX
Note que o Jitter no considerado para os sinais, isto
faz com que toda a anlise de comportamento
temporal possa no representar com fidelidade a
analise para implementao.
O Jitter compreende no atraso mximo de liberao
de uma mensagem realizada pelo escalonador e para
o caso de implementao, esta propriedade das
mensagens e um fator determinante para uma analise
correta dos tempos de resposta das mensagens.
Em relao ao Jitter vamos considerar por hiptese
que seja totalmente dependente da latncia das
aplicaes, ou seja, o tempo mximo entre uma
aplicao pedir o envio de uma mensagem e a
colocao desta no buffer da transmisso. Pode-se
considerar um Jitter de 1ms para qualquer fluxo de
mensagens, pois 1ms<<D como apresentado na
Tabela 2.
Uma outra caracterstica importante, o comprimento
do sinal #13 (Sinal Digitalizado), onde ao ser dividido
em tamanhos aceitveis pelo mximo comprimento
do pacote CAN, far com que o conjunto de
mensagens sob a rede exceda 1000 mensagens
concorrendo pela barramento CAN.
O pacote de dados que uma rede CAN, capaz de
transportar varia de 0 a 8 bytes de dados. Desta forma
as mensagens com um tamanho de dados superior a 8
bytes devero ser fragmentadas em tamanhos de 8
bytes e montados os pacotes com as mesmas
propriedades temporais herdadas pela mensagem
original.
Na Tabela 2 apresentado conjunto de mensagens
modificada, utilizadas pelo sistema HELIX para o
controle do helicptero no tripulado, considerando o
Jitter e o conjunto de mensagens fragmentadas.
6
Fluxo de
Mensagem
Descrio do sinal Dados
[bits]
J
[ms]
T
[ms]
Per.
Esp.
D De Para
1.1 Sinais PWM para servos s0 a s7 64 1 25 P 25 T1Control Ratuador
1.2 Sinais PWM para servos s0 a s7 64 1 25 P 25 T1Control Ratuador
2 Acelerao angular e 48 1 50 P 50 T2Inercial Rcontrol
3 Velocidade angular e 64 1 50 P 50 T1Inercial Rcontrol
4.1 Ref. De posio Xref, Yref, Zref e Href 64 1 50 P 50 T1RFLinks Rcontrol
4.2 Ref. De posio Xref, Yref, Zref e Href 64 1 50 P 50 T1RFLinks Rcontrol
4.3 Ref. De posio Xref, Yref, Zref e Href 64 1 50 P 50 T1RFLinks Rcontrol
5 Rotao no motor 16 1 100 P 100 T1Monit Rcontrol
6 Angulo e velocidade d/dt 64 1 100 P 100 T1Atitude Rcontrol
7.1 Cdigos de operao 64 1 200 P 200 T2RFLinks Rcontrol
7.2 Cdigos de operao 64 1 200 P 200 T2RFLinks Rcontrol
7.3 Cdigos de operao 16 1 200 P 200 T2RFLinks Rcontrol
8.1 Velocidades lineares (x, y e z) 64 1 1000 P 1000 T2Posio Rcontrol
8.2 Velocidades lineares (x, y e z) 64 1 1000 P 1000 T2Posio Rcontrol
8.3 Velocidades lineares (x, y e z) 16 1 1000 P 1000 T2Posio Rcontrol
9 VDC, temp. no motor 48 1 1000 P 1000 T2Monit Rcontrol
10.1 Latitude, longitude e altitude (x, y, z) 64 1 1000 P 1000 T1Posio Rcontrol
10.2 Latitude, longitude e altitude (x, y, z) 64 1 1000 P 1000 T1Posio Rcontrol
10.3 Latitude, longitude e altitude (x, y, z) 16 1 1000 P 1000 T1Posio Rcontrol
11.1 Referncia para ajuste 64 1 1000 P 1000 T3RFLinks Rcontrol
11.2 Referncia para ajuste 64 1 1000 P 1000 T3RFLinks Rcontrol
11.3 Referncia para ajuste 64 1 1000 P 1000 T3RFLinks Rcontrol
12.1 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.2 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.3 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.4 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.5 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.6 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.7 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.8 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.9 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.10 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.11 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.12 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.13 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.14 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.15 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.16 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.17 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
12.18 Telemetria e monitorao 64 1 1000 P 1000 T2Control RFLinks
13.1 Sinal digitalizado 64 1 1000 P 1000 T1Camera Rcontrol
13.2 Sinal digitalizado 64 1 1000 P 1000 T1Camera Rcontrol
13.3 Sinal digitalizado 64 1 1000 P 1000 T1Camera Rcontrol
13.4 Sinal digitalizado 64 1 1000 P 1000 T1Camera Rcontrol
13.5 Sinal digitalizado 64 1 1000 P 1000 T1Camera Rcontrol
13.6 Sinal digitalizado 64 1 1000 P 1000 T1Camera Rcontrol
13.7 Sinal digitalizado 64 1 1000 P 1000 T1Camera Rcontrol
13.8 Sinal digitalizado 64 1 1000 P 1000 T1Camera Rcontrol
13.9 Sinal digitalizado 64 1 1000 P 1000 T1Camera Rcontrol
13.10 Sinal digitaliza do 64 1 1000 P 1000 T1Camera Rcontrol
Tabela 2: Conjunto de mensagens a serem escalonadas pelo protocolo CAN
Originalmente o sinal Sinal Digitalizado com
origem no n T1Cmera e destino no n Rcontrol tem
um comprimento de 1064 bits, o que nos daria uma
sobre-utilizao da rede CAN. Uma alternativa para a
minimizao da carga de mensagens sob a rede
inserir um algoritmo de compactao de dados no n
T1Cmera e o mesmo para descompactao no n
Rcontrol (Tabela 1) nos d um ganho de 40% do sinal
Sinal Digitalizado, visto que o tipo de dado consiste
em uma Imagem com um formato do tipo JPG.
5.2. Anlise de Escalonabilidade de
Mensagens
Considerando agora que, ao utilizar um algoritmo de
compactao de Imagem para o sinal 13, com uma
reduo 40% no comprimento do sinal, temos que o
7
sinal 13 que originalmente possua 1064 bits de
dados, passa agora a possui um comprimento de 640
bits o que reduz o nmero total de mensagens sob a
rede de 17 mensagens para apenas 10 mensagens.
A seguir ser analisado o teste de escalonabilidade
para o conjunto de mensagens apresentado na Tabela
3, para diferentes taxas de transmisso da rede CAN.
Ser visto tambm a utilizao das mensagens e do
barramento com o objetivo de verificar-se a
viabilidade de utilizao de uma rede CAN como
soluo para o helicptero no tripulado HELIX. Foi
tambm considerado que o sistema em anlise est
operando sob uma rede CAN sujeita a certas
condies de erro (nerror=5, Terror =10ms).
Fluxos Caraterizao de
Fluxos de Mensagens
Tempo de Resposta (rede CAN
sob condies normais de operao)
Tempo de Resposta
(rede CAN sujeita a erros de transmisso)
C
[bits]
J
[ms]
T
[ms]
D
[ms]
w
125Kbit/s
w
250Kbit/s
w
500Kbit/s
w
1Mbit/s
Q
125Kbit/s
q
250Kbit/s
q
500Kbit/s
q
1Mbit/s
1.1 64 1 25 25 6.7 3.3 1.7 0.8 * 23.1 8.7 4.4
1.2 64 1 25 25 12.1 6.1 3.0 1.5 * * 11.5 5.0
2 48 1 50 50 16.4 8.2 4.1 2.1 * 36.2 12.6 5.6
3 64 1 50 50 21.9 11 5.5 2.7 * 39.0 13.9 6.3
4.1 64 1 50 50 27.4 13.7 6.8 3.4 * 44.6 15.3 6.9
4.2 64 1 50 50 43.9 16.4 8.2 4.1 * 47. 3 16.7 7.6
4.3 64 1 50 50 49.3 19.2 9.6 4.8 * * 18.1 8.3
5 16 1 100 100 * 22.8 11.4 5.7 * 89.0 19.9 9.2
6 64 1 100 100 * 21.9 10.9 5.5 * 88.2 19.4 9.0
7.1 64 1 200 200 * 25.6 12.8 6.4 * 94.6 22.7 9.9
7.2 64 1 200 200 * 33.8 14.2 7.1 * 97.4 24.0 11.3
7.3 16 1 200 200 * 34.7 14.6 7.3 * 98.3 27.2 11.5
8.1 64 1 1000 1000 * 40.2 17.3 8.7 * 145.6 30.0 12.9
8.2 64 1 1000 1000 * 42.9 18.7 9.4 * 148.3 32.7 13.6
8.3 16 1 1000 1000 * 43.8 19.2 9.6 * 149.2 33.2 13.8
9 48 1 1000 1000 * 45.9 20.2 10.1 * 186.7 34.3 14.3
10.1 64 1 1000 1000 * 48.7 21.6 10.8 * 189.4 35.6 15.0
10.2 64 1 1000 1000 * 51.4 23.0 11.5 * 195.0 37.0 15.7
10.3 16 1 1000 1000 * 70.9 23.4 1.7 * 195.9 37.4 15.9
11.1 64 1 1000 1000 * 73.7 24.8 12.4 * 198.7 38.8 16.6
11.2 64 1 1000 1000 * 76.4 28.9 13.1 * 249.6 41.6 17.3
11.3 64 1 1000 1000 * 84.7 30.3 13.8 * 287.7 43.0 18.0
12.1 64 1 1000 1000 * 87.4 31.7 14.5 * 293.3 44.3 18.7
12.2 64 1 1000 1000 * 90.1 33.0 15.1 * 296.0 45.7 19.4
12.3 64 1 1000 1000 * 92.9 34.4 15.8 * 298.8 47.1 20.8
12.4 64 1 1000 1000 * 95.6 35.8 16.5 * 343.3 48.5 21.4
12.5 64 1 1000 1000 * 98.4 37.2 17.2 * 346.1 49.8 22.1
12.6 64 1 1000 1000 * 101.1 38.5 17.9 * 348.8 63.3 22.8
12.7 64 1 1000 1000 * 126.1 39.9 18.6 * 386.9 64.7 23.5
12.8 64 1 1000 1000 * 37.4 16.0 8.0 * 142.8 28.6 12.2
12.9 64 1 1000 1000 * 134.3 41.3 19.3 * 389.7 66.1 24.2
12.10 64 1 1000 1000 * 137.1 42.6 19.9 * 395.2 67.4 26.2
12.11 64 1 1000 1000 * 139.8 44.0 20.6 * 398.0 68.8 26.9
12.12 64 1 1000 1000 * 142.6 45.4 21.3 * 448.9 71.6 27.6
12.13 64 1 1000 1000 * 145.3 46.8 22.0 * 487.0 73.0 28.3
12.14 64 1 1000 1000 * 148.1 48.1 22.7 * 489.8 74.3 29.0
12.15 64 1 1000 1000 * 150.8 49.5 23.4 * 495.4 78.5 29.7
12.16 64 1 1000 1000 * 172.1 60.2 24.1 * 498.1 79.8 31.1
12.17 64 1 1000 1000 * 174.9 61.5 26.1 * 539.8 82.6 31.8
12.18 64 1 1000 1000 * 183.1 62.9 26.8 * 545.4 84.0 32.4
13.1 64 1 1000 1000 * 185.9 64.3 27.5 * 548.2 85.4 33.1
13.2 64 1 1000 1000 * 188.6 65.6 28.2 * 586.2 86.7 33.8
13.3 64 1 1000 1000 * 191.3 67.0 28.7 * 589.0 88.1 34.5
13.4 64 1 1000 1000 * 194.1 68.4 29.6 * 594.6 89.5 35.2
13.5 64 1 1000 1000 * 196.8 69.8 30.2 * 597.3 92.2 35.9
13.6 64 1 1000 1000 * 199.6 71.1 30.9 * 648.3 93.6 36.6
13.7 64 1 1000 1000 * 236.4 72.5 31.6 * 686.4 95.0 37.2
13.8 64 1 1000 1000 * 239.2 73.9 32.3 * 689.1 96.4 37.9
13.9 64 1 1000 1000 * 241.9 75.3 33.0 * 694.7 97.7 38.6
13.10 64 1 1000 1000 * 244.7 79.4 33.7 * 697.4 99.1 39.3
Tabela 3: Anlise de escalonabilidade de mensagens em uma rede CAN
importante verificar que a utilizao da rede e
anlise de escalonabilidade pode ser verificada logo a
seguir, de forma previsvel e coerente, para ambas as
condies de funcionamento da rede CAN.
Para condies normais de funcionamento, os
deadlines s no so cumpridos para uma velocidade
de transmisso de 125 Kbit/s (para a qual a utilizao
da rede supera 100%).
Para uma rede CAN sujeita a erros de transmisso, a
utilizao da rede tem uma ligeira subida (devida
retransmisso de mensagens no caso da ocorrncia de
erros de transmisso), sendo que o conjunto de
mensagens agora tambm no escalonvel para uma
velocidade de transmisso de 250 Kbit/s.
Rede CAN sob condies normais de
operao
Rede CAN sujeita a erros de transmisso
Veloc. Kbit/s Utilizao Mens. Escalonadas Utilizao Mens. Escalonadas
125 Kbit/s 129,99 % No 143,35 % No
250 Kbit/s 64,99 % Sim 71,67 % No
500 Kbit/s 32,50 % Sim 35,84 % Sim
1000 Kbit/s 16,25 % Sim 17,92 % Sim
Os resultados mostram que a rede CAN executando a
250Kbit/s no poder tolerar a taxa de erros
assumida, com todas as mensagens no satisfazendo
seus respectivos deadlines, sendo um conjunto de
mensagens no escalonvel.
Para a rede CAN executando a 250 Kbit/s, apenas a
mensagem 1.2 no satisfaz o seu deadline fazendo
com que todo o conjunto de mensagens no seja
escalonvel, no sendo assim uma boa opo a
utilizao de uma rede operando a esta taxa de
transmisso.
J para velocidade de 500 Kbit/s e 1Mbit/s o sistema
pode tolerar a tais taxas de erro, pois o conjunto de
mensagens totalmente escalonvel, com uma certa
folga.
6. Concluso
Foi realizado uma descrio funcional do sistema
embarcado HELIX, consistindo de um modelo de
processamento distribudo com um rede do tipo CAN,
em funo da capacidade de suportar requisitos de
tempo para transmisso de mensagens.
Para o conjunto de mensagens analisado, foram
apresentados modelos matemticos para verificao
da garantia de requisitos temporais em na rede CAN
aplicada ao HELIX, semelhantes aos utilizados para
anlise de escalonabilidade de tarefas em um sistema
em tempo real com um nico processador.
A principal contribuio deste trabalho consistiu
numa anlise de escalonabilidade de mensagens mais
detalhada para o sistema em estudo, considerando
condio reais para implementao tais como, taxa de
erros, Jitter, tempo de resposta para cada mensagem.
O trabalho serve como base para o desenvolvimento
de sistemas que possam suportar uma rede CAN com
meio de comunicao do tipo difuso.
7. Referncias Bibliogrficas
Tindell, K., Burns, A. (1994a). "Guaranteed Message
Latencies for Distributed Safety Critical Hard
Real-Time Networks, Technical Report YCS
229, Department of Computer Science,
University of York, England.
Tindell, K., Burns, A., Wellings, A. (1995).
Calculating Controller Area Network (CAN)
Message Response Time. In Control Engineering
Practice, Vol. 3, N 8, pp. 1163-1169.
Tindell, K., Burns, A. (1994b). Analysing Real-Time
Communications: Controller Area Ne twork
(CAN). Proceedings 15
th
IEEE Real-Time
Systems Symposium, pp. 259-265.
Pinho, L. M. (2001). A Framework for the
Transparent Replication of Real-Time
Application, PhD Thesis, FEUP Univ. Porto.
Vasques, F., Pinho, L. M. (2001). Atomic Multicast
Protocols for Reliable CAN Co mmunication.
Simpsio Brasileiro de Redes de Computadores -
SBRC2001, Florianopolis Brasil. pp. 194-209.
Fascioni, L. C. (1996). Avaliao de Arquiteturas de
Comunicao Distribudas para Interligao de
Sensores/Atuadores em um Helicptero no
Tripulado. Tese de Mestrado.
Gyron. Projeto HELIX. (1992). Definio e descrio
geral. Documento Interno, 1992.
Gyron. (1996). HELIX Software Reference Manual.
Documento Interno.
Lawrenz, W. (1997). CAN System Engineering: From
Theory to Pratical Applications. New York:
Springer-Verlag.