Colapsar columna

Menu Usuario -

Hola, Visitante
avatar


Mas Activos -

nocturno
Mensajes: 1986
Meta
Mensajes: 276
djfreeman
Mensajes: 272
spiderman
Mensajes: 257
HJ.0x00
Mensajes: 224

Autor Tema: Datasheet en español: PIC12F629/675 (5)  (Leído 7684 veces)

Desconectado xocas

  • Administrator
  • Colaborador MicroPIC
  • *****
  • Mensajes: 73
Datasheet en español: PIC12F629/675 (5)
« en: Mayo 21, 2009, 17:12 »
MÓDULO COMPARADOR
Los PIC12F629/675 tienen un módulo comparador analógico. Las entradas del comparador son multiplexadas en los pines GP0 y GP1. Hay una referencia de tensión del comparador (Comparator Voltage Reference) que puede aplicarse también a una entrada del comparador. En suma, se puede configurar GP2 como la salida del comparador.

El Registro de Control del Comparador (CMCON) contiene los bits para controlar el comparador:


bit 7 Sin implementar, se lee como 0
bit 6 COUT: bit de salida del Comparador
  cuando CINV = 0:
    1 = VIN+ > VIN-
    0 = VIN+ < VIN-
  cuando CINV = 1:
    1 = VIN+ < VIN-
    0 = VIN+ > VIN-
bit 5 Sin implementar, se lee como 0
bit 4 CINV: bit de salida invertida del Comparador
  1 = salida invertida
  0 = salida no invertida
bit 3 CIS: bit de cambio de entrada del Comparador
  cuando CM2:CM0 = 110 o 101:
    1 = VIN+ conectado a CIN+
    0 = VIN- conectado a CIN-
bit 2-0 CM2:CM0: bits del Modo Comparador
se verá posteriormente su configuración (Figure 6-2)

Operación de Comparación
Una sencilla comparación se muestra en la figura 6-1, junto con la relación entre los niveles de entrada analógicos y la salida digital. Cuando la entrada analógica en VIN+ es menor que la entrada analógica VIN-, la salida del comparador es un nivel digital bajo. Cuando la entrada analógica en VIN+ es mayor que la entrada analógica en VIN-, la salida del comparador es un nivel digital alto. Las áreas sombreadas de la salida del comparador representan incertidumbres debidas a desplazamientos y tiempo de respuesta.
Nota: para usar los pines CIN+ y CIN- como entradas analógicas, los bits apropiados deben ser programados en el registro CMCON (19 h).



La polaridad de la salida del comparador puede ser invertida activando el bit CINV (CMCON <4>). Borrar este bit CINV resulta en una salida no-invertida.

Tabla completa que muestra el estado de salida frente a las condiciones de entrada y el bit de polaridad:.


Configuración del Comparador
Hay ocho modos de operación para la comparación.
El Registro CMCON se utiliza para seleccionar el modo. La figura 6-2 muestra los ocho modos posibles. El Registro TRISIO controla la dirección de datos de los pines para cada modo de comparación. Si el modo Comparador cambia, el nivel de salida de la comparación puede no ser válido por un período específico de tiempo. Consulta las especificaciones en la sección 12.0.
Nota: las interrupciones del Comparador deberían estar deshabilitadas durante un cambio de modo del  Comparador. De lo contrario, puede producirse una falsa interrupción.




Desconectado xocas

  • Administrator
  • Colaborador MicroPIC
  • *****
  • Mensajes: 73
Re: Datasheet en español: PIC12F629/675 (5)
« Respuesta #1 en: Mayo 21, 2009, 17:16 »
Consideraciones en la conexión de una entrada Analógica
Un circuito simplificado para una entrada analógica se muestra a continuación. Al estar los pines analógicos conectados a una salida digital, se disponen diodos de protección conectados a VDD y VSS. La entrada  analógica, por lo tanto, debe estar entre VSS y VDD. La presencia de diodos de protección en las entradas impide que la tensión supere en más de 0,6V la tensión VDD o que se sitúe 0,6V por debajo de VSS. Una impedancia máxima de 10 KΩ se recomienda para las fuentes analógicas. Cualquier componente externo conectado a un pin de entrada analógica, como un condensador o un diodo Zener, debería tener muy poca corriente de fuga.



Salida Comparador
La salida del Comparador, COUT, se lee mediante el registro CMCON. Este bit es de sólo lectura. La salida del Comparación puede ser también directamente dirigida al pin GP2 en tres de los ocho modos posibles, como se mostró en la figura 6-2. Cuando está en uno de estos modos, la salida en GP2 es asíncrona al reloj interno. En la figura 6-4 se muestra el diagrama de bloques de salida de comparación.
El bit TRISIO <2> funciona como una salida enable/disable (habilita/deshabilita) para el pin GP2 mientras el Comparador está en un modo de salida.

Notas:
1-cuando se lee el registro GPIO, todos los pines configurados como entradas analógicas se leerán como un ‘ 0 ’. Los pines configurados como entradas digitales convertirán una entrada analógica de acuerdo con la especificación de entrada TTL.
2- Niveles analógicos en cualquier pin definido como una entrada digital, pueden causar que el buffer de entrada consuma más corriente de la especificada.



Referencia Comparador
El módulo Comparador también permite la selección de una referencia de voltaje internamente generada para una de las entradas del Comparador. La señal de referencia interna es usada para cuatro de los ocho modos del Comparator. El registro VRCON, Registro 6-2, controla el módulo de referencia de voltaje mostrado en la Figura 6-5.

Configuración de la Referencia de Voltaje
La referencia de voltaje puede dar salida a 32 niveles de voltaje diferentes, 16 en la parte alta y 16 en la baja.

Las ecuaciones siguientes determinan los voltajes de salida:
VRR = 1 (low range): CVREF = (VR3:VR0 / 24) x VDD
VRR = 0 (high range): CVREF = (VDD / 4) + (VR3:VR0 x VDD / 32)

Exactitud/Error en la Referencia de Voltaje
Un rango completo de VSS a VDD no se puede realizar debido a la construcción del módulo. Los transistores en el tope y el fondo de la red de escala de resistencia (la Figura 6-5) impiden a CVREF acercarse a VSS o VDD. La Referencia de Voltaje se toma de VDD y por lo tanto, la salida CVREF cambia con fluctuaciones en VDD. Un test de la exactitud absoluta de la Referencia de Voltaje del Comparator se puede encontrar en la Sección 12.0.



Tiempo de Respuesta del Comparador
El tiempo de respuesta es el tiempo mínimo, después de seleccionar una nueva referencia de voltaje o fuente de entrada, antes de que la salida del Comparador tenga un nivel válido. Si la referencia interna  cambia, el retardo máximo del voltaje interno de referencia debe ser considerado cuando se usan las salidas del Comparador. Por otra parte, se debería usar el retardo máximo de los Comparadores (Tabla 12-7).


Desconectado xocas

  • Administrator
  • Colaborador MicroPIC
  • *****
  • Mensajes: 73
Re: Datasheet en español: PIC12F629/675 (5)
« Respuesta #2 en: Mayo 21, 2009, 17:19 »
Operación Durante el Modo SLEEP
Si el Comparador y la referencia de voltaje están habilitados antes de entrar en el modo SLEEP, permanecerán activos durante este modo. Esto da como resultado corrientes de SLEEP más altas, como se muestra en las especificaciones de power-down. La corriente adicional consumida por el Comparador y la referencia de voltaje se muestran por separado en las especificaciones. Para minimizar el consumo mientras se está en el modo SLEEP, se desconecta el Comparador, CM2:CM0 = 111, y la referencia de voltaje, VRCON <7> = 0.
Si el Comparator está habilitado durante el modo SLEEP, una interrupción despertará al dispositivo. Si el dispositivo despierta del modo SLEEP, los contenidos de los registros CMCON y VRCON no se verán afectados.

Efectos de un RESET
Un RESET del dispositivo fuerza a los registros CMCON y VRCON a sus estados de RESET. Esto fuerza al  módulo Comparador al estado 'Comparator Reset mode', CM2:CM0 = 000 y al voltaje de referencia a su  estado deshabilitado. Así, todas las entradas potenciales son entradas analógicas con el Comparador y el voltaje de referencia deshabilitados para un consumo de corriente lo más pequeña posible.

Registro VRCON:


bit 7  VREN: habilitar bit CVREF
    1 = CVREF circuito encendido
    0 = CVREF circuito apagado, no hay drenaje IDD
bit 6  Sin implementar. Se lee como '0'
bit 5  VRR: bit de selección de rango CVREF
    1 = Low range  (rango bajo)
    0 = High range (rango alto)
bit 4  Sin implementar. Se lee como '0'
bit 3-0 VR3:VR0: selección del valor CVREF 0 ≤ VR [3: 0] ≤ 15
    cuando VRR = 1: CVREF = (VR3:VR0 / 24) * VDD
    cuando VRR = 0: CVREF = VDD/4 + (VR3:VR0 / 32) * VDD

Interrupciones en el Comparador
La bandera de interrupción del Comparador se establece siempre que hay un cambio en el valor de salida del Comparador. Será necesario mantener vía software la información sobre el estado de los bits de salida, así como la lectura de CMCON <6>, para determinar el cambio actual ocurrido. El bit CMIF, PIR1 <3>, es el indicador (la bandera) de interrupción del Comparador. Este bit se debe restablecer por software llevándolo a ‘ 0 ’. Ya que también es posible escribir un '1' en este registro, se puede iniciar una interrupción simulada.
Los bits CMIE (PIE1 <3>) y PEIE (INTCON <6>) deben activarse para permitir la interrupción. Además, también debe activarse el bit GIE. Si cualquiera de estos bits se borran, la interrupción no estará habilitada, aunque todavía se establecerá el bit CMIF si se produce una condición de interrupción.
El usuario, en la Rutina del Servicio de Interrupción, puede borrar la interrupción de la siguiente manera:
a) cualquier lectura o escritura de CMCON. Esto terminará la condición de no coincidencia
b) limpiando el bit de bandera CMIF.
Una condición de no coincidencia mantendrá activo el bit de bandera CMIF. La lectura de CMCON pondrá fin a la condición de no coincidencia y permitirá borrar el bit de bandera CMIF.
Nota: si se produce un cambio en el registro CMCON (COUT) cuando una operación de lectura está siendo ejecutada (inicio de Q2 cycle), el CMIF (PIR1 <3>) no puede establecer la bandera de interrupción.

Registros asociados al módulo Comparador:





Desconectado xocas

  • Administrator
  • Colaborador MicroPIC
  • *****
  • Mensajes: 73
Re: Datasheet en español: PIC12F629/675 (5)
« Respuesta #3 en: Junio 02, 2009, 11:03 »
Memoria de Datos EEPROM
La memoria de datos EEPROM se puede leer y escribir durante una operación normal (rango completo de VDD). Esta memoria no está mapeada directamente en el espacio del archivo de registro. En su lugar, es  indirectamente direccionada a través de los Registros de Función Especial (SFR). Hay cuatro SFRs utilizados para leer y escribir esta memoria:
• EECON1
• EECON2 (no es un registro implementado físicamente)
• EEDATA
• EEADR

EEDATA contiene los 8 bits de datos de lectura y escritura, y EEADR contiene la dirección de acceso a la ubicación de la EEPROM. Los PIC12F629/675 tienen 128 bytes de datos EEPROM con un rango de direccionamiento de 0h a 7Fh.
La memoria de datos EEPROM permite la lectura y escritura de bytes. La escritura de un byte automáticamente borra la ubicación y escribe el nuevo dato (borra antes de escribir). La clasificación de la memoria de datos EEPROM está preparada para elevados ciclos de borrado y escritura. El tiempo de escritura está controlado por un temporizador interno. El tiempo de escritura varía con la tensión y la temperatura, así como de un chip a otro. Consulta las especificaciones de AC para límites exactos.

Cuando la memoria de datos tiene protección de código, la CPU puede continuar leyendo y escribiendo los datos de la memoria EEPROM. El programador del dispositivo no puede acceder a esta memoria.
Información adicional sobre la EEPROM de datos está disponible en el manual de referencia PIC®Mid-Range, (DS33023).


bit 7-0 EEDATn: valor del Byte a leer o escribir desde la EEPROM de datos


bit 7 Sin implementar: debería estar a 0
bit 6-0 EEADR: especifica una de las 128 localizaciones para operaciones de Lectura/Escritura de la EEPROM

EEADR
El registro EEADR puede direccionar hasta un máximo de 128 bytes de datos EEPROM. Sólo siete de los ocho bits en el registro (EEADR<6:0 >) son necesarios. Se ignora el MSb (bit 7).
El bit superior siempre debe ser ‘0’ para seguir siendo compatible con dispositivos que tengan más memoria de datos EEPROM.

Registros EECON1 Y EECON2
EECON1 es el registro de control con cuatro bits bajos físicamente implementados. Los cuatro bits superiores  están sin implementar y se leen como '0's.
Los bits de control RD y WR inician la lectura y escritura, respectivamente. Estos bits no se pueden borrar, tan sólo activarse, vía software. Se borran por hardware al completarse una operación de la lectura o escritura. La incapacidad para borrar el bit WR por software previene una accidental terminación prematura de una operación de escritura.
El bit WREN, cuando está activado, permitirá una operación de escritura. En Power-up, el bit WREN está borrado. El bit WRERR está activado cuando una operación de escritura es interrumpida por un MCLR Reset, o un WDT Time-out Reset durante una operación normal. En estas situaciones, a seguir de un RESET, el usuario puede comprobar el bit WRERR, borrarlo y volver a escribir la ubicación. Los datos y la dirección se borrarán, por lo tanto, los registros EEDATA y EEADR tendrán que ser reinicializados.
El bit de bandera de interrupción EEIF en el registro PIR1 se establece cuando se completa la escritura. Este bit debe desactivarse por software. EECON2 no es un registro físico. La lectura de EECON2 leerá todos como '0'. El registro EECON2 se utiliza exclusivamente en la secuencia de escritura  de datos en la EEPROM.


bit 7-4 Sin implementar: Se leen como '0'
bit 3 WRERR: bit de bandera EEPROM error
    1 = una operación de escritura terminada prematuramente (cualquier MCLR Reset o WDT Reset durante una operación normal o BOD detectado)
    0 = operación de escritura terminada
bit 2 WREN: bit de habilitación de escritura EEPROM
    1 = permite ciclos de escritura
    0 = inhibe escritura de datos
bit 1 WR: bit de Control de Escritura
    1 = inicia un ciclo de escritura (El bit es borrado por hardware una vez la escritura finaliza. El bit WR puede únicamente activarse, no borrarse, por software)
    0 = el ciclo de escritura de datos EEPROM se ha completado
bit 0 RD: bit de Control de Escritura
    1 = inicia una lectura EEPROM (La lectura toma un ciclo. RD se borra por hardware. El bit RD puede únicamente activarse, no borrarse, por software)
    0 = no inicia una lectura EEPROM


Desconectado xocas

  • Administrator
  • Colaborador MicroPIC
  • *****
  • Mensajes: 73
Re: Datasheet en español: PIC12F629/675 (5)
« Respuesta #4 en: Junio 02, 2009, 11:06 »
Leyendo la Memoria de Datos EEPROM
Para leer una posición de la memoria de datos, el usuario debe escribir la dirección en el registro EEADR y, a continuación, activar el bit de control RD (EECON1<0>), como se muestra en el ejemplo 8-1. Los datos están disponibles, en el siguiente ciclo, en el registro EEDATA. Por lo tanto, puede leerse en la siguiente instrucción. EEDATA mantiene este valor hasta otra lectura, o hasta que se escribe por el usuario (durante una operación de escritura).



Escribiendo en la Memoria de Datos EEPROM
Para escribir en una posición de la EEPROM, el usuario en primer lugar debe escribir la dirección en el registro EEADR y los datos al registro EEDATA. A continuación, el usuario debe seguir una secuencia específica para iniciar la escritura de cada byte, como se muestra en el ejemplo 8-2.



La escritura no iniciará si la secuencia anterior no se sigue exactamente (escribir 55h en EECON2, escribir AAh en EECON2 y activar el bit WR) para cada byte. Se recomienda encarecidamente que las interrupciones se deshabiliten durante este segmento de código. Un contador de ciclo se ejecuta durante la secuencia necesaria. Cualquier número que no sea igual a los ciclos necesarios para ejecutar la secuencia impedirá que los datos se escriban en la EEPROM.
Además, se debe activar el bit WREN en EECON1 para habilitar la escritura. Este mecanismo impide escrituras accidentales de datos en la EEPROM debido a una errante (inesperada) ejecución de código. El usuario debe mantener el bit WREN a 0 en todo momento, excepto cuando se actualiza la EEPROM. El bit WREN  no se borra por hardware.
Después de que se haya iniciado una secuencia de escritura, borrar el bit WREN no afectará a este ciclo de escritura. El bit WR no podrá activarse a menos que el bit WREN esté activado.
Al final del ciclo de escritura, el bit WR será borrado por hardware y se activa el bit de bandera EE de interrupción de escritura completada (EEIF). El usuario puede habilitar esta interrupción o sondear este bit. El bit EEIF del registro (PIR<7>) debe ser borrado por software.

Verificar Escritura
Dependiendo de la aplicación, buenas prácticas de programación pueden dictar que el valor que se escribe en la EEPROM de datos deba ser verificado (ver ejemplo 8-3) para confirmar la escritura del valor deseado.



Usando la EEPROM de Datos
La memoria de datos EEPROM es una matriz de bytes direccionables de alta-resistencia, que se ha optimizado para el almacenamiento de información con cambios frecuentes (por ejemplo, las variables de programa u otros datos que se actualizan con frecuencia).
Frecuentes cambios de los valores normalmente se actualizarán más a menudo que las especificaciones D120 o D120A. Si esto no es el caso, debe realizarse una actualización de la matriz. Por esta razón, las variables que cambian con poca frecuencia (como constantes, ID, calibración, etc.) deberían ser almacenadas en la memoria de programa FLASH.

Protección contra falsas Escrituras
Hay condiciones en las que el dispositivo no debe escribir datos a la memoria EEPROM. Para proteger contra las falsas Escrituras EEPROM, se han construido diversos mecanismos. En Power-up, se borra WREN. Además, el Power-up Timer (72 ms de duración) previene de escrituras en la EEPROM.
La secuencia de inicio de escritura y el bit WREN juntos ayudan a prevenir una escritura accidental durante:
• Brown-out
• Problemas de energía
• Mal-funcionamiento del software


Desconectado xocas

  • Administrator
  • Colaborador MicroPIC
  • *****
  • Mensajes: 73
Re: Datasheet en español: PIC12F629/675 (5)
« Respuesta #5 en: Junio 02, 2009, 11:07 »
Memoria de datos EEPROM con CODE PROTECT
La Memoria de Datos puede tener protección de código programando el bit CPD a ‘0’.
Cuando la memoria de datos tiene protección de código, la CPU es capaz de leer y escribir datos en la EEPROM. Se recomienda proteger el código de la memoria de programa (CP) cuando se protege el código de  la memoria de datos (CPD). Esto impide que cualquier persona programe ceros sobre el código existente (que se ejecutará como NOPs) para llegar a una rutina añadida, programada en posiciones no utilizadas de la memoria de programa, que sacará el contenido de la memoria de datos. Programar posiciones que no se utilizan a ‘0’ también ayudará a prevenir que la protección del código de la memoria de datos sea alterada.



Nota(1): EECON2 no es un registro físico.


 

login