Harald Welte April 16, 2010
Abstract Billions of cell phones are being used every day by an almost equally large number of users. The majority of those phones are built according to the GSM protocol speciﬁcations and interoperate with GSM networks of hundreds of carriers. Despite being an openly published international standard, the architecture of GSM networks and its associated protocols are only known to a relatively small group of R&D engineers. Even less public information exists about the hardware architecture of the actual mobile phones themselves, at least as far as it relates to that part of the phone implementing the GSM protocols and facilitating access to the public GSM networks. This paper is an attempt to serve as an introductory text into the hardware architecture of contemporary GSM mobile phone hardware anatomy. It is intended to widen the technical background on mobile phones within the IT community.
This document is the result of my personal research on mobile phone hardware and system-level software throughout the last six years. Despite my past work for Openmoko Inc., I have never been professionally involved in any aspect of the actual GSM related hardware of any phone. Nevertheless I have the feeling that in the wider information technology industry, I am part of a very, very small group of people who actually understand mobile phones down to the lowest layer. I hope it is useful for any systems level engineer with an interest in understanding more about how mobile phone hardware actually works. There are no guarantees for accuracy or correctness of any part of the document. I happily receive your feedback and corrections.
Is your phone smart or does it have features?
Initially, for the ﬁrst couple of years, GSM cell phones were actual phones with very little additional functionality. They provided everything that was required for voice calls, as well as SIM phone book editing features. The only additional non-features were simple improvements like the ability to use them as an alarm clock. In the mid-1990s, a certain new type of devices became popular: The PDA (personal digital assistant). They pioneered handheld computing by introducing touch screen user interfaces and a wide range of application programs, ranging from calendar/scheduling applications, dictionaries, exchange rate and tip calculators, scientiﬁc calculators, accounting / ﬁnance software, etc. While in mobile phones the actual cellphone aspect was becoming more and more commoditized, at some point the PDA features and functionalities were added to phones, coining the term smartphone. At that point there was a need to diﬀerentiate from those phones that were not-so-smart. Those phones were then called feature phones. There has never been an industry-wide accepted deﬁnition of those terms, and especially in the late 2000s, feature phones started to inherit a lot of the functionality that was formerly only present in smartphones. 1
This document will deﬁne the terms (only for the purpose of this document) along a very clear border in hardware architecture, as will be described in the following sections:
A feature phone is a phone that runs the GSM protocol stack (the software implementing the GSM protocol) as well as the user interface and all applications on a single processor. For historic reasons, this processor is known as the so-called baseband processor (BP). The baseband processor often exposes a serial port (or today USB) over which the phone can be used as a terminal adapter, similar to old wireline modems. The industry standard protocol for this interface is an AT command set - extended and modiﬁed from how computers interfaced old wireline modems. The AT-command interface can be connected to a computer. The computer can then use the phone to establish data calls, send/receive short messages via SMS, and generally...