Fachbereich 12                                                         Elektrotechnik und Informatik                      ...
-i-VorwortDie vorliegende Arbeit ist ein Praktikumsbericht, der die ausgeführten Tätigkeiten in derFirma Continental Autom...
- ii -InhaltverzeichnisINHALTVERZEICHNIS ....................................................................................
- iii -ANHANG ...............................................................................................................
- iv -AbbildungsverzeichnisABBILDUNG 4.1.         AUSSEHEN EINES TYPISCHEN KOMBIINSTRUMENTS .................................
-v-ABBILDUNG 5.16. FLUSSDIAGRAMM DER FUNKTION „FLIB_VENTERSECSISECTORMODE“ .... 41	  ABBILDUNG 5.17. FLUSSDIAGRAMM DER FUN...
- vi -TabellenverzeichnisTABELLE 5.1.   VON SPANSION ANGEGEBENE SCHREIB- UND LÖSCHVORGANGSLEISTUNG               DES S29GL...
- vii -AbkürzungsverzeichnisAUS..............................................................................................
- viii -RISC..................................................................................... Reduced Instruction Set ...
-2-1.      EinführungMit Beginn der Menschheit, vor ca. 160.000 Jahren, hat sich die Umwelt, gemeint ist damitdie Umgebung...
-3-Diese Arbeit befasst sich mit der oben genannten Tätigkeit zur Optimierung und Schaffungvon Algorithmen, die für die in...
-4-2.      Darstellung des PraktikumsbetriebsDer Konzern Continental AG ist ein börsennotiertes Unternehmen derAutomobilzu...
-5-       4. Einnehmen einer führenden Position der Geschäftsbereiche in ihren relevanten          Märkten.       5. Begre...
-6-Außerdem hat sie Standorte in Österreich, der Schweiz, Tschechische Republik, Rumänien,den USA, Mexiko, Brasilien, Chin...
-7-       - Verarbeitung von Befehlen, Priorisierungen und Informationsdarstellungen mit         intuitiven und ergonomisc...
-8-Die Produkte des Geschäftsfelds sind:       - Integriertes Mittelkonsole,       - Kombiinstrument,       - Sekundär-Dis...
-9-       - Display Center (Display-Zentrum),       - Sample Production (Probe-Produktion) und       - Research & Developm...
- 10 -- Test-Konzept für das Ende der Fertigungslinie (eng Abk. EOL) und- Flash- und EOL-Tools.
- 11 -3.      Vorstellung des TätigkeitsfeldsDas Fachpraktikum fand in der Flashgruppe statt, die zum Departement Software...
- 12 -4.       GrundlagenIn diesem Kapitel werden die in dieser Arbeit verwendeten notwendigen Konzepte undDefinitionen er...
- 13 -4.2.      MikrocontrollerNach Brinkschulte und Ungerer ist ein Mikrocontroller „ein Ein-Chip-Mikrorechner mitspeziel...
- 14 -4.2.2.   Fujitsu-MB86R02-MikrocontrollerDer MB86R02 „Jade-D“ ist ein „Ein-Chip-System“, das einen ARM926EJ-S-Prozess...
- 15 -Abbildung 4.3. Vergleich zwischen parallelem und seriellem FlashspeicherQuelle: in Anlehnung an Spansion LLC 2008b, ...
- 16 -4.4.2.    NANDNAND ist auch eine der dominierenden Flashspeicherarchitekturen und bezeichnet einen Typvon Flashspeic...
- 17 -4.4.3.   Spansions FlashspeicherDie S29GL-N-Geräte gehören zur Flashspeicher-Familie, die mit nur 3 V einzigerSpannu...
- 18 -Dies ermöglicht, den Programmierungsdurchsatz (nur im Word-Modus) zu beschleunigen,sodass in einem Durchgang 256 Wor...
- 19 -4.5.      SMK: Software Method Kit für Software-EntwicklungsprozessSMK umfasst eine Reihe von Methoden zur Software-...
- 20 -Der Test-Prozess besteht aus vier Teststuffen:      - Modul-Test,      - Integrationstest,      - SW-System-Test und...
- 21 -4.6.     FlashloaderEin Flashloader (Flashlader) ist eine Anwendung, mit der Kunden die Firmware ihre Geräteaktualis...
- 22 -Abbildung 4.9. Flashloader-System4.6.2.   FMAIN (Flashloader Main Control)Das FMAIN-Modul enthält die Hauptprozesse ...
- 23 -4.6.4.    FLIB (Flash Driver Library)FLIB, auch genannt FLIB2, ist ein Modul, das die Funktionalität bietet, Daten i...
- 24 -Abbildung 4.10. EntwicklungsumgebungIn der Abbildung 4.10 ist die Interaktion zwischen den oben genannten Instrument...
- 25 -Der Analysator beinhaltet vielfältige Möglichkeiten wie z.B. Multi-Level Triggering,qualifizierter State-Modus mit e...
- 26 -5.          AufgabenIn diesem Kapitel werden sowohl die Ziele, das Messungs- und Erfassungsverfahren vonDaten, die E...
- 27 -Abbildung 5.1. Schaltplan der CAN-Kommunikation im KombiQuelle: in Anlehnung an Continental AG 2008, S.1.Der EN_CAN-...
- 28 -bedeutet Operationsausführung und „1“ keine. Der Unterschied zwischen der bei dem FLIB-Modul ausgeführtenZustanderke...
- 29 -           der Temperatur abhängt. In diesem Fall wurde eine bessere Leistung gemessen als           erwartet.      ...
- 30 -Es wurde jedoch die Möglichkeit analysiert, die Funktionsfähigkeit der Funktion„StatusCheck“ zu optimieren, da sie d...
- 31 -5.2.     Erweiterung der Funktionalitäten des FLIB-ModulsZur Durchführung der zweiten Tätigkeit des Praktikums wurde...
- 32 -Die Abbildung 5.4 zeigt Folgendes: Wenn die Funktion „FIOL_boEraseMultipleSectors“ausgeführt wird, leitet sie ihrers...
- 33 -Abbildung 5.5. Flussdiagramm der „FLIB_u8StartEraseMultipleSectors“5.2.1.2. Program Suspend/Resume„Program Suspend/R...
- 34 -Die Implementierung dieser Funktionalität in das FLIB-Modul wurde durch die Schaffungvon zwei neuen Funktionen reali...
- 35 -Abbildung 5.7. Zeitliches Diagramm der Ausführung einer Aussetzung und Wiederaufnahme einesSchreibvorgangs„Beginn“ e...
- 36 - Abbildung 5.9. Flussdiagramm der Funktion „FLIB_vProgramResume“5.2.1.3. Erase Suspend/ResumeDie verwendeten Flashsp...
- 37 -sowohl auf modularer und eingebetteter Ebene muss die Funktion „FLIB_vEraseSuspend“aufgerufen werden (vgl. Abb. 5.10...
- 38 -                   Abbildung    5.11.     Flussdiagramm   der    Funktion                   „FLIB_vEraseSuspend“	   ...
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Praktikumsbericht Izquiams Martinez in Continental AG
Nächste SlideShare
Wird geladen in …5
×

Praktikumsbericht Izquiams Martinez in Continental AG

38.899 Aufrufe

Veröffentlicht am

Veröffentlicht in: Automobil
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
38.899
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
25
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Praktikumsbericht Izquiams Martinez in Continental AG

  1. 1. Fachbereich 12 Elektrotechnik und Informatik Studiengang Elektrotechnik (ohne Abschluss) Praktikumsbericht zum Fachpraktikum in der Flashgruppe der Firma Continental Automotive GmbH von 12.04.2010 bis 27.08.2010 Praktikum durchgeführt von Name: Martinez F. Vorname: Izquiams J. Matr.-Nr.: 881559 Adresse: Pallaswiesenstraße 5 64289 Darmstadt E-mail: Izquiamsmf@gmail.com Abschluss des Berichts am: 21. Oktober 2010 durchgeführt in der Firma Continental Automotive GmbH VDO-Straße 1 64832 BabenhausenPraktikantenamt: Industrieller Betreuer:Dipl.-Ing. Hans-Werner Wunderlich Holger BeilsteinBewerter Group leader Flash – R & DHölderlinstrasse 3. 57068 Siegen BU Instrumentation & Displays0271-740 2478 06073 12-4919wunderlich@rs.uni-siegen.de Holger.Beilstein@continental- corporation.com
  2. 2. -i-VorwortDie vorliegende Arbeit ist ein Praktikumsbericht, der die ausgeführten Tätigkeiten in derFirma Continental Automotive GmbH, Babenhausen – Deutschland darstellt. DiesesPraktikum war möglich dank des Austauschprogramms zwischen der Universität SimónBolívar Caracas – Venezuela und der Universität Siegen Siegen – Deutschland.Mein Dank gilt in erste Linie den wichtigsten Personen in meinem Leben: meiner Familie.Ohne ihre Unterstützung wäre ein erfolgreicher Abschluss des Austauschjahrs in Deutschlandunmöglich gewesen. Euch ein unendliches und herzliches Dankeschön.Um die Verständlichkeit dieser Arbeit zu verbessern, haben Freunde Vorabversionen vonKapiteln durchgelesen. Für diese Mühe bedanke ich mich sehr herzlich, besonders bei KatrinLübbert.Ebenso möchte ich mich bei der Universität Simón Bolívar bedanken. Für ihr Vertrauen inmich als ein geeigneter Kandidat, um am Austauschprogramm teilzunehmen, bin ich sehrdankbar. Außerdem danke ich der Universität Siegen, deren angenehmer Empfang undfreundliche Behandlung meine Liebe für Deutschland noch mehr wachsen ließen.Besonderen Dank geht an Holger Beilstein, sein Engagement und seine Betreuung wareneinige der Schlüsselfaktoren, um erfolgreich die Ziele dieses Projekts zu erreichen. Auchmöchte ich Oliver Schmidt danken, sein tiefes Wissen über die entwickelten und eingesetztenSysteme (Software und Hardware) von der Flashgruppe waren eine enorme Hilfe, um dasFunktionieren dieser Systeme zu verstehen. Ebenfalls danke ich Dirk Sauerbier und BerndMuntermann, die mir eine wertvolle Unterstützung während der Projektdurchführung gaben.Ich möchte auch Andreína Landaez, Vanessa Weisshaar und Roberto Armas danken. Es wareine Ehre mit euch die schönsten Momente des Austauschjahrs in Deutschland zu teilen.Ähnlicherweise bedanke ich mich bei Aaron Thoma und Katrin Reul. ihr habt mirunbezahlbare Unterstützung, Wissen der Deutschen Sprache und Freundschaft gegeben; ihrseid meine besten Freunde. Auch bedanke ich mich bei allen Freunden, die ich hier inDeutschland kennen gelernt habe (wenn ich eure Namen auflisten würde, würde diesesVorwort sehr lang werden). Ohne euch wäre dieses Jahr nicht so warm gewesen.Schließlich, danke ich allen meinen Freunden, die ich in der Universität Simón Bolívarkennen gelernt habe; besonderes an Richard Gil und Daniela Gil. Die beste Zeit meinesStudiums, teilte ich mit euch.Darmstadt, den 21. Oktober 2010 Izquiams  J.  Martínez  F.  
  3. 3. - ii -InhaltverzeichnisINHALTVERZEICHNIS .......................................................................................................II  ABBILDUNGSVERZEICHNIS ........................................................................................... IV  TABELLENVERZEICHNIS ............................................................................................... VI  ABKÜRZUNGSVERZEICHNIS ........................................................................................ VII  1.   EINFÜHRUNG .................................................................................................................. 2  2.   DARSTELLUNG DES PRAKTIKUMSBETRIEBS ..................................................... 4   2.1.   CONTINENTAL AG ..................................................................................................................................... 4   2.2.   INTERIOR ................................................................................................................................................... 6   2.3.   GESCHÄFTSFELD INSTRUMENTIERUNG UND TREIBER FÜR MENSCH-MASCHINE-SCHNITTSTELLE (ID) .... 7  3.   VORSTELLUNG DES TÄTIGKEITSFELDS ............................................................. 11  4.   GRUNDLAGEN .............................................................................................................. 12   4.1.   KOMBIINSTRUMENT ................................................................................................................................. 12   4.2.   MIKROCONTROLLER ................................................................................................................................ 13   4.2.1.   Toshiba-TX4964FG-120-Mikrocontroller ...................................................................................... 13   4.2.2.   Fujitsu-MB86R02-Mikrocontroller ................................................................................................. 14   4.3.   FLASHSPEICHER ....................................................................................................................................... 14   4.4.   FLASHSPEICHERARCHITEKTUREN ............................................................................................................ 15   4.4.1.   NOR ................................................................................................................................................. 15   4.4.2.   NAND .............................................................................................................................................. 16   4.4.3.   Spansions Flashspeicher ................................................................................................................. 17   4.4.4.   Numonyx Flashspeicher .................................................................................................................. 17   4.5.   SMK: SOFTWARE METHOD KIT FÜR SOFTWARE-ENTWICKLUNGSPROZESS .............................................. 19   4.6.   FLASHLOADER ......................................................................................................................................... 21   4.6.1.   MAIN ............................................................................................................................................... 22   4.6.2.   FMAIN (Flashloader Main Control) .............................................................................................. 22   4.6.3.   FIOL (Flashloader Input/Output Library) ...................................................................................... 22   4.6.4.   FLIB (Flash Driver Library) ........................................................................................................... 23   4.7.   ENTWICKLUNGSUMGEBUNG .................................................................................................................... 23   4.7.1.   Green-Hills-Slingshot™-Debuggerät ............................................................................................. 24   4.7.2.   Intronix-Logicport-34-Kanäle-Logikanalysator ............................................................................. 24   4.7.3.   Microsoft Visual Basic .................................................................................................................... 25  5.   AUFGABEN ..................................................................................................................... 26   5.1.   PERFORMANCE DES SCHREIB- UND LÖSCHVORGANGS DES FLIB-MODULS ............................................ 26   5.2.   ERWEITERUNG DER FUNKTIONALITÄTEN DES FLIB-MODULS ................................................................ 31   5.2.1.   Software-Entwicklung ..................................................................................................................... 31   5.2.1.2.   Program Suspend/Resume ........................................................................................................................ 35   5.2.1.3.   Erase Suspend/Resume ............................................................................................................................. 36   5.2.1.4.   Autoselect Mode ....................................................................................................................................... 38   5.2.1.5.   Secured Silicon Sector .............................................................................................................................. 40   5.2.1.6.   Enhanced Buffered Write ......................................................................................................................... 41   5.2.1.7.   Änderung im FIOL-Modul ....................................................................................................................... 44   5.2.2.   Test- und Validierungsprozess ........................................................................................................ 45   5.2.2.1.   FLIB-Testmodul ....................................................................................................................................... 45   5.2.2.2.   Modul-Spezifikationen ............................................................................................................................. 47   5.2.2.3.   Revision .................................................................................................................................................... 48  6.   SCHLUSSBETRACHTUNG .......................................................................................... 49  LITERATURVERZEICHNIS .............................................................................................. 52  
  4. 4. - iii -ANHANG ................................................................................................................................ 54   A ORGANISATIONSPLAN DER PRAKTIKUMSSTELLE ............................................................................................ 54   B ABBILDUNG NOR-GATTER UND NAND-GATTER .......................................................................................... 55   C ABBILDUNG DER SLINGSHOT-SCHNITTSTELLEN (LINKS) UND DER INTRONIX-LOGICPORT-34-KANÄLE- LOGIKANALYSATOR (RECHTS) ........................................................................................................................ 56   D KOMBIINSTRUMENTE ...................................................................................................................................... 57   E DETAILLIERTE ERGEBNISSE DER MESSUNGEN (ENGLISCH) ............................................................................ 58   F TITELBLÄTTER DER MODIFIZIERTEN SPEZIFIKATIONEN ................................................................................... 60  GLOSSAR ............................................................................................................................... 62  ERKLÄRUNG ........................................................................................................................ 63  
  5. 5. - iv -AbbildungsverzeichnisABBILDUNG 4.1. AUSSEHEN EINES TYPISCHEN KOMBIINSTRUMENTS .................................... 12  ABBILDUNG 4.2. PRINZIPIELLER AUFBAU EINES MIKROCONTROLLERS ................................. 13  ABBILDUNG 4.3. VERGLEICH ZWISCHEN PARALLELEM UND SERIELLEM FLASHSPEICHER ...... 15  ABBILDUNG 4.4. NOR- UND NAND- FLASH-ARRAY-ARCHITEKTUR .................................... 16  ABBILDUNG 4.5. DIAGRAMM EINES S29GL512N-FLASHSPEICHERS VON SPANSION ............. 17  ABBILDUNG 4.6. DIAGRAMM EINES M29W128GH/GL-FLASHSPEICHERS VON NUMONYX ... 18  ABBILDUNG 4.7. TEXT-PROZESS............................................................................................ 19  ABBILDUNG 4.8. TEST-PROZESS PARALLEL ZUR SOFTWARE-ENTWICKLUNG ........................ 20  ABBILDUNG 4.9. FLASHLOADER-SYSTEM ............................................................................... 22  ABBILDUNG 4.10. ENTWICKLUNGSUMGEBUNG........................................................................ 24  ABBILDUNG 5.1. SCHALTPLAN DER CAN-KOMMUNIKATION IM KOMBI................................ 27  ABBILDUNG 5.2. ANALYSE EINER IMPULSFOLGE DURCH DAS PROGRAMM „LOGICPORT“ ..... 27  ABBILDUNG 5.3. ZEIT-BERECHNER VERSION 2.2.0 FÜR FLASHSPEICHER (TIME-CALCULATOR FLASH V2.2.0) ............................................................................................. 29  ABBILDUNG 5.4. DARSTELLUNG DER LÖSCHOPERATION MEHRERER SEKTOREN IM ZEITABLAUF................................................................................................ 32  ABBILDUNG 5.5. FLUSSDIAGRAMM DER „FLIB_U8STARTERASEMULTPLESECTORS“ ............. 33  ABBILDUNG 5.6. FLUSSDIAGRAMM DER „FLIB__U8READYERASEMULTIPLESECTORS“ ......... 34  ABBILDUNG 5.7. ZEITLICHES DIAGRAMM DER AUSFÜHRUNG EINER AUSSETZUNG UND WIEDERAUFNAHME EINES SCHREIBVORGANGS........................................... 35  ABBILDUNG 5.8. FLUSSDIAGRAMM DER FUNKTION „FLIB_VPROGRAMSUSPEND“ ................ 35  ABBILDUNG 5.9. FLUSSDIAGRAMM DER FUNKTION „FLIB_VPROGRAMRESUME“ ................. 36  ABBILDUNG 5.10. ZEITLICHES DIAGRAMM DER AUSFÜHRUNG EINER AUSSETZUNG UND WIEDERAUFNAHME EINES LÖSCHVORGANGS ............................................. 37  ABBILDUNG 5.11. FLUSSDIAGRAMM DER FUNKTION „FLIB_VERASESUSPEND“ ..................... 38  ABBILDUNG 5.12. FLUSSDIAGRAMM DER FUNKTION „FLIB_VERASERESUME“ ....................... 38  ABBILDUNG 5.13. FLUSSDIAGRAMM DER FUNKTION „FLIB_U8ENTERAUTOSELECT“............. 39  ABBILDUNG 5.14. FLUSSDIAGRAMM DER FUNKTION „FLIB_U8GETAUTOSELECTINFO“......... 39  ABBILDUNG 5.15. FLUSSDIAGRAMM DER FUNKTION „FLIB_VEXITAUTOSELECT“ .................. 40  
  6. 6. -v-ABBILDUNG 5.16. FLUSSDIAGRAMM DER FUNKTION „FLIB_VENTERSECSISECTORMODE“ .... 41  ABBILDUNG 5.17. FLUSSDIAGRAMM DER FUNKTION „FLIB_VEXITSECSISECTORMODE“ ....... 41  ABBILDUNG 5.18. „ENHANCED BUFFERED WRITE“.................................................................. 42  ABBILDUNG 5.19. FLUSSDIAGRAMM DER FUNKTION „FLIB_U8STARTWRITEBUFFER“ ........... 43  ABBILDUNG 5.20. FLUSSDIAGRAMM DER FUNKTION „FLIB__U8READYWRITEBUFFER“ ........ 44  ABBILDUNG 5.21. FLUSSDIAGRAMM DER FUNKTION „FIOL_BOERASEMULTIPLESECTORS“ ... 45  ABBILDUNG 5.22. BILDSCHIRMFOTO DES DEBUGGERS GREEN HILL WÄHREND DER DURCHFÜHRUNG DES FLIB-TESTMODULS.................................................. 46  
  7. 7. - vi -TabellenverzeichnisTABELLE 5.1. VON SPANSION ANGEGEBENE SCHREIB- UND LÖSCHVORGANGSLEISTUNG DES S29GL512N-FLASHSPEICHERS ............................................................ 26  TABELLE 5.2. GEMESSENE SCHREIB- UND LÖSCHVORGANGSLEISTUNG DES FLIB-MODULS; S29GL512N-FLASHSPEICHER .................................................................... 28  
  8. 8. - vii -AbkürzungsverzeichnisAUS............................................................................................................................. AustralienBR................................................................................................................................. BrasilienCAN-Bus...................................................................................... Controller Area Network BusCFI......................................................................................... Common Flash Memory InterfaceCH.................................................................................................................................. SchweizCZ........................................................................................................... Tschechische RepublikDMA…………………………………………………………………… Digital Media AdapterE...................................................................................................................................... SpanienECC…………………………………………………………………….. Error Correction CodeEEPROM........................................... Electrically Erasable Programmable Read Only MemoryEOL…………………………………………………………………. End Of (Production) LineEPROM................................................................ Erasable Programmable Read-Only MemoryF.................................................................................................................................. FrankreichFCS………………………………………………………………..... Flash Component SystemGB................................................................................................................................... EnglandH....................................................................................................................................... UngarnHMI.................................................................................................... Human Machine InterfaceI2C........................................................................................................... Inter-Integrated CircuitID...................................... Business Unit Instrumentation & Driver Human Machine InterfaceIDE…………………………………………………….. Integrated Development EnvironmentIND.................................................................................................................................... IndienK............................................................................................................................... Kilo = 1024LCD............................................................................................................ liquid crystal displayLIN.................................................................................................. Local Interconnect NetworkLLD................................................................................................................. Low Level DriverLSI.......................................................................................................... Large Scale IntegrationM........................................................................................................................... Mega = 10242MAL.............................................................................................................................. MalaysiaMEX................................................................................................................................ MexicoNVM......................................................................................................... Non Volatile MemoryRAM................................................................................................... Random-Access MemoryRC....................................................................................................................................... China
  9. 9. - viii -RISC..................................................................................... Reduced Instruction Set ComputerRO................................................................................................................................ RumänienROK.............................................................................................................................. SüdkoreaRP.............................................................................................................................. PhilippinenRUS.............................................................................................................................. RusslandSPI...................................................................................................... Serial Peripheral InterfaceSRAM....................................................................................... Static Random Access MemoryTSOP……………………………………………………………… Thin small-outline packageUART……………………………………….... Universal Asynchronous Receiver TransmitterUSA.........................................................................................Vereinigten Staaten von AmerikaUSB............................................................................................................. Universal Serial BusV..................................................................................................... Volt (Elektrische Spannung)
  10. 10. -2-1. EinführungMit Beginn der Menschheit, vor ca. 160.000 Jahren, hat sich die Umwelt, gemeint ist damitdie Umgebung des menschlichen Wesens, stark verändert. Obwohl der Mensch sich seitdembiologisch wenig verändert hat, hat er mit seiner Intelligenz seine Chancen verbessert. Zudiesen Verbesserungen gehört das Aufkommen von Zivilisationen, die durch dieWissenschaft und Technologie einen Fortschritt im Leben ihrer Mitglieder bedeuteten. DieseLebensbedingungen waren so günstig, dass sie sich schnell zu vermehren begannen. DiesesWachstum bedeutete die Ausweitung der Siedlungen, d.h. der Städte. Seitdem trat dieNotwendigkeit zur Mobilisierung durch relativ lange Distanzen auf. Dafür benutzte derMensch verschiedene Reisemittel, einige direkt aus der Natur wie z.B. Pferde, Hunde,Elefanten etc., andere aus seiner eigenen Schöpfung wie z.B. Fahrräder und vor allem Autos.Das Auto bedeutete für die Menschen, ohne den Einsatz ihrer eigenen Kraft (Energie) reisenzu können. Seit 1886 (Erfindung des Autos durch den Deutschen Carl Benz) hat sich dasAutomobil weiterentwickelt, um diese Mobilisierung effizienter (größere Mobilisation proEnergiemenge) zu machen.Darüber hinaus bedeutete die Domäne des elektrischen Phänomens (Elektrizität) ab dem Jahr1882 für die Menschen einen raschen Fortschritt in ihre Technik und Wissenschaft, unddeshalb in ihrem Lebensstandard. Diese Domäne führte u.a. zur Schaffung von elektrischenund elektronischen Geräten. Zum wichtigsten elektronischen Gerät ist der Transistorgeworden, der die Schaffung wunderbarer Geräte wie z.B. Prozessoren, Mikrocontroller,Speicher etc. ermöglicht hat.Mit der Idee, das Auto zu einem effizienteren Energienutzer zu machen, wurden einigeelektronische Geräte in seine Struktur umgesetzt. Diese erlaubte die automatische undeffiziente Steuerung von einigen seinen internen Prozessen. Auf dieser Weise und um eineAuto-Mensch-Schnittstelle festzustellen, wurde das Kombiinstrument geschaffen (1976 sahman es erstmalig in einem Aston Martin Lagonda; einem Luxusauto mit vier Türen). Seit1929 produzierte die Firma VDO Tachometer, das Hauptelement eines Kombiinstruments.Heutzutage stellt die multinationale Continental AG u.a. dieses Instrument her.Seit den 70er Jahren war es dank der Fortschritte in der Technologie integrierter Schaltkreisemöglich, Halbleiterspeicher zu produzieren. Seitdem haben sich diese Geräte kontinuierlichverbessert. Heutzutage ist der beliebteste bzw. am meisten verwendete Halbleiterspeicher derFlashspeicher. Er hält Informationen gespeichert, auch wenn er keine Stromversorgung hat.Besonders diese Eigenschaft von Flashspeichern in Kombination mit den Eigenschaften vonMikrocontrollern zur effizienten Automatisierung ermöglichen es, einige der internenProzesse eines Autos effektiver und effizienter zu machen. Anwendungen dafür sind u.a. dievon Continental AG hergestellten Kombiinstrumente. Um diese Instrumente produzieren zukönnen, muss das Unternehmen viele Disziplinen der Wissenschaft und der Technikverwenden; die Software-Entwicklung ist eine davon. Diese ermöglicht z.B. die Schaffungvon Algorithmen, um automatisch die Funktionen eines Flashspeichers direkt von einemMikrocontroller zu verwalten und zu steuern.
  11. 11. -3-Diese Arbeit befasst sich mit der oben genannten Tätigkeit zur Optimierung und Schaffungvon Algorithmen, die für die in der Firma Continental AG benutzten externen parallelenNOR-Flashspeicher und Automotivanwendungsmikrocontroller verwendet werden.Die Aufgaben bestanden aus: - Optimierung eines Moduls (Reduzierung von Zeit und Codegröße der Funktionen eines Moduls). - Erstellung und Implementierung von neuen Funktionen in das Modul gemäß den Features der Flashspeicher. - Testen und Validierung der neu geschaffenen Funktionen mittels eines eigenen Verfahrens der Firma; dem SMK.Dieser Praktikumsbericht ist im Wesentlichen in vier Teile gegliedert: - Vorstellung der Firma, wo das Praktikum stattfand. (Kap. 2 „Darstellung des Praktikumsbetriebs“). - Darstellung des Tätigkeitsfelds, Dauer des Praktikums, dessen Abteilung und die Ziele der Arbeitsgruppe und des Praktikums. (Kap. 3 „Vorstellung des Tätigkeitsfelds“). - Die notwendigen theoretischen Grundlagen, um die während des Praktikums durchgeführten Tätigkeiten zu verstehen. (Kap. 4 „Grundlagen“). - Bericht der Tätigkeiten. Hier werden die spezifischen Ziele, die verwendeten Verfahren, die erlangten Ergebnisse und deren Analyse erklärt. (Kap. 5 „Aufgaben“).Im folgenden Kapitel wird das Unternehmen, in dem das Praktikum stattfand, vorgestellt.
  12. 12. -4-2. Darstellung des PraktikumsbetriebsDer Konzern Continental AG ist ein börsennotiertes Unternehmen derAutomobilzulieferbranche, das zu den Top-Fünf der Internationalen Automobilzulieferergehört und in Europa auf Rang zwei steht.2.1. Continental AGDas Unternehmen wurde am 8. Oktober 1871 unter dem Name Continental-Caoutchouc- undGutta-Percha Compagnie als Aktiengesellschaft in Hannover gegründet. Zur Zeit gehört dieContinental AG zur Schaeffler Gruppe, die ein deutscher Maschinenbau-Konzern undZulieferer der Automobilindustrie ist. Die Aktie der Continental AG ist an den deutschenBörsen in Frankfurt, Hannover, Hamburg und Stuttgart notiert, an der US-amerikanischenBörse besteht aber keine Zulassung, deshalb werden die Aktien des Konzerns in den USA inder Form eines American Depositary Receipts (Aktienzertifikate bzw. Hinterlegungsscheine)am OTC-Markt (Over-the-Counter; dt. außerbörslicher Handel) gehandelt (Continental AG2009b, S. 7).Der Konzern hat (ohne Auszubildende) rund 134.400 Mitarbeiter, die an über 190 Standortenfür Produktion, Forschung und Entwicklung in 39 Länder beschäftigt sind. Im Jahr 2009erzielte das Unternehmen 20,096 Milliarden Euro mit einem Eigenkapital von 4.061,7Millionen Euro (Continental AG 2009b, S. U3).Die Continental AG positioniert sich weltweit auf dem ersten Platz beiFahrerassistenzsystemen, hydraulischen Bremssystemen, Kraftstoffversorgungssystemen,Airbagsteuergeräten, Luftfedersystemen für Pkw, Fahrzeuginstrumentierung und im BereichTelematik (Continental AG 2009b, S. 28). Sie ist auf dem zweiten Platz bei elektronischenBremssystemen und Bremskraftverstärkern, dem vierten Platz in Europa mit Lkw-Reifen. BeiIndustriereifen ist sie europäischer Marktführer (Continental AG 2009b, S. 28). Außerdemstehen die Pkw-Reifen von Continental AG weltweit auf Rang 4 und in Europa auf Rang 1(Continental AG 2009b, S. 28).Die Vision des Konzerns ist die individuelle Mobilität sicherer, komfortabler und nachhaltigerzu machen. D.h. gemeinsam mit seinen Kunden will der Konzern durch seineKernkompetenzen, seine Produkte und seine Dienstleistungen die Sicherheit, denFahrkomfort und den Fahrspaß verbessern (Continental AG 2006, S. 4).Das Unternehmen konzentriert sich auf fünf strategische Kernpunkte (Continental AG 2010a,S. 5): 1. Entwickeln und Fertigen von Komponenten, Modulen und komplexen Systemen. Dafür werden Ingenieurleistungen angeboten – je nach Wunsch des Kunden. 2. Unternehmerisches Handeln und konsequentes Kostenmanagement, auch für kleinste Geschäftseinheiten. 3. Verpflichtung zum Klimaschutz.
  13. 13. -5- 4. Einnehmen einer führenden Position der Geschäftsbereiche in ihren relevanten Märkten. 5. Begrenzen der Abhängigkeit von der Automobilkonjunktur durch ein Erwirtschaften von rund 40 Prozent des Umsatzes außerhalb der Automobilindustrie.Am 10. Dezember 2007 erwarb die Continental AG die Siemens VDO Automotive AG zueinem Kaufpreis von 11,4 Milliarden Euro. Damit rückte der Konzern unter die Top-Fünf derAutomobilzulieferindustrie (Continental AG 2010c, o.S.). Außerdem war die Continental AGin 2006 Sponsor der FIFA, 2008 der UEFA und 2010 einer der sechs Top-Sponsoren derFIFA™-Fußball-Weltmeisterschaft (Continental AG 2009b, S. 3). Das Unternehmenverwendet diese Plattformen, um den Bekanntheitsgrad seiner Marke weltweit deutlich zuerhöhen.Der Konzern unterteilt sich in zwei übergeordnete Geschäftsfelder: Rubber Group(Gummiprodukt-Gruppe) und Automotive Group (Kraftfahrt-Gruppe). Sie gliedern sich ininsgesamt sechs Divisionen:Die Rubber Group in: - Passenger Car Tires (Reifen für Personenkraftwagen), - Commercial Vehicle Tires (Nutzfahrzeug-Reifen) und - ContiTech AG (Technische Elastomere).und die Automotive Group in: - Chassis & Safety (Fahrgestell und Sicherheit), - Powertrain (Antriebsstrang) und - Interior (Innenraum).Die Automotive Group entwickelt und produziert innovative Produkte und Systeme, umindividuelle Mobilität und Fahrfreude mit Fahrsicherheit, Umweltverantwortung undWirtschaftlichkeit zu verbinden. Im Jahr 2009 hatte die Gruppe einen Umsatz von 12.042,4Millionen Euro und 78.030 Mitarbeiter (Continental AG 2009b, S. 29).Die Gruppe ist weltweit an etwa 130 Standorten vertreten. Die wichtigsten in Deutschlandsind: - Regensburg (Zentrale), - Schwalbach (Entwicklung, Verwaltung), - Frankfurt am Main, - Villingen-Schwenningen, - Karben, - Babenhausen, - Wetzlar, - Bebra, - Limbach-Oberfrohna und - Dortmund.
  14. 14. -6-Außerdem hat sie Standorte in Österreich, der Schweiz, Tschechische Republik, Rumänien,den USA, Mexiko, Brasilien, China, Japan, Korea, Singapur, Malaysia, Thailand, Indien undAustralien.2.2. InteriorDie Division Interior beschäftigt sich mit dem Informationsmanagement für einenreibungslosen Informationsfluss zwischen Menschen, Fahrzeugen, mobilen Endgeräten undder Umwelt. Im Jahr 2009 erzielte die Division einen Umsatz von 4,4 Milliarden Euro undhatte 26.710 Mitarbeiter, die an 60 Standorten in 22 Ländern produzierten (Continental AG2009b, S. 34). Die Division ist weltweit auf Platz eins im Pkw-Bereich mit dem Verkauf vonInstrumentierungen, Telematiksystemen, Zugangssystemen und Karosserie-Elektroniken. Sieist auch im Nutzfahrzeug-Bereich weltweiter Marktführer im Verkauf von Tachografen,Instrumenten und Satelliten-gestützten Onboard-Units zur Mauterfassung. Außerdem rangiertdie Division im Pkw-Bereich weltweit auf Platz zwei durch den Verkauf vonSekundärdisplays und Reifendruckkontrollsystemen (Continental AG 2010a, S. 24).Die Division stellt die folgenden Produkte her: - Cockpit-Kompletteinheit, - Kombiinstrumente, - Fahrerinformationssysteme, - Heizungs- und Klimasteuerung, - Tachografen, - Bordelektroniksysteme, - Maut-Systeme, - Infotainment und Telematiksysteme und - Navigations- und Multimediasysteme.Ihre Vision lautet „Always On“, das bedeutet, das vernetzte Fahrzeug der Zukunftbenutzerfreundlicher, komfortabler und intelligenter zu gestalten. Des Weiteren soll nullEmissionen erreicht und null Unfälle mittels des Informationsmanagements realisiert werden(Continental AG 2009c, S. 6). Um diese Vision zu verwirklichen, vereinfacht die Division dieSteuerung und Optimierung fahrzeuginterner Informationswege mittels der Integration vonKomponenten in übergeordnete Systeme, stellt neue Funktionalitäten und Dienstleistungendurch intelligente Vernetzungen und schafft komfortorientierten Umgang mitunterschiedlichen Informationen. Besonders wichtig für die Division ist die Optimierung desSchnittstellenmanagements zwischen Mensch und Maschine.Ihre Mission ist das Schaffen von Informationsmanagement im Fahrzeug für Fahrer undMitfahrer. Dafür müssen die folgenden Tätigkeiten ausgeführt werden: - Komponentenintegrierung in Systemen für die Verwaltung und Optimierung des Informationsflusses, - Anbieten neuer Funktionen, wobei eine Verbindung nach außen und neue Dienstleistungen bereitzustellen sind und
  15. 15. -7- - Verarbeitung von Befehlen, Priorisierungen und Informationsdarstellungen mit intuitiven und ergonomischen HMI’s (Human Machine Interface; dt. Mensch- Maschine Schnittstelle) (Continental AG 2009c, S. 7).Ihre Strategie lautet: „Wir informieren Sie, Wir vernetzen – zu geringeren Kosten“ und basiertauf den folgenden vier Eckpfeilern: - Komponentenintegrierung in einem übergeordneten System, um Kosteneinsparung zu erzielen, - Anbieten einer kompletten und breitgefächerten Produktpalette für das Informationsmanagement in Fahrzeugen und dadurch Schaffen eines Alleinstellungsmerkmal als Systemintegrator, - Anbieten von drahtloser oder kabelgebundener Kommunikation sowie zusätzlichen Diensten für den Fahrer und Fahrzeuginsassen und - Entwicklung nutzerfreundlicher, ergonomischer und sicheren HMI’s (Continental AG 2010g, o.S.).Ihre Standorte in Deutschland sind: Babenhausen, Dortmund, Ingolstadt, Karben, Nürnberg,Regensburg und Villingen. Die europäischen Standorte (ohne Deutschland) sind: Birmingham(GB), Brandys, (CZ), Budapest (H), Frenstat (CZ), Hambach (F), Rambouillet (F), Rubi (E),Ruethi (CH), Sibiu (RO), Timisoara (RO), Toulouse (F) und Chistopol (RUS). In Amerikafindet man die Division Interior in: Gravatai (BR), Guadalajara (MEX), Guarulhos (BR),Huntsville (USA), Manaus (BR), Nogales (MEX), Resende (BR), Sao Bernando de Campo(BR) und Seguin (USA), in Asien in Bangalore (IND), Campbell Field (AUS), Changchun(RC), Cheongwon (ROK), Icheon (ROK), Manesar (IND), Manila (RP), Melbourne (AUS),Penang (MAL), Pune (IND), Shanghai (RC), Tianjin (RC), Wuhu (RC) und Malaysia Prai(MAL) (Continental AG 2009a, S. 88 f.).Interior ist in die folgenden vier Business Units (Geschäftsfelder) gegliedert: - Business Unit Body & Security (Geschäftsfeld Körper und Sicherheit), - Business Unit Commercial Vehicles & Aftermarket (Geschäftsfeld Nutzfahrzeuge und Sekundärmarkt), - Business Unit Infotainment & Connectivity (Geschäftsfeld Infotainment und Konnektivität) und - Business Unit Instrumentation & Driver Human Machine Interface (ID) (Geschäftsfeld Instrumentierung und Treiber für Mensch-Maschine-Schnittstelle).2.3. Geschäftsfeld Instrumentierung und Treiber für Mensch-Maschine- Schnittstelle (ID)Das Geschäftsfeld ID beschäftigt sich damit, Informationen optimal aufzubereiten und fahrer-und situationsgerecht zu vermitteln (Continental AG 2010d, o.S.). Das Geschäftsfeld istweltweiter Marktführer im Kombiinstrument-Bereich sowie an zweiter Stelle im Sekundär-Display-Bereich sowie auch im Klima-Steuer-Bereich. Das Geschäftsfeld hat mehr als 8.500Mitarbeiter, die an 26 Standorten weltweit beschäftigt sind und sein Hauptsitz liegt inBabenhausen, Deutschland (Continental AG 2010b, S. 2).
  16. 16. -8-Die Produkte des Geschäftsfelds sind: - Integriertes Mittelkonsole, - Kombiinstrument, - Sekundär-Display, - Frontblende, - Roof-Steuer, - Head-Up-Display, - Klima-Steuer, - Zentral-Eingangsgeräte und - Cockpitmodule (Continental AG 2010b, S. 3).Die Vision des Geschäftsfelds ID ist die der Division Interior: „Always On“. Seine Missionlautet: „Kundenorientierte HMI im Fahrzeug“ und seine Strategie ist das Schaffen einesnachhaltigen Wettbewerbsvorteils durch innovative Produkte, Kundenorientierung, regionalePräsenz und Outperformance von: - Nutzbarkeit (Bereitstellung von Produkten mit ergonomischer, intuitiver HMI für Komfort und Sicherheit), - Innovation (mit Hilfe modernster Technologien und durch Trendsetzung), - Integration (durch das Bieten eines umfassenden Produktportfolios und integrierter Lösungen) und - Erreichen von Wettbewerbsfähigkeit (durch die Bereitstellung von höherer Qualität mit wettbewerbsfähigen Preisen für globale Märkte) (Continental AG 2010b, S. 11).Dieses Geschäftsfeld unterteilt sich in die folgenden acht Abteilungen: - Sales & Portfolio (Verkauf und Portfolio), - Research & Development (Forschung und Entwicklung), - Center of Competence (Kompetenz-Zentrum), - Manufacturing & Logistics (Herstellung und Logistik), - Quality (Qualität), - Controlling (Regelung), - Purchasing (Einkauf) und - Human Resources (Humankapital).Die Abteilung Research & Development hat als Mission die Folgenden: - sichern der Technologieführerschaft des Geschäftsfelds ID weltweit, - Maximieren von Synergien, - Nutzen gemeinsamer Teile und deren Wiederverwendung , um Kosten zu sparen, - Minimieren von Entwicklungszeit und Risiko und - Optimieren des Rechner-Netzes der Abteilung (Continental AG 2010e, o.S.).Diese Abteilung ist in den folgenden acht Departementen unterteilt: - Application Development (Applikationsentwicklung), - Electronic Engineering (Elektronisches Ingenieurwesen), - Software (Software), - Electro Mechanics (Elektro-Mechanik), - Advanced Device Design (weiterentwickeltes Gerät-Design),
  17. 17. -9- - Display Center (Display-Zentrum), - Sample Production (Probe-Produktion) und - Research & Development (Forschung und Entwicklung).Die Visionen der Kernentwicklungssoftware-Abteilung, die zum Departement Softwaregehört, sind: - eine zentrale Software-Technologie Behörde für das Geschäftsfeld ID zu sein, - die Technologieführerschaft des Geschäftsfelds weltweit zu pflegen und zu verbessern und - eine hohe Software-Qualität weltweit zu erlangen (Continental AG 2010h, o.S.).Ihre Missionen sind: - Frameworklieferung für Anwendungsentwicklung, - Entwicklung von gemeinsamen Software-Komponenten und Plattformen, - Schaffen fortschrittlicher Entwicklungen neuer Technologien, - Unabhängig werden mittels der Nutzung von Technologien, Tools und Prozessen für Forschung und Entwicklung, - Schulung und Unterstützung aller weltweiten Standorte für selbsttragende Führung ihrer Projekte und - Ausführen von Qualitäts- und Sicherheitsmanagement (Continental AG 2010h, o.S.).Die Kernentwicklungssoftware-Abteilung gliedert sich in: - Quality Engineering (Qualitätsengeneering), - Project Management & Diagnosis (Projektmanagement und Diagnose), - Operating System & Comunications (Betriebssystem und Kommunikationen) und - Graphics & Architecture (Grafik und Architektur).Projektmanagement und Diagnose hat als Mission: - Definieren, Beobachten und Führen von Projekten sowie deren Fortschritt, - Verantwortungsübernahme für Projekte bezüglich ihres Zeitplans, Budgets und Ergebnisses, - Beantworten aller Fragen der Kunden, - Definieren von Arbeitspaketen für die Entwicklung und Verhandeln der Frist zur Umsetzung, - Risikomanagement und Krisemanagement.Und organisiert sich in: - Flashgruppe, - Diagnose-und-Test-Gruppe und - Projektmanagementkoordinierung.Die Mission der Flashgruppe ist das Erstellen von: - Flashloader-Systemen, - Modulen, - nichtflüchtiger Speicher-Treiber, - Daten-Handler (EEPROM, Flash),
  18. 18. - 10 -- Test-Konzept für das Ende der Fertigungslinie (eng Abk. EOL) und- Flash- und EOL-Tools.
  19. 19. - 11 -3. Vorstellung des TätigkeitsfeldsDas Fachpraktikum fand in der Flashgruppe statt, die zum Departement Software derAbteilung Forschung und Entwicklung gehört und sich im Geschäftsfeld Instrumentierungund Treiber für Mensch-Maschine-Schnittstelle befindet (vgl. Anhang A und Kap. 2). DasPraktikum dauerte 20 Wochen, wobei die wöchentliche Arbeitszeit 35 Stunden betrug unddiese Stunden auf 5 Tagen in der Woche verteilt wurden.Die Flashgruppe beschäftigt sich mit der Kernentwicklungssoftware für verschiedeneFlashspeicher, d.h. die Schaffung, Entwicklung und Implementierung von Flashlader-Systemen, nicht-hardware-abhängigen Flashlader-Modulen, nichtflüchtigen Speicher-Treibern, Daten-Handlern (EEPROM, Flash; siehe Abschnitt 4.3), Test-Konzepten für dasEnde der Fertigungslinie (eng. Abk. EOL), Flash- und EOL-Tools.Diese Produkte werden für die folgenden Plattformen unterstützt: - NEC: V850 Dx3 / Fx3 / Dx4, - Fujitsu: MB91x467, MB90x360, MB91xxxx, JADE, - Micronas: VMC, ARM, - Toshiba: CAPM und CAPA.Das Hauptziel der Flashgruppe ist das Schaffen von Flashlader-Systemen, womit man eine ineinem Flashspeicher gespeicherte Firmware eines Streuergeräts neu programmieren kann.Grundsätzlich werden diese Systeme für die Aktualisierung der Software des externenSpeichers des Instruments benutzt, wenn diese Software wegen Änderungen oder Fehlerverändert werden muss. Die Aktualisierung umfasst die Änderung der Programmdaten,Anwendungen, grafischen Daten und Konfigurationsdaten. Die Flashlader werden geschaffen,um auch Systembooten auszuführen und sie werden in einem geschützten Bereich desFlashspeichers des Instruments gespeichert.Die Tätigkeit des Praktikums, die im engen Zusammenhang mit den obengenannten Aufgabender Flashgruppe stand, bestand in der Beurteilung, Optimierung und Erweiterung eines der inder Firma vorhandenen Niedrig-Niveau-Treibers (eng. Abk. LLD; Low Level Driver). DieserTreiber war das FLIB-Modul (siehe 4.6.4). Es sollte die Code-Größe, dieNeuprogrammierungs- und die Löschzeit reduziert bzw. optimiert und die Logik verbessertwerden. Die Erweiterung bestand aus der Verbesserung vorliegender Funktionen und derErstellung neuer Implementierungen und Funktionalitäten für parallele NOR-Flashspeicher(siehe 4.4.1). All diese Aufgaben wurden nach den Kernsoftwareentwicklungsrichtlinien fürneue Implementierungen von Continental AG (siehe 4.5) durchgeführt.
  20. 20. - 12 -4. GrundlagenIn diesem Kapitel werden die in dieser Arbeit verwendeten notwendigen Konzepte undDefinitionen erklärt, z.B. von Kombiinstrument, Mikrocontroller, Flashspeicher,Flashspeicherarchitektur, SMK und Flashlader (Flashloader). Auch werden die Featuresspezifischer Komponenten dargestellt, z.B. von den Mikrocontrollern (Toshiba und Fujitsu),den Flashspeichern (Spansion und Numonyx), von den verschiedenen Modulen, um einenFlashlader zu schaffen (MAIN, FMAIN, FIOL und FLIB) und von den Komponenten derEntwicklungsumgebung (Debuggerät, Logikanalysator und IDE). Abschließend wird dieEinwicklungsumgebung vorgestellt.4.1. KombiinstrumentKombiinstrument ist eine Abkürzung für Kombinationsinstrument. Dies bezeichnet denInstrumentenblock von Kraftfahrzeugen, der normalerweise aus dem Zusammenfügen vonTachometer, Odometer, Drehzahlmesser, Tankanzeige, Kühlmitteltemperaturanzeige,Kontrollleuchten und Fahrtrichtungsanzeiger besteht.Heutzutage sind die Anzeigen elektrisch und um diese zu steuern, ist die Verwendung vonKleincomputern notwendig. Die Einführung von Mikroprozessoren und Mikrocontrollernermöglicht das Hinzufügen von Flüssigkristallbildschirmen, Frontsichtdisplays, grafischenAnzeigen, Bordcomputer-Funktionalitäten, akustischen Ausgabemöglichkeiten,Wegfahrsperre-Implementierungen in das Kombiinstrument sowie die Auswertung derInformationen der Motorbelastung und Fahrstrecke, um dem Fahrer z.B. auf eine fälligeInspektion hinzuweisen. Das Kombiinstrument ist als Steuergerät am CAN-Bus (ControllerArea Network Bus, dt. Controller-Bereich-Netzwerk-Bus) des Fahrzeugs angebunden undsammelt dadurch Informationen zur Anzeige von den angeschlossenen Steuergeräten wie z.B.Motorsteuerung, Antiblockiersystem und Elektronisches Stabilitätsprogramm. Die Abbildung4.1 zeigt das Aussehen eines typischen Kombiinstruments.Abbildung 4.1. Aussehen eines typischen KombiinstrumentsQuelle: Daimler AG 2008 o.S.
  21. 21. - 13 -4.2. MikrocontrollerNach Brinkschulte und Ungerer ist ein Mikrocontroller „ein Ein-Chip-Mikrorechner mitspeziell für Steuerungs- oder Kommunikationsaufgaben zugeschnittener Peripherie“(Brinkschulte/Ungerer 2007, S. 73). Halbleiterchips vereinen mit einem Prozessor auf einemChip mindestens Peripheriefunktionen. Normalerweise befindet sich der Arbeits- undProgrammspeicher teilweise oder komplett im gleichen Chip. Moderne Mikrocontrollerbestehen häufig aus komplexen Peripheriefunktionen wie z.B. CAN-, LIN- (LocalInterconnect Network), USB- (Universal Serial Bus), I2C- (Inter-Integrated Circuit), SPI-(Serial Peripheral Interface), serielle- oder Ethernet-Schnittstellen, Pulsweitenmodulations-ausgängen, LCD (liquid crystal display; dt. Flüssigkristallbildschirm) -controller und -treiberund schließlich Analog-Digital-Wandler (Wikipedia 2010a, o.S). Die Abbildung 4.2 gibteinen Überblick des prinzipiellen Aufbaus eines Mikrocontrollers.Abbildung 4.2. Prinzipieller Aufbau eines MikrocontrollersQuelle: Brinkschulte/Ungerer 2007 S. 74.4.2.1. Toshiba-TX4964FG-120-MikrocontrollerDer TX4964FG-120 (kurz TX4964) ist ein Familienmitglied der Toshiba-64-Bit-System-RISC-Familie, der für ein breites Spektrum von Anwendungen entwickelt wurde, z.B. für: - Fahrer-Informations-, - Auto-Infotainment- und - Navigationssysteme.TX4964 basiert auf Toshibas TX49/L4-Kern und umfasst Peripherieschaltungen wie Grafik-Bildschrim-Controller, eingebetteten Speicher, Grafik-Beschleuniger, Bildfangschaltung,DMA-Controller, mehrere serielle Kommunikationsschnittstellen, CAN-Bus-Schnittstelle,Intervall-Zeitgeber, äußerer Bus-Controller (für NOR-Flash; siehe 4.4.1 und SRAM; StaticRandom Access Memory, dt. statischer Direktzugriffspeicher) und allgemein verwendbareEingabe- und Ausgabeschnittstelle (I/Os).
  22. 22. - 14 -4.2.2. Fujitsu-MB86R02-MikrocontrollerDer MB86R02 „Jade-D“ ist ein „Ein-Chip-System“, das einen ARM926EJ-S-Prozessorkernund einen MB86296 (CORAL-PA) 2D/3D-Grafik-Bildschirm-Controller-Kern beinhaltet.Jade-D hat eine LSI-Architektur, die mehrere I/Os für Automotiv-Anwendungen, z.B. CAN,MediaLB, etc., und einen äußeren Bus-Controller (für NOR-Flashspeicher und RAM;Random Access Memory; dt. Direktzugriffspeicher) in einer einzigen Chip-Lösung umfasst.Das System bietet vielseitige grafische Systemlösungen und auch einen Gigabit-Pixel-Link(neuer Automotivlinkstandart) für Automotiv-Anwendungen.4.3. FlashspeicherFlashspeicher sind nichtflüchtige digitale Speicherchips, d.h. sie behalten ihre Daten auchdann, wenn man keinen Elektrischen Strom fürs Speichergerät verwendet. Sie bestehen auseinem Array von Speicherzellen, die in einer Reihe von aufeinanderfolgenden Blöckenaufgeteilt sind. Diese Blöcke sind aus einem bestimmten Betrag von Seiten zusammengesetztund jede dieser Seiten wird als eine Gruppe von aufeinanderfolgenden Speicherzellenbetrachtet. Diese Geräte werden auch als Lösch-Flash-EEPROM bezeichnet, weil sie Datenelektrisch schreiben (speichern) und löschen können und weil der Löschvorgang vielschneller als der von den vorherigen EPROM- oder EEPROM-Geräten ist. Die Lese- undSchreiboperation von Daten in diesen Speichern werden innerhalb einer bestimmen Seitevollzogen, aber eine Überschreibung von Daten in einer Seite ist nicht möglich. Dafür ist esnötig, zuerst einen ganzen Block, in dem diese Seite enthalten ist, zu löschen und dann dieneuen Daten in diesem Block zu schreiben. Häufig werden die Flashspeicher für einedauerhafte Speicherung einer Firmware in Geräten mit Mikrocontroller verwendet, z.B. ineingebetteten Systemen, in denen Konfigurations-, Programm- oder Speicher-Daten benutztwerden.Diese Speicher werden nach Zugriffsart in wahlfreien und sequentiellen Zugriff unterteilt. DieDirektzugriffsflashspeicher erlauben, dass man auf eine beliebige Speicherzelle mittels ihrerSpeicheradresse direkt zugreift. Häufig entspricht diese Adresse einem Word und nicht einerSpeicherzelle bzw. einem Bit.Die sequentiellen Flashspeicher erlauben eine serielle Datenübertragung, d.h. ein Bit nachdem anderen statt 8-, 16- oder 32-bit-paralleler Sendung und Zugreifen auf einen ganzenAdressbereich, in dem man Lesen und Schreiben ausführen kann. Dies ermöglicht es, wenigerVerbindungen und Pins pro Chip zu haben. Dadurch wird das Design vereinfacht, die Kostenverringert und die Formfaktoren in verschiedenen eingebetteten Anwendungen reduziert(Spansion LLC 2008b, S. 1). Die Abbildung 4.3 zeigt einen Vergleich zwischen parallelenund seriellen Flashspeichern.
  23. 23. - 15 -Abbildung 4.3. Vergleich zwischen parallelem und seriellem FlashspeicherQuelle: in Anlehnung an Spansion LLC 2008b, S. 1.4.4. FlashspeicherarchitekturenHäufig verwendete Flasharchitekturen sind „NOR“ und „NAND“, die in diesem Abschnittausführlich dargestellt werden. Die Sortierung der Flashspeicher wird bezüglich der Art derinternen Verschaltung der Speicherzelle und zusätzlich der Speicherdichte und derZugriffgeschwindigkeit gemacht.4.4.1. NORNOR ist eine der wichtigsten dominierenden Flashspeicherarchitekturen; es handelt sich umeinen Typ von Flashspeicher, welcher aus einer NOR-Gatter-Architektur (vgl. Abb. 4.4 undAnhang B) besteht.Durch diese Architektur ist es möglich, auf alle Bytes wahlfrei beim Lesen und Schreibenzuzugreifen, während beim Schreiben nur ein Übergang der Bits von logischer „1“ nachlogischer „0“ erlaubt wird. Hingegen wird ein Löschvorgang nur für einen vollständigenBlock anwendbar. D.h. alle Speicherzellen werden innerhalb eines Blocks bei einem einzigenLöschbefehl von „0“ nach „1“ gesetzt. Die Größe eines Blocks ist von Gerät zu Gerätunterschiedlich, aber manchmal variiert sie auch innerhalb eines Geräts. Kleine Sektorenwerden, wenn sie innerhalb des Geräts von anderen großen Sektoren begleitet werden, als„Bootsektoren“ bezeichnet; sie werden entweder im unteren oder oberen Speicherarray-Bereich angestellt.NOR wird typischerweise für Code-Speicherung und Aufführung verwendet, er besitzt zu 100Prozent bekanntermaßen gute Bits zum Zeitpunkt der Lieferung des Geräts, er erlaubt eineCode-Ausführung direkt aus NOR-Flashspeicher und übersteht mehrere 100.000 Schreib- undLöschzyklen (Spansion LLC 2005, S. 3).
  24. 24. - 16 -4.4.2. NANDNAND ist auch eine der dominierenden Flashspeicherarchitekturen und bezeichnet einen Typvon Flashspeicher, welcher aus einer NAND-Gatter-Architektur (vgl. Abb. 4.4 und AnhangB) besteht. Diese Art von Flashspeicher basiert auf einer seriellen zusammengesetztenAnordnung der einzelnen Speicherzellen und wird häufig für große Datenspeichermengenverwendet. Wie auch bei der NOR-Architektur bestehen NAND-Flashspeicher aus Seiten, diein Blöcken gruppiert werden. Um eine Seite wieder zu schreiben, d.h. die Bits in der Seite von„1“ nach „0“ wieder zu kippen, ist es notwendig, zuerst den Sektor, in dem die Seite liegt, zulöschen. Häufig passiert es, dass bereits zum Zeitpunkt der Auslieferung des Geräts einigeDefektblöcke, die als „Bad Blocks“ bezeichnet werden, vorhanden sind. Sie müssen spätermittels Treibersoftware berücksichtigt werden, d.h. diese Fehler sollten zumindest detektiertund, wenn möglich, korrigiert werden. Es wird allerdings garantiert, dass im ersten Block desSpeichers die Lese-, Schreib- und Löschoperation für eine bestimmte Anzahl anWiderholungen fehlerfrei durchgeführt werden. Dies erlaubt, wichtige Initialdaten in fixenBereichen des ersten Sektors zu speichern und die anderen Daten variabel zu halten.Diese Architektur erfordert einen relativ langen ersten Lesezugriff des Speicherarrays, hatnormalerweise zu 98 Prozent gute Bits zum Zeitpunkt der Lieferung des Geräts; falls derSpeicher mit zusätzlichen Bitfehlern ausgeliefert wird. Wegen dieser Fehler ist die Nutzungvon Fehlerkorrekturverfahren (Error Correction Code; eng. Abk ECC) notwendig. ImVergleich mit der NOR-Architektur ist die NAND-Architektur viel schneller im Schreib- undLöschverfahren und das pro-bit NAND-Kosten ist viel niedriger als das von NOR (SpansionLLC 2005, S. 3).Abbildung 4.4. NOR- und NAND- Flash-Array-ArchitekturQuelle: in Anlehnung an Nikkei Electronics Asia 2005, o.S.
  25. 25. - 17 -4.4.3. Spansions FlashspeicherDie S29GL-N-Geräte gehören zur Flashspeicher-Familie, die mit nur 3 V einzigerSpannungsversorgung funktionieren und aus der 110-nm-MirrorBit-Technologie hergestelltwerden. Der S29GL512N ist ein 512-Mbit-Flashspeicher, der auf 32 MWord oder 64 MByteorganisiert ist. Das Gerät hat einen 16-Bit Datenbus, der auch mithilfe des „BYTE#-Pins“(vgl. Abb. 4.5) als 8-Bit verwendet kann. Der Flashspeicher wird in einem 56-Pin TSOP(Thin small-outline package) angeboten und hat getrennte „Chip Enable“ (CE#), „WriteEnable“ (WE#) und „Output Enable“ (OE#) Steuerungspins (vgl. Abb. 4.5). Das Gerät istkomplett mit dem „JEDEC single-power-suply“-Flashspeicher-Standard-Befehlssatzkompatibel. Die Befehle werden zum Flashspeicher in Standard-Mikroprozessor-Schreibzeitgeschrieben. Während der Schreib-Zyklen werden Adresse, Daten undLöschoperationsbefehle gehalten. Eingebettete Schreib- und Löschprozeduren werden durchBefehlssequenzen eingeleitet und diese Prozeduren werden durch einen eingebettetenController durchgeführt. Sobald ein eingebetteter Schreib- oder Löschvorgang gestartet ist,muss das Host-System nur „DQ7“ oder „DQ6“ Zustandsbits oder einen RY/BY# Ausgang(vgl. Abb. 4.5) überwachen, um festzustellen, ob der Vorgang abgeschlossen ist oder nicht.Zur Erleichterung der Operationen reduziert ein „Unlock Bypass Mode“ die Befehlssequenz.Damit wird jede Operationszeit reduziert und die gesamten Vorgänge werden schnellerdurchgeführt.Das Gerät besitzt ein „Erase-Suspend/Erase-Resume-Feature“. Dies ermöglicht, dass dasHost-System eine Löschoperation pausiert, um auf den nichtausgesetzten Sektoren Lese- oderSchreibvorgang durchzuführen und dann die Löschoperation abzuschließen. Ähnlicherweisehat der Flashspeicher ein „Program-Suspend/Program-Resume-Feature“, das eineSchreiboperation pausiert, um auf nichtausgesetzten Sektoren eine Leseoperationdurchzuführen und dann die Schreiboperation abzuschließen. Zusätzlich bietet das Geräteinen „geschützten Silizium-Sektor-Bereich“, der 128-Word/256-Byte Speicherkapazität hatund innerhalb dessen Code oder Daten dauerhaft geschützt werden können. Außerdem besitztder Flashspeicher den „Autoselect Mode“, der die Hersteller-, Gerätsidentifikation undSektor-Gruppe-Schutz-Verifikation durch Kennzeichnungscodeausgabe auf DQ7-DQ0 (vgl.Abb. 4.5) bietet. Dies ist hilfreich, um automatisch ein Gerät mit dem entsprechendenProgrammierungsalgorithmus anzupassen.4.4.4. Numonyx FlashspeicherDer M29W128GH/GL ist ein 128-MBit (8-MBit im Word-Modus oder 16-MBit im Byte-Modus) Flashspeicher. Das Gerät erfordert eine einzelne Spannungsversorgung zwischen 2,7und 3,6 V. Wie im Fall von Spansion, ist der Speicher-Array in 64-KWord/128-KByteeinheitlichen Blöcken aufgeteilt. Auch er benötigt Befehle, um ihn zu steuern; er steht imEinklang mit „JEDEC Standards“. „Chip Enable-“, „Output Enable-“ und „Write Enable-Signale“ (vgl. Abb. 4.6) steuern die Busoperation des Geräts. Der Flashspeicher verfügt überein „Write-to-buffer-Feature“, das den Durchsatz durch Programmierung in einemDurchgang eines Puffers von 32 Words/64 Bytes verbessert. Im Gegensatz zum Flashspeichervon Spansion hat dieser Speicher von Numonyx ein „Enhanced-Buffered-Program-Feature“.
  26. 26. - 18 -Dies ermöglicht, den Programmierungsdurchsatz (nur im Word-Modus) zu beschleunigen,sodass in einem Durchgang 256 Words geschrieben werden können.Dieses Gerät hat auch - analog zum „geschützten Silizium-Sektor-Bereich“ von Spansion -einen zusätzlichen Block, „den erweiterten Block“ mit einer Speicherkapazität von 128Words oder 256 Bytes. Der Speicher wird auch in 56-Pin-TSOP angeboten und unterstütztsowohl „Erase-Suspend/Erase-Resume-Feature“ und „Program-Suspend/Program-Resume-Feature“ als auch „DQ7“, „DQ6“ Zustandsbits, RY/BY#-Pin Überwachung, „Unlock BypassMode“ und „Autoselect Mode“. Abbildung 4.5. Diagramm eines S29GL512N- Flashspeichers von Spansion Quelle: in Anlehnung an Spansion LLC 2008a, S.12. Abbildung 4.6. Diagramm eines M29W128GH/GL- Flashspeichers von Numonyx Quelle: in Anlehnung an Numonyx 2009, S.9.
  27. 27. - 19 -4.5. SMK: Software Method Kit für Software-EntwicklungsprozessSMK umfasst eine Reihe von Methoden zur Software-Entwicklung, die von Continental AGverwendet wird. SMK gibt Richtlinien für den Software-Entwicklungsprozess an und hat alsZweck, eine Sammlung von Anforderungen in ein funktionales Software-Produkt oderSoftware-basiertes System zu verwandeln. Somit muss dieses Produkt oder System denangegebenen Anforderungen des Kunden entsprechen. Als Ergebnis einer erfolgreichenUmsetzung dieses Prozesses: - wird ein Software-System erschaffen, - werden Zwischen-Arbeitsprodukte entwickelt, die zeigen, dass das Endprodukt auf den Anforderungen beruht, - wird eine Übereinstimmung zwischen Anforderungen und Design erreich, - wird der Nachweis (z.B. Beweis durch Tests) erbracht, dass das Endprodukt den Anforderungen genügt (Continental AG 2010f, o.S).Zur Erreichung dieser Ziele wird Folgendes benutzt: - Dokumentvorlagen und UML-Anwendungen, - Workflows und - Qualitätsrichtlinien für Gestaltung und Umsetzung.Gemäß dem SMK basiert die Dokumentation auf den Software-Anforderungen, aus denen einerstes SW-System-Design abgeleitet wird. Dieses System-Design wird bis zur Modul-Ebeneverfeinert, um die Richtigkeit und Qualität der Lösung zu überprüfen. Sobald das System unddie Subsystem-Struktur bis zu dieser Ebene reicht, muss die SW-Modul-Spezifikationgeschrieben werden. Nach Beendigung des Modul-Codes wird die SW-Modul-Spezifikationhinzugefügt; danach wird das Modul durch das Testmodul geprüft. Diese Prüfung umfasstPlanung, Design, Implementierung, Ausführung, Wartung und Wiederverwendung von Tests,Testdokumentation und Testumgebung. Ihr Zweck ist es, Fehler zu finden und die Qualität zuprüfen, aber sie beweist nicht die Abwesenheit von Fehlern und befasst sich auch nicht mitdem Auffinden und Entfernen von Fehlern (Debuggen) (Continental AG 2010f, o.S). DieAbbildung 4.7 zeigt wie der Test-Prozess in Continental AG durchgeführt wird.Abbildung 4.7. Text-ProzessQuelle: in Anlehnung an Continental AG 2010f, o.S.
  28. 28. - 20 -Der Test-Prozess besteht aus vier Teststuffen: - Modul-Test, - Integrationstest, - SW-System-Test und - Produktgültigkeitserklärung.Dieser Prozess muss parallel zur Software-Entwicklung durchgeführt werden die Abbildung4.8 veranschaulicht.Abbildung 4.8. Test-Prozess parallel zur Software-EntwicklungQuelle: in Anlehnung an Continental AG 2010f, o.S.Der Test-Prozess muss ein systematischer, gut dokumentierter und reproduzierbarer Prozesssein, um zuverlässige Testergebnisse zu erhalten (Continental AG 2010f, o.S).Nach dem SMK müssen für die Modul-Teststufe die folgenden Richtlinien angewendetwerden: - Eine Test-Spezifikation muss mit detaillierten Testfall-Definitionen für alle Prüfungen erstellt werden. - Die Qualität der Testfälle wird wichtiger als die Quantität. Das Testfall-Design wird die Art und den Umfang der Tests und damit deutlich die Qualität der Prüfungen bestimmen. - Es müssen die Einrichtung, die Test-Eingänge und die erwarteten Ergebnisse für jeden Testfall definiert werden. - Es muss eine Überprüfung (Revision) für jede Test-Spezifikation durchgeführt werden. - Nach der Ausführung der Tests müssen die Testergebnisse und, wenn möglich, die Zeit für die Vorbereitung und Durchführung aufgezeichnet werden. Auch die strukturelle Testabdeckung muss gemessen werden. - Es müssen die Testergebnisse mit den erwarteten Ergebnissen verglichen werden. - Die Ergebnisse der Tests müssen im Kapitel „Testergebnisse“ des Prüfberichts zusammengefasst werden.
  29. 29. - 21 -4.6. FlashloaderEin Flashloader (Flashlader) ist eine Anwendung, mit der Kunden die Firmware ihre Geräteaktualisieren können. Firmware-Aktualisierungen müssen aus unterschiedlichen Gründen wieFehlerbehebungen, Kunden-Änderungswünsche oder Funktionserweiterungen durchgeführtwerden. In Normalfällen besteht ein Flashlader aus mehreren Modulen, aber die sindabhängig von spezifischen Projekten. In der Flashgruppe des Geschäftsfelds ID besteht dasFlashloader-System aus FMAIN-, FIOL- und für parallelen NOR-Flashspeicher auch ausFLIB-Modulen. Diese Modular-Struktur ermöglicht, dass System-Fehler und Mängel zu denspezifischen System-Modulen zurückgeführt werden können, was zu einer Einschränkung desAnwendungsbereichs für eine detaillierte Fehlermeldungssuche führt.Der Flashlader aktualisiert normalerweise Programmdaten, Anwendungen, grafische Datenund Konfigurationsdaten und führt auch das Systembooten durch. Der Flashlader wird ineinem geschützten Bereich des Flashspeichers des Instruments gespeichert und dieDatenübertragung zum in dem Instrument eingespeicherten Flashlader erfolgt durch einen„Tester“ oder ein anderes PC-Tool.Das Flashloader-System hat eine einfache Schleife-Architektur und es basiert weder aufOSEK noch auf Unterbrechung. Es wird aus „FCS“ (Flash-Komponentensystem) gebaut,wobei das FCS eine einzelne Schleife von Softwaremodulen enthält. Die Module desFlashloader-Systems sind: - Speicher-Treiber für AMD/ Spansion Speicher (serielle und parallele Arten), - Speicher-Treiber für IIC (Inter-Intergrated Circuit) und SPI-EEPROMs, - CAN- und UART-Treiber, - Kommunikationsprotokolle, - Datenprotokolle, - Software-Timer, Versionsmanagement, Partitionsmanagement, - Datenkompression und Datensicherheit.Das ganze Flashloader-System wird in der Abbildung 4.9 dargestellt. Hier werden sowohl dieverschiedenen in dem Mikrocontroller gespeicherten Hauptmodule als auch die Schnittstellezwischen der Hardware- und Software-Ebene gezeigt. Die Bestandteilmodule desFlashloader-Systems werden nachfolgend näher erläutert.4.6.1. MAINDies ist das Hauptprogramm des ganzen Softwaresystems. Es wird nur einmal nach einem„Reset“ aufgerufen und soll im Normalfall keinen Wert zurückmelden oder sich selbst nichtbeenden. Es ist auch voll konfigurierbar und erlaubt, die Hauptaktivitäten des Systems zukonfigurieren. Es nimmt an dem Bootprozess teil und beginnt u.a. die FMAIN_vMain()-Systemoperation.
  30. 30. - 22 -Abbildung 4.9. Flashloader-System4.6.2. FMAIN (Flashloader Main Control)Das FMAIN-Modul enthält die Hauptprozesse des Flashladers. Hier werden dieInitialisierung und Aktivierung der verschiedenen Arten der Lader durchgeführt.4.6.3. FIOL (Flashloader Input/Output Library)Das FIOL-Modul bietet Schnittstellen zu den Flashloader-Treibern. Sein Ziel ist es, denFlashloader-Umgebungslauf zu halten, wenn die Speicher beschäftigt sind. Dies wird durchzyklischen Aufruf einer User-Anwendung getan, die als Funktionszeiger angegeben wird.Damit ist es möglich, während die Treiber aktiv sind, Mitteilungen zu senden und zuempfangen, Watchdog zu triggern oder Zeitstempel von Software-Zeitgeber zu halten(Continental AG 2007, S. 6).Dieses Modul unterstutzt die folgenden Treiber mit Lese-, Schreib-, Lösch- und erweiterterFunktionsschnittstelle: - Flash-Treiber FLIB (arbeitet mit externen NVM - Non Volatile Memory, dt. nichtflüchtigen Speichern), - Flash-Treiber SELFLIB (arbeitet mit internen NVM), - Flash-Treiber FSEF (arbeitet mit externen seriellen Flashspeicher NVM), - EEPROM-Triber FLEDS and FLEDI (arbeitet mit externen NVM), - CRC-Berechnung FCRC, - RAM Memcopy (Kopieren von Speicher in RAM) und - Verschlüssel-Algorithmen (Continental AG 2007, S. 6).
  31. 31. - 23 -4.6.4. FLIB (Flash Driver Library)FLIB, auch genannt FLIB2, ist ein Modul, das die Funktionalität bietet, Daten in einemparallelen NOR-Flashspeicher zu löschen und zu schreiben. Diese beiden Operationen werdenim Hintergrund ausgeführt, solange der Vorgang nicht abgeschlossen ist. Eine zyklischeÜberprüfung des Gerätzustands wird notwendig vor dem Beginn einer neuen Operation. Dieswird durch eine Funktion namens „FLIB_u8StatusCheck“ gemacht. Zusätzlich nutzt dasModul teilweise die CFI (Common Flash Memory Interface), um Eigenschaften vonFlashspeicherbausteinen auszulesen. Diese umfassen z.B. „Query Unique ASCII ´QRY´ und´PRI´ Strings“, die Speichergröße des Geräts, die Anzahl von Lösch-Block-Regioneninnerhalb des Geräts und die Information jeder Region. Das Modul erfordert, dass es im RAMausgeführt wird, wenn der Bereich, in dem es gespeichert ist, gelöscht wird.Jede Lösch- oder Schreiboperation kann gestartet werden, wenn das FLIB Modul durch denAufruf der Funktion „FLIB_vInit“ (Initialisierungsfunktion) initialisiert wurde. Sobald eineOperation begonnen hat, kann der Fortschritt dieser Operation durch zyklischen Aufruf derFunktion „FLIB_u8StatusCheck“ überprüft werden. Diese Funktion bestimmt den Zustandder laufenden Operation und führt die erforderlichen Maßnahmen durch, um den aktuellenVorgang abzuschließen. Dies wird getan, weil nicht alle Operationen mit dem interneneingebetteten Algorithmus des Geräts abgeschlossen werden können. Falls ein Fehlerwährend des Vorgangs einer Operation auftritt, wird die Laufende Operation sofort beendetund eine Fehlermeldung gesendet. Wenn der Vorgang erfolgreich beendet wurde, wird eineErfolgsmeldung gesendet.4.7. EntwicklungsumgebungZur Durchführung der Entwicklungsaktivitäten für das FLIB-Modul wurden die folgendenInstrumente benutzt: - Rechner: für die Erweiterung des FLIB-Moduls für parallelen NOR-Flashspeicher durch Microsoft Visual C++ 6.0- und Microsoft Visual Studio 2005-Programm (siehe 4.7.3); für die verfeinerte Entwicklung des Moduls durch den im Rechner installierten Green-Hill-Debugger (siehe 4.7.1); für das Speichern der Software im integrierten Flashspeicher des Kombiinstruments. - Green Hills Slingshot™: Kommunikationsschnittstelle zwischen dem Rechner und dem Mikrocontroller des Kombiinstruments (siehe 4.7.1). - Intronix-Logicport-34-Kanäle-Logikanalysator: ein Logik-Analysator, um in Bezug auf die Zeit die logischen Werte in spezifischen elektrischen Verbindungen (Pins) zu beobachten und zu speichern. Damit wurden Laufzeitanalysen des FLIB2-Moduls gemacht, um dessen Laufzeit zu optimieren bzw. zu reduzieren (siehe 4.7.2).
  32. 32. - 24 -Abbildung 4.10. EntwicklungsumgebungIn der Abbildung 4.10 ist die Interaktion zwischen den oben genannten Instrumentendargestellt. Hier kann auch gesehen werden, dass zwei Kombiinstrumente verwendet wurdenund eines davon mittels des Logik-Analysators untergesucht wurde. Die Gründe dafür werdenim Kapitel 5 Abschnitt 5.1 erklärt.4.7.1. Green-Hills-Slingshot™-DebuggerätGreen Hills Slingshot™ wurde als Debuggerät verwendet, es handelt sich um einfortschrittliches Hardware-Debuggerät. Es ermöglicht, Code oder Programm zu einemZielsystem durch den MULTI®-Debugger zu laden, zu kontrollieren, zu debuggen und diesenCode zu testen. Der MULTI®-Debugger wird von Green Hills hergestellt; ein Unternehmen,das Betriebssysteme und Entwicklungswerkzeuge für eingebettete Systeme baut.4.7.2. Intronix-Logicport-34-Kanäle-LogikanalysatorDieser Logikanalysator bietet 34 Sample-Kanäle, wobei 2 Kanäle wahlweise als Clock-Eingänge oder als Dateneingang genutzt werden können. Der Logikanalysator benötigt zumAnschluss an einen PC lediglich einen USB 1.1 oder 2.0 Anschluss. Damit ist er einfach zuinstallieren und jederzeit an einen anderen Arbeitsplatz zu verlegen.
  33. 33. - 25 -Der Analysator beinhaltet vielfältige Möglichkeiten wie z.B. Multi-Level Triggering,qualifizierter State-Modus mit einstellbaren Setup/Hold-Zeiten, Schaltschwellen-Bereich,eingebaute Interpreter für CAN-, I²C-, SPI- und RS232-Protokolle. Außerdem bietet er einAnwendungsprogramm namens „LogicPort“, womit man verschiedene Analysen derempfangenen Logiksignale durchführen kann.4.7.3. Microsoft Visual BasicVisual Basic ist eine objektorientierte Programmiersprache, die zum Einsatz mit einerintegrierten Entwicklungsumgebung konzipiert wurde und in der Regel mit geringemZeitaufwand erstellt werden kann. Damit eignet sie sich für „Rapid ApplicationDevelopment“ (dt. schnelle Anwendungsentwicklung). Nach den Richtlinien von ContinentalAG wurden Microsoft Visual C++ 6.0 und Microsoft Visual Studio 2005 für die Erweiterungdes FLIB-Moduls als Entwicklungsumgebung benutzt, aber als Kompilierer wurde der derFirma Green Hills Software, Inc. anstelle des Kompilierers von Microsoft verwendet.
  34. 34. - 26 -5. AufgabenIn diesem Kapitel werden sowohl die Ziele, das Messungs- und Erfassungsverfahren vonDaten, die Ergebnisse und die Analyse als auch die Features der benutzten Flashspeicher, dieneuen geschaffenen Funktionen und deren Testverfahren und auch deren Validierungausführlich erklärt.5.1. Performance des Schreib- und Löschvorgangs des FLIB-ModulsDie erste in der Flashgruppe durchgeführte Tätigkeit hatte als folgende Ziele: 1. Bestimmung der Performance des Schreib- und Löschvorgangs des FLIB-Moduls in Bezug auf die Zeit. 2. Vergleich der in 1. erhaltenen Ergebnisse mit den von Spansion angegebenen theoretischen Performance-Werten. 3. Analyse der Möglichkeiten zur Optimierung der Leistung des FLIB-Moduls.Das Unternehmen Spansion gibt an, dass die parallelen NOR-Flashspeicher der FamilieS29GL-N die in der Tabelle 5.1 dargestellte Leistung des Schreib- und Löschvorgangs bieten: Tabelle 5.1. Von Spansion angegebene Schreib- und Löschvorgangsleistung des S29GL512N-Flashspeichers Quelle: in Anlehnung an Spansion LLC 2008a, S. 81. Parameter Typisch Maximum Einheit Kommentare Sektor-Löschzeit 0,5 3,5 sec Geschlossen 0x00- Chip-Löschzeit 256 1024 sec Schreiben vor Löschen. Insgesamt Pufferschreibzeit 240 - µs Geschlossen System- * Chip-Schreibzeit 492 - sec Ebene-Overhead*System-Ebene-Overhead ist die erforderliche Zeit, um die Bus-Zyklus-Sequenz einer Flashspeicheroperation auszuführen.Um die Performance des Schreib- und Löschvorgangs des FLIB-Moduls zu bestimmen,wurden Messungen durch den Intronix-Logicport-34-Kanäle-Logikanalysator (siehe 4.7.2 undAnhang C) durchgeführt. Dafür wurde ein Code mittels Visual C++ 6.0 (siehe 4.7.3)geschaffen, mit dem Daten in einem Sektor des Flashspeichers geschrieben und gelöschtwerden können.Um diesen Code im Mikrocontroller des Kombiinstruments (siehe Anhang D) auszuführen,wurde dieser Code als routinemäßiges und notwendiges Verfahren im externen Flashspeicherdes Kombis gespeichert. Die Speicherung wurde möglich durch einen bei der Flashgruppeerschaffenen Flashlader. Dieser Lader nutzt die Slingshot-Schnittstelle (siehe 4.7.1 undAnhang C) und wurde entworfen, um die Schreib- und Löschoperation eines externenSpeichers zu verwalten.Der Code unmittelbar vor dem Beginn eines Schreib- oder Löschprozesses eines Sektors stelltzuerst den „Enable-Chip“-Pin (EN_CAN) (vgl. Abb. 5.1) des CAN-Kommunikationschipsauf den Logikwert „1“, dann wird der Prozess durchgeführt, und wenn er abgeschlossen ist,wird der EN_CAN-Pin auf „0“ zurückgestellt. Auf dieser Weise kann man die Laufzeit derobengenannten Operationen bestimmen.
  35. 35. - 27 -Abbildung 5.1. Schaltplan der CAN-Kommunikation im KombiQuelle: in Anlehnung an Continental AG 2008, S.1.Der EN_CAN-Pin ist im roten Rechteck markiert.Zur Messung dieser Zeit wurde zuerst ein Kanal des Logik-Analysators mit dem EN_CAN-Pin verbunden (es war notwendig eine Verbindung der Masse des Analysators mit der Massedes Kombis herzustellen) und danach wurde der Code ausgeführt. Durch dasAnwendungsprogramm „LogicPort“ wurde die entsprechende Impulsfolge von „Einsen“ und„Nullen“, mit denen den Beginn und das Ende einer Schreib- oder Löschoperation markiertwurde, gespeichert (vgl. Abb. 5.2).Abbildung 5.2. Analyse einer Impulsfolge durch das Programm „LogicPort“Die obere Abbildung zeigt die Zeitanalyse einer Impulsfolge, die das Löschen von 1 MByte Daten in 8 Schrittenjeweils 128 KByte (mit der im FIOL-Modul vorhandenen FIOL_boEraseSector-Funktion) darstellt. Die roteLinie zeigt die Aufzeichnung der logischen „Einsen“ und „Nullen“, wobei „0“ keine Löschvorgangsausführungund „1“ eine Ausführung bedeutet. Die grüne Linie stellt den RY/BY#-Pin-Ausgang des parallelen NORFlashspeichers von Spansion dar (vgl. Abb. 4.5). In diesem Fall sind die logischen Werte umgekehrt, d.h. „0“
  36. 36. - 28 -bedeutet Operationsausführung und „1“ keine. Der Unterschied zwischen der bei dem FLIB-Modul ausgeführtenZustanderkennung des Speichers und dem direkten Speichersignal betragt etwa 2,5 µsec.Die untere Abbildung zeigt die gleichen Signale - Messung und Löschen von 1 MByte Daten wie oben -, aberhier wurde der Löschvorgang mit der FIOL_boEraseMultipleSectors-Funktion (siehe 5.2.1.7) durchgeführt,wobei z.B. 8 Sektoren mit nur einem einzigen Aufruf dieser Funktion gelöscht wurden. Demnach reduziert sichmit dieser Funktion die Ausführungszeit auf etwa 51,5 µseg.Durch das Anwendungsprogramm „LogicPort“ wurde die Ausführungszeit der jeweiligenOperationen (Lösch- und Schreibvorgang) des FLIB-Moduls bestimmt. Die Messergebnissesind in der Tabelle 5.2 dargestellt. Im Anhang E finden sich die detaillierten Ergebnisse dieserMessungen. Tabelle 5.2. Gemessene Schreib- und Löschvorgangsleistung des FLIB-Moduls; S29GL512N-Flashspeicher Parameter Typisch Einheit Kommentare Geschlossen 0x00-Schreiben vor Sektor-Löschzeit 636,250 msec Löschen. Sektor-Löschzeit 410,547 msec 0x00-Schreiben vor Löschen. Mit System-Ebene-Overhead 0x00 Insgesamt Pufferschreibzeit 111 µsec geschrieben. Siehe Anhang E; „Time between Zeit zwischen dem RY/BY#- RY/BY# signal and status check Signal (vgl Abb. 4.5) und der 2,4895 µsec detection”. Statuscheck-ErkennungDiese Ergebnisse wurden mit den theoretischen Werten eines von der Flashgruppegeschaffenen Programms namens „Flash-Time Calculator V2.2.0“ (dt. Zeit-BerechnerVersion 2.2.0 für Flashspeicher) verglichen (siehe Abb. 5.3).Nach den Tabellen 5.1 und 5.2 ließ sich Folgendes beobachten: 1. Es gibt keinen direkten Vergleich zwischen der von Spansion angegebenen Schreib-/Löschzeit des gesamten Chips und ihrer entsprechenden experimentellen Messung. Dies liegt daran, dass es durch die implementierte Messungsmethode nicht möglich war, einen im externen Flashspeicher gespeicherten Programm-Code auszuführen, wenn er gelöscht oder überschrieben wird. Es war daher nicht möglich, durch die verwendete Methode experimentell diese Zeiten zu bestimmen. 2. Die gemessene Zeit bei der Ausführung des Löschens eines Sektors war um 136,25 msec länger als die von Spansion entsprechende spezifizierte Zeit. Dies ist wahrscheinlich auf die äußeren Bedingungen der Messungen zurückzuführen, da die Löschgeschwindigkeit u.a. von der Temperatur abhängt. Ansonsten hängt die Dauer des Löschvorgangs nur vom eingebetteten Controller ab. 3. Die gemessene Zeit bei der Ausführung des Schreibens mit dem inneren Puffer betrug 129 µsec weniger als die von Spansion entsprechende spezifizierte Zeit. Auch dieses unerwartete Ergebnis ist wahrscheinlich durch die äußeren Bedingungen der Messungen erklärbar, da die Dauer des Schreibvorgangs auch von
  37. 37. - 29 - der Temperatur abhängt. In diesem Fall wurde eine bessere Leistung gemessen als erwartet. 4. Die Zeit zwischen der Erkennung des Speicherzustands durch die Funktion „StatusCheck“ (siehe. 4.6.4) und das Vorkommen derselben betrug 2,4895 µsec (siehe Anhang E; Time between RY/BY# signal and status check detection). Dieser Wert kann als vernachlässigbar angesehen werden; gleichzeitig kann man sagen, dass die Funktion „StatusCheck“ den Zustand fast unverzüglich erkennt, sobald er verfügbar ist.Abbildung 5.3. Zeit-Berechner Version 2.2.0 für Flashspeicher (Time-Calculator Flash V2.2.0)Simulation der Dauer einer Schreiboperation von 1 MByte Daten in einem Flashspeicher der S29GL-Familie.Dies ermöglichte einen Vergleich zwischen den gemessenen Zeiten und den bei diesem Programm angegebenentheoretischen Zeiten, um die experimentellen Ergebnisse zu prüfen. Da ein bestimmtes Model des während derMessungen eingesetzten Flashspeichers im Simulator nicht enthalten war, wurden die gemessenen Zeiten durcheine direkt vom Schöpfer dieses Programms durchgeführte Simulation des bestimmten Models validiert (sieheAnhang E; Simulation of the Flash Memory S29GL512N).Basierend auf diesen Ergebnissen wurde gefolgert, dass (wegen 2.) der Löschvorgang nichtoptimiert werden kann, da seine Dauer nur vom eingebetteten Controller des externenFlashspeichers abhängt. Es gibt keine Notwendigkeit, den Schreibvorgang zu optimieren, weiles bessere experimentelle Ergebnisse erhalten wurden als erwartet (vgl. 3.). Man kannaußerdem festhalten, dass die Funktion „StatusCheck“ eine vernachlässigbare Verzögerungbei der Bestimmung eines Vorgangzustands hat (siehe Punkt 4).
  38. 38. - 30 -Es wurde jedoch die Möglichkeit analysiert, die Funktionsfähigkeit der Funktion„StatusCheck“ zu optimieren, da sie die Dauer des Schreibvorgangs beliebiger Menge vonDaten bestimmt. Nach dem Datenblatt des Spansion-Flashspeichers: „DQ7 und DQ6 (vgl.Abb. 4.5) gibt es jeweils ein Verfahren zur Bestimmung, ob ein Schreib- oder Löschvorgangabgeschlossen oder im Gang ist“ (Spansion LLC 2008, S.64, Übersetzung).Die DQ7-Methode wird auch als „Data# Polling“ genannt und sie funktioniert wie folgt: - Während des eingebetteten Schreibalgorithmus wird das Gerät in DQ7-Pin als Ergebnis das Komplement des in DQ7 geschriebenen Datums ausgegeben. Dafür muss das System die Adresse, wobei das Datum gespeichert wurde, eingeben. - Währen des eingebetteten Löschalgorithmus wird in DQ7 eine „Null“ erzeugt, wenn der Prozess abgeschlossen ist. Aber wenn der Flashspeicher in den „Löschaussetzungsmodus“ (siehe 5.2.1.3) wechselt, erzeugt er eine „Eins“ in DQ7. Um diese Information zu lesen, muss das System eine Adresse eingeben, die innerhalb eines zum Löschen ausgewählten Sektors sein muss. - Es ist möglich, dass kurz vor der Beendigung einer eingebetteten Schreib- oder Löschoperation sich DQ7 asynchron ändert, wenn OE# (vgl. Abb. 4.5) auf „Null“ eingestellt wird. Dies bedeutet, dass das Gerät nicht über den Status informieren, sondern gültige Daten in DQ7 liefern kann.Im Gegensatz dazu erlaubt die DQ6-Methode, auch „Toogle Bit I“ genannt: - Erhalten von Informationen über den Status einer Operation nur beim Lesen in einer beliebigen Adresse des Flashspeichers. - Diese Information wird vor der Durchführung der Schreib- und Löschoperation gültig. - Bestimmen, ob eine Operation läuft oder abgeschlossen ist, dies ist bei der Ausführung aufeinander folgender Lesevorgänge des DQ6-Pins auf beliebiger Adresse unabhängig vom Modus des Flashspeichers möglich. - Wenn die Operation läuft, springt der Wert des DQ6-Pins hin und her. - Wenn die Operation abschlossen ist, stoppt der Wechsel des Werts im DQ6-Pin.Aus den zuvor genannten Gründen ist die DQ6-Methode einfacher zu implementieren. Sieerfordert weniger Befehle (Effizienz in Code-Größe) und eine einfachere Logik in Vergleichzur DQ7-Methode. Mit der Umsetzung der DQ6-Methode wird ein kleiner, funktionaleffizienter Code erzeugt. Je einfacher und kürzer der Code, desto höher die „Polling Rate“(Zustandsbeobachtungsrate) der Funktion „StatusCheck“. Diese ermöglicht, das Schreibeneiner beliebigen Datenmenge schnell ausführen zu können und damit ein optimales Modul inBezug auf die Schreibdauer zu erreichen.Zusammenfassend lässt sich festhalten, dass sich das FLIB-Modul in einem optimalenZustand befand. Es war nicht möglich, die Schreib- und Löschzeit weiter zu reduzieren.
  39. 39. - 31 -5.2. Erweiterung der Funktionalitäten des FLIB-ModulsZur Durchführung der zweiten Tätigkeit des Praktikums wurden die FlashspeicherS29GL512N (Spansion) und M29W128GH/GL (Numonyx) in Verbindung mit denMikrocontroller TX4964FG-120 „Capricorn A“ (Toshiba) und MB86R02 „Jade-D“ (Fujitsu)verwendet. All diese Komponenten wurden in den von der Flashgruppe angegebenenKombiinstrumenten zuvor integriert (siehe Anhang D).Sowohl der Flashspeicher der Firma Spansion als auch der von Numonyx bieten diefolgenden Features, die bisher nicht in dem FLIB-Modul implementiert worden waren: - Multiple Sector Erase (Mehrere-Sektoren-Löschen), - Program Suspend/Resume (Schreiben Aussetzen/Wiederaufnahme), - Erase Suspend/Resume (Löschen Aussetzen/Wiederaufnahme), - Autoselect Mode (Autoauswahl-Modus) und - Secured Silicon Sector (geschützter Silizium-Sektor).Aber nur der Flashspeicher von Numonyx bietet dieses Feature: - Enhanced Buffered Write (Schreiben mit erweitertem Puffer).Jede dieser Eigenschaften wird ausführlich in den folgenden Abschnitten erklärt. Außerdemwird sowohl ihre Umsetzung für das FLIB-Modul mit dem zugehörigen Flussdiagramm alsauch das Verfahren für Software-Entwicklung gemäß der SMK-Richtlinien von ContinentalAG dargestellt (siehe 4.5).5.2.1. Software-EntwicklungIn diesem Abschnitt werden die in den FIOL- und FLIB-Modulen neu implementiertenFeatures präsentiert.5.2.1.1. Multiple Sector EraseSowohl der Spansion- als auch der Numonyx-Flashspeicher bietet die durch seineneingebetteten Controller verwaltete Funktionalität, eine beliebige Anzahl von Sektoren mittelseines einzigen Löschbefehls zu löschen. Bisher nahm das FLIB-Modul die Löschung Sektorfür Sektor vor, mit Hilfe der Funktion „FIOL_boEraseSector“, die nur einen Sektor je Aufruflöscht. Zur Umsetzung des „Multiple Sector Erase“ wurden drei zusätzliche Funktionenerstellt: - „FIOL_boEraseMultipleSectors“, - „FLIB_u8StartEraseMultipleSectors“ und - „FLIB__u8ReadyEraseMultipleSectors“.Die letztgenannte Funktion wird unter der Kontrolle der Funktion „FLIB_u8StatusCheck“ausgeführt (siehe 4.6.4). Das FLIB-Modul garantiert den höher gelagerten Softwaremodulendie Einhaltung ihrer Anforderung, den Mikrokontroller maximal 100 µsec am Stück zublockieren. Entsprechend erfolgt die Abwicklung des Löschprozesses aufgeteilt in solcheEtappen.
  40. 40. - 32 -Die Abbildung 5.4 zeigt Folgendes: Wenn die Funktion „FIOL_boEraseMultipleSectors“ausgeführt wird, leitet sie ihrerseits den Löschvorgang durch Aufruf von„FLIB_u8StartEraseMultipleSectors“ ein. Diese Funktion sendet dem Flashspeicherwiederholt Befehle zum Löschen einzelner Sektor, um das Verfahren durch seineneingebetteten Controller auszuführen. Die gesamte Sendung dieser Befehle muss weniger als100 µsec dauern. Nach dieser Sendung führt der Mikrocontroller andere interne Aufgaben desKombiinstruments durch. Regelmäßig wird die Funktion „FLIB_u8StatusCheck“ ausgeführt,um den Fortschritt des Löschvorgangs zu überwachen. Falls der eingebettete Löschvorgangnoch nicht abgeschlossen ist, bleibt der Mikrocontroller bei der Ausführung anderer internerAktivitäten des Kombis. Falls der Löschvorgang abgeschlossen ist, ruft die Funktion„FLIB_u8StatusCheck“ die Funktion „FLIB__u8ReadyEraseMultipleSectors“ auf, um dasLöschen der restlichen Sektoren fortzuführen. Dieser Aufruf wird wiederholt, so oft wienötig, bis alle Sektoren gelöscht sind.Abbildung 5.4. Darstellung der Löschoperation mehrerer Sektoren im ZeitablaufIn der gemeinsamen Perspektive des FIOL- und des FLIB-Moduls sieht man, dass der Löschvorgang mehrererSektoren durch eine einzige Funktion geleitet wird (FIOL_boEraseMultipleSectors). Das FIOL-Modul istverantwortlich für die Steuerung des Löschvorgangs nach etablierten Timing-Anforderungen höherer Module.Die durchgezogenen Linien markieren die Durchführung der Befehlsübermittlung des eingebettetenLöschvorgangs auf dem Mikrocontroller.Die gepunkteten Linien stellen die Zustandsbeobachtung (polling) der StatusCheck-Funktion dar.Die gestreiften Linien symbolisieren die Durchführung des eingebetteten Löschvorgangs auf dem Flashspeicher.Die Struktur dieser beiden neuen Funktionen wird durch die folgenden Flussdiagrammeverdeutlicht.
  41. 41. - 33 -Abbildung 5.5. Flussdiagramm der „FLIB_u8StartEraseMultipleSectors“5.2.1.2. Program Suspend/Resume„Program Suspend/Resume“ ist eine Funktionalität, die dem Flashspeicher erlaubt, eineneingebetteten Schreibvorgang zu unterbrechen und Daten beliebiger „nichtausgesetzter“Sektoren, des „geschützten Silizium-Sektors“ und des Autoauswahl-Modus lesen zu können.Diese Aussetzung kann gemacht werden, auch wenn während einer Löschaussetzung einSchreibvorgang durchgeführt wird.Nach der Sendung des Wiederaufnahme-Schreibbefehls wird der ausgesetzte eingebetteteSchreibvorgang wieder gestartet. Ein weiterer Aussetzungsbefehl kann gesendet werden, umeine neue Aussetzung durchzuführen.
  42. 42. - 34 -Die Implementierung dieser Funktionalität in das FLIB-Modul wurde durch die Schaffungvon zwei neuen Funktionen realisiert: - „FLIB_vProgramSuspend“ und - „FLIB_vProgramResume“.Diese beiden Funktionen interagieren mit der Funktion „FLIB_u8StatusCheck“, um dieordnungsgemäße Ausführung dieser Implementierung zu gewährleisten. Durch einen Aufrufder ersten Funktion kann man einen Schreibvorgang des FLIB-Moduls pausieren. Nach derPause wird es möglich, Daten aus den zuvor genannten Regionen zu lesen. Während einerSchreibaussetzung kann aufgrund der Spezifikationen der Flashspeicher keine neue Schreib-oder Löschoperation ausgeführt werden. Ein Aufruf der Funktion „FLIB_vProgramResume“während der Schreibaussetzung nimmt den Schreibvorgang wieder auf. Die Abbildung 5.7zeigt das ganze Verfahren im zeitlichen Ablauf.Abbildung 5.6. Flussdiagramm der „FLIB__u8ReadyEraseMultipleSectors“
  43. 43. - 35 -Abbildung 5.7. Zeitliches Diagramm der Ausführung einer Aussetzung und Wiederaufnahme einesSchreibvorgangs„Beginn“ entspricht dem Aufruf einer Schreiboperation. Nach dem Aufruf wird im Mikrocontroller dieSchreibbefehlsendung zum Flashspeicher ausgeführt, um durch seinen eingebetteten Controller die Operation zubehandeln. In dieser Phase muss man wiederholt die Funktion „FLIB_u8StatusCheck“ aufrufen, um denaktuellen Status des Vorgangs zu bekommen. Nach dem Start des eingebetteten Vorgangs kann die Funktion„FLIB_vProgramSuspend“ aufgerufen werden. Dieser Aufruf setzt die ausführende Operation sowohl aufeingebetteter Ebene als auch auf FLIB-Modul-Ebene aus. Danach kann man auf die Daten der nichtausgesetztenSektoren, der „geschützten Silizium-Sektor“ oder des Autoauswahl-Modus zugreifen. Die Wiederaufnahme derSchreiboperation findet auf modularer und auf eingebetteter Ebene durch den Aufruf der Funktion„FLIB_vProgramResume“ statt.Es folgen zwei Flussdiagramme dieser beiden Funktionen. Abbildung 5.8. Flussdiagramm der Funktion „FLIB_vProgramSuspend“
  44. 44. - 36 - Abbildung 5.9. Flussdiagramm der Funktion „FLIB_vProgramResume“5.2.1.3. Erase Suspend/ResumeDie verwendeten Flashspeicher bieten diese Funktionalität, indem eine eingebetteteLöschoperation eines oder mehrerer Sektoren unterbrochen (ausgesetzt) werden kann, umDaten von irgendeinem nichtausgesetzten Sektor lesen und/oder schreiben zu können. Auchnach der Aussetzung kann man Daten aus dem „geschützten Silizium-Sektor“ oder demAutoauswahl-Modus lesen. Wenn eine Schreiboperation in den nichtausgesetzten Sektorengestartet ist, kann man diese Operation durch den Aufruf der Funktion„FLIB_vEraseSuspend“ unterbrochen werden (siehe 5.2.1.2). Nach der Sendung desLöschwiederaufnahmebefehls wird der eingebettete Löschvorgang wieder gestartet. Einweiterer Löschaussetzungsbefehl kann nach der Wiederaufnahme gesendet werden.Diese Funktionalität wurde in das FLIB-Modul durch die Schaffung von zwei neuenFunktionen implementiert. Diese Funktionen sind: - „FLIB_vEraseSuspend“ und - „FLIB_vEraseResume“.Wie in dem vorangegangenen Fall interagieren diese beiden Funktionen mit der Funktion„FLIB_u8StatusCheck“, um die ordnungsgemäße Durchführung dieser Umsetzung zugewährleisten. Ein Aufruf an die erste Funktion während der Löschoperation setzt diesesowohl auf eingebetteter Ebene als auch auf FLIB-Modul-Ebene aus. Die Aussetzung erlaubtdem Benutzer, auf Daten aus den obengenannten Sektoren und dem Autoauswahl-Moduszuzugreifen. Während der Aussetzung ist es aufgrund der Flashspeicher-Spezifikationen nichtmöglich, einen neuen Löschvorgang auszuführen. Zur Wiederaufnahme der Löschoperation
  45. 45. - 37 -sowohl auf modularer und eingebetteter Ebene muss die Funktion „FLIB_vEraseSuspend“aufgerufen werden (vgl. Abb. 5.10).Abbildung 5.10. Zeitliches Diagramm der Ausführung einer Aussetzung und Wiederaufnahme einesLöschvorgangs„Beginn“ entspricht dem Aufruf einer Löschoperation. Nach dem Aufruf wird im Mikrocontroller dieLöschbefehlsendung zum Flashspeicher ausgeführt, um durch seinen eingebetteten Controller die Operation zubehandeln. In dieser Phase muss man wiederholt die Operation „FLIB_u8StatusCheck“ aufrufen, um denaktuellen Status des Vorgangs zu bekommen. Nach dem Start des eingebetteten Vorgangs kann die Funktion„FLIB_vEraseSuspend“ aufgerufen werden. Dieser Aufruf setzt die ausführende Operation sowohl aufeingebetteter Ebene als auch auf FLIB-Modul-Ebene aus. Danach kann man auf die Daten der nichtausgesetztenSektoren, der „geschützten Silizium-Sektor“ oder des Autoauswahl-Modus zugreifen und auch in dienichtausgesetzten Sektoren neue Daten schreiben. Die Wiederaufnahme der Löschoperation findet auf modularerund auf eingebetteter Ebene durch den Aufruf der Funktion „FLIB_vEraseResume“ statt.Die Flussdiagramme dieser Funktionen werden unten dargestellt.
  46. 46. - 38 - Abbildung 5.11. Flussdiagramm der Funktion „FLIB_vEraseSuspend“   Abbildung 5.12. Flussdiagramm der Funktion „FLIB_vEraseResume“5.2.1.4. Autoselect ModeDieses Feature bietet dem Benutzer oder dem System die Hersteller-Identifikation desFlashspeichers und auch seine eigene Identifikation an. Ebenfalls bietet es Information überden Schutz von Sektorgruppen und vom „geschützten Silizium-Sektor“. Zur Umsetzungdieses Features wurden drei neue Funktionen geschaffen: 1. „FLIB_u8EnterAutoselectMode“, 2. „FLIB_u8GetAutoselectInfo“ und 3. „FLIB_vExitAutoselectMode“.

×