GB2365286A - A method of data communications using an auxiliary channel - Google Patents

A method of data communications using an auxiliary channel Download PDF

Info

Publication number
GB2365286A
GB2365286A GB0018495A GB0018495A GB2365286A GB 2365286 A GB2365286 A GB 2365286A GB 0018495 A GB0018495 A GB 0018495A GB 0018495 A GB0018495 A GB 0018495A GB 2365286 A GB2365286 A GB 2365286A
Authority
GB
United Kingdom
Prior art keywords
data
card
register
modem
host computer
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
GB0018495A
Other versions
GB0018495D0 (en
Inventor
Ian Kenneth Appleton
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aeroflex Cambridge Ltd
Original Assignee
Ubinetics Ltd
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 Ltd filed Critical Ubinetics Ltd
Priority to GB0018495A priority Critical patent/GB2365286A/en
Publication of GB0018495D0 publication Critical patent/GB0018495D0/en
Publication of GB2365286A publication Critical patent/GB2365286A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

A PC card modem 1 is connected to a PC 3 by means of a physical port connection 5. Software stored on the PC controls the operation of the modem by means of transferring operational data to and/or from registers of the modem. To facilitate this, two data communications channels 25, 29 are created between the modem and the PC, these channels being configured for use in the modem's operational phase. A COM port data channel is used to transfer conventional operational data, whilst a so-called "auxiliary channel" is used to transfer other forms of data, such as status and configuration data. By configuring the auxiliary channel to be independent of the COM port channel, auxiliary data is transferred independently of the operational data, providing an overall increase in throughput. The auxiliary channel uses a different data transfer protocol, such as an asynchronous data transfer protocol.

Description

<Desc/Clms Page number 1> 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 peripheral 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 1 second, the `operational' phase commences. In this phase, the PC card transmits and receives operational data to, and/or from, the host computer.
PC cards can perform a number of functions, such as being memory cards or modems. In the case of PC card modems, it is normal for them to emulate a standard data communications channel, commonly called a 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 V24 protocols. It will be appreciated that a PC card modem emulates a COM port and does not necessarily include a physical port.
Since data communications between the PC card and the host computer are conventionally made over this single COM port channel, data flow can be restricted.
<Desc/Clms Page number 2>
For example, whilst the COM port channel is in use (i.e. transferring operational data), no other auxiliary-type data, which may be useful for status monitoring and/or configuration purposes, can be transferred.
According to a first aspect of the invention, there is provided a method of data communications between a host computer and a PC card, the method comprising the steps of : configuring the host computer to establish a first communications channel with the PC card, using a COM port protocol; and, to establish a second communications channel with the PC card, using a further data transfer protocol, the second communications channel being configured for use in the operational phase of PC card operation, and being independent of the first communications channel.
By establishing a second communications channel between the host computer and the PC card, an `auxiliary' channel is effectively created for use in the operational phase. Since this second channel is independent of the first, data can be transferred between the host computer and PC card independently of, and in addition to, the conventional first communications channel. This offers a useful technical advantage, since further `auxiliary' data can be transmitted in addition to the normal PC card data flow. Such auxiliary data may comprise PC card status data, or configuration data for the PC card (e.g, a PIN number setting for a GSM PC card modem device).
Preferably, the step of configuring the host computer to establish the second communications channel comprises identifying and initialising at least one unused register of the PC card, the host computer thereafter communicating data to, and/or from, the or each unused register. The or each unused register may be a card-controlling register of PC card. In a preferred embodiment, the host computer initialises three unused registers as (a) a command register, (b) a data length register, and (c) a bi-directional data register.
As mentioned previously, the first communications channel may be used to transfer PC card controlling data, with the second communications channel being used to transfer auxiliary data to, and/or from, the PC card.
<Desc/Clms Page number 3>
The two communications channels are preferably configured to transfer data simultaneously. The data may be transferred over the second communications channel asynchronously, in accordance with appropriate configuration by the host computer.
In accordance with a second aspect of the invention, there is provided a computer program stored on a computer usable medium, the program comprising computer readable instructions for causing a host computer to execute all of the steps of the data communications method described above.
The invention will now be described, by way or 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 register areas of the modem shown in Figure 1; Figure 3 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 4 shows, in detail, the Card Control Register (CCR) area shown in Figures 2 and 3; and Figure 5 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.
<Desc/Clms Page number 4>
In order for the PC 3 to interface and operate with the modem 1, software is loaded onto the memory (not shown) of the PC. This software includes an application program which provides a user interface with the modem 1. Other configuration programs are also provided which enable data to be transferred between the modem l and the PC 3. The modem 1 is a PC card device so that, when power is initially applied to the modem, it undergoes an initialisation phase, typically lasting 1 second. Subsequent to this, the modem 1 enters an operational phase, wherein operational data is communicated between the modem and the PC 3. In this phase, modem operational data is transferred over a first channel 25 (not shown in Figure 1) 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 also configures a further communications channel 29 (not shown in Figures 1 or 2) between the modem 1 and the PC 3. This further channel is initialised so as to communicate data independently of the COM port channel 25, in the operational phase, and transfers so-called `auxiliary' data between the modem 1 and the PC 3. 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 configuration of these two channels 25, 29 will be described in detail below.
Figure 2 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 DART 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
<Desc/Clms Page number 5>
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 3 shows the interrelationship between various software modules of the PC 3 and the registers 7, 9, 11. At the top level, there is provided an application program 13. As mentioned above, this application program 13 provides a user interface for the modem 1. Data from the application program 13 is transferred to various standard software modules which, with the exception of an Auxiliary Communications Driver (ACD) 27 (described below), are provided as part of a standard PC operating system, such as Microsoft Windows. 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 further, i.e. second data 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 communications channel 29, hereinafter referred to as the `auxiliary channel', which transfers auxiliary data in the operational mode of the modem's operation. This configuration, initialisation and operation of the auxiliary channel 29 will be described below.
<Desc/Clms Page number 6>
Firstly, the PC 3 must determine which registers of the modem 1 are available for creating the auxiliary channel 29. Figure 4 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 auxiliary channel 29.
Upon executing the ACD program 27, the program initialises three of the unused CCR registers to create the auxiliary channel 29. The auxiliary 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 auxiliary 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 5.
Referring again to Figure 4, 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",
<Desc/Clms Page number 7>
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 auxiliary channel 29 is configured and initialised, auxiliary data may be transferred over the channel using the ACP protocol. This auxiliary data might comprise status data, e.g. for signalling to the PC 3 the level of charge in the battery of the modem 1. Alternatively, the auxiliary data might be used to configure the modem 1. For example, if a dial-up networking connection is made to a cellular service provider, configuration data, such as a PIN number, can be transferred to the modem 1 via the auxiliary channel 29, even though the main COM port channel 25 is being used to transfer data for the network telephone call.
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 CCR5, 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
<Desc/Clms Page number 8>
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".
In summary, by creating an auxiliary channel 29 for use during the operational phase of the PC card modem's operation, there is provided a method of communicating with the PC card whilst the main COM port 25 is in use. This has obvious technical advantages in that different types of 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 auxiliary 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
<Desc/Clms Page number 9>
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. Finally, it should be appreciated that the number of additional `auxiliary' channels which may be configured is limited only by the number of unused registers available. Whilst only one auxiliary channel 29 has been used in the preferred embodiment, multiple auxiliary channels can be used to increase functionality and throughput further.
<Desc/Clms Page number 10>

Claims (11)

  1. Claims 1. A method of data communications between a host computer and a PC card, the method comprising the steps of : configuring the host computer to establish a first communications channel with the PC card, using a COM port protocol, and to establish a second communications channel with the PC card using a further data transfer protocol, the second communications channel being configured for use in an operational phase of PC card operation, and being independent of the first communications channel.
  2. 2. A method according to claim 1, wherein the step of configuring the host computer to establish a second communications channel comprises identifying and initialising at least one unused register of the PC card; the host computer thereafter communicating data to, and/or from, the or each unused register.
  3. 3. A method according to claim 2, wherein the host computer identifies and initialises at least one unused card control register of the PC card.
  4. 4. A method according to claim 2 or claim 3, wherein the host computer initialises three unused registers as, respectively, (a) a command register, (b) a data length register, and (c) a bi-directional data register.
  5. 5. A method according to any preceding claim, wherein the first communications channel transfers PC card controlling data, the second communications channel transferring auxiliary data to, and/or from, the PC card.
  6. 6. A method according to claim 5, wherein the auxiliary data is PC card status data for reception by the host computer.
  7. 7. A method according to claim 5, wherein the auxiliary data is configuration data for reception by the PC card.
    <Desc/Clms Page number 11>
  8. 8. A method according to any preceding claim, wherein the first and second communications channels transfer data simultaneously.
  9. 9. A method according to any preceding claim, wherein the second communications channel is configured to transfer data using an asynchronous data transfer protocol.
  10. 10. A method of data communications, substantially as hereinbefore described with reference to the accompanying drawings.
  11. 11. A computer program stored on a computer usable medium, the program comprising computer readable instructions for causing a host computer to execute all of the steps of the data communications method according to any one of claims 1 to 10.
GB0018495A 2000-07-27 2000-07-27 A method of data communications using an auxiliary channel Withdrawn GB2365286A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0018495A GB2365286A (en) 2000-07-27 2000-07-27 A method of data communications using an auxiliary channel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0018495A GB2365286A (en) 2000-07-27 2000-07-27 A method of data communications using an auxiliary channel

Publications (2)

Publication Number Publication Date
GB0018495D0 GB0018495D0 (en) 2000-09-13
GB2365286A true GB2365286A (en) 2002-02-13

Family

ID=9896478

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0018495A Withdrawn GB2365286A (en) 2000-07-27 2000-07-27 A method of data communications using an auxiliary channel

Country Status (1)

Country Link
GB (1) GB2365286A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2209648A (en) * 1987-09-10 1989-05-17 Ncr Co Modem communication system having main and secondary channels
EP0449420A2 (en) * 1990-03-15 1991-10-02 International Business Machines Corporation Integrated data link controller with autonomous logical elements
WO1997031492A1 (en) * 1996-02-21 1997-08-28 International Business Machines Corporation Distributed architecture for services in a telephony system
EP0915601A2 (en) * 1997-11-04 1999-05-12 Hewlett-Packard Company Input/output device for peripheral equipment
GB2335579A (en) * 1998-03-18 1999-09-22 Motorola Ltd Providing real time control information between a computer and a wireless modem
EP0991240A2 (en) * 1998-09-30 2000-04-05 Hewlett-Packard Company Multiple access prevention for datagram-based control protocols method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2209648A (en) * 1987-09-10 1989-05-17 Ncr Co Modem communication system having main and secondary channels
EP0449420A2 (en) * 1990-03-15 1991-10-02 International Business Machines Corporation Integrated data link controller with autonomous logical elements
WO1997031492A1 (en) * 1996-02-21 1997-08-28 International Business Machines Corporation Distributed architecture for services in a telephony system
EP0915601A2 (en) * 1997-11-04 1999-05-12 Hewlett-Packard Company Input/output device for peripheral equipment
GB2335579A (en) * 1998-03-18 1999-09-22 Motorola Ltd Providing real time control information between a computer and a wireless modem
EP0991240A2 (en) * 1998-09-30 2000-04-05 Hewlett-Packard Company Multiple access prevention for datagram-based control protocols method

Also Published As

Publication number Publication date
GB0018495D0 (en) 2000-09-13

Similar Documents

Publication Publication Date Title
US5611055A (en) Method and apparatus for implementing a PCMCIA auxiliary port connector for selectively communicating with peripheral devices
US7079865B1 (en) Apparatus and method for connecting a cellular telephone to a universal serial bus
US7337259B2 (en) Smart card virtual hub
EP1792257B1 (en) Generic universal serial bus device operable at low and full speed and adapted for use in a smart card device
EP0788057B1 (en) Computer system with controllerless modem
EP1615135A2 (en) Sharing single host controller with multiple functional devices
JP4373274B2 (en) Multi-port serial communication method, multi-port serial communication device, control method for multi-port serial communication device, recording medium, multi-port serial communication switch device, multi-port serial communication switch, and network computer system
JP2002055936A (en) Usb device, and system and method for communication between usb devices
WO2005036906A1 (en) A mobile communication terminal and it’s radio communication module
US5864710A (en) Controllerless modem
CN103581157A (en) Embedded device and control method for carrying out data communication based on same
EP0919932B1 (en) Expansion card
WO2007054447A1 (en) Method for controlling mobile data connection through usb ethernet management
EP1056006B1 (en) Method for loading user interface software
US6714990B1 (en) Communication system and data adapter
US20030172171A1 (en) Communication control unit and information terminal unit equipped with the same
GB2365286A (en) A method of data communications using an auxiliary channel
JP2002354063A (en) Radio equipment, wireless card, information processor and device driver loading method
EP3570449A1 (en) Multi-mode nfc controller
US20030104826A1 (en) External connection device with bluetooth function in multiple modes
GB2375627A (en) A method of data communications
KR200328928Y1 (en) Matching device between base station controller for mobile communication and personal computer
KR100344201B1 (en) Tcp/ip connection device of banking system
KR950012501B1 (en) Method for increasing data input/output speed in a personal computer
JP3533135B2 (en) Wireless communication system

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)