·

Engenharia Elétrica ·

Sistemas de Controle

Send your question to AI and receive an answer instantly

Ask Question

Preview text

919026 SISTEMAS DIGITAIS MICROCONTROLADOS 5150772 ANDERSON WILLIAM BICALHO 1ª AVALIAÇÃO CONTINUADA QUESTÃO ABERTA Questão 1 Questão 11 Valor da questão 1000 Estou com dúvida Responda o que se pede a Descreva o funcionamento do seguinte código settrisb0b11001101 b Descreva o padrão de comunicação CAN c O microcontrolador PIC16F87x possui 3 contadorestemporizadores internos que podem usar CLOCK interno ou externo Em ambos os casos é possível utilizar um divisor de CLOCK para ajuste na temporização de determinados eventos Considere que o oscilador principal possui frequência de 20MHz e que o temporizador utilizado é o TIMER0 com PRESCALER de 116 qual será o intervalo de eventos se o TIMER0 é sempre iniciado com 6 919026 SISTEMAS DIGITAIS MICROCONTROLADOS 5150772 ANDERSON WILLIAM BICALHO 1ª AVALIAÇÃO CONTINUADA QUESTÃO ABERTA Questão 1 Questão 11 Valor da questão 1000 Estou com dúvida Responda o que se pede a Descreva o funcionamento do seguinte código settrisb0b11001101 b Descreva o padrão de comunicação CAN c O microcontrolador PIC16F87x possui 3 contadorestemporizadores internos que podem usar CLOCK interno ou externo Em ambos os casos é possível utilizar um divisor de CLOCK para ajuste na temporização de determinados eventos Considere que o oscilador principal possui frequência de 20MHz e que o temporizador utilizado é o TIMER0 com PRESCALER de 116 qual será o intervalo de eventos se o TIMER0 é sempre iniciado com 6 Resolução a O código settrisb0b11001101 está escrito em uma linguagem de programação e faz parte do ambiente de desenvolvimento para microcontroladores da família PIC da Microchip Nesse contexto o código está sendo usado para configurar os pinos de entradasaída do PortB como entradas ou saídas digitais Vou explicar o funcionamento do código passo a passo settrisb Isso indica o início da função settrisb que é uma função usada para configurar os registradores de direção do PortB 0b11001101 Esse é um número binário que representa a configuração desejada para os pinos do PortB Cada dígito binário 0 ou 1 representa o modo de operação de um pino específico do PortB O bit 7 MSB à direita representa o pino RB7 o bit 6 representa o pino RB6 e assim por diante até o bit 0 LSB à esquerda que representa o pino RB0 Aqui está a correspondência entre os bits no número binário e os pinos do PortB Bit 7 RB7 Pino de entradasaída Bit 6 RB6 Pino de entradasaída Bit 5 Não usado Bit 4 RB4 Pino de entradasaída Bit 3 RB3 Pino de entradasaída Bit 2 Não usado Bit 1 RB1 Pino de entradasaída Bit 0 RB0 Pino de entradasaída Isso indica o final dos argumentos da função settrisb O resultado desse código é configurar os pinos do PortB do microcontrolador conforme especificado pelos bits no número binário 0b11001101 Isso significa que os pinos RB7 RB6 RB4 RB3 RB1 e RB0 serão configurados como pinos de entradasaída enquanto os bits não utilizados 5 e 2 não terão efeito nesse caso b O padrão de comunicação CAN Controller Area Network é um protocolo de comunicação serial amplamente utilizado em sistemas automotivos e industriais para permitir a troca confiável de dados entre diferentes dispositivos eletrônicos distribuídos em uma rede Ele foi originalmente desenvolvido pela empresa alemã Bosch na década de 1980 e desde então se tornou um padrão internacional ISO 11898 amplamente adotado Principais Características do Padrão CAN Comunicação em Barramento O CAN é baseado em um barramento serial onde vários dispositivos nós podem se comunicar usando a mesma linha de comunicação Isso permite a interconexão eficiente de diversos dispositivos em uma única rede Topologia O CAN opera em uma topologia de barramento linear onde todos os dispositivos estão conectados a um único cabo Cada nó da rede é capaz de transmitir e receber mensagens Diferencial O CAN utiliza comunicação diferencial o que significa que os dados são transmitidos como a diferença de potencial entre dois fios CANH e CANL Isso aumenta a resistência a interferências eletromagnéticas e melhora a confiabilidade da comunicação Arbitração de Mensagens No CAN vários nós podem tentar transmitir mensagens simultaneamente Para resolver conflitos o protocolo utiliza um esquema de arbitração com base na prioridade das mensagens Mensagens com IDs mais baixos têm maior prioridade Quadros de Dados e Quadros Remotos O CAN utiliza dois tipos principais de quadros o quadro de dados Data Frame é usado para transmitir dados entre os nós enquanto o quadro remoto Remote Frame é usado para solicitar dados de um nó específico Bit Stuffing Para garantir que haja transições regulares nos dados transmitidos e evitar que sequências longas de bits iguais causem perda de sincronização o CAN utiliza o bit stuffing Isso envolve a inserção de bits extras para manter um limite máximo de bits iguais consecutivos Checksum Cada mensagem CAN inclui um campo de verificação de redundância cíclica CRC para detecção de erros Isso ajuda a garantir a integridade dos dados transmitidos Taxa de Transmissão Configurável O CAN permite configurar a taxa de transmissão da rede de acordo com as necessidades da aplicação Taxas comuns incluem 125 kbps 250 kbps 500 kbps e 1 Mbps Controle de Erros O CAN possui mecanismos de detecção e correção de erros como a detecção de erros de bit erros de formato de quadro e erros de CRC Devido a essas características o CAN é amplamente usado em aplicações que exigem alta confiabilidade tolerância a falhas e comunicação rápida entre dispositivos distribuídos como sistemas de controle automotivo equipamentos industriais equipamentos médicos e muito mais c Para calcular o intervalo de eventos usando o TIMER0 do microcontrolador PIC16F87x com um oscilador principal de 20MHz e um prescaler de 116 se seguiu as etapas abaixo Calcule o ciclo de clock efetivo após a divisão pelo prescaler Frequência após o prescaler Frequência do oscilador principal Prescaler Frequência após o prescaler 20 MHz 16 125 MHz Determine o período de clock efetivo Período de clock 1 Frequência após o prescaler Período de clock 1 125 MHz 00000008 segundos ou 800 nanossegundos Calcule o número de ciclos de clock necessários para atingir o valor inicial de 6 no TIMER0 Número de ciclos Valor inicial Fator de prescaler Número de ciclos 6 16 0375 Como o valor do número de ciclos é menor do que 1 isso indica que o TIMER0 será reiniciado antes de atingir um ciclo completo de clock Portanto o intervalo de eventos será menor que o período de clock Devido a essa configuração o TIMER0 irá estourar rapidamente após ser iniciado com o valor 6 devido ao prescaler e à frequência alta do oscilador O intervalo de eventos será muito curto o que pode ser difícil de perceber em termos de tempo real uma vez que estamos lidando com valores extremamente pequenos na escala de nanossegundos O valor inicial de 6 combinado com a frequência rápida resultará em uma contagem muito rápida e portanto em estouro do temporizador em um intervalo quase imediatamente após ser iniciado 919026 SISTEMAS DIGITAIS MICROCONTROLADOS 5150772 ANDERSON WILLIAM BICALHO 1ª AVALIAÇÃO CONTINUADA QUESTÃO ABERTA Questão 1 Questão 11 Valor da questão 1000 Estou com dúvida Responda o que se pede a Descreva o funcionamento do seguinte código settrisb0b11001101 b Descreva o padrão de comunicação CAN c O microcontrolador PIC16F87x possui 3 contadorestemporizadores internos que podem usar CLOCK interno ou externo Em ambos os casos é possível utilizar um divisor de CLOCK para ajuste na temporização de determinados eventos Considere que o oscilador principal possui frequência de 20MHz e que o temporizador utilizado é o TIMER0 com PRESCALER de 116 qual será o intervalo de eventos se o TIMER0 é sempre iniciado com 6 Resolução a O código settrisb0b11001101 está escrito em uma linguagem de programação e faz parte do ambiente de desenvolvimento para microcontroladores da família PIC da Microchip Nesse contexto o código está sendo usado para configurar os pinos de entradasaída do PortB como entradas ou saídas digitais Vou explicar o funcionamento do código passo a passo settrisb Isso indica o início da função settrisb que é uma função usada para configurar os registradores de direção do PortB 0b11001101 Esse é um número binário que representa a configuração desejada para os pinos do PortB Cada dígito binário 0 ou 1 representa o modo de operação de um pino específico do PortB O bit 7 MSB à direita representa o pino RB7 o bit 6 representa o pino RB6 e assim por diante até o bit 0 LSB à esquerda que representa o pino RB0 Aqui está a correspondência entre os bits no número binário e os pinos do PortB Bit 7 RB7 Pino de entradasaída Bit 6 RB6 Pino de entradasaída Bit 5 Não usado Bit 4 RB4 Pino de entradasaída Bit 3 RB3 Pino de entradasaída Bit 2 Não usado Bit 1 RB1 Pino de entradasaída Bit 0 RB0 Pino de entradasaída Isso indica o final dos argumentos da função settrisb O resultado desse código é configurar os pinos do PortB do microcontrolador conforme especificado pelos bits no número binário 0b11001101 Isso significa que os pinos RB7 RB6 RB4 RB3 RB1 e RB0 serão configurados como pinos de entradasaída enquanto os bits não utilizados 5 e 2 não terão efeito nesse caso b O padrão de comunicação CAN Controller Area Network é um protocolo de comunicação serial amplamente utilizado em sistemas automotivos e industriais para permitir a troca confiável de dados entre diferentes dispositivos eletrônicos distribuídos em uma rede Ele foi originalmente desenvolvido pela empresa alemã Bosch na década de 1980 e desde então se tornou um padrão internacional ISO 11898 amplamente adotado Principais Características do Padrão CAN Comunicação em Barramento O CAN é baseado em um barramento serial onde vários dispositivos nós podem se comunicar usando a mesma linha de comunicação Isso permite a interconexão eficiente de diversos dispositivos em uma única rede Topologia O CAN opera em uma topologia de barramento linear onde todos os dispositivos estão conectados a um único cabo Cada nó da rede é capaz de transmitir e receber mensagens Diferencial O CAN utiliza comunicação diferencial o que significa que os dados são transmitidos como a diferença de potencial entre dois fios CANH e CANL Isso aumenta a resistência a interferências eletromagnéticas e melhora a confiabilidade da comunicação Arbitração de Mensagens No CAN vários nós podem tentar transmitir mensagens simultaneamente Para resolver conflitos o protocolo utiliza um esquema de arbitração com base na prioridade das mensagens Mensagens com IDs mais baixos têm maior prioridade Quadros de Dados e Quadros Remotos O CAN utiliza dois tipos principais de quadros o quadro de dados Data Frame é usado para transmitir dados entre os nós enquanto o quadro remoto Remote Frame é usado para solicitar dados de um nó específico Bit Stuffing Para garantir que haja transições regulares nos dados transmitidos e evitar que sequências longas de bits iguais causem perda de sincronização o CAN utiliza o bit stuffing Isso envolve a inserção de bits extras para manter um limite máximo de bits iguais consecutivos Checksum Cada mensagem CAN inclui um campo de verificação de redundância cíclica CRC para detecção de erros Isso ajuda a garantir a integridade dos dados transmitidos Taxa de Transmissão Configurável O CAN permite configurar a taxa de transmissão da rede de acordo com as necessidades da aplicação Taxas comuns incluem 125 kbps 250 kbps 500 kbps e 1 Mbps Controle de Erros O CAN possui mecanismos de detecção e correção de erros como a detecção de erros de bit erros de formato de quadro e erros de CRC Devido a essas características o CAN é amplamente usado em aplicações que exigem alta confiabilidade tolerância a falhas e comunicação rápida entre dispositivos distribuídos como sistemas de controle automotivo equipamentos industriais equipamentos médicos e muito mais c Para calcular o intervalo de eventos usando o TIMER0 do microcontrolador PIC16F87x com um oscilador principal de 20MHz e um prescaler de 116 se seguiu as etapas abaixo Calcule o ciclo de clock efetivo após a divisão pelo prescaler Frequência após o prescaler Frequência do oscilador principal Prescaler Frequência após o prescaler 20 MHz 16 125 MHz Determine o período de clock efetivo Período de clock 1 Frequência após o prescaler Período de clock 1 125 MHz 00000008 segundos ou 800 nanossegundos Calcule o número de ciclos de clock necessários para atingir o valor inicial de 6 no TIMER0 Número de ciclos Valor inicial Fator de prescaler Número de ciclos 6 16 0375 Como o valor do número de ciclos é menor do que 1 isso indica que o TIMER0 será reiniciado antes de atingir um ciclo completo de clock Portanto o intervalo de eventos será menor que o período de clock Devido a essa configuração o TIMER0 irá estourar rapidamente após ser iniciado com o valor 6 devido ao prescaler e à frequência alta do oscilador O intervalo de eventos será muito curto o que pode ser difícil de perceber em termos de tempo real uma vez que estamos lidando com valores extremamente pequenos na escala de nanossegundos O valor inicial de 6 combinado com a frequência rápida resultará em uma contagem muito rápida e portanto em estouro do temporizador em um intervalo quase imediatamente após ser iniciado