Sistemas de Microprocessadores

Objetivos

Nesta unidade curricular pretende-se desenvolver a compreensão dos alunos dos sistemas baseados em microprocessadores e seu o uso em sistemas de instrumentação, controlo e comunicação. Desenvolvem-se os aspectos práticos da seleção do dispositivo e interface aos periféricos externos. Estuda-se as principais fases do ciclo de desenvolvimento - especificar, projetar, construir, programar, testar e avaliar. O primeiro resultado de aprendizagem exige que os alunos investiguem e comparem as aplicações dos sistemas baseados em microprocessadores. Posteriormente procede-se ao desenvolvimento de projetos de software e construção de programas para um sistema baseado em microprocessador. O resultado final da aprendizagem considera o projeto de dispositivos de interface programável, como UARTs, PPIs, dispositivos I / O e dispositivos mapeados na memória. Neste ponto, os alunos devem ser capazes de realizar o projeto, construir, programar e testar uma interface programável. Esta componente inclui a seleção e utilização de dispositivos específicos, bem como a escrita e teste de software adequado em assembly ou linguagem de alto nível.

Objetivos de aprendizagem

  1. Compreender os sistemas baseados em microprocessadores
  2. Projetar software, escrever e testar programas para um sistema baseado em microprocessador
  3. Projetar e construir dispositivos de interface programável

Conteúdos Programáticos

  1. Compreender os sistemas baseados em microprocessadores
    • Famílias de Microprocessadores: comparação de três famílias com base na velocidade, custo, entrada/saída (I/O), conjunto de instruções, tamanho físico.
    • Aplicações: sistemas de controlo, por exemplo, sistemas de controle de um carro, robótica, sistemas de controle distribuídos, máquinas que funcionam com moedas, impressoras; sistemas de instrumentação, por exemplo de aquisição de dados e registro de ocorrências, sistemas de visualização, equipamentos de teste; sistemas de comunicação, por exemplo modems, transmissores de rádio, sistemas de radar; sistemas comerciais, por exemplo, sistemas de ponto de venda (POS), caixas eletrónicas de bancos, equipamentos portáteis de gestão de stock, computadores pessoais.
    • Projetar software, escrever e testar programas para um sistema baseado em microprocessador
    • Software projetado para uma determinada especificação: algoritmos, sob a forma fluxograma mostrando ações e condições ou em pseudo código.
    • Escrever programas: para aplicações que requerem uma interface para dispositivos externos, por exemplo, luzes, interruptores, motores, aquecedores, teclados, displays de cristal líquido (LCD) e displays de díodo emissor de luz (LED), impressoras, conversores analógico para digital (ADCs) e digital para analógico (DACs); uso de assemblers e compiladores de linguagem de alto nível, por exemplo, C, Visual Basic, Java.
    • Conformidade do software de teste com especificação: dados de teste adequados (entradas e saídas esperadas) devem ser preparado antes de executar programas e resultados dos testes devem ser documentados; uso de ferramentas de depuração de software, por exemplo, Ambiente de Desenvolvimento Integrado (IDE), In-Circuit Emulation (ICE), e simuladores.
  2. Projetar e construir dispositivos de interface programáve
    • Dispositivos de interface programável: avaliação de interfaces série e paralela, por exemplo, UARTs, PPIs, dispositivos I / O mapeadas, dispositivos mapeados na memória; sinais de controlo, interrupções; pooling e handshake.
    • Projetar, construir, programar e testar: interface programável; seleccionar e utilizar dispositivos; escrever e testar o software adequado em assembly ou linguagem de alto nível

Bibliografia e recursos didáticos recomendados

  1. Marylin Wolf, Computers as Components: Principles of Embedded Computing System Design, 3rd Edition, 2012
  2. Stuart Ball, Analog Interfacing to Embedded Microprocessor Systems, Newnes, 2003
  3. Paul Scherz, Simon Monk, Practical Electronics for Inventors, 3rd edition, Tab Electronics, 2013