performed by: yair sommer rea yeheskel instructor: idan katz in cooperation with:motorola...
Post on 19-Dec-2015
221 views
TRANSCRIPT
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המעבדה
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
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
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
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
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
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
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:
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
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
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
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
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
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
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
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
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
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
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
20
Ease of learning – Advanced useמהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה
Days
0
1
2
3
4
5
6
Basic G20 Shell GUI
21
Ease of Implementationמהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה
Days
0
5
10
15
20
25
Basic G20 Using G20 APIs
GUI Usage - DemonstrationGUI Usage - Demonstration
מהירות ספרתיות למערכות High speed digital systems laboratoryהמעבדה
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
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
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