|
Description  |
|
|
BACKGROUND OF THE INVENTION
1.Field of the Invention
This invention relates to a modem designed to connect a computer with a
cellular telephone. More specifically, it relates to a modem with firmware
and hardware designed to provide a tightly integrated coupling of
functions between the computer and the cellular telephone, such that the
computer can control features of the cellular telephone and inquire about
cellular telephone conditions, and can respond accordingly.
2. Description of the Related Art
In the year 1948, a simple device was invented that was to have a profound
impact on modern life. That device was the electronic transistor. It was
the transistor that first made computers technically practical. These
first computers were behemoths-centralized machines servicing a large
number of users and a large number of tasks. While the economic impact of
these mainframe systems was tremendous, it was not until the subsequent
development of the microprocessor, and the attendant development of the
personal computer, that computer technology directly impacted the lives of
the modern consumer and small businessman.
When the personal computer market exploded in the 1980's, it filled needs
very different from those filled by the mainframe computer. Personal
computers were used to perform individual, isolated tasks without
communication with other computers except perhaps through manual exchange
of floppy disks. The mainframe computer still served the requirements of
centralized data access and coordination among a large number of users.
But as the personal computer market developed, the advantages and
possibilities of communicating among these machines became apparent. One
of the methods of communication that rose to the forefront was modem
technology. By connecting modems to their personal computers, users could
directly transfer data between and communicate in realtime with mainframes
and other personal computers. For example, bulletin board systems have now
become very popular, allowing a large number of users to remotely upload
and download free software, exchange information, and engage in online
forums. With modems' rising speeds, increased standardization, and
expanding uses, one is now hard pressed to find a personal computer system
that does not use a modem.
While intercommunication between personal computers and mainframes was on
the rise, another development was to have an impact on the need for
communicating with distant systems. Personal computers were becoming
smaller. From the original large under-the-desk machines, desktop machines
evolved, then transportables, and finally laptop and notebook computers.
These laptops and notebooks are typically very mobile, easily traveling
from city to city, state to state, and even country to country. But the
advantage of portability itself presents a problem: while stationary
machines can be conveniently connected to communication networks via a
telephone line, laptop users might wish to establish communication links
from countries with which their laptop's modems are not compatible, or
they might wish to communicate where normal phone connections are not
available, such as from a car, bus, or train.
Although standardized within a single country, telephone systems around the
world are generally non-standard, and different hardware is required to
connect to these various systems. Thus, a modem configured to connect to
one country's phone system would generally not be suitable for connection
to another's. The physical connection to a particular national phone
system is made through what is known is a data access arrangement, or DAA.
Each particular phone system will have its own associated DAA. Typically,
modems are constructed with a DAA built in. That, however, means that a
modem suitable for one country would not be able to connect to another
country's phone system, or would at least require an external DAA.
With portable, laptop, and notebook computers, the problem of the different
DAA's required for each country becomes even more apparent. One would not
wish to buy a notebook or laptop with a built-in modem that could not be
easily modified for use in another country. An international traveler
might never be sure to which country's phone system he would primarily
wish to connect. For example, if he lived in the United States, he would
want his laptop's modem to be suitable for directly connecting to the
United States' phone system. But if he moved to Germany, he would wish his
laptop's modem to be suitable for directly connecting to the German phone
system. But further, if our hypothetical businessman, living in the United
States, traveled to Germany, he would want to be able to connect his
laptop into the German phone system even though his laptop's modem is
internally configured for connection to the United States phone system. To
this end, external DAA's have been used, with one phone system handled by
default and others handled by the appropriate external DAA.
For a computer user in a car, bus, or train, another recent technological
development provides possibilities for laptop and notebook modem
communications. With the recent expansion of cellular telephone systems, a
cellular telephone has become a very common, and very portable, item. Not
surprisingly, crude attempts at a marriage between cellular telephone
technology and modem technology have been made using laptop and notebook
computers and cellular phones. By connecting a laptop to a cellular phone,
one can access a telephone network in generally the same way as by
directly hooking to a telephone wall outlet, or via a "land line."
Using a cellular phone for establishing a modem communications link does
present attendant problems, however. Certain standards have evolved for
communications between a computer and its attached modem. These physical
links are generally made through a serial or parallel communications port
or through the host computer bus, and logically certain commands are sent
to the modem, which returns certain responses. The de facto standard for
these commands is the Hayes Microcomputer Products "AT" command set. This
command set is well known in the art, and includes such commands as the
ATDTn command, which instructs the modem to dial the number "n", and the
ATH command which instructs the modem to hang up the telephone.
Unfortunately, these commands were designed with land line connections in
mind, and certain aspects of cellular telephone systems do not lend
themselves toward activation or use through these AT commands. For
example, commands such as "take the phone off the hook" make little sense
in the cellular world, as the cellular phone is either attempting to
access its network or it is not-it does not go "off hook" before it does.
Thus, the standardized AT command set is not always a perfect fit with
cellular phones, and laptop software that uses the AT command set will not
necessarily receive expected results from attempting certain commands.
Previous attempts at combining a cellular phone with a modem have required
the use of special command sequences, so that it was difficult to switch
back and forth between the cellular phone and a land line. Such special
sequences also led to problems in achieving seamless integration of high
level applications. For example, a user's computerized phone directory
would often require complete reentry to place the needed special command
sequences within the numbers to be dialed.
It would be desirable to use a conventional land line command set, such as
the AT commands, in a way such that it was performed consistently whether
a cellular telephone network or a land line system was used. It would also
be desirable to provide access to various features of cellular phones not
generally available in a land line.
SUMMARY OF THE INVENTION
A modem constructed according to the invention includes connections for
both land lines and a cellular phone. Communication software in the host
computer sends normal AT command codes to the modem, which then
selectively performs low level primitives, selected according to whether a
communications link is to be established or has been established through a
land line or through a cellular phone.
In a modem built according to the invention, the modem firmware provides a
seamless control link between the host computer and the cellular phone.
Specifically, AT commands normally sent to the modem for controlling land
lines behave predictably when the modem is instead controlling the
cellular phone.
An example of an AT command which is more suited towards land lines, but
behaves rationally in the modem constructed according to the invention, is
the AT dial command, or ATDT. In a modem according to the invention, when
the computer applications software sends a dial command to the modem, and
the modem determines that a cellular phone is connected, the modem first
directs the cellular phone to receive the numbers specified by the dial
command up to the first delaying dial modifier character or the end of the
string. The modem according to the invention instructs the cellular phone
to store these numbers by sending commands to the cellular phone through
the cellular phone's communication bus, as opposed to sending an analog
signal to the cellular phone via the modem's data pump. After the number
to be dialed has been transmitted to the cellular phone through its
communications bus, the modem then sends a SEND command to the cellular
phone on that same communications bus. This instructs the cellular phone
to dial the previously entered number. After dialing that number, if the
cellular phone is capable of generating its own DTMF codes and can be
directed to generate those codes through its cellular communications bus,
the modem directs the cellular phone by commands over the cellular
communications bus to generate the DTMF tones and appropriate pauses that
correspond to the numbers including and following the first delaying dial
modifier character. If, however, the cellular phone is not capable of
being directed to generate DTMF tones, the modem generates DTMF tones in
its internal data pump and transmits those tones over the audio path to
the cellular phone to perform additional functions after the connection to
the called number is made.
Other standard AT commands also behave predictably when used with a
cellular phone attached to a modem constructed according to the invention.
For example, the ATA (answer) and ATH (hang up) commands both behave
predictably, even though land line operations do not readily translate to
the cellular phone model.
Further, the AT command set of a modem constructed according to the
invention is extended to provide control of cellular specific features
that would be useful to the host computer and to provide access to
cellular information. For example, the modem includes AT commands that
return the manufacturer and phone number of the cellular phone, that
enable and disable the cellular phone keypad, that lock and unlock the
cellular phone, that sets the cellular NAM (numeric address module), that
log time used by the cellular phone, that reset the cellular timers, that
store and retrieve phone numbers stored in the cellular phone, that
display data on the cellular phone display, that determine the cellular
battery strength, that return the status of certain cellular phone
features (i.e., roam, in use, call forwarding, locked, system type), that
select the appropriate cellular system, that return the signal strength
and set the signal strength threshold, that set the cellular automatic
shutoff time, and that permit setting of the speaker and ringer volumes.
Further, an AT command is included that permits the host computer to
specify the model of cellular phone that would be connected to the modem
constructed according to the invention.
In a modem built according to the invention, applications software in the
computer performs a special sequence when it is desired to transfer a file
over the cellular phone. First, the high level computer queries the modem
through AT commands to determine the strength of the cellular battery. The
modem determines the cellular battery strength by communicating over the
cellular phone's communications bus, and the modem then returns the
results of these inquiries as a response to the AT command requesting the
battery strength. The computer application software determines,
considering the current bits per second rate and the length of the file to
be transferred, whether the cellular battery is too weak to complete the
file transfer. If the battery is strong enough, the file is transferred
normally, with the computer sending the file to the modem, which sends the
data to the cellular phone. If the battery is too weak, the high level
application software determines if the battery is strong enough to send
file if the file is first compressed. If the battery is still too weak, an
ERROR is returned to the user. Otherwise the file is compressed and
transmitted.
Further applications software in the computer connected to the device
according to the invention first attempts to establish a connection via a
land line connected to the modem. If that land line is not working
properly, or the connection cannot otherwise be made, then the
applications software then instructs the modem to initiate the connection
through an attached cellular phone.
Application software in the computer connected to the device according to
the invention can also first attempt to establish a connection via the
cellular phone, and if the cellular phone signal strength is insufficient,
disconnecting the cellular phone connection and establishing a connection
over the land line.
BRIEF DESCRIPTION OF THE DRAWINGS
A better understanding of the present invention can be obtained when the
following detailed description of the preferred embodiment is considered
in conjunction with the following drawings, in which:
FIGS. 1A-D show a laptop computer with a modem according to the invention
connected for operation in various configurations.
FIG. 2 shows a block diagram of the hardware in a modem designed to perform
the methods according to the invention.
FIG. 3 shows a block diagram of the sequences used to control the modem of
FIG. 2, those sequences designed to implement the methods according to the
invention.
FIG. 4 shows a flowchart of operation of the dial command as executed by
the modem of FIG. 2 in accordance with the methods of the invention.
FIG. 5 shows a file transfer sequence as executed by the computer and modem
of FIGS. 1A-1D according to the methods of the invention.
FIG. 6 shows a cellular versus land line selection sequence as executed by
the computer and modem of FIGS. 1A-1D according to the methods of the
invention.
FIG. 7 shows a flowchart of an alternative connect sequence for selecting
between the land line and cellular telephone based upon the available
signal strength of the cellular telephone.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
Turning now to the drawings, FIGS. 1A-D show a laptop computer 10 with a
modem 12 constructed according to the invention connected for operation in
a variety of configurations. The modem 12 is integrated into the laptop
computer 10, and the modem 12 has two external jacks for connection to a
variety of devices. The first of these jacks is an RJ11 type jack 14, and
the second is an RJ45 type jack 16. Of course, these physical jacks are
exemplary only, and other types of jacks could be used. Further, the modem
12 is preferably, but not necessarily, integrated into the laptop computer
10, and the laptop computer 10 could be a type of computer other than a
laptop. For example, a desktop system would also benefit from being
connected to the modem 12 constructed according to the invention.
In FIG. 1A, the laptop computer 10 and the modem 12 are connected by way of
the RJ11 type jack 14 and a cable 20 to a telephone wall outlet 18, as one
would find in any typical home. The RJ45 type jack 16 is left unconnected.
This configuration is analogous to a computer with an integrated modem
connected to a telephone wall outlet.
FIG. 1B again shows the laptop computer 10, but in this configuration the
modem 12 is connected to a cellular phone 22 via the RJ45 type jack 16 by
an interface cable 20. In this configuration, the RJ11 type jack 14 is
left unconnected.
FIG. 1C shows the laptop computer 10 and modem 12 configured for operation
in a foreign country. In FIG. 1C, the laptop computer 10 is connected via
the RJ45 type jack 16 to a telephone wall outlet 18, but in this
configuration an external DAA 24 provides the circuitry necessary to adapt
to the foreign telephone system. An advantage of the modem 12 constructed
according to the invention is that it can be easily modified to change its
internal, "native" country. That is, the external DAA 24 is only needed if
the modem 12 has not been configured internally for the country to which
one is attempting to connect the laptop computer 10. Thus, if the modem 12
is internally configured for the United States telephone system, if one is
in the U.S., one need only connect the system as shown in FIG. 1A in order
to communicate with the telephone system. Only if one goes to another
country, say Germany, would one need the external DAA 24 as shown in FIG.
1C.
But if the user then moves to Germany, that user could easily have the
modem 12 modified such that the German telephone system becomes its
"native" phone system. This would be done by a technician simply switching
out an internal DAA, which will be described later. Then, while in
Germany, the user configures the laptop computer 10 as shown in FIG. 1A
for communications with the German telephone system. When the user visits
the United States, the user would then use the external DAA 24, which is
then specifically designed for the United States.
FIG. 1D shows a further possible configuration of the laptop computer 10
with the modem 12 constructed according to the invention. In FIG. 1D, the
laptop computer 10 is connected to both the cellular phone 22 and the
telephone wall outlet 18, which is here a telephone jack for the native
telephone system of the modem 12. Shown internal to the cellular phone 22
is a battery 23 is used to power the portable cellular phone 22. In this
configuration, the laptop computer 10 is connected to the cellular phone
22 via the RJ45 type jack 16 and is connected to the native phone system
via the RJ11 type jack 14 and the telephone wall outlet 18. As will be
seen, an advantage of the modem 12 constructed according to the invention
is that it can internally switch between communications with the cellular
phone 22 and the telephone wall outlet 18.
Logical Blocks of the Modem 12
FIG. 2 shows a logical block diagram of the various elements of the modem
12 constructed according to the invention. The laptop computer 10
physically contains the modem 12 and connects via an internal connector to
a UART/support chip 100. The UART/support chip 100 typically connects to
the host bus of the laptop computer 10, for example an EISA or ISA bus,
although it could be any type of typical communications bus. The
UART/support chip 100 then appears as a universal asynchronous receiver
transmitter (UART) to the laptop computer 10. The UART/support chip 100
connects to, among other things, a microcontroller 102 by both serial and
parallel buses. The UART/support chip 100 provides a variety of functions
to the modem 12, including communications to the laptop computer 10, clock
controls, configurable registers, and power down control for the
microcontroller 102. The UART/support chip 100 is typically an application
specific integrated circuit, but could instead be constructed of discrete
components.
The microcontroller 102 is typically an embedded controller, and in the
preferred embodiment is a 68302 integrated multiprotocol processor,
manufactured by Motorola Incorporated. The microcontroller 102
communicates with a data pump 104 by both serial and parallel buses. The
data pump 104 is typically a modem data pump chip set supporting the
various protocols of modem communication, including V.32 bis protocol and
fax protocols. In the preferred embodiment, the data pump 104 is a WE.RTM.
DSP16A-V32FB-LT V.32bis plus FAX Data Pump Chip Set, sold by AT&T
Microelectronics. This chip set includes a digital signal processor (DSP)
support chip 106, a DSP 108, and a coder-decoder (CODEC) 110. This chip
set is interconnected according to AT&T specifications and provides the
typical data pump features of control, analog-digital and digital-analog
conversion, digital signal processing, and interfacing.
The microcontroller 102 communicates with the data pump 104 by both serial
and parallel buses. The serial bus is used to transmit and receive data
that will become the transmitted and received modem data, while the
parallel bus is used to control and configure various features within the
data pump 104. These features are controlled through the DSP support chip
106. The data pump 104 converts the digital serial data provided by the
microcontroller 102 into the appropriate analog format. This is typically
done by the DSP 108, which then transmits and receives the data via the
CODEC 110.
The CODEC 110 connects to the actual external lines through analog transmit
and receive signals, TXA and RXA. These signals are selectively connected
to either an internal DAA 112 or a cellular/external DAA interface 114.
The internal DAA is then connected to a normal telephone line by the RJ11
type jack 14, while the cellular/external DAA interface 114 can be
connected through the RJ45 type jack 16 to the external DAA 24 or the
cellular phone 22. When connected to the cellular phone 22, a number of
data lines from the microcontroller 102 and UART/support chip 100 form a
cellular communications bus, which is a serial, digital bus that varies
for each make of cellular phone 22.
Various signals are typically used to interface with telephone lines,
including the ring indicator signal RI* and the off hook control signal
OH*. A DAA generates and receives these signals, as well as the TXA and
RXA signals, and converts them into a format suitable for that particular
country's two-wire telephone system, or whatever type of telephone system
to which the DAA is connected. Various digital lines, including RI*, OH*,
a clock line CLK*, and a data line DTA, form a set of switched data lines
between the cellular/external DAA interface 114, the UART/support chip
100, the microcontroller 102, and the internal DAA 112. In this
embodiment, the OH* signal line is physically driven by the DSP support
chip 106. These lines, as well as the TXA and RXA lines, can be switched
by the microcontroller 102 to connect either the cellular/external DAA
interface 114 or the internal DAA 112.
In operation, the modem 12 according to the invention and as logically
shown in FIG. 2 is connected in one of the configurations shown in FIGS.
1A-D. Thus, the RJ45 type jack 16 is connected to either a cellular phone
22 or an external DAA 24, which would generally be a DAA constructed for
operation in a country other than that of the internal DAA 112. The RJ11
type jack 14 is directly connected t | | |