Boa noite a todos os garagistas!
Como alguns devem saber, trabalho como professor na área de sistemas embarcados. O coordenador do curso me pediu pra montar o curso de microcontroladores e microprocessadores para os alunos do 3o ano de engenharia eletrônica. Estou querendo discutir aqui sobre as arquiteturas disponíveis e vantagens/desvantagens.
Atualmente os alunos já possuem uma disciplina no primeiro chamada programação de sistemas embarcados ano usando placas com microcontroladores PIC, tudo em linguagem C.
Eu pensei em usar o motorola/freescale HC12 para a matéria de microprocessadores. Eu acho interessante essa matéria ser dada em assembler, pois o objetivo é conhecer os detalhes do processador, os registros internos, ALU, mapa de memória, etc. Estou tendencioso pelo 68HC12 por esse processador ter uma arquitetura bem simples e clássica (descendente direto do 8008/6800) mas ainda em produção!
Para a matéria de microcontroladores eu pensei em abordar a arquitetura ARM, talvez usando uma beagleboard como placa de desenvolvimento. Essa segunda matéria tem mais o foco nos periféricos e no relacionamento destes com o processador. Desse modo essa disciplina poderia ser dada toda em linguagem C e focada mais nos periféricos do chip. Acho o ARM ideal porque possui uma grande quantidade e variedade de periféricos. Pensei até em passar alguns conceitos de SO embarcado nessa disciplina.
O que vocês acham? Além das opções, vantagens e desvantagens vocês poderiam citar livros e apostilas sobre o assunto? Uma coisa importante pra mim é a disponibilidade de informação disponível, principalmente livros em português.
Muito obrigado!
Tags:
Olá Rodrigo, tudo bem?
Acredito se estivéssemos falando de uma disciplina introdutória o Arduino se encaixaria perfeitamente!
Mesmo em disciplinas intermediárias/avançadas, acredito que o uso do Arduino possa ser benéfico por vários motivos:
- A plataforma é totalmente aberta
- Existe bastante material (software, hardware e documentação) pronto e gratuito
- É fácil de utilizar
- Permite rapidez na criação de projetos (basta plugar na USB, fazer o upload e você já poderá ver um resultado)
- É bastante barato comparado aos kits de desenvolvimento proprietários
- Consegue se comunicar bem com computadores via USB, facilitando o projeto de sistemas assistidos por um PC - além disso, o software que você precisa escrever no PC para se comunicar com o Arduino pode ser virtualmente em qualquer linguagem, visto que existem bibliotecas de comunicação com o Arduino feitas em Python, Ruby, PHP, Java, Perl, C etc.. Enfim, lhe dá liberdade com relação à plataforma (SO e linguagem).
- Possui SPI, I2C e suporte a outros protocolos que são utilizados por vários periféricos, como por exemplo: cartões SD usam SPI, controle Numchuck do Nintendo Wii utiliza I2C, vários controladores Ethernet utilizam SPI.
Porém também enxergo algumas desvantagens, como:
- Pouco poder de processamento e memória
- Ausência de um "SO"/kernel (até por conta das limitações)
- O projeto Arduino sempre escolhe facilidade de uso em vez de otimização (alguns professores preferem focar em otimização)
Com relação a material, em breve pretendo lançar a apostila do Curso de Arduino[http://www.CursoDeArduino.com.br/] como Creative Commons - e espero que até o final do ano consiga adicionar mais material a ponto de virar uma referência completa (livro) em Português sobre a plataforma.
Abraços.
Não tinha pensado no arduino. Você sabe se tem como eu fazer a programação dele em assembly? O processador é 8 ou 16 bits? A arquitetura é von neumman? (acho que os dois barramentos da harvard é complicado d+ pra ensinar num primeiro contato =)
Legal por disponibilizar o material, vai ter bastante gente baixando! Mas vc indica mais algum livro? é que eu precisaria de livros em portugues com uma certa urgencia, acho que não vou poder esperar pela versão 1.0.
Abraços!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por