Menú English Ukrainian Ruso Inicio

Biblioteca técnica gratuita para aficionados y profesionales. biblioteca técnica gratuita


ENCICLOPEDIA DE RADIOELECTRÓNICA E INGENIERÍA ELÉCTRICA
biblioteca gratis / Esquemas de dispositivos radioelectrónicos y eléctricos.

Programación de chips de memoria FLASH. Enciclopedia de radioelectrónica e ingeniería eléctrica.

biblioteca técnica gratuita

Enciclopedia de radioelectrónica e ingeniería eléctrica. / Microcontroladores

Comentarios sobre el artículo Comentarios sobre el artículo

Los microcircuitos reprogramables de memoria permanente con borrado eléctrico de datos, fabricados con tecnología FLASH, han tomado una posición fuerte en la tecnología electrónica e informática, desplazando a otro tipo de dispositivos de almacenamiento no volátil. Su principal ventaja es la posibilidad de reprogramar "en el sistema" sin desoldar el chip de la placa de circuito impreso o quitarlo del panel. Una gran cantidad permitida de ciclos de reprogramación permite construir "discos FLASH" con un volumen de decenas de megabytes en dichos microcircuitos, que difieren de las unidades de disco duro o disquete convencionales en la ausencia total de partes móviles. Como resultado, son duraderos y pueden funcionar en entornos de alta vibración, como vehículos y otros objetos en movimiento. El artículo publicado está dedicado a la programación de chips de memoria FLASH.

Los chips de memoria FLASH se diferencian de otros tipos de ROM por la presencia de un "programador" incorporado directamente en el chip: una máquina de borrar y escribir (AC3). Elimina la necesidad en el proceso de programación de aplicar mayor voltaje a las salidas del microcircuito, para formar ciertas secuencias de pulsos. AC3 hace todo esto de manera independiente e imperceptible para el usuario, quien solo necesita informar la dirección de la celda y el código que debe escribirse en ella mediante el comando apropiado, y esperar a que se complete la operación. En muchos casos, una operación larga (como borrar un bloque de datos) se puede pausar, leer la información deseada de otra área de la memoria y luego continuar.

Hoy en día, muchas empresas (las más famosas son Intel, AMD, Atmel, Winbond) producen una amplia gama de chips de memoria FLASH de hasta 4 MB. Su interfaz externa es paralela o serial. Los chips con una interfaz en serie están destinados principalmente a almacenar pequeñas cantidades de datos en dispositivos pequeños o especializados, por ejemplo, para almacenar configuraciones fijas para un receptor de radio o un programa para operar un electrodoméstico.

A continuación, hablaremos de los microcircuitos FLASH "paralelos", que, en términos del dispositivo físico y lógico de la interfaz con el procesador, no se diferencian en nada de las ROM convencionales, excepto que, al igual que la RAM, tienen una entrada de habilitación de escritura. Es en estos microcircuitos donde se almacenan los códigos BIOS de las computadoras modernas. La organización de datos es de ocho o 16 bits. A menudo, se puede elegir conectando una salida especialmente provista a un cable común o fuente de alimentación. Además de los buses de dirección y datos, se suministran tres señales de control a los microcircuitos: selección de cristal (CE), habilitación de salida (OE) y habilitación de escritura (WE). Este último, solo si el chip necesita ser programado. La duración mínima del ciclo de lectura es de 70... 150 ns.

En los primeros microcircuitos FLASH, la matriz de celdas de memoria era un solo bloque y los datos solo podían borrarse por completo de toda la matriz. En muchos microcircuitos modernos, la memoria se divide en bloques y borrar datos en uno de ellos no afecta los datos almacenados en otros. Los tamaños de bloque son muy diferentes: desde 128 bytes hasta 128 KB o más. Sin embargo, al leer datos, toda la memoria del microcircuito se considera como una sola matriz, y eso es todo. que esté físicamente dividido en bloques no importa.

Por lo general, los bloques son iguales e iguales, pero pueden ser diferentes. Por ejemplo, los chips de la serie 28Fxxx de Intel tienen un bloque de arranque de 16 KB y dos bloques de parámetros de 8 KB cada uno. A esto le sigue un bloque de 96 KB, y el resto de la memoria consta de bloques de 128 KB. Las propiedades de estos bloques son algo diferentes. El arranque tiene protección contra escritura y borrado de hardware. Se enciende aplicando el nivel lógico apropiado a una salida especialmente provista del microcircuito. Los bloques de parámetros están diseñados para almacenar datos modificados con frecuencia y soportar una mayor cantidad de ciclos de borrado/escritura que otros.

Cada uno de los microcircuitos de la serie en consideración se fabrica en dos versiones, que difieren en la ubicación de los bloques en el espacio de direcciones. En los microcircuitos con índice B (abajo), se ubican, a partir de la dirección cero, en el orden indicado anteriormente. En productos con el índice T (arriba), el orden se invierte (arranque - en el área de direcciones más altas).

Los microcircuitos de memoria FLASH producidos en la actualidad están diseñados para voltajes de suministro nominales de 2.7 a 5 V. No se requiere un voltaje mayor (12 V) para ellos o solo es necesario en algunos modos especiales. En el estado pasivo ("no seleccionado"), dichos microcircuitos consumen una corriente de no más de 1 mA de la fuente de alimentación (en la mayoría de los casos, diez veces menos). A veces se proporciona un modo de suspensión especial, en el que el consumo es insignificante. Es cierto que es imposible leer datos de un microcircuito "dormido", pero para "despertarlo". a veces tarda varias decenas de microsegundos. La corriente consumida en modo activo es de decenas de miliamperios, y si pones un chip en estado pasivo, cuyo AC3 realiza una operación larga (por ejemplo, borra datos), la corriente no disminuirá hasta que se complete.

Se presta mucha atención a la protección de los datos almacenados en la memoria FLASH de cambios accidentales, especialmente bajo la influencia del ruido y los transitorios cuando se enciende y apaga la alimentación. En la mayoría de los casos, hay tres tipos de protección de hardware. El primero es. que el microcircuito no responde a pulsos en el circuito WE con una duración de menos de 15 ... 20, el segundo es que con un nivel lógico bajo en la entrada OE, ninguna manipulación de señal en otras entradas puede causar una grabación, el tercero es eso. que cuando el voltaje de suministro cae por debajo de cierto nivel, AC3 se apaga. Para microcircuitos de diferentes tipos, el umbral de apagado está en el rango de 1.5 ... 3.8V.

A veces es posible prohibir por completo cambiar y borrar toda la matriz de datos o sus partes. La imposición o eliminación de tal prohibición generalmente requiere medidas "extraordinarias" (por ejemplo, aplicar brevemente un aumento de voltaje a ciertos terminales).

También se proporciona protección de software. Para cambiar el contenido de una celda, la memoria FLASH no es suficiente, como en la memoria RAM convencional. escribir un código a una dirección. Se requiere un comando, que consta de varios códigos escritos en direcciones específicas.

Cualquier chip FLASH puede decirle su tipo al dispositivo en el que está instalado, lo que le permite seleccionar automáticamente los algoritmos necesarios para escribir y borrar datos. Se proporcionan los comandos apropiados para habilitar y deshabilitar mediante programación el modo de lectura de ID. Después de encenderlo, el identificador del fabricante se lee en la dirección OH y los dispositivos se leen en la dirección 1H (los identificadores de algunos microcircuitos se dan en la tabla). En el mismo modo, pero en otras direcciones, en algunos casos puede obtener información adicional, por ejemplo, sobre el estado de la protección contra escritura del hardware.

Programación de chips de memoria FLASH

Es posible cambiar al modo de lectura de identificadores sin un comando, aplicando un voltaje de +9 V a la entrada de dirección A12.La desviación permitida de su valor para microcircuitos de diferentes tipos es diferente. En algunos casos no supera el ±5%. en otros, basta con que el voltaje solo supere un valor determinado, por ejemplo, 10 V. Los identificadores se leen en las direcciones anteriores, fijándolos sin tener en cuenta la descarga A9. Por lo general, este método se usa en programadores universales.

AC3 de la mayoría de los chips de memoria flash aceptan comandos dados de acuerdo con el llamado estándar JEDEC, aunque hay excepciones. A veces, cuando se actualizan los chips, su sistema de comandos se complementa con combinaciones de códigos estándar, conservando, sin embargo, los comandos antiguos (esto es necesario para que los chips actualizados puedan funcionar en dispositivos lanzados anteriormente). Intel utiliza su propio sistema de comando.

Antes de considerar los comandos en detalle, hablemos un poco sobre la conexión de chips FLASH. Los microcircuitos del mismo tipo, por regla general, se producen en varios tipos de paquetes, que difieren en ubicación, paso y número de pines. A menudo, se proporcionan opciones de "espejo", lo que le permite instalar microcircuitos en cualquier lado de la placa sin cambiar la topología de los conductores impresos.

Los números de pines en los diagramas a continuación son típicos para chips de memoria de 512K en los paquetes PLCC y PDIP de 32 pines más comunes. El "pinout" de los microcircuitos de menor volumen es similar, pero las conclusiones de los dígitos más altos no están conectadas a ellos (por ejemplo, el 29 y el 010 son gratuitos para Am30F1).

Un esquema similar al mostrado en la Fig. 1 se utilizan si es necesario borrar y escribir datos sin quitar el chip del sistema de microprocesador.

Programación de chips de memoria FLASH

Se supone que el bus de datos del sistema es de ocho bits, las direcciones son de 16 bits. La ROM se asigna en el espacio de direcciones de 32 KB, el resto puede ser ocupado por RAM Dado que la cantidad de memoria del Am29F040 es de 512 KB, se proporciona un registro de página de memoria FLASH que controla los bits superiores de la dirección. Para leer y escribir datos, puede usar los siguientes procedimientos simples (escritos en Pascal):

Programación de chips de memoria FLASH

Si es necesario programar el chip FLASH fuera del dispositivo en el que funcionará, se puede conectar a una computadora personal. La forma más fácil de hacer esto es instalar una tarjeta de E/S paralela opcional en su computadora. Placas tales como PCL-731 de Advantech, DIO-48 de IOP DAS o PET-48DIO de ADLink están disponibles comercialmente. Por regla general, tienen 48 entradas / salidas y funcionan de manera similar a dos microcircuitos 8255 (KP5806V55A) en modo O con los mismos puertos de información y control, incluso si en realidad no existen tales microcircuitos en su composición. Si es necesario, la placa de entrada/salida paralela se puede hacer de forma independiente, utilizando el artículo de N. Vasiliev "PC Interface Extender" ("Radio", 1994, No. 6, pp. 20, 21).

Para lectura o programación, el chip FLASH se conecta a los puertos de dos chips 8255 según el circuito que se muestra en la Fig. 2. El puerto PA del primero de ellos se utiliza para la entrada/salida de datos, los bits separados de su puerto PC se utilizan para la salida de las señales de control CE, OE y WE. Los puertos PA, PB y PC forman en segundo lugar el bus de direcciones de 24 bits del chip FLASH. Si un ancho de bit más pequeño de este bus es suficiente, el número correspondiente de bits de orden superior del puerto de PC no se conecta.

Programación de chips de memoria FLASH

Los puertos de la placa de E/S y las constantes auxiliares deben describirse en el programa de la siguiente manera:

Programación de chips de memoria FLASH

Y los procedimientos de acceso a la memoria FLASH descritos anteriormente se reemplazan por los siguientes:

м

Ahora, en realidad, sobre la programación de microcircuitos FLASH. Según el estándar JEDEC, cada comando comienza con la entrada del código OAAN en la dirección 5555H. A continuación, se escribe el código 55H en la dirección 2AAAH y, por último, el código de la operación a realizar en la dirección 5555H.

Programación de chips de memoria FLASH

Hablando, por ejemplo, sobre el comando 40H, nos referiremos a esa secuencia con el número 40H como código de operación.

Programación de chips de memoria FLASH

Después de encender la alimentación, cualquier microcircuito FLASH ingresa automáticamente a este modo y no es necesario configurarlo con un comando especial. Sin embargo, se requiere, por ejemplo, para volver del modo de lectura de identificadores. A veces se lo denomina comando de reinicio o configuración inicial. Para transferir algunos microcircuitos al modo de lectura de matriz, es suficiente un ciclo de escritura del código 0F0H en cualquier dirección.

Programación de chips de memoria FLASH

El ciclo de escritura que sigue al comando 0A0H contiene la dirección de la celda programable y el código escrito en ella. En la mayoría de los casos, escribir en cada celda requiere un comando separado. Tenga en cuenta que, al igual que las EEPROM convencionales, en los bits de una celda programable, solo puede reemplazar los lógicos por ceros. Para realizar la operación inversa, generalmente es necesario borrar primero el contenido de todo el bloque de memoria y repetir la programación de todas sus celdas. Tenga en cuenta que los AC3 de muchos chips FLASH no reconocen estos errores e informan sobre el éxito. Para asegurarse de que la programación es correcta, es necesaria una lectura de control de los datos registrados.

En los chips Winbond con bloques de 128 bytes, la programación de cualquier celda es precedida automáticamente por el borrado de todos los datos del bloque contenedor. Por lo tanto, siempre debe copiar primero el bloque a la RAM, realizar los cambios necesarios en la copia y reprogramar los 128 bytes. Habiendo recibido el comando OOH, la dirección y el primero de los bytes programables, AC3 lo ingresa en el buffer interno del bloque y espera 200 µs sin iniciar la programación. Si durante este tiempo se recibe un comando OOH más y el siguiente byte, también irá al búfer y AC3 esperará los próximos 300 µs. Esto continúa hasta entonces. hasta que se reciban los 128 bytes del bloque o la pausa exceda el valor permitido (300 μs). El AC3 luego borra el bloque y comienza la programación real. No importa la secuencia de escritura en el búfer de datos destinados a las diferentes celdas del bloque, pero aquellas celdas para las que no se han recibido datos contendrán códigos 0FFH después de la programación.

Hay dos formas de escribir datos de programación en dicho chip. El primero de ellos (habitual para otros) se denomina protegido por software. Cada byte a escribir debe estar precedido por un comando OOH. Sin embargo, la protección se puede desactivar emitiendo los comandos 80H y 20H en secuencia.

Programación de chips de memoria FLASH

Después de eso, el byte escrito en cualquier dirección ingresa al búfer interno del microcircuito, y este modo se mantiene incluso después de apagar y encender la alimentación. Sal de ahí a las órdenes de OON.

Programación de chips de memoria FLASH

Hay dos opciones de comando equivalentes para escribir datos en un chip Intel FLASH. En primer lugar, uno de los códigos 40H o 10H se escribe en cualquier dirección. y luego - el código programable en la dirección deseada.

Programación de chips de memoria FLASH

Comando "Borrar toda la memoria".

AC3 del microcircuito FLASH inicia esta importante operación al recibir una secuencia de dos comandos: 80H y 10H.

Programación de chips de memoria FLASH

Los microcircuitos de Intel reciben un comando similar escribiendo en direcciones arbitrarias de códigos 20H y 0D0H

Programación de chips de memoria FLASH

Borrar todo el contenido de la memoria lleva desde decenas de milisegundos hasta varios segundos. Algunos microcircuitos brindan la capacidad de suspender este proceso escribiendo el código OVON en cualquier dirección. Después de escribir (también en cualquier dirección) el código 30H (para chips Intel - ODOH), el borrado continuará.

Borrar comando de bloque. Para borrar el contenido de un bloque de memoria, se deben dar dos comandos. El primero de ellos es 80H, el segundo se diferencia en que su código de operación 90H debe escribirse no en la dirección 5555H, sino en la dirección de cualquiera de las celdas del bloque que se está borrando.

Programación de chips de memoria FLASH

Comando "Leer identificadores". Para cambiar a este modo, se usa el comando 90H, pero a veces se requiere una secuencia de dos comandos: 80H y 60H.

Programación de chips de memoria FLASH

En los microcircuitos Intel, basta con escribir el código 90H en cualquier dirección. Este modo se sale con el comando "Leer matriz de datos" discutido anteriormente.

¿Cómo verificar la finalización de la ejecución de comandos de programación y borrado "largos"? La forma más fácil es utilizar los datos de referencia del microcircuito y prever la formación del software de los retrasos correspondientes. Pero el tiempo de ejecución real de ciertas operaciones a menudo difiere significativamente de los valores de referencia incluso para diferentes celdas y bloques del mismo microcircuito, aumentando a medida que este último "envejece".

La lectura del registro de estado AC3 le permite averiguar con precisión el momento en que finaliza una operación en particular. El chip FLASH envía el contenido de este registro al bus de datos siempre que el AC3 esté ocupado realizando un procedimiento de borrado o programación. Hay dos señales de que el proceso no ha terminado. La primera es que el valor del bit D7 del registro de estado es inverso al valor escrito en el mismo bit de la celda de memoria (durante el borrado es igual a 0). Al final de la operación, coincidirá con el registrado. El segundo síntoma es el "parpadeo" del bit D6 (su valor cambia con cada lectura del registro hasta que se completa la operación).

Como regla general, se observan ambos signos, sin embargo, hay excepciones. Por ejemplo, en los chips Intel no hay un bit "parpadeante", y el bit D7 es 0 durante la programación, independientemente del código que se escriba. El final de la operación en este caso se evidencia por D7=1. En microcircuitos con registro de bloques (por ejemplo, de Winbond), el valor del bit D7 es inversamente análogo al bit del último código escrito en el búfer del bloque.

Por lo general, al finalizar la programación o el borrado, el chip FLASH regresa automáticamente al modo de lectura de matriz de datos, pero los chips Intel requieren un comando correspondiente para esto.

Si el chip falla, es posible que la operación "larga" nunca se complete, lo que hace que la computadora de programación se "cuelgue". Para evitarlo, es necesario prever el control de la duración de las operaciones de borrado y programación y, en caso de superar un valor razonable, una salida de "emergencia" con mensaje de avería.

A veces, especialmente cuando se trabaja con microcircuitos que han pasado por una serie de ciclos de borrado/programación cercanos al límite, tiene sentido repetir la operación fallida varias veces. Uno de los intentos puede tener éxito.

En conclusión, algunas palabras sobre las utilidades que le permiten actualizar el BIOS de la computadora almacenado en la memoria FLASH. Se desarrollan para cada tipo de placa del sistema (placa base) y tienen en cuenta las peculiaridades de conectar los microcircuitos FLASH a los buses del sistema. Por lo tanto, los intentos de usar una utilidad diseñada para un tipo de placa para actualizar el BIOS de otra a menudo conducen a una falla total de la computadora.

La utilidad se inicia como un programa de aplicación normal, especificando como parámetro el nombre del archivo que contiene los códigos de la nueva versión del BIOS. Lee este archivo, creando una matriz de datos en la RAM para escribirlos en la memoria FLASH. Luego determina el tipo de microcircuito y selecciona los procedimientos apropiados para trabajar con él. Después de eso, comienza el borrado de los datos antiguos y la grabación de los nuevos, y en este momento el programa no puede usar ninguna función del BIOS, incluida la visualización de información en la pantalla o el sondeo del teclado. Si aún es necesario hacer esto, las subrutinas necesarias se introducen en la propia utilidad. Una vez que se completa la programación y se verifica que es correcta, la computadora generalmente se reinicia y comienza una "nueva vida" con un BIOS actualizado.

Autor: A. Dolgiy, Moscú

Ver otros artículos sección Microcontroladores.

Lee y escribe útil comentarios sobre este artículo.

<< Volver

Últimas noticias de ciencia y tecnología, nueva electrónica:

Cuero artificial para emulación táctil. 15.04.2024

En un mundo tecnológico moderno donde la distancia se está volviendo cada vez más común, mantener la conexión y la sensación de cercanía es importante. Los recientes avances en piel artificial realizados por científicos alemanes de la Universidad del Sarre representan una nueva era en las interacciones virtuales. Investigadores alemanes de la Universidad del Sarre han desarrollado películas ultrafinas que pueden transmitir la sensación del tacto a distancia. Esta tecnología de punta brinda nuevas oportunidades de comunicación virtual, especialmente para quienes se encuentran lejos de sus seres queridos. Las películas ultrafinas desarrolladas por los investigadores, de sólo 50 micrómetros de espesor, pueden integrarse en textiles y usarse como una segunda piel. Estas películas actúan como sensores que reconocen señales táctiles de mamá o papá, y como actuadores que transmiten estos movimientos al bebé. El toque de los padres sobre la tela activa sensores que reaccionan a la presión y deforman la película ultrafina. Este ... >>

Arena para gatos Petgugu Global 15.04.2024

Cuidar a las mascotas a menudo puede ser un desafío, especialmente cuando se trata de mantener limpia la casa. Se ha presentado una nueva e interesante solución de la startup Petgugu Global, que facilitará la vida a los dueños de gatos y les ayudará a mantener su hogar perfectamente limpio y ordenado. La startup Petgugu Global ha presentado un inodoro para gatos único que puede eliminar las heces automáticamente, manteniendo su hogar limpio y fresco. Este innovador dispositivo está equipado con varios sensores inteligentes que monitorean la actividad del baño de su mascota y se activan para limpiar automáticamente después de su uso. El dispositivo se conecta al sistema de alcantarillado y garantiza una eliminación eficiente de los residuos sin necesidad de intervención del propietario. Además, el inodoro tiene una gran capacidad de almacenamiento, lo que lo hace ideal para hogares con varios gatos. El arenero para gatos Petgugu está diseñado para usarse con arena soluble en agua y ofrece una gama de arena adicional ... >>

El atractivo de los hombres cariñosos. 14.04.2024

El estereotipo de que las mujeres prefieren a los "chicos malos" está muy extendido desde hace mucho tiempo. Sin embargo, una investigación reciente realizada por científicos británicos de la Universidad de Monash ofrece una nueva perspectiva sobre este tema. Observaron cómo respondieron las mujeres a la responsabilidad emocional y la voluntad de los hombres de ayudar a los demás. Los hallazgos del estudio podrían cambiar nuestra comprensión de lo que hace que los hombres sean atractivos para las mujeres. Un estudio realizado por científicos de la Universidad de Monash arroja nuevos hallazgos sobre el atractivo de los hombres para las mujeres. En el experimento, a las mujeres se les mostraron fotografías de hombres con breves historias sobre su comportamiento en diversas situaciones, incluida su reacción ante un encuentro con un vagabundo. Algunos de los hombres ignoraron al vagabundo, mientras que otros lo ayudaron, como comprarle comida. Un estudio encontró que los hombres que mostraban empatía y amabilidad eran más atractivos para las mujeres en comparación con los hombres que mostraban empatía y amabilidad. ... >>

Noticias aleatorias del Archivo

Conmutadores PCI Express 5.0 11.02.2021

Microchip ha lanzado los primeros conmutadores PCI Express (PCIe) 5.0 del mundo, la familia Switchtec PFX PCIe 5.0. Los dispositivos de próxima generación duplican el rendimiento de interconexión para almacenamiento de computación, redes y NVM Express (NVMe) de alta intensidad. Los nuevos productos son compatibles con los restauradores de sincronización XpressConnect, que también son compatibles con PCIe Gen 5.

Los switches de la familia Switchtec PFX PCIe 5.0 pueden tener de 28 a 100 carriles y hasta 48 puentes NTB. Los dispositivos admiten conexiones en caliente e inesperadas y autenticación de arranque seguro. También tienen un conjunto de herramientas para la depuración y el diagnóstico.

Microchip también ha lanzado un conjunto completo de herramientas necesarias para desarrollar soluciones integrales basadas en nuevos productos. Estas herramientas incluyen documentación de diseño, ejemplos de diseño de referencia, tableros de evaluación y otras herramientas.

Otras noticias interesantes:

▪ Controlar las cosas con el poder del pensamiento.

▪ Un simple adaptador convertirá los auriculares ordinarios en inteligentes

▪ A los 80, la vejez apenas comienza.

▪ Jugar al Tetris te librará de los recuerdos dolorosos

▪ Refrigeración por láser

Feed de noticias de ciencia y tecnología, nueva electrónica

 

Materiales interesantes de la Biblioteca Técnica Libre:

▪ sección del sitio Protección de equipos eléctricos. Selección de artículos

▪ artículo Normas higiénicas para el contenido de sustancias químicas en la atmósfera. Conceptos básicos de una vida segura

▪ ¿De dónde viene la palabra silueta? Respuesta detallada

▪ artículo Digitalis Shishkin. Leyendas, cultivo, métodos de aplicación.

▪ artículo Protege la electricidad. Enciclopedia de radioelectrónica e ingeniería eléctrica.

▪ artículo Tarjeta incorrecta. Secreto de enfoque

Deja tu comentario en este artículo:

Nombre:


Email opcional):


comentar:





Todos los idiomas de esta página

Hogar | Biblioteca | Artículos | Mapa del sitio | Revisiones del sitio

www.diagrama.com.ua

www.diagrama.com.ua
2000 - 2024