[Música] Olá eu sou professor Jorge wattes tenho altura mediana corpo robusto rosto arredondado com orelhas proeminentes tenho cabelo loiros curto e grosso e também tenho pele clara estou com a barba raspada e usando uma camiseta Verde escura de GO simples feita de algodão confortvel e de tamanho adequado hoje Vamos explorar os principais componentes da arquitetura de sistemas embarcados na aula anterior aprendemos os conceitos básicos sobre sistemas embarcados Hoje iremos nos aprofundar na arquitetura e componentes espero que você goste da aula segundo Einstein as pessoas podem tirar tudo de você menos o seu conhecimento Então vamos
em frente vamos falar um pouco sobre a arquitetura de um sistema embarcado Começando por dois principais componentes o software e o hardware embarcado esses dois elementos são normalmente projetados em conjuntos para atender uma aplicação específica Primeiro vamos entender o software embarcado ele é a inteligência do sistema composto por diversos módulos algum desses módulos como os drivers e sistemas operacionais embarcados são frequentemente projetados por empresas de desenvolvimento especializado outros Como firmer que é o software embarcado de aplicações são projetados pelo desenvolvedor responsável pela solução específica o firmware em particular controla as funções básicas do Hardware como
o processo de inicialização e as comunicações com os di dierentes componentes do sistema agora do outro lado temos o hardware embarcado que é composto pelos componentes físicos do sistema esses incluem o processador que são o cérebro do sistema as memórias que armazenam tanto o código quanto os dados as interfaces de comunicação que permitem o sistema interagir com o mundo externo e os circuitos auxiliares como sensores e atuadores que permitem que o sistema embarcado perceba e atue no ambiente ao seu redor em resumo o software e o hardware embar trabalham juntos para criar um sistema eficiente
e específico para aplicação desejada no desenvolvimento de sistemas embarcados é essencial entender como esses dois componentes se integram e se complementam para garantir o sucesso do projeto agora vamos voltar a nossa atenção para o hardware especificamente para a arquitetura de hardware baseada em microcontrolador Como podemos ver na ilustração um microcontrolador é um sistema compacto que integra em um único chip um microprocessador memória barr m e interfaces essa integração torna o microcontrolador uma solução poderosa e eficiente para muitas aplicações além desses componentes internos temos também os sensores e atuadores que desempenham papéis essenciais como circuitos auxiliares
externos aos microcontroladores eles permitem que o sistema embarcado interaja com o ambiente captando informações e realizando ações com base nos dados processados um aspecto arquitetural crucial que devemos explorar mais a fundo é a implementação dos barramentos de dados endereço e controle Esses barramentos são responsáveis pela comunicação interna entre o processador e a memória e as interfaces garantindo que os dados sejam transmitidos de maneira eficiente e sincronizados dentro do sistema entender como esses barramentos funcionam é fundamental para compreender a arquitetura de um microcontrolador e como ele opera em um sistema embarcado na arquitetura Harvard que é
o foco da nossa próxima discussão existem dois espaços de endereço de memória separado a memória de programação e a memória de dados a memória de programa é onde a instrução são armazenadas na arquitetura de Harvard que é o foco da nossa próxima discussão existem dois espaços de endereçamento de memórias separados a memória de programa e a memória de dados a memória de programa é onde as instruções são armazenadas enquanto a memória de dados armazena os dados que serão processados essa separação permite uma vantagem é possível ler simultaneamente uma palavra de dado e uma palavra de
instrução isso resulta em um processamento mais rápido e eficiente já que o processador não precisa esperar para acessar os dados e as instruções de forma sequencial como ocorre na arquitetura de Von Newman essa arquitetura de Harvard é especialmente comum em processadores do tipo Risk reduced instru set computer os processadores Risk são conhecidos por sua idade e eficiência focando em um conjunto reduzido de instruções o que permite operações rápidas e a implementação de pipelines eficazes ao combinar a arquitetura Harvard com design Risk os sistemas embarcados conseguem alcançar alta performance em tarefas específicas mantendo bom equilíbrio entre
complexidade e eficiência energética por outro lado temos processadores que utilizam um espaço de endereçamento único para armazenar tanto os dados quanto as instruções essa configuração é conhecida como arquitetura de Von Newman diferente da arquitetura de Harvard a arquitetura de Von Newman não permite o acesso simultâneo à aos dados e as instruções como ambos compartilham o mesmo barramento de memória o processador precisa alternar entre a leitura de uma instrução e o acesso aos dados necessários o que pode resultar em uma operação mais lenta essa arquitetura é comum em Sistemas cisc Complex instruction set computer ou seja
processadores que possuem um conjunto complexo de instruções processadores cisc são projetados para executar tarefas mais complexas com menos linhas de códigos o que pode simplificar a programação em certos contextos mas Em contrapartida essa complexidade muitas vezes leva um desempenho menor quando comparado com os sistemas Risk E especialmente em operações que envolvem muitas leituras e escritas na memória apesar de ser mais lenta devido a limitação no acesso simultâneo aos dados e às instruções a arquitetura Von nilman ainda é amplamente utilizada especialmente em sistema onde a flexibilidade e a compatibilidade com o vasto conjunto de instruções são
mais importante do que a velocidade pura agora vamos apresentar um modelo de três camadas para um sistema embarcado como vocês podem ver na ilustração esse modelo é composto pelas camadas de hardware software básico e software de aplicação primeiro temos a camada de hardware que é base do sistema ela inclui todos os componentes físicos do microcontrolador as memória as interfaces de comunicação além dos sensores e externos é essa camada que sustenta todo o funcionamento do sistema logo acima está a camada de software básico essa camada inclui o firmware drivers e em alguns casos um sistema operacional
ela é responsável por gerenciar os recursos do hardware e fornecer uma Interface para que o software de aplicação possa interagir de maneira eficiente e segura com os componentes físicos por fim no topo temos a camada de software de aplicação é aqui que reside a lógica específica da aplicação essa camada é desenvolvida para realizar as funções que o sistema embarcado foi projetado para executar nos próximos slides iremos detalhar os componentes de cada uma dessas camadas e suas principais características a camada de hardware abriga todos os componentes físicos do sistema e podemos dividi-la em dois tipos principais
o primeiro tipo é o hardwired hardware que é o a opção mais comum ele é normalmente baseado em microprocessadores e microcontroladores esses componentes são projetados para executar funções específicas de forma eficiente e são amplamente utilizados na maioria dos sistemas embarcados devido a sua confiabilidade e desempenho segundo tipo é o softw hardware que é baseado em dispositivos lógicos programáveis como fpgas ou cplds esses dispositivos permitem maior flexibilidade pois podem ser reprogramados para diferentes tarefas ou funções após a fabricação no entanto são utilizados com menor frequência em comparação com com o hardwired hardware geralmente em aplicações onde
a flexibilidade e a capacidade de custumização são mais importantes do que a eficiência e o custo vamos nos aprofundar um pouco mais nos componentes da camada de hardware focando nos elementos digitais que são utilizados para os sistemas embarcados primeiro temos os elementos de processamento Aqui estamos falando de microprocessadores e microcontroladores que são os principais responsáveis por executar as instruções de de software no entanto em algumas aplicações específicas também podemos encontrar processadores especializados ou co-processador esses processadores adicionais são utilizados para tarefas específicas como criptografia processamento de vídeo ou áudio entre outras eles ajudam a aliviar a
carga do processador principal tornando o sistema mais eficiente em aplicações que exigem alto desempenho além dos elementos de processamento temos os componentes de memória que são essenciais para armazenamento de dados e instruções As Memórias podem ser diferentes de diferentes tipos Cada uma com sua característica própria quanto a memória estática sram esse tipo de memória é rápido e é usado principalmente para armazenar dados temporários que o processador precisa acessar rapidamente no entanto por serem mais caras e ocupar mais espaço é utilizada de forma limitada já a memória dinâmica deram é utilizada quando é necessário armazenar uma
quantidade maior de dados a dam é uma escolha comum ela é mais densa e menos cara que a esse Ram mas é um pouco mais lenta e precisa de de atualização constante para manter os dados armazenados por fim temos a memória flash que são amplamente utilizadas para o armazenamento permanente de dados e códigos elas são não voláteis o que significa que mantém os dados mesmo quando o sistema é desligado esses componentes de memória desempenham papéis fundamentais no desempenho e na capacidade de um sistema embarcado e escolher o tipo certo de memória para cada aplicação é
uma decisão crucial no processo de design também na camada de hardware encontramos os sensores e atuadores que são componentes essenciais para que o sistema embarcado possa interagir com o mundo exterior os sensores são dispositivos que capturam dados do ambiente e convertem essa informação em sinais elétricos que podem ser processados pelo sistema Existem muitos tipos diferentes de sensores cada um projetado para medir grandezas específicas por exemplo temos sensores de luz som velocidade temperatura dentre outros esses sensores permitem que o sistema embarcado Perceba o ambiente ao seu redor E Tome decisões baseadas nesses dados por outro lado
os atuadores são responsáveis por executar ações no ambiente com base nas instruções recebidas do sistema existem diversos tipos de atuadores como relés motores leds e muitos outros eles são usados para controlar dispositivos mecânicos acionar luzes gerar movimentos ou realizar outras ações físicas necessárias para o funcionamento da aplicação embarcada A Escolha dos sensores e atuadores certos depende da necessidade específica de cada aplicação e entender como integrá-los ao sistema de maneira eficiente é fundamental para o sucesso do projeto além desses componentes é comum encontrarmos diversas interfaces para periféricos especialmente em microcontroladores Essas interfaces são fundamentais para conectar
o microcontrolador a outros dispositivos e sensores expandindo suas capacidades de interação com o ambiente os gpios São Pinos de propósito geral que permitem acessar diferentes dispositivos como Teclados displays leds e outros componentes eles são extremamente versáteis permitindo o microcontrolador interaja com o mundo externo de várias maneiras seja lendo sinais de entrada ou controlando dispositivos de saída os temporizadores e contadores são usados para medir tempo e contar eventos eles são essenciais em muitas aplicações como controle de precisão de tempo Ah geração de sinais de relógio ou na contagem de eventos específicos que ocorram no sistema como
pulsos de um sensor nas aplicações seriais permitem a comunicação com outros sistemas e sensores exemplos comuns incl incluem a Art uspi e o i2c cada um com suas próprias características e aplicações essas interfaces facilitam a troca de dados entre o microcontrolador e outros dispositivos como módulos de comunicação sensores e até mesmo outros microcontroladores os conversores analógicos digitais Ades e digitais analógicos da são cruciais para interagir com o mundo físico os conversores AD permitem que o sinal analógico do ambiente como a tensão de um sensor seja convertido em dados digitais que o microcontrolador possa processar por
outro lado o conversor da faz o inverso convertendo sinais digitais em sinais analógicos que podem ser utilizados para controlar dispositivos analógicos como motores ou altofalantes por fim temos o pwm pul with modulation e os drivers de motores o pwm é uma técnica utiliz ada para controlar a potência fornecida a dispositivos como motores e leds modulando a largura dos pulsos do sinal de controle os drivers de de motores são circuitos que que permitem o controle de motores elétricos fornecendo a corrente e atenção necessária para o seu funcionamento acima da camada de hardware temos a camada de
software básico essa camada é fundamental para o funcionamento do sistema Pois é nela que encontramos os drivers dos dispositivos periféricos esses drivers são módulos bibliotecas que simplificam o uso dos periféricos como temporizadores portas seriais entre outros eles escondem a complexidade do Hardware permitindo que as camadas superiores acessem os dispositivos físicos de maneira mais direta e intuitiva além dos drivers em muitas aplicações embarcadas é comum o uso de sistemas operacionais embarcados de tempo real os chamados rtos esses sistemas operacionais fornecem suporte a multithreading ou multitarefa permitindo que várias tarefas eh de S sejam executadas ao mesmo
tempo o que é crucial para aplicações que exigem alta responsividade e gerenciamento eficiente de recursos no entanto Vale destacar que nem todos os sistemas embarcados utilizam rtos em Sistemas mais simples pode não haver a necessidade desse tipo de gerenciamento complexo mesmo assim esses sistemas podem ter bibliotecas que desempenham funções similares às do device drivers permitindo o controle dos periféricos com a necessidade sem a idade de um sistema operacional completo essa flexibilidade na camada de software básico é uma característica importante nos sistemas embarcados adaptando-se às necessidades específicas de cada aplicação próxima camada que vamos abordar é
a camada de protocolos e serviços ela é composta por bibliotecas que implementam os detalhes de operação de diversos Protocolos de comunicação como TCP IP zigby lora USB entre outros além de funcionalidades como georeferenciamento ou criptografia normalmente essas pilhas de protocolo são desenvolvidas por terceiros e podem ser Integradas diretamente em nossas aplicações o uso dessas bibliotecas traz um grande uma grande vantagem pois permite agilizar o desenvolvimento de novas soluções liberando o desenvolvedor da necessidade de conhecer a fundo todos os detalhes da implementação de um protocolo para utilizá-lo em vez de inventar a roda o desenvolvedor pode
se concentrar na lógica específica da aplicação aproveitando as funcionalidades prontas e testadas dessas pilhas de protocolos isso não só economiza tempo mas aumenta a robustez e a confiabilidade da aplicação uma vez que esses protocolos são frequentemente utilizados e amplamente validados na indústria por fim chegamos à camada de software de aplicação que é onde a funcionalidade específica de um sistema embarcado são implementadas essa é a camada onde o desenvolvedor de sistemas embarcados realmente coloca em prática seu trabalho desenvolvendo a lógica que irá atender à necessidades da aplicação nessa camada o código é escrito para controlar e
gerenciar as operações específicas do sistema como a interação com sensores a comunicação com outros dispositivos o processamento de dados e a interface com o usuário se houver tudo isso é feito utilizando as funcionalidades estabelecidas pelas camadas anteriores o hardware o software básicos e as bibliotecas de protocolo e serviços é na camada de software de aplicação que o produto final ganha vida realizando as tarefas para as quais foi projetado o sucesso do sistema embarcado depende diretamente da eficiência e da precisão com que o software de aplicação é desenvolvido e integrado com as outras camadas os sistemas
embarcados são parte integrantes de nossa vida em uma ampla variedade de situações nos próximos slides Vamos explorar alguns exemplos como esses sistemas são aplicados em noss em diferentes áreas é importante lembrar que a Inovação desempenha um papel crucial Nesse contexto sendo a chave para transformações necessárias para o futuro do nosso planeta seja na automação residencial no setor autom na saúde ou na agricultura os sistemas embarcados estão presentes impulsionando avanços tecnológicos que podem nos ajudar a enfrentar Os Desafios de um mundo em constante mudança Vamos então conferir esses exemplos e refletir sobre como a Inovação em
Sistemas embarcados pode contribuir para um futuro mais sustentável e eficiente área industrial é sem dúvida um campo vasto e rico em aplicações para sistemas embarcados vamos destacar apenas quatro exemplos mas é importante lembrar que as possibilidades são inúmeras primeiro tem o acompanhamento do deslocamento de pessoas no chão de fábrica sistemas embarcados podem rastrear o movimento dos trabalhadores ajudando a implementar medidas de segurança mais eficazes como evitar zonas de risco ou alertas sobre situações perigosas em segundo lugar o sistema embarcado podem ser utilizados para monitorar e diagnosticar falhas no maquinário isso permite uma manutenção preditiva onde
as falhas são detectadas antes que causem interrupções na produção aumentando a eficiência e reduzindo os custos com manuten terceiro temos a operação de máquinas por gestos combinando sistemas embarcados com visão computacional e outros sensores os operadores podem controlar máquinas usando simples gestos o que pode melhorar a ergonomia e a segurança no ambiente de trabalho por fim os sistemas embarcados são fundamentais para otimizar o consumo de energia na indústria medidores de energia inteligente permitem monitorar e controlar o uso de energia em tempo real identificando desperdício e ajustando o consumo conforme a necessid contribuindo para a sustentabilidade
e a redução de custos Esses são apenas alguns exemplos de como os sistemas embarcados são Transform estão transformando o ambiente Industrial trazendo mais eficiência segurança e inovação para o setor outro exemplo de aplicação de sistemas embarcados agora na área de segurança é o controle inteligente de uma residência para o cuidado de pessoas com necessidades especiais nesse tipo de sistema os dispositivos embarcados monitoram as atividades dos residentes coletando dados em tempo real sobre o seu comportamento e estado de saúde essas informações são então enviadas aos cuidadores ou familiares permitindo que eles acompanhem de perto o bem-estar
do indivíduo e respondam rapidamente a qualquer necessidade ou emergência por exemplo o sistema pode detectar se a pessoa não se levantou da cama em um horário habitual se houve uma queda ou se o ambiente está inadequado em termos de temperatura ou iluminação esse tipo de aplicação não só aumenta a segurança e conforto das pessoas pessoas com necessidades especiais mas também proporciona maior tranquilidade para os cuidadores que po que podem prestar um atendimento mais eficiente e personalizado mesmo à distância na agricultura um exemplo interessante de aplicação de sistemas embarcados é o monitoramento do cultivo de cogumelos
Nesse contexto o sistema embarcado pode ser utilizado para monitorar vários parâmetros críticos como temperatura umidade luz entre outros esses dados são essenciais para observar e otimizar o crescimento do cultivo de cogumelos com essas informações em mãos o sistema embarcado pode tomar decisões automáticas para controlar a iluminação a irrigação e a ventilação garantindo que as condições ambientais estejam sempre ideais para o desenvolvimento dos cogumelos esse tipo de automação não Só melhora a eficiência educ cutivo mas também permite uma produção mais consistente e de alta qualidade reduzindo desperdícios e aumentando a rentabilidade para os agricultores na medicina
um exemplo prático de aplicação de sistemas embarcados é o monitoramento cardíaco em tempo real durante atividades físicas um sistema desse tipo permite que o paciente seja continuamente avaliado capturando dados sobre sua frequência cardíaca e outros sinais vitais enquanto realiza exercícios ou outras atividades essa monitorização em tempo real é crucial para a equipe médica que pode identificar de forma rápida e precisa qualquer irregularidade ou problema cardíaco com esses dados é possível tomar decisões informadas sobre o tratamento ou a necessidade de intervenções imediatas como exemplo de uma aplicação simples e acessível podemos utilizar uma placa de Arduino
combinada com um eletrocardiograma esse conjunto permite captar os sinais elétricos do coração e enviá-los para análise a flexibilidade e a capacidade de personalização do Arduíno torna essa essa solução particularmente útil para protótipos ou para uso em ambientes onde o custo e a simplicidade são fatores importantes essa aplicação mostra como sistemas embarcados podem transformar o monitoramento médico proporcionando um acompanhamento mais próximo e eficiente da Saúde doss pacientes especialmente em situações que exigem atenção contínua hoje exploramos a arquitetura de sistemas embarcados e suas diversas aplicações Vimos que um sistema embarcado pode ser compreendido como um sistema dividido
em três camadas principais hardware software básico e software de aplicação Além disso discutimos várias aplicações desse sistema em áreas como indústria segurança agricultura e medicina antes de encerrar quero que vocês reflitam sobre como sistemas embarcados já influenciam sua vida hoje pensem em quais objetos vocês já interagiram que possuem sistemas embarcados desde o smartphone no bolso até Os eletrodomésticos na cozinha os sistemas embarcados estão presentes em quase todos os aspectos do nosso cotidiano obrigado por ter participado dessa aula sobre sistemas embarcados não se esquece de revisar o material e complementar com a atividade prática que está
na plataforma caso tenha dúvida sinta-se à vontade para entrar em contato com a equipe do curso pelos de comunicação existentes [Música]