Hogar / Misceláneas / Programación NAND FLASH. TNM5000 programadores programadores universales usb para circuitos flash nand

Programación NAND FLASH. TNM5000 programadores programadores universales usb para circuitos flash nand


Este es un dispositivo universal para programar una amplia gama de microcircuitos, que van desde chips banales I2c y MicroWire hasta Nand Flash de múltiples patas.
A lo largo de los años de aficiones de radioaficionados y electrónica, he acumulado una cantidad bastante grande de estos dispositivos caseros, ensamblados para tareas específicas y solo por el proceso en sí. Con la llegada de una gama cada vez mayor de microcircuitos y un aumento de su capacidad, fue necesario adquirir un dispositivo de fábrica, el conocido MiniPro TL-866.
El dispositivo es realmente muy bueno, ha estado sirviendo fielmente durante muchos años, pero la falta de control de contacto, las limitaciones de hardware y, como resultado, la incapacidad de trabajar con chips modernos, me hicieron mirar dispositivos más caros y funcionales. Una revisión superficial del mercado de tales dispositivos me llevó a darme cuenta de que dos dispositivos corresponden claramente a mis necesidades: el ChipProg-48 ruso (1) y el TNM5000 iraní. El segundo resultó ser más de 2 veces más barato con una funcionalidad comparable, y después de un poco de persuasión, mi rana, que había perdido la vigilancia en el proceso de elegir un regalo para su amada para su cumpleaños, no pudo oponerse razonablemente.
En la página del vendedor oficial en Aliexpress, se realizó un pedido, se seleccionó la entrega de Singapore Post y se realizó el pago. En el proceso de mayor correspondencia con el vendedor, por cierto, muy sociable, resultó que es más preferible enviar por mensajería SPSR. Esto es más rápido, pero se requieren datos de pasaporte adicionales para la aduana, lo que causó cierta preocupación, porque. El paquete no fue recibido por un ciudadano de la Federación Rusa. Acordamos el aire ruso habitual, el vendedor compensó la diferencia en la entrega con un adaptador SSOP34 que no funcionaba mucho.
A pesar de todas las preocupaciones, la entrega fue rápida y sin problemas.
Entonces, un programador iraní de China fue deportado a Rusia y transferido a Bielorrusia por un residente especialmente capacitado en Moscú, un ciudadano de la República de Bielorrusia con registro temporal. Un esquema tan complejo ayudó a evitar el pago de impuestos sobre archivos adjuntos postales por valor de más de 20 euros para mercancías que cruzan la frontera aduanera de la República de Belarús.


En la foto el propio programador, cable USB para conectar a una computadora, una ventosa de vacío para transferir pequeños chips, un cable de programación en circuito, un chip adicional NAND Flash K9GAG08U0E-SCB0 y un adaptador SSOP34, de bastante alta calidad. El CD con el software y las instrucciones no estaba incluido en la foto, lo olvidé en la caja.


La caja era inesperadamente más grande de lo que imaginaba, el contenido coincidía con la descripción.
A modo de comparación, una foto con el popular TL-866.








Por cierto, el precio de los adaptadores del vendedor es simplemente exagerado, compré el adaptador TSOP48-DIP48 que necesitaba de otro vendedor a veces más barato, simplemente de excelente calidad y el panel parece ser incluso YAMAICHI japonés.




La carcasa del programador está hecha de plástico de color oscuro de bastante alta calidad, sin rebabas, destellos y otros atributos de un ensamblaje semisótano. En un lado de la caja, hay un conector de programación en circuito de 10 pines, este es un IDC10 estándar. Arriba, un conector DIP ARIES de 48 pines. Es curioso que, a diferencia de otros enchufes, se lleva al estado abierto con esfuerzo, y se lleva al estado de "chip insertado, sujetado y listo para funcionar" por sí mismo, este es su estado predeterminado. En la parte superior de la carcasa también hay un indicador de actividad y una pegatina con el modelo del programador.


Por otro lado, hay un USB-B estándar para conectar a una PC y un conector para comida adicional, de diseño desconocido, cuidadosamente cubierto con una pegatina de advertencia.


En la parte inferior de la caja hay una etiqueta con información, una etiqueta de garantía en el tornillo y patas de goma.


El programador tiene un año de garantía, que es poco probable que pueda usar, pero por si acaso no hago un desmembramiento, usaré una foto de otro propietario más atrevido.






Aquí está la descripción del programador en ruso, también plagiaré un poco:

Información Adicional

Memoria Flash (Paralelo/Nand/Serial), EPROM, EEPROM, EEPROM Serial, Microcontroladores, NVRAM, FRAM, CPLD, PLD, FPGA).
Placa ZIF de 48 pines de alta calidad y conector ISP/JTAG de 10 pines.
USB 2.0 de alta velocidad
Programación 1 Gb Nand Flash menos de 50 seg.
Análisis de chips NAND para detectar la presencia de bloques MALOS, puede omitirlos al escribir, al leer.
Detección automática de todas las memorias flash/microcontroladores con Device ID.
Conveniente software para Windows XP/VISTA/7/8 (32,64 bits).
¡La función de probar los contactos del microcircuito suministrado (Prueba de pines)!
Si insertó mal el IC en el bloque, o tiene pines sucios, el software del programador lo informará e indicará el número de este contacto.
Bajo costo de la unidad principal y adaptadores económicos.
Un adaptador TSOP 32/40/48 para todas las memorias flash.
Un adaptador TSOP56 para todas las memorias flash de 56 pines.
Características especiales que amplían enormemente las capacidades del programador, conseguimos varios programadores en uno:
Emulación completa de Altera USB-Blaster para el software Quartus-II.
Emulación de puerto serie completo.
Compatibilidad con ECU del vehículo, inmovilizador y microcontrolador del salpicadero.
Programador Flash TopJTAG, sonda TopJTAG.
El corazón del programador TNM 5000 es un FPGA de puerta 500.0000 con un núcleo de CPU diseñado con reloj de 96 MHz para una programación IC rápida.
Trabajando con área OTP de chips EN25F16, EN25F80, EN25Q16, EN25Q32, EN25Q64… Lectura… guardando… editando… programando área OTP de chips.
Flash paralelo hasta 56 pines:
Admite varios tipos de paquetes (PLCC, TSOP1, TSOP2, VSOP y…). Todo flash puede ser detectado automáticamente por el software. Usando un adaptador para todos los flashes TSOP de 32-48 pines, el usuario solo necesita 1 adaptador para más de 2000 chips flash.
Memorias flash NAND:
El programador tiene un software Nand+ adicional especialmente diseñado para NAND Flash. El software Nand+ tiene una de las listas más completas de memorias flash NAND con algoritmo de corrección de datos incorrectos en MLC NAND. El TNM5000 es uno de los programadores Nand más rápidos del mundo con velocidades de lectura y escritura de hasta 8 megabytes por segundo. Todo Nand puede ser detectado automáticamente por el software.
Memorias flash en serie:
Todos los flash SPI seriales de 8-16 pines son compatibles con el programador. Todos los SPI flash pueden ser detectados automáticamente por software. Lee y programa SPI flash a una velocidad máxima segura de 6-7Mbps. También elimina la protección, y la protección contra escritura parpadea antes de escribir datos.
Microcontroladores:
ATMEL: todos los chips AVR de 8 bits (ATMEGA/ATTINY/AT90S) son compatibles con ZIF Scocket y cable ISP. Soportado programación AVR hasta 64 pines. Se admiten la serie ATXMEGA y el método PDI y JTAG recientemente introducidos. La serie C51 antigua y la nueva serie C51 de ciclo único son totalmente compatibles. Todas las series se pueden detectar automáticamente. Se admite la programación ARM7 a través de JTAG.
FOTO del microchip:
uno de los mas Lista llena dispositivos para microcontroladores PIC de Microchip, incluidas todas las series PIC12F/PIC12C/PIC16C/PIC16F/PIC18F/DPIC33F/J&K. Se pueden programar dispositivos de hasta 40 pines en el ZIF Scocket, todos los PIC se pueden detectar automáticamente y se programan mediante un cable ISP.
Además:
Programas MIO KB9012, ST, SST, Philips (NXP), Motorola, Syncmos, Silicon Lab, ICSI, Infineon, Intel, Winbond y…
Microcontroladores automotrices:
Admite el cable ISP de las series ST10F y TMS370 para muchas ECU BOSCH / VALEO / SAGEM (soporte completo para ST10F de la lista de dispositivos del programador XPROG-m). Admite Siemense e Infineon SAK - C167 conectado a flash de 44 o 48 pines (Siemense / BOSCH / SAGEM S2000 ECU), como HSE FlasHit Programmer. NEC y soporte Dispositivos Motorola para Tableros. Compatible con Motorola/FreeScale MC68HC11KA4/MC68HC11A8. Admite el fusible OTP de la serie MC68HC908 agregado. Familia Infineon Tricore Audo-NG (próxima generación) TC1796 TC1766 con soporte de Flash externo de 32 bits (S29CD032 - S29CD016) en las nuevas ECU de Bosch. Programación Motorola MPC562 MPC561 BDM para flash externo y EEPROM externo en ECU EDC (Bosch y Sim2K). Serie Motorola HC9S12DG64 / HC9S12DG128 / HC9S12DG256 / HC9S12DG512 con función de derivación de seguridad.
PLD/CPLD/FPGA:
Compatibilidad con todos los dispositivos ALTERA JTAG a través del programador Altera USB Blaster en la emulación de Quartus Software. Admite Xilinx CPLD/FPGA con archivo jed. Configuración rápida de Xilinx FPGA con archivo de bits. Soporte para dispositivos GAL/Palce con opción especial para desbloqueo de Place.
Software multilingüe (inglés/chino/árabe/francés/farsi/ruso). Se pueden agregar otros idiomas y dispositivos a pedido del cliente. Puede descargar el software y ejecutarlo en modo de demostración para evaluarlo.


Bueno, no puedo esperar para probar el dispositivo en funcionamiento. Colocamos cuidadosamente el chip en la base del adaptador, instalamos el adaptador en el zócalo universal del programador, conectamos el programador a una computadora portátil, una computadora portátil con Windows 10 de 32 bits con el software instalado descargado previamente del sitio web del fabricante.




Para que el programador trabaje con chips NAND FLASH, se usa un software, para trabajar con el resto de la variedad de chips, otro.
Seleccionamos nuestro chip de la lista, y...


El dispositivo advierte cuidadosamente sobre el no contacto de patas específicas del chip. Escurra suavemente el panel, mueva el chip, todo está bien. Para verificar, ejecutamos la detección automática: el programador determina el chip más cercano de esta familia, todo está bien.


Escribimos, leemos, borramos, todo está bien, el programador cumple rápidamente todos los modos.
Bueno, pasemos a la acción principal, para la cual se compró el programador. En el trabajo, usamos muchas docenas de herramientas industriales puntos de acceso WiFi HP MSM-310R.


El dispositivo es caro, pero sin embargo falla. La garantía ha caducado y se ha acumulado un cierto número de ellos. En el interior, como les gusta a Hewlett-Packard y otras marcas blancas, hay un fabricante comprado, Canadian Colubris.


A juzgar por la escasa información del fabricante y el parpadeo de los LED, era posible entender que el problema era el software. El punto era cursi no cargado debido a una falla en el interno sistema de archivos o un chip de memoria flash gastado. Bueno, soplamos el chip K9F5608UOD con un secador de pelo desde un punto vivo, lo leemos y lo soldamos nuevamente. Descubrimos dónde en el volcado de lectura hay parámetros de configuración que describen el número de serie y las direcciones MAC del dispositivo. Hay dos de estos, un par de bloques de kilobytes. Son idénticos entre sí. Desde un punto muerto, también soplamos el chip, lo restamos, encontramos bloques de identificación en el basurero en las mismas direcciones, lo cortamos y lo guardamos. Reemplazamos estos bloques en el firmware leído desde un punto vivo con los requeridos con números de serie y MAC muertas. Flasheamos un nuevo chip, previamente comprado en Aliexpress, con este combo de firmware, lo soldamos, y listo, el punto funciona. Tuve suerte, el nuevo chip que compré resultó ser de muy alta calidad y no había bloques defectuosos de fábrica, por lo que el volcado se podía escribir uno a uno, sin ningún cambio. Por supuesto, metodológicamente sería más correcto conectarse a la interfaz jtag del procesador del punto, pero en ese momento era demasiado intentar lo desconocido.
Y por último, me gustaría hablaros de los mini-concursos de algunos de mis programadores. Los saqué de los contenedores, los fotografié y los preparé para la prueba.


Conozca a Bidipro, un dispositivo de autosoldadura que fue bastante popular entre los destructores de radio en su época. Pero debido a una larga inactividad, en algún lugar se deslizó un error de hardware en forma de cortocircuito o no permanente, causado por la lágrima codiciosa de un ingeniero electrónico nostálgico que cayó. Y además, el software de control requiere DOS. Abandona al principio.


El segundo dispositivo, un clon de SEEPROG, es un buen programador de chips en serie, el fabricante todavía está actualizando el software.


El tercer participante, Ezoflash, una versión simplificada de Willem, también se utilizó activamente antes de la adquisición de MiniPro.


El cuarto miembro, TL-866, no necesita presentación.
Vamos a leer-borrar-escribir algunos chips, si los casos no son DIP, entonces usaremos un conjunto de adaptadores MiniPro. Para Ezoflash: sus propios adaptadores, los que logramos encontrar entre los escombros. Los lugares vacíos en la tabla significan que el programador correspondiente no puede trabajar con el chip probado.
También usaremos otra PC con un puerto LPT de hardware.
La configuración es bastante moderna, DualCore núcleo Intel i3-4170, 3700 MHz, 4 GB de RAM, tarjeta madre Gigabyte GA-H81M-S2PV, unidad SSD ADATA SP550, sistema operativo Windows 7 x32.
Pondremos los resultados de la investigación en una tabla, el tiempo de cada movimiento del cuerpo se indica en segundos.


Hay una ventaja en la velocidad de las operaciones básicas de los programadores de Usb.
No verifiqué el funcionamiento del programador en el modo de programación en circuito; debido a la falta de interés en estas capacidades, tampoco verifiqué la programación de microcontroladores, porque Estoy 146% seguro de las capacidades del dispositivo.
Resumiendo, quisiera destacar los principales
Ventajas de este programador:
hechura,
Una amplia gama de chips compatibles, la lista se actualiza constantemente.
Adaptadores pin-2-pin baratos para la gran mayoría de los microcircuitos (a excepción del chip SOP44 - DIP40, con un precio indecente de casi cincuenta años)
Precio asequible en comparación con dispositivos similares con una funcionalidad similar.
Defectos: aún no encontrado
Gracias a todos los que leyeron hasta este punto mi primer kreo en muse, pido disculpas de antemano por el posible lenguaje trabado, no usé Word, el ruso no es mi idioma nativo.
Sí, repito, el dispositivo fue comprado por su dinero ganado con tanto esfuerzo. planeo comprar +30 Agregar a los favoritos Me gustó la reseña +75 +124

Encontré una foto en mi archivo, que capturaba el proceso de creación de un programador JTAG, que necesitaba revivir sintonizador de satélite. Ahora un poco más sobre qué tipo de "bestia" es un JTAG:

JTAG(abreviatura de inglés. Grupo de acción de prueba conjunta; (pronunciado J-tág) es el nombre del grupo de trabajo que desarrolló el estándar IEEE 1149. Posteriormente, esta abreviatura se asoció fuertemente con la interfaz de hardware especializada desarrollada por este grupo basada en el estándar IEEE 1149.1. El nombre oficial de la norma. Puerto de acceso de prueba estándar y arquitectura de exploración de límites. La interfaz está diseñada para conectar complejos microcircuitos digitales o dispositivos de nivel de PCB a equipos estándar de prueba y depuración. Para aquellos que estén más interesados, el artículo completo está en Wikipedia.

Y ahora, de vuelta al trabajo, un sintonizador de satélite me llegó de amigos, el Globo más común y simple en el procesador Ali M3329B. Con tales síntomas, no se encendió en absoluto, al principio pequé con la fuente de alimentación, pero después de medir todos los voltajes con un multímetro, resultó que todo estaba bien con la fuente de alimentación. Después de estudiar algunos artículos diferentes sobre la reparación de estos receptores, llegué a la conclusión de que, a juzgar por los síntomas, el firmware se perdió por completo y puede restaurarlo actualizándolo a través de un programador JTAG. También estaba la idea de que se había quemado por completo y no se podía restaurar, pero aún así prefería creer que el firmware a través de JTAG ayudaría.

Para la fabricación, elegí este esquema:

La energía se suministra al circuito desde el receptor al que está conectado. El uso de una fuente de alimentación externa para el circuito no es necesario por dos razones. En primer lugar, el consumo de corriente es muy pequeño y no crea una carga adicional en la fuente de alimentación del receptor y, en segundo lugar, la alimentación de la misma fuente que el procesador con memoria flash mejora la coincidencia del nivel lógico.

El 74HC244 no es un búfer inversor. El microcircuito contiene dos buffers independientes de cuatro bits. Cada búfer tiene su propia señal de habilitación de salida (bajo activo). No hay disparadores Schmitt en las entradas. El microcircuito está hecho de acuerdo con la tecnología CMOS "rápida", que garantiza una alta velocidad. La potente salida de corriente permite mantener una alta velocidad incluso con una carga capacitiva. El rendimiento del 74HC244 es comparable al de los diodos Schottky, mientras que el 74HC244 conserva las ventajas de los chips CMOS, es decir, alta inmunidad al ruido y bajo consumo de energía. Las entradas del microcircuito están protegidas contra daños por electricidad estática mediante diodos.

Por desgracia, no encontré 74HC244 en mis existencias. Encontré solo un análogo de 74F244, que difería ligeramente en el voltaje de suministro Vcc. El 74HC244 tiene un rango recomendado de 2 a 6 V, mientras que el 74F244 tiene un rango recomendado de 4.5 a 5.5 V. Aunque los límites máximos son de -0.5 a +7 V, decidí no molestarme y comenzar a fabricar.

Tomando el diagrama original en la primera imagen y volviendo a dibujarlo en el programa DipTrace, resultó el siguiente diagrama:

Todo se enrutó automáticamente, no solo se enrutó una línea, sino que este problema se resolvió con dos puentes SMD. La imagen de arriba muestra la placa de circuito impreso lista para la fabricación.

En la placa también firmé todas las salidas, pero desafortunadamente firmé las señales de salida de forma incorrecta, como se puede ver en la fuente 1-GND, 2-TCK, 3-TMS, 4-TDO, 5-TDI y 6-RST , pero lo hice GND, TMS, TCK, TDI, TDO y RST, cometí un error exactamente cuando firmé los contactos, todo es correcto según el esquema, según la fuente original, es decir. 1- GND, 2- TCK, 3- TMS, 4- TDO, 5- TDI y 6- RST.

PCB con la designación de pin correcta:

En realidad, lo principal es getinaks, una lima, una pequeña sierra de mano, papel de lija. Un destornillador y un cortador para dividir los getinaks en 2 partes, ya que tenía un trozo de papel de aluminio en ambos lados y nuestro tablero es simple, de un solo lado.

Habiendo hecho todo el trabajo, girando los getinaks a las dimensiones del tablero (aproximadamente 55x50 mm), tomamos el agente de limpieza COMET (Komet) en polvo y una esponja para lavar platos. Limpiamos getinaks de restos de grasa y suciedad. Es mejor no limpiar el agua restante, sino dejar que se seque así.

Mientras se seca el getinax, vamos a la computadora e imprimimos nuestro esquema en una impresora láser y papel fotográfico en imagen de espejo, lo que indica la máxima calidad de impresión. Es importante no olvidar poner reflejo del espejo, de lo contrario, como resultado, ¡en el tablero obtendremos todo!

Y así, el getinax está listo, se imprime la placa de circuito impreso, ajustando cuidadosamente los bordes del getinax al patrón de la placa de circuito impreso en papel fotográfico, lo sujetamos con cinta adhesiva de papel al getinax, tomamos la plancha y configuramos a la temperatura máxima.

Naturalmente, el lado de lámina de los getinaks se ajusta al patrón de la placa de circuito impreso.

Cuando la plancha se ha calentado, presionando firmemente, comenzamos a planchar, calentando uniformemente los getinaks desde el lado del papel. Calentamos una placa de este tamaño durante no más de 30-60 segundos, de lo contrario, el tóner se extenderá. Recomiendo configurar un temporizador en su teléfono para que la hora esté cerca, ante sus ojos. Cuando todo esté listo, deja que la tabla se enfríe.

Arrancamos el papel fotográfico del tablero, frente a nosotros hay un tablero terminado, que queda por grabar en cloruro férrico FeCl₃, si no hay grandes fallas, antes de grabar, corregimos las huellas con un bisturí y un disco delgado marcador.

En el proceso de grabado con cloruro férrico, es necesario mezclar continuamente la solución, por ejemplo, agitando los platos. Si el tamaño del tablero no es muy grande, puede colocar el tablero en la superficie de la solución con el patrón hacia abajo; no es necesario agitarlo, pero es difícil seguir el final del proceso de grabado. El tiempo de grabado con cloruro férrico es de 5 a 50 minutos y depende de la temperatura, la concentración de la solución y su contaminación con cobre, el espesor de la lámina de cobre. Después del grabado, el tablero debe enjuagarse con agua corriente y secarse.

Como resultado, obtenemos esto placa de circuito impreso

También limpiamos el tóner con polvo Comet, se conserva bastante bien, y para no dañar las pistas de la placa, lo limpiamos lentamente.

Después de limpiar el tóner, vemos una hermosa y ordenada placa de circuito impreso.


Ahora comencemos a soldar los elementos:

2017-05-25 Última fecha de modificación: 2018-10-10

El artículo trata de: Características del uso de microcircuitos. NAND DESTELLO, métodos de diseño de página y mala gestión de bloques. Recomendaciones para programar sobre programadores.

CONTENIDO:

1. TEORÍA

1.1. La diferencia entre los chips NAND FLASH y los chips convencionales

Si no profundiza en las complejidades de la tecnología, entonces la diferencia entre los microcircuitos NAND de otros chips de memoria es el siguiente:

  • microcircuitos NAND tener muy gran volumen.
  • microcircuitos NAND puede tener bloques malos (malos).
  • Tamaño de página registros no es una potencia de 2 .
  • Escribir en un microchip llevado a cabo solo paginas , borrando - al menos en bloques .

Hay algunas otras diferencias, pero las dos primeras son las claves. Causa la mayoría de los problemas presencia de bloques defectuosos.

1.2. Organización de chips NAND FLASH

Más información sobre la organización y estructura de los microcircuitos NAND se puede leer en la literatura especializada, pero anotamos que:

  • microcircuitos NAND organizado en paginas (paginas), páginas en bloques (bloques), bloques en módulos lógicos (luna).
  • Tamaño de página NAND no es múltiplo de la potencia 2.
  • La página consta de básico y repuesto (repuesto) áreas.

Según lo previsto por los desarrolladores. NAND enárea principal debe ser encontrado los datos en sí, a en área libre (reserva) - marcadores de bloque defectuosos, sumas de controlárea principal, otros servicio de información.

si hablan de tamaño de página microprocesadores NAND 512 byte o 2K bytes, entonces estamos hablando de tamaño del área principal páginas, excluyendo repuesto.

1.3. Formas de utilizar un área de reserva de página

Recordemos una vez más que, según la intención de los desarrolladores de chips NAND en el área de repuesto debe situado: marcadores de bloque defectuosos, sumas de controlárea principal de datos, otro servicio de información.

La mayoría de los desarrolladores describen solo ubicación marcadores de bloque defectuosos en los microcircuitos suministrados. Para otros aspectos del uso del área de repuesto, se dan recomendaciones generales y un algoritmo para calcular el ECC, generalmente según Haming. Samsung va un paso más allá con las recomendaciones llamadas " Área de repuesto de la memoria flash NAND. Estándar de destino "("NAND Flash Spare Area. Assignment Standard", 27 de abril de 2005, División de memoria, Samsung Electronics Co., Ltd).

Por lo tanto, esta norma asume el siguiente uso del área de reserva:

Para microcircuitos con un tamaño de página de 2048+64 bytes t el área principal y de repuesto de la página se divide en 4 fragmentos (sectores) cada uno:

RegiónTamaño (byte)Fragmento
Principal512 Sector 1
512 Sector 2
512 Sector 3
512 Sector 4
Repuesto16 Sector 1
16 Sector 2
16 Sector 3
16 Sector 4

cada fragmento su área principal está alineada fragmento de área de repuesto.

Uso del área de repuesto (para cada una de las cuatro piezas)
para chips con un tamaño de página de 2048 + 64 bytes:
Parcialidad
(byte)
El tamaño
(byte)
ObjetivoDescripción
Marcador de bloque defectuoso
reservado
Número de sector lógico
Reservado para número de sector
reservado
Código ECC para el área principal de la página
Código ECC para número de sector lógico
reservado

Pero este no es el único "estándar" para la asignación de memoria de página, solo conocemos varias docenas de ellos, por ejemplo:

  • "Gestión NAND FLASH bajo WinCE 5.0 ", NXP;
  • "Gestión de bloques defectuosos para NAND Flash con NX2LP ", 15 de diciembre de 2006, Cypress Semiconductor;
  • "Gestión de bloques defectuosos OLPC NAND ", OLPC.

1.4. Imagen NAND e imagen binaria

Usted puede encontrar dos opciones imagen para grabar:

  1. Binario no está roto a las páginas y no hay área de repuesto.
    Esta opción es posible si es un desarrollador de dispositivos que utiliza NAND o recibió dicho archivo del desarrollador. Dicha imagen es adecuada para escribir en chips con páginas de cualquier tamaño y cualquier distribución del área libre, solo necesita saber con qué método se formará el área libre.
  2. Una imagen leída de otro chip (muestra) que contiene un área libre con marcas de bloque incorrectas, información de servicio y códigos de control.
    Tal imagen se puede escribir solamente en el microcircuito exactamente del mismo tamaño páginas y bloques.

Es más probable que los especialistas que se dedican a la reparación de varios equipos se encuentren con el segundo caso. En tal caso, a menudo es difícil determinar el método de asignación de área de reserva utilizado y el método de gestión de bloques defectuosos utilizado.

1.5. Marcado de fábrica de bloques defectuosos

Lo único más o menos estandarizado es marcado de fábrica de bloques defectuosos.

  • Los bloques defectuosos están marcados sobre el 0ª o 1ª página para chips con un tamaño de página inferior a 4K.
  • Para páginas 4K y más, la marca puede estar en última página bloquear.
  • Mí mismo marcador de bloque defectuoso se encuentra en el área de reserva de páginas en el byte 5 para páginas pequeñas (512 bytes) y en el byte 0 para páginas grandes (2K).
  • Marcador de bloque defectuoso puede importar 0x00 o 0xF0 para paginas pequeñas y 0x00 para más X.
  • buenos bloques siempre etiquetado 0xFF.
  • En cualquier caso, el valor que no sea 0xFF programador percibe como marcador de bloque defectuoso.
  • Por lo general, en los modernos NAND el bloque defectuoso está completamente lleno con el valor 0x00.

Hay un problema: el bloque defectuoso se puede borrar. De esta manera, puede perder información sobre bloques defectuosos del microcircuito.

Sin embargo, si el microcircuito ya funcionó en el dispositivo, no siempre se usa este método para marcar bloques defectuosos. A veces, incluso la información sobre bloques defectuosos no se almacena en la memoria NAND. Pero, en la mayoría de los casos, incluso si el desarrollador del software del dispositivo utiliza un esquema diferente de administración de bloques defectuosos, prefiere no borrar el marcado de fábrica.

1.6. Mala gestión de bloques

Desarrolladores NAND Los microcircuitos sugieren usar los siguientes esquemas de control de bloques defectuosos:

  • Pasar bloques malos
  • Uso repuestoáreas

Además, los métodos para administrar bloques defectuosos a veces incluyen el uso de error de corrección(ECC). Cabe señalar que el uso de la corrección de un solo error no elimina los errores múltiples y aún obliga a utilizar uno de los esquemas anteriores. Además, la mayoría NAND Los microcircuitos tienen una región a prueba de fallas garantizada en la que no aparecen bloques defectuosos. La región a prueba de fallas generalmente se encuentra al comienzo del chip.

Estos métodos de gestión de bloques defectuosos están bien descritos en la documentación técnica de los fabricantes. NAND ampliamente discutido en la literatura sobre el uso NAND. Sin embargo, recordemos brevemente su esencia:

Saltar bloques defectuosos:
Si el bloque actual es malo, se omite y la información se escribe en el siguiente bloque libre. Este esquema es universal, fácil de implementar, pero algo problemático para los casos en que aparecen bloques defectuosos durante la operación. Para el funcionamiento completo de este esquema, el número lógico del bloque debe almacenarse dentro del bloque (el estándar para asignar un área libre de Samsung, esto es en realidad lo que asume). Cuando se trabaja de acuerdo con este esquema, el controlador debe almacenar en algún lugar una tabla de correspondencia entre los números de bloque lógico y sus números físicos, de lo contrario, el acceso a la memoria se ralentizará considerablemente.

Por lo tanto, el desarrollo lógico es el esquema uso de área libre:
De acuerdo con este método, toda la cantidad de memoria se divide en dos partes: la principal y la de respaldo. Cuando aparece un bloque defectuoso en la memoria principal, se reemplaza por un bloque de la memoria de repuesto y se realiza la entrada correspondiente en la tabla de reasignación de bloques. La tabla de reasignación se almacena en un bloque a prueba de fallas garantizado o en múltiples instancias. El formato de la tabla es diferente, se almacena en diferentes lugares. Nuevamente, Samsung describe un estándar para el formato y el diseño de la mesa, pero pocas personas lo siguen.

2. PRÁCTICA

2.1. Escaneo de bloques NAND defectuosos

programador chipestrella le permite escanear rápidamente el chip NAND por la presencia de bloques defectuosos de acuerdo con el marcado de fábrica de bloques defectuosos.

Seleccione el elemento del menú " Chip|Busca bloques defectuosos ", se comprobará el chip en busca de bloques defectuosos. El resultado se muestra en una tabla.

Esta acción solo es necesaria si solo desea ver la lista de bloques defectuosos. En todos los demás casos, la búsqueda de bloques defectuosos se realiza automáticamente cuando es necesario.

2.2. Bloques defectuosos en la imagen NAND

Al leer la imagen del chip NAND, el programador también guarda información sobre el tamaño de la página y el bloque del chip. La información se guarda en un archivo separado. Entonces, si leyó y guardó la imagen del microcircuito en un archivo <имя_файла>.nbin el programa creará otro archivo: <имя_файла>.cfs . Al abrir un archivo <имя_файла>.nbin expediente <имя_файла>.cfs también se contará. En archivo <имя_файла>.cfs se registra información sobre el tamaño de la página y el bloque de chip. Después de leer el chip o abrir un archivo como .nbin , se realiza un análisis de fondo de la imagen en busca de bloques defectuosos en función de la información de la página y el tamaño del bloque.

Opciones NAND y la información sobre bloques defectuosos se puede ver en la pestaña " NAND"Editor del programador:

imagen binaria NAND se puede ver bajo el memoria principal ":

En modo editor NAND el área libre de la página está resaltada color más apagado, los botones para moverse a través de páginas, bloques y saltar rápidamente al comienzo del área libre también están disponibles página actual. En la línea de estado del editor, además de la dirección del cursor, también muestra número de página y Número de bloque donde se encuentra el cursor. Todo esto le permite ver más convenientemente el contenido del chip.

2.3 Borrar NAND

programador por defecto no borra bloques malos, pero si desactivas la opción " Comprobación y omisión de bloques defectuosos " Es posible que se borren los bloques defectuosos y que se pierda el marcado de los bloques defectuosos. Desactive esta opción solo si es necesario.

Solo se saltan los bloques defectuosos marcados de acuerdo con las marcas de fábrica. Si el dispositivo usa otras marcas de bloque incorrectas, se borrarán porque el software del programador no las verá. Para trabajar con marcas no estándar de bloques defectuosos, el programador puede usar complementos externos.

2.4. Probando el microcircuito por la ausencia de un registro.

De forma predeterminada, el programador ignora todos los bloques defectuosos al verificar, pero si deshabilita el " Escaneo y omisión de bloques defectuosos Se comprobarán los bloques defectuosos, lo que naturalmente conducirá a errores de prueba.

2.5. Escribir la imagen terminada en el chip

Grabación de imágenes NAND en un microcircuito es algo diferente de lo habitual DESTELLO microchips En primer lugar, deben coincidir tamaños de página Imagen y chip de destino. Si se utiliza una mala gestión de bloques, debe coincidir tamaños de bloque imágenes y microchips.

Software para todos los programadores chipestrella apoya tres métodos para gestionar bloques defectuosos herramientas integradas y un número ilimitado de complementos. Además, puede establecer la cantidad de bloques grabables al comienzo del chip, que en realidad es cuatro forma de gestionar los bloques defectuosos.

Método 1: ignorar bloques defectuosos

Copia simple, ignorando los bloques defectuosos (los bloques defectuosos se escriben de la misma manera que los normales).

imagen original Chip
(el estado inicial)
Chip
(resultado)
Bloque 0
bueno
Bloquear
limpio
Bloque 0
bueno
Bloque 1
malo
Bloquear
limpio
Bloque 1
falso
Bloque 2
bueno
Bloquear
limpio
Bloque 2
bueno
Bloque 3
bueno
Bloquear
malo
Bloque 3
defectuoso
Bloque 4
bueno
Bloquear
limpio
Bloque 4
bueno
Límite de grabación
Bloque 5
bueno
Bloquear
limpio
Bloquear
limpio

Mas adecuado para copiar chips NAND, sin profundizar en su estructura interna, siempre que el chip a escribir no contiene bloques defectuosos . Si en la imagen original había bloques defectuosos , eventualmente formando falsos bloques malos . La aparición de falsos bloques defectuosos no afectará el funcionamiento del dispositivo. Sin embargo, si el chip ya contiene bloques defectuosos, aparecerán bloques defectuosos al intentar escribir en dicho chip, con consecuencias impredecibles. Consejo: puede intentar borrar el chip por completo, incluidos los bloques defectuosos, y luego copiarlo. Si la escritura en un bloque defectuoso tiene éxito (esto sucede a menudo), su dispositivo funcionará correctamente; en el futuro, el software del dispositivo identificará el bloque defectuoso y lo reemplazará por uno bueno de acuerdo con su algoritmo de operación.

Método 2: omitir bloques defectuosos

imagen original Chip
(el estado inicial)
Chip
(resultado)
Bloque 0
bueno
Bloquear
limpio
Bloque 0
bueno
Bloque 1
malo
Bloquear
limpio
Bloquear
limpio
Bloque 2
bueno
Bloquear
limpio
Bloque 2
bueno
Bloque 3
bueno
Bloquear
malo
Bloquear
malo
Bloque 4
bueno
Bloquear
limpio
Bloque 4
bueno
Límite de grabación
Bloque 5
bueno
Bloquear
limpio
Bloquear
limpio

Pasando por alto los bloques defectuosos no se escriben bloques defectuosos desde la imagen de origen y la información no se escribe en bloques defectuosos del microcircuito. Esta no es la mejor política de copia, pero es segura contra bloques de chips defectuosos: no se pierde informacion sobre bloques de chips defectuosos y no aparecen falsos bloques defectuosos. En algunos casos, dicha política de copia puede ayudar a restaurar la funcionalidad de un dispositivo desconocido.

Método 3: Omitir bloques defectuosos

imagen original Chip
(el estado inicial)
Chip
(resultado)
Bloque 0
bueno
Bloquear
limpio
Bloque 0
bueno
Bloque 1
malo

Bloquear
limpio
Bloque 2
bueno
Bloque 2
bueno
Bloquear
limpio
Bloque 3
bueno
Bloque 3
bueno
Bloquear
malo
Bloquear
malo
Bloque 4
bueno
Bloquear
limpio
Bloque 4
bueno
Límite de grabación
Bloque 5
bueno
Bloquear
limpio
Bloquear
limpio

Grabar saltando bloques defectuosos asume que el dispositivo usa un algoritmo de gestión de bloques tan malo, y no algún otro. En estas condiciones, se garantiza la copia correcta de la información.

Método 4: escriba solo en el área segura garantizada

imagen original Chip
(el estado inicial)
Chip
(resultado)
Bloque 0
bueno
Bloquear
limpio
Bloque 0
bueno
Bloque 2
bueno
Bloquear
limpio
Bloque 1
bueno
Límite de grabación
Bloquear
malo
Bloquear
limpio
Bloquear
limpio
Bloque 3
bueno
Bloquear
malo
Bloquear
malo
Bloque 4
bueno
Bloquear
limpio
Bloquear
limpio
Bloque 5
bueno

Bloquear
limpio

Bloquear
limpio

En la mayoría de los modernos NAND microcircuitos, se garantiza que los primeros bloques (al menos uno) no tendrán fallas. En muchos dispositivos, el código del gestor de arranque se encuentra al principio del chip y sistema operativo dispositivos. A menudo es suficiente copiar solo estas áreas.

Especifique el tamaño grabado en bloques en el cuadro de diálogo de configuración de modos de grabación.

Otras formas de administrar bloques defectuosos

Software Programadores ChipStar admite cualquier algoritmo de gestión de bloques defectuosos NAND utilizando complementos externos. Si los complementos están instalados, las descripciones de los métodos adicionales aparecen en el " Gestión de bloques NAND defectuosos ". Puede configurar los parámetros del método seleccionado haciendo clic en el botón " Complemento externo ".

Uso de códigos de corrección de errores (ECC)

El uso de códigos de corrección de errores permite recuperar errores individuales en la página NAND.

Se pueden utilizar varios algoritmos para recuperar errores individuales en un sector. Dependiendo del algoritmo ECC, se puede recuperar un número diferente de errores por sector (512+16 bytes). bajo el término " único "comprendido error en un solo bit datos. Para NAND con un tamaño de página de 512 + 16 bytes, el concepto de " sector" y " página" juego. Para NAND con tamaños de página grandes, el programador ChipStar utiliza un esquema de paginación de sector como se describe. En la configuración de grabación o verificación, puede especificar cuántos errores por sector puede corregir el algoritmo utilizado en su dispositivo. En consecuencia, no se rechazarán los microcircuitos con un número aceptable de errores, la información sobre el número de errores corregibles se muestra en la ventana de estadísticas:

La información sobre el número de errores permitidos por sector para cada chip específico se puede encontrar en documentación al microchip. Todos los chips NAND recién agregados se ingresan en la base de datos del programador, teniendo en cuenta la cantidad de errores permitidos.

Por autoagregación microchips:

  • si apoyado por ONFI, entonces el número permitido de errores por sector leer de la tabla de parámetros del chip y instalado al valor correcto.
  • si el chip no es compatible con ONFI, usuario debe establecer el valor usted mismo usando la documentación para el chip.

Para fichas nuevas NAND producción Samsung el valor del número permitido de errores por sector se codifica como parte del identificador del chip. Por lo tanto, para dichos chips, el número de errores permitido por sector también se establecerá correctamente.

Al leer el contenido del microcircuito con el fin de su posterior almacenamiento o copia, los errores individuales no se pueden identificar de forma fiable. La imagen resultante se puede analizar por separado para detectar errores mediante el cálculo de los códigos de verificación ECC mediante una aplicación externa, siempre que exactamente el algoritmo utilizado y el marcado de la página son conocidos .

El software del programador ChipStar ofrece un método estadístico indirecto para identificar y eliminar errores individuales. El método sólo revela inestable errores con no garantizado credibilidad. Para realizar la lectura con detección de errores, debe seleccionar el " Lectura selectiva" y en la pestaña "NAND" marque la casilla " Habilitar el modo de corrección de errores"

Puede establecer el número de reintentos de lectura para comparar y el número total de reintentos de lectura en caso de error. Hay que tener en cuenta que el uso este método la criatura ralentiza el proceso de lectura.

El algoritmo de detección de errores estadísticos funciona de la siguiente manera:

  1. La página NAND se lee varias veces seguidas (al menos tres).
  2. Los datos leídos se comparan byte a byte.
  3. Si no se encuentran errores de comparación, se asume que la página está libre de errores.
  4. Si se encuentran errores durante la comparación, la página se lee unas cuantas veces más.
  5. Para cada error, el número de lecturas unidades y ceros.
  6. Se considera el valor correcto ("0" o "1"), que resultó ser más.

El algoritmo funciona bien si la probabilidad de error en un bit particular del microcircuito es inferior a 0,5. Al leer un microcircuito, se cuentan los errores "corregidos" y la probabilidad de lectura correcta.

2.6. Convertir imagen binaria a imagen NAND

Todo lo descrito anteriormente se trataba más de copiar NAND y registros de acuerdo con el patrón de chip, sin embargo, a menudo es necesario escribir la imagen binaria original del programa en un chip limpio. Antes de escribir, debe convertir la imagen binaria en una imagen NAND agregando a cada página área de repuesto y complétalo correctamente. Para hacer esto, abra su binario, seleccione el elemento de menú " ". Aparecerá un cuadro de diálogo:

Establezca el modo de conversión al formato NAND: " imagen binaria... ", especifique la página y el tamaño del bloque NAND, o seleccione el chip requerido. Seleccione el formato del área de repuesto. El programador admite el llenado simple del área con valores FF con herramientas integradas y otros métodos mediante complementos. Con el programador se suministra un complemento que implementa las asignaciones de áreas libres recomendadas por Samsung.

Si necesita implementar alguna otra opción de distribución - háganoslo saber y prepararemos el complemento apropiado, o puede implementar el complemento requerido usted mismo.

2.7. Compatibilidad con imágenes NAND leídas por otros programadores

si usted tiene imagen NAND, leído por otro programador u obtenido de otra fuente, debe ser convertir en un formato de escritura programador chipstar.

Para hacer esto, siga estos pasos:

  • Abra su archivo, seleccione el elemento del menú " Editar|Alternar modo editor NAND ". Aparecerá un cuadro de diálogo como se muestra arriba.
  • Establecer el modo de conversión a formato NAND: "La imagen ya es NAND... ", indicar tamaño de página y bloquear NAND o seleccione el chip requerido. Haga clic en " Proceder".
  • Aparecerá una pestaña en el editor. NAND " y la imagen comenzará a escanear en busca de bloques defectuosos.
  • El archivo resultante se puede guardar como NAND, el archivo obtendrá la extensión .nbin defecto.

2019-12-30 Fecha última actualización programas: 2019-12-30

Jano de dos caras

Decidimos llamar a este programador " Jano".

¿Porqué es eso? Porque en la mitología romana, Jano es dos caras dios de las puertas, entradas y salidas, así como de principio y fin. ¿Cuál es la conexión? Por qué nuestro programador ChipStar-Janus dos caras?

Y he aquí por qué:

  • Por un lado, este programador es simple. Difundir como proyecto gratis, puede fácil de hacer tú mismo.
  • Desde el otro lado, es desarrollado por la empresa, durante mucho tiempo. comprometido profesionalmente desarrollo y producción de diversos equipos radioelectrónicos, incluidos programadores.
  • Por un lado, este programador es simple, a primera vista no tiene características muy impresionantes.
  • Desde el otro lado, trabaja en conjunto con programa profesional (por cierto, exactamente igual que otros programadores profesionales de ChipStar).
  • Por un lado, ofrecemos este programador gratis libre Ensambles.
  • Por un lado, también lo vendemos en forma terminada, como un producto de presupuesto regular.
  • Por un lado, el programador casero no lo cubre la garantía (que es natural).
  • Por un lado, si pudiste armarlo, entonces puedes repararlo, y el programador es tan simple que, de hecho, no hay nada que romper.
  • Por un lado, es simple en circuito programador.
  • Por un lado, a través de simples adaptadores de expansión, admite programación NAND DESTELLO y otros microcircuitos ya están "en el zócalo".

Entonces el programador ChipStar Janus para muchos especialistas, puede ser una verdadera salida en una situación en la que ya no son suficientes diferentes programadores simples o aficionados, y un programador más complejo parece redundante o no hay suficiente presupuesto asignado para ello.

Lo que nos impulsó a desarrollar este programador.

Hay una gran cantidad de programadores especializados simples adecuados para fabricación propia.

Hay muchos baratos programadores chinos ya preparado.

Hay unos cuantos desarrollo de aficionados, a menudo superior en calidad a este último.

Parecería, ¿cuál es el punto de otra nave?

Durante mucho tiempo hemos estado desarrollando, fabricando y dando soporte a programadores universales, principalmente con fines. Tenemos una gran experiencia trabajando con una variedad de microcircuitos. A menudo se nos acercan personas que ya han ensamblado y, a menudo, han comprado uno de los "productos" mencionados anteriormente. A menudo, a nuestros especialistas les resulta imposible analizar las soluciones de circuitos, la calidad de construcción y, especialmente, el software de estos dispositivos sin reír, llorar o horrorizarse (subraye según sea necesario). Bueno, cuando el programador cuesta "tres kopeks", lo compré, algo funciona, algo no funciona, pero el dinero no es grande. Pero a menudo la relación precio/capacidad de estos dispositivos nos sorprende, por decirlo suavemente. Quiero exclamar: ¡no vale tanto!

Además de todo lo anterior, existe una categoría especial de programadores adecuados para la producción propia: estos son programadores (más precisamente, circuitos de programación y software) desarrollados por especialistas de empresas que producen microcircuitos (principalmente microcontroladores). Dichos programadores están diseñados de manera bastante profesional, no hay "errores" en sus circuitos. Admiten todos los chips declarados. Pero hay dos "pequeños" inconvenientes: la lista de microcircuitos programables es muy limitada (lo cual es bastante comprensible) y el software es muy espartano, sin características adicionales, por regla general, solo borrar, anote, verificar. A menudo incluso funciona lectura sin microchip

Entonces el programador ChipStar Janus en la configuración inicial, es un programador en circuito. En este modo, admite microcontroladores. FOTO y AVR empresas Pastilla, algunas arquitecturas de microcontroladores MCS51, microcontroladores STMicroelectrónica y un número de otros, así como chips de memoria en serie con una interfaz I2C(principalmente episodio 24). Puede conectar los adaptadores más simples al conector de expansión del programador y comenzar a programar chips de memoria "en el zócalo".

La programación "en el socket" ahora está implementada:

  1. EPROM) con interfaz I2C(serie 24xx);
  2. chips de memoria flash serie (Serial DESTELLO) con interfaz SPI (Flash SPI);
  3. chips de memoria en serie (Serial EPROM) con interfaz megavatios (serie 93xx);
  4. microchips FLASH NAND;

El programador y el software admiten la tecnología de microcircuitos autoagregables en tres clics. Hasta ahora, se ha implementado la adición de microcircuitos. NAND y I2C. En un futuro muy cercano, se planea implementar esta tecnología para chips MW ( serie 93xx) y AVR. Por lo tanto, obtiene no solo un programador, sino poderosa herramienta para el trabajo independiente.

Tres formas de obtener un programador ChipStar-Janus

1ra manera:
Monta el programador tú mismo completamente

El método es adecuado para aquellos que tienen el tiempo, la experiencia y el deseo, pero recursos financieros limitados. O simplemente curioso.

Algoritmo de acción:

2da manera:
Ensamble el programador usted mismo comprando una placa de circuito impreso lista para usar y un microcontrolador flasheado

El método es similar al anterior, solo que se salvará de las operaciones más difíciles: la fabricación de placas de circuito impreso y firmware de microcontroladores sin programador.

Algoritmo de acción:

  1. Lea las condiciones de uso del programador autoensamblado.
  2. Lea las instrucciones para ensamblar el programador.
  3. Descargue la documentación completa para el programador.
  4. Compre un kit de ensamblaje (placa de circuito impreso y microcontrolador listos para usar con firmware ya escrito).
  5. Adquiera el equipo necesario para ensamblar el programador de acuerdo con