Buscar

Plataforma ARM, Arduíno, 8051, DSP E PIC Cópia

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

7
CENTRO UNIVERSITÁRIO DO NORTE-UNINORTE
FACULDADE DE ENGENHARIA ELÉTRICA
PLATAFORMAS
ARM, ARDUÍNO , 8051, DSP e PIC
MICHELY MIGUEL 1410763-5
TARCISO LABORDA 1424045-9
 RAIMUNDO VANDERLEI 1414001-2
WANDERSON AMORIM 1405192-3
CLASMESSON VIEIRA 14244438
MANAUS
2016
CENTRO UNIVERSITÁRIO DO NORTE-UNINORTE
FACULDADE DE ENGENHARIA ELÉTRICA
MICHELY MIGUEL 1410763-5
TARCISO LABORDA 1424045-9
 RAIMUNDO VANDERLEI 1414001-2
WANDERSON AMORIM 1405192-3
CLASMESSON VIEIRA 14244438
PLATAFORMAS
ARM, ARDUÍNO , 8051, DSP e PIC
Trabalho de pesquisa apresentado
 ao Pr
ofessor Francisco Coelho da
 
Disciplina de Eletrônica Digital e Microprocessadores 
 
no
 
Curso de 
Engenharia Elétrica d
o Centro Universitário do Norte
, como requisito parcial para obtenção de 
nota parcial
.
Prof. M.Sc. Francisco Coelho
MANAUS
2016
CENTRO UNIVERSITÁRIO DO NORTE-UNINORTE
FACULDADE DE ENGENHARIA ELÉTRICA
MICHELY MIGUEL 1410763-5
TARCISO LABORDA 1424045-9
 RAIMUNDO VANDERLEI 1414001-2
WANDERSON AMORIM 1405192-3
CLASMESSON VIEIRA 14244438
PLATAFORMAS
ARM, ARDUÍNO , 8051, DSP e PIC
Trabalho de pesquisa apresentado
 ao Pr
ofessor Francisco Coelho da
 
Disciplina de Eletrônica Digital e Microprocessadores 
 
no
 
Curso de 
Engenharia Elétrica d
o Centro Universitário do Norte
, como requisito parcial para obtenção de 
nota parcial
.
Aprovado em: 
MANAUS
2016
RESUMO
 Com o avanço da tecnologia, a robótica está cada vez mais presente no nosso cotidiano. Esse avanço proporciona grandes benefícios para a população, como o auxilio em tarefas cotidianas. As tecnologias ARM, Arduíno, 8051, DSP e PIC desempenham um papel muito importante neste cenário. Aqueles que estão iniciando nesta área podem ter dificuldades na escolha correta da plataforma. Este trabalho demonstra detalhes destas plataformas indicando suas arquiteturas, ambiente de desenvolvimento e suas aplicações, 
Palavras-chave: ARM, Arduíno, 8051, DSP e PIC
ÍNDICE DE ILUSTRAÇÕES
Figura 1- ARM	8
Figura 2-Buffer de escrita	10
Figura 3-Mapeamento de endereço para páginas pequenas	11
Figura 4-Arduíno	13
Figura 5-Arquitetura do Arduíno	14
Figura 6-Blocos identificados de uma placa Arduíno	14
Figura 7-ambiente de desenvolvimento	15
Figura 8-ambiente de desenvolvimento	16
Figura 9-ambiente de desenvolvimento	16
Figura 10-DSP	18
Figura 11-8051	20
Figura 12-Arquitetura de um 8051	20
Figura 13-PIC	22
Figura 14-Representação do PIC em camadas	22
LISTA DE ABREVIATURAS
	
Buffer
	Região de memória
	PIC
	Programmable interface controller
	
	
	ARM
	Processadores e microcontroladores
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
Sumário
CAPÍTULO I	8
Introdução	...8
1.1	arm	8
1.2	arquitetura arm	9
1.3	aMBIENTE DE DESENVOLVIMENTO	11
1.4	APLICAÇÕES	12
CAPÍTULO II	13
2.1	arduíno	13
2.2	ARQUITETURA ARDUINO.	13
2.3	ambiente de desenvolvimento	15
2.4	aplicações arduíno	17
CAPÍTULO III	18
3.1	DSP (DIGITAL SIGNAL PROCESSOR)	18
3.2	arquitetura DSP	18
3.3	ambiente de desenvolvimento	19
3.4	aplicações de um DSP	19
CAPÍTULO IV	20
4.1	8051	20
4.2	arquitetura de um 8051	20
4.3	ambiente de desenvolvimento	21
4.4	aplicações de um 8051	21
CAPÍTULO V	22
5.1	PIC - PROGRAMMABLE INTERFACE CONTROLLER.	22
5.2	arquitetura	23
5.3	ambiente de desenvolvimento	23
5.4	aplicações	24
CONCLUSÃO	25
REFERências bibliográficas	26
CAPÍTULO I
Introdução
Nos últimos anos tem crescido muito a demanda por equipamentos portáteis de fácil manuseio e que tenham uma interface simples com o usuário. As plataformas que estudaremos agora procuram unir todos esses preceitos de forma a se tornarem ferramentas das mais completas para a atualidade. 
Ao longo do desenvolvimento desta pesquisa abordaremos cada detalhe a respeito destas plataformas indicando suas arquiteturas, ambiente de desenvolvimento e suas aplicações.
 
arm
Figura
 
1
- ARM A história da arquitetura ARM começou em 1980, quando a Acorn Computer assinou um contrato com a emissora britânica BBC, para projetar a arquitetura do processador que seria usado no projeto Computer Literacy Project. 
O sucesso do projeto e os lucros obtidos permitiram o projeto do primeiro processador ARM, ARM1, que foi usado posteriormente como coprocessador no computador da BBC e foi sucedido por versões gradativamente melhores. Na época, ARM era a sigla para Acorn RISC Machine.
No início, a Acorn Computer encomendava a fabricação dos processadores à VLSI Technology Inc., mas o sucesso da arquitetura levou a grandes demandas, que a fabricante não podia atender.
Isso levou à necessidade de outro fabricante ou à criação de uma nova empresa. Decidiu-se por uma nova empresa, a ARM Ltd., fundada por Acorn Computer, VLSI Technology e Apple Computer.
Foi mantida a opção de não fabricar os processadores, mas licenciar as arquiteturas projetadas para fabricantes de semicondutores. A sigla ARM passou a significar Advanced RISC Machine, mas no fim da década de 90, a arquitetura passou a se chamar apenas ARM. 
Segundo [01], processadores e microcontroladores ARM são baseados em RISC, têm seu projeto focado em baixo consumo de energia e apresentam tamanho reduzido do chip. Essas características tornam a arquitetura ideal para aplicações que sofrem restrições de consumo de energia, e de tamanho dos dispositivos. 
De fato, processadores ARM podem ser encontrados em grande variedade de aparelhos, e, entre eles, estão muitos que já fazem parte do cotidiano de inúmeros usuários, como Smartphone's, Tablets, televisores, e Readers, etc. 
A evolução da arquitetura desde o seu advento trouxe diversas capacidades ao processador ARM, tornando-o ainda mais utilizado, e fazendo dele objeto de interesse em projetos acadêmicos cada vez mais elaborados. Dessa forma, _e de grande interesse o entendimento de suas características básicas.
arquitetura arm
Arquitetura ARM  (primeiramente Acorn RISC Machine, posteriormente Advanced RISC Machine) é uma arquitetura de processador de 32 bits usada principalmente em sistemas embarcados. São processadores que visam a simplificação das instruções, com o intuito de atingir a máxima eficiência por ciclo, podendo realizar tarefas menores com ciclos mais curtos, e uma maior ordenação das operações dentro do núcleo de processamento. Muito usada na indústria e na informática, seu desenvolvimento se deu visando obter o melhor desempenho possível, com a limitação de ser simples, ocupar pouca área e ter baixo consumo de energia.
A arquitetura ARM apresenta, apesar das mudança que ocorrem de um processador para o outro, alguns aspectos gerais , tais como:
Processadores ARM possuem 37 registradores, dos quais 30 são de propósito geral. Cada modo de operação do processador utiliza diferentes registradores, fazendo com que apenas 15, dos 30 registradores gerais, estejam visíveis em cada modo. Alem disso, dois deles são reservados para ponteiro de pilha e link register, que armazena endereços de retorno para quando correm chamadas de função. Os 7 registradores de uso especifico incluem contador de programa e registradores de estado, que são especialmente importantes na arquitetura ARM, devido a execução condicional de instruções;
A maioria das instruções apresenta um campo de 4 bits, em que é definida uma condição para que a operação seja executada, ou seja substituída por uma instrução NOP (No Operation), caso a condição não seja atendida. Há 4 flags de estado, N,Z,C e V (Negativo, Zero, Carry e Overow), que são armazenadas no registrador de estado. Os valores assumidos por essas flags definem se as condições das operações foram atendidas. Há, nas instruções de processamento de dados, um bit, chamado bit S, cujo valor define se o resultado da operação alteraos valores das flags. Essa abordagem influencia no pipeline, como será visto, mas apresenta a vantagem de diminuir a quantidade instruções explícitas de desvio condicional, e contribui para desempenho e eficiência energética, uma vez que a instrução de desvio condicional não faz processamento útil de fato, apenas altera o fluxo do programa.
Os modos de execução do processador são 7. O primeiro deles é o modo usuário, que não oferece nenhum tipo de privilégio ao programa em execução. Os outros modos oferecem diferentes opções de privilégios e são usados pelo Sistema Operacional. Oferecer tantos modos de operação permite ao Sistema Operacional fácil adaptação a diferentes cenários e tipos de aplicações, algo fundamental para uma arquitetura que abrange muitos dispositivos. Alguns registradores são de uso exclusivo de modos de execução, o que promove trocas de contexto mais rápidas, uma vez que os valores desses registradores não tem que ser salvos e recuperados para programas que executam em outros modos;
O mapeamento de endereços da memória cachê feito de forma associativa em conjuntos. Até a família de processadores ARM10, a memória cache usava endereços lógicos (cache lógica), mas hoje usa-se cache física. Um aspecto particular da organização de cache dos processadores ARM _e a existência de um buffer de escrita entre a cache e a memória principal, ilustrado na figura 1. Esse buffer armazena dados que devem ser escritos na memória, enquanto as escritas ocorrem, de forma que, se ele estiver cheio, instruções Store, que não sejam de blocos, são suspensas até que haja espaço. O tamanho do buffer _e reduzido a _m de evitar ou reduzir o prejuízo imposto pela não disponibilidade dos dados que aguardam escrita. A menos que haja muitas escritas, o uso do buffer promove uma melhora de desempenho;
Figura 2-Buffer de escrita
A memória principal _e organizada em superseções de 16MB, seções de 1MB, páginas grandes de 64KB e páginas pequenas de 4KB. A _m de acelerar buscas na memória, são mantidas, na memória principal, duas tabelas, L1 e L2, para superseções /seções e páginas grandes/pequenas, respectivamente. O processo de mapeamento para endereço de páginas pequenas está ilustrado na figura 2. Além das divisões em seção e página, existe a divisão em domínios de memória, que consistem em coleções de páginas e seções. Para acessar um domínio, é necessária permissão, e os processos podem ser clientes ou gerentes de um domínio. Ativar ou desativar o acesso a um domínio requer apenas a alteração de dois bits nos registradores de controle de acesso a domínio. A ideia de cliente e gerente de domínio permite o compartilhamento de domínios entre processos sem comprometer totalmente as restrições, que podem ser definidas pelo processo gerente;
Figura 3-Mapeamento de endereço para páginas pequenas
São suportados 7 tipos de exceção para tratar interrupções. Cada tipo de exceção tem uma rotina específica, cujo endereço é fixo. O conjunto de endereços dessas rotina é chamado vetor de exceções. Sempre que ocorre uma interrupção, o contador de programa recebe o endereço da rotina correspondente.
aMBIENTE DE DESENVOLVIMENTO
 Os processadores ARM são conhecidos pela sua versatilidade, pois possuem poucas instruções para programação. São encontrados em PDAs, telefones celulares, calculadoras, periféricos de computador, equipamentos POS e aplicações industriais.
O padrão RISC do processador permite que estes processadores tenham menos transístores que processadores CISC (x86). Essa abordagem reduz custos, liberação de calor e consumo de energia. Essas são características desejáveis para dispositivos portáteis, como smartphones, laptops, tablets e outros dispositivos embarcados. Uma estrutura mais simples facilita a criação de multi-core CPUs, o que impacta na redução de custos de produção. Os processadores ARM são 90% dos processadores embarcados RISC de 32 bits.
O processador ARM possui sete modos de operação que podem ser intercambiados através do software, interrupções externas e processamento de execuções. Normalmente as aplicações são executadas a nível de usuário. Enquanto o processador esta no modo usuário o programa sendo executado é incapaz de acessar alguns recursos protegidos do sistema ou mudar de modo. 
APLICAÇÕES
A arquitetura ARM têm servido a muitos projetos acadêmicos recentes em diversas áreas. tais como:
Ensino
 Um dos desafios do ensino de arquitetura e organização de computadores é motivar os alunos, dada a complexidade e quantidade de detalhes necessários ao entendimento. Os processadores ARM fazem parte do cotidiano dos estudantes, estão presentes em Smartphones, Tablets, Automóveis, Aparelhos de TV, etc. Além disso, as razões RISC desses processadores fazem com que eles apresentem as características gerais dos processadores modernos e reduzida necessidade de compatibilidade com aplicações mais antigas. Isso facilita a adaptação das disciplinas de arquitetura a mudanças [2].
O tamanho reduzido dos processadores ARM, seu baixo consumo de energia e tecnologias de suporte a SoC's (System on a Chip), permitem o desenvolvimento de sistemas baixíssimo custo como o Raspberry Pi. Trata-se de um pequeno computador de custo Maximo de 35 dólares, e que executa diversas distribuições do sistema operacional Linux. A combinação de baixo custo e a possibilidade de entrever o comportamento do sistema via soluções de baixo nível do Linux têm feito do pequeno computador um elemento presente em muitos cursos de arquitetura.
 Virtualização
O crescente poder computacional dos processadores ARM, combinado com a adição de diversas extensões, vem permitindo o uso de aplicações cada vez mais elaboradas. Uma dessas aplicações é o Monitor de Máquinas Virtuais de [3]. Os autores implementaram modos virtuais de processador, conjunto virtual de registradores e níveis de proteção virtual de memória a fim de lidar com alguns aspectos da arquitetura ARM. Esses aspectos são: a disponibilidade de diferentes registradores a cada modo de execução; diferenças na execução de instruções em modo privilegiado e não privilegiado; gerenciamento de permissão de acesso a domínios de memória. Por enquanto, apenas uma maquina virtual _e suportada e apenas o Linux pode ser executado como sistema convidado. 
Aceleração do algoritmo Multi-Scale Retinex
 Em [4], os autores procuram acelerar a execução do algoritmo Multi-Scale Retinex, que corrige as cores em imagens obtidas com iluminação de ciente. Tal algoritmo é interessante para dispositivos móveis com câmera, já que, em muitos casos, a iluminação ambiente não é suficiente para garantir a qualidade da imagem. O processo de aceleração começa dividindo o algoritmo em três partes e fazendo algumas alterações nos procedimentos originais do algoritmo. O ganho de velocidade de execução depende das instruções SIMD, executadas pela unidade NEON, tratada anteriormente. Segundo os autores, o algoritmo otimizado com instruções SIMD, mostrou uma melhora de 74,25% no tempo de execução, em relação à implementação original.
CAPÍTULO II
arduíno
Figura
 
4
-ArduínoArduíno é uma plataforma aberta de prototipação eletrônica. Por ser uma plataforma, ele não é simplesmente um hardware como muitos pensam. A plataforma Arduino é composta por hardware (placa controladora) e software (ambiente de desenvolvimento), ambos muito flexíveis, fáceis de usar e super acessíveis. Ele é uma das principais realizações de um movimento que só cresce no mundo: o movimento makers. São os fazedores. 
Representantes de uma cultura que uniu o faça-você-mesmo à tecnologia para criar projetos incríveis em todas as áreas.
ARQUITETURA ARDUINO.
A arquitetura do Arduíno é muito simples, porém muito eficiente. Vamos analisar a partir deste momento, o hardware do Arduino UNO. Esse hardware é composto dos seguintes blocos, explicados abaixo:
Fonte de Alimentação - Recebe energia externa, filtra e converte a entrada em duas tensões reguladas e filtradas;Núcleo CPU - Um computador minúsculo mas poderoso responsável por dar vida à placa.
Entradas e Saídas - A CPU vem completa com diversos "dispositivos" embutidos dentro do chip.
Pinos com Funções Especiais - Alguns pinos possuem hardware embutido para funções especiais.
Firmware - Programa que carregamos dentro da CPU com nossas instruções de funcionamento da placa.
Figura 5-Arquitetura do Arduíno
Figura 6-Blocos identificados de uma placa Arduíno
ambiente de desenvolvimento
O Arduino é formado por dois componentes principais: Hardware e Software. 
O hardware é composto por uma placa de prototipagem na qual são construídos os projetos. 
O software é uma IDE, que é executado em um computador onde é feita a programação, conhecida como sketch, na qual será feita upload para a placa de prototipagem Arduino, através de uma comunicação serial. O sketch feito pelo projetista dirá à placa o que deve ser executado durante o seu funcionamento.
 A IDE pode ser baixada gratuitamente no site do Arduino, onde pode ser escolhida a melhor opção de download conforme plataforma utilizada.
 
Quando se abre o IDE do Arduino, será exibido algo semelhante à figura abaixo:
 
Figura 7-ambiente de desenvolvimento 
O IDE é dividido em três partes: A Toolbar no topo, o código ou a Sketch Window no centro, e a janela de mensagens na base, conforme é exibido na figura anterior. 
Na Toolbar há uma guia, ou um conjunto de guias, com o nome do sketch. Ao lado direito há um botão que habilita o serial monitor. No topo há uma barra de menus, com os itens File, Edit, Sketch, Tools e Help. Os botões na Toolbarfornecem acesso rapido às funções mais utilizadas dentro desses menus.
 
Abaixo são identificados os ícones de atalho da IDE:
Verify Verifica se existe erro no código digitado.
Upload Compila o código e grava na placa Arduino se corretamente conectada;
New Cria um novo sketch em branco.
Open Abre um sketch, presente no sketchbook.
Save Salva o sketch ativo
Seria monitor Abre o monitor serial. 
Os demais comandos presentes na barra de menus podem ser consultados através do menu <help><Environment>. 
Após a conexão do Arduino ao computador, é atribuído a placa uma COM. A primeira vez que o programa Arduino for executado deve-se selecionar o modelo de placa utilizado, no nosso caso escolheremos Arduino Uno, conforme figura abaixo:
 
 
Figura 8-ambiente de desenvolvimento 
Após a definição do modelo, deve-se selecionar em qual COM a placa foi atribuída:
 
 
Figura 9-ambiente de desenvolvimento
 
 
Após estas configurações o ambiente está preparado para uso e pode-se testar qualquer um dos exemplos que acompanham a IDE ou até mesmo com um novo sketch.
 
aplicações arduíno
Pode ser usado para o desenvolvimento de objetos interativos independentes, ou ainda para ser conectado a um computador hospedeiro. Uma típica placa Arduíno é composta por um controlador, algumas linhas de E/S digital e analógica, além de uma interface serial ou USB, para interligar-se ao hospedeiro, que é usado para programá-la e interagi-la em tempo real. Ela em si não possui qualquer recurso de rede, porém é comum combinar um ou mais Arduíno deste modo, usando extensões apropriadas chamadas de shields. A interface do hospedeiro é simples, podendo ser escrita em várias linguagens. A mais popular é a Processing, mas outras que podem comunicar-se com a conexão serial são: Max/MSP, Pure Data, SuperCollider,
CAPÍTULO III
 DSP (DIGITAL SIGNAL PROCESSOR)
Figura
 
10
-DSPCriado no começo na década de 80 pelas principais empresas de eletrônico , o DSP se tornaria em pouco mais de uma década o centro das atenções no mundo da eletrônica, sendo hoje o coração de muitos equipamentos de diversas áreas da industria.
Ele surgiu com um propósito de criar um microprocessador com uma arquitetura desenvolvida especialmente para operações que requeressem um processador digital de sinais. Hoje em dia tem-se um produto que engloba, em um único chip , tecnologia suficiente para realizar praticamente qualquer tipo de processamento e analise de dados e sinais.
DSP na verdade representa dois significados podendo ser usado como : Processamento Digitais de Sinais ou Processador de Sinais Digitais. Em ambos os casos, seu uso está correto, porém é mais comumente usado ao tratar-se do processador de sinais em sí e não do ato de processar o sinal.
O DSP acima de tudo é um dispositivo programável, que detêm seu proprio código de instruções. Cada empresa que cria o seu processador cria também o seu ambiente de desenvolvimento (IDE) próprio para aquele tipo de chip, tornando dessa forma a manipulação do microprocessador muito mais fácil e rápida.
Os DSP´s foram projeto levando-se em consideração que asoperações mais habituais em um processamento digital são as de adição, multiplicação e transferência de memória,consecutivos. Para tal existem instruções de repetção que precedem tais operações, tornando possivel a execução destas usando-se muitas vezes apenas um ciclo de memória.
A capacidade de processameno em tempo real dos DSP´s torna esse processador perfeito para aplicações onde o delay ( tempo de resposta) não é tolerável.
arquitetura DSP
Os DSP´s foram projetados levando-se em consideração que as operações mais habituais em um processamento digital são as de adição, multiplicação e transferência de memória,consecutivos. Para tal existem instruções de repetção que precedem tais operações, tornando possivel a execução destas usando-se muitas vezes apenas um ciclo de memória, , por ser desnecessária a instrução de retorno (branch) para se permanecer no laço (loop).
Os DSPs têm arquitetura Harvard e alguns podem operar com números de ponto flutuante.
ambiente de desenvolvimento
Um DSP pode ser programado tanto em assembly como em outras linguagens de baixo nível. Cada família de DSP tem sua própria linguagem de montagem e suas próprias ferramentas de desenvolvimento fornecidas pelo fabricante. Pode-se também utilizar as ferramentas como Matlab/Simulink e LabView para a criação de diagramas de blocos e criação de projetos em DSP, desde que um compilador adequado seja utilizado em conjunto.
aplicações de um DSP
A tecnologia DSP está presente em atualmente em infinitos dispositivos como celulares, computadores multimídia, gravadores de vídeo, CD players , controladores de discos rígidos e modems. Inclusive sendo desenvolvidas, atualmente, formas de se substituir circuitos analógicos em televisores e em telefones. Desta forma o DSP se faz presente nas mais diversas áreas, como militar, médica , científica e automotiva.
 
CAPÍTULO IV
8051
Figura
 
11
-8051A família de microcontroladores MCS51 é uma das mais antigas existentes e, talvez por este motivo, é uma das mais conhecidas e utilizadas. Graças a essa característica, a quantidade de ferramentas de desenvolvimento e bibliotecas de software é bastante ampla e variada. Além da Intel (fabricante original do 8051), diversas outras empresas passaram a comercializar diferentes versões da família MCS51, tais como: Atmel, Dallas Semiconductor, Intregrated Silicon Solutions, Philips, Infineon Technologies, entre outras.
Os microcontroladores da família MCS51 possuem internamente ROM (memória de programa) e RAM (memória de dados); temporizadores / contadores de eventos; controlador de interrupções; interfaces de entrada / saída de 8 bits e interface serial síncrona / assíncrona.
 Os principais modelos são: 
8031 – sem ROM (ROMLESS), 128 bytes de RAM e 2 T/C
8051 – com 4KB de ROM, 128 bytes de RAM e 2 T/C
8751 – com 4KB de EPROM, 128 bytes de RAM e 2 T/C
8032 – sem ROM (ROMLESS), 256 bytes de RAM e 3 T/C
8052 – com 8KB de ROM, 256 bytes de RAM e 3 T/C
8752 - com 8KB de EPROM, 256 bytes de RAM e 3 T/C
arquitetura de um 8051
Figura 12-Arquitetura de um 8051
ambiente de desenvolvimento
A família MCS-51 da Intel, foi desenvolvida utilizando a tecnologia NMOS, suas versões posterioressão identificadas por uma letra C em seu nome (por exemplo, 80C51), desenvolvidas com a tecnologia CMOS, garantindo a estes dispositivos um menor consumo de energia quando alimentados por bateria.
Em sua composição interna, também possui uma memória ROM, que é tida exclusivamente para armazenar o programa que a CPU executará. Sua utilização tornou-se inviável para alguns projetistas da época, pois como as aplicações precisavam ler e gravar dados em tempo de execução, era preciso que uma memória RAM externa fosse utilizada. Em alguns casos, o Intel 8052 foi usado como alternativa, é o mesmo que o Intel 8051, exceto com outro temporizador, RAM e ROM adicionais.
O Intel 8031 é um membro da família que não possui memória interna de programa, embora toda a arquitetura interna seja a mesma. As características de hardware e software da família 8051 permitem a manipulação de bits com extrema facilidade e possibilitam o desenvolvimento de sistema microprocessado de um único chip.
aplicações de um 8051
O microcontrolador Intel 8051, pode ser encontrado em diversos circuitos lógicos, tais como rádios, telefones, máquinas industriais, celulares, micro-ondas, entre outros. Sua programação é feita com a linguagem de programação Assembly, tida em dois modos de funcionamento:
Modo Mínimo: onde são usados somente os recursos internos.
Modo Expandido: Onde as memórias ROM e RAM são expandidas usando-se componentes externos.
CAPÍTULO V
PIC - PROGRAMMABLE INTERFACE CONTROLLER.
Figura
 
13
-PIC
 PIC (controlador integrado de periféricos) Podemos definir o microcontrolador como um "pequeno" componente eletrônico, capaz de armazenar e processar comandos gravados em sua memoria, ele é utilizado para controlar processos lógicos [Pictronics, 2014]. 
Os primeiros dispositivos programáveis tinham seu código escrito em uma linguagem chamada de código de maquina que era constituída por dígitos binários que era inserido através de um dispositivo de entrada de dados, eram usados fitas perfuradas teclado ou discos magnéticos [Pereira, F. 2003]. 
O controle de processos deve ser compreendido como o controle de periféricos, tais como: leds, servo motores, displays de cristal líquido (LCD), sensores, resistências, relês e muitos outros. São chamados de controladores lógicos, pois a operação do sistema baseia-se nas ações lógicas que devem ser executadas, dependendo do estado dos periféricos de entrada e/ou saída [Cefetes, 2006].
Os PIC são fabricados a partir de silício extraído da areia da praia, é produzido a partir de um método chamado Czochralski que é o derretimento de cristais de silício que são suspensos e centrifugados criando um cilindro feito de cristal de silício que mede aproximadamente 2 metros e pode ter 300 mm de espessura.[Cefetes, 2006]. 
Na próxima etapa é fatiado esse cilindro de silício e polido e então passa por um processo chamado fotolitografia nesse processo as pastilhas de silício são bombardeadas com raios ultravioleta que molda as camadas das pastilhas até a sua construção ser finalizada, a figura abaixo mostra o processo de fotolitografia.
Figura 14-Representação do PIC em camadas
arquitetura
A arquitetura do PIC é caracterizada pelos seus múltiplos atributos:
Espaços separados de instruções e dados (Arquitetura Harvard).
Um pequeno número de instruções de tamanho fixo.
A maioria das instruções são de execução de único ciclo (2 ciclos de clock, ou 4 ciclos de clock em modelos de 8 bits), com um ciclo de atraso em desvios (branch) e saltos.
Um acumulador (W0), cuja utilização (como fonte operando) está implícita (ou seja, não é codificado no código de operação, ou opcode).
Todos os locais de memória RAM funcionam como registradores como fonte e / ou destino de matemática e outras funções[4].
Uma pilha em hardware para armazenamento de endereços de retorno.
Uma pequena quantidade de espaço de dados endereçável (32, 128, ou 256 bytes, dependendo da família), alargada através de banking.
Sinalizadores de status da ULA são mapeados para o espaço de dados.
O Program Counter também é mapeado no espaço de dados e é gravável (este é usado para implementar saltos indirectos).
ambiente de desenvolvimento
Como qualquer arquitetura os processadores PIC apenas aceitam linguagem de máquina (assembly). No entanto a programação pode ser feita em linguagens de alto nível utilizando-se compiladores. Existem várias alternativas pagas de compiladores. Em geral é possivel utilizá-los de modo gratuito com algumas restrições. Para as famílias PIC16 e PIC18 existe uma alternativa opensource o SDCC, que pode ser configurado para operar com o MPLAB.
Existem ainda diversas IDE's disponíveis para a programação, entre elas a mais utilizada é o MPLAB, disponibilizado de modo gratuíto pela própria Microchip. Há atualmente uma versão beta de IDE baseada no Netbeans sendo desenvolvida pela Microchip: MPLABX. Esta IDE já vem com suporte para qualquer Windows, Mac e Linux.
Para gravar o programa no microcontrolador é utilizado um dispositivo dedicado. É comum que tais dispositivos também possuam capacidade de depurar o programa, o que auxilia muito na fase de testes dos sistemas. É possivel ainda encontrar diversas placas de desenvolvimento que já possuem um hardware pré-montado de modo a agilizar o projeto de um produto, permitindo que se comece a desenvolver o software em paralelo com o hardware.
Para a utilização dessas plataformas de desenvolvimento deve se destacar que o desenvolvedor deve conhecer muito bem o projeto que será feito, pois cada plataforma deve ser cuidadosamente escolhida levando em conta a amplitude do projeto, pois, o foco é manter uma aplicação microcontrolada de baixo custo, não se deve utilizar um Arduino para construir um projeto que facilmente um PIC supriria a necessidade.
aplicações
O PIC, é perfeitamente adequado para muitas variedades de aplicações, como a indústria automóvel, sensores remotos, fechaduras elétricas e dispositivos de segurança. É também um dispositivo ideal para cartões inteligentes, bem como para dispositivos alimentados por baterias, por causa do seu baixo consumo. A memória EEPROM, faz com que se torne mais fácil usar microcontroladores em dispositivos onde o armazenamento permanente de vários parâmetros, seja necessário (códigos para transmissores, velocidade de um motor, frequências de recepção, etc.). O baixo custo, baixo consumo, facilidade de manuseamento e flexibilidade fazem com que o PIC16F84 se possa utilizar em áreas em que os microcontroladores não eram anteriormente empregues (exemplo: funções de temporização, substituição de interfaces em sistemas de grande porte, aplicações de coprocessamento, etc.).
A possibilidade deste chip de ser programável no sistema (usando somente dois pinos para a transferência de dados), dão flexibilidade do produto, mesmo depois de a sua montagem e teste estarem completos.
CONCLUSÃO
Ao longo desta pesquisa foram vistas as definições, arquiteturas, ambiente de desenvolvimento e aplicações de cada plataforma. É possível perceber ao longo da pesquisa a simplicidade inicial dessas plataformas. Foi de extrema importância para a equipe, obter o conhecimento à respeito dessas plataformas importantíssimas para a sociedade. 
REFERências bibliográficas
[1] W. Stallings. Arquitetura e Organização de Computadores. Pearson, 2011.
[2] ARM. Armv8-a architecure. http://www.arm.com/products/processors/ armv8-architecture.php, 2015. Acessado em 24 de Agosto de 2016.
[3] A. Suzuki and S. Oikawa. Implementation of virtual machine monitor for arm architecture. In Computer and Information Technology (CIT), 2010 IEEE 10th International Conference on,
pages 2244{2249, June 2010.
[4] Ching-Tang Fan, Jian-Ru Chen, Chung-Wei Liang, and Yuan-Kai Wang. Accelerating multiscale retinex using arm neon. In Consumer Electronics - Taiwan (ICCE-TW), 2014 IEEE
International Conference on, pages 77{78,May 2014.
[5] Pereira, F. (2003) PIC Programação em C. Erica.
[6] Cefetes (2006). Programação de Microcontroladores PIC Utilizando Linguagem C. Disponível em:< http://www.pictronics.com.br/downloads/apostilas/Apostila-Pic- C.pdf: 15/04/2014.
[7] GIMENEZ, S. P. Microcontroladores 8051. [S.l.]: Editora Pearson Education do Brasil, 2002. 
[8] NICOLOSI, D. E. C. Microcontrolador 8051 Detalhado. [S.l.]: Editora Érica, 2000.
[9] SILVA, V. P. da. Aplicações Práticas do Microcontrolador 8051. [S.l.]: Editora Érica, 1998.

Continue navegando