Tuesday, May 20, 2025

माझी पिढी

 ज्यांचा जन्म , १९५५,१९५६,१९५७, *१९५८*  १९६०, १९६१, १९६२, १९६३, १९६४, १९६५ १९६६ १९६७ १९६८ १९६९ १९७०, १९७१, १९७२, १९७३, १९७४, १९७५, १९७६, १९७७, १९७८, १९७९, १९८०, १९८१, १९८२, १९८३, १९८४, १९८५ ,१९८६ , १९८७ , १९८८ , १९८९ , १९९० साली झाला आहे खास त्या पिढी साठी हा लेख*


ही पीढ़ी आता ३० ओलाडून ६२ कडे चाललीय, 'हया' आपल्या पिढीचं सगळ्यात मोठं यश म्हणजे या पिढीने खूप मोठा बदल पहिला आणि पचवला. आणि या पिढीची एक मोठी अडचण म्हणजे हि पिढी कायम उंबरठ्यावर राहिली.....


१,२,५,१०,२०,२५,५० पैसे बघीतलेली ही पीढीत पाहुणे कडून लाज न बाळगता पैसे घेत होती. शाई-बोरु/ पेन्सिल / पेन पासून सुरवात करून, ही पीढी आता, स्मार्ट फोन, लॕप्टाॕप, पीसी, उतारवयात सराईतपणे हाताळत आहे*.


ज्या पिढीच्या बालपणी सायकल सुद्धा एक चैन, असलेली, पण आता ह्या उतारवयात सराईतपणे स्कूटर, कार चालवणारी ही पिढी, अवखळ तर कधी गंभीर.... खूप भोगलेली आणि खूप सोसलेली, पण पूर्ण संस्कारित....


*टेप रेकॉर्डर, पॉकेट ट्रान्झिस्स्टर* ज्या पिढीसाठी खूप मोठी मिळकत होती.


*मार्कशीट* आणि *टिव्ही* च्या येण्यानी यांच्या बालपणाचा बळी घेतला नाही अशी ही शेवटची पिढी.


कुकरच्या रिंग्स, टायर, असल्या गोष्टी घेऊन लहानपणी *गाडी गाडी खेळणं* यात त्यांना काहीही कमीपणा वाटला नव्हता.


*'सळई जमिनीत रूतवत जाणं'* हा काही खेळ असू शकतो का ? पण होता.


*'कैऱ्या तोडणं'* ही यांच्या साठी चोरी नव्हती, आणि


कुठल्याही वेळी कुणाचंही *दार वाजवणं* या मध्ये कसलेही *एथीक्स* तुटत नव्हते.


*मित्राच्या आईने जेवू घालणं* यात कसलाही उपकाराचा भाव आणि *त्याच्या बाबांनी ओरडणं* यात कसलाही असूयेचा अभाव असणारी शेवटची पिढी.


वर्गात किवा शाळेत *स्वतःच्या बहिणीशी सुद्धा कुचरत बोलणारी* ही पिढी.


दोन दिवस जरी मित्र


शाळेत नाही आला तर


शाळा सुटल्या सुटल्या


दप्तरासकट


त्याच्या घरापर्यंत जाणारी


ती पीढी..


कुणाचेही बाबा शाळेत


आले की..मित्र कुठेही


खेळत असो .सत्तरच्या स्पीड ने *"तुझे बाबा आलेत चल लवकर* "


ही बातमी मित्रापर्य॔त पोहोचविणारी ती पिढी


पण गल्लीत *कुणाच्याही घरात कसलाही कार्यक्रम असलं* तरी वाट्टेल ते काम कसलाही विधिनिषेध न बाळगता करणारी ही पिढी.


*कपील, सुनिल गावसकर , वेंकट, प्रसनाच्या बोलिंग वर आणि पेस, भूपती, स्टेफी ग्राफ, अग्गासी, सॕम्प्रसच्या टेनिस वर तर राज, देव,दिलीप ते राजेश,अमिताभ आणि धर्मेंद्र,जितेंद्र बरोबर नंतर बऱ्याच नवीन कलाकारांवर, अगदी आमिर,सलमान, शाहरुख माधुरी,अनिल वर वाढलेली ही पिढी*


भाड्याने VCR आणुन ४-५ पिच्चर पैसे गोळा करून एकत्र पाहणाऱ्या मित्रांची ही पिढी.


*लक्ष्या-अशोक* च्या निर्व्याज विनोदावर हसलेली, *नाना, ओम पुरी, शबाना, स्मिता पाटील, गोविंदा, जग्गू दादा, वर्षा, सोनम, किमी ,सोनाली,* हे कलाकार पाहिलेली पिढी.


*'शिक्षकांचा मार खाणं'* यात काहीही गैर नाही फक्त घरी कळू नये कारण *'घरात परत धुतात'* ही भावना जपणारी पिढी.


ज्यांच्या शिक्षकांवर *आवाज चढवला नाही* अशी पिढी. हीत कितीही *धुतलं* तरी दसऱ्याला शिक्षकांना *सोनं देणारी* आणि आज इतक्या वर्षानी सुद्धा निवृत्त शिक्षक येताना दिसले तर लाज न बाळगता *खाली वाकून नमस्कार* करणारी पिढी. कॉलेज ला सुट्टी असली तर् आठवणीत स्वप्न रंगवनारी पिढी ...


ना मोबाईल ना SMS ना व्हाट्सअप .... भेटण्या साठी आतुरतेने वाट पाहणारी पीढ़ी.


पंकज उधासच्या *_'तुने पैसा बहोत कमाया इस पैसेने देस छुडाया'_* या ओळीला डोळे पुसणारी,


दिवाळीच्या *पाच दिवसांची कथा* माहित असणारी


लिव्ह इन तर सोडाच, लव मॅरेज म्हणजे फार *मोठं डेरिंग* समजणारी ही पिढी, अहो शाळेत आणि महाविद्यालयात पण मुलींशी बोलणारी मुले ऍडव्हान्स समजली जाणारी पिढी.


पुन्हा डोळे झाकुया ?


दहा, वीस....... ऐंशी, नव्वद...........पुन्हा जुना आठवणीचा सुवर्ण काळ


*गेले ते दिवस राहिल्या त्या आठवणी.....असं न समजणारी सुज्ञ पिढी, कारण आजचे दिवस हेच उद्याच्या आठवणी असणार असं मानणारी ही पिढी ?*


धन्य ते जीवन जे खर जगण्✍आमचाही एक जमाना होता

पुर्वी बालवाडी हा प्रकारच नव्हता .पुढे ६ /७ वर्षानंतर स्वतःच शाळेत जावे लागत असे . जर शाळेत गेलो नाही तरी कोणाला काही वाटायचे नाही.

सायकलने/ बसने  पाठवायची पद्धत नव्हती,

मुलं एकटी शाळेत गेल्यास काही बरे वाईट होईल अशी

भीती आमच्या आईवडिलांना कधी वाटलीच नाही.

☺️😊☺️😊☺️

पास / नापास हेच

आम्हाला  कळत होतं...

%  चा   आणि आमचा

संबंध कधीच नव्हता.

😆🥹😆🥹😆

शिकवणी लावली,

हे सांगायला लाज वाटायची....

कारण  "ढ" असं

हीणवलं जायचं...

🤣🤣🤣🤣🤣

पुस्तकामध्ये झाडाची

पानं आणि मोरपिस ठेवून

आम्ही हुशार होऊ शकतो,

असा आमचा दृढ विश्वास

होता...

😏🥳😏🥳😏

कापडाच्या पिशवीत आणि नंतर चैन म्हणून पत्र्याच्या पेटीत पुस्तकं आणि वह्या रचण्याचा शिरस्ता हे आमचं एक निर्मितीकौशल्य होतं.

😳😳😳😳😳

दरवर्षी जेव्हा नव्या

इयत्तेचं दप्तर भरायचो त्याआधी, पुस्तकं आणि

वह्यांना कव्हर्स घालणे,

हा आमच्या जीवनातला

एक वार्षिक उत्सव

असायचा...

🤗🤗🤗🤗🤗

वर्ष सम्पल्यानंतर पुस्तके विकणे आणि  विकत घेण्यात  आम्हाला काहीही लाज वाटत नसे.

😝😜😝😜😝

आई वडिलांना आमचे शिक्षण त्यांच्यावर फारसा बोजाही नव्हते.

🙂🙃🙂🙃🙂

कोण्या मित्राच्या सायकलच्या पुढच्या दांड्यावर व दुसऱ्याला मागच्या carrier वर बसवून,आम्ही रस्तोरस्ती किती फिरलो

हे आता आठवतही नाही...🤭🫢🤭🫢🤭

सरांचा शाळेत मार खाताना

आणि पायांचे अंगठे धरुन

उभं राहताना,कान लाल होऊन पिरगळला जाताना आमचा

'ईगो' कधीही आडवा

येत नव्हता, खरं तर

आम्हाला 'ईगो' काय

असतो हेच माहीत

नव्हतं...

😀😄😀☺️😄😀😄

मार खाणं, ही आमच्या दैनंदिन जीवनातील एक सामान्य प्रक्रिया होती.

मारणारा आणि मार खाणारा

दोघेही खुष असायचे.

मार खाणारा यासाठी की,

'चला, कालच्यापेक्षा तरी

आज कमी धोपटला गेलो

म्हणून आणि मारणारा

आज पुन्हा हात धुवून

घ्यायला मिळाले म्हणून......

🙂😉🙂😉🙂

बिनचपला ,बुटांचे कोणत्याही चेंडू आणी लाकडी बॅट ने  वेळ मिळेल तेव्हा ग्राउंडवर क्रिकेट

खेळण्यातले काय सुख होते ते आम्हालाच माहीत होते.

☺️😊☺️😊☺️☺️😊

आम्ही पॉकेट मनी कधीच मागितला नाही, आणि वडिलांनी कधी दिला नाही.

आमच्या म्हणून काही गरजाच नसायच्या. छोट्याशा असल्याच तर घरातले कोणीतरी पुर्ण करून टाकायचे.सहा महिन्यातून कुरमुरे फरसाण खायला मिळालाच तरी आम्ही बेहद खुश होतो.

दिवाळीत लवंगी फटाक्यांची लड सुटी करून एकेक फटका उडवत बसणे यात काहीअपमानास्पद आम्हाला वाटायचं नाही.कोणी दुसरा फटाके फोडत असेल त्याच्या मागे मागे धावायचो.

😉😉😉😁😉😉😉

आम्ही आमच्या

आईवडिलांना कधी सांगूच

शकलो नाही की, आम्ही तुमच्यावर किती प्रेम करतो, कारण आम्हाला

आय लव यू'

म्हणणं माहीतच नव्हतं...

😘😘❤️😘😘

आज आम्ही असंख्य

टक्के टोमणे खात, संघर्ष

करत दुनियेचा एक हिस्सा

झालोय. काहींना जे हवं

होतं, ते त्यांनी मिळवलंय

तर काही 'काय माहीत....?

शाळेतील ते डबल/ ट्रिपल सीट वर फिरवलेले आणि स्कूल बाहेरच्या त्या हापपॅन्ट वाल्या गोळीवाल्याकडून काय काय ज्या मित्राच्या कृपेने मिळायचे ते मित्र,

कुठे हरवलेत ते...!

😂😂👍😂😂

आम्ही जगात कुठेही

असू पण हे सत्य आहे की,

आम्ही वास्तव दुनियेत

जगलो, आणि वास्तवात

वाढलो........

😉🙄😉🙄😉

कपड्यांना सुरकुत्या पडू

न देणं आणि नात्यांमध्ये औपचारिकता जपणं

आम्हाला कधी जमलंच

नाही.भाकरी आणि भाजी शिवाय मधल्या सुटीतला काही डबा असतो हे आम्हाला माहीतच नव्हतं.

😘😘❤️😘😘

आपल्या नशिबाला

चुकूनही दोष न देता आम्ही आनंदाने आजही स्वप्नं पहातोय. कदाचित ते स्वप्नच आम्हाला  जगायला मदत करतायत.

जे जीवन आम्ही

जगलो त्याची वर्तमानाशी  काहीच तुलना होणार

नाही.,,,,,,,,,,,,,,,,,,

😃😃😃🌹😃😃😃

आम्ही चांगले असू

किंवा वाईट, पण आमचाही

एक 'जमाना' होता.....


कोणी लिहिले माहित नाही . 

पण खूप आवडले . 


हे आमची हुबेहूब कथा व वर्णन आहे..🌳🌳🌹🌹🙏🙏

Thursday, June 8, 2023

Mobile computing unit no 4

 Unit IV Mobile IP and Transport Layer

Mobile IP 

Mobile IP?

Mobile IP or MIP is an Internet Engineering Task Force (IETF) RFC 2002, De-Facto standard communication protocol. It is created by extending Internet Protocol, IP.

The Mobile IP allows mobile device users to move from one network to another while maintaining the same permanent IP address.

The concept and role of Mobile IP are very important in the field of mobile computing technology.

The mobile IP makes the communication flawless and ensures that the communication will occur without the user's sessions or connections being dropped.

Mobile IP is based on IP, so it is scalable for the Internet. Any media that supports IP can also support Mobile IP.

Introduction to Mobile IP Technology

In IP networks, when a device is within its home network, the routing is based on the static IP addresses. The device within a network is connected through normal IP routing by the IP address assigned on the network. It is the same as how a postal letter is delivered to the fixed address on the envelope. The problem occurs when a device goes away from its home network and is no longer reachable using normal IP routing. In this condition, the active sessions of the device are terminated. The idea of Mobile IP was introduced to resolve this issue. It facilitates users to keep the same IP address while going to a different network or a different wireless operator without being communication disrupted or without sessions or connections being dropped.

The mobility function of the Mobile IP is performed on the network layer rather than the physical layer.

The architecture of Mobile IP Technology

The components of the Mobile IP and the relationship among them are specified in the following image:


This is the architecture of Mobile IP technology. It consists of the following components:

Mobile Node (MN)

Home Agent (HA)

Foreign Agent (FA)

Home Network (HN)

Foreign Network (FN)

Corresponding Node (CN)

Care of Address (COA)

Mobile Node

The Mobile Node is a device or a user or a router that can frequently change their network positions without changing its original IP address. Examples of mobile nodes are cell phone, personal digital assistant (PDA), laptop, etc. whose software enables network roaming capabilities.

Home Agent

The Home Agent is a router on the home network. It serves as the anchor point for communication with the Mobile Node.

Foreign Agent

The Foreign Agent is a router that provides several services such as tunneling data-grams whenever a mobile node visits a foreign network. It is responsible for delivering packets from the Home Agent to the Mobile Node.

Home Network

The home network is the base station network to which the mobile node originally belongs to.

Foreign Network

Any network other than the home network or the networks on which mobile nodes have a registered IP is called a foreign network.

Corresponding Node

The partner nodes which are used for communication with mobile nodes are called corresponding nodes.

Care of Address

The Care of Address or COA is used to define the mobile node's current position or user. It is used to deliver data packets through the process of tunneling.

Working of Mobile IP

The working of Mobile IP can be described in 3 phases:

Agent Discovery

In the Agent Discovery phase, the mobile nodes discover their Foreign and Home Agents. The Home Agent and Foreign Agent advertise their services on the network using the ICMP Router Discovery Protocol (IRDP).

Registration

The registration phase is responsible for informing the current location of the home agent and foreign agent for the correct forwarding of packets.

Tunneling

This phase is used to establish a virtual connection as a pipe for moving the data packets between a tunnel entry and a tunnel endpoint.

Applications of Mobile IP

The mobile IP technology is used in many applications where the sudden changes in network connectivity and IP address can cause problems. It was designed to support seamless and continuous Internet connectivity.

It is used in many wired and wireless environments where users have to carry their mobile devices across multiple LAN subnets.

Although Mobile IP is not required within cellular systems such as 3G, it is often used in 3G systems to provide seamless IP mobility between different packet data serving node (PDSN) domains

IP packet delivery :




Mobile node (MN): 

 

1. A mobile node is an end-system or router that can change its point of attachment 

to the internet using mobile IP. 

 

2. The MN keeps its IP address and can continuously communicate with any other 

system in the internet as long as link-layer connectivity is given. 

 

3. Mobile nodes are not necessarily small devices such as laptops with antennas or 

mobile phones; a router onboard an aircraft can be a powerful mobile node. 

 

Correspondent node (CN): 

 

At least one partner is needed for communication. In the following the CN 

represents this partner for the MN. The CN can be a fixed or mobile node.

Mobile node (MN): 

 

1. A mobile node is an end-system or router that can change its point of attachment 

to the internet using mobile IP. 

 

2. The MN keeps its IP address and can continuously communicate with any other 

system in the internet as long as link-layer connectivity is given. 

 

3. Mobile nodes are not necessarily small devices such as laptops with antennas or 

mobile phones; a router onboard an aircraft can be a powerful mobile node. 

 

Correspondent node (CN): 

 

At least one partner is needed for communication. In the following the CN 

represents this partner for the MN. The CN can be a fixed or mobile node.

1. A correspondent node CN wants to send an IP packet to the MN. 

 2. One  of  the requirements  of mobile IP was  to  support hiding  the mobility of the MN. 

 3. CN  does not need  to know anything  about the  MN9s current  location and sends the packet as usual to the IP address of MN (step 1).  This means that CN sends an IP packet with MN as a destination address and CN as a source  address.  The internet,  not  having  information  on  the  current location  of  MN, routes the packet to the router responsible for the home network of MN. This is done using the standard routing mechanisms of the internet  

4. The HA now intercepts the packet, knowing that MN is currently not in its home network.  

5. The  packet  is  not  forwarded  into  the  subnet  as  usual,  but  encapsulated  and tunnelled to the COA.  

6. A  new  header  is  put  in  front  of  the  old  IP  header  showing  the  COA  as  new destination and HA as source of the encapsulated packet (step 2).  

7. The  foreign  agent  now  decapsulates  the  packet,  i.e.,  removes  the  additional header,  and  forwards  the  original  packet  with  CN  as  source  and  MN  as destination to the MN (step 3). 

 8. Again,  for the  MN mobility  is  not  visible. It  receives  the  packet  with  the  same sender and receiver address as it would have done in the home network.

9. The MN sends the packet as usual with its own fixed IP address as source and CN9s address as destination (step 4).  

10. The router with the FA acts as default router and forwards the packet in the same way as it would do for any other node in the foreign network.  As long as CN is a fixed node the remainder is in the fixed internet as usual.  If CN were also a mobile node residing in a foreign network, the same mechanisms as described in steps 1 through 3 would apply now in the other direction.


Agent Discovery :


One initial problem of an MN after moving is how to find a foreign agent.  How does the MN discover that it has moved?  For this purpose, mobile IP describes two methods: agent advertisement and agent solicitation, which are in fact router discovery methods plus extensions.

Here foreign agents and home agents advertise their presence periodically using special agent advertisement messages.  ➢ These advertisement messages can be seen as a beacon broadcast into the subnet. Routers in the fixed network implementing this mechanisms also advertise their routing service periodically to the attached links.  The agent advertisement packet according to RFC 1256 with the extension for mobility is shown in Figure.


The upper part represents the ICMP packet while the lower part is the extension needed for mobility.

1. The  TTL  field  of  the  IP  packet  is  set  to  1  for  all  advertisements  to  avoid forwarding them.  

2. The  IP  destination  address  according  to  standard  router  advertisements  can  be either  set  to  224.0.0.1,  which  is  the  multicast  address  for  all  systems  on  a  link (Deering, 1989), or to the broadcast address 255.255.255.255.  

3. The fields in the ICMP part are defined as follows. The type is set to 9, the code can be 0, if the agent also routes traffic from non-mobile nodes, or 16, if it does not route anything other than mobile traffic.  

4. Foreign agents are at least required to forward packets from the mobile node.  

5. The  number  of  addresses  advertised  with  this  packet  is  in  #addresses  while  the addresses themselves follow as shown. 

6. Lifetime denotes the length of time this advertisement is valid.  

7. Preference  levels  for  each  address  help  a  node  to  choose  the  router  that  is  the  most eager one to get a new node.  

8. The  difference  compared  with  standard  ICMP  advertisements  is  what  happens after the router addresses.  

9. This  extension  for  mobility  has  the  following  fields  defined:  type  is  set  to  16, length depends on the number of COAs provided with the message and equals 6 + 4*(number of addresses).  

10. An agent shows the total number of advertisements sent since initialization in the sequence number.  

11. By  the  registration  lifetime,  the  agent  can  specify  the  maximum  lifetime  in seconds a node can request during registration.  

12. The following bits specify the characteristics of an agent in detail.  

◼ The R bit (registration) shows, if a registration with this agent is required even when using a colocated COA at the MN.  

◼ If the agent is currently too busy to accept new registrations it can set the B bit.  

◼ The  following  two  bits  denote  if  the  agent  offers  services  as  a  home agent (H) or   foreign  agent (F)  on the link where  the  advertisement has been sent.  

◼ Bits M and G specify the method of encapsulation used for the tunnel.

◼ While  IP-in-IP  encapsulation  is  the  mandatory  standard,  M  can  specify minimal encapsulation and G generic routing encapsulation.   

◼ In the first version of mobile IP (RFC 2002) the V bit specified the use  of  header    compression  according  to  RFC  1144  (Jacobson,1990).  Now the field r at the same bit position is set to zero and must be ignored.  

◼ The  new  field  T indicates  that  reverse  tunneling  is  supported    by      the FA.  

◼ The following fields contain the COAs advertised.  

◼ A foreign agent setting the F bit must advertise at least one COA.

A mobile node in a subnet can now receive agent advertisements from either its home agent or a foreign agent.  This is one way for the MN to discover its location.


Agent solicitation :

 1. If no agent advertisements are present or the inter-arrival time is too high, and an MN has not received a COA by other means, e.g., DHCP, the mobile node must send agent solicitations.  

2. Care  must  be  taken  to  ensure  that  these  solicitation  messages  do  not  flood  the network,  but  basically  an  MN  can  search  for  an  FA  endlessly  sending  out solicitation messages.  

3. Typically, a mobile node can send out three solicitations, one per second, as soon as it enters a new network.  

4. It  should  be  noted  that  in  highly  dynamic  wireless  networks  with  moving  MNs and  probably  with  applications  requiring  continuous  packet  streams  even  one second intervals between solicitation messages might be too long.  

5. Before  an  MN  even  gets  a  new  address  many  packets  will  be  lost  without additional mechanisms.  

6. If a node does not receive an answer to its solicitations it must decrease the rate  of  solicitations  exponentially  to  avoid  flooding  the  network  until  it  reaches  a maximum interval between solicitations (typically one minute).  

7. Discovering a new agent can be done anytime, not just if the MN is not connected to one. 8. Consider  the  case  that  an  MN  is  looking  for  a  better  connection  while    still sending via the old path.  

9. This is the case while moving through several cells of different wireless networks. After  these  steps  of  advertisements  or  solicitations  the  MN  can  now  receive  a COA, either one for an FA or a co-located COA.  

10. The  MN  knows  its  location  (home  network  or  foreign  network)  and  the capabilities of the agent (if needed).

Tunnelling and Encapsulation:

A tunnel establishes a virtual pipe for data packets between a tunnel entry and a tunnel endpoint.  Packets entering a tunnel are forwarded inside the tunnel and leave the tunnel unchanged.  Tunneling, i.e., sending a packet through a tunnel, is achieved by using encapsulation.  Encapsulation is the mechanism of taking a packet consisting of packet header and data and putting it into the data part of a new packet.  The reverse operation, taking a packet out of the data part of another packet, is called decapsulation.

Encapsulation and decapsulation are the operations typically performed when apacket is transferred from a higher protocol layer to a lower layer or from a lower to a higher layer respectively.  

 Here  these  functions  are  used  within  the  same  layer.  This  mechanism  is shown in Figure 4 and describes exactly what the HA at the tunnel entry does.  Fig 4 : IP Encapsulation   The HA takes the original packet with the MN as destination, puts it into the data  part of a new packet and sets the new IP header in such a way that the packet is routed to the COA.  

 The new header is also called the outer header for obvious reasons.  

 Additionally, there is an inner  header  which  can  be  identical  to  the  original header  as  this  is  the  case  for  IP-in-IP  encapsulation,  or  the  inner  header  can  be computed during encapsulation.



Route Optimization in Mobile IP: 

The route optimization adds a conceptual data structure, the binding cache, to the correspondent node. The binding cache contains 2. bindings for mobile node’s home address and its current care-of-address. Every time the home agent receives a IP datagram that is destined to a mobile node currently away from the home network, it sends a binding update to the correspondent node to update the information in the correspondent node’s binding cache. After this the correspondent node can directly tunnel packets to the mobile node.



Process of Mobile IP The mobile IP process has following three main phases, which are: 

1. Agent Discovery During the agent discovery phase the HA and FA advertise their services on the network by using the ICMP router discovery protocol (IROP). Mobile IP defines two methods: agent advertisement and agent solicitation which are in fact router discovery methods plus extensions. o Agent advertisement: For the first method, FA and HA advertise their presence periodically using special agent advertisement messages. These messages advertisement can be seen as a beacon broadcast into the subnet. For this advertisement internet control message protocol (ICMP) messages according to RFC 1256, are used with some mobility extensions. o Agent solicitation: If no agent advertisements are present or the inter arrival time is too high, and an MN has not received a COA, the mobile node must send agent solicitations. These solicitations are again bases on RFC 1256 for router solicitations. 

2. Registration The main purpose of the registration is to inform the home agent of the current location for correct forwarding of packets.



Registration can be done in two ways depending on the location of the COA. o If the COA is at the FA, the MN sends its registration request containing the COA to the FA which is forwarding the request to the HA. The HA now set up a mobility binding containing the mobile node's home IP address and the current COA. Additionally, the mobility biding contains the lifetime of the registration which is negotiated during the registration process. Registration expires automatically after the lifetime and is deleted; so a mobile node should register before expiration. After setting up the mobility binding, the HA send a reply message back to the FA which forwards it to the MN. o If the COA is co-located, registration can be very simpler. The mobile node may send the request directly to the HA and vice versa. This by the way is also the registration procedure for MNs returning to their home network. 

3. Tunneling A tunnel is used to establish a virtual pipe for data packets between a tunnel entry and a tunnel endpoint. Packets which are entering in a tunnel are forwarded inside the tunnel and leave the tunnel unchanged. Tunneling, i.e., sending a packet through a tunnel is achieved with the help of encapsulation. Tunneling is also known as "port forwarding" is the transmission and data intended for use only within a private, usually corporate network through a public network.


Transport Layer 


TRADITIONAL TCP Mechanisms that influence the efficiency of TCP in a mobile environment 

• Congestion control 

• Slow start 

• Fast retransmit/fast recovery 

• Implications on mobility 


Congestion control 


• TCP has been designed for fixed networks with fixed end-systems 

• Hardware and software are mature enough to ensure reliability of data 

• The probable reason for a packet loss in a fixed network is a temporary overload some point in the transmission path, i.e., a state of congestion at a node 

• The packet buffers of a router are filled and the router cannot forward the packets fast enough • The only thing a router can do in this situation is to drop packets 

• The sender notices the missing acknowledgement for the lost packet and assumes a packet loss due to congestion 

• Retransmitting the missing packet and continuing at full sending rate would now be unwise, as this might only increase the congestion. Slow start 

• The behavior TCP shows after the detection of congestion is called slow start 

• The sender always calculates a congestion window for a receiver. 

• The start size of the congestion window is one segment (TCP packet). 

• This scheme doubles the congestion window every time the acknowledgements come back, which takes one round trip time (RTT) like 1, 2, 4, 8 etc. 

• This is called the exponential growth of the congestion window in the slow start mechanism. • The exponential growth stops at the congestion threshold.


Slow start 


• The behavior TCP shows after the detection of congestion is called slow start 

• The sender always calculates a congestion window for a receiver. 

• The start size of the congestion window is one segment (TCP packet).

 • This scheme doubles the congestion window every time the acknowledgements come back, which takes one round trip time (RTT) like 1, 2, 4, 8 etc. 

• This is called the exponential growth of the congestion window in the slow start mechanism. • The exponential growth stops at the congestion threshold.

As soon as the congestion window reaches the congestion threshold, further increase of the transmission rate is only linear by adding 1 to the congestion window each time the acknowledgements come back 

• Linear increase continues until a time-out at the sender occurs due to a missing acknowledgement, or until the sender detects a gap in transmitted data o the sender sets the congestion threshold to half of the current congestion window o The congestion window itself is set to one segment Fast retransmit/fast recovery Fast Retransmit 

• a receiver sends acknowledgements only if it receives any packets from the sender. • Receiving acknowledgements from a receiver also shows that the receiver continuously receives something from the sender. 

• The gap in the packet stream is not due to severe congestion, but a simple packet loss due to a transmission error. 

• The sender can now retransmit the missing packet(s) before the timer expires. • This behavior is called fast retransmit Fast Recovery 

• The receipt of acknowledgements shows that there is no congestion to justify a slow start. 

• The sender can continue with the current congestion window. 

• The sender performs a fast recovery from the packet loss 

• This mechanism can improve the efficiency of TCP dramatically Implications on mobility 

• TCP concludes a congestion situation from a missing acknowledgement o typically wrong in wireless networks, here we often have packet loss due to transmission errors o mobility itself can cause packet loss, if e.g. a mobile node roams from one access point (e.g. foreign agent in Mobile IP) to another while there are still packets in transit to the wrong access point and forwarding is not possible • The performance of an unchanged TCP degrades severely o TCP cannot be changed fundamentally due to the large base of installation in the fixed network,

 ▪ TCP for mobility has to remain compatible o the basic TCP mechanisms keep the whole Internet together CLASSICAL TCP IMPROVEMENTS 

• Indirect TCP (I-TCP) 

• Snooping TCP • Mobile TCP 

• Fast retransmit/fast recovery 

• Transmission/time-out freezing 

• Selective retransmission 

• Transaction-oriented TCP 








Indirect TCP (I-TCP)




I-TCP segments a TCP connection into a o fixed part - Standard TCP is used o wireless part - optimized TCP protocol 

• splitting of the TCP connection at, e.g., the foreign agent into 2 TCP connections, no real end-to-end connection any longer 

• hosts in the fixed part of the net do not notice the characteristics of the wireless part 

Advantages 

• no changes in the fixed network necessary, no changes for the hosts (TCP protocol) necessary, all current optimizations to TCP still work 

• transmission errors on the wireless link do not propagate into the fixed network 

• simple to control, mobile TCP is used only for one hop between, e.g., a foreign agent and mobile host 

• therefore, a very fast retransmission of packets is possible, the short delay on the mobile hop is known 

Disadvantages 

• loss of end-to-end semantics, an acknowledgement to a sender does now not any longer mean that a receiver really got a packet, foreign agents might crash 

• higher latency possible due to buffering of data within the foreign agent and forwarding to a new FA 

Snooping TCP 

• the foreign agent buffers all packets with destination mobile host and additionally ‘snoops’ the packet flow in both directions to recognize acknowledgements 

• buffering enable the FA to perform a local retransmission in case of packet loss on the wireless link 

• Transparent extension of TCP within the foreign agent 

• buffering of packets sent to the mobile host 

• lost packets on the wireless link (both directions!) will be retransmitted immediately by the mobile host or foreign agent, respectively (so called “local” retransmission) 

• the foreign agent therefore “snoops” the packet flow and recognizes acknowledgements in both directions, it also filters ACKs 

• changes of TCP only within the foreign agent


• Data transfer to the mobile host o FA buffers data until it receives ACK of the MH, FA detects packet loss via duplicated ACKs or time-out o fast retransmission possible, transparent for the fixed network 

• Data transfer from the mobile host o FA detects packet loss on the wireless link via sequence numbers,

▪ FA answers directly with a NACK to the MH o MH can now retransmit data with only a very short delay 

• Integration of the MAC layer o MAC layer often has similar mechanisms to those of TCP o thus, the MAC layer can already detect duplicated packets due to retransmissions and discard them 

• Problems o snooping TCP does not isolate the wireless link as good as I-TCP o snooping might be useless depending on encryption schemes 

Advantages 

• The end-to-end TCP semantic is preserved 

• The correspondent host does not need to be changed; most of the enhancements are in the foreign agent 

• It does not need a handover of state as soon as the mobile host moves to another foreign agent. • It does not matter if the next foreign agent uses the enhancement or not 

Disadvantages 

• Snooping TCP does not isolate the behavior of the wireless link as well as ITCP 

• Using negative acknowledgements between the foreign agent and the mobile host assumes additional mechanisms on the mobile host. 

• All efforts for snooping and buffering data may be useless if certain encryption schemes are applied end-to- end between the correspondent host and mobile host 

Mobile TCP 

• Special handling of lengthy and/or frequent disconnections 

• M-TCP splits as I-TCP does 

o unmodified TCP fixed network to supervisory host (SH)

o optimized TCP SH to MH

• Supervisory host o no caching, no retransmission o monitors all packets, if disconnection detected ▪ set sender window size to 0 

▪ sender automatically goes into persistent mode 

o old or new SH reopen the window 

• Advantages 

o maintains semantics, supports disconnection, no buffer forwarding 

• Disadvantages 

o loss on wireless link propagated into fixed network o adapted TCP on wireless link 


Fast retransmit / fast recovery 

• Change of foreign agent often results in packet loss 

o TCP reacts with slow-start although there is no congestion 

• Forced fast retransmit o as soon as the mobile host has registered with a new foreign agent, the MH sends duplicated acknowledgements on purpose 

o this forces the fast retransmit mode at the communication partners o additionally, the TCP on the MH is forced to continue sending with the actual window size and not to go into slow-start after registration 

• Advantage 

o simple changes result in significant higher performance 

• Disadvantage 

o further mix of IP and TCP, no transparent approach Transmission / time-out freezing 

• Mobile hosts can be disconnected for a longer time o no packet exchange possible, e.g., in a tunnel, disconnection due to overloaded cells or mux. with higher priority traffic 

o TCP disconnects after time-out completely

TCP freezing o MAC layer is often able to detect interruption in advance 

o MAC can inform TCP layer of upcoming loss of connection o TCP stops sending, but does now not assume a congested link 

o MAC layer signals again if reconnected 

• Advantage 

o scheme is independent of data 

• Disadvantage 

o TCP on mobile host has to be changed, mechanism depends on MAC layer 

Selective retransmission 

• TCP acknowledgements are often cumulative o ACK n acknowledges correct and in-sequence receipt of packets up to n 

o if single packets are missing quite often a whole packet sequence beginning at the gap has to be retransmitted (go-back-n), thus wasting bandwidth 

• Selective retransmission as one solution 

o RFC2018 allows for acknowledgements of single packets, not only acknowledgements of in-sequence packet streams without gaps 

o sender can now retransmit only the missing packets 

• Advantage 

o much higher efficiency 

• Disadvantage 

o more complex software in a receiver, more buffer needed at the receiver 

Transaction-oriented TCP 

• TCP phases o setup, data transmission, connection release o using 3-way-handshake needs 3 packets for setup and release, respectively o thus, even short messages need a minimum of 7 packets! 

• Transaction oriented TCP o RFC1644, T-TCP, describes a TCP version to avoid this overhead


o connection setup, data transfer and connection release can be combined o thus, only 2 or 3 packets are needed 

• Advantage : efficiency 

• Disadvantage o requires changed TCP o mobility not longer transparent.


Mobile computing unit no 6

 Unit 6: Operating System & Applications of Mobile Computing


Basic Concepts of mobile operating system?

A mobile operating system (OS) is software that allows smartphones, tablets and other devices to run applications and programs.

A mobile OS provides an interface between the device's hardware components and its software functions. It typically starts when a device powers on, presenting a screen with icons or tiles that show information and provide application access. Mobile operating systems also manage cellular and wireless network connectivity and phone access.

Millions of people use mobile operating systems worldwide, powering a wide range of devices, from smartphones to tablets and wearable technology. These systems offer users a wide selection of features, including calling and messaging, internet and cellular data connectivity, multitasking capabilities, interactive user interfaces and access to a wide range of third-party applications and services to enhance the user experience even further.


SPECIAL CONSTRAINTS AND REQUIREMENTS

 Design and capabilities of a Mobile OS (Operating System) is very different than a general-purpose OS running on desktop machines

 Physically Constrained

 ·        Battery-powered device

·        Small screens of varying shapes, sizes, and resolutions

·        Memory

·        Storage space

 Working in Uncertainty

 ·        Networks come and go

·        Other devices appear and disappear

·        OS need to provide robust methods for handling connections and coping with service interruptions and ad hoc attempts to communicate

 Today's m

obile devices are multifunctional devices capable of hosting a broad range of applications for both business and consumer use. Smartphones and tablets enable people to use their mobile device to access the Internet for email, instant messaging, text messaging and Web browsing, as well as work documents, contact lists and more.

 Mobile devices are often seen as an extension to your own PC or laptop, and in some cases newer, more powerful mobile devices can even completely replace PCs. And when the devices are used together, work done remotely on a mobile device can be synchronized with PCs to reflect changes and new information while away from the computer.

Much like the Linux or Windows operating system controls your desktop or laptop computer, a mobile operating system is the software platform on top of which other programs can run on mobile devices.

A mobile operating system, also called a mobile OS, is an operating system that is specifically designed to run on mobile devices such as mobile phones, smartphones, PDAs, tablet computers and other handheld devices.

Needs of Operating System

The following points indicate the need for the operating system:

More than one program runs at a time in a computer, and all of them require your computer's CPU and memory. The operating system manages resources for all those programs. That is why the operating system is required.

Multitasking is a very critical feature of the OS. With its help, we can run many programs simultaneously.

The operating system provides a platform to run any application program in the computer. Due to which we can do our work with the help of that application.

It helps the user in file management. Through this, the user can save the data according to his needs.

You use your mouse to open the application and click on the menu. All this is possible due to the modern operating system. This operating system allows you to do this with the help of GUI (Graphical user interface).

The operating system creates a communication link between the user and the computer, allowing the user to run any application program and obtain the required output properly.

It is almost impossible for a user to use a computer system without an operating system. Many processes run simultaneously when a program is executed, which is not easy for a person to manage.

Popular platforms of the Mobile OS

A mobile operating system is an operating system that helps to run other application software on mobile devices. It is the same kind of software as the famous computer operating systems like Linux and Windows, but now they are light and simple to some extent.

The operating systems found on smartphones include Symbian OS, iPhone OS, RIM's BlackBerry, Windows Mobile, Palm WebOS, Android, and Maemo. Android, WebOS, and Maemo are all derived from Linux. The iPhone OS originated from BSD and NeXTSTEP, which are related to Unix.

It combines the beauty of computer and hand use devices. It typically contains a cellular built-in modem and SIM tray for telephony and internet connections. If you buy a mobile, the manufacturer company chooses the OS for that specific device.

1. Android OS: The Android operating system is the most popular operating system today. It is a mobile OS based on the Linux Kernel and open-source software. The android operating system was developed by Google. The first Android device was launched in 2008.

2. Bada (Samsung Electronics): Bada is a Samsung mobile operating system that was launched in 2010. The Samsung wave was the first mobile to use the bada operating system. The bada operating system offers many mobile features, such as 3-D graphics, application installation, and multipoint-touch.

3. BlackBerry OS: The BlackBerry operating system is a mobile operating system developed by Research In Motion (RIM). This operating system was designed specifically for BlackBerry handheld devices. This operating system is beneficial for the corporate users because it provides synchronization with Microsoft Exchange, Novell GroupWise email, Lotus Domino, and other business software when used with the BlackBerry Enterprise Server.

4. iPhone OS / iOS: The iOS was developed by the Apple inc for the use on its device. The iOS operating system is the most popular operating system today. It is a very secure operating system. The iOS operating system is not available for any other mobiles.

5. Symbian OS: Symbian operating system is a mobile operating system that provides a high-level of integration with communication. The Symbian operating system is based on the java language. It combines middleware of wireless communications and personal information management (PIM) functionality. The Symbian operating system was developed by Symbian Ltd in 1998 for the use of mobile phones. Nokia was the first company to release Symbian OS on its mobile phone at that time.

6. Windows Mobile OS: The window mobile OS is a mobile operating system that was developed by Microsoft. It was designed for the pocket PCs and smart mobiles.

7. Harmony OS: The harmony operating system is the latest mobile operating system that was developed by Huawei for the use of its devices. It is designed primarily for IoT devices.

8. Palm OS: The palm operating system is a mobile operating system that was developed by Palm Ltd for use on personal digital assistants (PADs). It was introduced in 1996. Palm OS is also known as the Garnet OS.

9. WebOS (Palm/HP): The WebOS is a mobile operating system that was developed by Palm. It based on the Linux Kernel. The HP uses this operating system in its mobile and touchpads.

Uses of Operating System

The operating system is used everywhere today, such as banks, schools, hospitals, companies, mobiles, etc. No device can operate without an operating system because it controls all the user's commands.

LINUX/UNIX operating system is used in the bank because it is a very secure operating system.

Symbian OS, Windows Mobile, iOS, and Android OS are used in mobile phone operating systems as these operating systems are a lightweight operating system.

Features of Operating System

The operating system has many notable features that are developing day by day. The growth of the operating system is commendable as it was developed in 1950 to handle storage tape. It acts as an interface. The features of operating system are given below.

Error detection and handling

Handling I/O operations

Virtual Memory Multitasking

Program Execution

Allows disk access and file systems

Memory management

Protected and supervisor mode

Security

Resource allocation

Easy to run

Information and Resource Protection

Manipulation of the file system

1. Easy to use

The graphics should be attractive.

The buttons and features should be easy to use. mOreover, the functionalities should not be very compilicated.

Features should be powerful and useful.

2. Good app store

An app is one of the basic part of an OS.

Good and useful apps forms an important part of an OS.

The apps should be simple and interactive.

3. Good battery life

Power is one of the main requirement of a smartphone.

They require power for processors sensors etc. Therefore, the battery holds a very important role.

Smartphones power usage keeps on increasing therefore, a good battery backup is very essential.

4. Data usage and organization

An operating system should focus on controlling the data and network usage. It should keep the limit and requirement in focus.

Secondly, the organization of data related to to-do lists, calendars, alarms, reminders etc is very important. A good OS should keep this data in a very organized and safe manner. Moreover, the data should be readily and easily available.

Characteristics of Operating System

Memory Management: The operating system manages memory. It has complete knowledge of primary memory; which part of the memory is used by which program. Whenever a program requests, it allocates memory.

Processor Management: It allocates the program to the processor (CPU) and also deallocates it when a program runs out of the CPU needs.

Device Management: The operating system keeps the information about all devices. It is also called the I/O controller, and the operating system also decides which devices are used to which program, when, and for how long.

Security: It prevents unauthorized access to any program. It uses passwords and other technologies.

Reliability: It is very reliable because no any virus and harmful code can be detected in it.

File Management: It allocates and deallocates resources and decides which program to allocate resources.

Easy to use: It can be easily used as it also has a GUI interface.

Components of a Mobile Operating System

The components of a mobile OS are same as a basic OS. The components are as follows:

1. Kernel

A kernel is the core/heart of an OS. It contains all the functions and operations to manage the working of OS.

2. Process Execution

The OS executes various process so that the statements will execute and connect the application program to the hardware. Whenever a process executes it uses memory, space and other resources as well.

3. Interrupt

Interrupts are basically used be the hardware devices to communicate with the CPU. It is basically a signal which the device generates to request the CPU. Moreover, whenever an interrupt occurs the CPU temporarily stops executing its current process.

4. Memory Management

It is the management of the main or primary memory. Furthermore, whatever program is executed, it has to be present in the main memory. Therefore, there can be more than one program present at a time. Hence, it is required to manage the memory.

The operating system:

Allocates and deallocates the memory.

Keeps a record of which part of primary memory is used by whom and how much.

Distributes the memory while multiprocessing.

5. Multitasking

It is performing more than one tasks at a time. The OS allows the user to work wit more than one process at a time without any problem.

6. Security

The OS keeps the system and programs safe and secure through authentication. A user id and password decide the authenticity of the user.

7. User Interface

GUI stands for Graphical User Interface. As the name suggests, it provides a graphical interface for the user to interact with the computer. It uses icons, menus, etc. to interact with the user. Moreover, the user can easily interact by just clicking these items. Therefore, it is very user friendly and there is no need to remember any commands.

Functions of OS

An operating system performs various tasks. Let us study them. Several functions of OS are:


1. Memory Management

It is the management of the main or primary memory. Furthermore, whatever program is executed, it has to be present in the main memory. Therefore, there can be more than one program present at a time. Hence, it is required to manage the memory.

The operating system:

Allocates and deallocates the memory.

Keeps a record of which part of primary memory is used by whom and how much.

Distributes the memory while multiprocessing.


2. Processor Management/Scheduling

When more than one process runs on the system the OS decides how and when a process will use the CPU. Hence, the name is also CPU Scheduling. The OS:

Allocates and deallocates processor to the processes.

Keeps record of CPU status.


3. Device Management

The processes may require devices for their use. This management is done by the OS. The OS:

Allocates and deallocates devices to different processes.

keep records of the devices.

Decides which process can use which device for how much time.

4. File Management

The files on a system are stored in different directories. The OS:

keeps records of the status and locations of files.

Allocates and deallocates resources.


5. Security

The OS keeps the system and programs safe and secure through authentication. A user id and password decide the authenticity of the user.

6. Other Functions

Some other functions of the OS can be:

Error detection.

keeping a record of system performance.

Communication between different software etc.

Types of Mobile Operating Systems

There are various mobile device operating systems available today, but the iPhone's OS, Apple iOS, and Google's open source OS, Google Android, are two of the most frequently used. These two mobile operating systems respond differently to mobile computing. Some other Operating System(OS) are given below:

1. Android Operating System: The Android operating system is currently the most widely used. It's an open-source mobile operating system based on the Linux kernel. Google launched the Android operating system. In 2008, the first Android device was released.

2. iPhone OS / iOS: Apple created the iOS operating system for use on its devices. The iOS operating system is currently the most widely used. It's an extremely safe operating system. Other mobile devices do not support the iOS operating system.

3. Bada (Samsung Electronics): Samsung's Bada mobile operating system was released in 2010. The Samsung Wave was the first smartphone to run on the bada operating system. Many mobile features are available with the bada operating system, including  application installation, 3-D graphics, and multipoint-touch.

4. BlackBerry OS: BlackBerry mobile operating system was created by Research In Motion (RIM). This operating system was created with BlackBerry handheld devices in mind. When used with the BlackBerry Enterprise Server, this operating system benefits corporate users by allowing synchronisation withNovell GroupWise email, Microsoft Exchange, Lotus Domino, and other business software.

5. Symbian OS: The Symbian operating system is a mobile operating system with a high level of network connectivity. The Java programming language powers the Symbian operating system. It integrates wireless communications middleware with personal information management (PIM) capabilities. Symbian Ltd created the Symbian operating system in 1998 for usage on mobile phones. At the time, Nokia was the first business to deliver Symbian OS on a mobile phone.

6. Windows Mobile OS: Microsoft created the Windows Mobile OS, which is a mobile operating system. It was created for smart phones and pocket PCs. Rather than normal icons, the Windows smartphone's screen is covered in various colourful squares. A lot of huge typography and a basic interface are also included in the design.

7. Palm OS: The Palm operating system was created by Palm Ltd for use on personal digital assistants (PADs). It first appeared in 1996. Garnet OS is another name for Palm OS. It was created to make using the touchscreen simpler. It is one of the most user-friendly mobile phone operating systems, however the platform's failure to multitask may force some users to reject it.

8. WebOS (Palm/HP): Palm created the WebOS operating system for mobile devices. It is built on top of the Linux kernel. This operating system is used by HP in its mobile phones and laptop touchpad. This is one of the multitasking-capable mobile phone operating systems. If you receive a message while playing a game, for example, you can open it without exiting the game.

9. Harmony OS: Huawei's harmony operating system is the company's most recent mobile operating system for usage on its smartphones. It is primarily intended for Internet Of Things(IoT) devices.


Frequently Asked Questions (FAQs)

Q1. What is a mobile OS?

A1. A mobile operating system allows the user to run other different application software on the mobile, tablets, etc. Furthermore, they are a mixture of computer OS with some additional features for mobiles. Also, they are comparatively light and simple.


Q2. List some common mobile operating system.

A2. Some common mobile OS are as follows:

Android OS

Apple iOS

Bada

Blackberry OS

Windows Mobile OS

Symbian OS

Palm OS

Web OS

Harmony OS etc.

Q3. List the functions of OS.

A3. Functions of OS are as follows:

Memory Management

Process Management/CPU Scheduling

Device Management

File Management

Security

Error detection etc.


Q4. List the features of a mobile OS.

A4. A mobile OS has the following features:

Easy to use

Good app store

Good battery life

Data usage and organization


Q5. What is a kernel?

A5. A kernel is the core/heart of an OS. It contains all the functions and operations to manage the working of OS.


m-commerce (mobile commerce)

What is m-commerce?

M-commerce (mobile commerce) is the buying and selling of goods and services through wireless handheld devices such as smartphones and tablets. M-commerce is a form of e-commerce that enables users to access online shopping platforms without the use of a desktop computer.

Over time, content delivery through wireless devices has become faster, more secure and scalable. As a result, mobile commerce has grown rapidly.

M-commerce encompasses three major approaches to mobility and business.

Examples of m-commerce include in-app purchasing; mobile banking virtual marketplace apps, such as the Amazon mobile app; and digital wallets, such as Apple Pay, Google Pay and Samsung Wallet.

Examples of m-commerce use in specific industries include the following:

Financial services. Mobile banking and brokerage transactions are done from mobile devices.

Telecommunications. Handheld devices are used to make service changes and bill payments, and to do account reviews.

Service and retail. Consumers place and pay for orders on-the-fly through online stores.

Information services. Financial, sports, traffic, weather and many other news updates are accessed through mobile devices.

Types of m-commerce

M-commerce is categorized based on the following three basic functions:

Meta rebranded Facebook Pay as Meta Pay, which lets users pay for digital items in the metaverse.

Mobile shopping enables customers to buy a product using a mobile device with an application such as Amazon or a web app. A subcategory of mobile shopping is app commerce, which is a transaction that takes place over a native app.

Mobile banking is online banking designed for handheld technology. It enables customers to access accounts and brokerage services, conduct financial transactions, pay bills and make stock trades. This is typically done through a secure, dedicated app provided by the banking institution. Mobile banking services may use SMS or chatbots and other conversational app platforms to send out alerts and track account activities. For example, the WhatsApp chatbot lets customers view their account balance, transfer funds, review loans and conduct other transactions in real time through WhatsApp.

Mobile payments are an alternative to traditional payment methods, such as cash, check, credit and debit cards. They enable users to buy products in person using a mobile device. Digital wallets, such as Apple Pay, let customers buy products without swiping a card or paying with cash. Mobile payment apps, such as PayPal, Venmo and Xoom serve the same purpose and are popular options. Mobile consumers also use QR codes to pay for things on their mobile phones. With mobile payments, users send money directly to the recipient's cell phone number or bank account.

How mobile commerce works

With most m-commerce enabled platforms, the mobile device is connected to a wireless network that is used to conduct online product purchases and other transactions.

For those in charge of developing an m-commerce application, important key performance indicators to monitor include the following:

total mobile traffic;

total application traffic;

average order value; and

the value of orders over time.

Similarly, tracking the mobile add-to-cart rate will help developers see if users are becoming customers. M-commerce developers may also be interested in logging average page loading times, mobile cart conversion rates and SMS subscriptions.

Mobile payment products operate through a form of peer-to-peer sharing. Once a mobile device is paired with a user's bank card information, the phone can be waved over a payment terminal to pay for a product. Contactless payment using a mobile device uses near-field communication technology.

M-commerce vs. e-commerce

Electronic commerce, or e-commerce refers to buying and selling goods and services over the internet. E-commerce and m-commerce are similar, but they come with a few distinctions from each other, such as the following:

Mobility. E-commerce transactions can be conducted through a desktop computer where the user is in a fixed spot. This reduces mobility as it can be difficult to move around a desktop device. M-commerce offers greater mobility as it's conducted through handheld devices that can be used anywhere there's an internet connection, including buses, trains and airplanes or when exercising at the gym.

Location tracking. Many e-commerce apps make use of location tracking capabilities to pitch users opportunities based on their location. However, the location tracking capability of e-commerce is limited when it is used with a nonmobile device. For example, the location of an e-commerce shopper is tracked with their IP address. While the IP address provides a broad region of the user's location, it is not capable of identifying the exact location, which might affect the targeted advertising strategies of a business. M-commerce apps, on the other hand, can track locations using Wi-Fi and GPS-based technologies that enable location-specific content and personalized recommendations. For instance, a provider can send push notifications offering personalized discounts that target certain customers as they walk past a specific store in a mall.

Security. Credit cards are still commonly used for nonmobile e-commerce payments. They are considered riskier than other online payment methods, even with security measures, such as multifactor authentication. Most data breaches and identity thefts happen because of credit card misuse. M-commerce closes some security gaps through the addition of measures such as biometric authentication, mobile wallets, quick response or QR codes and even cryptocurrencies.

Reachability and convenience. M-commerce makes it easier to reach a target audience. With mobile apps, businesses can reach more people and make their buying experience easier and faster.

Advantages and disadvantages of mobile commerce

The advantages of m-commerce include the following:

Large customer base. M-commerce provides for a larger customer base and better retention than e-commerce in general, because m-commerce capabilities are more widely and easily accessible. Also, mobile analytics offers insights into customer shopping behavior, pattern and history. To boost retention rates, businesses can use this data to target shoppers with personalized offers and tailor-made discounts.

Convenience. M-commerce makes it easier for customers to compare prices, read reviews and make purchases when and where they want to do these things.

Product variety. Customers can browse through a huge inventory of products while also taking advantage of the competitive pricing.

Automation. M-commerce automates a business's point of customer contact and sales with a variety of mobile contactless payment options, such as Apple Pay, PayPal One Touch and Visa Checkout. Many e-commerce sites also offer one-click checkout process functionality, which enables users to add payment information only once and then use the one-click option for every purchase made thereafter.

Omnichannel experience. M-commerce creates an omnichannel experience where products can be sold via multiple channels -- e-commerce websites, Amazon, eBay, Instagram. This approach makes it easier for customers to buy whenever and wherever they want.

Disadvantages of m-commerce include the following:

Poor execution. The smaller screens of mobile phones and tablets require specific navigation functionality. Consequently, intuitive mobile user interfaces are complicated and expensive to design. A poorly executed mobile customer experience can frustrate customers and deter them from making purchases.

Payment issues. Mobile payment options are not available in every geographic location and may not support every type of digital wallet.

Tax compliance. Businesses must know and comply with tax laws and regulations of all countries they ship to. Some businesses will avoid this by only authorizing purchases from and shipping to their country of origin.

Security vulnerabilities. Many users are still hesitant to make purchases over a mobile device because of security risks. Even with two-factor authentication, mobile fraud is on the rise and many merchants have still not adopted fraud prevention practices for the smaller screen. Attacks, such as SIM swaps and mobile malware, are becoming more common and can discourage users from making payments through their mobile devices.

Future of mobile commerce

Mobile commerce is evolving and starting to reach a wider audience. According to Insider Intelligence, 6.9% of retail transactions will take place through a mobile device in 2022 and m-commerce will account for 10.4% of all retail sales by 2025. Many businesses are adopting mobile commerce to avoid falling behind the competitors.

The following are some of the current and future mobile commerce trends:

Mobile retargeting. This concept is an extension of location-based mobile marketing. Instead of putting ads at random places, this trend targets them contextually only at potential customers. For example, marketers can send an ad to users who have previously visited their mobile app or they might present an active mobile targeted ad to a user who comes into proximity of their store. Mobile retargeting offers a better return on investment compared with other advertisement strategies and is likely to become more popular in the future.

Augmented reality (AR). The number of mobile applications with embedded AR is growing rapidly. To improve its brand presence and provide digital content optimization, retail giant Ikea introduced an AR mobile application in 2017 that lets shoppers test products in real time through Apple iOS 11's ARKit technology. Customers use AR models of IKEA furniture from the mobile app to see how those pieces fit in their home and office spaces. Many brands, including Coca-Cola, Zara, Covergirl and Pez, also use embedded AR in their mobile apps.

Mobile SEO. With the growing number of smartphone users accessing the internet, mobile responsive websites have become a necessity. Websites that are not mobile-friendly or do not provide a good user experience risk user abandonment, which in turn increases the bounce rate of their websites. Websites with higher bounce rates rank lower in SEO and Google searches. Therefore, building mobile websites that are adaptive to handheld devices is an important goal for all businesses.

Mobile banking. The biggest advantage of mobile banking is the ability to send money anywhere, anytime. Users can send money to others and conduct transactions with their bank irrespective of their location. This trend is likely to keep growing. According to Business Insider, as of 2021, there are an estimated 169.3 million mobile banking users in the United States, of whom nearly 80% said that mobile banking was their preferred way to access their accounts.

AI, chatbots and shopping assistants. Powered by AI, chatbots are becoming essential e-commerce tools. They help shoppers around the clock with product recommendations, purchase completion, customer support and other tasks. According to a Grand View Research report, the global AI chatbot market is expected to reach $3.99 billion by 2030. Shoppers are becoming more comfortable with chatbots as they have become accustomed to chatting with their friends and family over chat apps, such as WhatsApp, Facebook Messenger and Telegram.

Mobile ticketing. Gone are the days when users had to wait in long lines to buy movie or concert tickets. With mobile ticketing, users can buy and receive tickets through their smartphones. Mobile ticketing also eliminates the need to print the tickets as users receive them on their phones in a text format with a barcode that gets scanned at events.

With mobile commerce on the rise, mobile apps are a necessity for businesses looking to build a loyal customer base. Read on to explore the various benefits of investing in a mobile business app.

List of Important M-Commerce Applications

1. Banking

iMobile is an application that was developed by ICICI Bank that allows users to complete all internet banking transactions through their mobile phone. Users can transfer money from bank accounts that are ICICI and those that are not and can also request a stop to checks, pay bills, and more. This is a very useful app that allows users to use completely all their mobile banking needs in one easy to access space.

2. M-commerce for Retail

Companies are using mobile commerce for more and more retail applications as well. If you own a business and are looking to break into M-commerce, you can always create an online catalog of items that you have for sale so that customers can access it and then purchase the items. This is a great way for businesses to use M-commerce to get the most in terms of retail and mobile phones.

3. Mobile Marketing

This is another fantastic application for mobile commerce. You can send messages on phones for new products or services, you can send out promotional rewards, and you can send out correspondence to help get customers on board. M-commerce is a great way to market and to reach more people. Most people always have their smartphones on them, which means that you are going to be able to get to these potential customers and to bring them to your business.

4. Mobile Ticketing

Another great application is to purchase tickets with the help of mobile devices. Airlines have mobile ticket kiosks, movie theaters, concerts and more all offer mobile purchase of tickets. You can also then show your electronic ticket to the event or the place where the ticket is to be redeemed, working to eliminate paper tickets altogether.

5. Reservations

Reservations are a fantastic use of M-commerce. This could mean hotel rooms, parking spots, restaurant reservations and more. Customers can now reserve their spot with their mobile phone which is easier for everyone involved. This means that both the customer and the company involved can help to reduce the amount of work and effort that is needed to book various reservations.

6. Entertainment

You can also use M-commerce in terms of mobile entertainment as well. From applications that show movies and television shows, to those that show videos like YouTube, even music applications, you can use your phone for all sorts of mobile entertainment. Mobile entertainment is one of the best uses for M-commerce and for your mobile phone in terms of using it for something other than making calls.

7. Healthcare

Mobile phones can also be used in terms of Healthcare and medicine. A mobile phone can be used for accessing health records, for paying medical bills, for accessing the medical records of patients and more. In a healthcare setting a mobile phone can be used by a doctor or a practitioner to access the health record of a patient, to send in a prescription, or to make clinical decisions. It helps doctors and other healthcare professionals to remain connected to the main database of the hospital or the medical facility and helps doctors and healthcare professionals provide patients with a better experience overall.

8. Office Communication

M-commerce applications can also help to promote communication within offices and other areas where you may be working with a team. With those professionals that are in the field such as a real estate agent or an insurance agent, it is often necessary to get back in touch with the office or to access information that might be back at the office. M-commerce is going to allow these professionals to track inventory, to talk to personnel that is in the field and back and the office, and to make sure that salesmen that are in the field, for example, get approval to make sales without having to wait as long. M-commerce applications are very versatile. You can use M-commerce for nearly anything that you can imagine. You can create apps that are focused on providing information, apps that deliver entertainment, and apps that help make everyday life easier. In terms of M-commerce applications, there are endless possibilities that can be tailored to the needs and desires of each person or company that decides to go mobile and take that step. Nearly everyone keeps their phone on them, M-commerce just makes sense.

What exactly is M-commerce?

 Mobile commerce means doing commercial transactions online like online banking, paying bills, purchasing something with the help of wireless devices like mobile phones or tablets. It is a very similar term to E-commerce. The only difference is that users do not require a laptop or PC for this purpose. They can use portable devices like smartphones and tablets. This way, users can access online shopping sites as well as other online services anywhere and anytime.

 

By using M-commerce, a customer can get a huge variety of products delivered to their doorstep. They even get several discounts and offers. Also, a wide range of payment modes like UPI, Debit Card, Credit Card, Cash On Delivery makes it easier and more convenient for the users.

 

Now, talking about its type, it includes three types. First is Mobile Shopping which means online shopping can be easily done through smartphones by using online shopping websites and apps. Next is Mobile Banking, which means the transfer of money has become very easy. By using banking apps like Google Pay, Paytm etc, users can send or receive money anytime without the trouble of visiting the bank or an ATM. The last type is Mobile Payments, which means several bills like electricity bills, phone bills, TV cable bills etc, can be easily paid through smartphones.

What are the top applications of M-commerce?

 Let's have a glance at the top ten applications of M-commerce. You will definitely get amazed after seeing how mobile commerce functions and the importance of mobile phones.

 

M-commerce and mobile marketing- Business organizations can advertise their products and offers by sending SMS to consumers. Also, they can give reward points to customers to increase their sales.

For finance- People who use mobile phones can make transactions easily from anywhere. Even if they have to make a payment of something, they can easily do so and will also receive a receipt regarding the payment.

For retail and after-sale services- Customers can view a product online to know its price and details. Also, they can buy products or can even ask for service online.

Hotel reservations- Hotel rooms can be booked online through smartphones, making it more convenient for the user.

Healthcare and Medicine- Apart from ordering medical supplies online, patients can send their health status to their doctors and get help, making it easier for old age people.

For intraoffice communication- Salespeople often need to check the latest prices and offers on the company's products while they may not be in office. They can access all the information easily through their smartphones.

For gaming- Online games are becoming very popular these days. The multiplayer games can be easily accessed by smartphones.

For information- People can check the news, cricket scores etc. Also, students can check their university exam results easily.

Mobile entertainment- Users can access thousands of tv shows, web series, and movies, all through their portable mobile devices.

Mobile Ticketing- Tickets of flights or trains can be booked online, without the hassle of going and standing in a queue only through your mobile phones.


 

What are the Latest Updates related to M-commerce?

 There is no doubt that in the coming years’ mobile commerce will drive to the peak. People prefer to buy things online, even though there are people who are addicted to online shopping. In the year 2019, 57% of US customers used a mobile retail application to understand extra about a commodity. According to the report, over the last few months, 79% of mobile users with their mobile phones do an online purchase.

 

Moreover, there are expectations that by 2021, mobile Commerce sales will account for 54% of total eCommerce sales. The AR(Augmented reality) and the VR (Virtual Reality) industry is predicted to reach $35 billion by 2025. Hence, these are some of the updates related to mobile commerce and we can clearly see that in the future it will reach a more advanced level.







Sunday, September 15, 2019

ECM Online Questions

https://tusharkafare.blogspot.com/p/electrical-circuits-and-machines.html

Monday, February 25, 2019

8051 C programs

Interfacings

Interrupt Structure

  • ARM7 Processor hardware interrupt inputs: 2, (FIQ. IRQ)
  • LPC2148 external interrupt inputs: 4 (available on 9 pins)
  • Processor and on-chip user peripherals generate interrupts
  • LPC2148 uses ARM PrimeCell (PL190) Vectored Interrupt Controller for managing interrupts.
  • PL190 is interfaced to ARM core through the fast AHB bus
When interrupt occurs:
  1. VIC identifies the source of interrupts
  2. Passes requests on interrupt request pins as per the configuration
  3. If more than one interrupt occurs at a time, VIC resolves priority

Vectored Interrupt Controller (VIC)

  • 32 interrupt request inputs, LPC2148 uses 22 of 32 interrupts
  • Categorizes into Fast Interrupt Request, Vectored IRQ, Non Vectored IRQ interrupts
  • Any of the 22 interrupts can be assigned to FIQ / VIRQ / NVIRQ
  • FIQ: Generally, only one interrupt is assigned, VIC provides ISR address. If more than one is assigned to FIQ, VIC combines all, generates VICFIQ, provides only one ISR address for all FIQ (Non-Vectored FIQ) .
  • VIRQ & NVIRQ
  • VIC has 16 VIRQ slots, Slot-0 to Slot-15. Any IRQ configured interrupts can be assigned to any slot. Priorities are in the order of slot number.
  • Interrupts configured as IRQ, not assigned any VIRQ slot, is assigned as NVIRQ
  • VIRQ & NVIRQ interrupts are combined and VICIRQ is generated
  • Programs can handle 1 FIQ, 16 VIRQ, 1 NVIRQ (total 18) interrupts
VIC.png

VIC Registers (only important listed)

  1. VICIntSelect: High, Low bits select interrupts as FIQ, IRQ respectively
  2. VICIntEnable: High bit enables FIQ or IRQ classified interrupts
  3. VICIntEnClr: High bit disables FIQ or IRQ classified, enabled interrupts
  4. VICSoftInt: Generates any interrupt by software. High bit generates corresponding interrupt
  5. VICSoftIntClr: Clears a bit in Software Interrupt register
  6. VICIRQStatus: A high bit indicates corresponding IRQ classified, enabled IRQ interrupt is active
  7. VICFIQStatus: A high bit indicates corresponding FIQ classified, enabled IRQ interrupt is active
  8. VICVectAddr: Holds ISR addr of active interrupt. Writing any value indicates End of Interrupt
  9. VICVectAddr0 – VICVectAddr15: Hold ISR addresses for slots 0 to 15
  10. VICVectCntl0 – VICVectCntl15: Control 16 IRQ slots, assigns sources to each slot. Bit [4:0] selects VIC channel, bit [5] select VIRQ / NVIRQ, high / low bit provides dedicated / default ISR addr.

Programming VIC registers

  • VICIntSelect: Set / reset the bits for FIQ / IRQ classification
  • VICVectCtrlx: Assign VIRQ slot ‘x’ to IRQ classified interrupt
  • VICVectAddrx: Write ISR addr of VIRQ interrupt assigned to slot ‘x’
  • VICIntEnable: Enable interrupts 

Programming VIC registers: Examples

1) Programming VICIntSelect register
VICIntSelect = 0x0000 0010; // enable VIC Timer-0 channel as VFIQ interrupt  (by default all interrupts are VIRQ enabled) //
2) Programming VICVectCntlx register 
VICVectCntl0=(0x01<<5)|0x04; // assign VIRQ Slot-0 to Timer-0, enable Slot-0  (bit[4:0] is channel no. bit[5] enables slot) //
3) Programming VICVectAddrx register
void Timer0ISR(void) __irq;      // declare prototype for ISR//unsigned long int T0vectaddr;    // declare variable to hold Timer-0 ISR address//T0vectaddr=(unsigned)Timer0ISR; // place ISR address in variable//VICVectAddr0 = T0vectaddr;      // write ISR address into Slot-0 VectAddr reg//
4) Programming VICIntEnable register
VICIntEnable = 0x00000010;    // enable Timer-0 interrupt//

Handling FIQ interrupts

  • Branch instruction at 0x0000001C uses address of FIQ handler directly and goes to FIQ routine. This reduces interrupt latency. 
  • If more than one interrupt are assigned as FIQ, the handler routine identifies the source of interrupt. This increases interrupt latency. 
  • Executes codes respective of identified interrupts. 
  • Clears flags set by peripherals in their interrupt registers o End of interrupt.

Handling IRQ interrupts

  • On interrupt, processor executes branch instruction from interrupt vector table at 0x 00000018 and branches to IRQ handler routine 
  • Reads VICVectAddr reg that holds address of highest priority pending VIRQ Slot-x interrupt. If no slot is assigned, it holds address of default vect address 
  • Branches to handler routine. 
  • Reads interrupt register of the peripheral, identifies actual source, executes codes respective of the interrupt. 
  • Clears interrupt flags set by peripherals in their interrupt registers. 
  • Writes a dummy word into VICVectAddr register to indicate EoI, to clear respective interrupt in VIC interrupt priority hardware. 
  • Returns back to interrupted program, re-enables interrupts.

LED Interfacing with LPC2148

Schematic Diagram

LED.png

Interfacing Description

Port Pin No.LED 
P0.15D1
P0.16D2
P0.17D3
P0.18D4
P0.19D5
P0.20D6
P0.21D7
P0.22D8
Program

#include<lpc21xx.h>
void delay(void);
int main (void)
{
IODIR0 = 0x007F8000; //configure P0.15 to P0.22 as an output pins
while (1)                            //Loop forever   
{     
IOSET0=0x007F8000; //turn LEDs ON by setting P0.15 to P0.22 as High   
delay();
IOCLR0=0x007F8000; //turn LEDs Off by setting P0.15 to P0.22 as Low
delay();   
}
}
void delay(void)
{
 unsigned int j;  
 for(j=0;j<1000000;j++);
}

LCD Interfacing with LPC2148

Introduction to LCD


The LCDs have a parallel interface, meaning that the microcontroller has to manipulate several interface pins at once to control the display. The interface consists of the following pins:

LCD Pin Description

LCD pin no.LCD pin nameLCD pin Description
1VssGround pin of the LCD module.
2VccPower to LCD module (+5V supply)
3VEEContrast adjustment pin
4RSRegister select pin
RS=0 command register.
RS=1 data register. 
5R/WRead/Write modes
R/W=1; Read mode
R/W=1; Write mode
6ENThis pin is meant for enabling the LCD module
7-14DB0 to DB78 data pins
15LED+Anode of the back light LED
16LED-Cathode of the back light LED
The process of controlling the display involves putting the data that form the image of what you want to display into the data registers, then putting instructions in the instruction register. 
Mostly used commands or instructions for LCD
Sr.No.InstructionHex
1Function Set: 8-bit mode, 1 Line, 5x7 Dots matrix for each character display0x30
2Function Set: 8-bit mode, 2 Line, 5x7 Dots matrix for each character display0x38
3Function Set: 4-bit mode, 1 Line, 5x7 Dots matrix for each character display0x20
4Function Set: 4-bit mode, 2 Line, 5x7 Dots matrix for each character display0x28
5Clear display screen0x01
6Return Home0x02
7Decrement cursor(Shift to left)0x04
8Increment cursor(Shift to Right)0x06
9Display off Cursor off0x08
10Display on Cursor on0x0E
11Display on Cursor off0x0C
12Display on Cursor blinking0x0F
13Shift entire display left0x18
14Shift entire display right0x1C
15Move cursor left by one character0x10
16Move cursor right by one character0x14
17Clear Display (also clear DDRAM content)0x01
18Force cursor position on  first position of  first 0x80 
19Force cursor position on  first position of  second row 0xC0 

Schematic Diagram

LCD.png

Interfacing Description

LPC2148 Port Pin No.LCD Pins
P1.16D0
P1.17D1
P1.18D2
P1.19D3
P1.20D4
P1.21D5
P1.22D6
P1.23D7
P1.25RS
P0.29EN
P0.10BC

Embedded C code for the Interfacing

#include<lpc21xx.h>
void lcdcmd(unsigned int cmd);
void lcddata(unsigned int data);
void delay(unsigned int itime);
int main()
{
  unsigned char array[]="WIKINOTE FOUNDATION";
  unsigned int i=0;
  PINSEL0=0X00000000;
  PINSEL1=0X00000000;
  PINSEL2=0X00000000;
  IODIR0=0X20000400;
  IODIR1=0X02FF0000;
  IOCLR0=0X00000400;
  lcdcmd(0x38);
  delay(100);
  lcdcmd(0x06);
  delay(100);
  lcdcmd(0x01);
  delay(100);
  lcdcmd(0x0e);
  delay(100);
  lcdcmd(0x80);
  delay(100);
 
  for(i=0;i<7;i++)
  {
    lcddata(array[i]);
    delay(1000);
   
  }
  lcdcmd(0xc0);
  delay(100);
  for(i=9;i<19;i++)
  {
   lcddata(array[i]);
    delay(1000);
  }
  return 0;
}
void delay(unsigned int itime)
{
  int i,j;
  for(i=0;i<itime;i++)
  for(j=0;j<200;j++);
}
void lcdcmd(unsigned int cmd )
{
 IOCLR1=0X00FF0000;
 cmd=cmd<<16;
 IOSET1=cmd;
 IOCLR1=0X02000000;
 IOSET0=0X20000000;
 delay(100);
 IOCLR0=0X20000000;
}
void lcddata(unsigned int data )
{
 IOCLR1=0X00FF0000;
 data=data<<16;
 IOSET1=data;
 IOCLR1=0X02000000;
 IOSET0=0X20000000;
 delay(100);
 IOCLR0=0X20000000;
}

Keypad Interfacing with LPC2148

Schematic Diagram

keyboard_interfacing.png

Interfacing Description

LPC2148 Port Pin No.LCD Pins
P1.16D0
P1.17D1
P1.18D2
P1.19D3
P1.20D4
P1.21D5
P1.22D6
P1.23D7
P0.28RS
P0.29EN
P0.10BC
LPC2148 Port Pin No.Keyboard connection
P0.2,P0.3,P0.4,P0.5
Column Read Lines
 P0.6,P0.7,P0.8,P0.9Row Scan Lines

Embedded C program for the Interfacing

#include<lpc21xx.h>
void lcdcmd(unsigned int);
void lcddata(unsigned int);
void delay_lcd(void);
int main(void)
{
   while(1)
{
 IODIR1=0x00ff0000;
 IODIR0=0x300003c0;
 lcdcmd(0x38);
 lcdcmd(0x0e);
 lcdcmd(0x01);
 lcdcmd(0x06);
 lcdcmd(0x83);
 lcdcmd(0xC0);
IO0PIN=0x00000380;// First Scan Line(row status) if(( IO0PIN & 0x0000003c )!= 0x0000003c))////(row & column) {
switch(IO0PIN & 0x0000003c)
 {
case 0x00000038 : lcddata("C");break;
case 0x00000034 : lcddata("D");break;
case 0x0000002c : lcddata("E");break;
case 0x0000001c : lcddata("F");break;
 }
 }
 IO0PIN=0x00000340;// Second Scan Line(row status) if(( IO0PIN & 0x0000003c )!= 0x0000003c) )////(row & column) {
switch(IO0PIN & 0x0000003c)
 {
case 0x00000038 : lcddata("8");break;
case 0x00000034 : lcddata("9");break;
case 0x0000002c : lcddata("A");break;
case 0x0000001c : lcddata("B");break;
 }
 }
        IO0PIN=0x000002c0;// Third Scan Line(row) if(( IO0PIN & 0x0000003c )!= 0x0000003c)////(row & column {
switch(IO0PIN & 0x0000003c)
 {
case 0x00000038 : lcddata("4");break;
case 0x00000034 : lcddata("5");break;
case 0x0000002c : lcddata("6");break;
case 0x0000001c : lcddata("7");break;
 }
 }
 IO0PIN=0x000001c0; // Four Scan Line(row)  if(( IO0PIN & 0x0000003c )!= 0x0000003c)////(row & column) {
switch(IO0PIN & 0x0000003c)
 {
case 0x00000038 : lcddata("0");break;
case 0x00000034 : lcddata("1");break;
case 0x0000002c : lcddata("2");break;
case 0x0000001c : lcddata("3");break;
 }
 }
 delay_lcd();
}
}
void lcdcmd(unsigned int cmddata)
{
 IOCLR1=0x00ff0000;
 IOCLR0=0x10000000;
 cmddata=cmddata<<16;
 IOSET1=cmddata;
 IOSET0=0x20000000;
 delay_lcd();
 IOCLR0=0x20000000;
 delay_lcd();
return;
}
void lcddata(unsigned int outdata)
{
 IOCLR1=0x00ff0000;
 IOSET0=0x10000000;
 outdata=outdata<<16;
 IOSET1=outdata;
 IOSET0=0x20000000;
 delay_lcd();
 IOCLR0=0x20000000;
 delay_lcd();
return;
}
void delay_lcd(void)
{
int j;
for(j=0;j<10000;j++);
return;
}

GLCD


Simple LPC2148 GPIO Programming examples Using timers of LPC2148 to generate delay

Example-/* TOGGLE LEDS FROM P0.0 TO P0.15 WITH EXACT DELAY OF 3SEC */ Fosc=60 Mhz
#include<lpc21xx.h> 
void delay(void);
int main()
{ VPBDIV=0X02; //30MHZ// PINSEL0=0X00000000; IODIR0=0X0000FFFF; IOCLR0=0X0000FFFF;
while(1)
{
IOSET0=0X0000FFFF;
delay();
IOCLR0=0X0000FFFF;
delay();
}
}
void delay(void)
{
T0PR=29999;
T0MR0=3000;
T0TC=0x00000000;
T0TCR=0X01; //START TIMER// while(T0TC !=T0MR0); //1 SEC// T0TCR=0X02; //STOP TIMER/ }
Example:-/* TOGGLE LEDS FROM P0.0 TO P0.7 WITH EXACT DELAY OF 2 SEC BY USING T0MR3.TOGGLE LEDS FROM P0.15 TO P0.23 WITH EXACT DELAY OF 5 SEC BY USING T1MR2. */(Fosc=60Mhz)
#include<lpc21xx.h>
void delay1(void);
void delay2(void);
int main()
{
VPBDIV=0X02;//30MHZ//PINSEL0=0X00000000;
IODIR0=0X00FF00FF;
IOCLR0=0X00FF00FF;
while(1)
{IOSET0=0X00FF00FF;
delay1();
IOCLR0=0X00FF00FF;
delay2();
}
}
void delay1(void)
{
T0PR=29999;
T0MR3=2000;
T0TC=0x00000000;
T0TCR=0X01; //START TIMER//while(T0TC !=T0MR3); //2 SEC//T0TCR=0X02; //STOP TIMER/}
void delay2(void)
{
T1PR=29999;
T1MR2=5000;
T1TC=0x00000000;
T1TCR=0X01; //START TIMER//while(T1TC !=T1MR2); //5 SEC//T1TCR=0X02; //STOP TIMER//}

UART0

Features

  • 16 byte Receive and Transmit FIFOs
  • Register locations conform to ‘550 industry standard.
  • Receiver FIFO trigger points at 1, 4, 8, and 14 bytes.
  • Built-in fractional baud rate generator with auto-bauding capabilities.
  • Mechanism that enables software and hardware flow control implementation.

Pin description

Pin  Type     Description
RXD0InputSerial Input: Serial receive data.
TXD0OutputSerial Output: Serial transmit data.

UART1

Features

  • UART1 is identical to UART0, with the addition of a modem interface.
  • 16 byte Receive and Transmit FIFOs.
  • Register locations conform to ‘550 industry standard.
  • Receiver FIFO trigger points at 1, 4, 8, and 14 bytes.
  • Built-in fractional baud rate generator with autobauding capabilities.
  • Mechanism that enables software and hardware flow control implementation.
  • Standard modem interface signals included with flow control (auto-CTS/RTS) fully
  • supported in hardware (LPC2144/6/8 only).

Pin description

Pin  Type     Description
RXD1InputSerial Input: Serial receive data.
TXD1OutputSerial Output: Serial transmit data.
CTS1InputClear To Send
DCD1InputData Carrier Detect
DSR1InputData Set Ready
DTR1OutputData Terminal Ready
RI1InputRing Indicator
RTS1OutputRequest To Send

UART0

Block Diagram

UART_Block_Diagram.PNG

UART Registers and Programming Steps for UART

U0FCR (FIFO Control Register)
  • 8-BIT Byte Addressable register
  • This reg is used to enable TX & RX FIFO functionalities
  • U0FCR=0x07 is like SCON reg
U0FCRFIFO Control Register-----TX FIFO ResetRX FIFO ResetFIFO Enable
U0LCR (Line Control Register)
  • 8-BIT byte addressable register
UART0 Line Control Register (U0LCR - address 0xE000 C00C) bit description 
BitSymbolValueDescriptionReset Value
1:0


 
Word Length Select


 
005 bit character length0


 
016 bit character length
107 bit character length
118 bit character length
2
 
Stop Bit Select
 
01 stop bit0
 
12 stop bits (1.5 if U0LCR[1:0]==00)
3
 
Parity Enable
 
0Disable parity generation and checking0
 
1Enable parity generation and checking
5:4


 
Parity Select


 
00Odd parity. Number of 1s In the transmitted character and the attached parity bit will be odd.0


 
01Even Parity. Number of is in the transmitted character and the attached parity bit will be even.
10Forced "1" stick parity.
11Forced "0" stick parity.
6
 
Break Control
 
0Disable break transmission0
 
1Enable break transmission. Output pin UARTO TXD Is forced to logic 0 when UOLCR[6] Is active high. 
7
 
Divisor Latch Access Bit (DLAB)
 
0Disable access to Divisor Latch0
1Enable access to Divisor Latch
DLAB (Divisor Latch Buffer)
One high-low pulse across DLAB bit indicates baud rate is successfully loaded.
  • DLAB=1  baud rate is loading
  • DLAB=0  After loading baud rate DLAB must be zero.
Baud Rate
U0LCR=0x83 ;//8 bits character length,No parity,1 stop bit,9600 Baud rateU0LCR=0x03
U0LSR (Line Status Register)
  • 8-bit byte addressable register
  • Consists of different flag bits, TI interrupt & RI interrupt flag bit
UART0 Line Status Register
BitSymbolValueDescriptionReset value
0Receiver Data Ready (RDR) U0LSR0 is set when the U0RBR holds an unread character and is cleared when the UART0 RBR FIFO is empty. 0
0U0RBR is empty.
1U0RBR contains valid data.
1

 
Overrun Error (OE)

 
 The overrun error condition is set as soon as it occurs. An U0LSR read clears U0LSR1. U0LSR1 is set when UART0 RSR has a new character assembled and the UART0 RBR FIFO is full. In this case, the UART0 RBR FIFO will not be overwritten and the character in the UART0 RSR will be lost. 0

 
0Overrun error status is inactive.
1Overrun error status is active.
2
 
Parity Error
 
 
When the parity bit of a received character is in the wrong state, a parity error occurs. An U0LSR read clears U0LSR[2]. Time of parity error detection is dependent on U0FCR(0).
Note: A parity error is associated with the character at the top of the UART0 RBR FIFO.
0
 
0Parity error status is Inactive.
3

 
Framing Error (FE)

 
 
When the stop bit of a received character is a logic 0. a framing error occurs. 0 An U0LSR read dears U0LSR[3]. The time of the framing error detection is dependent on U0FCR0. Upon detection of a framing error, the Rx will attempt to resynchronize to the data and assume that the bad stop bit is actually an early start bit. However, it cannot be assumed that the next received byte will be correct even if there is no Framing Error.
Note: A framing error is associated with the character at the top of the UART0 RBR FIFO.
0

 
0Framing error status is inactive. 
1Framing error status is active. 
4

 
Break Interrupt (BI)

 
 
When RXD0 is held in the spacing state (all 0's) for one full character transmission (start, data, parity, stop), a break interrupt occurs. Once the break condition has been detected, the receiver goes idle until RXD0 goes to marking state (all 1s). An U0LSR read clears this status bit. The time of break detection is dependent on U0FCR(0).
Note: The break interrupt is associated with the character at the top of the UART0 RBR FIFO.
0

 
0Break interrupt status is inactive. 
1Break interrupt status is active. 
5

 
Transmitter Holding Register Empty (THRE)

 
 THRE is set immediately upon detection of an empty UART0 THR and is 1
cleared on a U0THR write. 
1

 
0U0THR contains valid data. 
1U0THR is empty.
6

 
Transmitter Empty (TEMT) 

 
 TEMT is set when both U0THR and U0TSR are empty; TEMT is cleared when either the U0TSR or the U0THR contain valid data.1

 
0U0THR and/or the U0TSR contains valid data. 
1U0THR and the U0TSR are empty. 
7

 
Error in RX FIFO (RXFE) 

 
 UOLSR(7) is set when a character with a Rx error such as framing error, parity error or break interrupt, is loaded into the U0RBR. This bit is cleared when the U0LSR register is read and there are no subsequent errors in the UART0 FIFO.0
 
0U0RBR contains no UART0 RX errors or U0FCR[0]=0.
1UART0 RBR contains at least one UART0 RX error.
6th bit of LSR is TI flag bit
While(!(U0LSR&0x40));//Monitoring TI bit syntax
0th bit of LSR is RI flag bit
While(!(U0LSR&0x10));//Monitoring RI bit syntax
DLR (Divisor Latch Register)
  • DLR is 16-bit register
  • Used to load baud rate
  • As the baud rate is 8-bit value, divide DLR into two parts DLM & DLL (8-bit each)
For 9600 baud rate
U0DLL=0x63;     //(Pclk=12Mhz)
U0DLM=0x00
U0DLL:U0DLM=[Pclk/16*Desired Baud rate]
U0THR (Transmit Hold Register)
  • 8-bit byte addressable reg
  • Data can be loading to U0THR, whenever transmitting data
U0THR=‘A’   //THR buffer register is used only for transmitting
U0RBR (UART0 Receive Buffer Register)
  • 8-bit byte addressable reg
  • Data can be loading into U0RBR, whenever receiving data.
a = U0RBR   //RBR buffer register is used only for transmitting

Interfacing Diagram of LPC2148 with PC

Serial-Communication-between-LPC2148-and-PC.png

Algorithm

1) Start
2) Initialise UART0 serial interface using following instruction
PINSEL0=0X0000 0005;//Enable P0.0-TxD0,P0.1-RxD0
U0LCR=0X83;  //8-BIT Character lenth,NO parity,1 stop bit, DLAB=1
U0DLL=97; //Baud rate=9600@PCLK=15Mhz
U0LCR=0X03;//DLAB=0
3) LPC2148 will receive characters transmitted by PC
4) LPC2148 will transmit the characters received back to PC
3) Transmit different AT commands through UART module using instruction
while(!(U0LSR&0X20));//Monitor TI flag
4) If transmission buffer is Empty,Transmit single character at a time 
U0THR=ch;
5) Provide delay while transmitting each command
6) To transmit a single character use PUTCH function & to transmit a string use PUTS function 
7) END

Embedded C program for Serial Transmission and Reception

#include<lpc21xx.h>   //Includes LPC2148 register definitions

void Uart0Init (void)      // Initialize Serial Interface       {                   
    PINSEL0 = 0x00000005;           //Enable RxD0 and TxD0                         U0LCR = 0x83;                   // 8 bits, no Parity, 1 Stop bit                U0DLL = 97;                     // 9600 Baud Rate @ 15MHz PCLK             U0LCR = 0x03;       // DLAB = 0  }
   
void Uart0PutCh (unsigned char ch)  // Write character to Serial Port   {                    
    U0THR = ch;
  while (!(U0LSR & 0x20));
}

void  Uart0PutS(unsigned char *str)  //A function to send a string on UART0{  
while(*str)
{  
     Uart0PutCh(*str++);     
}
}
unsigned char Uart0GetCh (void)  // Read character from Serial Port   {            
 while (!(U0LSR & 0x01));
 return (U0RBR);
}
int main()
{
unsigned char a;
Uart0Init();
while(1)
{
a=Uart0GetCh();
Uart0PutCh(a);
}
}