Você está na página 1de 7

EA 076

EXPERIMENTO 1 –
APRESENTAÇÃO DO PROJETO
DIRIGIDO E DO AMBIENTE DE
DESENVOLVIMENTO

Nome: Guilherme Farias Ra: 108316


Nome: Larissa Fauat Schraier Ra: 117562
Universidade Estadual de Campinas
Faculdade de Engenharia Elétrica e Computação

Introdução ao Experimento

Nesse experimento trabalharemos com algumas funcionalidades básicas e


essênciais do kit de prototipagem FRDM-KL25 da Freescale, desenvolvendo um projeto
simples para explorá-las- o qual consiste em fazer piscar um LED acoplado ao
microcontrolador e um LED externo com frequências diferentes entre si, mas por meio de
um mesmo timer.

Objetivos do Experimento

Por meio deste experimento, buscou-se a familiarização com o ambiente de


desenvolvimento a ser adotado ao longo do semestre, bem como entender a dinâmica do
processo de criação de um projeto embarcado.
Nesse experimento, introduzimos os estudos com o kit de prototipagem FRDM-KL25
da Frescale, além dos usos dos softwares de layout Cadsoft Eagle, e da ferrramenta de
geração de documentação Doxygen.Com essas ferramentas, foi criado um projeto em que
o LED RGB vermelho da placa da Frescale piscava em uma frequência de 1Hz e um LED
anexado a um circuito simples piscava a uma frequência de 2Hz, conforme programado no
ambiente de desenvolvimento do Eclipse.

Descrição do Experimento e Metodologia

O experimento se iniciou com a familiarização com a tecnologia wire wrap, que


consiste em um sistema de enrolar- usando ferramentas adequadas- um fio do circuito em
torno de um pino que pertence a um determinado nó, como forma de conectar os nós do
circuito na placa. Feito isso, checaram-se os pinos do FRDM-KL25Z para encontrar o que
correspondia à entrada do sinal responsável por ativar e desativar o LED RGB vermelho
(PTB18). Para fazê-lo piscar, recorreu-se ao sistema de desenvolvimento Processor Expert
do CodeWarrior para configurar o pino de saída e o timer responsáveis por fazer o LED
piscar. O timer foi configurado para um período de 500ms e a função de habilitar o LED:
“LED_NegVal()” foi chamada na função do timer “TI1_OnInterrupt()” do arquivo Events.c.
Desenvolvendo o que foi aprendido nessa primeira parte do experimento, pensou-se
em um circuito e uma conexão com o microprocessador capazes de fazer um LED externo
piscar. Verificando-se novamente o esquema de pinagem dos conectores, notou-se que o
PTE5 é configurado para que os booleanos 1 e 0 correspondam, respectivamente, a 3,3V e
0V. Para não extrapolar a corrente máxima do LED conectado, que é de 20mA, foi colocado
um resistor em série no circuito de forma que sua resistência R fosse dada por: R= V/I, em
que V é a tensão de 1,6V sobre seus terminais e I a corrente desejada I=20mA. Assim,
R=80𝛺. Entretanto, o valor mais próximo de R encontrado no almoxarifado que não
colocasse o LED em risco foi de 91𝛺. Conforme pode ser visto pela figura 3.
Com o circuito montado, pensou-se em uma forma de programar a piscagem do
LED externo usando o mesmo timer programado anteriormente, porém agora configurado
para um período de 250ms (2Hz). Assim, o seguinte código foi construído:

void TI1_OnInterrupt(void)
{
static int flag=0;
LUZ_NegVal();
if (flag==1){
LED_NegVal();
flag=0;
}
else{
flag++;
}
}

/* END Events */

O que o código acima faz é usar uma variável flag que é capaz de identificar se o
LED RGB vermelho deve acender ou apagar (LED_NegVal();) em dada execução do trecho
de código, uma vez que sua frequência é metade da do LED externo- que é acendida ou
apagada (LUZ_NegVal();) a toda execução desse trecho.

Resultados e Análises

Alocação dos Pinos

Os periféricos associados à placa de desenvolvimento da Fresscale são:

1. LED RGB:
RGB Led Red - PTB 18
RGB Led Green - PTB 19
RGB Led Blue - PTD1

2. Aceleromêtro:
PTE 24 - SCL
PTE 25 - SDA
PTA 14 - INT1
PTA 15 - INT2

3. UART0:
PTE 14 (uart0 tx)
PTE 15 (uart0 rx)
PTB 16
PTB17
PTD6
PTD7
4. UART1:
PTA 1 (uart1 tx)
PTA 2 (uart1 rx)
PTA 18
PTA 19
PTC 3
PTC 4

5. UART2:
PTE22 (uart2 tx)
PTE23 (uart2 rx)
PTD2
PTD3
PTD4
PTD5

6. USB:
PTA5
PTD7

Figura 1: Apresentação dos pinos de dois periféricos da placa.


A funcionalidade de cada um dos pinos da Header é demonstrada pela figura a
seguir.

Figura 2: Apresentação dos pinos da header, e suas respectivas funcionalidades.

Os pinos escolhidos para a construção do experimento foram os pinos 15 e 14 do


header J9 da placa, necessariamente por terem os respectivos sinais de V+ e GND em
suas portas à nossa disposição.
Para garantir que o tempo de oscilação do Led fosse o mais precisa possível, não
usamos clocks internos ao microprocessador, pois esses podem variar conforme o número
de interrupções e requerimentos do processador.
Ao invés disso, usamos uma fração do clock do processador.
Software Eagle PCB

O software Eagle, como o próprio nome define (Easily Applicable Graphical Layout
Editor), trata-se de uma poderosa ferramente para o desenvolvimento e construção de
layout de circuitos eletrônicos.
Com dois ambientes de atuação, um para a implementação de esquemáticos e outro
para desenvolvimento de boards, é possível se construir em poucos passos projetos de
placa de impresso para projetos dos mais variados tipos.

Mediante a proposta de fazer piscar um Led externo, usamos os Pinos 15 (PTE5) e


o pino 14 (gnd) para a ligação e comutação do Led.
Conforme o esquema produzido com o software Eagle.

Figura 3: Apresentação das ligação para que o circuito de pisca pisca com Led externo.
Processor Expert

O Processor Expert se trata de um plugin que auxilia na construção de códigos de


inicialização de periféricos e de outros recursos como por exemplo, na geração
automatizada de códigos em alto nível para gerenciar os próprios recursos.
Necessitando-se de apenas o preenchimento de alguns campos e seleção de alguns
modos o plugin gera códigos de fácil uso para agilizar o processo de programação do
código.

Com o uso do plugin e auxilio da apostila tutorial [2], foi desenvolvido um sistema de
pisca pisca com frequência pré determinada para dois leds, um deles, sendo o led acoplado
à placa da freescale, e o outro led conectado numa placa de suporte à prototipagem,
conforme descrito anteriormente.

Doxygen

O Doxygen é um plugin do Eclipse criado para prover uma solução de


documentação de projetos desenvolvidos nesse ambiente. Esse plugin é um compilador
que gera documentação a partir de arquivos-fonte (sources), sendo guiado pelos
comentários dos códigos- cuja formatação específica permite interpretação pelo software- e
gerando saídas nos formatos HTML, Latex e RTF.
A documentação é gerada clicando-se no botão correspondente ao plugin que está
inserido na plataforma de desenvolvimento. Ela fica salva em uma pasta à parte.

Referências

[1] https://developer.mbed.org/platforms/KL25Z/
[2] ftp://ftp.dca.fee.unicamp.br/pub/docs/ea076/manuais/PEXDRVSPEXUG.pdf

Você também pode gostar