Proposta de conteúdos para o programa de uma disciplina de "Projeto de Sistemas com Microprocessadores" Noções básicas de arquitetura (comparativo) • von Neuman x Harvard, RISC x CISC • microprocessador x microcomputador x microcontrolador x DSP • CPU, registradores, barramentos de dados e endereços, tipos de memória, espaço de memória x espaço de E/S, E/S mapeada na memória, DMA • Periféricos típicos (timers c/ saídas de comparação e entradas de captura, conversores A/D, portas de E/S digitais, portas seriais, controlador de interrupções, controlador de DMA, ...) Software básico • monitores, executivos, kernels, ... • sistemas operacionais mono- x multi-tarefas (dos, windows, linux, ...) • sistemas operacionais de tempo real (rtlinux, ...) Programação assembly (comparativo) • tipos de instruções • formas de endereçamento • fluxo de programa e interrupções • ferramentas de desenvolvimento (assembler, linker, debugger, ...) • mapas de memória Noções básicas de programação C de baixo nível • integração C x assembly (compartilhamento de símbolos, instruções inline, pasagem de parâmetros, ...) • acesso à memória e periféricos Estudo de caso: controle em tempo real • seleção do microprocessador pelo desempenho (número de operações por intervalo de amostragem x MIPS ou MFLOPS, latência de interrupção, atrasos de E/S, wait states, ...) • medição do desempenho ("benchmarks": Dhrystone, Whetstone, SPEC_int, SPEC_float, MIPS, MFLOPS, ...) • arimética de ponto flutuante x ponto fixo (inteira): necessidade, formas de representação de ponto fixo, operações, ... • opções de implementação: microcontrolador c/ monitor, PC (windows VxD, rtlinux) • tempo real no PC: VxD no windows (ring0, ring3, DDK, comunicação entre processos via API, ...), módulo de kernel no rtlinux (rtfifo, ...) Homepage do curso: http://www.dee.ufrj.br/microproc Bibliografia: 1. 2. 3. 4. 5. 6. 7. 8. Kenneth Hintz, Daniel Tabak, "Microcontrollers : architecture, implementation,and programming", McGraw Hill, 1992, ISBN 0-07-028977-8 (disponível na Biblioteca do Bloco H - No. Sistema: 0505743). Hoang Le-Huy, “Microprocessors and digital ICs for motion control”, Proceedings of the IEEE , Volume: 82 Issue: 8 , Aug. 1994 Page(s): 1140 –1163. Hoang Le-Huy, "Microprocessors and Digital ICs for Control of Power Electronics and Drives" (Cap. 10 de "Power Electronics and Variable Frequency Drives", IEEE Press, B.K. Bose) ISBN 0-7803-1084-5. Mendonça, P. R. França e R. Zelenovsky, "Hardware: Programação Virtual de I/O e Interrupções", MZ Editora, ISBN 85-87385-05-4. R. Zelenovsky e A. Mendonça, "PC: um Guia Prático de Hardware e Interfaceamento", ISBN 85-87385-01-1. Mathworks, Manual do fixed point blockset do matlab, URL: http://www.mathworks.com/access/helpdesk/help/toolbox/fixpoint/fixpoint_tocframe.shtml ou http://www.mathworks.com/access/helpdesk/help/pdf_doc/fixpoint/fp_blks.pdf Ted Van Sickle, "Programming microcontrollers in C", LLH Technology Publishing, ISBN 1-87807-57-4. Michael Barr, “Programming Embedded Systems in C and C++”, ISBN 1-56592-354-5. Temas para trabalhos práticos (para avaliação): 1. 2. 3. 4. 5. 6. 7. 8. inicialização (boot) + interface serial no padrão RS-485 controle realimentado de corrente numa carga RL com PWM detector de seqüência positiva (PLL) em software medição de potência com PWM interfaceamento de sensor de posição/velocidade do tipo resolver ou encoder incremental comunicação serial + PWM em software (p.ex. com PIC de 8 pinos) PWM por DMA instalação e configuração de um “cross-compiler” Exercícios práticos: 1. 2. 3. 4. comunicação serial (RS-232) entre kit de desenvolvimento e PC varredura de teclado através de E/S digital paralela medição do tempo de execução de um trecho de programa usando E/S digital uso de interface gráfica para visualização em tempo real de leituras da interface A/D