performed by: yair sommer rea yeheskel instructor: idan katz in cooperation with:motorola...

25
Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with: Motorola ןןןן- ןןןןןןן ןןןןןןןן ןןןןןן ןןןןןןן ןןןןןן ןןןןTechnion - Israel institute of technology department of Electrical Engineering Final presentation SW application for Motorola g20 cellular engine Part B 30 Apr 2006 1 ןןןן ןןןןןןן ןןןןןןן ןןןןןןgh speed digital systems laboratory

Post on 19-Dec-2015

221 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

Performed by: Yair Sommer Rea Yeheskel

Instructor: Idan KatzIn Cooperation with: Motorola

הטכניון - מכון טכנולוגי לישראל

הפקולטה להנדסת חשמל

Technion - Israel institute of technologydepartment of Electrical Engineering

Final presentation

SW application for Motorola g20 cellular engine

Part B

30 Apr 2006

1 מהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

Page 2: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

Background:

Abstractמהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

2

g20 cellular engine supports various operations (sms, data transmission, voice, etc.)

Each operation requires an Input using AT commands

During the integration process, customers need to spend time for accessing and using the cellular engine interfaces

Page 3: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

Abstractמהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

3

Project Goals:

Develop a software API Layer which allows users to control the g20 cellular engine through these APIs

The software API will be used as customer reference code

Develop an easy to use GUI application for executing the most common g20 functionalities

Page 4: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

Design Guidelinesמהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

The project’s code will be supplied as a source code package that can be compiled by any ANSI-C compiler C++ compiler

The code will be written in a form that can be ported to any Operating system or OS-less environment

Code should be compatible for future products, by adding a set of new commands to dictionary

Upgrading to future products is easy

Driver of RS-232 communication with g20 can be replaced and customized to customers’ own System

4

Page 5: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

Design Guidelinesמהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

Code can be customized using g20customization.h file for a specific needed functionalities and for system requirements

All common operations of g20 are supported, divided to the types of command (voice SMS etc.)

High reliability is required (order of commands, error responses, etc.)

Project implementation should use minimum memory resources

5

Page 6: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

Design Guidelinesמהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

GUI should implement all common operations for the G20 cellular engine

In case of unsolicited events, GUI will present the required data to the user, and allow him to choose next action accordingly

The use will be notified for errors

GUI will be built in a way that the user will learn about types of AT commands (ease the learning process)

5

Page 7: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

System architectureמהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

6

The Software is implemented in layers:The Software is implemented in layers: Driver Layer – Handling the Serial Port I/O

Wrapper Layer for the Serial I/O – interface from the Driver Layer To C language

AT Commands interpreter Layer – Executes commands using the Wrapper layer

API Modules layer – Each module (SMS, voice, etc.) will include all functionalities required

GUI/Shell Layer – an optional layer, for activating the APIs directly during development stage

Page 8: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

Driver Layer

Wrapper Layer /Listener Layer

AT Command interpreter

SM

SA

PI

Voic

eA

PI

GPR

SA

PI

TC

P/U

DP

AP

I

PhoneB

ook

AP

I

More

g20

AP

I

Scr

ipt

Mod

ule

Shell ApplicationGUI Application

System architecture (2)מהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

7

Layers Diagram:

Page 9: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

System architecture (3)מהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

8

Layers Diagram - interconnections:

Wrapper Layer/Listener Layer

AT Command interpreter

SM

SA

PI

Vo

ice

AP

I

GP

RS

AP

I

TC

P/U

DP

AP

I

Pho

nebo

ok

AP

I

Mo

re g

20A

PI

Scr

ipt

Mod

ule

GUI Application Layer

Driver Layer

Page 10: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

System architecture (4)מהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

9

Driver Layer

Wrapper Layer /Listener

AT Command interpreter

GUI Application

API Modules Layer

Driver Layer

Handling the Serial Port I/O

This Layer should be supplied by the user, for his specific platform

Main Operations – Open/Close, Read/Write – From/To serial port

Page 11: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

System architecture (5)מהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

10

Driver Layer

Wrapper Layer /Listener

AT Command interpreter

GUI Application

API Modules Layer

Wrapper Layer/Listener Layer

Interface from the Driver Layer functions to C language

Gives a C format to all serial I/O operations, using the driver Layer

All interface definition for user’s driver should be defined on G20Customization.h file

When data is sent by the g20, checks if it’s unsolicited event, and notify the calling environment

Page 12: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

When sending AT command from the script module, the AT command must be checked before being sent to the g20 (Valid AT command and parameters)

This Layer gets an AT command and checks validity of the command and parameters

System architecture (6)מהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

11

Driver Layer

Wrapper Layer/Listener

AT Command interpreter

GUI Application

API Modules Layer

AT Command interpreter

Page 13: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

System architecture (7)מהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

12

Driver Layer

Wrapper Layer /Listener

AT Command interpreter

GUI Application

API Modules Layer

AT Command interpreter

Check parameters validity

Creates the AT command stringParameters

Sends the AT command and receive result code

Return unsolicited event flag , and event type

Return Result to calling environment

Page 14: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

System architecture (8)מהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

2

Driver Layer

Wrapper Layer /Listener

AT Command interpreter

GUI Application

API Modules Layer

API Modules Layer

Each type of operations (SMS, Voice, GPRS etc.) is implemented as a separate module

Each module have functions of its common operations

Customer can use the ready made functions supplied for his application

Each module can be included or excluded from the project by changing G20Customization

13

Page 15: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

System architecture (9)מהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

14

Special module in this layer is the Script module which allows the user to write any sequence of AT command, check their validity and execute them

The Script module is for development stage only, and is not included in the final customer’s application

Driver Layer

Wrapper Layer /Listener

AT Command interpreter

GUI Application

API Modules Layer

API Modules Layer

Page 16: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

System architecture (10)מהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

15

Driver Layer

Wrapper Layer /Listener

AT Command interpreter

Shell Application

API Modules Layer

Shell Application

The user will be able to use a GUI or a Shell application

This layer is an easy to use GUI/Shell, which allows the user to initiate all supported operations

This Layer is for optional use only and consists of the most common use of the API functions

GUI Application

GUI Application

Page 17: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

System architecture (11)מהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

Multi Threading in the g20 Application SW:Multi Threading in the g20 Application SW:

The SW includes 2 Threads:

Main thread - in charge of: GUI application

System initialization

APIs functions calls

Script module

Shell management

I/O thread – manages the information coming from the G20 and unsolicited event recognition

Page 18: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

System architecture (12)מהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

Driver Layer

Wrapper Layer

AT Command interpreterSM

SA

PI

Voic

eA

PI

GPR

SA

PI

TC

P/

UD

PA

PI

Phonebo

ok

AP

I

More

g2

0A

PI

Scri

pt

Mod

ul

e

GUI Application LayerMain Thread

Responsequeue

I/O Thread

Listener

Listener Parser

Page 19: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

19

Ease of learning – First useמהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

Days

0

0.5

1

1.5

2

2.5

3

Basic G20 Shell GUI

Page 20: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

20

Ease of learning – Advanced useמהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

Days

0

1

2

3

4

5

6

Basic G20 Shell GUI

Page 21: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

21

Ease of Implementationמהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

Days

0

5

10

15

20

25

Basic G20 Using G20 APIs

Page 22: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

GUI Usage - DemonstrationGUI Usage - Demonstration

מהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

Page 23: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

Summaryמהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

• The SW application for Motorola g20 cellular engine will add an additional value to the g20 product

• It will allow customers of Motorola to develop applications that using the g20 in much easier process and will save time during the integration process

• A GUI application or Shell application are available for first steps of usage to get to know the G20 functionalities in a very easy way

Page 24: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

Summaryמהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

• The SW application was built, while trying to make it as flexible as possible

• The customer can use the source code provided, compiling only the code he needs, while reducing code size

• The customer can easily replace part of the SW (driver for example) or add his own functions, using the routines that were built for creating and sending the AT commands

• It is possible to update the g20 SW to maintain usability to future products

Page 25: Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל

30

Conclusionמהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה

In conclusion, the G20 SW project allows any developer to ease the learning of the G20 functionalities, shorten the integration process and reduce time to market