





























Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Arquivos para explicar como se faz a programação de um PWM com microcontrolador Freescale.
Tipologia: Notas de estudo
1 / 37
Esta página não é visível na pré-visualização
Não perca as partes importantes!






























ING. DANIEL DI LELLA DDFAE For Motorola Products
Curso de MicrocontroladoresFamilia HC908 Flash de Motorola
Parte II
ING. DANIEL DI LELLA DDFAE For Motorola Products
Curso de MicrocontroladoresFamilia HC908 Flash de Motorola
Parte II
68HC08CPU
SystemIntegrationModule(SIM)
Clock GenerationModule(CGM)
TimerInterfaceModule(TIM)
DirectMemoryAccessModule(DMA)
Serial Communications
Interface(SCI)
Internal Bus (IBUS) SerialPeripheralInterface(SPI)
RandomAccessMemory(RAM)
ElectronicallyProgrammable
ROM
LVI COP
MonitorROM
IRQ BREAK
RESET
Cuatro canales programables
-^
Input captures
-^
x flanco ascendente, descendente, o cualquier flanco de disparo
-^
Output compares
-^
Set, clear, o “toggle action” como nivel de salida
-^
Pulse width modulation (PWM) ( Modulación por Ancho de Pulso )
-^
Generación de señal “Buffereada o no Buffereada”
Entrada de Clock programable
-^
Clock del sistema con “prescaler” de 7 pasos.
Modo de operación “Free-running’ o “ Modulo up-count”Acción “ togle” sobre cualquier pin de canal en “Overflow ”Stop y reset del TIM Counter !!!!!
ING. DANIEL DI LELLA DDFAE For Motorola Products
Curso de MicrocontroladoresFamilia HC908 Flash de Motorola
Parte II
overflow del contador/comparador.
habilitada y se atiende la misma saltando a la dirección indicada por el vectorrespectivo (TIMx Overflow Vector).
ING. DANIEL DI LELLA DDFAE For Motorola Products
Curso de MicrocontroladoresFamilia HC908 Flash de Motorola
Parte II
ING. DANIEL DI LELLA DDFAE For Motorola Products
Curso de MicrocontroladoresFamilia HC908 Flash de Motorola
Parte II
Timer Status and Control Register (TSC) •^
Clock select and prescaler bits (PS2-PS0)
-^
Timer Overflow Flag (TOF) Seteado cuando el timer counter de 16 bits se resetea a $0000Limpiado por lectura del TSC y luego escritura de un “0” en el TOF
-^
Si ocurre un “overflow ” durante la operación de limpieza, laescritura no tiene efecto.
1 = Timer ha sido reseteado0 = Timer no ha sido reseteado todavia
-^
Timer Overflow interrupt Enable (TOE) habilita interrupciones por “timer overflow “1 = Habilita interrupción0 = Deshabilita interrupción
-^ Timer Stop (TSTOP) - Detiene el conteo del timer1 = Timer stopped0 = Timer active -^ Timer Reset (TRST) - Resetea el timer counter y el prescaler– Limpieza automática despues del counter reset1 = Reset contador y prescaler0 = No tiene efecto
NOTA:
Seteando ambos TSTOP y TRSTdetiene el contador en $0000 !!!!!
ING. DANIEL DI LELLA DDFAE For Motorola Products
Curso de MicrocontroladoresFamilia HC908 Flash de Motorola
Parte II
PS
PS
PS
TIM Clock Source
0
0
0
Internal Bus Clock ÷ 1
0
0
1
Internal Bus Clock ÷ 2
0
1
0
Internal Bus Clock ÷ 4
0
1
1
Internal Bus Clock ÷ 8
1
0
0
Internal Bus Clock ÷ 16
1
0
1
Internal Bus Clock ÷ 32
1
1
0
Internal Bus Clock ÷ 64
1
1
1
no disponible !!
ING. DANIEL DI LELLA DDFAE For Motorola Products
Curso de MicrocontroladoresFamilia HC908 Flash de Motorola
Parte II
La resolución de Timer está determinada por el Clock del sistema y el valor del prescaler
El rango del Timer depende del valor en TMODH y TMODL
Ejemplo:
Calculamos la resolución y el rango dado por un Bus clock de 4 Mhz, y un valor deprescaler de 4 (010), y TMOD = $00FF
ING. DANIEL DI LELLA DDFAE For Motorola Products
Curso de MicrocontroladoresFamilia HC908 Flash de Motorola
Parte II
CHANNEL X 16-bit Comparator
PTxLogic
Int Logic
CHxIE
PTx/TCHx
MSxA
TCHxH : TCHxL
16-bit Latch
ELSxB
X
ELSxA
CHxF
CHxMAXTOVx
From TOF
Dat a Bus
ING. DANIEL DI LELLA DDFAE For Motorola Products
Curso de MicrocontroladoresFamilia HC908 Flash de Motorola
Parte II
Configurar el canal del timer para “ input capture” , “ rising edge”
Tiempo de Captura T
Tiempo de Captura T
Periodo = T2 - T
ING. DANIEL DI LELLA DDFAE For Motorola Products
Curso de MicrocontroladoresFamilia HC908 Flash de Motorola
Parte II
Compare/Capture Unit 16-Bit Free-Running Counter
16-Bit Compare
16-Bit Output Compare Register
(programmed by software)
Pin Control
Logic
Interrupt request
to CPU
OCx
CHxF
El Status Flag se seteacuando la comparacióncoincide
CHxIE
Mascara de Interrupción Local opcional
(habilitada por medio del software)
Set PinClear PinToggle Pin
La acción ocurre cuandocoincide el contenido del compareregister con el contador
TCNTH:TCNTHL TCHxH:TCHxL
Usos Posibles:
Generación de formas de ondas o pulsos
-^
Indicador de tiempo transcurrido (a un circuito externo)
-^
Disparo de eventos externos
ING. DANIEL DI LELLA DDFAE For Motorola Products
Curso de MicrocontroladoresFamilia HC908 Flash de Motorola
Parte II
Timer Channel Status and Control Registers (TSCx)
Toggle on Overflow (TOVx)
Tiene control solo en modo “Output Compare” y PWM
-^
No tiene efecto cuando el canal está configurado como “input capture”
-^
Normalmente usado en generación de PWMs 1 = Cambia el estado de la salida cuando hay “ Timer Overflow ”0 = No hace nada cuando hay “Timer Overflow ” WRITE:
CHxF
x = número de canal 0, 1.
CHxIE
MSxB
MSxA
ELSxB
ELSxA
TOVx
CHxMAX
TSCx
ING. DANIEL DI LELLA DDFAE For Motorola Products
Curso de MicrocontroladoresFamilia HC908 Flash de Motorola
Parte II
Timer Channel registers (TCHx)
Input Capture
El valor del “Timer register ” es memorizado cuando aparece un “input capture”
Output Compare
READ: WRITE:RESET: Valor a comparar con el timer
TCHxH
x = número de canal 0, 1.
TCHxL
ING. DANIEL DI LELLA DDFAE For Motorola Products
Curso de MicrocontroladoresFamilia HC908 Flash de Motorola
Parte II
Timer Channel Status and Control Registers (TSCx)
Channel x Interrupt Enable (CHxE)
Habilita las interrupciones del TIM al CPU sobre el canal x. 1 = Canal x CPU interrupt requests habilitado0 = Canal x CPU interrupt requests deshabilitado
-^
Channel Status Flag (CHxF)
Input Capture
Seteado cuando ocurre un flanco activo
Output Compare
Seteado cuando el valor en el “TIM counter registers” coincide con el valor en elTIM channel register
Limpiado por la lectura del “status register “ luego de escribir un “ 1” en CHxF 1 = Input capture o output compare en canal x0 = No evento capture o output compare en canal x
CHxF
x = número de canal 0, 1.
CHxIE
MSxB
MSxA
ELSxB
ELSxA
TOVx
CHxMAX
TSCx
ING. DANIEL DI LELLA DDFAE For Motorola Products
Curso de MicrocontroladoresFamilia HC908 Flash de Motorola
Parte II
(el más conocido de los modos de
generación de PWM…)
Cualquier canal puede generar Unbuffered PWM
Se usa “output compare”
-^
La salida cambia de estado basada en el “timer overflow”
El período PWM puede fijarse por:
Valor de la cuenta del Modulo ( Modulo count value )
-^
La salida del “Clock prescaler”
La duración del ancho del pulso puede fijarse por:
Valor del “Timer compare register”
El canal del timer configurado para forzar el pin de salida paracomplementar nivel del ancho de pulso