UNIVERSIDAD SIMÓN BOLÍVAR            DECANATO DE ESTUDIOS PROFESIONALES    COORDINACIÓN DE INGENIERÍA Y ...
                  UNIVERSIDAD SIMÓN BOLÍVAR            DECANATO DE ESTUDIOS PROFESIONALES    COORDINACIÓN DE INGENIERÍA Y ...
                            UNIVERSIDAD SIMÓN BOLÍVAR                 DECANATO DE ESTUDIOS PROFESIONALES         COORDINAC...
DEDICATORIA  Quisiera que las palabras más importantes de mi vida no se las lleve el viento y se pierdan en el tiempo.Me g...
AGRADECIMIENTOS Y RECONOCIMIENTOS  Mis agradecimientos van dirigidos en primera línea a las personas más importantes en mi...
ÍNDICE GENERALRESUMEN                    ....................................................................................
1.8.1.   MAIN (Programa Principal) ..........................................................................................
4.5.        Resultados del Análisis para el Logro de la Migración del Módulo FLIB hacia la            Tecnología MirrorBit...
APÉNDICE F:   Medición del tiempo requerido para escribir 128 Kbytes de datos (equivalente              a un sector) ........
ÍNDICE DE TABLASTabla 3.1. Rendimiento de las operaciones de borrado y de escritura de la memoria Flash           S29GL512...
ÍNDICE DE FIGURASFigura i.1.        Logotipo del consorcio Continental AG ...................................................
Figura 3.7. Diagrama temporal de la ejecución de una suspensión y reanudación de una            operación de borrado ........
LISTA DE ABREVIATURASAMD                                   Advanced Micro Devices Inc.; empresa americanaASP              ...
Reduced Instruction Set Computer; esp.RISC                               Computador de conjunto de instrucciones reducidas...
1                                        INTRODUCCIÓN La aparición de la humanidad, hace aproximadamente 160.000 años, ha ...
2multinacional Continental AG y hoy en día es ésta quien produce, entre otros instrumentos, estospaneles. Desde los años 7...
3                 Figura i.1. Logotipo del consorcio Continental AG (Continental AG 2006, p. 1) La empresa Continental AG ...
4       4. Ocupación de posición de liderazgo por parte de las diversas áreas de negocio en sus          mercados relevant...
5ambiental y la eficiencia económica. En el año 2009 el grupo obtuvo una facturación de 12.042,4millones de euros con 78.0...
6Interior La división Espacio Interno (Interior) se ocupa de la gestión de la información para unintercambio fluido de la ...
7distintas informaciones. Especialmente es importante para la división la optimización de lagestión de la interfaz hombre-...
8     - En Rumania: Sibiu y Timişoara.     - En la Federación Rusa: Chístopol.En América se encuentra la división espacio ...
9 Espacio Interno está dividida en las siguientes cuatro unidades de negocio (Business Units):       - Business Unit Body ...
10 La visión de la unidad de negocios ID es la de la división Espacio Interno; “Always On”. Sumisión está reflejada en la ...
11 Investigación y Desarrollo está dividida en los siguientes ocho departamentos:       - Application Development (Desarro...
12 Gerencia de proyecto y Diagnóstico tiene como misión:      - definir, supervisar y conducir los proyectos así como sus ...
13dispositivo de control. Principalmente se utilizan estos sistemas para la actualización del softwarede una memoria exter...
14 La función FLIB_vInit se encarga de la inicialización del módulo FLIB, es decir, delestablecimiento de variables y esta...
15memoria Flash (vea sec. 1.5 y 1.6). Como ejemplo de estas operaciones se encuentra la escrituramediante búfer (FLIB_u8St...
16Objetivo general Evaluar, optimizar y ampliar el controlador de bajo nivel para memorias Flash NOR paralelas(módulo FLIB...
17 Este trabajo está dividido principalmente en cuatro bloques:       - Fundamentos teóricos necesarios para entender las ...
CAPITULO I                                      MARCO TEÓRICO  En este capítulo se explican los conceptos y definiciones u...
19motor, sistema de antibloqueo y programa de estabilidad electrónico. La figura 1.1 muestra elaspecto de un panel de inst...
20          - sistema de información al conductor          - sistema de infotainment (información y entretenimiento) en el...
21aplicación automotriz, por ejemplo CAN, MediaLB, etc., y un controlador de bus externo (paramemorias Flash NOR, vea sec....
22  Las memorias Flash secuenciales permiten una transmisión secuencial de datos, es decir, unbit después de otro en lugar...
23escritura. Durante la escritura sólo se permite un cambio de bits del “uno” lógico al “cero”lógico. El procedimiento de ...
24  Esta arquitectura requiere de un acceso relativamente largo para la primera lectura delarreglo de la memoria. Posee al...
25ofrecida en un paquete TSOP (Thin Small-Outline Package; esp. Paquete Fino de ContornoPequeño) de 56 pines y posee pines...
261.6.    Memoria Flash Numonyx  El M29W128GH/GL es una memoria Flash de 128 Mbits (8 Mbits en modo word o 16 Mbitsen modo...
27TSOP de 56 pines y también soporta tanto las funcionalidades “Erase suspend/Erase resume”y “Program suspend/Program resu...
28 Para lograr estos objetivos se utiliza lo siguiente:       - plantillas de documentos y aplicaciones UML (Unified Model...
29       - prueba de sistema de software       - validación de producto Este proceso debe ejecutarse paralelo al desarroll...
30       - luego de la ejecución de las pruebas deben registrarse los resultados y, si es posible, el        tiempo de pre...
31FCS contiene un lazo sencillo de módulos de software. Los módulos de este sistemaFlashloader son:         - controlador ...
32                                  Figura 1.9. Sistema de Flashloader1.8.3.    FIOL (Librería de Entrada y Salida del Car...
33         - controlador Flash SELFLIB (trabaja con NVM internas)         - controlador Flash FSEF (trabaja con memorias N...
CAPITULO II                                     MARCO METODOLÓGICO En este capítulo se explican detalladamente tanto los c...
35 En la figura 2.1 se presenta la interacción y conexión física (eléctrica) entre los instrumentosantes señalados. Allí t...
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG
Upcoming SlideShare
Loading in...5
×

Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG

852
-1

Published on

Published in: Automotive
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
852
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Izquiams Martinez Evaluacion Optimizacion y Ampliacion Modulo FLIB de Continental AG

  1. 1.   UNIVERSIDAD SIMÓN BOLÍVAR DECANATO DE ESTUDIOS PROFESIONALES COORDINACIÓN DE INGENIERÍA Y TECNOLOGÍA ELECTRÓNICAEVALUACIÓN, OPTIMIZACIÓN Y AMPLIACIÓN DEL CONTROLADOR DE BAJO NIVEL PARA MEMORIAS FLASH NOR PARALELAS (MÓDULO FLIB) DE LA EMPRESA CONTINENTAL AG EN BABENHAUSEN – ALEMANIA Por: Izquiams Javier Martínez Fajardo INFORME DE PASANTÍA Presentado ante la Ilustre Universidad Simón Bolívar como requisito parcial para optar al título de Ingeniero Electrónico Sartenejas, abril de 2011
  2. 2.   UNIVERSIDAD SIMÓN BOLÍVAR DECANATO DE ESTUDIOS PROFESIONALES COORDINACIÓN DE INGENIERÍA Y TECNOLOGÍA ELECTRÓNICAEVALUACIÓN, OPTIMIZACIÓN Y AMPLIACIÓN DEL CONTROLADOR DE BAJO NIVEL PARA MEMORIAS FLASH NOR PARALELAS (MÓDULO FLIB) DE LA EMPRESA CONTINENTAL AG EN BABENHAUSEN – ALEMANIA Por: Izquiams Javier Martínez Fajardo Realizado con la asesoría de: Tutor Industrial: Ing. Holger Beilstein Tutor Académico: Prof. Juan Carlos Grieco INFORME DE PASANTÍA Presentado ante la Ilustre Universidad Simón Bolívar como requisito parcial para optar al título de Ingeniero Electrónico Sartenejas, abril de 2011
  3. 3.   UNIVERSIDAD SIMÓN BOLÍVAR DECANATO DE ESTUDIOS PROFESIONALES COORDINACIÓN DE INGENIERÍA Y TECNOLOGÍA ELECTRÓNICA Evaluación, Optimización y Ampliación del Controlador de Bajo Nivel para Memorias Flash NOR Paralelas (Módulo FLIB) de la Empresa Continental AG en Babenhausen – Alemania INFORME DE PASANTÍA presentado por: Izquiams Javier Martínez Fajardo, 05-38479 Tutor Industrial: Ing. Holger Beilstein Tutor Académico: Prof. Juan Carlos Grieco RESUMEN En este trabajo se aborda la evaluación, optimización, ampliación y análisis de migración delcontrolador de bajo nivel para memorias Flash NOR paralelas llamado módulo FLIB (del inglésFlash Driver Library) que ofrece las funcionalidades para escribir y borrar datos en una memoriaFlash NOR paralela externa. Para la evaluación, optimización y ampliación del módulo FLIB seemplean dos paneles de instrumentos. Uno de ellos, tiene incorporado, entre otros dispositivoselectrónicos, un microcontrolador Toshiba TX4964FG-120 y una memoria Flash SpansionS29GL512-N. El otro posee un microcontrolador Fujitsu MB86R02 y una memoria FlashM29W128GH/GL. Se logra la optimización y ampliación del módulo FLIB mediante lamodificación del código del mismo e inclusión de 12 nuevas funciones, bajo las líneas directivasSMK (del inglés Software Method Kit) de la empresa Continental AG. Estas nuevas funcionesutilizan la mayoría de las capacidades que ofrecen las memorias antes mencionadas y aumentanla velocidad de borrado y escritura de datos en ellas. Se lleva a cabo un análisis de la tecnologíade la memoria Flash de Spansion actualmente utilizada; MirrorBit® y de la tecnología futuraMirrorBit Eclipse™. Finalmente, se dan recomendaciones acerca de los cambios que deben serrealizados para que el módulo FLIB opere con memorias Flash Eclipse™.Palabras Clave: Memoria Flash NOR Paralela, Controlador de bajo nivel, MirrorBit, MirrorBitEclipse. Sartenejas, abril de 2011 iv
  4. 4. DEDICATORIA Quisiera que las palabras más importantes de mi vida no se las lleve el viento y se pierdan en el tiempo.Me gustaría que permanezcan grabadas en estas líneas; que queden para la posteridad. Mis años deesfuerzo y sacrificio se los dedico a personas verdaderamente especiales. Personas que han marcado mivida de buena manera y me han dejado sabiduría. Cada cualidad y esencia de cada una de estas personases única, irrepetible e insustituible. Por ello, no hay necesidad de sentir celos por las cualidades de losdemás, más bien se debe sentir gozo por tener esas cualidades propias. Mi dedicatoria va en ordencronológico y no en orden de importancia, ya que todas estas personas especiales son importantes para míde igual manera. En fin, le dedico este trabajo a: mi madre, a quien le debo realmente mi vida. Su valor manifestado durante el crecimiento y formaciónde la semilla que dejó mi padre, dio vida a lo que soy hoy en día. ¡Más que una dedicatoria es unagradecimiento; es darte las gracias durante toda mi existencia! A mi abuela; mi segunda madre, quien con todas sus fuerzas, preocupaciones y ocupaciones procuraaliviar, hasta donde sus capacidades alcanza, mis necesidades y si no puede, sus fieles oraciones entran enacción. A mi tía Nancy, a quien considero como una madre. Sus palabras están grabadas en mi mente. Esperoque recuerdes frases como: “eres la luz del mundo” o “eres un diamante en bruto”. Mi niñez no pudo seraún más divertida; a tu lado todos los juegos eran interesantes, incluso monopolio. A mi tío Ivan, a quien considero como un padre. Sus palabras y crianza formaron en mí disciplina,fuerza mental y valor. No olvido las palabras del dramaturgo y poeta alemán Bertolt Brecht, las cuales seencontraban plasmadas en un recorte que me diste. Esa palabras eran: “hay hombres que luchan un día yson buenos. Hay otros que luchan un año y son mejores. Hay quienes luchan muchos años y son muybuenos. Pero hay los que luchan toda la vida: esos son los imprescindibles”. A mi tío Edgar, a quien también considero como un padre. Mi niñez no pudo estar aún más llena defantasía; sus regalos me abrieron puertas para pensar creativamente. No olvido sus palabras tales como:“haz las cosas con hambre; con pasión”. Su cariño hacia mí no puede ser demostrado mejor. Tampocoolvido las tardes de práctica de beisbol; esto además de haberme servido como distracción, formó en mídisciplina. A mi tía Neudis, a quien considero como madre a pesar que es también dos veces mi madrina. Suspalabras son fuentes de consejos sabios antes mis problemas. No olvido la frase “sin salud no hay nada”,la cual despertó en mí el cuidado de mi salud en todos los aspectos de mi vida. Contigo he aprendidotambién tanto el significado de los derechos y su puesta en práctica como el tener verdadera autoestima. A mi tío Juan, a quien considero también como un padre. Eres para mí el modelo para tomar el rol decabeza de familia, de fortaleza, de disciplina, de respeto, de cómo un buen padre debe comportarse. Lasnavidades y los cumpleaños siempre están llenas de sorpresas. No olvido la frase “no hay que cruzar el ríoantes de llegar a la orilla”, la cual es para mí fuente de paciencia. A mi primo Joan, a quien considero como un hermano. Durante mi niñez no puede estar mejoracompañado. No olvido las peleas simuladas estilo “Dragonball”. Tengo la certeza que será un excelenteeconomista. Y a mi pequeña hermana Franjalis, que aunque aún no tengas la pasión por los estudios sé que en algúnmomento la tendrás. v
  5. 5. AGRADECIMIENTOS Y RECONOCIMIENTOS Mis agradecimientos van dirigidos en primera línea a las personas más importantes en mi vida:a mi familia. Sin su apoyo no hubiese sido posible el logro de esta y otras muchas metas. ¡Austedes mis infinitas y calurosas gracias! También le doy las gracias a mis amigos alemanes que leyeron los esbozos de los capítulos deeste trabajo en su versión alemana; estas gracias van dirigidas especialmente a Katrin Lübbert. Deigual modo, le doy las gracias al Prof., Juan Carlos Grieco por las correcciones de estiloproporcionadas para la mejora de la comprensión de este trabajo. Quisiera agradecer a la Universidad Simón Bolívar, entre otros, por la oportunidad dada paraparticipar en el programa de intercambio académico internacional de estudiantes de pregrado dela U.S.B. Además, agradezco a la Universidad de Siegen por su amena acogida y trato agradable;han hecho que mi cariño por Alemania haya crecido aún más. Me gustaría dar un agradecimiento especial a Holger Beilstein, su compromiso y asesoríafueron factores claves para alcanzar con éxito los objetivos de este proyecto. De igual modo,quiero dar las gracias a Oliver Schmidt, su profundo conocimiento de los sistemas (software yhardware) desarrollados e implementados por el grupo Flash fueron de gran ayuda paracomprender el funcionamiento de los mismos. De igual forma, mis agradecimientos hacia DirkSauerbier y hacia Bernd Muntermann, quienes me ofrecieron un valioso apoyo durante laejecución de la pasantía. También dirijo mis agradecimientos a Andreína Landaez, Vanessa Weisshaar y a RobertoArmas. Fue un honor haber compartido con ustedes los mejores momentos del año deintercambio en Alemania. Igualmente le doy las gracias a Aaron Thoma y a Katrin Reul; ustedesme ofrecieron una gran amistad y un valioso apoyo en mi aprendizaje del idioma alemán. Deforma similar le doy las gracias a todos los amigos que conocí en Alemania (si listase susnombres, estas líneas serían muy largas); sin ustedes no hubiese sido tan cálido el año deintercambio. Finalmente, le doy las gracias a todos mis amigos que he conocido en la Universidad SimónBolívar; especialmente a Richard Gil y a Daniela Gil. Los mejores momentos durante misestudios de pregrado los he compartido con ustedes. vi
  6. 6. ÍNDICE GENERALRESUMEN .......................................................................................................................... ivDEDICATORIA ........................................................................................................................... vAGRADECIMIENTOS Y RECONOCIMIENTOS ....................................................................... viÍNDICE GENERAL ...................................................................................................................... viiÍNDICE DE TABLAS .................................................................................................................... xiÍNDICE DE FIGURAS ................................................................................................................. xiiLISTA DE ABREVIATURAS ..................................................................................................... xivINTRODUCCIÓN ........................................................................................................................... 1Continental AG. Descripción de la empresa ................................................................................... 2Interior ........................................................................................................................... 6Unidad de Negocio Instrumentación y Controlador de Interfaz Hombre-Máquina (ID) ................ 9Grupo Flash ......................................................................................................................... 12Antecedentes ......................................................................................................................... 13Motivación ......................................................................................................................... 15Objetivo general ......................................................................................................................... 16Objetivos específicos ..................................................................................................................... 16CAPITULO I: MARCO TEÓRICO........................................................................................ 181.1. Panel de Instrumentos ..................................................................................................... 181.2. Microcontrolador ............................................................................................................. 191.2.1. Microcontrolador Toshiba TX4964FG-120 .................................................................... 191.2.2. Microcontrolador Fujitsu MB86R02 ............................................................................... 201.3. Memoria Flash ................................................................................................................. 211.4. Arquitecturas de Memoria Flash ..................................................................................... 221.4.1. NOR ......................................................................................................................... 221.4.2. NAND ......................................................................................................................... 231.5. Memoria Flash Spansion ................................................................................................. 241.6. Memoria Flash Numonyx ................................................................................................ 261.7. SMK: Metodología para el Proceso de Desarrollo de Software...................................... 271.8. Flashloader ...................................................................................................................... 30 vii
  7. 7. 1.8.1. MAIN (Programa Principal) ............................................................................................ 311.8.2. FMAIN (Control Principal del Cargador Flash) ............................................................. 311.8.3. FIOL (Librería de Entrada y Salida del Cargador Flash) ................................................ 321.8.4. FLIB (Librería de Controlador Flash) ............................................................................. 33CAPITULO II: MARCO METODOLÓGICO......................................................................... 342.1 Ambiente de Desarrollo................................................................................................... 342.2 Depurador Green Hills Slingshot™ ................................................................................ 362.3 Analizador Lógico Intronix Logicport de 34 Canales ..................................................... 362.4 Microsoft Visual Basic .................................................................................................... 362.5 Metodología para la Medición del Desempeño de la Operación de Borrado y de Escritura del Módulo FLIB ............................................................................................. 372.6 Expansión de las Funcionalidades del Módulo FLIB ..................................................... 402.7 Módulo de Prueba FLIB .................................................................................................. 41CAPÍTULO III: MÓDULO FLIB. EVALUACIÓN, AMPLIACIÓN Y PRUEBAS ............... 453.1. Desempeño de las Operaciones de Borrado y de Escritura del Módulo FLIB ................ 453.2. Expansión del Módulo FLIB ........................................................................................... 503.2.1. Borrado de Múltiples Sectores ........................................................................................ 503.2.2. Suspensión y Reanudación de Escritura .......................................................................... 533.2.3. Suspensión y Reanudación de Borrado ........................................................................... 563.2.4. Modo Auto-selección ...................................................................................................... 583.2.5. Sector de Silicio Protegido .............................................................................................. 613.2.6. Escritura con Búfer Ampliado ......................................................................................... 623.2.7. Cambios en el Módulo FIOL........................................................................................... 653.3. Proceso de Prueba y de Validación ................................................................................. 673.3.1. Especificaciones de los Módulos .................................................................................... 673.3.2. Informe de las Pruebas en el Módulo FLIB .................................................................... 683.3.3. Revisión ......................................................................................................................... 68CAPÍTULO IV: ANÁLISIS PARA LA MIGRACIÓN DE LA TECNOLOGÍA MIRRORBIT® A MIRRORBIT ECLIPSE™ .......................................................................... 704.1. Tecnología MirrorBit® ................................................................................................... 704.2. Tecnología MirrorBit Eclipse™ ...................................................................................... 724.3. Comparación entre las Tecnologías MirrorBit® y MirrorBit Eclipse™ ......................... 734.4. Interés de la Empresa Continental AG para Migrar hacia la Tecnología MirrorBit Eclipse™ ......................................................................................................................... 74 viii
  8. 8. 4.5. Resultados del Análisis para el Logro de la Migración del Módulo FLIB hacia la Tecnología MirrorBit Eclipse™ ...................................................................................... 754.5.1. Densidad ......................................................................................................................... 764.5.2. Tamaño de Sector ............................................................................................................ 764.5.3. Tamaño de Datos ............................................................................................................. 764.5.4. Tamaño del Búfer de Escritura ........................................................................................ 764.5.5. Identificador del Dispositivo ........................................................................................... 774.5.6. Área OTP ......................................................................................................................... 774.5.7. Protección de Escritura .................................................................................................... 774.5.8. Protección de Lectura ...................................................................................................... 774.5.9. Unlock Bypass ................................................................................................................. 774.5.10. Borrado de Múltiples Sectores ........................................................................................ 784.5.11. Data Polling ..................................................................................................................... 784.5.12. Registro de Estado ........................................................................................................... 784.5.13. Escritura Simple de Palabra y Escritura Múltiple Pass con Búfer .................................. 794.5.14. Nuevos Comandos de Suspensión y de Reanudación ..................................................... 804.5.15. Comando de Comprobación Vacía.................................................................................. 814.5.16. Resumen del Estado de Compatibilidad del Módulo FLIB con la Migración hacia la Familia Eclipse™ ............................................................................................................ 81CONCLUSIONES Y RECOMENDACIONES ............................................................................ 83TRABAJOS FUTUROS ................................................................................................................ 87APORTES ......................................................................................................................... 88REFERENCIAS ......................................................................................................................... 89APÉNDICE A: Compuerta NOR y NAND .............................................................................. 92APÉNDICE B: Paneles de Instrumentos .................................................................................. 93APÉNDICE C: Figura de las interfaces Slingshot (izquierda) y del analizador lógico Intronix Logicport de 34 canales (derecha) .................................................................. 94APÉNDICE D: Medición del tiempo de borrado sector por sector con la memoria Flash previamente borrada........................................................................................ 95APÉNDICE E: Medición del tiempo de borrado sector por sector con la memoria Flash previamente escrita con 0x00.......................................................................... 97 ix
  9. 9. APÉNDICE F: Medición del tiempo requerido para escribir 128 Kbytes de datos (equivalente a un sector) ...................................................................................................... 99APÉNDICE G: Tiempo medido entre la señal RY/BY y la detección de la función FLIB_u8StatusCheck .................................................................................... 100APÉNDICE H: Simulación de la memoria Flash S29GL512N ............................................. 101APÉNDICE I: Portada de los documentos modificados y creados....................................... 102APÉNDICE J: Diagrama de flujo del uso del registro de estado en la familia Eclipse™ .... 104APÉNDICE K: GLOSARIO .................................................................................................. 105APÉNDICE L: Código del módulo de prueba para el módulo FLIB .................................... 107 x
  10. 10. ÍNDICE DE TABLASTabla 3.1. Rendimiento de las operaciones de borrado y de escritura de la memoria Flash S29GL512N dado por Spansion ................................................................................. 46Tabla 3.2. Rendimiento medido de las operaciones de borrado y de escritura del módulo FLIB; memoria Flash S29GL512N ....................................................................................... 46Tabla 4.1. Comparación entre memorias de la empresa Numonyx y Spansion (tecnologías MirrorBit® y MirrorBit Eclipse™) ............................................................................ 73Tabla 4.2. Definición del registro de estado de la familia Eclipse™ .......................................... 80 xi
  11. 11. ÍNDICE DE FIGURASFigura i.1. Logotipo del consorcio Continental AG .................................................................... 3Figura i.2. Localización de las sucursales de Continental AG a nivel mundial........................... 5Figura i.3. Organigrama del puesto de trabajo durante la pasantía ............................................ 17Figura 1.1. Aspecto de un panel de instrumentos típico ............................................................. 19Figura 1.2. Estructura básica de un microcontrolador ................................................................ 20Figura 1.3. Comparación entre una memoria Flash paralela y una serial ................................... 22Figura 1.4. Arquitectura del arreglo Flash NOR y NAND ......................................................... 24Figura 1.5. Diagrama de una memoria Flash S29GL512N de Spansion .................................... 26Figura 1.6. Diagrama de una memoria Flash M29W128GH/GL de Numonyx ......................... 27Figura 1.7. Proceso de prueba ..................................................................................................... 28Figura 1.8. Proceso de prueba para el desarrollo de software .................................................... 29Figura 1.9. Sistema de Flashloader ............................................................................................ 32Figura 2.1. Ambiente de desarrollo ............................................................................................ 35Figura 2.2. Diagrama del circuito de la comunicación CAN en el panel de instrumentos ......... 38Figura 2.3. Análisis de la secuencia de pulsos a través del programa Logicport ....................... 38Figura 2.4. Calculador de tiempo versión 2.2.0 para memoria Flash (Time Calculator V2.2.0) 40Figura 2.5. Foto de pantalla del depurador Green Hills bajo el soporte del paquete de programa Microsoft Visual C++® 6.0 durante la ejecución del módulo de prueba FLIB ...... 43Figura 3.1. Representación de la operación de borrado de varios sectores con respecto al tiempo .................................................................................................................................. 51Figura 3.2. Diagrama de flujo de la función FLIB_u8StartEraseMultipleSectors ..................... 54Figura 3.3. Diagrama de flujo de la función FLIB__u8ReadyEraseMultipleSectors ................. 54Figura 3.4. Diagrama temporal de la ejecución de una suspensión y reanudación de una operación de escritura ............................................................................................... 55Figura 3.5. Diagrama de flujo de la función FLIB_vProgramSuspend ...................................... 55Figura 3.6. Diagrama de flujo de la función FLIB_vProgramResume ....................................... 56 xii
  12. 12. Figura 3.7. Diagrama temporal de la ejecución de una suspensión y reanudación de una operación de borrado ................................................................................................ 57Figura 3.8. Diagrama de flujo de la función FLIB_vEraseSuspend ........................................... 58Figura 3.9. Diagrama de flujo de la función FLIB_vEraseResume............................................ 59Figura 3.10. Diagrama de flujo de la función FLIB_u8EnterAutoSelect ..................................... 59Figura 3.11. Diagrama de flujo de la función FLIB_u8GetAutoSelectInfo ................................. 60Figura 3.12. Diagrama de flujo de la función FLIB_u8ExitAutoSelect ....................................... 60Figura 3.13. Diagrama de flujo de la función FLIB_vEnterSecSiSectorMode ............................ 61Figura 3.14. Diagrama de flujo de la función FLIB_vExitSecSiSectorMode .............................. 62Figura 3.15. Escritura con búfer ampliado (Enhanced Buffered Write) ....................................... 63Figura 3.16. Diagrama de flujo de la función FLIB_u8StartWriteBuffer .................................... 64Figura 3.17. Diagrama de flujo de la función FLIB__u8ReadyWriteBuffer................................ 65Figura 3.18. Diagrama de flujo de la función FIOL_boEraseMultipleSectors ............................. 66Figura 4.1. Esquema estructural de la tecnología MirrorBit® ................................................... 71Figura 4.2. Beneficios de la implementación de la tecnología Eclipse™ en términos de costo 74Figura 4.3. Proyección hacia la migración de nuevas tecnologías de memorias Flash de Spansion ................................................................................................................... 75   xiii
  13. 13. LISTA DE ABREVIATURASAMD Advanced Micro Devices Inc.; empresa americanaASP Advanced Sector Protection; esp. Protección avanzada de sectorBIST Built-In Self Test; esp. Prueba propia integradaBus CAN Controller Area Network Bus; esp. Bus de red de área de controladorCap. CapítuloCFI Common Flash Memory Interface; esp. Interfaz común de memoria FlashECC Error Correction Code; esp. Código de corrección de error Electrically Erasable Programmable Read Only Memory; esp.EEPROM Memoria eléctricamente programable y borrable de sólo lecturaEOL End of (production) Line; esp. Final de línea (de producción) Erasable Programmable Read-Only Memory; esp.EPROM Memoria borrable y programable de sólo lecturaesp. EspañolFCS Flash Component System; esp. Sistema de componente flashfig. FiguraHMI Human Machine Interface; esp. Interfaz hombre máquinaI2 C Inter-Integrated Circuit; esp. Circuito inter-integrado Business Unit Instrumentation & Driver Human Machine Interface; esp.ID Unidad de negocio Instrumentación y Controlador de Interfaz Hombre-MáquinaIDE Integrated Development Environment; esp. Entorno de desarrollo integradoing. InglésK Kilo (en electrónica = 1024)LCD Liquid Crystal Display; esp. Pantalla de cristal líquidoLIN Local Interconnect Network; esp. Red de interconexión localLLD Low Level Driver; esp. Controlador de bajo nivelLSI Large Scale Integration; esp. Integración a muy gran escalaM Mega (en electrónica = 10242)NVM Non Volatile Memory; esp. Memoria no volátilOTC Over the Counter; esp. Negociación fuera de bolsap. PáginaRAM Random-Access Memory; esp. Memoria de acceso aleatorio xiv
  14. 14. Reduced Instruction Set Computer; esp.RISC Computador de conjunto de instrucciones reducidasRS232 Recommended Standard 232; esp. Estándar recomendado 232sec. Seccións.p. Sin páginaSPI Serial Peripheral Interface; esp. Interfaz periférica serialSRAM Static Random Access Memory; esp. Memoria de estática de acceso aleatorioTSOP Thin small-outline package; esp. Paquete fino de contorno pequeño Universal Asynchronous Receiver Transmitter; esp.UART Trasmisor y receptor asíncrono universalUSB Universal Serial Bus; esp. Bus serial universal xv
  15. 15. 1 INTRODUCCIÓN La aparición de la humanidad, hace aproximadamente 160.000 años, ha modificado el mundo,es decir, el medio ambiente de los seres humanos. Aunque el hombre desde entonces hacambiado biológicamente poco, ha mejorado sus posibilidades mediante el uso de su inteligencia.A estas mejoras pertenece el surgimiento de las civilizaciones que posteriormente mediante laciencia y la tecnología significó un avance para la vida de sus integrantes. Estas nuevascondiciones de vida fueron tan favorables que el número de seres humanos comenzó a crecerrápidamente. Este crecimiento significó la expansión de los asentamientos humanos, es decir, delas ciudades. Desde entonces apareció la necesidad de movilización a través de distanciasrelativamente largas. Para ello el hombre utilizó diversos medios de transporte, algunosprovenientes de la naturaleza, tales como: caballos, perros, elefantes, etc., otros provenientes desu propia creación; como bicicletas y ante todo automóviles. El auto significó para la humanidad la posibilidad de viajar sin que ésta emplee su propia fuerza(energía). Desde 1886 (creación del auto por el alemán Carl Benz) el automóvil ha sido mejoradopara hacer esta movilización más eficiente (mayor movilización por cantidad de energía). Por otra parte, el dominio del fenómeno eléctrico (electricidad) a partir del año 1882 significópara los hombres un gran avance en su técnica y ciencia y, por lo tanto, en sus condiciones devida. Este domino de la electricidad condujo la creación de dispositivos eléctricos y electrónicos.Entre estos dispositivos el más importante ha sido el transistor, el cual ha permitido la creación demaravillosos componentes tales como procesadores, microcontroladores, memorias, etc. Con la idea de hacer al auto un empleador eficiente de energía fueron integrados algunosdispositivos electrónicos en su estructura. Esto permitió el control eficiente y automático dealgunos de los procesos internos del automóvil. De este modo y para establecer una interfazhombre-auto fue creado el panel de instrumentos (en 1976 se vio por primera vez en un AstonMartin Lagonda; un auto de lujo con cuatro puertas). Desde 1929 la empresa VDO produjotacómetros; elementos principales de un panel de instrumentos. Esta empresa fue adquirida por la
  16. 16. 2multinacional Continental AG y hoy en día es ésta quien produce, entre otros instrumentos, estospaneles. Desde los años 70 gracias al avance en la tecnología de los circuitos integrados fue posibleproducir memorias semiconductoras. Desde entonces estos dispositivos han sido mejoradoscontinuamente. Hoy en día la memoria semiconductora más apreciada y empleada es la memoriaFlash. Ésta retiene información almacenada aún cuando no tenga alimentación eléctrica.Especialmente esta característica de las memorias Flash en combinación con las características delos microcontroladores para la automatización permiten hacer más eficientes y efectivos algunosde los procesos internos de un auto. Aplicaciones para ello son, entre otros, los paneles deinstrumentos fabricados por Continental AG. Para poder producir estos paneles la empresa debeemplear muchas disciplinas de la ciencia y de la técnica; el desarrollo de software es una de ellas.Ésta permite, por ejemplo, la creación de algoritmos para administrar y controlarautomáticamente las funciones de una memoria Flash directamente desde un microcontrolador.Continental AG. Descripción de la empresa El grupo Continental AG es una compañía que cotiza en bolsa perteneciente a la industriaautomotriz. Se posiciona entre los cinco primeros proveedores internacionales de componentespara vehículos y ocupa el segundo lugar en el mercado a nivel europeo. La empresa fue fundada en Hanóver, Alemania el 8 de octubre de 1871 como compañíaanónima bajo el nombre de “Compañía Continental Caotchouc y Gutta Percha”. ActualmenteContinental AG pertenece al “Grupo Schaeffler”, el cual es un consorcio alemán de construcciónde máquinas y proveedor para la industria automotriz. Es difícil no haber visto alguna vez en lavida el logotipo comercial de Continental AG mostrado en la figura i.1. El consorcio tiene (excluyendo a los pasantes) alrededor de 134.000 trabajadores, los cuales seencuentran empleados en más de 190 sucursales ubicadas en 39 países para producción,investigación y desarrollo. En el año 2009 la empresa obtuvo 20,096 millardos de euros con unpatrimonio de 4.061,7 millones de euros (Continental AG 2009b, p. U3).
  17. 17. 3 Figura i.1. Logotipo del consorcio Continental AG (Continental AG 2006, p. 1) La empresa Continental AG se posiciona en el primer lugar en el mundo en el área de latelemática y en la producción de sistemas de asistencia al conductor, sistemas de frenoshidráulicos, sistemas de suministro de combustible, dispositivos de control de bolsas de aire(Airbag), sistemas de suspensión neumática e instrumentación para vehículos (Continental AG2009b. p. 28). También la compañía se ubica tanto en el segundo lugar en la manufactura de sistemas defrenos electrónicos y de frenos de refuerzo como en el cuarto lugar en Europa en neumáticos paracamiones. En la industria de neumáticos es el líder del mercado europeo (Continental AG 2009b,p. 28). Además, los neumáticos para autos de Continental AG están en el puesto número cuatro anivel mundial y en Europa en el primer lugar. (Continental AG 2009b, p. 28). La visión del consorcio es hacer la movilidad individual más segura, más cómoda y mássostenible. Es decir, la empresa quiere mejorar junto con sus clientes a través de suscompetencias básicas, sus productos y sus servicios la seguridad, la comodidad de manejo y elplacer de conducir (Continental AG 2006, p. 4). La empresa se concentra en cinco puntos estratégicos claves (Continental AG 2010a, p. 5): 1. Desarrollo y fabricación de componentes, módulos y sistemas complejos. Para ello, ofrece servicios de ingeniería dependiendo de las necesidades del cliente. 2. Acción empresarial y gestión estricta de costos, incluso para las pequeñas unidades de negocios. 3. Compromiso con la protección del ambiente.
  18. 18. 4 4. Ocupación de posición de liderazgo por parte de las diversas áreas de negocio en sus mercados relevantes. 5. Limitar la dependencia del mercado automotor por medio de una ganancia de un 40 por ciento en sus ventas no provenientes de la industria automotriz. Continental AG adquirió el 10 de diciembre de 2007 la empresa Siemens VDO Automotive AGpor un precio de compra de 11,4 millardos de euros. Con esto el consorcio se ubicó dentro de lasprimeras cinco industrias de suministro automotriz (Continental AG 2010c, s.p.). Por otra parte,Continental AG fue en el 2006 y en el 2010 patrocinador de la FIFA™ (FédérationInternationale de Football Association esp. Federación Internacional de Fútbol Asociación) y enel 2008 de la UEFA (Union of European Football Associations esp. Unión de Asociaciones deFútbol Europeo) (Continental AG 2009b, p. 3). La empresa utiliza estas plataformas paraaumentar el grado de reconocimiento de su marca a nivel mundial. El consorcio se divide en dos áreas claves de negocio: Grupo de Productos de Caucho (RubberGroup) y Grupo Automotriz (Automotive Group). Éstas se descomponen en seis grandesdivisiones: El Grupo de Productos de Caucho en: - Passenger Car Tires (neumáticos para automóviles) - Commercial Vehicle Tires (neumáticos para camiones) - ContiTech AG (elastómeros técnicos) y el Grupo Automotriz en: - Chassis & Safety (chasis y seguridad) - Powertrain (línea de transmisión) - Interior (espacio interno). El Grupo Automotriz diseña y fabrica productos y sistemas innovadores para combinar lamovilidad individual y el placer de conducir con la seguridad de conducción, la responsabilidad
  19. 19. 5ambiental y la eficiencia económica. En el año 2009 el grupo obtuvo una facturación de 12.042,4millones de euros con 78.030 empleados (Continental AG 2009b, p. 29). El grupo está presente en aproximadamente 130 lugares. Los más importantes en Alemania son: - Ratisbona (sucursal central) - Schwalbach (desarrollo y administración) - Fráncfort del Meno - Villingen-Schwenningen - Karben - Babenhausen - Wetzlar - Bebra - Limbach-Oberfrohna - Dortmund También tiene sucursales en Austria, Suiza, República Checa, Rumania, Estados Unidos,México, Brasil, China, Corea, Singapur, Malasia, Tailandia, India y Australia. En la figura i.2 semuestra las localizaciones de Continental AG a nivel mundial. Figura i.2. Localización de las sucursales de Continental AG a nivel mundial (Wikipedia 2010, s.p.)
  20. 20. 6Interior La división Espacio Interno (Interior) se ocupa de la gestión de la información para unintercambio fluido de la misma entre las personas, vehículos, dispositivos móviles y el medioambiente. La división alcanzó en el año 2009 una facturación de 4,4 millardos de euros y tuvo26.710 empleados, los cuales laboraron en 60 sucursales en 22 países (Continental AG 2009b, p.34). La división está en la posición número uno del mundo en el segmento de automóviles por lasventas de instrumentos, sistemas telemáticos, sistemas de acceso y electrónica de carrocería.También es líder mundial en el sector de camiones por las ventas de tacógrafos, instrumentos yunidades a bordo aseguradas por satélite para el cobro de peaje. Además, la división ocupa en elsegmento de automóviles el segundo lugar a nivel mundial mediante ventas de pantallassecundarias y sistemas de monitoreo de presión de neumáticos (Continental AG 2010a, p. 24). La división manufactura los siguientes productos: - unidad completa de cabina de manejo - panel de instrumentos - sistemas de información al conductor - calefacción y control de aire acondicionado - tacógrafos - sistemas electrónicos de piloto automático - sistemas de peaje - sistemas de Infotainment (palabra compuesta: información y entretenimiento) y de telemática - sistemas de navegación y multimedia. Su visión se refleja en la frase “Always On” y consiste en crear el vehículo del futuro;(interconectado con la red de información), más amigable al usuario, más cómodo y másinteligente. Además, lograr cero emisiones de contaminación y cero accidentes mediante lagestión de información (Continental AG 2009c, p. 6). Para hacer esta visión realidad, la divisiónfacilita el control y optimización de los canales de información internos del vehículo a través dela integración de componentes en sistemas de orden superior. Provee nuevas funcionalidades yprestaciones de servicios mediante conexiones inteligentes y proporciona un manejo cómodo de
  21. 21. 7distintas informaciones. Especialmente es importante para la división la optimización de lagestión de la interfaz hombre-máquina. Su misión es crear en el vehículo la gestión de información para el conductor y losacompañantes. Para ello se deben llevar a cabo las siguientes actividades: - integración de componentes en sistemas para la gestión y optimización del flujo de información - oferta de nuevas funciones, las cuales corresponden a la conexión con el exterior y a nuevas prestaciones de servicios de procesamiento de comandos, prioridades y de presentación de información con HMIs (Human Machine Interface; esp. Interfaz Hombre-máquina) intuitivos y ergonómicos (Continental AG 2009c, p. 7). Su estrategia se encuentra en la frase: “nosotros le informamos, le conectamos al menor costo”y ésta se basa en las siguientes cuatro piedras angulares: - integración de componentes en sistemas de mayor orden para lograr ahorro de costos - oferta de una paleta de productos completa y amplia para la gestión de información en vehículos y así crear y ser un único punto de ventas como integrador de sistemas - oferta de comunicación inalámbrica o alámbrica así como de servicios adicionales para el conductor y pasajeros - desarrollo de HMIs más amigables al usuario, más ergonómicos y más seguros (Continental AG 2010g, s.p.). Sus sucursales en Alemania están en: Babenhausen, Dortmund, Ingolstadt, Karben, Nuremberg,Ratisbona y Villingen. Las sucursales europeas (sin incluir a Alemania) están: - En Reino Unido: Birmingham. - En República Checa: Brandýs y Frenštát. - En Hungría: Budapest. - En Francia: Hambach, Rambouillet y Toulouse. - En España: Rubí. - En Suiza: Rüthi.
  22. 22. 8 - En Rumania: Sibiu y Timişoara. - En la Federación Rusa: Chístopol.En América se encuentra la división espacio interior en: - Brasil: Gravataí, Guarulhos, Manaos, Resende y Sao Bernardo de Campo. - México: Guadalajara y Nogales. - Estados Unidos: Huntsville y Seguin.En Asia y Oceanía se encuentra en: - India: Bangalore, Manesar y Pune. - Australia: Campbell Field y Melbourne. - China: Changchun, Shanghái, Tianjin y Wuhu. - República Popular Democrática de Corea: Cheongwon e Inchon. - Malasia: Penang y Malasia Prai. - Filipinas: Manila (Continental AG 2009a, p. 88 f.).La división tiene como clientes principales las siguientes empresas automotrices: - General Motor (GM) - Fiat - Suzuki - Volkswagen (VW) - Bayerische Motoren Werke (BMW) - Daimler - Audi - Nissan International - Skoda - Seat - Entre otros (Continental AG 2008b, p. 9).
  23. 23. 9 Espacio Interno está dividida en las siguientes cuatro unidades de negocio (Business Units): - Business Unit Body & Security (Unidad de negocio Cuerpo y Seguridad) - Business Unit Commercial Vehicles & Aftermarket (Unidad de negocio Vehículos Comerciales y Mercado Secundario) - Business Unit Infotainment & Connectivity (Unidad de negocio de Info-Entretenimiento y Conectividad) - Business Unit Instrumentation & Driver Human Machine Interface (ID) (Unidad de negocio Instrumentación y Controlador de Interfaz Hombre-Máquina).Unidad de Negocio Instrumentación y Controlador de Interfaz Hombre-Máquina (ID) La unidad de negocio ID se ocupa de preparar la información en forma óptima y mediar entrelas necesidades del conductor y la situación (Continental AG 2010d, s.p.). Esta unidad de negocioes líder del mercado a nivel mundial en el área de panel de instrumentos y está en la segundaposición en el área de pantallas secundarias así como en el área de control de aire acondicionado.ID tiene más de 8.500 empleados, los cuales laboran en 26 sucursales distribuidos en todo elmundo. La sede principal de esta unidad de negocio se encuentra en Babenhausen, Alemania(Continental AG 2010b, p. 2). Los productos de la unidad de negocios son: - consola central integrada - panel de instrumentos - pantalla secundaria - placa frontal - controles en el techo - pantalla Head-Up - control de aire acondicionado - centro de conexión de dispositivos - módulo de cabina de vuelo (Continental AG 2010b, p. 3).
  24. 24. 10 La visión de la unidad de negocios ID es la de la división Espacio Interno; “Always On”. Sumisión está reflejada en la frase: “HMI en el vehículo orientado al usuario” y su estrategia escrear una ventaja competitiva sostenible a través de la producción de dispositivos innovadores,orientados al cliente, presencia regional y obtener resultados superiores en: - usabilidad (entrega de productos con HMI ergonómicos e intuitivos para la comodidad y seguridad) - innovación (con la ayuda de la más moderna tecnología y el establecimiento de tendencias) - integración (a través de la oferta de una cartera completa de productos y de soluciones integradas) - logro de capacidad competitiva (mediante la oferta de alta calidad con precios atractivos a nivel del mercado global) (Continental AG 2010b, p. 11). Esta unidad de negocio se fracciona en las siguientes ocho divisiones: - Sales & Portfolio (Ventas y Portafolio) - Research & Development (Investigación y Desarrollo) - Center of Competence (Centro de Competencia) - Manufacturing & Logistics (Manufactura y Logística) - Quality (Calidad) - Controlling (Control) - Purchasing (Compras) - Human Resources (Recursos Humanos). La división de Investigación y Desarrollo tiene como misión las siguientes: - asegurar el liderazgo tecnológico de la unidad de negocio ID a nivel mundial - maximizar las sinergias - utilizar los componentes comunes y reutilizarlos para reducir costos - minimizar el riesgo y el tiempo de desarrollo - optimizar las redes de computadoras de la división ID (Continental AG 2010e, s.p.).
  25. 25. 11 Investigación y Desarrollo está dividida en los siguientes ocho departamentos: - Application Development (Desarrollo de Aplicaciones) - Electronic Engineering (Ingeniería Electrónica) - Software (Software) - Electro Mechanics (Electro-mecánica) - Advanced Device Design (Diseño Avanzado de Dispositivo) - Display Center (Centro de Pantalla) - Sample Production (Producción de Prototipo) - Research & Development (Investigación y Desarrollo). La visión del departamento de Desarrollo de Software Básico, el cual pertenece aldepartamento de Software, es: - ser una autoridad central de tecnología de software para la unidad de negocio ID - asistir y mejorar el liderazgo tecnológico de la unidad ID a nivel mundial - lograr una alta calidad en software a nivel mundial (Continental AG 2010h, s.p.). Su misión es: - la entrega de marcos para el desarrollo de aplicaciones - el desarrollo de plataformas y de componentes comunes de software - el logro de desarrollo avanzado de nuevas tecnologías - la independencia mediante la utilización de tecnologías, herramientas y procesos para investigación y desarrollo - la formación y el apoyo a todas las sucursales a nivel mundial para la gestión autónoma de sus proyectos - la ejecución de gestión de calidad y seguridad (Continental AG 2010h, s.p.). El departamento de Desarrollo de Software Básico se divide a su vez en: - Quality Engineering (Ingeniería de Calidad) - Project Management & Diagnosis (Gerencia de Proyecto y Diagnóstico) - Operating System & Communications (Sistema Operativo y Comunicaciones) - Graphics & Architecture (Gráficos y Arquitectura).
  26. 26. 12 Gerencia de proyecto y Diagnóstico tiene como misión: - definir, supervisar y conducir los proyectos así como sus progresos - asumir responsabilidades de proyectos con respecto a sus plazos, presupuestos y resultados - responder a todas la preguntas de los clientes - definir paquetes de trabajo para el desarrollo y cumplimiento de plazos de terminación - gestión de riesgo y de crisis. Ésta se organiza en: - Grupo Flash - Grupo de Diagnóstico y Grupo de Prueba - Coordinación de la gerencia de proyecto.Grupo Flash El Grupo Flash se ocupa del desarrollo de software básico para distintas memorias Flash, esdecir, de la creación, desarrollo e implementación de sistemas Flashloader (cargador paramemorias Flash), módulos Flashloader no dependientes del hardware, controladores paramemorias no volátiles, controladores de datos (para EEPROM - Electrically ErasableProgrammable Read-Only Memory, esp. Memoria Eléctricamente Programable y Borrable deSólo Lectura – y para Flash) (vea sec.1.3), concepto de prueba para el final de la línea deproducción (ing. EOL ) y herramientas tanto Flash como EOL. Los productos antes mencionados se desarrollan para las siguientes plataformas: - NEC: V850 Dx3 / Fx3 / Dx4 - Fujitsu: MB91x467, MB90x360, MB91xxxx, JADE - Micronas: VMC, ARM - Toshiba: CAPM y CAPA. El objetivo principal del Grupo Flash es la creación de sistemas Flashloader, con los cuales sepuede reprogramar el Firmware (programa en firme) grabado en una memoria Flash de un
  27. 27. 13dispositivo de control. Principalmente se utilizan estos sistemas para la actualización del softwarede una memoria externa de un panel de instrumentos. Esta actualización se realiza en caso decambios o de presencia de errores en el Firmware. La actualización abarca el cambio de datosgráficos, datos de configuración, datos de programa y de aplicaciones. Los Flashloader se creantambién para ejecutar el reinicio del sistema y se almacenan en una región protegida de lamemoria Flash del panel de instrumentos.Antecedentes La empresa Continental AG posee un paquete de software o módulo llamado FLIB (FlashDriver Library, esp. Librería de Controlador Flash) (vea sec. 1.8.4) que se encarga del borrado yde la escritura de datos en memorias Flash NOR paralelas de la familia S29GL de la empresaSpansion (vea sec. 1.5) y de la familia M29W de la empresa Numonyx (vea sec. 1.6) ejecutadopor los microcontroladores TX4964FG-120 de Toshiba (vea sec. 1.2.1) y MB86R02 de Fujitsu(vea sec. 1.2.2). Este módulo fue creado por el Grupo Flash y su última actualización data del año2007 (último cambio: 3 de octubre de 2007). El paquete FLIB consta, hasta su últimaactualización, de esencialmente siete funciones externas: - FLIB_vInit - FLIB_u8StartEraseChip - FLIB_u8StartEraseSector - FLIB_u8StartWriteData - FLIB_u8StartWriteBuffer - FLIB_u8StatusCheck - FLIB_u8GetFlashType Esta última función es fundamental para el reconocimiento automático de cualquier memoriaFlash NOR paralela (en adelante memoria Flash) instalada en el hardware, es decir, en el panel deinstrumentos (vea sec. 1.1). Sin embargo, esta aplicación aún no está implementada.
  28. 28. 14 La función FLIB_vInit se encarga de la inicialización del módulo FLIB, es decir, delestablecimiento de variables y estados de control a valores iniciales y de la colocación de lamemoria Flash en estado de lectura. FLIB_u8StartEraseChip se ocupa de borrar todos los datos que se encuentran almacenados enla memoria Flash (borra todo el chip). FLIB_u8StartEraseSector borra el sector que es indicado por su dirección. Esta función sóloborra un sector por llamada. FLIB_u8StartWriteData escribe una palabra o word en una ubicación de la memoria Flashdeterminada mediante su dirección. Esta función escribe una palabra por llamada. FLIB_u8StartWriteBuffer es una mejora de la función anterior y se ocupa de la escritura de unconjunto de palabras contenidas en un búfer de longitud variable. Esta escritura se realiza a partirde una ubicación inicial en la memoria Flash determinada por su dirección. Esta función escribeun grupo de datos (limitado por la capacidad de almacenamiento en memoria RAM - RandomAccess Memory, esp. Memoria de acceso aleatorio) por llamada. En comparación con la funciónFLIB_u8StartWriteData la operación FLIB_u8StartWriteBuffer se realiza con mayor rapidez. FLIB_u8GetFlashType obtiene una porción de la información adicional que ofrece la memoriaFlash instalada (a través del Common Flash Memory Interface; esp. Interfaz común de memoriaFlash) para aplicaciones de autoreconocimiento de hardware. FLIB_u8StatusCheck entrega el estado actual de la operación inicializada (borrado de chip,borrado de sector, escritura de dato, escritura mediante búfer y obtención del tipo de memoriaFlash). Es la función más importante del módulo FLIB, ya que coordina las operaciones quepueden ser ejecutadas por la memoria Flash en un momento determinado y, además, controla lasoperaciones que no pueden ser ejecutadas en una sola llamada a los algoritmos embebidos de la
  29. 29. 15memoria Flash (vea sec. 1.5 y 1.6). Como ejemplo de estas operaciones se encuentra la escrituramediante búfer (FLIB_u8StartWriteBuffer). Entre los dos métodos de observación del estado de ejecución de las operaciones embebidas dela memoria Flash (“Toggle Bit I” o “DQ6” y “Data# Polling” o “DQ7”) (vea sec. 1.5 y 1.6) fueelegido el método “DQ6”, es decir, el módulo FLIB fue implementado con base al método“Toggle Bit I”. Sin embargo, el Grupo Flash no conocía con precisión el desempeño temporalreal de las operaciones de borrado y de escritura del módulo FLIB creado. Por ello, existía laincertidumbre acerca del método más rápido (¿“DQ6” o “DQ7”?) de ejecución de las operacionesde borrado y de escritura en la memoria Flash. Además, el Grupo Flash tenía presente que el módulo FLIB requería de una actualización paraque éste se adaptase a las mejoras y cambios tecnológicos presentes en los nuevos modelos dememoria Flash. Estas mejoras, entre otras, consisten en procedimientos más rápidos de borrado yde escritura de datos (borrado de múltiples sectores y escritura con búfer ampliado) y el añadidode operaciones más avanzadas, tales como suspensión y reanudación de escritura, suspensión yreanudación de borrado, modo de autoselección e implementación del sector de silicio asegurado.Motivación Para reducir los costos en la producción y para colocar los productos en el mercado en unmenor tiempo la empresa Continental AG requiere de la reducción de la duración de lareprogramación del Firmware (programa en firme) de sus dispositivos en la etapa final de la líneade producción. Además, el consorcio para mantenerse en una posición competitiva y resultarexitoso ante las fuerzas del mercado necesita de la adaptación y mejora de los controladoresexistentes para explotar las capacidades que ofrecen las nuevas tecnologías y familias dememorias Flash.
  30. 30. 16Objetivo general Evaluar, optimizar y ampliar el controlador de bajo nivel para memorias Flash NOR paralelas(módulo FLIB) de la empresa Continental AG en Babenhausen – Alemania.Objetivos específicos - Determinar los tiempos de ejecución de las operaciones de borrado y de escritura de la memoria Flash NOR paralela externa de un panel de instrumentos. - Reducir tanto el tiempo de ejecución de los procedimientos de borrado y de escritura así como reducir el tamaño de código de las funciones del módulo FLIB. - Crear e implementar nuevas funciones en el módulo FLIB de acuerdo con las capacidades de las memorias Flash NOR paralelas externas. - Adaptar las funciones existentes en el módulo FLIB y en módulos de orden superior según las nuevas funciones creadas e implementadas en el módulo FLIB. - Probar y validar las nuevas funciones creadas mediante el método propio de la empresa; el SMK (Software Method Kit; esp. Metodología para el Proceso de Desarrollo de Software). La pasantía se realizó en el Grupo Flash, el cual pertenece al departamento de Software de ladivisión de Investigación y Desarrollo y, a su vez, ésta última se encuentra en la Unidad deNegocio Instrumentación y Controlador de Interfaz Hombre-Máquina (vea fig. i.3). La pasantíatuvo una duración de 20 semanas, con 35 horas cada una, durante cinco días a la semana. En este informe de pasantía se presentan las actividades llevadas a cabo para lograr losobjetivos antes mencionados. De igual modo, se muestran los resultados de las medicionesrealizadas, así como las nuevas funciones creadas y, finalmente, se indican las compatibilidades ycambios necesarios para ejecutar la migración de la tecnología “MirrorBit®” a “MirrorBitEclipse™” según el plan de investigación y desarrollo del Grupo Flash para el año 2011.
  31. 31. 17 Este trabajo está dividido principalmente en cuatro bloques: - Fundamentos teóricos necesarios para entender las actividades llevadas a cabo durante la pasantía (Capítulo I: Marco Teórico). - Fundamentos metodológicos empleados para realizar las correspondientes mediciones y la creación de nuevas funciones (Capítulo II: Marco Metodológico). - Resultados y análisis de las mediciones de evaluación de funcionamiento, creación de nuevas funciones y proceso de prueba. (Capítulo III: Módulo FLIB. Evaluación, Ampliación y Pruebas). - Análisis para la migración desde una tecnología actual de memoria Flash hacia una más avanzada (Capítulo IV: Análisis para la Migración de la Tecnología MirrorBit® a MirrorBit Eclipse™). Figura i.3. Organigrama del puesto de trabajo durante la pasantía A continuación, el primer capítulo; necesario para entender las actividades realizadas durante lapasantía.
  32. 32. CAPITULO I MARCO TEÓRICO En este capítulo se explican los conceptos y definiciones utilizadas durante la ejecución de lapasantía, tales como: panel de instrumentos, microcontrolador, memoria Flash, arquitectura dememoria Flash, SMK (Software Method Kit; esp. Metodología para el Proceso de Desarrollo deSoftware) y Flashloader (cargador Flash). También se presentan las características decomponentes específicos, por ejemplo, de los microcontroladores de las empresas Toshiba yFujitsu, de las memorias Flash de las compañías Spansion y Numonyx y de los distintos móduloselementales para la creación de un Flashloader (MAIN, FMAIN, FIOL y FLIB).1.1. Panel de Instrumentos El Panel de Instrumentos es un bloque de instrumentos de un vehículo que normalmenteconsiste en una combinación de tacómetro, odómetro, velocímetro, indicador de combustible,medidor de la temperatura del material refrigerante, luces de control e indicador de las señales degiro. Hoy en día los indicadores de los paneles de instrumentos son eléctricos y para controlarlos esnecesario el uso de pequeñas computadoras. La introducción de microprocesadores ymicrocontroladores permite la adición de pantallas de cristal líquido, pantallas de vista frontal,presentaciones gráficas, funcionalidades de computador a bordo, posibilidad de salidas o señalesacústicas, inmovilizador en el panel de instrumentos así como la evaluación de información de lacarga del motor y de la distancia de recorrido para indicarle al conductor acerca el estado de unainspección pasada. El panel de instrumentos, como dispositivo de control, está conectado al Bus-CAN (Controller Area Network; esp. Controlador de Red de Área) del vehículo y recolecta coneste bus informaciones de los dispositivos de control conectados, tales como: control del
  33. 33. 19motor, sistema de antibloqueo y programa de estabilidad electrónico. La figura 1.1 muestra elaspecto de un panel de instrumentos típico. Figura 1.1. Aspecto de un panel de instrumentos típico (Daimler AG 2008, s.p.)1.2. Microcontrolador Según Brinkschulte y Ungerer un microcontrolador es “un microcomputador en un chip conperiféricos especiales para tareas de control o de comunicación a la medida” (Brinkschulte yUngerer 2007, p. 73, traducción del autor). Son semiconductores que contienen un procesador yal menos funciones periféricas en un chip. Normalmente se encuentra la memoria de trabajo y deprograma en parte o completamente en el mismo chip. Los microcontroladores modernosconsisten a menudo de funciones periféricas complejas como por ejemplo interfaz CAN, LIN(Local Interconnect Network; esp. Red de Interconexión Local), USB (Universal Serial Bus; esp.Bus Serial Universal), I2C (Inter-Integrated Circuit; esp. Circuito Inter-integrado), SPI (SerialPeripheral Interface; esp. Interfaz Periférica Serial), serial o Ethernet, salidas de modulación deancho de pulso, controlador LCD (Liquid Crystal Display; esp. Pantalla de Cristal Líquido) yfinalmente conversor analógico-digital (Roth 1998). La figura 1.2 ofrece una visión general de laestructura básica de un microcontrolador.1.2.1. Microcontrolador Toshiba TX4964FG-120 El TX4964FG-120 (corto TX4964) es un miembro de la familia del sistema de 64 bits RISC(Reduced Instruction Set Computer; esp. Computador de Conjunto de Instrucciones Reducidas)de Toshiba, el cual fue desarrollado para un amplio espectro de aplicaciones, por ejemplo para:
  34. 34. 20 - sistema de información al conductor - sistema de infotainment (información y entretenimiento) en el vehículo - sistema de navegación Figura 1.2. Estructura básica de un microcontrolador (modificada de Brinkschulte y Ungerer 2007, p. 74) TX4964 se basa sobre el núcleo TX49/L4 de Toshiba e incluye circuitos periféricos tales como:controlador gráfico para pantalla, memoria embebida, acelerador gráfico, digitalizador de video,controlador DMA (Direct Memory Access; esp. Acceso Directo a Memoria), varios puertos decomunicación serial, puerto de Bus-CAN, temporizador de intervalos, controlador de bus externo(para memoria Flash NOR; vea sec. 1.4.1 y SRAM; Static Random Access Memory, esp.Memoria Estática de Acceso Aleatorio) y puertos de entrada y de salida de propósito general(I/Os).1.2.2. Microcontrolador Fujitsu MB86R02 El MB86R02 “Jade D” es un “sistema en un chip”, el cual contiene un procesador centralARM926EJ-S y un controlador central de gráficos 2D/3D (dos dimensiones y tres dimensiones)de pantalla MB86296 (CORAL-PA). Jade D tiene una arquitectura LSI (Large Scale Integration,esp. Integración a muy gran escala), con el cual incluye en un sólo chip varios I/Os para
  35. 35. 21aplicación automotriz, por ejemplo CAN, MediaLB, etc., y un controlador de bus externo (paramemorias Flash NOR, vea sec. 1.4.1 y RAM; Random Access Memory, esp. Memoria de AccesoAleatorio). El sistema ofrece una variedad de soluciones para sistemas gráficos y un enlace“Gigabit Pixel” (nuevo estándar automotriz) para aplicaciones automovilísticas.1.3. Memoria Flash Las memorias Flash son chips de almacenamiento digital no volátil, es decir, mantienen losdatos aún cuando no se les apliquen una alimentación eléctrica. Están compuestas por un arreglode células de almacenamiento, las cuales están divididas en una serie de bloques consecutivos.Estos bloques se componen de una cierta cantidad de páginas (page) y cada página se consideracomo un grupo consecutivo de células de almacenamiento. Estos dispositivos son conocidostambién como EEPROM (Electrically Erasable Programmable Read-Only Memory, esp.Memoria Eléctricamente Programable y Borrable de Sólo Lectura) de borrado rápido debido aque pueden escribir (almacenar) y borrar datos en su interior eléctricamente y, además, elprocedimiento de borrado es mucho más rápido que el de los anteriores EPROMs (ErasableProgrammable Read-Only Memory, esp. Memoria Borrable y Programable de Sólo Lectura) y elde los EEPROMs. La operación de lectura y escritura de datos en estas memorias se realizadentro de páginas determinadas pero no es posible una sobre escritura de datos en una página.Para ello, es necesario primero borrar un bloque completo, en el cual se encuentra la página, yluego escribir en este bloque los nuevos datos. A menudo se utilizan las memorias Flash para elalmacenamiento permanente de Firmware (programa en firme) en los dispositivos conmicrocontrolador, por ejemplo, en sistemas embebidos, en los cuales se utilizan datos deconfiguración, de almacenamiento o programas. Estas memorias se dividen, según el tipo de acceso, en acceso aleatorio y secuencial. Lasmemorias Flash de acceso aleatorio permiten acceder a una determinada célula dealmacenamiento mediante su dirección de memoria. Comúnmente corresponde esta dirección conuna palabra (word) y no con una célula de almacenamiento, es decir, con un bit.
  36. 36. 22 Las memorias Flash secuenciales permiten una transmisión secuencial de datos, es decir, unbit después de otro en lugar de una emisión paralela de 8, 16 o 32 bits y un acceso a una direcciónde un área completo de memoria, en el cual se puede ejecutar una lectura o escritura. Estopermite tener menos conexiones y pines por chip. Con ello se simplifica el diseño, se reducen loscostos y factores de forma en distintas aplicaciones embebidas (Spansion LLC 2008c, p. 1). Lafigura 1.3 muestra una comparación entre las memorias Flash paralelas y seriales. Figura 1.3. Comparación entre una memoria Flash paralela y una serial (modificada de Spansion LLC 2008c, p. 1)1.4. Arquitecturas de Memoria Flash Las arquitecturas de memoria Flash de uso más frecuente son “NOR” y “NAND”, las cuales sepresentan en detalle en esta sección. La clasificación de las memorias Flash se realiza conrespecto al tipo de conexión interna de las células de almacenamiento y, además, a la densidad dealmacenamiento y a la velocidad de acceso.1.4.1. NOR NOR es una de las más importantes arquitecturas dominantes de memoria Flash. Es un tipo dearquitectura de memoria Flash que consta de un diseño de puerta NOR (vea fig. 1.4 y ApéndiceA). Con esta arquitectura es posible tener acceso directo a todos los bytes para la lectura o
  37. 37. 23escritura. Durante la escritura sólo se permite un cambio de bits del “uno” lógico al “cero”lógico. El procedimiento de borrado se aplica sólo para un bloque completo, es decir, todas lascélulas de almacenamiento se colocan, dentro de un bloque y a través de un solo comando deborrado, de “cero” lógico a “uno” lógico. El tamaño de un bloque varía de un dispositivo a otropero a veces varía aún dentro de un mismo dispositivo. Los sectores pequeños, que acompañan aotros sectores grandes dentro del dispositivo, son llamados sectores de “boot” y se ubicancomúnmente en la región inferior o superior del arreglo de memoria. NOR se utiliza típicamente para el almacenamiento y ejecución de código. Posee al momentode entrega del dispositivo el 100 por ciento de los bits en buen estado, permite la ejecución decódigo directamente desde la memoria Flash NOR y realiza más de 100.000 ciclos de borrado yescritura sin daño a las células de almacenamiento (Spansion LLC 2005a, p. 3).1.4.2. NAND NAND es también una de las arquitecturas de memoria Flash dominantes y describe un tipo dearquitectura de memoria Flash que consta de un diseño de puerta NAND (vea fig. 1.4 y ApéndiceA). Este tipo de memoria Flash se basa en una composición ordenada en serie de cada célula dealmacenamiento y se utiliza comúnmente para guardar grandes cantidades de datos. Como en elcaso de las memorias Flash de arquitectura NOR, las memorias Flash NAND se componentambién de páginas, las cuales están agrupadas en bloques. Para reescribir una página, es decir,colocar los bits de una página de “1” a “0” es necesario primero borrar el sector en el cual seencuentra la página. A menudo ocurre que al momento de la entrega del dispositivo existanbloques defectuosos llamados “Bad Blocks”. Estos deben ser considerados posteriormentemediante software controladores, es decir, estos errores deben ser al menos detectados y en loposible corregidos por vía de software. Sin embargo, se garantiza que en el primer bloque de lamemoria se realice una cantidad determinada de ciclos de lectura, escritura y borrado sin error.Esto permite el almacenamiento de datos importantes de inicialización en áreas fijas del primersector y los demás datos menos importantes mantenerlos en áreas variables.
  38. 38. 24 Esta arquitectura requiere de un acceso relativamente largo para la primera lectura delarreglo de la memoria. Posee al momento de la entrega del dispositivo un 98 por ciento de bits enbuen estado si la memoria es entregada con errores adicionales de bits. Debido a estos errores esnecesario el uso de mecanismos de corrección de errores (ECC; Error Correction Code, esp.Código de Corrección de Error). En comparación con la arquitectura NOR, la arquitectura NANDes mucho más rápida en los procedimientos de escritura y borrado y el costo por bit es muchomenor que el de la arquitectura NOR (Spansion LLC 2005a, p. 3). Figura 1.4. Arquitectura del arreglo Flash NOR y NAND (modificada de Nikkei Electronics Asia 2005, s.p.)1.5. Memoria Flash Spansion El dispositivo S29GL-N pertenece a la familia de memorias Flash que funcionan sólo con unaalimentación eléctrica de 3 V simple (monopolar) y son fabricados con la tecnología MirrorBit®de 110 nm (vea sec. 4.1). El S29GL512N es una memoria Flash de 512 Mbits, el cual estáorganizado en 32 Mwords o 64 Mbytes. El dispositivo tiene un bus de datos de 16 bits que puedeser usado como un bus de 8 bits mediante el pin “BYTE#” (vea fig. 1.5). La memoria Flash es
  39. 39. 25ofrecida en un paquete TSOP (Thin Small-Outline Package; esp. Paquete Fino de ContornoPequeño) de 56 pines y posee pines separados de control tales como: “Chip Enable” (CE#),“Write Enable” (WE#) y “Output Enable” (OE#) (vea fig. 1.5). El dispositivo es completamentecompatible con el conjunto de comando estándar para memoria Flash de alimentación simple“JEDEC” (original de Joint Electron Tube Engineering Council esp. Consejo de Ingeniería deDispositivo Electrónico de Juntura). Los comandos se envían en el ciclo de escritura estándar delmicrocontrolador a la memoria Flash. Durante el ciclo de escritura se retienen las direcciones,datos y comandos de operación de borrado, procedimientos embebidos de borrado y escritura.Éstos últimos se inician mediante secuencias de comando y son ejecutados por un controladorembebido en la memoria Flash. Una vez iniciado un proceso embebido de borrado y de escritura,el sistema anfitrión debe observar sólo los pines o bits de estado “DQ7” o “DQ6” o la salida (pin)“RY/BY#” para determinar si el proceso ha finalizado o no (vea fig. 1.5). La funcionalidad“Unlock Bypass Mode” reduce la secuencia de comandos para facilitar las operaciones. También el dispositivo posee la funcionalidad “Erase Suspend/Erase resume” (suspensión deborrado/reanudación de borrado). Ésta permite que el sistema anfitrión suspenda una operaciónde borrado para ejecutar un proceso de lectura o de escritura en los sectores no suspendidos paraluego continuar y finalizar con la operación de borrado. De modo semejante, la memoria Flashtiene la funcionalidad “Program Suspend/Program Resume” (suspensión deescritura/reanudación de escritura), la cual, análogo al caso anterior, suspende una operación deescritura para ejecutar una operación de lectura en los sectores no suspendidos y luego continuary terminar con la operación de escritura. Además, el dispositivo ofrece una región de sector desilicio protegido (Secured Silicon Sector Region), la cual posee una capacidad de almacenamientode 128 words/256 bytes, en donde se pueden proteger datos o código de manera permanente.También el dispositivo Flash posee el modo “auto-selección” (Autoselect), en el cual se ofrece laidentificación del fabricante, del dispositivo y de verificación de protección de grupo de sectoresa través de salida de código de reconocimiento en los pines DQ7-DQ0 (vea fig. 1.5). Esto es útilpara adaptar automáticamente un dispositivo Flash con su correspondiente algoritmo deprogramación.
  40. 40. 261.6. Memoria Flash Numonyx El M29W128GH/GL es una memoria Flash de 128 Mbits (8 Mbits en modo word o 16 Mbitsen modo byte). El dispositivo requiere de una alimentación eléctrica simple (monopolar) entre 2,7y 3,6 V. Como en el caso de Spansion, el arreglo de memoria está dividido en unidades debloques de 64 Kwords/128 Kbytes. También necesita de comandos para controlar susoperaciones, éstos son compatibles con los estándares JEDEC. Las señales “Chip Enable”,“Output Enable” y “Write Enable” (vea fig. 1.6) controlan la operación de bus del dispositivo.La memoria Flash utiliza la funcionalidad “write to buffer” (esp. escritura con búfer) paramejorar la velocidad de escritura a través de un búfer de 32 words/64 bytes. En contraposicióncon la memoria Flash de Spansion, esta memoria Flash de Numonyx tiene la funcionalidad“enhanced buffered program” (esp. escritura a través de búfer ampliado). Ésta permite acelerarla velocidad de escritura (sólo en modo word), con lo cual se pueden escribir 256 words en unasola operación de escritura con búfer ampliado. Figura 1.5. Diagrama de una memoria Flash S29GL512N de Spansion (Spansion LLC 2008a, p. 12) Este dispositivo posee también –análogo a la región de sector de silicio protegido (SecuredSilicon Sector Region) de Spansion – un bloque adicional llamado “bloque ampliado” con unacapacidad de almacenamiento de 128 words o 256 bytes. Esta memoria se ofrece en paquete
  41. 41. 27TSOP de 56 pines y también soporta tanto las funcionalidades “Erase suspend/Erase resume”y “Program suspend/Program resume” como los bits de estados “DQ7”, “DQ6”, supervisión delpin “RY/BY#”, modo “Unlock Bypass” y modo “Autoselect”. Figura 1.6. Diagrama de una memoria Flash M29W128GH/GL de Numonyx (Numonyx 2009, p. 9)1.7. SMK: Metodología para el Proceso de Desarrollo de Software SMK es una serie de métodos para el desarrollo de software que utiliza el consocio ContinentalAG. SMK da líneas directivas para el proceso de desarrollo de software y tiene como propósitotransformar un conjunto de requerimientos en un producto de software funcional o en un sistemabasado en software. El producto o sistema desarrollado debe satisfacer los requisitos dado por elcliente. Como resultado de una aplicación exitosa de este proceso: - se crea un sistema de software - se desarrolla productos intermedios de trabajo, los cuales muestran que el producto final satisface los requerimientos - se logra una correspondencia entre las especificaciones y el diseño - se demuestra (evidencia a través de pruebas) que el producto final satisface los requerimientos (Continental AG 2010f, s.p.).
  42. 42. 28 Para lograr estos objetivos se utiliza lo siguiente: - plantillas de documentos y aplicaciones UML (Unified Modeling Language, esp. Lenguaje Unificado de Modelación) - flujos de trabajo - directivas de calidad para creación y aplicación. Según el SMK, la documentación se basa sobre los requerimientos del software, a partir de loscuales se deriva un primer diseño de sistema de software. Este diseño se refina hasta el nivel demódulos para probar la exactitud y calidad de la solución. Una vez que el sistema y subsistemaslleguen a este nivel modular se debe crear la especificación del módulo de software. Al finalizarel código (programa) del módulo se publica la especificación del módulo de software y luego seprueba éste mediante el módulo de prueba correspondiente. Esta prueba comprende planificación,diseño, implementación, ejecución, mantenimiento, reutilización de pruebas, documentación depruebas y entorno de prueba. El propósito de estas pruebas es encontrar errores y verificar lacalidad pero no identifica la ausencia de errores ni tampoco se ocupa de la búsqueda yeliminación de errores (depuración) (Continental AG 2010f, s.p.). La figura 1.7 muestra cómo seejecuta el proceso de prueba en el consocio Continental AG. Figura 1.7. Proceso de prueba (modificada de Continental AG 2010f, s.p.) El proceso de prueba consta de cuatro niveles: - prueba de módulo - prueba de integración
  43. 43. 29 - prueba de sistema de software - validación de producto Este proceso debe ejecutarse paralelo al desarrollo de software como se muestra en la figura1.8, en la cual se muestra enmarcado en el recuadro rojo el nivel de prueba utilizado para elmódulo FLIB, vea la sección 1.8.4. Figura 1.8. Proceso de prueba para el desarrollo de software (modificada de Continental AG 2010f s.p.) El proceso de prueba debe ser sistemático, bien documentado y reproducible para obtenerresultados confiables (Continental AG 2010f, s.p.). Según el SMK se deben implementar para losniveles de prueba las siguientes líneas directivas: - una especificación de prueba debe ser creada con definiciones detalladas de cada caso de prueba - la calidad de los casos de prueba es más importante que la cantidad. El diseño de los casos de prueba determina la naturaleza, el alcance y la calidad de las mismas - se debe definir la configuración, las entradas de la prueba y los resultados esperados para cada una - se debe ejecutar una revisión de cada especificación de prueba
  44. 44. 30 - luego de la ejecución de las pruebas deben registrarse los resultados y, si es posible, el tiempo de preparación y ejecución de las mismas. Se debe medir también la cobertura estructural de la prueba - se debe comparar los resultados de las pruebas con los resultados esperados de las mismas - se debe reportar los resultados de las pruebas en el capítulo “resultados de pruebas” del informe de prueba.1.8. Flashloader Un Flashloader (cargador Flash) es una aplicación con la cual el cliente puede actualizar elFirmware de su dispositivo. Las actualizaciones de Firmware se realizan por diversas razonestales como: corrección de errores, modificaciones según los requerimientos del cliente oexpansiones de funcionalidades. En casos normales un Flashloader está compuesto de variosmódulos que dependen de proyectos específicos. En el grupo Flash de la unidad de negocio ID, elsistema de Flashloader se compone de los módulos FMAIN, FIOL y, para las memorias Flashparalelas NOR, del módulo FLIB (vea fig. 1.9, sec. 1.8.1, 1.8.2, 1.8.3 y 1.8.4). Esta estructuramodular permite rastrear los errores y deficiencias del sistema a módulos específico, lo quesignifica una limitación del alcance para una búsqueda detallada de un mensaje de error. El cargador Flash actualiza normalmente datos de programa, aplicaciones, datos gráficos, datosde configuración y también ejecuta el reinicio del sistema. El Flashloader se almacena en un áreaprotegido de la memoria Flash externa del instrumento y la transmisión de datos mediante elcargador Flash para el almacenamiento en la memoria Flash se realiza a través de un “Tester”(probador) o de otra herramienta computarizada. El sistema de Flashloader tiene una arquitectura de lazo sencillo y no se basa ni en un OSEK(Offene Systeme und deren Schnittstellen für die Elektronik im Kraftfahrzeug, esp. SistemaAbierto y su Interfaz para la Electrónica en el Vehículo) ni en interrupciones. Se construye apartir de un “FCS” (Flash Component System, esp. Sistema de Componente Flash), en donde el
  45. 45. 31FCS contiene un lazo sencillo de módulos de software. Los módulos de este sistemaFlashloader son: - controlador para memoria AMD (Advanced Micro Devices Inc.) / Spansion (tipos serial y paralelo) - controlador para memoria I2C (Inter-Integrated Circuit, esp. Circuito Inter-integrado) y para SPI-EEPROMs (EEPROM con interfaz periférica serial) - controlador CAN y UART (Universal Asynchronous Receiver Transmitter, esp. Trasmisor y Receptor Asíncrono Universal) - protocolos de comunicación - protocolos de datos - temporizador, gestión de versión y de partición - compresión y seguridad de datos. El sistema Flashloader completo se presenta en la figura 1.9. Allí se muestra tanto los módulosprincipales que se almacenan en la memoria externa del microcontrolador como la interfaz entreel nivel de hardware y software. Los módulos componentes del sistema Flashloader se presentanseguidamente.1.8.1. MAIN (Programa Principal) Este es el programa principal del sistema de software completo del panel de instrumentos. Esllamado una sola vez luego de un reinicio (reset). En casos normales no debe retornar ningúnvalor (return: void) y tampoco debe finalizar (lazo infinito). Es completamente configurable ypermite adaptar las actividades principales del sistema. Forma parte del proceso de arranque“boot” e inicia la operación del sistema mediante la función FMAIN_vMain.1.8.2. FMAIN (Control Principal del Cargador Flash) El módulo FMAIN (Flashloader Main Control, esp. Control Principal del Cargador Flash)contiene los procesos principales del Flashloader. En este módulo se ejecuta la inicialización yactivación de los distintos tipos de Loaders (cargadores).
  46. 46. 32 Figura 1.9. Sistema de Flashloader1.8.3. FIOL (Librería de Entrada y Salida del Cargador Flash) El módulo FIOL (Flashloader Input/Output Library, esp. Librería de Entrada y Salida delCargador Flash) ofrece interfaces para los controladores de cargador Flash. El objetivo de estemódulo es mantener el contexto de ejecución del Flashloader cuando la memoria se encuentraocupada (en ejecución de una operación embebida de memoria). Esto se realiza mediante unallamada cíclica a una aplicación de usuario dada en forma de apuntador a función. Con esto esposible, mientras los controladores están activos, enviar y recibir mensajes, desencadenar elwatchdog o mantener la marca de tiempo de temporizadores de software (Continental AG 2007,p. 6). Este módulo soporta los siguientes controladores con interfaces de lectura, escritura, borrado yde funciones avanzadas: - controlador Flash FLIB (trabaja con NVM - Non Volatile Memory, esp. Memoria No Volátil - externas)
  47. 47. 33 - controlador Flash SELFLIB (trabaja con NVM internas) - controlador Flash FSEF (trabaja con memorias NVM externas seriales) - controlador EEPROM FLEDS y FLEDI (trabaja con NVM externas) - calculador CRC (Cyclic Redundancy Check, esp. Comprobación de Redundancia Cíclica) - copia de memoria RAM (copiar de la memoria externa a RAM) - algoritmos de encriptación (Continental AG 2007, p. 6).1.8.4. FLIB (Librería de Controlador Flash) FLIB (Flash Driver Library, esp. Librería de Controlador Flash) es un módulo que ofrece lasfuncionalidades para escribir y borrar datos en una memoria Flash NOR paralela externa. Estasdos operaciones se ejecutan en segundo plano. Es necesario una verificación cíclica del estado dela memoria antes de iniciar una nueva operación. Esta verificación se realiza mediante unafunción llamada FLIB_u8StatusCheck. Adicionalmente, el módulo emplea en parte la interfazcomún de memoria Flash CFI (Common Flash Memory Interface) para acceder a las propiedadesde las memorias Flash. Estas corresponden, ente otras, a las cadenas de caracteres “QRY” y“PRI” del “Query Unique ASCII” (interrogante única ASCII), la capacidad de almacenamientodel dispositivo, la cantidad de regiones de bloques de borrado dentro del dispositivo einformación de cada región. El módulo requiere que éste sea ejecutado en RAM cuando la región,en la cual éste está grabado va a ser borrada. Cada operación de borrado o de escritura se puede ejecutar si el módulo FLIB es inicializado através de una llamada a la función FLIB_vInit (función de inicialización del módulo). Una vezque una operación se ha iniciado se puede verificar su progreso mediante llamadas cíclicas a lafunción FLIB_u8StatusCheck. Esta función determina el estado de la operación en ejecución ylleva a cabo los procedimientos necesarios para completarla y finalizarla. Esto se realiza debido aque no todas las operaciones del módulo FLIB pueden ejecutarse con una sola llamada en lamemoria Flash mediante sus algoritmos internos embebidos. En caso de ocurrir algún errordurante la ejecución de una operación, ésta se interrumpe inmediatamente y se envía un mensajede error. Si la operación finaliza exitosamente se envía un mensaje de éxito.
  48. 48. CAPITULO II MARCO METODOLÓGICO En este capítulo se explican detalladamente tanto los componentes del ambiente de desarrollo(dispositivo de depuración, analizador lógico y entorno de desarrollo integrado, ing. IDE;Integrated Development Environment) como la interacción de estos elementos, los objetivos delas tareas especificas para lograr los objetivos específicos de la pasantía y así alcanzar el objetivogeneral de la misma, los procedimientos de medidas y de recopilación de datos, las característicasde las memorias Flash utilizadas y los métodos de prueba y validación.2.1 Ambiente de Desarrollo Para llevar a cabo las actividades de desarrollo del módulo FLIB se emplearon los siguientesinstrumentos: - computador: para la expansión del módulo FLIB para memorias Flash NOR paralelas mediante los programas Microsoft Visual C++® 6.0 y Microsoft Visual Studio 2005 (vea sec. 2.4); para el desarrollo refinado del módulo mediante el depurador (debugger) Green Hills instalado en el computador (vea sec. 2.2) y para el almacenamiento del software en la memoria Flash externa integrada en el panel de instrumentos. - Green Hills Slingshot™: interfaz de comunicación física (eléctrica) entre el computador y el microcontrolador del panel de instrumentos (vea sec. 2.2). - Analizador lógico Intronix Logicport de 34 canales: un analizador lógico para observar y almacenar los valores lógicos de conexiones eléctricas específicas (pines) con respecto al tiempo. Con él se pudieron realizar análisis de la ejecución del módulo FLIB para la optimización (disminución) del tiempo de corrida de sus procedimientos de borrado y de escritura (vea sec. 2.3).
  49. 49. 35 En la figura 2.1 se presenta la interacción y conexión física (eléctrica) entre los instrumentosantes señalados. Allí también se puede observar la utilización de dos paneles de instrumentos; auno de ellos se conectó con el analizador lógico para poder determinar los tiempos de losprocedimientos de borrado y de escritura del módulo FLIB en una configuración típica, entreotros elementos, microcontrolador-memoria Flash externa. Al otro panel de instrumentos no seconectó con el analizador lógico ya que este panel fue diseñado en una configuraciónmicrocontrolador-memoria Flash externa más sencilla y al mismo tiempo más limitada y,además, el objetivo con este panel fue otro; implementar en el módulo FLIB la funcionalidad“Enhanced Buffered Write” esp. escritura a través de búfer ampliado (vea sec. 3.2.6). Figura 2.1. Ambiente de desarrollo

×