WO2002095557A2 - A method of data communication between a host computer and a pc card modem - Google Patents

A method of data communication between a host computer and a pc card modem Download PDF

Info

Publication number
WO2002095557A2
WO2002095557A2 PCT/GB2002/002258 GB0202258W WO02095557A2 WO 2002095557 A2 WO2002095557 A2 WO 2002095557A2 GB 0202258 W GB0202258 W GB 0202258W WO 02095557 A2 WO02095557 A2 WO 02095557A2
Authority
WO
WIPO (PCT)
Prior art keywords
application program
card
data
communications
host computer
Prior art date
Application number
PCT/GB2002/002258
Other languages
French (fr)
Other versions
WO2002095557A3 (en
Inventor
Ian K. Appleton
Andrew Taylor
Original Assignee
Ubinetics Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ubinetics Limited filed Critical Ubinetics Limited
Priority to AU2002307953A priority Critical patent/AU2002307953A1/en
Publication of WO2002095557A2 publication Critical patent/WO2002095557A2/en
Publication of WO2002095557A3 publication Critical patent/WO2002095557A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver

Definitions

  • This invention relates to a method of data communications, and particularly to a method of data communications between a host computer and a PC card.
  • PC card typically comprises a printed circuit board (pcb) having a number of sub-circuits thereon which enable the PC card to perform its predetermined peripheral function, for example, as a modem.
  • pcb printed circuit board
  • the use of PC card devices is becoming increasingly important due to their small size. This enables usage with compact computer systems, such as laptop computers and Personal Digital Assistants (PDAs).
  • PC cards are designed to meet the so-called PCMCIA standards.
  • PC cards operate in two main time phases. Initially, when power is first supplied to a PC card, it operates in an 'initialisation' phase. In this phase, the various sub-circuits are powered-up and initialised, and card information structure (CIS) data is read by the host computer to determine what the PC card actually is, and how it performs. After the initialisation phase, which has a duration of typically one second, the 'operational' phase commences. In this phase, the PC card transmits and receives operational data to, and/or from, the host computer.
  • CIS card information structure
  • PC card modems Communication between the host computer and the PC card is usually performed over a single COM port.
  • PC card modems it is normal for them to emulate a standard COM port.
  • a COM port is a channel which communicates data in serial form, using one of the well-known COM port standards or protocols. Examples of such COM port protocols are the RS232 and N24 protocols.
  • a PC card modem emulates a COM port and does not necessarily include a physical port.
  • PC cards can be provided in the form of many different device types, for example, as wireless modems. In many situations, it would be useful to provide additional functionality between the PC card and the host computer.
  • the modem device communicates with a communications network by means of a wireless connection.
  • This proprietary software is designed for specific use with the wireless modem, and allows data transfer over the appropriate network, e.g. by establishing a connection with a cellular network, transmitting identification data etc.
  • Conventional application programs (Microsoft's Outlook Express, for example) are designed to transfer data over standard non-wireless modem devices, i.e. through a land-line telephone connection.
  • the additional functionality offered by wireless communications networks e.g. the ability to monitor signal strength, the identity of the network being used etc. is not accounted for by such standard application programs. Nevertheless, the use of conventional application programs is highly desirable, since many users will be familiar with their operation. The requirement to use new, proprietary application programs, which are specifically designed for the wireless modem, results in more expense for the user.
  • a method of data communications between a host computer and a PC card comprising the steps of: establishing first and second communications channels between the host computer and the PC card, the first and second communications channels being arranged to transmit data independently of each other; transferring data over the first communications channel using a first application program stored on the host computer; and transferring data over the second communications channel using a second application program stored on the host computer.
  • One application program can be used for conventional purposes, e.g. as a conventional E-mail application program, with the other application program being able to perform some other function which may be specific to the PC card type.
  • the second application program may be specifically designed to handle the wireless functionality, thus enabling the conventional E-mail application program to work efficiently with the wireless modem.
  • the data transfer over the second communications channel may be prompted by the PC card, in response to a command being received from the first application program by means of the first communications channel.
  • the first application program may cause the second communications channel to be 'opened-up'.
  • the first communications channel may be configured to use a COM port protocol
  • the second communications channel may be configured to use a further data transfer protocol
  • the second communications channel may established by means of the host computer identifying and initialising at least one unused card control register of the PC card.
  • the first application program may be configured to communicate data with a remote source by means of the PC card, and in this case the method may further comprise using the second application program to initialise the PC card to perform the data communication between the first application program and the remote source.
  • the second application program can be used to initialise the wireless modem to communicate data, received from the first application program using the first communications channel, over a wireless communications network.
  • the second application program may be used to prompt and allow input of identity data for identifying a user of the first application program to a subscriber identity module (SIM) in the wireless modem.
  • SIM subscriber identity module
  • the method may further comprise using the second application program to notify a user of the first application program of the status of the PC card or the status of data transfer between the remote source and the first application program.
  • the second application program can be used to notify a user of the first application program of the status of the link between the wireless modem and the remote source over a selected wireless communications network.
  • the second application program may notify a user of the first application program of the name of the selected wireless communication network or of the signal strength with the selected wireless communications network.
  • a computer program stored on a computer usable medium comprising computer readable instructions for causing a host computer to perform the steps of: monitoring a PC card attached to the computer system to detect the transfer of data from a further computer program to the PC card over a first communications channel; in response to detecting a transfer of data from the further computer program, communicating with the PC card by means of a second communications channel, the first and second communications channels being independent of one another.
  • a computer system comprising a host computer; and a PC card connected to the host computer, the host computer running first and second application programs, and being arranged to communicate data between the first and second application programs and the PC card by means of respective first and second communications channels, the first and second communications channels being configured to communicate data independently of each other.
  • Figure 1 shows a PC card modem connected to a host computer
  • Figure 2 shows the arrangement of two application programs in a memory of the host computer in Figure 1 ;
  • Figure 3 shows the register areas of the modem shown in Figure 1 ;
  • Figure 4 is a block diagram showing the interrelationship between various modules of a computer program, and their relationship with the register areas shown in Figure 2;
  • FIG. 5 shows, in detail, the Card Control Register (CCR) area shown in Figures 2 and 3;
  • Figure 6 is a table of control commands for a communications protocol used with the PC card modem.
  • Figure 1 shows a PC card modem 1 connected to a host Personal Computer (PC) 3 by means of a physical port connection 5.
  • the modem 1 includes a plurality of sub-circuits (not shown) and an r.f. antenna 6 which enable the modem to receive and transmit data via a wireless, cellular link using a cellular communications network.
  • FIG. 2 shows an overview of the software arrangement.
  • This software comprises two application programs, namely application program 8, and application program 10.
  • the application program 8 is a conventional intenet/E-mail/fax application (which may be, for example, Microsoft Outlook Express) which runs on a standard platform such as Microsoft Windows 98.
  • the application program 10 is a support application which enables normal use of the application program 8 by means of handling all tasks relating to the modem 1.
  • the application program 8, being a conventional program is configured to deal with non- ireless modems.
  • the modem 1 If use of the modem 1 is initiated using the application program 8 on its own (without the use of the application program 10) an error message will be received since, in order to open a wireless communications link with a base station forming part of the cellular communications network, it is necessary for the user to specify the network, to input a personal identification number (PIN), and to ensure that there is sufficient signal strength to be able to establish a link with the base station. It is this wireless-specific functionality which is performed by the application program 10, the detailed operation of which will be described below.
  • the application program 10 also serves to provide additional information relating to the modem 1 and the status of the communications network with which it is communicating.
  • the application programs 8 and 10 communicate with the modem 1 by means of respective first and second channels 25, 29.
  • first and second channels 25, 29 are shown directly connected to the modem 1.
  • both channels 25, 29 are bi-directional.
  • the modem 1 Since the modem 1 is a PC card device, when power is initially applied to the modem, it undergoes an initialisation phase, typically lasting one second. Subsequent to this, the modem 1 enters an operational phase, wherein operational data (for example, data relating to an E-mail or a fax) from the application program 8 is communicated between the PC 3 and the modem 1. In this phase, the operational data is transferred over the first channel 25 using a COM port protocol, in this case RS232. This COM port data transfer is performed over what is, effectively, a COM port channel.
  • a COM port protocol in this case RS232.
  • the application program 10 is configured to monitor the modem 1 to determine when power is applied to the modem. As mentioned above, this occurs during the initialisation phase, invoked by a user starting, or executing, the application program 8 to commence communications over a wireless link. Having detected this 'power-up', the application program 10 then proceeds to perform the necessary tasks for establishing the wireless link between the modem and a base station of the communications network and for displaying the status of various aspects of the modem 1, its operation and the network to which the modem is, or will be, connected.
  • the application program 10 will include details of a "home communications network" and, optionally, one or more alternative communications networks, including the identity number for the or each network.
  • an automatic connection setting the application program 10 will automatically prepare to connect to the home communications network.
  • a manual connection setting may also be provided in which a user will be prompted to select a particular network.
  • the user is optionally prompted by the application program 10 to enter a PIN for the SIM if the SIM has the PIN enabled.
  • the application program 10 proceeds to establish a link between the modem 1 and a base station of the chosen communications network. Having established the link, normal data transfer may be effected between the application program 8 and the communications network using the first channel 25.
  • the second channel 29 is also used to transfer data relating to the status of the modem 1, the status of the wireless link, and the status of the communications network. This is performed at the same time as normal data transfer is performed on the first channel 25.
  • the status data is displayed in a graphical user interface (GUI) provided as part of the application program 10.
  • GUI graphical user interface
  • the status data can relate to the name of the current communications network, the status of the network, signal strength, error reporting (e.g. no SIM card present), registration failure, caller identification of new incoming calls, incoming message alerts. Call barring and diverts can also be effected using the second channel 29.
  • Figure 3 shows three such register areas 7, 9 and 11 which are used in transmitting and/or receiving data to, and/or from, the modem 1 for the two channels 25, 29. All registers are one byte (or eight bits) in length.
  • the so-called UART (Universal Asynchronous Receiver/Transmitter) area 7 comprises a set of registers which emulate the well-known 16750 UART device, this device enabling standard communications drivers in the PC 3 to communicate with peripheral devices.
  • the COM port channel 25 is established between the PC 3 and the UART register area 7.
  • the Card Information Structure (CIS) area 9 comprises 256 registers (CIS 0-255) which hold information about the actual PC card device, i.e. the modem 1.
  • the CIS data will specify that the PC card is a modem, the type of modem it is, and the capabilities of the modem.
  • the CIS area 9 is read by the PC 3 in the initialisation phase upon power-up.
  • the Card Control Register (CCR) area 11 comprises eight registers (CCR 0-7) which are initialised and are used to control various aspects of the modem's operation.
  • FIG. 4 shows the interrelationship between various software modules of the PC 3 and the registers 7, 9, 11.
  • the application program 8 is a conventional intenet/E-mail/fax application. Data from the application program 8 is transferred to various standard software modules which are provided as part of a standard PC operating system, such as Microsoft Windows 98.
  • these standard software modules are : a TAPI (Telephone Application Program Interface) module 15 which enables multiple applications to share telephone-based devices, in this case, the modem 1; a TSP (Telephony Service Provider) module 17, which provides access to the modem 1; a serial driver 19; a Card Services module 21 which provides a method of data communications with the actual PC card; and a Socket Services module 23, which enables the application program 13 to interact with a socket controller of the PC card.
  • TAPI Telephone Application Program Interface
  • TSP Transmission Service Provider
  • Card Services 21 which provides a method of data communications with the actual PC card
  • Socket Services module 23 which enables the application program 13 to interact with a socket controller of the PC card.
  • Data Channels 26a and 26b are established between the Socket Services module 23 and the modem 1, and these are only used during the initialisation phase of the modem. These channels, 26a and 26b, are not used to transfer operational data.
  • the second channel 29 is established by means of the ACD module 27, which is a further computer program installed on the PC 3. This program is used to configure, initialise and operate the second channel 29 which handles data relating to the wireless functionality of the modem 1. Also installed on the PC 3 is an Interface DLL module 13 which links application program 10 to the ACD module 27. The Interface DLL module 13 simply hides the differences between the various different serial drivers used by different platforms and operating systems so that the application program 10 can seamlessly communicate with the ACD module 27. This configuration, initialisation and operation of the second channel 29 will be described below.
  • FIG. 5 shows the CCR register area 11 of the modem 1.
  • CCR1 and CCR2 are used to control the card.
  • FCRs PCMCIA File Control Registers
  • the modem 1 operates with these registers in the way prescribed by the PCMCIA standard. This means that the remaining unused registers (i.e. CCRs 2-7) are available for creating the second channel 29.
  • the program Upon executing the ACD program 27, the program initialises three of the unused CCR registers to create the second channel 29.
  • the second channel 29 is controlled using an Auxiliary Communications Protocol (ACP), provided as part of the ACD program 27, which ensures that the transfer of auxiliary data over the second channel 29 is such that data flow is completely independent of the COM port channel 25.
  • ACP Auxiliary Communications Protocol
  • the register CCR5 is initialised as a so-called Host Control Register (HCR), the register CCR6 as a so-called Data Length Register, and the register CCR7 as a so-called Data Register (DR).
  • HCR Host Control Register
  • DR Data Register
  • these registers are one byte (eight bits) in length.
  • the HCR register CCR5 holds data specifying the type of data transfer requested. The most significant bit of this register controls the direction of data flow.
  • the PC 3 sets this bit to "one" to indicate that data is being written to the modem 1 from the PC 3. When this bit is "zero", data is written to the PC 3 from the modem 1.
  • the remaining bits of this register form the .'command' which is requested by the PC 3.
  • a command value of "zero" indicates a NULL command, and so no action is performed.
  • the remaining commands are shown in the table of Figure 6.
  • the DLR register CCR6 is used to indicate to the modem 1 how many bytes of data, corresponding to the command specified in the HCR register CCR5, there is to be transferred.
  • the value in this register CCR6 is decremented for each byte of actual data transferred.
  • the PC 3 monitors this register in order to keep track of the transfer process. When the value in the DLR register CCR6 reaches "zero", the transfer is complete and so terminated.
  • the DLR register CCR6 is always set to "zero" under reset conditions.
  • the DR register CCR7 holds the data which is to be transferred. Under reset conditions, this register is set to "zero".
  • data may be transferred over the channel using the ACP protocol.
  • the PC 3 In order to perform a 'data write' operation (i.e. write data to the modem 1), the PC 3 initiates a write command by sending the first byte of data to the DR register CCR7, and by sending the number of bytes to be written, to the DLR register CCR6. This causes two interrupts to be sent to the modem 1. These interrupts are ignored at this stage, since the HCR register CCR5 is clear.
  • the PC 3 sends the appropriate command value to the HCR register CCRS, and sets the most significant bit of the HCR register to "one". Now, the interrupts are received by a processor (not shown) of the modem 1, which then reads the HCR register CCR5 to interpret the command.
  • This processor then reads the data byte from the DR register CCR7, decrements the value in the DLR register, and clears the command in the HCR register CCR5 to acknowledge that the command has been accepted.
  • the PC 3 detects the decrementing of the DLR register CCR6, and so writes the next byte of data to the DR register CCR7.
  • a new interrupt is generated by this write process, and the processor of the modem 1 reads the next byte of data in the DR register CCR7, and the process repeats itself.
  • the write command is completed when the DLR register CCR5 reaches "zero".
  • a 'data read' operation i.e. to read data from the modem 1
  • the PC 3 initiates the read operation by sending the appropriate command value with the most significant bit of the HCR register CCR5 reset to "zero".
  • the processor of the modem 1 receives an interrupt and so reads the command from the HCR register CCR5.
  • the processor specifies the appropriate number of bytes in the DLR register CCR6, writes the first byte of data to the DR register DDR7, and then clears the HCR register CCR5 to indicate that the command has been accepted.
  • the PC 3 detects this clearing of the HCR register CCR5, reads the byte of data in the DR register DDR7, and writes a 'NEXT_BYTE' command back to the HCR.
  • the two data channels 25, 29 can transfer data simultaneously.
  • the COM port 25 is a serial port whose throughput is defined by the bit rate (which has to correspond to one of a number of industry standard values e.g. 115 kbps)
  • the second channel 29 is not limited in this way. It is an asynchronous channel which is only limited by the speed at which the PC 3 and the modem 1 can read and write data to the registers. This is controlled here by a 'handshake' data transfer operation employed by the ACP protocol. Accordingly, data throughput is increased. It should be appreciated that the number of additional channels which may be configured is limited only by the number of unused registers available. Multiple auxiliary channels can be used to increase functionality and throughput further.

Abstract

In a method of data communications between a host computer (3) and a PC card modem (1), first and second communications channels (25, 29) are established between the host computer and the PC card. The first and second communications channels (25, 29) are arranged to transmit data independently of each other. Data is transferred over the first communications channel (25) using a first application program (8) stored on the host computer (3) whilst data is transferred over the second communications channel (29) using a second application program (10) stored on the host computer. Operational data is transmitted between the computer (3) and the modem (1) over the first communications channel (25) using a COM port protocol. The second application program (10) performs certain tasks with regard to checking the status of the modem (1) and for prompting the input of PIN data for the SIM of the modem.

Description

A Method of Data Communications
This invention relates to a method of data communications, and particularly to a method of data communications between a host computer and a PC card.
Many modern computer systems operate with PC card devices. A PC card typically comprises a printed circuit board (pcb) having a number of sub-circuits thereon which enable the PC card to perform its predetermined peripheral function, for example, as a modem. The use of PC card devices is becoming increasingly important due to their small size. This enables usage with compact computer systems, such as laptop computers and Personal Digital Assistants (PDAs). Typically, PC cards are designed to meet the so-called PCMCIA standards.
PC cards operate in two main time phases. Initially, when power is first supplied to a PC card, it operates in an 'initialisation' phase. In this phase, the various sub-circuits are powered-up and initialised, and card information structure (CIS) data is read by the host computer to determine what the PC card actually is, and how it performs. After the initialisation phase, which has a duration of typically one second, the 'operational' phase commences. In this phase, the PC card transmits and receives operational data to, and/or from, the host computer.
Communication between the host computer and the PC card is usually performed over a single COM port. In the case of PC card modems, it is normal for them to emulate a standard COM port. It will be understood that a COM port is a channel which communicates data in serial form, using one of the well-known COM port standards or protocols. Examples of such COM port protocols are the RS232 and N24 protocols. It will be appreciated that a PC card modem emulates a COM port and does not necessarily include a physical port. PC cards can be provided in the form of many different device types, for example, as wireless modems. In many situations, it would be useful to provide additional functionality between the PC card and the host computer.
In the case where the PC card is a wireless modem, the modem device communicates with a communications network by means of a wireless connection. However, in order for a host computer to be able to communicate using the wireless modem, it is necessary for some special proprietary software to be provided. This proprietary software is designed for specific use with the wireless modem, and allows data transfer over the appropriate network, e.g. by establishing a connection with a cellular network, transmitting identification data etc. Conventional application programs (Microsoft's Outlook Express, for example) are designed to transfer data over standard non-wireless modem devices, i.e. through a land-line telephone connection. The additional functionality offered by wireless communications networks, e.g. the ability to monitor signal strength, the identity of the network being used etc. is not accounted for by such standard application programs. Nevertheless, the use of conventional application programs is highly desirable, since many users will be familiar with their operation. The requirement to use new, proprietary application programs, which are specifically designed for the wireless modem, results in more expense for the user.
According to a first aspect of the present invention, there is provided a method of data communications between a host computer and a PC card, the method comprising the steps of: establishing first and second communications channels between the host computer and the PC card, the first and second communications channels being arranged to transmit data independently of each other; transferring data over the first communications channel using a first application program stored on the host computer; and transferring data over the second communications channel using a second application program stored on the host computer.
By using two application programs for communicating data between the PC card and the host computer using two different communications channels, increased functionality is provided. One application program (and communications channel) can be used for conventional purposes, e.g. as a conventional E-mail application program, with the other application program being able to perform some other function which may be specific to the PC card type. As an example, where the PC card is a wireless modem, the second application program may be specifically designed to handle the wireless functionality, thus enabling the conventional E-mail application program to work efficiently with the wireless modem.
The data transfer over the second communications channel may be prompted by the PC card, in response to a command being received from the first application program by means of the first communications channel. Thus, the first application program may cause the second communications channel to be 'opened-up'.
The first communications channel may be configured to use a COM port protocol, and the second communications channel may be configured to use a further data transfer protocol.
The second communications channel may established by means of the host computer identifying and initialising at least one unused card control register of the PC card.
As mentioned above, the first application program may be configured to communicate data with a remote source by means of the PC card, and in this case the method may further comprise using the second application program to initialise the PC card to perform the data communication between the first application program and the remote source.
Where the PC card is a wireless modem, the second application program can be used to initialise the wireless modem to communicate data, received from the first application program using the first communications channel, over a wireless communications network. The second application program may be used to prompt and allow input of identity data for identifying a user of the first application program to a subscriber identity module (SIM) in the wireless modem. Alternatively, the method may further comprise using the second application program to notify a user of the first application program of the status of the PC card or the status of data transfer between the remote source and the first application program.
If the PC card is a wireless modem, the second application program can be used to notify a user of the first application program of the status of the link between the wireless modem and the remote source over a selected wireless communications network. The second application program may notify a user of the first application program of the name of the selected wireless communication network or of the signal strength with the selected wireless communications network.
According to a second aspect of the present invention, there is provided a computer program stored on a computer usable medium comprising computer readable instructions for causing a host computer to perform the steps of: monitoring a PC card attached to the computer system to detect the transfer of data from a further computer program to the PC card over a first communications channel; in response to detecting a transfer of data from the further computer program, communicating with the PC card by means of a second communications channel, the first and second communications channels being independent of one another.
According to a third aspect of the present invention, there is provided a computer system comprising a host computer; and a PC card connected to the host computer, the host computer running first and second application programs, and being arranged to communicate data between the first and second application programs and the PC card by means of respective first and second communications channels, the first and second communications channels being configured to communicate data independently of each other.
The invention will now be described, by way of example, with reference to the accompanying drawings in which:
Figure 1 shows a PC card modem connected to a host computer; Figure 2 shows the arrangement of two application programs in a memory of the host computer in Figure 1 ;
Figure 3 shows the register areas of the modem shown in Figure 1 ;
Figure 4 is a block diagram showing the interrelationship between various modules of a computer program, and their relationship with the register areas shown in Figure 2;
Figure 5 shows, in detail, the Card Control Register (CCR) area shown in Figures 2 and 3; and
Figure 6 is a table of control commands for a communications protocol used with the PC card modem.
Referring to the drawings, Figure 1 shows a PC card modem 1 connected to a host Personal Computer (PC) 3 by means of a physical port connection 5. The modem 1 includes a plurality of sub-circuits (not shown) and an r.f. antenna 6 which enable the modem to receive and transmit data via a wireless, cellular link using a cellular communications network.
In order for the PC 3 to interface and operate with the modem 1, software is loaded onto a memory of the PC. Figure 2 shows an overview of the software arrangement. This software comprises two application programs, namely application program 8, and application program 10. The application program 8 is a conventional intenet/E-mail/fax application (which may be, for example, Microsoft Outlook Express) which runs on a standard platform such as Microsoft Windows 98. The application program 10 is a support application which enables normal use of the application program 8 by means of handling all tasks relating to the modem 1. In this respect, the application program 8, being a conventional program, is configured to deal with non- ireless modems. If use of the modem 1 is initiated using the application program 8 on its own (without the use of the application program 10) an error message will be received since, in order to open a wireless communications link with a base station forming part of the cellular communications network, it is necessary for the user to specify the network, to input a personal identification number (PIN), and to ensure that there is sufficient signal strength to be able to establish a link with the base station. It is this wireless-specific functionality which is performed by the application program 10, the detailed operation of which will be described below. The application program 10 also serves to provide additional information relating to the modem 1 and the status of the communications network with which it is communicating.
The application programs 8 and 10 communicate with the modem 1 by means of respective first and second channels 25, 29. For ease of description, in Figure 2, the first and second channels 25, 29 are shown directly connected to the modem 1. However, as will become clear, there are actually a number of elements within the PC 3 which ensure efficient operation of the channels. Both channels 25, 29 are bi-directional.
Use of the application programs 8 and 10 with the modem 1 will now be described, together with the method by which the channels 25, 29 are used.
Since the modem 1 is a PC card device, when power is initially applied to the modem, it undergoes an initialisation phase, typically lasting one second. Subsequent to this, the modem 1 enters an operational phase, wherein operational data (for example, data relating to an E-mail or a fax) from the application program 8 is communicated between the PC 3 and the modem 1. In this phase, the operational data is transferred over the first channel 25 using a COM port protocol, in this case RS232. This COM port data transfer is performed over what is, effectively, a COM port channel.
The application program 10 is configured to monitor the modem 1 to determine when power is applied to the modem. As mentioned above, this occurs during the initialisation phase, invoked by a user starting, or executing, the application program 8 to commence communications over a wireless link. Having detected this 'power-up', the application program 10 then proceeds to perform the necessary tasks for establishing the wireless link between the modem and a base station of the communications network and for displaying the status of various aspects of the modem 1, its operation and the network to which the modem is, or will be, connected.
The application program 10 will include details of a "home communications network" and, optionally, one or more alternative communications networks, including the identity number for the or each network. In an automatic connection setting, the application program 10 will automatically prepare to connect to the home communications network. However, a manual connection setting may also be provided in which a user will be prompted to select a particular network. In the next step, the user is optionally prompted by the application program 10 to enter a PIN for the SIM if the SIM has the PIN enabled. Following this, the application program 10 proceeds to establish a link between the modem 1 and a base station of the chosen communications network. Having established the link, normal data transfer may be effected between the application program 8 and the communications network using the first channel 25.
Once connected to the communications network, the second channel 29 is also used to transfer data relating to the status of the modem 1, the status of the wireless link, and the status of the communications network. This is performed at the same time as normal data transfer is performed on the first channel 25. The status data is displayed in a graphical user interface (GUI) provided as part of the application program 10. The status data can relate to the name of the current communications network, the status of the network, signal strength, error reporting (e.g. no SIM card present), registration failure, caller identification of new incoming calls, incoming message alerts. Call barring and diverts can also be effected using the second channel 29.
Since data relating to the application program 10 is effected over the second channel 29, data transfer over the first communications channel 25 is not affected. Both the channels 25 and 29 are established over the physical port connection 5, with data being transferred between register areas of the PC 3 and register areas of the modem 1. The establishment and operation of the second channel 29 will now be described in detail.
Figure 3 shows three such register areas 7, 9 and 11 which are used in transmitting and/or receiving data to, and/or from, the modem 1 for the two channels 25, 29. All registers are one byte (or eight bits) in length. The so-called UART (Universal Asynchronous Receiver/Transmitter) area 7 comprises a set of registers which emulate the well-known 16750 UART device, this device enabling standard communications drivers in the PC 3 to communicate with peripheral devices. The COM port channel 25 is established between the PC 3 and the UART register area 7. The Card Information Structure (CIS) area 9 comprises 256 registers (CIS 0-255) which hold information about the actual PC card device, i.e. the modem 1. The CIS data will specify that the PC card is a modem, the type of modem it is, and the capabilities of the modem. The CIS area 9 is read by the PC 3 in the initialisation phase upon power-up. Finally, the Card Control Register (CCR) area 11 comprises eight registers (CCR 0-7) which are initialised and are used to control various aspects of the modem's operation.
Figure 4 shows the interrelationship between various software modules of the PC 3 and the registers 7, 9, 11. At the top level, there is provided the application program 8. As mentioned above, this application program 8 is a conventional intenet/E-mail/fax application. Data from the application program 8 is transferred to various standard software modules which are provided as part of a standard PC operating system, such as Microsoft Windows 98. Briefly, these standard software modules are : a TAPI (Telephone Application Program Interface) module 15 which enables multiple applications to share telephone-based devices, in this case, the modem 1; a TSP (Telephony Service Provider) module 17, which provides access to the modem 1; a serial driver 19; a Card Services module 21 which provides a method of data communications with the actual PC card; and a Socket Services module 23, which enables the application program 13 to interact with a socket controller of the PC card. Whilst the interaction of the above-mentioned modules is not described here in detail, it will be appreciated that these modules, and their operation, are well known in the art. It is by means of these modules that the conventional COM port channel 25 is established, and over which operational data is transferred in the operational phase.
Data Channels 26a and 26b are established between the Socket Services module 23 and the modem 1, and these are only used during the initialisation phase of the modem. These channels, 26a and 26b, are not used to transfer operational data.
The second channel 29 is established by means of the ACD module 27, which is a further computer program installed on the PC 3. This program is used to configure, initialise and operate the second channel 29 which handles data relating to the wireless functionality of the modem 1. Also installed on the PC 3 is an Interface DLL module 13 which links application program 10 to the ACD module 27. The Interface DLL module 13 simply hides the differences between the various different serial drivers used by different platforms and operating systems so that the application program 10 can seamlessly communicate with the ACD module 27. This configuration, initialisation and operation of the second channel 29 will be described below.
Firstly, the PC 3 must determine which registers of the modem 1 are available for creating the second channel 29. Figure 5 shows the CCR register area 11 of the modem 1. As is typically the case in conventional PC card devices, only two CCR registers are used to control the card (here, CCR1 and CCR2). These registers are used as standard PCMCIA File Control Registers (FCRs), and the modem 1 operates with these registers in the way prescribed by the PCMCIA standard. This means that the remaining unused registers (i.e. CCRs 2-7) are available for creating the second channel 29.
Upon executing the ACD program 27, the program initialises three of the unused CCR registers to create the second channel 29. The second channel 29 is controlled using an Auxiliary Communications Protocol (ACP), provided as part of the ACD program 27, which ensures that the transfer of auxiliary data over the second channel 29 is such that data flow is completely independent of the COM port channel 25. In order to facilitate this, the register CCR5 is initialised as a so-called Host Control Register (HCR), the register CCR6 as a so-called Data Length Register, and the register CCR7 as a so-called Data Register (DR). As mentioned above, these registers are one byte (eight bits) in length.
The HCR register CCR5 holds data specifying the type of data transfer requested. The most significant bit of this register controls the direction of data flow. The PC 3 sets this bit to "one" to indicate that data is being written to the modem 1 from the PC 3. When this bit is "zero", data is written to the PC 3 from the modem 1. The remaining bits of this register form the .'command' which is requested by the PC 3. A command value of "zero" indicates a NULL command, and so no action is performed. The remaining commands are shown in the table of Figure 6.
Referring again to Figure 5, the DLR register CCR6 is used to indicate to the modem 1 how many bytes of data, corresponding to the command specified in the HCR register CCR5, there is to be transferred. The value in this register CCR6 is decremented for each byte of actual data transferred. The PC 3 monitors this register in order to keep track of the transfer process. When the value in the DLR register CCR6 reaches "zero", the transfer is complete and so terminated. The DLR register CCR6 is always set to "zero" under reset conditions.
The DR register CCR7 holds the data which is to be transferred. Under reset conditions, this register is set to "zero".
Although this embodiment uses three registers of the CCR register area 9, it will be appreciated that any register(s) which are unused in the operational phase may be used. Where a single register is used, a different protocol would obviously have to be employed, for example transferring the command, length and data sequentially.
Once the second channel 29 is configured and initialised, data may be transferred over the channel using the ACP protocol.
Data write and read processes, using this ACP protocol will now be described. In order to perform a 'data write' operation (i.e. write data to the modem 1), the PC 3 initiates a write command by sending the first byte of data to the DR register CCR7, and by sending the number of bytes to be written, to the DLR register CCR6. This causes two interrupts to be sent to the modem 1. These interrupts are ignored at this stage, since the HCR register CCR5 is clear. The PC 3 sends the appropriate command value to the HCR register CCRS, and sets the most significant bit of the HCR register to "one". Now, the interrupts are received by a processor (not shown) of the modem 1, which then reads the HCR register CCR5 to interpret the command. This processor then reads the data byte from the DR register CCR7, decrements the value in the DLR register, and clears the command in the HCR register CCR5 to acknowledge that the command has been accepted. The PC 3 detects the decrementing of the DLR register CCR6, and so writes the next byte of data to the DR register CCR7. A new interrupt is generated by this write process, and the processor of the modem 1 reads the next byte of data in the DR register CCR7, and the process repeats itself. The write command is completed when the DLR register CCR5 reaches "zero".
In a 'data read' operation (i.e. to read data from the modem 1), the PC 3 initiates the read operation by sending the appropriate command value with the most significant bit of the HCR register CCR5 reset to "zero". The processor of the modem 1 receives an interrupt and so reads the command from the HCR register CCR5. The processor then specifies the appropriate number of bytes in the DLR register CCR6, writes the first byte of data to the DR register DDR7, and then clears the HCR register CCR5 to indicate that the command has been accepted. The PC 3 detects this clearing of the HCR register CCR5, reads the byte of data in the DR register DDR7, and writes a 'NEXT_BYTE' command back to the HCR. This causes an interrupt to be- sent to the processor of the modem 1, and the processor then sends the next byte of data to the DR register DDR7, decrements the DLR register CCR6, and clears the HCR register CCR5. The decrement operation in the DLR register CCR6 is detected by the PC 3, and the process repeats itself until the DLR register reaches "zero". The read command completes when the DLR register reaches "zero". Accordingly, by providing an application program which handles the initiation and monitoring functions specifically required when using the wireless modem 1 (which application program communicates over a separate and independent channel) use of conventional application program is made possible, the fact that the modem is wireless being effectively invisible to the conventional application program. Further, by using two independent channels, there is provided a method of communicating with the modem whilst the main COM port 25 is in use. This has obvious technical advantages in that data can be transferred between the PC card modem 1 and the PC 3, effectively in parallel. Indeed, the two data channels 25, 29 can transfer data simultaneously. Furthermore, whereas the COM port 25 is a serial port whose throughput is defined by the bit rate (which has to correspond to one of a number of industry standard values e.g. 115 kbps), the second channel 29 is not limited in this way. It is an asynchronous channel which is only limited by the speed at which the PC 3 and the modem 1 can read and write data to the registers. This is controlled here by a 'handshake' data transfer operation employed by the ACP protocol. Accordingly, data throughput is increased. It should be appreciated that the number of additional channels which may be configured is limited only by the number of unused registers available. Multiple auxiliary channels can be used to increase functionality and throughput further.

Claims

Claims
1. A method of data communications between a host computer and a PC card, the method comprising the steps of : establishing first and second communications channels between the host computer and the PC card, the first and second communications channels being arranged to transmit data independently of each other; transferring data over the first communications channel using a first application program stored on the host computer; and transferring data over the second communications channel using a second application program stored on the host computer.
2. A method according to claim 1, wherein the first communications channel is configured to use a COM port protocol and the second communications channel is configured to use a further data transfer protocol.
3. A method according to claim 1 or claim 2, wherein the second communications channel is established by means of the host computer identifying and initialising at least one unused card control register of the PC card.
4. A method according to any preceding claim, wherein the first application program is configured to communicate data with a remote source by means of the PC card, and wherein the method further comprises using the second application program to initialise the PC card to perform the data communication between the first application program and the remote source.
5. A method according to claim 4, wherein the PC card is a wireless modem, the second application program being used to initialise the wireless modem to communicate data, received from the first application program using the first communications channel, over a wireless communications network.
6. A method according to claim 5, wherein the second application program is used to prompt and allow input of identity data for identifying a user of the first application program to a SIM in the wireless modem.
7. A method according to any of claims 1 to 3, wherein the first application program is configured to communicate data with a remote source by means of the PC card, and wherein the method further comprises using the second application program to notify a user of the first application program of the status of the PC card or the status of data transfer between the remote source and the first application program.
8. A method according to claim 7, wherein the PC card is a wireless modem, the second application program being used to notify a user of the first application program of the status of the link between the wireless modem and the remote source over a selected wireless communications network.
9. A method according to claim 8, wherein the second application program notifies a user of the first application program of the name of the selected wireless communication network or of the signal strength with the selected wireless communications network.
10. A computer program stored on a computer usable medium comprising computer readable instructions for causing a host computer to perform the steps of: monitoring a PC card attached to the computer system to detect the transfer of data from a further computer program to the PC card over a first communications channel; in response to detecting a transfer of data from the further computer program, communicating with the PC card by means of a second communications channel, the first and second communications channels being independent of one another.
11. A computer system comprising a host computer; and a PC card connected to the host computer, the host computer running first and second application programs and being arranged to communicate data between each program and the PC card by means of respective first and second communications channels, the first and second communications channels being configured to communicate data independently of each other.
PCT/GB2002/002258 2001-05-18 2002-05-17 A method of data communication between a host computer and a pc card modem WO2002095557A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002307953A AU2002307953A1 (en) 2001-05-18 2002-05-17 A method of data communication between a host computer and a pc card modem

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0112243.1 2001-05-18
GB0112243A GB2375627A (en) 2001-05-18 2001-05-18 A method of data communications

Publications (2)

Publication Number Publication Date
WO2002095557A2 true WO2002095557A2 (en) 2002-11-28
WO2002095557A3 WO2002095557A3 (en) 2003-02-06

Family

ID=9914929

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2002/002258 WO2002095557A2 (en) 2001-05-18 2002-05-17 A method of data communication between a host computer and a pc card modem

Country Status (3)

Country Link
AU (1) AU2002307953A1 (en)
GB (1) GB2375627A (en)
WO (1) WO2002095557A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8848660B2 (en) * 2011-03-22 2014-09-30 Amazon Technologies, Inc. Preferred PLMN list for faster service acquisition

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0425845A2 (en) * 1989-10-30 1991-05-08 Hayes Microcomputer Products, Inc. Method and apparatus for serial data flow control
US5526217A (en) * 1994-05-24 1996-06-11 Intel Corporation Voltage protection for modem add in cards with sideswipe contacts
US5630174A (en) * 1995-02-03 1997-05-13 Cirrus Logic, Inc. Adapter for detecting whether a peripheral is standard or multimedia type format and selectively switching the peripheral to couple or bypass the system bus

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817147A (en) * 1985-11-18 1989-03-28 General Datacomm, Inc. Intelligent synchronous modem and communication system incorporating the same
GB2246494B (en) * 1990-05-25 1994-08-31 Silicon Systems Inc Method and apparatus for serial communications
US5617449A (en) * 1994-06-27 1997-04-01 Nec Corporation IC memory card type radio modem

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0425845A2 (en) * 1989-10-30 1991-05-08 Hayes Microcomputer Products, Inc. Method and apparatus for serial data flow control
US5526217A (en) * 1994-05-24 1996-06-11 Intel Corporation Voltage protection for modem add in cards with sideswipe contacts
US5630174A (en) * 1995-02-03 1997-05-13 Cirrus Logic, Inc. Adapter for detecting whether a peripheral is standard or multimedia type format and selectively switching the peripheral to couple or bypass the system bus

Also Published As

Publication number Publication date
GB0112243D0 (en) 2001-07-11
AU2002307953A1 (en) 2002-12-03
GB2375627A (en) 2002-11-20
WO2002095557A3 (en) 2003-02-06

Similar Documents

Publication Publication Date Title
US5611055A (en) Method and apparatus for implementing a PCMCIA auxiliary port connector for selectively communicating with peripheral devices
AU666092B2 (en) Programmable universal modem system and method for using the same
US7423999B2 (en) Bluetooth serial adapters
AU693027B2 (en) Data adapter
US6307880B1 (en) Method and system for externally incorporating automatic switching between voice and data communications
US20070155422A1 (en) Method for controlling mobile data connection through USB Ethernet management of mobile station
KR20090083103A (en) Dual mode terminal and method for processing data service thereof
JP4373010B2 (en) Method and apparatus for transmitting data packet by CDMA type cellular telephone
EP1056006B1 (en) Method for loading user interface software
WO2002095557A2 (en) A method of data communication between a host computer and a pc card modem
US6714990B1 (en) Communication system and data adapter
EP2271167A1 (en) Method for originating packet data calls via dial-up networking applications
US20030172171A1 (en) Communication control unit and information terminal unit equipped with the same
JP2002354063A (en) Radio equipment, wireless card, information processor and device driver loading method
CN101170587B (en) A personal computer system and method for dynamically switching communication port
JP2972581B2 (en) PC compatible wireless modem card device
JPH10112738A (en) Data terminal equipment capable of communicating radio data
EP0571125A1 (en) Data processing terminals with modem communications
GB2365286A (en) A method of data communications using an auxiliary channel
JPH11127477A (en) Personal communication system
GB2416226A (en) A device for interfacing two incompatible devices
IES83744Y1 (en) A method and device for interfacing two incompatible devices
CN115278941A (en) Communication system and method suitable for embedded system
IE20040430U1 (en) A method and device for interfacing two incompatible devices
KR20010026110A (en) Method for connecting data communication in wireless environment

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP