Baixe o app para aproveitar ainda mais
Prévia do material em texto
Atividade 3 – ARQUITETURA DE COMPUTADORES E MICROPROCESSADORES No mundo da computação, mais especificamente nas tecnologias voltadas aos sistemas embarcados, existem diversos padrões de barramentos, como o I2C, o I3C, o Wishbone, o SPI, o CoreConnect, o AMBA e o Silicon Backplane Micronetowork. Para ter uma ideia de barramentos em sistemas embarcados, você poderá acessar o artigo disponibilizado neste endereço eletrônico: https://www.embarcados.com.br/barramento-can-entre-arduinos- uno/. Nesse artigo, é descrito um barramento denominado CAN. Essa leitura o ajudará no entendimento dos aspectos inerentes aos barramentos em sistemas embarcados. Para esta questão, escolha um padrão de barramento utilizado em sistemas embarcados e construa um pequeno relatório com as seguintes informações do barramento escolhido: • descrição sucinta do barramento; • topologia utilizada; • sistema de arbitragem (controle); • aplicações. Referência SILVA, I.L. Barramento CAN entre Arduinos UNO. Embarcados, [S. l.], 4 out. 2019. Disponível em: https://www.embarcados.com.br/barramento-can-entre- arduinos-uno/. Acesso em: 28 nov. 2020. O barramento escolhido foi o SPI Serial Peripheral Interface (SPI) O SPI é um barramento de comunicação serial síncrono utilizado para pequenas distâncias. Ele opera em full-duplex no modo mestre-escravo. O SPI é baseado em quatro sinais, como mostrado abaxo: SCLK: clock, saída do mestre MOSI: Saída do mestre, entrada no escravo MISO: Entrada no mestre, saída do escravo #SS: Seleção do escravo, saída do mestre Embora menos comum, o SPI também pode funcionar em uma topologia daisy chain (ligação em cadeia de dispositivos SPI). TOPOLOGIA - Uma interface de comunicação serial básica (Daisy Chain) Muitos dispositivos SPI não são endereçáveis individualmente. Conseqüentemente, a comunicação entre esses dispositivos e um único dispositivo em um barramento requer hardware adicional ou organização de software. A Figura 1 mostra um sistema no qual um microcontrolador se comunica com vários dispositivos escravos. Microcontrolador com chip independente seleciona vários dispositivos escravos. Figura 1. Microcontrolador com seleção de chip independente para vários dispositivos escravos. Serial Peripheral Interface ou SPI é um protocolo que permite a comunicação do microcontrolador com diversos outros componentes, formando uma rede. É uma especificação de interface de comunicação série síncrona usada para comunicação de curta distância, principalmente em sistemas embarcados. A interface foi desenvolvida pela Motorola e tornou-se um padrão de facto. Aplicações típicas incluem cartões SD e mostradores de cristal líquido. Os dispositivos SPI comunicam entre si em modo "full duplex" usando uma arquitectura "master-slave" com um único mestre. O dispositivo mestre origina a trama para a leitura e a escrita. Múltiplos dispositivos escravos são suportados através de seleção com linhas de seleção de escravos individuais (SS). Às vezes SPI é chamado de barramento serial de quatro fios, contrastando com os barramentos seriais de três, dois (como o I2C) e um (como o One Wire) fio. O SPI pode ser descrito com precisão como uma interface de série síncrona, mas é diferente do protocolo síncrono de interface de série (SSI), que também é um síncrono protocolo de comunicação em série de quatro fios, mas emprega sinal diferencial e fornece apenas um único canal de comunicação simples. Em modo "escravo", o microcontrolador comporta-se como um componente da rede, recebendo o sinal de Clock. Em modo "mestre", o microcontrolador gera um sinal de relógio e deve ter um pino de entrada/saída para habilitação de cada periférico. Utilizando a Comunicação SPI no Mbed O Mbed é um sistema que engloba hardwares de prateleira e uma plataforma online que permite desenvolver firmwares de forma intuitiva para microcontroladores ARM. É mantido, testado e administrado pela própria ARM. A intenção principal é remover todas as barreiras que existem de configuração de registradores, manipulação de periféricos e instalação de softwares. É possível, dessa forma, atender diversos tipos de público, o que, com certeza, ajuda a divulgar os projetos de protótipos de sistemas eletrônicos de baixo consumo e permite o desenvolvimento de sistemas de controle ou monitoramento caseiros ou para testes. Sendo assim, se apresenta de forma mais democrática entre os sistemas com microcontroladores. Disponibiliza atualmente para desenvolvimento de software as linguagens C e C++ e é conforme com CMSIS, e funciona com os microcontroladores dos fabricantes Freescale, Nordic, NXP, u-blox e ST SPI1 e SPI2 no MBed de núcleo LPC1768. Tão simples quanto o Arduino, o Mbed já possui uma biblioteca pronta para a comunicação SPI. Neste caso, há a necessidade de indicar quais os pinos MISO, MOSI e SCK do dispositivo. Como trabalharemos como Master de comunicação, a seleção do Slave é feita por um pino digital padrão. No entanto, vale identificar que a documentação do Mbed sempre apresenta este como CS, e não como SS. No entanto, possui a mesma função. Os pinos de comunicação são passados no construtor da classe, e para o nosso exemplo são: MOSI p5 MISO p6 SCK p7 • format() Essa instrução faz a configuração do número de bits (de 4 a 16 bits) e do modo (de 0 a 3), através de seus parâmetros. • frequency() Configura a frequência em Hz do SCK. O valor default é 1MHz. • write() Este é a instrução de transferência. Apensar de o nome trazer a ideia apenas de escrita, este método envia o dado atribuído ao parâmetro e retorna o dado recebido. Resumo: Em sistemas SPI típicos com um mestre e vários escravos, um sinal de seleção de chip dedicado é usado para endereçar um escravo individual. À medida que o número de escravos aumenta, também aumenta o número de linhas de seleção de chips. Nesta situação, o layout da placa do sistema pode se tornar um grande desafio. Aplicação: Uma alternativa de layout é o encadeamento. Este artigo explica os detalhes de um sistema SPI encadeado em série e mostra como o software pode ser usado para propagar comandos por meio de uma sequência de escravos. Um microcontrolador compatível com SPI ™ / QSPI ™ / MICROWIRE ™ padrão se comunica com seus dispositivos escravos por meio de uma interface serial de 3 ou 4 fios. A interface típica inclui um sinal de seleção de chip (CS ativo-baixo), um relógio serial (SCLK), um sinal de entrada de dados (DIN) e, ocasionalmente, um sinal de saída de dados (DOUT). Dispositivos que são endereçáveis individualmente, como é comum em sistemas I²C, comunicam-se facilmente com um único dispositivo em um barramento.
Compartilhar