13 de enero de 2013

Programación Maxim Integrated Meter IC

Resumen: En este documento se describen las herramientas, procedimientos y precauciones que deben utilizarse cuando Flash programación de circuitos integrados de medición de Maxim en prototipos y producción.

Esta nota de aplicación describe las interfaces, las herramientas, las precauciones y los procesos que se van a utilizar para la programación de las memorias flash de la Maxim y 71M6545 / H contador de energía ICs.

Además, se dan recomendaciones para el diseño de tableros de metro que asegurarse de que el código de programa se pueden borrar y volver a cargar en todas las circunstancias.

Herramientas de programación

El enfoque más simple para la programación Maxim metros CIs es usar una de las herramientas existentes. Las herramientas de programación disponibles en la actualidad son:

  • TFP2 flash programador
  • ADM51 emulador en circuito (ICE)
  • Terceros programadores

El programador flash TFP2

El TFP2 está disponible en distribuidores como Digi-Key o Mouser . Es capaz de programar el IC de destino en el circuito de destino. La operación es manual (se presiona un botón para iniciar el proceso de programación), pero también puede ser controlado por equipo de prueba automático ( ATE ). Se pueden combinar varios TFP2 dispositivos en paralelo para lograr un mayor rendimiento.

El código de destino puede ser cargado en el TFP2 utilizando una serie cable y HyperTerminal ® (o cualquier otro terminal) programa. El código de operación para el TFP2 pueden ser actualizados. El firmware más reciente para el TFP2 en el momento de edición de este documento es la revisión 1.53.

El cable de destino de la interfaz de la TFP2 puede ser un simple cable trenzado terminados con un conector de cabezal 0,1 ". Además, la TFP2 proporciona la TYCO / AMP 10x2 conector de alta densidad compatible con el conector utilizado por el ICE ADM51. Este conector incluye acceder a la señal de ICE_E (utilizado para el ICS 71M653x) en el pin 2.

Programadores simple puede ser implementado usando el TFP2 y un externo suministrado por el cliente placa de circuito impreso ( PCB ) con un zócalo que aloja el objetivo IC. Ver el Hardware necesario Ajustes sección para una descripción de las conexiones de los pines necesarios.

Nota : El TFP2 requiere que todos los registros que estar en secuencia (ascendente) orden. Maxim proporciona una utilidad (CHKSUM.EXE) que preprocesa Intel ® ficheros hex generados por el Keil ® compilador / enlazador para su uso con el TFP2. Esta utilidad se proporciona con el TFP2.

ICE (Signum Systems Modelo ADM51)

El ADM51 está disponible en los sistemas de Signum. Se utiliza principalmente para el ICE, es decir, una herramienta de desarrollo, sino que también se puede utilizar para cantidades pequeñas de programa flash de los circuitos integrados de medición.

Los programadores de otros fabricantes

Soltero IC, varios programadores, y de gran volumen con controladores y alimentadores, se están vendiendo actualmente con el apoyo deBPM Microsystems .

Herramientas de programación descatalogados

Tenga en cuenta que las siguientes herramientas están descontinuadas y ya no es compatible con Maxim:

  • TFP1-antecesora de la TFP2, lo que en la programación del sistema. El TFP2 cubre la funcionalidad completa de la TFP1.
  • FDBM-una simple tabla que podría ser utilizado para la programación en el sistema. El FDBM requiere una interfaz gráfica de usuario (GUI ) que se ejecuta en un equipo con Windows ® PC.
  • TGP1-este programador banda está siendo sustituido por otros productos de conocidos fabricantes de dispositivos de programación (ver nota anterior).

Hardware Interfaz de Programación

El 71M65xx se programan a través de su interfaz ICE. Las señales que aparecen en la Tabla 1 son necesarios para la comunicación entre el programador flash y el DUT. Ver las hojas de datos individuales para la ubicación de las patillas del ICE de interfaz.


 

Tabla 1. Flash Interfaz de Señales
Señal Dirección Función
E_TCLK La salida del DUT Datos del reloj (5MHz)
E_RXTX Bidireccional Los datos de entrada / salida
E_RST Bidireccional Flash programador reset (activo bajo)
ICE_E Entrada a DUT Activa la interfaz ICE (71M653x solamente)

* La señal E_RST sólo debe ser impulsada por el programador flash al activar las señales de interfaz.

** El programador flash debe liberar E_RST en todo otro momento.

*** El protocolo de programación es propiedad de Sistemas de Signum.

Ajustes de hardware necesarios

Además de establecer la fuente de alimentación IC y el suelo, los siguientes pines tienen que ser atendidos a parpadear con éxito el programa de la IC medidor:

V1:
V1 debe ser estable y por encima de la V BIAS umbral (consulte la hoja de datos para el valor de V BIAS ). Para la serie 71M651x, V1 debe estar atado a 3,3 V DC para desactivar el hardware
del temporizador watchdog . Para la serie 71M653x, V1 debería estar por encima de V BIAS . Para estos dispositivos, la activación de ICE_E se encarga del temporizador de vigilancia.

ICE_E:
Este pin sólo está disponible en los dispositivos 71M653x. Este pasador tiene que estar en 3,3 V DC durante la operación de programación.

XIN / XOUT:
Los CI metros generar la señal E_TCLK de la señal de 32 kHz generada por el oscilador de reloj interno junto con el cristal externo y dos condensadores de carga. Vea la hoja de datos para el cristal adecuado y
condensador valores.

V BIAS:
Este pasador debe tener un condensador 0.1μF a tierra.

V2P5:
Este pasador debe tener un condensador 0.1μF a tierra.

RESET (Z):
La baja actividad RESETZ pin (71M651x) debe estar vinculada a 3,3 V DC . El pin RESET de alta actividad (71M653x) debe ser conectado a tierra.

Todos los otros pines pueden flotar.

Casos especiales

Dispositivos Vírgenes (todas las ubicaciones flash son 0xFF) o dispositivos que han sido borrados del flash no requieren precauciones especiales. Todas las soluciones pueden contener un patrón de prueba corto que se aplica durante ATE prueba en la fábrica. Estos pueden ser tratados como partes no programados.

Algunos casos especiales se aplican en las circunstancias siguientes:

  • El SEGURO poco en el SFR memoria está colocada.
  • Código de destino establece el SEGURO bit en la memoria SFR.
  • El ECK_DIS poco en el rango de E / S de la memoria RAM está establecido, que desactivan la salida E_TCLK.
  • La parte está programado con firmware operativo válido o parcial, y el cálculo en el chip del motor (CE) es activa, impidiendo el acceso de flash (71M653x solamente).

Estos casos especiales se explican en las secciones siguientes.

El SEGURO Bit

El SEGURO poco impide el acceso a la imagen del código. Si el SEGURO bit se establece durante la fase previa al arranque de la IC, no hay medida del hardware que lo derrota. La única manera de restablecer la SECURE bit es borrar toda la memoria flash de masa, seguida de un reinicio.

Es importante señalar que el SEGURO bit es activado por la MPU ejecuta el código de destino (véase la Figura 1 para un ejemplo de código), no por el programador. El SEGURO bit protege IP del cliente frente al acceso no deseado, pero requiere algunos pasos adicionales del programador cuando el IC tiene que ser programado / verificada, ni reprogramado.

STARTUP1:
CLR 0xA8 ^ 7, deshabilitar las interrupciones
MOV 0B2h, # 40h; Establezca el bit SEGURO.
0E8h MOV, # FFh; WDT de actualización

Figura 1. Ensamblador de código de activar el SEGURO bit.

Así es como funciona la seguridad de flash: Cuando se enciende el IC para arriba, el PC MPU se pone a 0x0000 (vector reset) y comienza a ejecutar el código de prearranque. Este es un bloque de código consta de los primeros 60 MPU ciclos ubicado en la dirección 0x0000, durante el cual se desactiva la interfaz de ICE. Código de inicio Puede establecer el SEGURO poco en el espacio SFR durante el ciclo de pre-arranque para activar la seguridad de Flash Player. Desde SECURE sólo se puede ajustar, pero no se restablece (este bit sólo puede restablecerse mediante un restablecimiento de hardware), y el acceso ICE es imposible durante el ciclo de pre-arranque, hardware externo no tiene forma de acceder a la memoria flash. El SEGURO bit es parte de un registro en el espacio SFR de la MPU on-chip. Los datos individuales de CI hojas contienen información acerca de la ubicación de la SECURE bit.

ADM51 ICE

En la interfaz de usuario del emulador, un objetivo de IC con el SEGURO conjunto de bits se indican como se muestra en la Figura 2 . El usuario tiene la opción de borrar el objetivo IC flash y luego reiniciar la IC, que se logra mejor mediante la eliminación de la placa de alimentación. Para los sistemas que contienen una batería, la batería debe ser brevemente desconecta, o si la señal de reposición es accesible, que puede ser activado para forzar el IC de destino en el reinicio.

Después de esto, el objetivo IC surge como una parte regular borrado en la interfaz de usuario del emulador.

TFP2

El TFP2 emitirá un mensaje de estado simple en su interfaz de terminal que indica que el SEGURO bit en el IC objetivo se fija.

El TPF2 luego continúa con una operación de borrado flash, seguido de una operación de programación flash, sin ninguna acción requerida por el usuario.

Si el destino es un 71M653x y la señal ICE_E de la IC objetivo es accesible en la interfaz de programación, la secuencia es la siguiente:



  • Los TFP2 borra la memoria flash de destino.


  • El TFP2 libera la señal ICE_E. Esto causará un restablecimiento de destino si el temporizador de vigilancia de la IC objetivo está habilitado.


  • El TFP2 ahora los programas del objetivo CI.

Figura 2.  ICE interfaz anunciando bit SEGURO.
Figura 2. ICE interfaz anunciando SEGURO bit.


Figura 3.  ICE interfaz con E_TCLK falta.
Figura 3. ICE interfaz con E_TCLK falta.


Circuitos integrados de programación con código de destino que establece el bit SEGURO


No hay ninguna diferencia entre los objetivos de programación con el código regular y objetivos de programación con el código que establece el SEGURO bit. Sin embargo, el código de verificación que contiene las instrucciones que establecen el SEGURO bits requiere un cuidado especial. Esto es porque una vez que el código se le permite ejecutar, no hay acceso a la memoria flash es posible.

ADM51 ICE emulador y TFP2

El siguiente método se usa para verificar el contenido de la memoria flash de destino:



  • Una vez que el MPU comienza la ejecución del código recientemente programada, no hay acceso para leer o verificar el flash será posible.


  • La operación de verificación se lleva a cabo mediante la detención del objetivo IC, la prevención de la IC a partir de la ejecución del código.


  • Una vez que el flash de destino se verifica y se comienza la ejecución de código, no más verificación será posible.

Este proceso es transparente para el usuario.

Circuitos integrados de programación cuando el ECK_DIS bit se establece


Este caso puede presentar un reto puesto que la señal E_TCLK es esencial para la función de la interfaz de programación.

ADM51 ICE

Con el reloj emulador falta el objetivo, la interfaz de usuario de la ADM51 (WEMU51) generará la pantalla que se muestra en la Figura 3 .Dependiendo de qué tan temprano en el código de la ECK_DIS bit está establecido, repetido repone de la meta puede dar la ADM51 la oportunidad de poner fin a la meta antes de que tenga la oportunidad de establecer el ECK_DIS poco. Una vez que esto se ha logrado, la interfaz de usuario aparecerá normal y el usuario tiene la oportunidad de borrar la memoria flash de destino.

TFP2

El TFP2 puede reaccionar muy rápido a la actividad en la interfaz de programador de destino. Una señal E_TCLK discapacidad no suele ser un problema para el TFP2.

Circuitos integrados de programación que contienen código de operación parcial o completo


En los circuitos integrados 71M653x, la CE en-chip lee sus instrucciones desde la memoria flash que se comparte con la MPU. Una activa CE puede bloquear el acceso a la memoria flash para el equipo externo. El bit de control que activa y desactiva la CE se encuentra en dirección E / S 0x2000 RAM, bit 4.

ADM51 ICE

Una captura de pantalla típico de la interfaz de usuario ADM51 (WEMU51) se muestra en la Figura 4 . El "XDATA_1" ventana muestra el contenido de la RAM de E / S se dirige 0x1FF0 a 0x2137. El área resaltada en amarillo muestra las direcciones que contienen las operaciones de E / S de registros de hardware de RAM. El registro en 0x2000 contiene el 0xB0 valor.

Antes de borrar o programar la memoria flash de destino, el valor 0x00 se debe introducir en 0x2000. Esto detendrá el CE y preparar el IC de destino para la programación.

TFP2

El TFP2 se encarga de la CE de forma automática. No hay entradas de usuario son requeridos.

Figura 4.  ICE interfaz que muestra E / S RAM.
Figura 4. ICE interfaz que muestra E / S RAM.


Preparación de los archivos de destino de imagen (archivos Hex)

Tanto el ICE ADM51 y los TFP2 proceso de datos de imagen de destino en forma de archivos hexadecimales Intel. El mismo formato se utiliza por los programadores de BPM Microsystems.

El archivo hexadecimal Intel es un ASCII archivo de texto con las líneas de texto que cumplen con el formato de archivo Intel hex. Cada línea en un archivo hexadecimal Intel contiene un registro hexagonal. Estos registros se componen de números hexadecimales que representan el código de lenguaje de máquina y / o los datos constantes.

Nota : La programación de dispositivo adecuado requiere que todos los registros están en secuencia (ascendente) orden. Maxim proporciona una utilidad llamada CHKSUM.EXE que preprocesa los archivos hexadecimales de Intel para su uso con los programadores. Esta utilidad se proporciona con el TFP2.

Formato de grabación


Un archivo hex Intel está compuesto de cualquier número de registros hexagonales. Cada registro se compone de cinco campos que están dispuestos en el siguiente formato:

: Llaaaatt [dd ...] cc

Cada grupo de letras se corresponde con un campo diferente, y cada letra representa un dígito hexadecimal único. Cada campo está compuesto de al menos dos dígitos hexadecimales-que forman un byte, como se describe a continuación:



  • : es el colon que se inicia cada registro hexagonal de Intel.


  • ll es el campo de longitud de registro que representa el número de bytes de datos ( dd ) en el registro.


  • AAAA es el campo de dirección que representa la dirección de inicio para los datos siguientes en el registro.


  • tt es el campo que representa el tipo de registro hexagonal, que puede ser uno de los siguientes:

    00 - registro de datos
    01 - al final de su archivo de registro
    02 - registro extendido dirección del segmento
    04 - extended
    linear registro de dirección (ELAR)



  • dd es un campo de datos que representa un byte de datos. Un registro puede tener múltiples bytes de datos. El número de bytes de datos en el registro debe coincidir con el número especificado por el ll campo.


  • cc es la comprobación sobre el terreno que representa la suma de comprobación del registro. La suma de comprobación se calcula mediante la suma de los valores de todos los pares de dígitos hexadecimales en el registro 256 de módulo y tomando el complemento a dos.

El archivo hexadecimal Intel se compone de un número de registros de datos que se terminan con un retorno de carro y un avance de línea.Los registros de datos aparecerá como se muestra en el ejemplo siguiente:

: 10246200464C5549442050524F46494C4500464C33

Este registro se decodifica como sigue:

: 10 2462 00 464C5549442050524F46494C4500464C 33 
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CC -> Checksum (0x33)
| | | | | | | | | DD -> Data (0x46, 0x4C, 0x55, 0x4C ...)
| | | | | | | TT -> Tipo de registro (0x00)
| | | AAAA -> Dirección (0x2462)
| LL - Longitud> Record (0x10)
: -> Colon

donde:



  • 10 es el número de bytes de datos en el registro.


  • 2462 es la dirección donde los datos se encuentra en la memoria.


  • 00 es el tipo de registro 00 (registro de datos).


  • 464c ... 464c es el de datos.


  • 33 es la suma de comprobación del registro.

Intel HEX386 Formato de archivo


Para el código peraltada, que se utiliza para los dispositivos 71M653x (71M6531, 71M6532, 71M6533, 71M6534H), se utiliza el procesador Intel HEX386 formato de archivo (Extended registros de direcciones lineales).

Adultos registros de direcciones lineales también se conocen como registros de direcciones de 32-bit y registros HEX386. Estos registros contienen los 16 bits superiores (bits 16-31) de la dirección de datos. El registro ampliado dirección lineal siempre tiene dos bytes de datos y aparece la siguiente manera:

: 020000040001F9

donde:



  • 02 es el número de bytes de datos en el registro.


  • 0000 es el campo de dirección. Para el registro de dirección lineal prolongado, este campo es siempre 0000.


  • 04 es el tipo de registro 04 (un registro ampliado dirección lineal).


  • 0001 representa los 16 bits superiores de la dirección.


  • F9 es la suma de comprobación del registro y se calcula como 0x01 + NO (0x02 + 0x00 + 0x00 + 0x04 + 0x01 0x00 +).

Cuando un registro ampliado dirección lineal que se lee, la dirección ampliada lineal almacenada en el campo de datos se guarda y se aplica a los registros posteriores leídos desde el archivo hexadecimal Intel. La dirección lineal permanece vigente hasta que se cambie por otro registro de dirección extendida.

La dirección absoluta de memoria de un registro de datos se obtiene sumando el campo de dirección en el registro de los datos de la dirección desplazado desde el registro de dirección lineal extendida. El siguiente ejemplo ilustra este proceso:

Dirección del campo de dirección del registro de datos
0x2462


Extended registro lineal de datos de direcciones campo
0x0001






Absoluto de direcciones de memoria
0x00012462


Durante el proceso de programación, el programador debe analizar el archivo hex Intel para los registros ELAR y realizar conversiones de dirección dependiendo del banco que se va a programar. Un resumen de las operaciones implicadas en este proceso se muestra en la Figura 5 .

Figura 5.  Tramitación de expedientes hexagonales de Intel para la programación de banco de conmutación de código.


Figura 5. Tramitación de expedientes hexagonales de Intel para la programación de banco de conmutación de código.

Generación de archivos de imagen de destino para el 71M651x


Generación de archivos de imagen objetivo para el 71M651x es directa cuando se utiliza el Keil PK51 Kit de desarrolladores profesionales .Figura 6 muestra el cuadro de diálogo que define las características de la salida en μVision3, el entorno de desarrollo de Keil. "Crear archivo HEX" debe ser revisado y "HEX-80" debe ser seleccionado en Formato HEX. Esta configuración garantiza que un archivo de imagen de destino compatible con el ADM51 se crea. Después de generar el archivo de imagen de destino, la utilidad CHKSUM.exe debe ser utilizado para garantizar la compatibilidad con los programadores TFP2 y otros.

Figura 6.  Controlar el formato de salida en Keil μVision 3.
Figura 6. Controlar el formato de salida en Keil μVision 3.


Los archivos de imagen para el destino 71M653x


El Keil BL51 enlazador y su convertidor hexadecimal asociado producir un archivo separado de Intel hexadecimal para cada banco de memoria flash. Estos archivos terminan con nombres como. H01 para el banco 1,. H02 para el banco 2, etc ADM51 y los TFP2 esperar un solo archivo hexadecimal Intel 386 con una extensión de archivo. Hex.

El CD-ROM incluido con kits de demostración 71M653x contiene una utilidad llamada bank_merge.exe. Esta utilidad se ejecuta en una ventana de comandos de DOS y fusiona los archivos bancarios generados por el Keil BL51 enlazador en un archivo hexadecimal Intel-386.

Figura 7.  Inicio automático de bank_merge.exe en Keil μVision 3.
Figura 7. Inicio automático de bank_merge.exe en Keil μVision 3.


Cuando se utiliza LX51 enlazador avanzado de Keil, el diálogo de salida contiene una lista desplegable de formatos hexadecimales.Seleccione la opción "i386" opción hex.

Nota : Un archivo hex procesados ​​con la utilidad bank_merge.exe no se debe procesar con la utilidad CHKSUM.exe.

La Utilidad de CHKSUM.exe


Antes de descargar la imagen de destino hex a los programadores TFP2 u otro, el archivo de imagen debe ser pre-procesados ​​mediante la utilidad CHKSUM.exe proporcionada por Maxim. Un hex no se procesan con CHKSUM.exe dará lugar a una programación incompleta de la memoria FLASH del objetivo. El código de destino debe ser de la extendida Intel ASCII HEX-80 formato para su procesamiento por CHKSUM.exe.

Desde la línea de comandos de DOS, invoque CHKSUM.exe de la siguiente manera:

chksum kb <infile.hex> outfile.hex

donde:

kb = tamaño deseado archivo, Tamaño de memoria Interruptor de ajuste que se utilizará durante la descarga y la programación TFP2 objetivo

infile = código de destino hex archivo a procesar

OUTFILE = código hex objetivo procesado de archivos para ser descargados a TFP2

La figura 8 muestra una invocación típica de CHKSUM.exe.

Figura 8.  CHKSUM.exe procesamiento de archivos hex.
Figura 8. CHKSUM.exe procesamiento de archivos hex.


El propósito de la utilidad chksum es organizar los registros hexagonales individuales en una estructura contigua con direcciones aumenta de forma secuencial. Algunos compiladores generan archivos secuenciales hexagonales. El TFP2 asume una estructura de archivo secuencial.Un archivo descargado hex no secuencial a los TFP2 resulta en la pérdida de bytes (los bytes que faltan son los registros hexagonales fuera de secuencia) en la memoria flash de destino (cuando el objetivo se programa entonces con la TFP2).

Nota: No utilice CHKSUM.exe en archivos procesados ​​con la utilidad bank_merge.exe!

La utilidad CHKSUM.exe puede o no puede sobrescribir los cuatro últimos bytes del archivo objetivo hex descargarse, dependiendo de si se utilizan estos lugares.

Los casos siguientes se aplican a la utilización de la utilidad CHKSUM.exe (ver Tabla 2 para los ejemplos):



  1. Si los últimos cuatro bytes del archivo hex objetivo no han sido utilizados (0xFF), la utilidad CHKSUM.exe insertará su propio calculado de dos bytes CRC y suma de comprobación de dos bytes.


  2. Si alguno de los cuatro últimos bytes del archivo hex objetivo no son 0xFF valores, la utilidad CHKSUM.exe no sobrescribirá los cuatro valores originales.


 








































Tabla 2. Flash Las imágenes generadas por CHKSUM.exe (Ejemplo)
Los últimos 4 bytes del archivo original Intel HexTarget imagen creada en TFP2EEPROM por CHKSUM.exeComentario
0xFF0xFF0xFF0xFFCRC MSBCRC LSBCS MSBCS LSBLos cuatro bytes son 0xFF. Estos bytes se sustituye con dos CRC y dos bytes de suma de comprobación.
0xFF0xB50xFF0xFF0xFF0xB50xFF0xFFAl menos un byte no es 0xFF. Los cuatro bytes se mantienen.
0xA30xf10x720x8C0xA30xf10x720x8CLos cuatro bytes no son iguales a 0xFF. El contenido original de los últimos cuatro bytes se mantiene.

La utilidad CHKSUM.exe muestra la advertencia se muestra en la Figura 9 cuando encuentra no 0xFF valores en las posiciones de memoria últimos cuatro.

La Figura 9.  CHKSUM.exe advertencia procesamiento de archivos.
La Figura 9. CHKSUM.exe advertencia procesamiento de archivos.


En la programación de la memoria flash de destino, los últimos cuatro bytes del archivo hex objetivo son transferidos intactos. O bien el CHKSUM.exe calcula la suma de comprobación CRC y los bytes se copian o los datos del objetivo original hexagonales se copian. Si los dos últimos bytes del archivo hex objetivo es 0xFF (chksum no se utiliza), el TFP2 sobrescribe los dos últimos bytes 0xFF con su suma de comprobación calculada durante la operación de descarga de HyperTerminal.

El TFP2 mostrará el mensaje que se muestra en la Figura 10 durante el encendido.

Figura 10.  TFP2 archivo de procesamiento de mensajes.
Figura 10. TFP2 archivo de procesamiento de mensajes.


Si el archivo hex objetivo no tiene FF valores en cualquiera de los últimos cuatro bytes, la pantalla de activación mensaje que se muestra en la Figura 9 puede mostrar un "TFP2 verificación EEPROM error" mensaje. En este caso, la muestra "TFP2 EEPROM Checksum =" valor y "almacenado Checksum =" valor será diferente. Esto ocurre cuando el valor de suma de control almacenada (del archivo de cliente imagen de destino) se deriva de un método de suma de comprobación de cálculo diferente de lo que los TFP2 usos. Por lo tanto, la TFP2 no puede confirmar los contenidos de la EEPROM en este caso. Sin embargo, el error de verificación de la suma no impedirá la TFP2 de la programación del IC de destino. El "TFP2 EEPROM Checksum =" valor se calcula de nuevo en cada encendido o reinicio del sistema del TFP2. Manual verificación del contenido de la EEPROM requiere comparar el valor de suma de comprobación EEPROM TFP2 derivado después de la descarga de archivos para posteriores sobre el poder recalcular los valores de suma de comprobación.

Precauciones de hardware para Juntas Meter


Foros del medidor con ICS 71M651x

Un condensador de E_RST a tierra y resistencias pullup para E_RXTX, E_RST, y E_TCLK se debe utilizar en la interfaz de programación para la protección contra interferencias electromagnéticas (EMI), como se muestra en la Figura 11 .

Figura 11.  La interfaz de programación 71M651x.
Figura 11. La interfaz de programación 71M651x.


Para emular con éxito el código o programa el flash de destino mediante el ADM51, la junta medidor debe tener una disposición para desactivar el temporizador de vigilancia de hardware. De lo contrario, el objetivo es restablecer cada 1,5 segundos, lo que hace que la programación del flash objetivo imposible. La desactivación del temporizador de vigilancia se realiza generalmente con un puente desmontable, como se muestra en la Figura 12 .

Figura 12.  Divisor de tensión para V1.
Figura 12. Divisor de tensión para V1.


Si el TFP2 se utiliza para programar el flash de destino, la desactivación del temporizador de vigilancia de destino no es necesario. El TFP2 tiene un mecanismo que le permite a desencadenar el temporizador de vigilancia con frecuencia para evitar un restablecimiento de destino.

Foros del medidor con ICS 71M653x

Condensadores a tierra se debe utilizar en la interfaz de programación para la protección contra EMI. Placas de producción debe tener el pasador ICE_E conectado a tierra.

Si las patillas de ICE se utilizan para conducir LCD segmentos, las resistencias pullup debería ser omitido, como se muestra en la Figura 13, y condensadores de 22pF a GNDD se debe utilizar para la protección contra EMI.

Es importante poner de manifiesto el pin ICE_E a la interfaz de programación. Esto crea una forma de reprogramar metros que son difíciles de reprogramar, tales como medidores equipados con baterías y código que establece la SECURE bit. En esos casos, apagar el medidor no va a generar el restablecimiento requerido para la SECURE poco a poner a cero. El fundamento de esta recomendación es la siguiente:



  • Metros de producción que contienen baterías a menudo no tienen botón de reinicio o de otra manera de iniciar un restablecimiento.


  • La batería evita el metro IC a ser restablecido por la simple eliminación de la alimentación de red.


  • Sin oportunidad de hacer un reset, el IC medidor puede ser borrado, pero el reajuste necesario entre el borrado y operaciones de programación que falta.

Facilitar el acceso a ICE_E asegura que la pieza se puede restablecer entre ciclos de borrado y el programa, que permitirá a los dispositivos de programación para reprogramar la pieza. El reinicio requerido se implementa con un restablecimiento del temporizador watchdog (es decir, el WDT hardware debe estar habilitado).

Figura 13.  La interfaz de programación 71M653x.
Figura 13. La interfaz de programación 71M653x.


Apéndice A: Esquema para programadores basado en TFP2


Es bastante fácil diseñar un dispositivo programador simple usando un TFP2, una PCB que contiene un enchufe, y algunos de los componentes añadidos, como se muestra en la Figura 14 .

Este programador puede ser accionada manualmente mediante el pulsador o controlados con equipo ATE. También es posible duplicar la disposición utilizando dos TFP2 programadores y dos tablas de zócalo. Como alternativa, puede utilizar varias configuraciones para crear el equivalente a un programador pandilla, siempre y cuando cada uno tiene su TFP2 Conexión tarjeta propia.

Figura 14.  Programador con TFP2.
Figura 14. Programador con TFP2.


Las figuras 15 a 18 diseños esquemáticos de los programadores de dispositivos para varios circuitos integrados Maxim medición. Estos programadores pueden construir sobre la base de los PCB regulares o tableros de prototipos como "Perf-Board". Esquemas de circuitos integrados de medición otros son similares a los ejemplos dados y puede derivarse fácilmente a partir de los esquemas.

Algunas reglas generales se aplican al convertir los esquemas de circuitos reales:



  1. Condensadores de cristal y el cristal debe estar muy cerca de los XIN y XOUT pins del objetivo IC.


  2. Opcionalmente, un oscilador externo, tal como un EPSON RX-8025 o cualquier oscilador de 32 kHz con salida digital se puede utilizar.Esta opción es recomendable, ya que garantiza un funcionamiento más estable, incluso en presencia de diseño imperfecto, contaminación alrededor de los pasadores XIN / XOUT, y la acumulación de humedad.


  3. Bypass condensadores de V BIAS , V3P3A, V2P5 y los otros pines a tierra debe montarse muy cerca del objetivo IC.


  4. Las conexiones para el E_RST, ERXTX, y señales E_TCLK debe ser muy corto. Esto significa que el conector ICE 2X10 utiliza para conectar el cable plano de la TFP2 no debe ser superior a 5 cm (2 pulgadas) de la meta IC. El emulador de interfaz de señales E_RST, E_RXTX, y E_TCLK deben ser colocados y conectados cuidadosamente, es decir, lejos de las entradas de oscilador de cristal, con rutas rectas y cortas o alambres (particularmente E_TCLK, que lleva una señal de 10 MHz).


  5. Los terminales etiquetados "tierra de protección" se deben conectar a tierra un sólido / suelo para evitar la conexión de programación a partir de la acumulación de carga eléctrica cuando una fuente de alimentación aislada se utiliza.

La Tabla 3 muestra los componentes típicos comunes, tales como cristales, condensadores, conectores, y tomas de corriente que pueden ser utilizados para las placas de zócalo.


 






















































Tabla 3. Componentes comunes para la Junta Socket
ParteFabricanteNúmero de piezaEE.UU. DistribuidorDistribuidor Número de pieza
LQFP-64 socketYamaichiIC169-064-69-B5 *Future Electronics y otros 
LQFP-100 socketIC169-100-* 25-B5
LQFP-120 socketIC149-120-143-B5
TFP2 conector (2x10)TYCO / AMP5-104068-1Mouser571-5-104068-1
Crystal, 32kHzECSECS.327-12.5-39-TRDigi-KeyXC1658CT-ND
Oscilador, 32kHzEpsonRX-8025SADigi-KeySER3650-CT-ND
El regulador de voltajeTexas InstrumentsTL431AIDRDigi-Key296-1288-1-ND
Conector de corriente directaSwitchcraftRAPC712XDigi-KeySC237-ND

 




Palabras clave: energía del medidor, Teridian, SOIC, flash
Partes Relacionadas



Nota de aplicación 5539

Programación Maxim Integrated Meter IC


08 de enero 2013

Resumen: En este documento se describen las herramientas, procedimientos y precauciones que deben utilizarse cuando Flash programación de circuitos integrados de medición de Maxim en prototipos y producción.

Esta nota de aplicación describe las interfaces, las herramientas, las precauciones y los procesos que se van a utilizar para la programación de las memorias flash de la Maxim y 71M6545 / H contador de energía ICs.

Además, se dan recomendaciones para el diseño de tableros de metro que asegurarse de que el código de programa se pueden borrar y volver a cargar en todas las circunstancias.

Herramientas de programación


El enfoque más simple para la programación Maxim metros CIs es usar una de las herramientas existentes. Las herramientas de programación disponibles en la actualidad son:



  • TFP2 flash programador


  • ADM51 emulador en circuito (ICE)


  • Terceros programadores

El programador flash TFP2


El TFP2 está disponible en distribuidores como Digi-Key o Mouser . Es capaz de programar el IC de destino en el circuito de destino. La operación es manual (se presiona un botón para iniciar el proceso de programación), pero también puede ser controlado por equipo de prueba automático ( ATE ). Se pueden combinar varios TFP2 dispositivos en paralelo para lograr un mayor rendimiento.

El código de destino puede ser cargado en el TFP2 utilizando una serie cable y HyperTerminal ® (o cualquier otro terminal) programa. El código de operación para el TFP2 pueden ser actualizados. El firmware más reciente para el TFP2 en el momento de edición de este documento es la revisión 1.53.

El cable de destino de la interfaz de la TFP2 puede ser un simple cable trenzado terminados con un conector de cabezal 0,1 ". Además, la TFP2 proporciona la TYCO / AMP 10x2 conector de alta densidad compatible con el conector utilizado por el ICE ADM51. Este conector incluye acceder a la señal de ICE_E (utilizado para el ICS 71M653x) en el pin 2.

Programadores simple puede ser implementado usando el TFP2 y un externo suministrado por el cliente placa de circuito impreso ( PCB ) con un zócalo que aloja el objetivo IC. Ver el Hardware necesario Ajustes sección para una descripción de las conexiones de los pines necesarios.

Nota : El TFP2 requiere que todos los registros que estar en secuencia (ascendente) orden. Maxim proporciona una utilidad (CHKSUM.EXE) que preprocesa Intel ® ficheros hex generados por el Keil ® compilador / enlazador para su uso con el TFP2. Esta utilidad se proporciona con el TFP2.

ICE (Signum Systems Modelo ADM51)


El ADM51 está disponible en los sistemas de Signum. Se utiliza principalmente para el ICE, es decir, una herramienta de desarrollo, sino que también se puede utilizar para cantidades pequeñas de programa flash de los circuitos integrados de medición.

Los programadores de otros fabricantes


Soltero IC, varios programadores, y de gran volumen con controladores y alimentadores, se están vendiendo actualmente con el apoyo deBPM Microsystems .

Herramientas de programación descatalogados


Tenga en cuenta que las siguientes herramientas están descontinuadas y ya no es compatible con Maxim:



  • TFP1-antecesora de la TFP2, lo que en la programación del sistema. El TFP2 cubre la funcionalidad completa de la TFP1.


  • FDBM-una simple tabla que podría ser utilizado para la programación en el sistema. El FDBM requiere una interfaz gráfica de usuario (GUI ) que se ejecuta en un equipo con Windows ® PC.


  • TGP1-este programador banda está siendo sustituido por otros productos de conocidos fabricantes de dispositivos de programación (ver nota anterior).

Hardware Interfaz de Programación


El 71M65xx se programan a través de su interfaz ICE. Las señales que aparecen en la Tabla 1 son necesarios para la comunicación entre el programador flash y el DUT. Ver las hojas de datos individuales para la ubicación de las patillas del ICE de interfaz.

Tabla 1. Flash Interfaz de Señales

Señal
Dirección
Función


E_TCLK
La salida del DUT
Datos del reloj (5MHz)


E_RXTX
Bidireccional
Los datos de entrada / salida


E_RST
Bidireccional
Flash programador reset (activo bajo)


ICE_E
Entrada a DUT
Activa la interfaz ICE (71M653x solamente)


* La señal E_RST sólo debe ser impulsada por el programador flash al activar las señales de interfaz.

** El programador flash debe liberar E_RST en todo otro momento.

*** El protocolo de programación es propiedad de Sistemas de Signum.

Ajustes de hardware necesarios


Además de establecer la fuente de alimentación IC y el suelo, los siguientes pines tienen que ser atendidos a parpadear con éxito el programa de la IC medidor:

V1:
V1 debe ser estable y por encima de la V BIAS umbral (consulte la hoja de datos para el valor de V BIAS ). Para la serie 71M651x, V1 debe estar atado a 3,3 V DC para desactivar el hardware
del temporizador watchdog . Para la serie 71M653x, V1 debería estar por encima de V BIAS . Para estos dispositivos, la activación de ICE_E se encarga del temporizador de vigilancia.


ICE_E:
Este pin sólo está disponible en los dispositivos 71M653x. Este pasador tiene que estar en 3,3 V DC durante la operación de programación.


XIN / XOUT:
Los CI metros generar la señal E_TCLK de la señal de 32 kHz generada por el oscilador de reloj interno junto con el cristal externo y dos condensadores de carga. Vea la hoja de datos para el cristal adecuado y
condensador valores.


V BIAS:
Este pasador debe tener un condensador 0.1μF a tierra.


V2P5:
Este pasador debe tener un condensador 0.1μF a tierra.


RESET (Z):
La baja actividad RESETZ pin (71M651x) debe estar vinculada a 3,3 V DC . El pin RESET de alta actividad (71M653x) debe ser conectado a tierra.


Todos los otros pines pueden flotar.

Casos especiales


Dispositivos Vírgenes (todas las ubicaciones flash son 0xFF) o dispositivos que han sido borrados del flash no requieren precauciones especiales. Todas las soluciones pueden contener un patrón de prueba corto que se aplica durante ATE prueba en la fábrica. Estos pueden ser tratados como partes no programados.

Algunos casos especiales se aplican en las circunstancias siguientes:



  • El SEGURO poco en el SFR memoria está colocada.


  • Código de destino establece el SEGURO bit en la memoria SFR.


  • El ECK_DIS poco en el rango de E / S de la memoria RAM está establecido, que desactivan la salida E_TCLK.


  • La parte está programado con firmware operativo válido o parcial, y el cálculo en el chip del motor (CE) es activa, impidiendo el acceso de flash (71M653x solamente).

Estos casos especiales se explican en las secciones siguientes.

El SEGURO Bit


El SEGURO poco impide el acceso a la imagen del código. Si el SEGURO bit se establece durante la fase previa al arranque de la IC, no hay medida del hardware que lo derrota. La única manera de restablecer la SECURE bit es borrar toda la memoria flash de masa, seguida de un reinicio.

Es importante señalar que el SEGURO bit es activado por la MPU ejecuta el código de destino (véase la Figura 1 para un ejemplo de código), no por el programador. El SEGURO bit protege IP del cliente frente al acceso no deseado, pero requiere algunos pasos adicionales del programador cuando el IC tiene que ser programado / verificada, ni reprogramado.

STARTUP1:
CLR 0xA8 ^ 7, deshabilitar las interrupciones
MOV 0B2h, # 40h; Establezca el bit SEGURO.
0E8h MOV, # FFh; WDT de actualización

Figura 1. Ensamblador de código de activar el SEGURO bit.

Así es como funciona la seguridad de flash: Cuando se enciende el IC para arriba, el PC MPU se pone a 0x0000 (vector reset) y comienza a ejecutar el código de prearranque. Este es un bloque de código consta de los primeros 60 MPU ciclos ubicado en la dirección 0x0000, durante el cual se desactiva la interfaz de ICE. Código de inicio Puede establecer el SEGURO poco en el espacio SFR durante el ciclo de pre-arranque para activar la seguridad de Flash Player. Desde SECURE sólo se puede ajustar, pero no se restablece (este bit sólo puede restablecerse mediante un restablecimiento de hardware), y el acceso ICE es imposible durante el ciclo de pre-arranque, hardware externo no tiene forma de acceder a la memoria flash. El SEGURO bit es parte de un registro en el espacio SFR de la MPU on-chip. Los datos individuales de CI hojas contienen información acerca de la ubicación de la SECURE bit.

ADM51 ICE

En la interfaz de usuario del emulador, un objetivo de IC con el SEGURO conjunto de bits se indican como se muestra en la Figura 2 . El usuario tiene la opción de borrar el objetivo IC flash y luego reiniciar la IC, que se logra mejor mediante la eliminación de la placa de alimentación. Para los sistemas que contienen una batería, la batería debe ser brevemente desconecta, o si la señal de reposición es accesible, que puede ser activado para forzar el IC de destino en el reinicio.

Después de esto, el objetivo IC surge como una parte regular borrado en la interfaz de usuario del emulador.

TFP2

El TFP2 emitirá un mensaje de estado simple en su interfaz de terminal que indica que el SEGURO bit en el IC objetivo se fija.

El TPF2 luego continúa con una operación de borrado flash, seguido de una operación de programación flash, sin ninguna acción requerida por el usuario.

Si el destino es un 71M653x y la señal ICE_E de la IC objetivo es accesible en la interfaz de programación, la secuencia es la siguiente:



  • Los TFP2 borra la memoria flash de destino.


  • El TFP2 libera la señal ICE_E. Esto causará un restablecimiento de destino si el temporizador de vigilancia de la IC objetivo está habilitado.


  • El TFP2 ahora los programas del objetivo CI.

Figura 2.  ICE interfaz anunciando bit SEGURO.
Figura 2. ICE interfaz anunciando SEGURO bit.


Figura 3.  ICE interfaz con E_TCLK falta.
Figura 3. ICE interfaz con E_TCLK falta.


Circuitos integrados de programación con código de destino que establece el bit SEGURO


No hay ninguna diferencia entre los objetivos de programación con el código regular y objetivos de programación con el código que establece el SEGURO bit. Sin embargo, el código de verificación que contiene las instrucciones que establecen el SEGURO bits requiere un cuidado especial. Esto es porque una vez que el código se le permite ejecutar, no hay acceso a la memoria flash es posible.

ADM51 ICE emulador y TFP2

El siguiente método se usa para verificar el contenido de la memoria flash de destino:



  • Una vez que el MPU comienza la ejecución del código recientemente programada, no hay acceso para leer o verificar el flash será posible.


  • La operación de verificación se lleva a cabo mediante la detención del objetivo IC, la prevención de la IC a partir de la ejecución del código.


  • Una vez que el flash de destino se verifica y se comienza la ejecución de código, no más verificación será posible.

Este proceso es transparente para el usuario.

Circuitos integrados de programación cuando el ECK_DIS bit se establece


Este caso puede presentar un reto puesto que la señal E_TCLK es esencial para la función de la interfaz de programación.

ADM51 ICE

Con el reloj emulador falta el objetivo, la interfaz de usuario de la ADM51 (WEMU51) generará la pantalla que se muestra en la Figura 3 .Dependiendo de qué tan temprano en el código de la ECK_DIS bit está establecido, repetido repone de la meta puede dar la ADM51 la oportunidad de poner fin a la meta antes de que tenga la oportunidad de establecer el ECK_DIS poco. Una vez que esto se ha logrado, la interfaz de usuario aparecerá normal y el usuario tiene la oportunidad de borrar la memoria flash de destino.

TFP2

El TFP2 puede reaccionar muy rápido a la actividad en la interfaz de programador de destino. Una señal E_TCLK discapacidad no suele ser un problema para el TFP2.

Circuitos integrados de programación que contienen código de operación parcial o completo


En los circuitos integrados 71M653x, la CE en-chip lee sus instrucciones desde la memoria flash que se comparte con la MPU. Una activa CE puede bloquear el acceso a la memoria flash para el equipo externo. El bit de control que activa y desactiva la CE se encuentra en dirección E / S 0x2000 RAM, bit 4.

ADM51 ICE

Una captura de pantalla típico de la interfaz de usuario ADM51 (WEMU51) se muestra en la Figura 4 . El "XDATA_1" ventana muestra el contenido de la RAM de E / S se dirige 0x1FF0 a 0x2137. El área resaltada en amarillo muestra las direcciones que contienen las operaciones de E / S de registros de hardware de RAM. El registro en 0x2000 contiene el 0xB0 valor.

Antes de borrar o programar la memoria flash de destino, el valor 0x00 se debe introducir en 0x2000. Esto detendrá el CE y preparar el IC de destino para la programación.

TFP2

El TFP2 se encarga de la CE de forma automática. No hay entradas de usuario son requeridos.

Figura 4.  ICE interfaz que muestra E / S RAM.
Figura 4. ICE interfaz que muestra E / S RAM.


Preparación de los archivos de destino de imagen (archivos Hex)

Tanto el ICE ADM51 y los TFP2 proceso de datos de imagen de destino en forma de archivos hexadecimales Intel. El mismo formato se utiliza por los programadores de BPM Microsystems.

El archivo hexadecimal Intel es un ASCII archivo de texto con las líneas de texto que cumplen con el formato de archivo Intel hex. Cada línea en un archivo hexadecimal Intel contiene un registro hexagonal. Estos registros se componen de números hexadecimales que representan el código de lenguaje de máquina y / o los datos constantes.

Nota : La programación de dispositivo adecuado requiere que todos los registros están en secuencia (ascendente) orden. Maxim proporciona una utilidad llamada CHKSUM.EXE que preprocesa los archivos hexadecimales de Intel para su uso con los programadores. Esta utilidad se proporciona con el TFP2.

Formato de grabación


Un archivo hex Intel está compuesto de cualquier número de registros hexagonales. Cada registro se compone de cinco campos que están dispuestos en el siguiente formato:

: Llaaaatt [dd ...] cc

Cada grupo de letras se corresponde con un campo diferente, y cada letra representa un dígito hexadecimal único. Cada campo está compuesto de al menos dos dígitos hexadecimales-que forman un byte, como se describe a continuación:



  • : es el colon que se inicia cada registro hexagonal de Intel.


  • ll es el campo de longitud de registro que representa el número de bytes de datos ( dd ) en el registro.


  • AAAA es el campo de dirección que representa la dirección de inicio para los datos siguientes en el registro.


  • tt es el campo que representa el tipo de registro hexagonal, que puede ser uno de los siguientes:

    00 - registro de datos
    01 - al final de su archivo de registro
    02 - registro extendido dirección del segmento
    04 - extended
    linear registro de dirección (ELAR)



  • dd es un campo de datos que representa un byte de datos. Un registro puede tener múltiples bytes de datos. El número de bytes de datos en el registro debe coincidir con el número especificado por el ll campo.


  • cc es la comprobación sobre el terreno que representa la suma de comprobación del registro. La suma de comprobación se calcula mediante la suma de los valores de todos los pares de dígitos hexadecimales en el registro 256 de módulo y tomando el complemento a dos.

El archivo hexadecimal Intel se compone de un número de registros de datos que se terminan con un retorno de carro y un avance de línea.Los registros de datos aparecerá como se muestra en el ejemplo siguiente:

: 10246200464C5549442050524F46494C4500464C33

Este registro se decodifica como sigue:

: 10 2462 00 464C5549442050524F46494C4500464C 33 
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CC -> Checksum (0x33)
| | | | | | | | | DD -> Data (0x46, 0x4C, 0x55, 0x4C ...)
| | | | | | | TT -> Tipo de registro (0x00)
| | | AAAA -> Dirección (0x2462)
| LL - Longitud> Record (0x10)
: -> Colon

donde:



  • 10 es el número de bytes de datos en el registro.


  • 2462 es la dirección donde los datos se encuentra en la memoria.


  • 00 es el tipo de registro 00 (registro de datos).


  • 464c ... 464c es el de datos.


  • 33 es la suma de comprobación del registro.

Intel HEX386 Formato de archivo


Para el código peraltada, que se utiliza para los dispositivos 71M653x (71M6531, 71M6532, 71M6533, 71M6534H), se utiliza el procesador Intel HEX386 formato de archivo (Extended registros de direcciones lineales).

Adultos registros de direcciones lineales también se conocen como registros de direcciones de 32-bit y registros HEX386. Estos registros contienen los 16 bits superiores (bits 16-31) de la dirección de datos. El registro ampliado dirección lineal siempre tiene dos bytes de datos y aparece la siguiente manera:

: 020000040001F9

donde:



  • 02 es el número de bytes de datos en el registro.


  • 0000 es el campo de dirección. Para el registro de dirección lineal prolongado, este campo es siempre 0000.


  • 04 es el tipo de registro 04 (un registro ampliado dirección lineal).


  • 0001 representa los 16 bits superiores de la dirección.


  • F9 es la suma de comprobación del registro y se calcula como 0x01 + NO (0x02 + 0x00 + 0x00 + 0x04 + 0x01 0x00 +).

Cuando un registro ampliado dirección lineal que se lee, la dirección ampliada lineal almacenada en el campo de datos se guarda y se aplica a los registros posteriores leídos desde el archivo hexadecimal Intel. La dirección lineal permanece vigente hasta que se cambie por otro registro de dirección extendida.

La dirección absoluta de memoria de un registro de datos se obtiene sumando el campo de dirección en el registro de los datos de la dirección desplazado desde el registro de dirección lineal extendida. El siguiente ejemplo ilustra este proceso:

Dirección del campo de dirección del registro de datos
0x2462


Extended registro lineal de datos de direcciones campo
0x0001






Absoluto de direcciones de memoria
0x00012462


Durante el proceso de programación, el programador debe analizar el archivo hex Intel para los registros ELAR y realizar conversiones de dirección dependiendo del banco que se va a programar. Un resumen de las operaciones implicadas en este proceso se muestra en la Figura 5 .

Figura 5.  Tramitación de expedientes hexagonales de Intel para la programación de banco de conmutación de código.
Figura 5. Tramitación de expedientes hexagonales de Intel para la programación de banco de conmutación de código.


Generación de archivos de imagen de destino para el 71M651x


Generación de archivos de imagen objetivo para el 71M651x es directa cuando se utiliza el Keil PK51 Kit de desarrolladores profesionales .Figura 6 muestra el cuadro de diálogo que define las características de la salida en μVision3, el entorno de desarrollo de Keil. "Crear archivo HEX" debe ser revisado y "HEX-80" debe ser seleccionado en Formato HEX. Esta configuración garantiza que un archivo de imagen de destino compatible con el ADM51 se crea. Después de generar el archivo de imagen de destino, la utilidad CHKSUM.exe debe ser utilizado para garantizar la compatibilidad con los programadores TFP2 y otros.

Figura 6.  Controlar el formato de salida en Keil μVision 3.
Figura 6. Controlar el formato de salida en Keil μVision 3.


Los archivos de imagen para el destino 71M653x


El Keil BL51 enlazador y su convertidor hexadecimal asociado producir un archivo separado de Intel hexadecimal para cada banco de memoria flash. Estos archivos terminan con nombres como. H01 para el banco 1,. H02 para el banco 2, etc ADM51 y los TFP2 esperar un solo archivo hexadecimal Intel 386 con una extensión de archivo. Hex.

El CD-ROM incluido con kits de demostración 71M653x contiene una utilidad llamada bank_merge.exe. Esta utilidad se ejecuta en una ventana de comandos de DOS y fusiona los archivos bancarios generados por el Keil BL51 enlazador en un archivo hexadecimal Intel-386.

Figura 7.  Inicio automático de bank_merge.exe en Keil μVision 3.
Figura 7. Inicio automático de bank_merge.exe en Keil μVision 3.


Cuando se utiliza LX51 enlazador avanzado de Keil, el diálogo de salida contiene una lista desplegable de formatos hexadecimales.Seleccione la opción "i386" opción hex.

Nota : Un archivo hex procesados ​​con la utilidad bank_merge.exe no se debe procesar con la utilidad CHKSUM.exe.

La Utilidad de CHKSUM.exe


Antes de descargar la imagen de destino hex a los programadores TFP2 u otro, el archivo de imagen debe ser pre-procesados ​​mediante la utilidad CHKSUM.exe proporcionada por Maxim. Un hex no se procesan con CHKSUM.exe dará lugar a una programación incompleta de la memoria FLASH del objetivo. El código de destino debe ser de la extendida Intel ASCII HEX-80 formato para su procesamiento por CHKSUM.exe.

Desde la línea de comandos de DOS, invoque CHKSUM.exe de la siguiente manera:

chksum kb <infile.hex> outfile.hex

donde:

kb = tamaño deseado archivo, Tamaño de memoria Interruptor de ajuste que se utilizará durante la descarga y la programación TFP2 objetivo

infile = código de destino hex archivo a procesar

OUTFILE = código hex objetivo procesado de archivos para ser descargados a TFP2

La figura 8 muestra una invocación típica de CHKSUM.exe.

Figura 8.  CHKSUM.exe procesamiento de archivos hex.
Figura 8. CHKSUM.exe procesamiento de archivos hex.


El propósito de la utilidad chksum es organizar los registros hexagonales individuales en una estructura contigua con direcciones aumenta de forma secuencial. Algunos compiladores generan archivos secuenciales hexagonales. El TFP2 asume una estructura de archivo secuencial.Un archivo descargado hex no secuencial a los TFP2 resulta en la pérdida de bytes (los bytes que faltan son los registros hexagonales fuera de secuencia) en la memoria flash de destino (cuando el objetivo se programa entonces con la TFP2).

Nota: No utilice CHKSUM.exe en archivos procesados ​​con la utilidad bank_merge.exe!

La utilidad CHKSUM.exe puede o no puede sobrescribir los cuatro últimos bytes del archivo objetivo hex descargarse, dependiendo de si se utilizan estos lugares.

Los casos siguientes se aplican a la utilización de la utilidad CHKSUM.exe (ver Tabla 2 para los ejemplos):



  1. Si los últimos cuatro bytes del archivo hex objetivo no han sido utilizados (0xFF), la utilidad CHKSUM.exe insertará su propio calculado de dos bytes CRC y suma de comprobación de dos bytes.


  2. Si alguno de los cuatro últimos bytes del archivo hex objetivo no son 0xFF valores, la utilidad CHKSUM.exe no sobrescribirá los cuatro valores originales.

Tabla 2. Flash Las imágenes generadas por CHKSUM.exe (Ejemplo)

Los últimos 4 bytes del archivo original Intel Hex
Target imagen creada en TFP2
EEPROM por CHKSUM.exe
Comentario


0xFF
0xFF
0xFF
0xFF
CRC MSB
CRC LSB
CS MSB
CS LSB
Los cuatro bytes son 0xFF. Estos bytes se sustituye con dos CRC y dos bytes de suma de comprobación.


0xFF
0xB5
0xFF
0xFF
0xFF
0xB5
0xFF
0xFF
Al menos un byte no es 0xFF. Los cuatro bytes se mantienen.


0xA3
0xf1
0x72
0x8C
0xA3
0xf1
0x72
0x8C
Los cuatro bytes no son iguales a 0xFF. El contenido original de los últimos cuatro bytes se mantiene.


La utilidad CHKSUM.exe muestra la advertencia se muestra en la Figura 9 cuando encuentra no 0xFF valores en las posiciones de memoria últimos cuatro.

La Figura 9.  CHKSUM.exe advertencia procesamiento de archivos.
La Figura 9. CHKSUM.exe advertencia procesamiento de archivos.


En la programación de la memoria flash de destino, los últimos cuatro bytes del archivo hex objetivo son transferidos intactos. O bien el CHKSUM.exe calcula la suma de comprobación CRC y los bytes se copian o los datos del objetivo original hexagonales se copian. Si los dos últimos bytes del archivo hex objetivo es 0xFF (chksum no se utiliza), el TFP2 sobrescribe los dos últimos bytes 0xFF con su suma de comprobación calculada durante la operación de descarga de HyperTerminal.

El TFP2 mostrará el mensaje que se muestra en la Figura 10 durante el encendido.

Figura 10.  TFP2 archivo de procesamiento de mensajes.
Figura 10. TFP2 archivo de procesamiento de mensajes.


Si el archivo hex objetivo no tiene FF valores en cualquiera de los últimos cuatro bytes, la pantalla de activación mensaje que se muestra en la Figura 9 puede mostrar un "TFP2 verificación EEPROM error" mensaje. En este caso, la muestra "TFP2 EEPROM Checksum =" valor y "almacenado Checksum =" valor será diferente. Esto ocurre cuando el valor de suma de control almacenada (del archivo de cliente imagen de destino) se deriva de un método de suma de comprobación de cálculo diferente de lo que los TFP2 usos. Por lo tanto, la TFP2 no puede confirmar los contenidos de la EEPROM en este caso. Sin embargo, el error de verificación de la suma no impedirá la TFP2 de la programación del IC de destino. El "TFP2 EEPROM Checksum =" valor se calcula de nuevo en cada encendido o reinicio del sistema del TFP2. Manual verificación del contenido de la EEPROM requiere comparar el valor de suma de comprobación EEPROM TFP2 derivado después de la descarga de archivos para posteriores sobre el poder recalcular los valores de suma de comprobación.

Precauciones de hardware para Juntas Meter


Foros del medidor con ICS 71M651x

Un condensador de E_RST a tierra y resistencias pullup para E_RXTX, E_RST, y E_TCLK se debe utilizar en la interfaz de programación para la protección contra interferencias electromagnéticas (EMI), como se muestra en la Figura 11 .

Figura 11.  La interfaz de programación 71M651x.
Figura 11. La interfaz de programación 71M651x.


Para emular con éxito el código o programa el flash de destino mediante el ADM51, la junta medidor debe tener una disposición para desactivar el temporizador de vigilancia de hardware. De lo contrario, el objetivo es restablecer cada 1,5 segundos, lo que hace que la programación del flash objetivo imposible. La desactivación del temporizador de vigilancia se realiza generalmente con un puente desmontable, como se muestra en la Figura 12 .

Figura 12.  Divisor de tensión para V1.
Figura 12. Divisor de tensión para V1.


Si el TFP2 se utiliza para programar el flash de destino, la desactivación del temporizador de vigilancia de destino no es necesario. El TFP2 tiene un mecanismo que le permite a desencadenar el temporizador de vigilancia con frecuencia para evitar un restablecimiento de destino.

Foros del medidor con ICS 71M653x

Condensadores a tierra se debe utilizar en la interfaz de programación para la protección contra EMI. Placas de producción debe tener el pasador ICE_E conectado a tierra.

Si las patillas de ICE se utilizan para conducir LCD segmentos, las resistencias pullup debería ser omitido, como se muestra en la Figura 13, y condensadores de 22pF a GNDD se debe utilizar para la protección contra EMI.

Es importante poner de manifiesto el pin ICE_E a la interfaz de programación. Esto crea una forma de reprogramar metros que son difíciles de reprogramar, tales como medidores equipados con baterías y código que establece la SECURE bit. En esos casos, apagar el medidor no va a generar el restablecimiento requerido para la SECURE poco a poner a cero. El fundamento de esta recomendación es la siguiente:



  • Metros de producción que contienen baterías a menudo no tienen botón de reinicio o de otra manera de iniciar un restablecimiento.


  • La batería evita el metro IC a ser restablecido por la simple eliminación de la alimentación de red.


  • Sin oportunidad de hacer un reset, el IC medidor puede ser borrado, pero el reajuste necesario entre el borrado y operaciones de programación que falta.

Facilitar el acceso a ICE_E asegura que la pieza se puede restablecer entre ciclos de borrado y el programa, que permitirá a los dispositivos de programación para reprogramar la pieza. El reinicio requerido se implementa con un restablecimiento del temporizador watchdog (es decir, el WDT hardware debe estar habilitado).

Figura 13.  La interfaz de programación 71M653x.
Figura 13. La interfaz de programación 71M653x.


Apéndice A: Esquema para programadores basado en TFP2


Es bastante fácil diseñar un dispositivo programador simple usando un TFP2, una PCB que contiene un enchufe, y algunos de los componentes añadidos, como se muestra en la Figura 14 .

Este programador puede ser accionada manualmente mediante el pulsador o controlados con equipo ATE. También es posible duplicar la disposición utilizando dos TFP2 programadores y dos tablas de zócalo. Como alternativa, puede utilizar varias configuraciones para crear el equivalente a un programador pandilla, siempre y cuando cada uno tiene su TFP2 Conexión tarjeta propia.

Figura 14.  Programador con TFP2.
Figura 14. Programador con TFP2.


Las figuras 15 a 18 diseños esquemáticos de los programadores de dispositivos para varios circuitos integrados Maxim medición. Estos programadores pueden construir sobre la base de los PCB regulares o tableros de prototipos como "Perf-Board". Esquemas de circuitos integrados de medición otros son similares a los ejemplos dados y puede derivarse fácilmente a partir de los esquemas.

Algunas reglas generales se aplican al convertir los esquemas de circuitos reales:



  1. Condensadores de cristal y el cristal debe estar muy cerca de los XIN y XOUT pins del objetivo IC.


  2. Opcionalmente, un oscilador externo, tal como un EPSON RX-8025 o cualquier oscilador de 32 kHz con salida digital se puede utilizar.Esta opción es recomendable, ya que garantiza un funcionamiento más estable, incluso en presencia de diseño imperfecto, contaminación alrededor de los pasadores XIN / XOUT, y la acumulación de humedad.


  3. Bypass condensadores de V BIAS , V3P3A, V2P5 y los otros pines a tierra debe montarse muy cerca del objetivo IC.


  4. Las conexiones para el E_RST, ERXTX, y señales E_TCLK debe ser muy corto. Esto significa que el conector ICE 2X10 utiliza para conectar el cable plano de la TFP2 no debe ser superior a 5 cm (2 pulgadas) de la meta IC. El emulador de interfaz de señales E_RST, E_RXTX, y E_TCLK deben ser colocados y conectados cuidadosamente, es decir, lejos de las entradas de oscilador de cristal, con rutas rectas y cortas o alambres (particularmente E_TCLK, que lleva una señal de 10 MHz).


  5. Los terminales etiquetados "tierra de protección" se deben conectar a tierra un sólido / suelo para evitar la conexión de programación a partir de la acumulación de carga eléctrica cuando una fuente de alimentación aislada se utiliza.

La Tabla 3 muestra los componentes típicos comunes, tales como cristales, condensadores, conectores, y tomas de corriente que pueden ser utilizados para las placas de zócalo.

Tabla 3. Componentes comunes para la Junta Socket


 






















































Tabla 3. Componentes comunes para la Junta Socket
ParteFabricanteNúmero de piezaEE.UU. DistribuidorDistribuidor Número de pieza
LQFP-64 socketYamaichiIC169-064-69-B5 *Future Electronics y otros 
LQFP-100 socketIC169-100-* 25-B5
LQFP-120 socketIC149-120-143-B5
TFP2 conector (2x10)TYCO / AMP5-104068-1Mouser571-5-104068-1
Crystal, 32kHzECSECS.327-12.5-39-TRDigi-KeyXC1658CT-ND
Oscilador, 32kHzEpsonRX-8025SADigi-KeySER3650-CT-ND
El regulador de voltajeTexas InstrumentsTL431AIDRDigi-Key296-1288-1-ND
Conector de corriente directaSwitchcraftRAPC712XDigi-KeySC237-ND

Figura 15.  Programador para el 71M6511/71M6511H.
Imagen más detallada
(PDF, 328KB) Figura 15. Programador para el 71M6511/71M6511H.


Figura 16.  Programador para el 71M6513/71M6513H.
Imagen más detallada
(PDF, 282KB) Figura 16. Programador para el 71M6513/71M6513H.


Figura 17.  Programador para el 71M6513/71M6513H.
Imagen más detallada
(PDF, 325KB) Figura 17. Programador para el 71M6521BE/DE/FE en un paquete de 64 pines.


Figura 18.  Programador para el 71M6521DE/FE en un paquete de 68-pin.
Imagen más detallada
(PDF, 326kb) Figura 18. Programador para el 71M6521DE/FE en un paquete de 68-pin.


HyperTerminal es una marca registrada de Hilgraeve, Incorporated. Intel es una marca comercial registrada y marca de servicio registrada de Intel Corporation. Keil es una marca registrada y marca de servicio registrada de ARM Limited. Teridian es una marca comercial de Freescale Semiconductor, Inc. Windows es una marca registrada y marca de servicio registrada de Microsoft Corporation.






Piezas relacionadas

71M6511
Monofásico Medidor de Energía CIs
Muestras gratuitas


71M6511H
Monofásico Medidor de Energía CIs
Muestras gratuitas


71M6513
3-Fase Energy Meter IC
Muestras gratuitas


71M6513H
3-Fase Energy Meter IC
Muestras gratuitas


71M6531D
Energy Meter IC
Muestras gratuitas


71M6531F
Energy Meter IC
Muestras gratuitas


71M6532D
Energy Meter IC
Muestras gratuitas


71M6532F
Energy Meter IC
Muestras gratuitas


71M6533
Energy Meter IC
Muestras gratuitas


71M6533G
Energy Meter IC
Muestras gratuitas


71M6533H
Energy Meter IC
Muestras gratuitas


71M6534
Energy Meter IC
Muestras gratuitas


71M6534H
Energy Meter IC
Muestras gratuitas


71M6541D
Energy Meter IC
Muestras gratuitas


71M6541F
Energy Meter IC
Muestras gratuitas


71M6541G
Energy Meter IC
Muestras gratuitas


71M6542F
Energy Meter IC
Muestras gratuitas


71M6542G
Energy Meter IC
Muestras gratuitas


71M6543F
Energy Meter IC
Muestras gratuitas


71M6543GH
Energy Meter IC


71M6543H
Energy Meter IC


71M6545
Procesadores de Metrología
Muestras gratuitas


71M6545H
Procesadores de Metrología

No hay comentarios:

Publicar un comentario