Theoretische Ebene                                                        Technische Ebene




                                        ¨    ¨
                     Ein automatisches ruckwarts
                          Einparkhilfesystem
                      Verkehrssysteme / Verkehrsmittel


                                     Olaf Barz
                                   Joanna Ry´ko
                                             c
                                 Ronny Kalusniok
                             Barbara Maria Pogorzelska

                                   Institut f¨r Informatik
                                             u
                               Humboldt-Universit¨t zu Berlin
                                                    a
                 {barz|kalusnio|pogorzel|rycko}@informatik.hu-berlin.de

                                    26. Juni 2005
Theoretische Ebene                                                 Technische Ebene



Einleitung


            Idee: Einparkhilfe f¨r enge Parkpl¨tze
                                u             a
            Ergebnis: Vollautomatisches System
               1     Vorbeifahren und Messen der Parkl¨cke
                                                      u
               2     Autonomes Einparken




            Einschr¨nkungen: Parkl¨cke, Fahrzeugtyp, Getriebeart
                   a              u
            Abbruch m¨glich, aber keine Korrektur
                     o
Theoretische Ebene   Technische Ebene



Verlauf
Theoretische Ebene   Technische Ebene



Mikroprozessor
Theoretische Ebene                                                          Technische Ebene



Schnittstellen, Befehlsformat




     Befehlsformate
       Typ                Anzahl   Bit-Gr¨ße
                                          o    Beschreibung
       Befehle               7          3      MOV, CMP, SHR, ADD, MUL, JNE ...
       Adressfeld           16          4      f¨r eines von 16 Register
                                                u
       Adressierungsart      2          1      Auswahl zwischen Register und Adresse
       Adressfeld          256          8      f¨r Speicheradresse oder Registe
                                                u
       Insgesamt                       16
Theoretische Ebene                                                           Technische Ebene



Befehle



     Befehlssatz
        Operation    Beschreibung
        MOV d s      Verschiebeoperation in der Form: destination ⇐ source
        CMP x y      Vergleich von x und y:
                     x = y ⇒ EQU = 1
                     x > y ⇒ GEQ = 1
        SHR a b      Bitweises Rechtsschieben von a um b Stellen
        MUL d s      Multipliziert zwei Operanden,
                     Ergebnis nach d
        ADD d s      Addiert zwei Operanden,
                     Ergebnis nach d
        JNE i        EQU = 0 ⇒ Springe zur Marke i
        JNG i        GEQ = 0 ⇒ Springe zur Marke i
Theoretische Ebene                                                  Technische Ebene



Mikrocode


     Microcode (Auszug)
            Befehl          Mikrocode
            Befehl holen    PCOUT , MARIN , Lesen, Inkrementieren
                            ZOUT , PCIN , MFC
                            MDROUT , IRIN
            MOV LNK @xxx    Adressfeld von IROUT , MARIN , Lesen
                            MFC
                            MDROUT , LNKIN
            MUL R[i] @xxx   Adressfeld von IROUT , MARIN , Lesen
                            R[i]OUT , XIN , MFC
                            MDROUT , Multiplizieren
                            ZOUT , R[i]IN
            SHR R[i] @xxx   Adressfeld von IROUT , MARIN , Lesen
                            R[i]OUT , XIN , MFC
                            MDROUT , Rechtsshift
                            ZOUT , R[i]IN
Theoretische Ebene                                                      Technische Ebene



Assemblercode


     Assemblercode (Auszug)
       Zeilennummer   Sprungmarken   Befehl                     Beschreibung
       0                             MOV      BWG    ,   @150   Startwerte
       2                             MOV      LNK    ,   @152   setzen
       4                             MOV      SLT    ,   @152
       6              J1:            CMP      ENDS   ,   @151   warten bis
       8                             JNE      J1                Werte gesetzt
       10                            MOV      R2     ,   S2     Sensor 1 auslesen
       12                            SHR      R2     ,   @156
       14                            MOV      SLT    ,   @154   losfahren
       16                            MOV      BWG    ,   @151
       18             J2:            CMP      ENDS   ,   @151   warten bis
       20                            JNE      J2                Werte gesetzt
       22             J3:            MOV      R1     ,   S1     Sensor 2 auslesen
       24                            SHR      R1     ,   @156
       26                            CMP      R1     ,   R2     Parkl¨ckenanfang?
                                                                     u
       28                            JNE      J3                nein: weiter testen

Einparkhilfe Präsentation

  • 1.
    Theoretische Ebene Technische Ebene ¨ ¨ Ein automatisches ruckwarts Einparkhilfesystem Verkehrssysteme / Verkehrsmittel Olaf Barz Joanna Ry´ko c Ronny Kalusniok Barbara Maria Pogorzelska Institut f¨r Informatik u Humboldt-Universit¨t zu Berlin a {barz|kalusnio|pogorzel|rycko}@informatik.hu-berlin.de 26. Juni 2005
  • 2.
    Theoretische Ebene Technische Ebene Einleitung Idee: Einparkhilfe f¨r enge Parkpl¨tze u a Ergebnis: Vollautomatisches System 1 Vorbeifahren und Messen der Parkl¨cke u 2 Autonomes Einparken Einschr¨nkungen: Parkl¨cke, Fahrzeugtyp, Getriebeart a u Abbruch m¨glich, aber keine Korrektur o
  • 3.
    Theoretische Ebene Technische Ebene Verlauf
  • 4.
    Theoretische Ebene Technische Ebene Mikroprozessor
  • 5.
    Theoretische Ebene Technische Ebene Schnittstellen, Befehlsformat Befehlsformate Typ Anzahl Bit-Gr¨ße o Beschreibung Befehle 7 3 MOV, CMP, SHR, ADD, MUL, JNE ... Adressfeld 16 4 f¨r eines von 16 Register u Adressierungsart 2 1 Auswahl zwischen Register und Adresse Adressfeld 256 8 f¨r Speicheradresse oder Registe u Insgesamt 16
  • 6.
    Theoretische Ebene Technische Ebene Befehle Befehlssatz Operation Beschreibung MOV d s Verschiebeoperation in der Form: destination ⇐ source CMP x y Vergleich von x und y: x = y ⇒ EQU = 1 x > y ⇒ GEQ = 1 SHR a b Bitweises Rechtsschieben von a um b Stellen MUL d s Multipliziert zwei Operanden, Ergebnis nach d ADD d s Addiert zwei Operanden, Ergebnis nach d JNE i EQU = 0 ⇒ Springe zur Marke i JNG i GEQ = 0 ⇒ Springe zur Marke i
  • 7.
    Theoretische Ebene Technische Ebene Mikrocode Microcode (Auszug) Befehl Mikrocode Befehl holen PCOUT , MARIN , Lesen, Inkrementieren ZOUT , PCIN , MFC MDROUT , IRIN MOV LNK @xxx Adressfeld von IROUT , MARIN , Lesen MFC MDROUT , LNKIN MUL R[i] @xxx Adressfeld von IROUT , MARIN , Lesen R[i]OUT , XIN , MFC MDROUT , Multiplizieren ZOUT , R[i]IN SHR R[i] @xxx Adressfeld von IROUT , MARIN , Lesen R[i]OUT , XIN , MFC MDROUT , Rechtsshift ZOUT , R[i]IN
  • 8.
    Theoretische Ebene Technische Ebene Assemblercode Assemblercode (Auszug) Zeilennummer Sprungmarken Befehl Beschreibung 0 MOV BWG , @150 Startwerte 2 MOV LNK , @152 setzen 4 MOV SLT , @152 6 J1: CMP ENDS , @151 warten bis 8 JNE J1 Werte gesetzt 10 MOV R2 , S2 Sensor 1 auslesen 12 SHR R2 , @156 14 MOV SLT , @154 losfahren 16 MOV BWG , @151 18 J2: CMP ENDS , @151 warten bis 20 JNE J2 Werte gesetzt 22 J3: MOV R1 , S1 Sensor 2 auslesen 24 SHR R1 , @156 26 CMP R1 , R2 Parkl¨ckenanfang? u 28 JNE J3 nein: weiter testen