Apparatus and method for connecting a cellular telephone to a universal serial bus
First Claim
1. A apparatus for connecting a cellular telephone to a computer system for transmitting and receiving data between the computer system and a server coupled to a wireless network, said apparatus comprising:
- a mobile phone interface (MPI) comprising a cellular phone interface, a digital translation block, and a Universal Serial Bus (USB) serial interface engine;
a USB connector coupled to said serial interface engine for connecting to a USB controller installed in the computer system;
a cellular telephone connector coupled to said cellular phone interface for connecting to the cellular telephone; and
control software installed on the computer system for controlling data transfers between said computer system and said MPI and for formatting data in accordance with a particular protocol standard used on the wireless network.
14 Assignments
0 Petitions
Accused Products
Abstract
A system and method for connecting a cellular telephone to a personal computing device. A mobile phone interface (MPI) is molded between the ends of a Universal Serial Bus (USB) cable. One end of the USB cable is plugged into a standard USB port on a personal computing device and the other end is plugged into a cellular telephone. The MPI comprises a USB serial interface engine (USB SIE), a digital translation block (DTB) and a cellular phone interface. The cellular phone interface provides electrical connections to the signals within the supported cellular telephone. The DTB performs synchronous and asynchronous data transfers and buffer functions in accordance with the implemented protocol. The USB serial interface engine performs serialization, de-serialization and USB set-up in accordance with USB standards. Software for controlling the MPI is installed on the computer system. The control software comprises a communication control stack, a hardware access driver and an external plug-in module. The communication control stack comprises an AT parser, a call control module, and one or more internal plug-in protocol modules. The external plug-in module comprises an external protocol stack. The external protocol stack typically comprises a control path and a data path. The control path is used to process control and status data and the data path is used to process communications data.
-
Citations
23 Claims
-
1. A apparatus for connecting a cellular telephone to a computer system for transmitting and receiving data between the computer system and a server coupled to a wireless network, said apparatus comprising:
-
a mobile phone interface (MPI) comprising a cellular phone interface, a digital translation block, and a Universal Serial Bus (USB) serial interface engine;
a USB connector coupled to said serial interface engine for connecting to a USB controller installed in the computer system;
a cellular telephone connector coupled to said cellular phone interface for connecting to the cellular telephone; and
control software installed on the computer system for controlling data transfers between said computer system and said MPI and for formatting data in accordance with a particular protocol standard used on the wireless network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
a communications control stack coupled to a data terminal emulation program (DTE) running on the computer system;
an external protocol stack coupled to said communications control stack for converting data between a format used by said DTE and a format used by said particular protocol;
a hardware access driver coupled between said MPI and said external protocol stack for controlling data transfer between said MPI and said external protocol stack.
-
-
3. The apparatus of claim 2, wherein said external protocol stack comprises:
-
a data path for processing data between said DTE and said MPI, said data path comprising;
a high level interface coupled to said communications control stack for moving said data between said external protocol stack and said DTE;
a low level interface coupled to said hardware access driver for moving said data between said external protocol stack and said MPI; and
a data protocol stack for buffering and converting said data transferred between said DTE and MPI.
-
-
4. The apparatus of claim 2, wherein said external protocol stack comprises:
-
a communications data path for processing communications data between said DTE and said MPI, said communications data path comprising;
a high level interface coupled to said communications control stack for moving said communications data between said external protocol stack and said DTE;
a low level interface coupled to said hardware access driver for moving said communications data between said external protocol stack and said MPI; and
a data protocol stack for buffering and converting said communications data transferred between said DTE and MPI; and
a control path for processing control data between said DTE and said MPI, said control path comprising;
a high level interface coupled to said communications control stack for moving said control data between said external protocol stack and said DTE;
a low level interface coupled to said hardware access driver for moving said control data between said external protocol stack and said MPI; and
a control protocol stack for buffering and converting said communications data transferred between said DTE and MPI.
-
-
5. The apparatus of claim 4, wherein said communications control stack calls said high level interface on a periodic basis to move data from said external protocol stack to said DTE.
-
6. The apparatus of claim 4, wherein said communications control stack calls said high level interface on a periodic basis to move data from said DTE to said external protocol stack.
-
7. The apparatus of claim 2, wherein said communications control stack comprises:
-
an AT parser for parsing standard modem commands in accordance with the Hayes AT standard;
a V.42bis module for implementing data compression; and
one or more internal protocol stacks.
-
-
8. The apparatus of claim 2, wherein said digital translation block comprises:
-
a receiver/transmitter coupled to said cellular phone interface, for receiving and transmitting data from/to the cellular telephone;
a first transmit buffer coupled to said receiver/transmitter for storing data sent by said computer system; and
a first receive buffer coupled to said receiver/transmitter for storing data received by said cellular telephone.
-
-
9. The apparatus of claim 8, wherein said digital translation block further comprises:
a frame synch logic component, coupled to said receiver/transmitter and said receive and transmit buffers for marking the beginning of each data frame stored in said receive and transmit buffers.
-
10. The apparatus of claim 8, wherein said digital translation block further comprises:
-
a Universal Synchronous/Asynchronous Receiver Transmitter (USART) coupled to said cellular phone interface, for receiving and transmitting control data from/to the cellular telephone;
a second transmit buffer coupled to said USART for storing control data sent by said computer system; and
a second receive buffer coupled to said USART for storing control received by said cellular telephone.
-
-
11. The apparatus of claim 10, wherein said USB serial interface engine comprises:
-
a first USB endpoint for implementing USB setup procedures in accordance with USB standards;
a second USB endpoint coupled to said first transmit and receive buffers for implementing communication data transfers between said MPI and said USB controller;
a third USB endpoint coupled to said second transmit and buffers for implementing communication data transfers between said MPI and said USB controller.
-
-
12. The apparatus of claim 8, wherein said digital translation block further comprises:
-
a Universal Synchronous/Asynchronous Receiver Transmitter (USART) coupled to said cellular phone interface, for receiving and transmitting control data from/to the cellular telephone;
a second transmit buffer coupled to said USART for storing control data sent by said computer system; and
a second receive buffer coupled to said USART for storing control received by said cellular telephone.
-
-
13. The apparatus of claim 8, wherein said hardware access driver is interrupt driven based on the content of data in said transmit and receive buffers.
-
14. The apparatus of claim 8 wherein said first transmit and receive buffers are First In-First-Out (FIFO) buffers.
-
15. The apparatus of claim 2, wherein said external protocol stack comprises at least one operating system virtual device driver.
-
16. The apparatus of claim 2, wherein said communications protocol stack comprises at least one operating system virtual device driver.
-
17. The apparatus of claim 2, wherein said hardware access driver comprises at least one operating system virtual device driver.
-
18. The apparatus of claim 1, wherein said particular protocol standard is selected from the set of:
- PDC, PHS, GSM and CDMA.
-
19. A method for communicating between a computer system and a server using a wireless network, wherein a cellular telephone is coupled to the computer system using a mobile phone interface (MPI) connected through a Universal Serial Bus (USB) port on the computer system, said method comprising the steps of:
-
installing control software on the computer system comprising a communications control stack and an external protocol stack, the external protocol stack adapted to implement a particular protocol used on the wireless network;
executing a DTE on the computer system;
sending a control message from the DTE to the communications control stack to begin communications using the wireless network;
loading the control software as a virtual device driver;
initializing the MPI by setting predefined register values therein; and
initializing the external protocol stack by allocating necessary memory for buffers and queues. - View Dependent Claims (20, 21, 22)
calling the protocol stack on a periodic basis to transfer sent data from the DTE to the external protocol stack;
converting the sent data to framed data in accordance with the particular protocol on the wireless network;
transferring the framed data to a data buffer in the MPI in response to an interrupt request sent by the MPI indicating that the data buffer is ready to accept data; and
transferring the framed data from the MPI to the cellular phone in accordance with synchronous data signals from the cellular network.
-
-
21. The method of claim 19, further comprising the step of receiving data by the DTE from the cellular network, said receiving step comprises the steps of:
-
clocking in received data to a data buffer in the MPI in accordance with synchronous data signals from the cellular network;
generating an interrupt request to indicate the data buffer contains the received data;
responding to the interrupt request by moving the received data from the MPI to the external protocol stack;
removing headers and data frames associated with the particular protocol from the received data; and
calling the protocol stack to transfer the received data from the external protocol stack to the DTE.
-
-
22. The method of claim 19, further comprising the step of transmitting data from the DTE to the cellular network, wherein said transmitting step comprises the steps of:
-
calling the protocol stack on a periodic basis to transfer sent data from the DTE to the external protocol stack;
converting the sent data to framed data in accordance with the particular protocol on the wireless network; and
transferring the framed data to the MPI in response to an interrupt request sent by the MPI indicating that it is ready to accept data.
-
-
23. A system for communicating between computer systems over a wireless network comprising:
-
a wireless cellular telephone network in which a particular protocol is implemented;
a cellular telephone coupled to said wireless cellular network;
a mobile phone interface (MPI) comprising a cellular phone interface, a digital translation block, and a USB serial interface engine;
a USB connector coupled to said serial interface engine;
a computer system coupled to said MPI; and
control software installed on the computer system for controlling data transfers between said computer system and said MPI and for formatting data in accordance with said particular protocol.
-
Specification