Projeto HCS08
Projeto HCS08
Projeto HCS08
FEDERAL DE
SANTA CATARINA
EEL7846
Henrique
Piccoli
Richetti
Julho/2011
Florianpolis - SC
ii
Sumrio
EEL7846..................................................................................................................................i Projeto Nvel II em rea bsica II............................................................................................i Sumrio...................................................................................................................................3 1. Introduo...........................................................................................................................4 Uma vez conhecidas as funcionalidades do controlador, e das caractersticas do kit de desenvolvimento foi determinada a aplicao a ser desenvolvida..........................................4 2. Objetivo...............................................................................................................................5 3. Caractersticas de Hardware................................................................................................6 3.1 Controlador HCS08QG8...............................................................................................6 3.2 Kit de demonstrao DEMO9S08QG8.........................................................................7 4. Caractersticas de Software.................................................................................................9 4.1 Descrio da aplicao..................................................................................................9 4.2 Fluxograma...................................................................................................................9 4.3 Cdigo Fonte...............................................................................................................11 5. Concluso..........................................................................................................................14 6. Referncias Bibliogrficas................................................................................................15
1. Introduo
A realizao deste projeto visa conhecer e compreender as funcionalidades presentes nos microcontroladores da famlia HCS08 e do kit de desenvolvimento fornecido pela Freescale. O controlador HCS08QG8 utilizado nesta aplicao apresenta performance mais elevada e menor consumo de energia em relao ao modelo equivalente da famlia HC08, sua antecessora. Outro fator importante para o desenvolvimento a possibilidade de programao utilizando a linguagem C, que possibilita: Facilidade de programao em relao linguagem Assembly; Portabilidade de cdigo; Alta eficincia, pois esta linguagem permite gerar programas mais eficientes, com tamanho reduzido e velocidade de execuo elevada. Uma desenvolvida. vez conhecidas as funcionalidades do controlador, e das
2. Objetivo
Utilizando o kit de demonstrao do microcontrolador Motorola HCS08QG8 implementar o controle de luminosidade de um LED atravs de modulao por largura de pulso (PWM), definindo como parmetro para controle do ciclo ativo do pulso o resultado da converso AD de um sinal produzido pela clula fotoeltrica presente no kit.
3. Caractersticas de Hardware
3.1 Controlador HCS08QG8
Os modelos da famlia QG so microcontroladores de 8 bits de baixo custo e apresentam as seguintes caractersticas: CPU HCS08 capaz de operar a at 20MHz; Encapsulamento de 8 ou 16 pinos; Programao e depurao avanada utilizando um pino (BDM Background Debugging Mode); 4 ou 8 Kbytes de FLASH, 256 ou 512 bytes de RAM; 12 pinos de entrada/sada, mais um somente de entrada e outro somente sada; Perifricos internos: o Timer de 16 bits com 2 canais de captura; o Comparao ou PWM; o Timer de 8 bits; o Conversor A/D de 10 bits com sensor de temperatura interno; o Comparador analgico; o Interfaces seriais SCI, SPI e I2C.
A placa DEMO9S08QG08 um kit de demonstrao fornecido pela Freescale semiconductor, e de acordo com o manual do fabricante, permite o rpido desenvolvimento de aplicaes, devido principalmente possibilidade de depurar o cdigo em tempo real atravs de uma interface USB-BDM em que um microcomputador executa o cdigo diretamente no microcontrolador a ele conectado atravs de uma porta USB presente no kit. Caractersticas do kit: Interface USB-BDM; Porta serial RS232 com conector DB9; Portas SPI e IIC disponveis no conector J1; Opo de clock externo de 32.768kHz; Jumper seletor de alimentao na entrada; o Alimentao atravs do USB-BDM; o Alimentao atravs do regulador de tenso da placa; o Alimentao atravs do conector J1; Componentes de entrada/sada; o 3 Push-buttons, sendo 1 reset; o 3 leds indicadores, sendo 1 alimentao; o Potencimetro (5K Ohm);
o Fotoclula. O kit de demonstrao tambm fornece uma cpia do software CodeWarrior Development Studio, aplicao que permite a elaborao cdigo e tambm apresenta uma interface de depurao compatvel com a interface USB-BDM. Para a realizao do projeto foi necessrio utilizar um circuito adicional ao kit de demonstrao para entregar a sada do sinal PWM a um LED externo, pois esta sada (PTA0) s acessvel pelo conector MCU de 32 pinos do kit. Este circuito externo composto de um led, um resistor e um conector MCU de 32 pinos.
4. Caractersticas de Software
4.2 Fluxograma
O fluxo principal de execuo do cdigo exposto acima reflete os passos de funcionamento da estrutura quando em operao normal. Na ocorrncia de uma interrupo (Chave SW1 pressionada), o fluxo interrompido e executada a rotina de interrupo, que consiste em ativar os LEDs 1 e 2 da placa de acordo com um dos quatro nveis definidos do sinal PWM. Aps a interrupo, o fluxo retorna do ponto em que parou.
10
TPMSC = 0b00001000; //fonte do clock = busclk TPMMOD= 1023; //modulo da contagem (periodo maximo -> ciclo pwm 100%) TPMC0SC = 0b00100100; // modo tpm_pwm_low (PWM ativo em nivel baixo) ciclo = 0; TPMC0V = ciclo; //inicia pwm com ciclo zero //configuracao conversor A/D ADCSC1 = 0b00100001; // configura canal 1 (PTA1) conversao continua ADCCFG = 0b10000100; //Modo 10 Bits, busclk,tempo normal, baixa velocidade
11
EEL7846 Projeto Nvel II em rea Bsica II APCTL1 = 0b00000010; // PTA1 modo analgico pisca_led = 0; pisca_led_tmp = 0; PTBD_PTBD6 = 1; PTBD_PTBD7 = 1; PTAD_PTAD0 = 1; res_conv=0; contador=0; while(1){ //loop //qdo pisca_led !=0 ativa informao do ciclo pwm //em led1 e led2 //apaga led1 em ptb6 //apaga led2 em ptb7 //apaga led em pta0
ADCSC1 = 0b00100001; // seleciona converso contnua, canal AD1 res_conv = ADCR; //guarda em res_conv resultado da conversao AD res_conv &= 0x3FF; //mascara bits excedentes //define quatro ciclos de operacao pwm if(res_conv<256){ //ciclo 0% TPMC0V = 0; //nivel 1, leds apagados -> 00 if(pisca_led!=0){ PTBD_PTBD6 = 1; PTBD_PTBD7 = 1; } } if(res_conv>=256 && res_conv < 512){ //ciclo 25% TPMC0V = 256; //nivel 2, led1 aceso -> 01 if(pisca_led!=0){ PTBD_PTBD6 = 0; PTBD_PTBD7 = 1; } } if(res_conv>=512 && res_conv < 768){ //ciclo 50% TPMC0V = 512; //nivel 3, led2 aceso -> 10 if(pisca_led!=0){ PTBD_PTBD6 = 1; PTBD_PTBD7 = 0; } } if(res_conv>=768){ //ciclo 100% (led c/ maxima luminosidade) TPMC0V = 1024; //nivel 4, leds acesos -> 11 if(pisca_led!=0){ PTBD_PTBD6 = 0; PTBD_PTBD7 = 0; } } //qdo sw2 pressionada pisca led1 e led2 alternadamente if(PTAD_PTAD3==0){ pisca_led= 0; if(contador>10000){
12
EEL7846 Projeto Nvel II em rea Bsica II PTBD_PTBD6 PTBD_PTBD7 } else{ PTBD_PTBD6 PTBD_PTBD7 } = 0; = 1; = 1; = 0;
} else{ //se sw2 nao pressionada deixa leds apagados PTBD_PTBD6 = 1; PTBD_PTBD7 = 1; pisca_led = pisca_led_tmp; } if(contador>20000) //contador de tempo de alternancia dos leds contador=0; else contador++;
} }
13
5. Concluso
A facilidade e robustez da linguagem C simplificaram o processo de elaborao do cdigo, e a possibilidade de depurao em tempo real (BDM) diretamente do computador conectado ao kit de demonstrao tornou mais gil a identificao e correo de problemas e a realizao de ajustes no cdigo at se obter o resultado desejado. Estas caractersticas resultam num menor tempo de desenvolvimento e menores custos, visto que o hardware utilizado tambm possui preo reduzido, ainda assim proporcionando caractersticas e performance satisfatrias para as mais diversas aplicaes. Neste projeto, a variao gradual da luminosidade de um LED, atravs do controle da razo cclica de um sinal com modulao PWM por meio da converso A/D do sinal de sada de uma fotoclula permitiu conhecer boa parte das funcionalidades do microcontrolador HCS08 e ainda despertou o interesse na rea para o desenvolvimento de outras aplicaes.
14
6. Referncias Bibliogrficas
[1] [2] Pereira, Fbio. Microcontroladores HCS08: Teoria e Prtica, Editora Site: www.freescale.com Freescale Seminconductor
15