• Nenhum resultado encontrado

Cálculo do Time Quanta, Nominal Bit Time, Nominal Bit Rate

5.3 Software desenvolvido para o protocolo CAN

6.1.1 Cálculo do Time Quanta, Nominal Bit Time, Nominal Bit Rate

Para a elaboração da rede, inicialmente com dois nós (nó transmissor e nó recep- tor), os microcontroladores que a constituíram foram os PIC18F2580 da Micro- chip. Através da análise do datasheet do microcontrolador PIC18F2580, calculou- -se o tempo de bit, time quanta, tempo nominal de bit e nominal bit rate correspon- dentes.

Time Quanta

Para o cálculo do time quanta recorreu-se à Equação 6.1.

T Q(µs) = [2 × (BRP + 1)] FOSC(M HZ)

(6.1) O registo BRGCON1 (baud rate) do microcontrolador PIC foi o utilizado para efec- tuar o cálculo do time quanta. As combinações utilizadas neste registo foram as “0x04h” e “0x00h”. A primeira combinação (0x04h) utilizada para se obter taxas de nominal bit rate até 100kbit/s, necessitava de um oscilador com uma frequên- cia até 8MHz, assim, utilizou-se o oscilador interno do microcontrolador. Para a segunda combinação (0x00h), como a taxa de nominal bit rate pode alcançar velo- cidades de 1Mbit/s, é necessário uma maior frequência, daí que se implementou um oscilador externo com um clock de 16MHz.

Com o auxílio da Equação 6.1 foi calculado o time quanta para ambos os casos. Os resultados para estes cálculos são mostrados de seguida:

Caso 1: T Q(µs) = [2 × (4 + 1)] 8 = 1, 25µs Caso 2: T Q(µs) = [2 × (0 + 1)] 16 = 0, 125µs

• Nominal Bit Rate intermédio para o Caso 1 (0x04h)

O primeiro controlo de registo da taxa de transmissão (BRGCON1), além de per- mitir calcular o valor do time quanta, também fornece dois registos para a fase de sincronização (SJW1 e SJW0). Para estes registos usou-se a combinação “0x00h”, significa isto que, a fase de sincronização vai ter apenas 1 time quantum. Através da Equação 6.2 calculou-se o tempo para a fase de sincronização (n=número de TQ por fase).

Sinc(µs) = n × T Q (6.2)

Sinc(µs) = 1 × T Q = 1 × 1, 25µs = 1, 25µs

Depois de calculada a fase de sincronização, através dos dois controlos de regis- tos seguintes do baud rate calcularam-se as fases que se seguem, ou seja, propa- gação, segmento 1 e segmento 2. Para o segundo registo (BRGCON2) recorreu-se à combinação “0xBDh”, que faz com que a propagação seja igual a 7,5µs e o seg- mento 1 igual a 10µs. As Equações 6.3 e 6.4 mostram os cálculos efectuados para a obtenção desses tempos, respectivos à fase de propagação e do segmento 1.

P rop(µs) = n × T Q (6.3)

P rop(µs) = 6 × T Q = 6 × 1, 25µs = 7, 5µs

Seg1(µs) = n × T Q (6.4)

Seg1(µs) = 8 × T Q = 8 × 1, 25µs = 10µs

Por último, o registo três (BRGCON3), com a combinação de bits “0x81h” que lhe foi atribuída registou o segmento 2. Como se pode verificar na Equação 6.5, esta fase tem uma duração de 2,5µs.

Seg2(µs) = n × T Q (6.5)

Seg2(µs) = 2 × T Q = 2 × 1, 25µs = 2, 5µs

Uma vez que o número de time quanta existentes nas diferentes fases é conhecido, efectuou-se o cálculo do número total de time quanta para um tempo nominal de bit. Através da equação 6.6 chegou-se ao resultado total de 17 time quanta, ou seja,

o tempo nominal de bit é de 17TQ. A Figura 6.1 ilustra o tempo nominal de bit para o caso em estudo.

N BT = nSinc.+ nP rop.+ nSeg1.+ nSeg2. (6.6)

N BT = 1 + 6 + 8 + 2 = 17T Q

Figura 6.1: Tempo nominal de bit.

As Equações 6.7 e 6.8 permitem calcular, para o teste em causa, o tempo de bit e o nominal bit rate, respectivamente. Através da Equação 6.7 foi calculado o tempo de bit cujo valor foi de 21,25µs (Figura 6.2).

Figura 6.2: Tempo nominal de bit visualizado no osciloscópio.

TBIT = 17 × 1, 25µs = 21, 25µs

Através da análise da Figura 6.2, é possível constatar que o tempo de bit corres- ponde ao valor calculado através da Equação 6.7, ou seja, um tempo de bit de 21,25µs.

Com quase todos os cálculos efectuados para este caso de estudo, resta-nos efec- tuar o cálculo do nominal bit rate. Para isso, utilizou-se a Equação 6.8.

N BR = 1 TBIT (6.8) N BR = 1 TBIT = 1 21, 25µs = 47058bit/s ≈ 47kbit/s

• Nominal Bit Rate máximo para o Caso 1 (0x04h)

Como já foi referido nesta secção, através do controlo de registos do baud rate do PIC, é possível efectuar o cálculo das fases de um tempo de bit. Portanto, nesta subsecção diminuiu-se ao máximo o número de time quanta possível. As- sim, optou-se por colocar combinações nos registos do baud rate que fossem de acordo com o pretendido, ou seja, Sincronização = 1 time quantum; Propagação = 3 time quanta; Segmento 1 = 3 time quanta; Segmento 2 = 1 time quantum.

A partir da Equação 6.6 efectuou-se o cálculo do novo tempo nominal de bit refe- rente a este caso.

N BT = 1 + 3 + 3 + 1 = 8T Q

Já com o tempo nominal de bit calculado, com as Equações 6.7 e 6.8 calculou-se o tempo de bit e o nominal bit rate, respectivamente.

Para este caso de estudo, que se pretendeu colocar o menor número de time quanta possível num tempo nominal de bit, os resultados foram agradáveis de comparar. Através da análise da Figura 6.3, verifica-se que o valor do tempo de bit é de 10µs, o mesmo que foi calculado nesta subsecção.

TBIT = 8 × 1, 25µs = 10µs

N BR = 1 TBIT

= 1

10µs = 100000bit/s = 100kbit/s

Figura 6.3: Tempo de bit máximo para o caso em estudo. • Nominal Bit Rate mínimo para o Caso 1 (0x04h)

Após calculado o nominal bit rate para 1 bit que tinha no total 17TQ, um número possível entre 8TQ e 25TQ, foi novamente calculado o nominal bit rate mas, desta feita para 1 bit que contém o mínimo de time quanta permitidos/possíveis, ou seja, 8TQ. Nesta secção resta apenas efectuar o cálculo para o máximo de time quanta permitidos num bit, 25TQ.

Para efectuar estes cálculos foi necessário recorrer aos registos já mencionados nas subsecções anteriores. No entanto, para o cálculo do nominal bit rate mínimo para este caso, a distribuição dos time quanta por segmento foi a seguinte: Sincro- nização = 1 time quantum; Propagação = 8 time quanta; Segmento 1 = 8 time quanta; Segmento 2 = 8 time quanta.

Com os time quanta definidos por cada segmento do tempo nominal de bit, calcu- lou-se com o auxílio das Equações 6.6 e 6.7 o tempo nominal de bit e o tempo de bit.

N BT = 1 + 8 + 8 + 8 = 25T Q

TBIT = 25 × 1, 25µs = 31, 25µs

Calculados o tempo nominal de bit e o tempo de bit resta efectuar o cálculo do nominal bit rate através da Equação 6.8.

N BR = 1 TBIT

= 1

31, 25µs = 32000bit/s = 32kbit/s

A Figura 6.4 apresenta o tempo de bit referente ao número máximo de time quanta definidos para um bit.

Figura 6.4: Tempo de bit para o caso em estudo.

O tempo de bit observado na figura e o calculado através da Equação 6.7 é exac- tamente o mesmo, o de 31,25µs.

• Nominal Bit Rate máximo para o Caso 2 (0x00h)

Nas subsecções anteriores foi utilizado um time quanta de 1,25µs, para que o no- minal bit rate não fosse nem muito elevado nem muito baixo. Nesta subsecção, por sua vez, foi utilizado um baud rate, de forma a terem-se valores elevados de nominal bit rate.

Para efectuar o cálculo foi necessário fazer com que o tempo nominal de bit tivesse o menor número possível de time quanta. Como o número mínimo de time quanta permitido num tempo nominal de bit é de 8TQ e como o segmento 2 deve ser menor ou igual ao segmento 1, foi disposta a seguinte sequência por segmento: Sincronização = 1 time quantum; Propagação = 3 time quanta; Segmento 1 = 3 time quanta; Segmento 2 = 1 time quantum.

Novamente, utilizaram-se as Equações 6.6 e 6.7 para o cálculo do tempo nominal de bit e do tempo de bit.

N BT = 1 + 3 + 3 + 1 = 8T Q

TBIT = 8 × 0, 125µs = 1µs

Após o cálculo do tempo de bit, pode-se então calcular o nominal bit rate. Através do auxílio da Equação 6.8 tem-se:

N BR = 1 TBIT

= 1

1µs = 1000000bit/s = 1M bit/s

A Figura 6.5 mostra o tempo de bit para um nominal bit rate máximo (1Mbit/s) que as redes CAN suportam.

Figura 6.5: Tempo de bit para o máximo nominal bit rate suportado nas redes CAN.

Em comparação com os resultados calculados e os analisados na Figura 6.5, ve- rifica-se que os valores são os mesmos, um tempo de bit com o valor de 1µs. Apesar de ser o valor máximo do nominal bit rate, isto não significa que as redes com um barramento muito extenso, consigam suportar a comunicação entre os nós. Como já foi visto no Capítulo 3, para um nominal bit rate de 1Mbit/s o com- primento máximo do barramento não deve exceder os 40m. Afim de se confirmar tal afirmação, serão feitos testes nesse âmbito. Os resultados serão apresentados e analisados na subsecção do CAN_HIGH e CAN_LOW.