Download presentation
Presentation is loading. Please wait.
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 Part B 30 Apr 2006 1 המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory
2
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
3
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
4
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
5
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
6
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
7
System architecture המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 6 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
8
Driver Layer Wrapper Layer /Listener Layer AT Command interpreter SMS API Voice API GPRS API TCP/UDP API PhoneBo ok API More g20 API Script Module Shell Application GUI Application System architecture (2) המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 7 Layers Diagram:
9
System architecture (3) המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 8 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 GUI Application Layer Driver Layer
10
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
11
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
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 11 Driver Layer Wrapper Layer/Listener AT Command interpreter GUI Application API Modules Layer AT Command interpreter
13
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 string 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 GUI 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 13
15
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
16
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
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: 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
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 Phoneboo k API More g20 API Script Module GUI Application Layer Main Thread Response queue I/O Thread Listener Listener Parser
19
19 Ease of learning – First use המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Days
20
20 Ease of learning – Advanced use המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Days
21
21 Ease of Implementation המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Days
22
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
23
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
24
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
25
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
26
המעבדה למערכות ספרתיות מהירות 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
27
GUI Usage - Demonstration המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory
28
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
29
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
30
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.