• Nenhum resultado encontrado

Análise dos tempos de resposta das mensagens

3.4 Rede de comunicação CAN

3.4.3 Análise dos tempos de resposta das mensagens

Nesta seção, apresenta-se a análise dos tempos de resposta no pior caso de mensagens CAN. A análise foi desenvolvida por Davis et al. (2007) baseada nos trabalhos de Tindell, Burns e Wellings (1994) e George, Rivierre e Spuri (1996). Essa análise será usada para determinar os tempos de resposta de mensagens CAN e os resultados serão comparados com os resultados obtidos usando as técnicas de verificação de modelos no Capítulo 5.

Notação e modelo das mensagens

Considere uma rede CAN com um único barramento e um conjunto com q mensagens m1,

m2,..., mq. Uma mensagem mi, onde i assume valores de 1 a q, consiste de um número infinito

de instâncias k ∈ Z+ = {0, 1, 2,...} contendo informações específicas. Assume-se que o con-

trolador de cada nó garante que a sua mensagem com maior prioridade armazenada no buffer de transmissão, entrará no processo de arbitragem assim que o barramento estiver livre. Essa suposição é compatível com o funcionamento dos controladores CAN. A variável i também indica a prioridade da mensagem mi.

Cada mensagem possui uma tarefa periódica relacionada τmi com período Tmi. Essa tarefa

armazena a mensagem no buffer de transmissão do controlador CAN do seu respectivo nó. Então, uma instância k de uma mensagem é ativada a cada instante ami = kTmi e liberada

(pronta para transmissão) assim que a tarefa relacionada armazená-la no buffer de transmissão. Essa tarefa gasta uma quantidade de tempo igual a Jmi, chamado de jitter de armazenamento,

que equivale ao tempo de resposta da tarefa τmi. Considera-se que não existe controle sobre

o instante de ativação da primeira instância de cada mensagem, ou seja, assim que o sistema começa a funcionar, a ativação da primeira instância das mensagens ocorre em um instante arbitrário, e que os relógios de cada nó são ideais.

Toda mensagem possui uma quantidade de bytes de dados bmi, um tempo de transmissão

Cmi e um requisito de tempo chamado de deadline relativo Dmi. Assume-se que o deadline

relativo de uma mensagem é menor ou igual ao período Tmi.

A instância k de uma mensagem mié liberada no instante lmi(k) determinado pela Equação

lmi(k) = Jmi(k) + kTmi (3.39)

O deadline absoluto dmi da instância k da mensagem mié determinado pela Equação 3.40.

dmi(k) = kTmi + Dmi (3.40)

O intervalo de resposta da instância k da mensagem mi é definido como o tempo entre o

instante de ativação ami(k) e o instante de finalização fmi(k) (chegada do último bit da mensa-

gem ao nó receptor) dessa instância, ou seja, o intervalo semi-aberto à direita [ami(k), fmi(k)).

O tempo de resposta rmi(k) dessa instância (Equação 3.41) é definido como o comprimento do

seu intervalo de resposta.

rmi(k) = fmi(k) − ami(k) (3.41)

Uma representação do modelo de mensagens está ilustrada na Figura 3.12.

t a (k)mi l (k)mi f (k)mi d (k)mi a (k+1)mi Jmi r (k)mi Dmi Tmi Ativação Liberação Liberada (Buffer Tx) Transmissão Não liberada

Figura 3.12: Representação do modelo de mensagens CAN. O tempo de resposta no pior caso Rmax

mi da mensagem mi equivale ao maior (Equação 3.42)

tempo de resposta de alguma de suas instâncias.

Rmaxmi = max(rmi(k)) (3.42)

Para finalizar o modelo, considera-se as seguintes suposições: o barramento nunca ficará ocioso, exceto se não existir mensagens prontas para serem transmitidas (liberadas) no buffer de transmissão dos nós da rede e os deadlines são críticos, ou seja, cada instância da mensagem deve ser finalizada antes do seu deadline absoluto. O conjunto com q mensagens ativadas periodicamente é escalonável, se e somente se, Rmax

mi ≤ Dmi, ∀ i = 1,...,q. Assume-se que

o nível de prioridade decresce de acordo com o aumento do número da mensagem, ou seja, a mensagem m1 possui a maior prioridade (nível 1) e a mensagem mq a menor prioridade (nível

Cálculo dos tempos de resposta no pior caso

O tempo de resposta no pior caso de uma mensagem mi é derivado da Equação 3.43.

Rmmaxi = Jmi + Wmi+ Cmi (3.43)

Onde Wmi, chamado de atraso de enfileiramento, é o tempo máximo que a mensagem mipoderá

esperar no buffer de transmissão do controlador antes de iniciar a transmissão, devido outras mensagens estarem ocupando o barramento.

O atraso de enfileiramento consiste de dois tipos de atraso: atraso de bloqueio, originado por uma mensagem com menor prioridade, que poderá estar no processo de transmissão quando a mensagem mi foi armazenada no buffer de transmissão do controlador; e o atraso de interfe-

rência, originado pelas mensagens com maior prioridade, que poderão ser transmitidas antes da mensagem mi.

O máximo atraso de bloqueio ocorre quando a maior mensagem com menor prioridade inicia a transmissão imediatamente antes da mensagem miser armazenada no buffer de transmissão.

A mensagem mideverá esperar até que o barramento esteja livre, antes de entrar no processo de

arbitragem. O máximo atraso de bloqueio (Bmi) é determinado pela Equação 3.44, onde lp(i)

corresponde ao conjunto de mensagens com menor prioridade que a mensagem mi.

Bmi = max

∀j ∈ lp(i)(Cmj) (3.44)

A determinação do atraso de enfileiramento de uma mensagem mi é baseada na defini-

ção do período ocupado com nível de prioridade - i (LEHOCZKY, 1990) e (HARBOUR; KLEIN; LEHOCZKY, 1991). Esse período é definido por um intervalo semi-aberto à direita, que inicia em algum instante tsquando uma mensagem com prioridade i ou maior é enfileirada no buffer

de transmissão do seu respectivo controlador CAN, e não existem mensagens com prioridade i ou maior esperando para serem transmitidas, as quais foram enfileiradas antes do instante ts. O

período é finalizado no instante tequando o barramento torna-se livre e não existem mensagens

com prioridade i ou maior esperando para serem transmitidas, as quais foram enfileiradas antes do instante te. Durante esse intervalo nenhuma mensagem com prioridade menor que i é capaz

de vencer a arbitragem e ser transmitida. O atraso de enfileiramento no pior caso para uma men- sagem mi com prioridade i, ocorre para alguma instância dessa mensagem enfileirada durante

o período ocupado que inicia imediatamente após o início da transmissão da maior mensagem com menor prioridade que i. O maior período ocupado com nível de prioridade - i inicia no chamado instante crítico (LIU; LAYLAND, 1973), instante onde a mensagem mi é armazenada

simultaneamente com todas as mensagens com maior prioridade, em seus respectivos buffers de transmissão.

O comprimento tmi do maior período ocupado com nível de prioridade - i é determinado

pela seguinte relação recursiva (3.45), onde hep(i) é o conjunto de mensagens com prioridade maior ou igual à mensagem mi.

t(x+1)mi = Bmi + X ∀j ∈ hep(i) & t(x)mi + Jmj Tmj ' Cmj (3.45)

O procedimento de iteração começa com um valor inicial t(0)

mi = Cmi, e é finalizado quando

t(x+1)mi = t

(x)

mi. Devido o lado direito da Equação 3.45 ser uma função monotônica não-decrescente

de tmi, a relação de recorrência convergirá se o fator de utilização Um(hep(i)) para mensagens

com prioridade maior ou igual a mi for menor ou igual a 1 (Equação 3.46).

Um(hep(i)) = X ∀j ∈ hep(i) C mj Tmj  ≤ 1 (3.46)

Para determinar o maior atraso de enfileiramento de uma mensagem mié necessário calcular

e verificar qual é o maior atraso de todas as suas instâncias enfileiradas e transmitidas durante o maior período ocupado com nível de prioridade - i. O número de instâncias Qmi é derivado de

(3.47). Qmi =  tmi+ Jmi Tmi  (3.47) Na análise seguinte, a variável k será usada para representar uma instância da mensagem mi.

A primeira instância do período ocupado corresponde a k = 0, e a última instância, k = Qmi−1.

O atraso de enfileiramento da instância k da mensagem mi é determinado pela Equação 3.48,

onde hp(i) corresponde ao conjunto de mensagens com prioridade maior que a mensagem mi

e τbit (tempo de bit) representa as diferenças de tempo para o início da arbitração nos diferentes

nós, devido aos atrasos de propagação e tolerâncias do protocolo. Wm(x+1)i (k) = Bmi + kCmi+ X ∀j∈hp(i) & Wm(x)i(k) + Jmj + τbit Tmj ' Cmj (3.48)

A relação de recorrência começa com um valor de W(0)

mi(k) = Bmi + kCmi, e termina quando

Wm(x+1)i (k) = W

(x)

mi(k) ou Jmi + W

(x+1)

mi (k) − kTmi + Cmi > Dmi, onde no último caso, a

mensagem é não-escalonável. A relação de recorrência sempre convergirá se a condição do fator de utilização do sistema Um = Pqi=1

C

mi

Tmi



≤ 1 for satisfeita (SPURI, 1996). Onde q equivale ao número de mensagens do sistema.

A instância k da mensagem mi ocorre no instante kTmi − Jmi relativo ao início do período

ocupado. Então, o tempo de resposta da instância k da mensagem mi é determinado pela

Rmi(k) = Jmi+ Wmi(k) − kTmi+ Cmi (3.49)

Observe que o termo Wmi em (3.43) equivale ao termo Wmi(k) − kTmi em (3.49). Finalmente,

o tempo de resposta no pior caso da mensagem mi é derivado da Equação 3.50.

Rmmaxi = max

k=0...Qmi−1(Rmi(k)) (3.50)

Comentários

A análise apresentada na seção anterior para determinar os tempos de resposta no pior caso de mensagens CAN periódicas pode ser facilmente adaptada para determinar os tempos de resposta fim a fim de malhas de controle nas arquiteturas representadas pelas Figuras 2.5(a) e (b) do Capítulo 2. Para a arquitetura representada pela Figura 2.5(a), o jitter de liberação seria constante e igual a soma do tempo de computação das tarefas de aquisição e controle. Além disso, o tempo de computação da tarefa de atuação deverá ser somado com o tempo de resposta no pior caso (Equação 3.50). Uma adaptação semelhante pode ser feita para a arquitetura representada na Figura 2.5(b).