Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל Technion -"— Presentation transcript:

1 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 8 Feb 2006 1 המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory

2 Agenda המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 2  Background  Design Guidelines  System architecture  Customization Options  How to Develop an application using G20’s APIs3  Demonstration  Summary

3 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

4 Abstract המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 2 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

5 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

6 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

7 System architecture המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 2 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  Shell Layer – an optional layer, for activating the APIs directly during development stage

8 Driver Layer Wrapper Layer /Listener Layer AT Command interpreter System architecture (2) המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 2 SMS API Voice API GPRS API TCP/UDP API PhoneBoo k API More g20 API Script Module Shell Application Layers Diagram:

9 System architecture (3) המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 2 Layers Diagram - interconnections: Wrapper Layer/Listener Layer AT Command interpreter SMS API Voice API GPRS API TCP/UDP API Phonebook API More g20 API Script Module Shell Application Layer Driver Layer

10 System architecture (4) המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 2 Driver Layer Wrapper Layer /Listener AT Command interpreter Shell 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

11 System architecture (5) המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 2 Driver Layer Wrapper Layer /Listener AT Command interpreter Shell 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  Interface definition for user’s driver should be defined also on G20Customization.h file  When data is sent by the g20, checks if it’s unsolicited event, and notify the calling environment

12  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 2 Driver Layer Wrapper Layer/Listener AT Command interpreter Shell Application API Modules Layer AT Command interpreter

13 Check AT command & parameters validity System architecture (7) המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 2 Driver Layer Wrapper Layer /Listener AT Command interpreter Shell Application API Modules Layer AT Command interpreter Creates the AT command string AT Commands & Parameters Sends the AT command and receive result code Return unsolicited event flag, and event type Return Result to calling environment

14 System architecture (8) המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 2 Driver Layer Wrapper Layer /Listener AT Command interpreter Shell Application 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

15 System architecture (9) המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 2 Driver Layer Wrapper Layer /Listener AT Command interpreter Shell Application API Modules Layer  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

16 System architecture (10) המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 2 Driver Layer Wrapper Layer /Listener AT Command interpreter Shell Application API Modules Layer Shell Application  This layer is an easy to use 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

17 System architecture (11) המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Multi Threading in the g20 Application SW: The SW includes 2 Threads:  Main thread - in charge of:  system initialization  APIs functions calls  Script module  Shell management  I/O thread – manages the information coming from the G20 and unsolicited event recognition

18 System architecture (12) המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Driver Layer Wrapper Layer AT Command interpreter SMS API Voice API GPRS API TCP/UDP API Phonebook API More g20 API Script Module Shell Application Layer Main Thread Response queue I/O Thread Listener Listener Parser

19 Customization Options המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory  User can define whether he would like to work in Debug Mode or Normal Mode  Debug Mode – For development environment  Normal Mode – For Real work environment

20 Customization Options (2) המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory  It is possible to define which modules will be included in the application  This way developer can reduce code size, and customize code to his specific needs

21 Customization Options (3) המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory  User should define his systems’ Synchronization objects  Minor modifications are needed in order to adjust the code for each system

22 Develop an application using G20’s APIs המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory  As a basic building block, The developer will use the following functions when developing a G20’s command function:  UpdateArgs – adds the current argument to the end of argument list  CreateG20String - adds (") at the start and the end of a string (string  "string")  FreeBufferMemory – verifies that list of responses is free, for next AT command  CreateAT – for creation of the AT command string  SendCommand – Sends the string that was created by CreateAT

23 המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory  Using those functions allows the user to send any at command to the g20  The Developer can directly use the G20 SW APIs in his code, without the need to be familiar with the AT commands  The Developer will decide what modules to include in his application Develop an application using G20’s APIs (2)

24 Shell Usage - Demonstration המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory

25 Summary המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory  G20 SW application allows a developer to use simple API function calls instead of working with AT commands  The software API Code can be used directly by the user, with minimum need of modifications  The code is written in a form that can be ported to any OS or OS-less environment  Customization file allows the user to use exactly the code he needs – reducing code size  The overall integration process using the software API is much easier


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

Similar presentations


Ads by Google