PROGRAMAÇÃO DE PERIFÉRICOS
Edson Moreno - Turma 128 - Horário: 4JK




Plano da disciplina


OBJETIVOS:

O cumprimento da disciplina busca dar ao aluno, ao final do semestre, condições de:
 1. Entender os problemas associados a sistemas operacionais e linguagens de programação quando utilizados para controlar dispositivos periféricos.
 2. Entender os padrões de comunicação disponíveis e também o estado da arte na interface entre sistemas computacionais e dispositivos externos, ou seja, investigação das interfaces física e lógica entre sistemas computacionais e dispositivos periféricos (portas de entrada e saída).
 3. Especificar, projetar, validar e implementar estudos de casos simples de dispositivos periféricos com e sem unidade de processamento (software e hardware embarcados).
 4. Especificar, projetar, validar e implementar estudos de caso simples de device drivers de forma a realizar a interface entre sistemas operacionais e novos dispositivos periféricos anexados ao sistema.
 5. Especificar, projetar, validar e implementar módulos em software e em hardware para dispositivos externos (periféricos) de forma a possibilitar seu controle a partir de sistemas computacionais.

Unidade 1: Um sistema típico - sistema computacional com periféricos de entrada e saída.

 1.1 Visão geral de um sistema computacional completo com entrada e saída
    1.1.1 Diagrama de blocos
    1.1.2 Descrição dos módulos de software e hardware do sistema
    1.1.3 Visão geral das tecnologias Plug and Play (PCI, PnP ISA, PCMCIA) e ISA Legacy
    1.1.4 Discussão, em linhas gerais, dos problemas associados à interface entre software e hardware
 1.2 Aspectos e peculiaridades de sistemas operacionais e linguagens quando utilizados no acesso a dispositivos periféricos
 1.3 Discussão dos trabalhos práticos a serem realizados no decorrer da disciplina, e do formato da documentação e especificação do projeto dessas implementações.

Unidade 2: Interface física e lógica entre computador e dispositivos periféricos

 2.1. Padrões para utilização da porta paralela (SPP, EPP, ECP, PS-2)
 2.2 Comunicação serial (RS-232C, RS-485, I2C, CAN, Profibus, SPI, USB)

Unidade 3: Programação de periféricos

 3.1 Dispositivos periféricos sem unidade de processamento
    3.1.1 Dispositivos simples que podem ser acionados diretamente sem nenhum tipo de configuração (ex. LEDs, acionadores para interfaces de potência);
    3.1.2 Dispositivos mais complexos que necessitam algum tipo de configuração (ex. display de cristal líquido, controlador de comunicação serial, sensor de temperatura).
 3.2 Dispositivos periféricos com unidade de processamento
    3.2.1 Software e hardware embarcados;
    3.2.2 Periféricos utilizados como unidade de co-processamento;

Unidade 4: Projeto e implementação de Device Drivers

 4.1 Identificação das necessidades
 4.2 Estudo das facilidades existentes no sistema operacional
 4.3 Etapas no projeto e implementação de um device driver genérico