Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual 18F2455 y 18F2550 PDF
Manual 18F2455 y 18F2550 PDF
1
Documento creado por Slalen para Electronics Strange World
2
Datasheet de la familia PIC18F2455/2550/4455/4550
3
Documento creado por Slalen para Electronics Strange World
4
Datasheet de la familia PIC18F2455/2550/4455/4550
5
Documento creado por Slalen para Electronics Strange World
6
Datasheet de la familia PIC18F2455/2550/4455/4550
7
Documento creado por Slalen para Electronics Strange World
8
Datasheet de la familia PIC18F2455/2550/4455/4550
9
Documento creado por Slalen para Electronics Strange World
10
Datasheet de la familia PIC18F2455/2550/4455/4550
11
Documento creado por Slalen para Electronics Strange World
12
Datasheet de la familia PIC18F2455/2550/4455/4550
13
Documento creado por Slalen para Electronics Strange World
14
Datasheet de la familia PIC18F2455/2550/4455/4550
15
Documento creado por Slalen para Electronics Strange World
16
Datasheet de la familia PIC18F2455/2550/4455/4550
17
Documento creado por Slalen para Electronics Strange World
18
Datasheet de la familia PIC18F2455/2550/4455/4550
19
Documento creado por Slalen para Electronics Strange World
20
Datasheet de la familia PIC18F2455/2550/4455/4550
21
Documento creado por Slalen para Electronics Strange World
22
Datasheet de la familia PIC18F2455/2550/4455/4550
Los osciladores secundarios son las fuentes externas que no se conectan en los
pines OSC1 u OSC2. Estas fuentes pueden seguir funcionando incluso cuando el
microcontrolador se pone en modo control de energa.
Los micros PIC18F2455/PIC18F2550/PIC18F4455/PIC18F4550 ofrecen el
Timer1 como oscilador secundario. Este oscilador es, a menudo, el temporizador base
en las aplicaciones basadas en tiempo real en todos los modos de control de energa.
Ms comnmente, se conecta un XTAL de 32,768kHz en los pines
RC0/T1OSO/TI3CKI y RC1/T10SI/UOE* junto con un condensador e cada pin a masa.
El bloque interno de oscilacin se puede usar como reloj en los modos control
de energa. La fuente INTRC se utiliza en varias opciones especiales como el perro
guardin o el monitor del reloj de seguridad.
23
Documento creado por Slalen para Electronics Strange World
cambia la seal de reloj. La longitud de esta pausa es la suma de dos ciclos del reloj
antiguo mas de tres a cuatro ciclos del reloj nuevo. Esta formula indica cuando el reloj
nuevo se hace estable.
24
Datasheet de la familia PIC18F2455/2550/4455/4550
25
Documento creado por Slalen para Electronics Strange World
26
Datasheet de la familia PIC18F2455/2550/4455/4550
27
Documento creado por Slalen para Electronics Strange World
28
Datasheet de la familia PIC18F2455/2550/4455/4550
29
Documento creado por Slalen para Electronics Strange World
30
Datasheet de la familia PIC18F2455/2550/4455/4550
31
Documento creado por Slalen para Electronics Strange World
32
Datasheet de la familia PIC18F2455/2550/4455/4550
33
Documento creado por Slalen para Electronics Strange World
34
Datasheet de la familia PIC18F2455/2550/4455/4550
35
Documento creado por Slalen para Electronics Strange World
4.0 RESET
Los dispositivos PIC18F2455/2550/4455/4550 distinguen entre las distintas
clases de reset:
a) Reset por fallo de energa (POR)
b) Reset por MCLR* durante la operacin normal
c) Reset de MCLR* durante modos ahorro de energa
d) Reset por el perro guardin (WDT) (durante ejecucin)
e) Reset por cese de energa (BOR)
f) Instruccin RESET
g) Reset por desbordamiento la Pila
h) Reset por vaciado de la Pila
Esta seccin discute los resets generados por MCLR*, POR y BOR y cubre la
operacin de los varios contadores de tiempo inicio.
36
Datasheet de la familia PIC18F2455/2550/4455/4550
37
Documento creado por Slalen para Electronics Strange World
38
Datasheet de la familia PIC18F2455/2550/4455/4550
39
Documento creado por Slalen para Electronics Strange World
40
Datasheet de la familia PIC18F2455/2550/4455/4550
41
Documento creado por Slalen para Electronics Strange World
42
Datasheet de la familia PIC18F2455/2550/4455/4550
43
Documento creado por Slalen para Electronics Strange World
El stack pointer se inicializa con 00000 despus de cada reset. No hay RAM
asociado a la localizacin que corresponde con un valor del stack pointer de 00000;
esto slo es un valor de reset. Los bits de estado indican si la pila est llena, ha
desbordado o tiene est vaca y tiene que devolver una direccin (underflow).
44
Datasheet de la familia PIC18F2455/2550/4455/4550
45
Documento creado por Slalen para Electronics Strange World
eliminados y se almacenarn los de la alta. En estos casos, el usuario debe almacenar los
datos de los registros en memoria.
Si las interrupciones de alta prioridad no se utilizan, todas las interrupciones
pueden utilizar la pila almacenamiento rpido para volver de la interrupcin. Si no se
utilizan las interrupciones, la pila de almacenamiento rpido se puede usar para
restaurar los registros ESTADO, WREG y BSR al final de una llamada de un
subprograma. Para utilizar la pila de almacenamiento rpido en una llamada de un
subprograma, hay que usar una instruccin CALL LABEL, FAST donde LABEL es el
nombre de la subrutina se debe utilizar para guardar los registros de ESTADO, WREG
y BSR en la pila de almacenamiento rpido. Para restaurar estos registros hay que
utilizar una instruccin RETURN, FAST.
46
Datasheet de la familia PIC18F2455/2550/4455/4550
47
Documento creado por Slalen para Electronics Strange World
Nota: Todas las instrucciones son de un solo ciclo, excepto las de salto. Estas
tienen dos ciclos desde que se busca la instruccin se utiliza hasta que la instruccin
nueva se busca y se ejecuta.
48
Datasheet de la familia PIC18F2455/2550/4455/4550
49
Documento creado por Slalen para Electronics Strange World
Cuando a=0:
Se ignora el BSR y usamos el acceso al banco.
Los primeros 96bytes de la RAM son de propsito general (del banco 0)
Los 160bytes restantes son registros de funciones especiales (banco 15)
Cuando a=1:
El BSR especifica el banco usado en la instruccin.
50
Datasheet de la familia PIC18F2455/2550/4455/4550
51
Documento creado por Slalen para Electronics Strange World
52
Datasheet de la familia PIC18F2455/2550/4455/4550
53
Documento creado por Slalen para Electronics Strange World
54
Datasheet de la familia PIC18F2455/2550/4455/4550
55
Documento creado por Slalen para Electronics Strange World
56
Datasheet de la familia PIC18F2455/2550/4455/4550
57
Documento creado por Slalen para Electronics Strange World
registro FSRnH. Por otra parte, los resultados de estas operaciones no cambian el valor
de los flags del registro ESTADO (Ej., Z, N, OV, etc.).
El registro PLUSW se puede utilizar para implementar una forma de
direccionamiento indexado en la memoria de datos. Manipulando el valor del registro,
los usuarios pueden conseguir direcciones fijando el puntero de direcciones. En algunos
casos, esto se puede utilizar para poner un control estructurado del programa, por
ejemplo pilas del software, dentro de la memoria de datos.
58
Datasheet de la familia PIC18F2455/2550/4455/4550
59
Documento creado por Slalen para Electronics Strange World
60
Datasheet de la familia PIC18F2455/2550/4455/4550
61
Documento creado por Slalen para Electronics Strange World
62
Datasheet de la familia PIC18F2455/2550/4455/4550
63
Documento creado por Slalen para Electronics Strange World
64
Datasheet de la familia PIC18F2455/2550/4455/4550
65
Documento creado por Slalen para Electronics Strange World
66
Datasheet de la familia PIC18F2455/2550/4455/4550
67
Documento creado por Slalen para Electronics Strange World
68
Datasheet de la familia PIC18F2455/2550/4455/4550
final de la actualizacin de los 32 registros, el registro EECON1 debe estar escrito para
comenzar la operacin de programacin con una escritura larga.
Se necesita la escritura larga para programar la flash interna. Se para la
ejecucin de instrucciones mientras dure la escritura larga. La escritura larga finalizar
con el contador interno de programacin.
El contador de tiempo de la EEPROM controla el tiempo de escritura. Las
tensiones de escritura/borrado las genera el chip con una bomba de carga, ajustada para
funcionar sobre la gama de la tensin del dispositivo.
Nota: El valor prefijado de los registros bloqueados en un reset y antes de una
operacin de escritura es FFh. Al escribir FFh en un registro de este tipo, no modifica
ese byte. Esto significa que los bytes individuales de memoria de programa se pueden
modificar, siempre que el cambio no sea modificar un bit de 0 a 1. Al modificar
bytes individuales, no es necesario cargar los 32 registros antes de ejecutar una
operacin de escritura.
69
Documento creado por Slalen para Electronics Strange World
READ_BLOCK
TBLRD*+ ;leer en TABLAT, e incrementar
MOVF TABLAT, W ;coger datos
MOVWF POSTINC0 ;guardar datos
DECFSZ COUNTER ;correcto?
BRA READ_BLOCK ;repetir
MODIFY_WORD
MOVLW DATA_ADDR_HIGH ;Puntero al
buffer
MOVWF FSR0H
MOVLW DATA_ADDR_LOW
MOVWF FSR0L
MOVLW NEW_DATA_LOW ;Actualizar buffer
MOVLW NEW_DATA_HIGH
MOVWF INDF0
ERASE_BLOCK
MOVLW CODE_ADDR_UPPER ;Cargar TBLPTR con la direccin base
MOVWF TBLPTRU ;del bloque de memoria
MOVLW CODE_ADDR_HIGH
MOVWF TBLPTRH
MOVLW CODE_ADDR_LOW
MOVWF TBLPTRL
BSF EECON1, EEPGD ;Puntero a la Flash
BCF EECON1, CFGS ;acceso a la Flash
BSF EECON1, WREN ;activar la escritura en memoria
BSF EECON1, FREE ;Activar la operacin de borrado de fila
BCF INTCON, GIE ;desactiva interrupciones
MOVLW 55h
MOVWF EECON2 ;escribe 55h
MOVLW 0AAh
MOVWF EECON2 ;escribe 0AAh
BSF EECON1, WR ;comienzo del borrado (CPU parada)
BSF INTCON, GIE ; reactivae interrupciones
TBLRD*- ;decrmeto despus de leer
MOVLW BUFFER_ADDR_HIGH ;puntero al buffer
MOVWF FSR0H
MOVLW BUFFER_ADDR_LOW
MOVWF FSR0L
MOVLW D2
70
Datasheet de la familia PIC18F2455/2550/4455/4550
MOVWF COUNTER1
WRITE_BUFFER_BACK
MOVLW D32 ;n de bytes en los registros bloqueados
MOVWF COUNTER
WRITE_BYTE_TO_HREGS
MOVF POSTINC0, W ;coger el byte bajo del buffer
MOVWF TABLAT ;llevar dato al lacht de tabla
TBLWT+* ;escribir dato (escritura corta)
DECFSZ COUNTER ;repetir hasta que el buffer se llene
BRA WRITE_WORD_TO_HREGS
PROGRAM_MEMORY
BSF EECON1, EEPGD ;Puntero a la memoria flash
BCF EECON1, CFGS ;Acceso a la memoria flash
BSF EECON1, WREN ;Activar escritura en memoria
BCF INTCON, GIE ;Desactivar interrupciones
MOVLW 55h
MOVWF EECON2 ;Escribir 55h
MOVLW 0AAh
MOVWF EECON2 ;Escribir 0AAh
BSF EECON1, WR ;Comienzo del programa
DECFSZ COUNTER1
BRA WRITE_BUFFER_BACK
BSF INTCON, GIE ;Activa las interrupciones
BCF EECON1, WREN ;Desactiva la escritura en memoria
71
Documento creado por Slalen para Electronics Strange World
72
Datasheet de la familia PIC18F2455/2550/4455/4550
73
Documento creado por Slalen para Electronics Strange World
74
Datasheet de la familia PIC18F2455/2550/4455/4550
75
Documento creado por Slalen para Electronics Strange World
76
Datasheet de la familia PIC18F2455/2550/4455/4550
77
Documento creado por Slalen para Electronics Strange World
78
Datasheet de la familia PIC18F2455/2550/4455/4550
79
Documento creado por Slalen para Electronics Strange World
9.0 INTERRUPCIONES
Los dispositivos PIC18F2455/2550/4455/4550 tienen fuentes mltiples de
interrupcin y una prioridad de interrupcin que permite que cada fuente de interrupcin
se le asigne un nivel prioritario o un nivel bajo de prioridad. El puntero de alta prioridad
est en 000008h y el puntero de interrupcin de baja prioridad est en 000018h. Los
acontecimientos prioritarios de interrupcin pararn cualquier interrupcin de prioridad
baja que pueda estar en marcha.
Hay diez registros que se utilizan para controlar las operaciones de interrupcin.
Estos registros son:
RCON
INTCON
INTCON2
INTCON3
PIR1, PIR2
PIE1, PIE2
IPR1, IPR2
Cada fuente de interrupcin tiene tres bits para controlar su operacin. Las
funciones de estos bits son:
Flag para indicar que ha ocurrido una interrupcin
El bit que permite la ejecucin de programa en la direccin del puntero
de interrupcin cuando se activa el flag
El bit de prioridad para seleccionar alta o baja prioridad
Las caractersticas de prioridad de las interrupciones se determinan activando el
bit IPEN (RCON<7>). Cuando se permite la prioridad de las interrupciones, hay dos
bits que permiten las interrupciones globalmente. Activando el bit GIEH (INTCON<7>)
se permiten todas las interrupciones que tengan el bit de prioridad activo (prioritario).
Seteando el bit GIEL (INTCON<6>) permite todas las interrupciones que tengan el bit
de prioridad borrado (prioridad baja). Cuando el flag de interrupcin, el bit de permiso y
el bit de las interrupciones globales estn activos, el programa saltar inmediatamente a
la direccin 000008h 000018h, dependiendo del bit de prioridad. Las interrupciones
individuales pueden desactivarse con su correspondiente bit de permiso.
Cuando el bit IPEN est borrado (estado por defecto), las caractersticas de
prioridad de las interrupciones estn desactivadas y las interrupciones son compatibles
con los dispositivos de alcance medio de PICmicro. En el modo de compatibilidad, los
bits de prioridad de las interrupciones para cada fuente no tienen ningn efecto.
INTCON<6> es el bit PEIE el cul permite/inhabilita todas las fuentes perifricas de
interrupcin. INTCON<7> es el bit GIE que permite/inhabilita todas las fuentes de
interrupcin. Todas las interrupciones saltan a la direccin 000008h en modo de
compatibilidad.
Cuando se responde una interrupcin, el bit de permiso de las interrupciones
globales est borrado para inhabilitar las otras. Si el bit IPEN est reseteado, ste es el
bit GIE. Si se utilizan los niveles de prioridad de interrupcin, ste ser el bit GIEH o
GIEL. Las fuentes de interrupcin prioritarias pueden interrumpir una interrupcin de
baja prioridad. Las interrupciones de prioridad bajas no se procesan mientras que las
interrupciones prioritarias estn en marcha.
La direccin de retorno se pone en la pila y el PC se carga con la direccin del
puntero de interrupcin (000008h 000018h). Una vez en la rutina de la interrupcin,
las fuentes de interrupcin se pueden determinar interrogando los flags de interrupcin.
80
Datasheet de la familia PIC18F2455/2550/4455/4550
Los flags de interrupcin se tienen que despejar por software antes de volver a permitir
las interrupciones para evitar interrupciones recurrentes.
La instruccin para volver de la interrupcin, RETFIE, devuelve de la rutina
de interrupcin y activa el bit GIE (GIEH o GIEL si se utilizan los niveles de prioridad)
que vuelve a permitir las interrupciones.
Para los acontecimientos externos de interrupcin, tales como los pines INT o la
interrupcin por cambio de la entrada PORTB, el estado latente de la interrupcin es de
tres a cuatro ciclos de instruccin. El exacto el estado latente es igual para instrucciones
de uno o dos ciclos. Los flags individuales de interrupcin se activan sin importar el
estado de su bit de permiso correspondiente o el bit GIE.
Nota: No utilizar la instruccin MOVFF para modificar registros de control de
interrupcin mientras que se permita cualquier interrupcin. Al hacerlo puede provocar
un comportamiento errtico del microcontrolador.
81
Documento creado por Slalen para Electronics Strange World
82
Datasheet de la familia PIC18F2455/2550/4455/4550
83
Documento creado por Slalen para Electronics Strange World
84
Datasheet de la familia PIC18F2455/2550/4455/4550
85
Documento creado por Slalen para Electronics Strange World
86
Datasheet de la familia PIC18F2455/2550/4455/4550
87
Documento creado por Slalen para Electronics Strange World
88
Datasheet de la familia PIC18F2455/2550/4455/4550
89
Documento creado por Slalen para Electronics Strange World
90
Datasheet de la familia PIC18F2455/2550/4455/4550
91
Documento creado por Slalen para Electronics Strange World
92
Datasheet de la familia PIC18F2455/2550/4455/4550
Nota 1: Los puertos de E/S tienen un diodo de proteccin para VDD y VSS.
93
Documento creado por Slalen para Electronics Strange World
94
Datasheet de la familia PIC18F2455/2550/4455/4550
95
Documento creado por Slalen para Electronics Strange World
96
Datasheet de la familia PIC18F2455/2550/4455/4550
97
Documento creado por Slalen para Electronics Strange World
x salida salida digital Salida serie de datos para operaciones ICSP e ICD.(3)
PGD
Buffer de
x entrada Entrada serie de datos para operaciones ICSP e ICD.(3)
entrada Schmitt
Nota 1: Configuracin en el POR determinada por el bit PBADEN. Los pines
se configuran como entradas analgicas cuando el bit PBADAN est activo y entradas
digitales cuando est borrado.
2: Seleccin de pin alternativo de CCP2 cuando CCP2MX = 0. La
seleccin natural es RC1.
3: Todas las funciones de los pines estn desactivadas cuando ICSP o
ICD se activan.
4: Slo en los dispositivos de 40/44-pines.
98
Datasheet de la familia PIC18F2455/2550/4455/4550
99
Documento creado por Slalen para Electronics Strange World
100
Datasheet de la familia PIC18F2455/2550/4455/4550
RC5/D+/V (2) S transmisor USB Lnea de salida del bus USB diferencial positivo USB (transmisor interno).
P D+ (2) Lnea de entrada del bus USB diferencial positivo USB (transmisor
E transmisor USB
interno).
Buffer de
VP (2) E Entrada del USB VP externo.
entrada TTL
0 S salida digital LATC<6> salida de datos.
RC6 Buffer de
1 E PORTC<6> entrada de datos.
entrada Schmitt
Salida de transmisin serie asncrona (mdulo EUSART); tiene prioridad
RC6/TX/C TX 0 S salida digital
sobre el puerto de datos. El usuario tiene que configurarla como salid.
K
Salida de transmisin serie sncrona (mdulo EUSART); tiene prioridad
0 S salida digital
sobre el puerto de datos.
CK
Buffer de
1 E Entrada del reloj serie sncrono (Mdulo EUSART).
entrada Schmitt
0 S salida digital PORTC<7> salida de datos
RC7 Buffer de
1 E PORT<7> entrada de datos
entrada Schmitt
Buffer de
RX 1 E Entrada de datos del receptor serie asncrono (mdulo EUSART).
entrada Schmitt
RC7/RX/D
Salida serie de datos sncrona (modulo EUSART); tiene prioridad sobre
T/ SDO 1 S salida digital
SPI y el puerto de datos.
DT
Buffer de Entrada de datos serie sncrona (mdulo EUSART). El usuario tiene que
1 E
entrada Schmitt configurarla como entr.
Salida de datos SPI (mdulo MSSP); tiene prioridad sobre el puerto de
SDO 0 S salida digital
datos.
101
Documento creado por Slalen para Electronics Strange World
Nota 1: Asignacin del pin por defecto. La asignacin del pin alternativa es
RB3 (cuando CCP2MX = 0).
2: RC4 y RC5 no tienen bits correspondientes de TRISC. En el modo de
puertos estos pines son slo entradas. La direccin de los datos del USB se determina
por la configuracin del USB.
3: Solamente dispositivos de 40/44pines.
102
Datasheet de la familia PIC18F2455/2550/4455/4550
103
Documento creado por Slalen para Electronics Strange World
104
Datasheet de la familia PIC18F2455/2550/4455/4550
El registro del latch de datos (LATE) slo es memoria mapeada. Las operaciones
de lectura-modificacin-escritura en el registro LATE lee y escribe el valor del latch de
salida del PORTE.
El cuarto pin PORTE (MCLR*/VPP/RE3) slo es un pin de entrada. Su
operacin se controlada con el bit de configuracin MCLRE. Cuando se selecciona
como puerto (MCLRE = 0), funciona como una entrada digital; como tal, no tiene bits
TRIS o LAT asociados. Si no, funciona como entrada Master Clear del dispositivo. En
cualquier configuracin, RE3 tambin funciona como entrada de tensin de
programacin.
Nota: En un reset de subida de tensin, se activa RE3 como una entrada digital
solamente si la funcin de Master Clear est desactivada.
105
Documento creado por Slalen para Electronics Strange World
106
Datasheet de la familia PIC18F2455/2550/4455/4550
107
Documento creado por Slalen para Electronics Strange World
108
Datasheet de la familia PIC18F2455/2550/4455/4550
11.3 PRESCALER
Estos micros disponen de un contador de 8bit como prescaler para el mdulo
Timer0. El prescaler no se puede leer o escribir directamente; su valor se fija con los
bits PSA y T0PS2:T0PS0 (T0CON<3: 0>), los cules determinan el divisor del
prescaler y la asignacin del prescaler.
Borrar el bit PSA asigna el prescaler al Mdulo Timer0. Cuando se activa, los
valores del prescaler van de 1:2 a 1:256, con incrementos de potencias de 2.
Cuando est activo el mdulo Timer0, todas las instrucciones que escriben en l
(ej., CLRF TMR0, MOVWF, TMR0, BSF TMR0, etc.) se borra el prescaler.
Nota: Al escribir el TMR0 cuando el prescaler est asignado al Timer0 lo
despejar pero no cambiar su asignacin.
109
Documento creado por Slalen para Electronics Strange World
110
Datasheet de la familia PIC18F2455/2550/4455/4550
111
Documento creado por Slalen para Electronics Strange World
112
Datasheet de la familia PIC18F2455/2550/4455/4550
113
Documento creado por Slalen para Electronics Strange World
114
Datasheet de la familia PIC18F2455/2550/4455/4550
115
Documento creado por Slalen para Electronics Strange World
116
Datasheet de la familia PIC18F2455/2550/4455/4550
117
Documento creado por Slalen para Electronics Strange World
118
Datasheet de la familia PIC18F2455/2550/4455/4550
119
Documento creado por Slalen para Electronics Strange World
120
Datasheet de la familia PIC18F2455/2550/4455/4550
121
Documento creado por Slalen para Electronics Strange World
122
Datasheet de la familia PIC18F2455/2550/4455/4550
123
Documento creado por Slalen para Electronics Strange World
124
Datasheet de la familia PIC18F2455/2550/4455/4550
125
Documento creado por Slalen para Electronics Strange World
126
Datasheet de la familia PIC18F2455/2550/4455/4550
127
Documento creado por Slalen para Electronics Strange World
128
Datasheet de la familia PIC18F2455/2550/4455/4550
129
Documento creado por Slalen para Electronics Strange World
ECUACIN 15-1:
Periodo _ PWM = [( PR 2) + 1] 4 TOSC (Valor _ del _ presaler _ de _ TMR 2)
La frecuencia de PWM se define como 1/[perodo de PWM].
Cuando TMR2 es igual a PR2, ocurren los tres acontecimientos siguientes en el
siguiente ciclo de incremento:
TMR2 se borra
Se activa el pin CCPx (excepcin: si el duty cicle de PWM=0%, el pin
CCPx no se activa)
El duty cicle de PWM se asigna de CCPRxL a CCPRxH
130
Datasheet de la familia PIC18F2455/2550/4455/4550
ECUACIN 15-2:
Duty _ Cicle _ PWM = (CCPRXL : CCPXCON < 5 : 4 >) TOSC (Valor _ del _ prescaler _ TMR 2)
CCPRxL y CCPxCON<5:4> se pueden escribir en cualquier momento, pero el
valor del duty cicle no se grabar en CCPRxH hasta despus de que se igualen PR2 y
TMR2 (es decir, se complete el perodo). En modo PWM, CCPRxH es un registro
inalterable.
El registro CCPRxH y un latch interno de 2bits se utilizan como buffer doble del
ciclo de trabajo de PWM. El buffer doble es esencial en los problemas tcnicos del
PWM.
Cuando se igualan los 2bits del latch de TMR2 y CCPRxH, se concatenan con
un reloj interno de 2bits Q o 2bits del prescaler de TMR2, el pin de CCPx se borra.
La mxima resolucin de PWM (bits) para una frecuencia PWM dada se calcula
con la ecuacin:
ECUACIN 15-3:
FOSC
log( )
FPWM
Resolucin_mxima_PWM = bits
log(2)
Nota: Si el valor del ciclo de trabajo de PWM es mayor que el periodo, el pin
CCPx no se borrar.
131
Documento creado por Slalen para Electronics Strange World
132
Datasheet de la familia PIC18F2455/2550/4455/4550
133
Documento creado por Slalen para Electronics Strange World
134
Datasheet de la familia PIC18F2455/2550/4455/4550
135
Documento creado por Slalen para Electronics Strange World
Nota 1: el valor de 8bits de Timer2 se concatena con los 2bits del reloj interno Q
o 2bits del prescaler, para crear los 10bit del tiempo base
ECUACIN 16-1:
Periodo _ PWM = [( PR 2) + 1] TOSC (Valor _ del _ presaler _ de _ TMR 2)
La frecuencia de PWM se define como 1/[perodo de PWM].
Cuando TMR2 es igual a PR2, ocurren los tres acontecimientos siguientes en el
siguiente ciclo de incremento:
TMR2 se borra
Se activa el pin CCP1 (excepcin: si el duty cicle de PWM=0%, el pin
CCP1 no se activa)
El duty cicle de PWM se asigna de CCPR1L a CCPR1H
Nota: Los postscalers Timer2 no se utilizan para calcular la frecuencia de PWM.
El postscaler se poda utilizar para tener una frecuencia de salida diferente.
ECUACIN 16-2:
Duty _ Cicle _ PWM = (CCPR1L : CCP1CON < 5 : 4 >) TOSC (Valor _ del _ prescaler _ TMR 2)
CCPR1L y CCP1CON<5:4> se pueden escribir en cualquier momento, pero el
valor del duty cicle no se grabar en CCPR1H hasta despus de que se igualen PR2 y
TMR2 (es decir, se complete el perodo). En modo PWM, CCPR1H es un registro
inalterable.
136
Datasheet de la familia PIC18F2455/2550/4455/4550
ECUACIN 16-3:
FOSC
log( )
FPWM
Re solicin _ mxima _ PWM = bits
log(2)
Nota: Si el valor del ciclo de trabajo de PWM es mayor que el periodo, el pin
CCPx no se borrar.
137
Documento creado por Slalen para Electronics Strange World
138
Datasheet de la familia PIC18F2455/2550/4455/4550
139
Documento creado por Slalen para Electronics Strange World
140
Datasheet de la familia PIC18F2455/2550/4455/4550
141
Documento creado por Slalen para Electronics Strange World
142
Datasheet de la familia PIC18F2455/2550/4455/4550
143
Documento creado por Slalen para Electronics Strange World
144
Datasheet de la familia PIC18F2455/2550/4455/4550
145
Documento creado por Slalen para Electronics Strange World
146
Datasheet de la familia PIC18F2455/2550/4455/4550
147
Documento creado por Slalen para Electronics Strange World
Nota 1: Esta seal solo est disponible si el transmisor interno est desactivado
(UTRDIS=1)
2: Las resistencias internas pull-up se tienen que desactivar (UPUEN=0)
3: No hay que activar el regulador interno cuando se utiliza una fuente de
3,3V externa.
148
Datasheet de la familia PIC18F2455/2550/4455/4550
149
Documento creado por Slalen para Electronics Strange World
dependiendo del valor de este bit. Activar este bit antes de un IDLEIF dar lugar a
comportamiento imprevisible del bus.
Nota: Cuando est en el modo de suspensin, el bus del dispositivo USB se
limita al 500A de corriente. sta es la corriente completa cedida por el dispositivo
PIC y su circuito de soporte. Hay que tener cuidado de ceder la corriente mnima
cuando el dispositivo entre en el modo de suspensin.
150
Datasheet de la familia PIC18F2455/2550/4455/4550
151
Documento creado por Slalen para Electronics Strange World
152
Datasheet de la familia PIC18F2455/2550/4455/4550
153
Documento creado por Slalen para Electronics Strange World
154
Datasheet de la familia PIC18F2455/2550/4455/4550
155
Documento creado por Slalen para Electronics Strange World
156
Datasheet de la familia PIC18F2455/2550/4455/4550
157
Documento creado por Slalen para Electronics Strange World
158
Datasheet de la familia PIC18F2455/2550/4455/4550
159
Documento creado por Slalen para Electronics Strange World
160
Datasheet de la familia PIC18F2455/2550/4455/4550
161
Documento creado por Slalen para Electronics Strange World
162
Datasheet de la familia PIC18F2455/2550/4455/4550
163
Documento creado por Slalen para Electronics Strange World
164
Datasheet de la familia PIC18F2455/2550/4455/4550
165
Documento creado por Slalen para Electronics Strange World
Endpoint Modo 0(No Ping- Modo 1(Ping-Pong en Modo 2(Ping-Pong en todos Modo 3(Ping-Pong en
Pong) EP0 OUT) EPs) todos EPs, excepto EP0)
166
Datasheet de la familia PIC18F2455/2550/4455/4550
167
Documento creado por Slalen para Electronics Strange World
168
Datasheet de la familia PIC18F2455/2550/4455/4550
169
Documento creado por Slalen para Electronics Strange World
170
Datasheet de la familia PIC18F2455/2550/4455/4550
171
Documento creado por Slalen para Electronics Strange World
172
Datasheet de la familia PIC18F2455/2550/4455/4550
Nota: Los usuarios deben tener presente los lmites de energa del USB. Segn
la especificacin del USB 2.0, no puede exceder 100mA en un dispositivo de baja
potencia 500mA en uno de alta.
173
Documento creado por Slalen para Electronics Strange World
17.8 OSCILADOR
El mdulo USB necesita una seal especfica de reloj. En operaciones full-
speed, el reloj tiene que ser de 48MHz. El microcontrolador y los perifricos no tienen
porque tener la misma frecuencia de reloj o la misma fuente.
174
Datasheet de la familia PIC18F2455/2550/4455/4550
17.9.2 FRAMES
La informacin que se comunica en el bus se agrupa en ranuras de 1ms,
designadas frames. Cada frame puede contener muchas transacciones a varios
dispositivos y Endpoints.
175
Documento creado por Slalen para Electronics Strange World
17.9.3 TRANSFERENCIAS
Hay cuatro tipos de transferencias definidas en las especificaciones del USB.
Sncrona: Este tipo proporciona un mtodo de transferencia para
cantidades de datos grandes (hasta 923 bytes) con la entrega puntual
asegurada; sin embargo, la integridad de los datos no se asegura. Es
bueno en aplicaciones donde los datos son pequeos y la prdida no es
crtica, por ejemplo audio.
Bulk: Este mtodo de transferencia permite grande cantidades de datos
que se transferirn asegurando la integridad de los datos; sin embargo, la
puntualidad de la entrega no se asegura.
Interrupcin: Este tipo de transferencia prev la entrega puntual
asegurada para bloques pequeos de datos, se asegura la integridad de los
datos.
Control: Este tipo prev la disposicin de dispositivo control.
Mientras que los dispositivos full-speed soportan todos los tipos de
transferencia, los dispositivos de poca velocidad se limitan a las transferencias
interrupcin y control.
17.9.4 ENERGA
La energa se puede obtener del USB. Las especificaciones del USB definen los
requisitos de energa del bus. Los dispositivos pueden ser self-powered o alimentados
por bus. Los dispositivos Self-powered consiguen energa de una fuente externa,
mientras que los dispositivos alimentados por bus utilizan la energa del bus.
La especificacin del USB limita la energa tomada del bus. Cada dispositivo se
asegura 90mA y 5V (una unidad de carga). La energa adicional puede solicitarse, hasta
un mximo de 500mA. Observar que ceder ms energa que la de una unidad de carga
es una peticin y el anfitrin o el hub no tiene que proporcionarla obligatoriamente. As,
un dispositivo capaz de consumir ms de una unidad de carga debe ser capaz de
mantener una configuracin de baja potencia de una unidad carga o menos, en caso de
necesidad.
La especificacin del USB tambin define un modo de reposo. En esta situacin,
la corriente se debe limitar a 500A, sobre 1 segundo. Un dispositivo se debe incorporar
al estado de reposo despus de 3ms de inactividad (es decir, ningn smbolo SOF en
3ms). El entrar el dispositivo en el modo reposo debe caer la consumicin actual en los
10ms siguientes. Asimismo, al sealar un reinicio, el dispositivo debe sealarlo en los
10ms cediendo corriente.
176
Datasheet de la familia PIC18F2455/2550/4455/4550
17.9.5 ENUMERACIN
Cuando el dispositivo se une al bus, el anfitrin crea un proceso de enumeracin
en un intento por identificar el dispositivo. Esencialmente, el anfitrin interroga al
dispositivo, recopila informacin tal como el consumo de energa, tarifas y tamaos de
los datos, protocolo y otra informacin descriptiva, que contienen los descriptores. El
proceso de enumeracin sera:
1. Reset del USB: Resetear el dispositivo. As, el dispositivo no se
configura y no tiene una direccin (direccin 0).
2. Conseguir el descriptor del dispositivo: El anfitrin solicita una pequea
parte del descriptor del dispositivo.
3. Reset del USB: Resetear el dispositivo otra vez.
4. Fijar la direccin: El anfitrin asigna una direccin al dispositivo.
5. Conseguir el descriptor del dispositivo: El anfitrin recupera el descriptor
del dispositivo, recolectando la informacin, por ejemplo fabricante, tipo
de dispositivo, control mximo del tamao de los paquetes.
6. Conseguir los descriptores de configuracin.
7. Conseguir cualquier otro descriptor.
8. Fijar una configuracin.
El proceso exacto de enumeracin depende del anfitrin.
17.9.6 DESCRIPTORES
Hay ocho estndares del descriptor de cul cinco son los ms importantes para
este dispositivo.
177
Documento creado por Slalen para Electronics Strange World
178
Datasheet de la familia PIC18F2455/2550/4455/4550
179
Documento creado por Slalen para Electronics Strange World
180
Datasheet de la familia PIC18F2455/2550/4455/4550
181
Documento creado por Slalen para Electronics Strange World
182
Datasheet de la familia PIC18F2455/2550/4455/4550
183
Documento creado por Slalen para Electronics Strange World
184
Datasheet de la familia PIC18F2455/2550/4455/4550
185
Documento creado por Slalen para Electronics Strange World
186
Datasheet de la familia PIC18F2455/2550/4455/4550
0000(1) A A A A A A A A A A A A A
0001 A A A A A A A A A A A A A
0010 A A A A A A A A A A A A A
0011 D A A A A A A A A A A A A
0100 D D A A A A A A A A A A A
0101 D D D A A A A A A A A A A
0110 D D D D A A A A A A A A A
(1)
0111 D D D D D A A A A A A A A
1000 D D D D D D A A A A A A A
1001 D D D D D D D A A A A A A
1010 D D D D D D D D A A A A A
1011 D D D D D D D D D A A A A
1100 D D D D D D D D D D A A A
1101 D D D D D D D D D D D A A
1110 D D D D D D D D D D D D A
1111 D D D D D D D D D D D D D
A= Entrada analgica
D= E/S digital
Nota 1: El valor de POR de los bits PCFG depende del valor del bit de
configuracin PBADEN. Cuando PBADEN=1, PCFG<3: 0>=0000; cuando
PBADEN=0, PCFG<3: 0>=0111.
2: AN5 con AN7 estn disponibles solamente en los dispositivos
40/44pines.
187
Documento creado por Slalen para Electronics Strange World
188
Datasheet de la familia PIC18F2455/2550/4455/4550
189
Documento creado por Slalen para Electronics Strange World
190
Datasheet de la familia PIC18F2455/2550/4455/4550
191
Documento creado por Slalen para Electronics Strange World
192
Datasheet de la familia PIC18F2455/2550/4455/4550
193
Documento creado por Slalen para Electronics Strange World
Nota 1: Al leer el registro PORT, todos los pines configurados como canales
de entrada analgica se leern como borrado (un nivel bajo). Los pines configurados
como entrada digital convertirn como entradas analgicas. Los niveles analgicos de la
entrada digital estarn bien convertidos.
2: Los niveles analgicos en cualquier pin definido como entrada digital
puede causar al buffer de entrada digital que consuma una corriente fuera de los lmites
de la especificacin de dispositivo.
3: El bit PBADEN en el registro de configuracin 3H configura los pines
de PORTB a resetar como pines analgicos o digitales dependiendo de como estn los
bits PCFG0 de ADCON1 despus el reset.
21.7 DESCARGA
La fase de descarga se utiliza para inicializar el valor de la matriz del
condensador. La matriz se descarga antes de cada muestra. Esta caracterstica ayuda a
optimizar la ganancia unitaria del amplificador como el circuito siempre carga la matriz
del condensador, ms bien que cargar/descarga se basa en la medida de valores
anteriores.
194
Datasheet de la familia PIC18F2455/2550/4455/4550
195
Documento creado por Slalen para Electronics Strange World
196
Datasheet de la familia PIC18F2455/2550/4455/4550
197
Documento creado por Slalen para Electronics Strange World
198
Datasheet de la familia PIC18F2455/2550/4455/4550
199
Documento creado por Slalen para Electronics Strange World
200
Datasheet de la familia PIC18F2455/2550/4455/4550
201
Documento creado por Slalen para Electronics Strange World
202
Datasheet de la familia PIC18F2455/2550/4455/4550
203
Documento creado por Slalen para Electronics Strange World
204
Datasheet de la familia PIC18F2455/2550/4455/4550
205
Documento creado por Slalen para Electronics Strange World
206
Datasheet de la familia PIC18F2455/2550/4455/4550
207
Documento creado por Slalen para Electronics Strange World
24.1 OPERACIN
Cuando se permite el mdulo HLVD, un comparador usa una tensin de
referencia interna generada como puntote ajuste. El punto de ajuste se compara con el
punto de cambio, donde cada nodo en el divisor de la resistencia representa la tensin
del punto de cambio. La tensin del punto de cambio es el nivel de tensin en el cual
el dispositivo detecta un acontecimiento de subida o bajada de tensin, dependiendo de
la configuracin del mdulo. Cuando la fuente de tensin es igual al punto de cambio, la
tensin que llega a la matriz de resistencias es igual a la tensin de referencia interna
generada por el mdulo de tensin de referencia. El comparador entonces genera una
seal de interrupcin activando el bit HLVDIF.
La tensin del punto de cambio es programable por software a cualquiera de los
16 valores. El punto de cambio se selecciona programando los bits HLVDL3:HLVDL0
(HLVDCON<3: 0>).
El mdulo HLVD tiene una caracterstica adicional que permite al usuario
proveer la tensin de cambio al mdulo mediante una fuente externa. Se permite este
modo cuando los bits, HLVDL3:HLVDL0, se fijan a 1111. En este estado, la entrada
del comparador se multiplexa con la entrada del pin externa, HLVDIN. Esto da a los
usuarios flexibilidad porque permite que configuren la interrupcin del detector de
alta/baja tensin para que ocurra en la gama de tensin en funcionamiento.
208
Datasheet de la familia PIC18F2455/2550/4455/4550
209
Documento creado por Slalen para Electronics Strange World
210
Datasheet de la familia PIC18F2455/2550/4455/4550
211
Documento creado por Slalen para Electronics Strange World
212
Datasheet de la familia PIC18F2455/2550/4455/4550
213
Documento creado por Slalen para Electronics Strange World
214
Datasheet de la familia PIC18F2455/2550/4455/4550
215
Documento creado por Slalen para Electronics Strange World
216
Datasheet de la familia PIC18F2455/2550/4455/4550
217
Documento creado por Slalen para Electronics Strange World
218
Datasheet de la familia PIC18F2455/2550/4455/4550
219
Documento creado por Slalen para Electronics Strange World
220
Datasheet de la familia PIC18F2455/2550/4455/4550
221
Documento creado por Slalen para Electronics Strange World
222
Datasheet de la familia PIC18F2455/2550/4455/4550
223
Documento creado por Slalen para Electronics Strange World
224
Datasheet de la familia PIC18F2455/2550/4455/4550
225
Documento creado por Slalen para Electronics Strange World
226
Datasheet de la familia PIC18F2455/2550/4455/4550
227
Documento creado por Slalen para Electronics Strange World
228
Datasheet de la familia PIC18F2455/2550/4455/4550
229
Documento creado por Slalen para Electronics Strange World
230
Datasheet de la familia PIC18F2455/2550/4455/4550
231
Documento creado por Slalen para Electronics Strange World
232
Datasheet de la familia PIC18F2455/2550/4455/4550
233
Documento creado por Slalen para Electronics Strange World
234