[go: up one dir, main page]

WO2007021209A1 - System for controlling a device over a communication channel - Google Patents

System for controlling a device over a communication channel Download PDF

Info

Publication number
WO2007021209A1
WO2007021209A1 PCT/RU2005/000413 RU2005000413W WO2007021209A1 WO 2007021209 A1 WO2007021209 A1 WO 2007021209A1 RU 2005000413 W RU2005000413 W RU 2005000413W WO 2007021209 A1 WO2007021209 A1 WO 2007021209A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
command
modem
time
time period
Prior art date
Application number
PCT/RU2005/000413
Other languages
French (fr)
Inventor
Vladislav Vladimirovich Bogushevich
Alexei Vladimirovich Glazkov
Stanislav Anatolievich Shamanin
Original Assignee
Motorola, Inc.
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 Motorola, Inc. filed Critical Motorola, Inc.
Priority to PCT/RU2005/000413 priority Critical patent/WO2007021209A1/en
Publication of WO2007021209A1 publication Critical patent/WO2007021209A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M11/00Telephonic communication systems specially adapted for combination with other electrical systems
    • H04M11/007Telephonic communication systems specially adapted for combination with other electrical systems with remote control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Definitions

  • the present invention relates to an apparatus, system and method for controlling a device.
  • Increasingly electronic equipment are being designed to allow the control and operation of other remotely located electronic devices via a communication channel, for example a computer controlling a printer or a modem.
  • HSP host signal processor
  • modem customers in areas without tone dialling require a modem that supports pulse dialling, where pulse dialling consists of sending a series of pulses for each digit dialled.
  • Modem pulse dialling utilises a fixed millisecond pulse consisting of a first millisecond pulse 10 of break time and a second millisecond pulse 20 of make time, where the first millisecond pulse is larger than the second millisecond pulse, as shown in figure 1, and which together from a modem pulse dial.
  • the modem needs to break and make a relay connection to count one pulse, where a modem will send one pulse to dial a T, two pulses for a '2' and so on.
  • a pulse In one widely adopted telephone system a pulse should be of the order of 100 milliseconds, 60 milliseconds of relay break time and 40 milliseconds of relay make time, with a delay of 750 milliseconds between numbers. In another widely adopted telephone system a pulse should be of the order of 50 milliseconds, 33 milliseconds of relay break time and 17 milliseconds of relay make time. However, it is necessary in both systems that timing accuracy should be of the order of one millisecond. As such, for a HSP or software modem it is necessary that the control signals generated by the host computer be received with an accuracy of one millisecond. However, for certain interfaces this is difficult to achieve.
  • timing variations will occur for a HSP or software modem coupled to a computer via a universal serial bus (USB) as a result of: i) communication between a modem driver and a USB bus driver located on the host computer, ii) USB driver processing latency, iii) USB bus delivery timing accuracy and iv) processing latencies of the USB firmware that is located on the modem.
  • USB bus delivery timing accuracy alone is greater or equal to 1 millisecond and as a result the overall timing accuracy will inevitably exceed the required accuracy for pulse dialling.
  • attempts to transmit signals from a DAA under the control of a HSP or software modem may be unsuccessful, as a consequence multiple attempts to transmit a signal may be required.
  • This provides the advantage of allowing a remotely controlled device to perform timing operations based on time differences or absolute time information provided by a controlling device, thereby avoiding timing variations that would result from using the time of receipt of a message as a basis for performing a operation.
  • an operation executed by a remotely controlled device is performed based on timing information provided by a controlling device where the determination of the actual time is performed by a clock/timer local to the remotely controlled device.
  • This has the additional advantage of allowing bandwidth requirements between two devices to be reduced.
  • Figure 1 illustrates a modem pulse dial
  • Figure 2 illustrates a system according to an embodiment of the present invention
  • Figure 3 illustrates a first control message having a series of messages according to an embodiment of the present invention
  • Figure 4 illustrates a second control message according to an embodiment of the present invention.
  • Figure 2 illustrates a communication system 20 incorporating a computer 21, for example a personal computer or PDA, coupled to a telephone line interface device 22, where the telephone line interface device 22 is arranged to be coupled to a telephone line, for example the public switching telephone network.
  • a computer 21 for example a personal computer or PDA
  • PDA personal digital assistant
  • Figure 2 illustrates a communication system 20 incorporating a computer 21, for example a personal computer or PDA, coupled to a telephone line interface device 22, where the telephone line interface device 22 is arranged to be coupled to a telephone line, for example the public switching telephone network.
  • the connection between the computer 21 and the telephone line interface device is arranged to be coupled to a telephone line, for example the public switching telephone network.
  • USB 22 can be provided by any convenient means, such as a parallel or serial interface or wired or wireless interface, however, for the purposes of this embodiment a universal serial bus USB 23 will be used.
  • HSP host signal processor
  • the modem driver 24 functionality is provided by a processor (not showing) running an appropriate software application and where the modem driver 24 is typically a kernel level driver.
  • the HSP modem functionality may be provided by other means, for example a microcontroller unit or data processor unit.
  • the modem driver 24 will typically be coupled to a variety of interface means
  • the computer 21 additionally includes a USB driver 25, to which is coupled the modem driver 24.
  • the USB driver 25 provides USB functionality and is a kernel level driver.
  • the telephone line interface device 22 includes a USB firmware controller 26 that is arranged to be coupled to the USB bus driver 25 via the USB 23 to allow serial communication to be established between the computer 21 and the telephone line interface device 22 in accordance with the USB communication standard.
  • the USB firmware controller 26 includes a master clock circuit (not shown) with an internal timer (not shown) to allow the timing of the USB firmware controller 26 to be controlled. Additionally, the USB firmware controller 26 is arranged to process control messages generated by the modem driver 24, as described below.
  • USB firmware controller 26 will be a general purpose controller that includes some USB specific functionality. Also included in the telephone line interface device 22 and coupled to the USB firmware controller 26 for receiving data transmitted by the modem driver 24 is a modem direct access arrangement DAA 27, which in turn is arranged to be coupled to the telephone line.
  • DAA modem direct access arrangement
  • the modem driver 24 is arranged to support various modem communication protocols such as V.34, V.90 and V.92 and will typically include checking for data errors in received data, performing data compression, converting parallel transmissions into serial transmissions, modulation, demodulation, echo cancellation, AT command parsing and coder-decoder functionality.
  • the modem driver 24 is arranged to transmit modulated data via the DAA 27, where the DAA 27 serves as the modem drivers 24 hardware interface to the public switched telephone system.
  • the DAA 27 includes a plurality of registers (not shown) that are used to control different DAA parameters, for example line termination impedance, spark quenching, off-hook speed, ring validation parameters, tx/rx gain control and sample rate control.
  • the DAA will typically also include several low pass filters, an ADC and DAC circuit, a gain control circuit and a voltage protection circuit (not shown). As this is well known to a person skilled in the art this will not be described in any further detail.
  • the operation of the DAA 27 is controlled by the modem driver 24 where at least two types of control messages generated by the modem driver 24 are defined.
  • a first type of control message is based on a series of messages in which each message in the series of messages contain control information and time delay information.
  • the control information allows for the modification of a DAA register (not shown) and thereby controls the operation of the DAA 27.
  • the time delay information provides an indication as to when the next message in the series of messages is to be executed/implemented by the telephone line
  • a second type of control message is based on a message that contains a sequence of updates for updating a bit within a specified DAA register with associated time delay information, where the time delay information determines a time sequence for implementing each update within the sequence.
  • Figure 3 illustrates the first type of control message generated by the modem driver 24 for communicating to the telephone line interface device 22 via the USB 23, where the control message is transmitted in USB frames.
  • the first type of control message includes a plurality of separate messages, which in this example consists of three messages 30, 31, 32, however, the series of messages that form the control message may include a different number of messages.
  • Each message 30, 31, 32 in the series of messages include at least three fields: i) a command field 33, ii) a DAA register ID field 34 and iii) a time delay field 35.
  • USB frames may have different sizes and types.
  • the control message is transferred over the USB bus 23 using frames with guaranteed delivery but not guaranteed delivery latency.
  • the series of messages that form the control message will be sent from the modem driver 25 over the USB bus 23 in one frame, thereby ensuring that the series of messages are sent as one request.
  • the command field 33 includes information (i.e. a command) for a required action to be performed by the telephone line interface device 22.
  • information i.e. a command
  • micro commands may also be implemented. For example logic arithmetic commands: i) AND command that will read a DAA register and perform an AND operation between a current register value and a command parameter received within the message, where the operation result is written back to the DAA register; ii) OR command; and iii) XOR command.
  • macro commands are: i) Read and compare. This command my be useful to implement overvoltage protection or ring validation algorithms; ii) Condition execution.
  • the DAA register ID field 34 indicates a specific DAA register that is to be updated as a result of the execution/implementation of the command incorporated in the command field 33.
  • the time delay field 35 includes time period information for specifying a time period that should elapse between the implementation of the command specified in the command field 33 of the current message and the implementation of the command specified in the command field 33 of the subsequent message in the series of messages.
  • timing delay information could be used to determine other timing relationships, for example the time delay information could also be used to determine the timing of the implementation of a command specified in a command field 33 of a preceding message relative to the current message or the time delay information in the current message could be used to specify when the command in the current message is to be implemented relative to the implementation of a command in the previous or subsequent message.
  • the time delay information can be in any suitable form, however for the purposes of the current embodiment the time delay information consists of time units where a time interval is allocated to each unit, for example 100 microseconds.
  • the time delay between the execution/implementation of subsequent commands is determined by the number of time units in the time delay field of the relevant message, for example if a time delay field specifies three time units where each unit is defined as being 100 microsecond then the execution/implementation by the telephone line interface device 22 of the command specified in the command field of the subsequent message should be delay 300 microseconds relative to the preceding command.
  • the series of messages which in this embodiment consists of three messages 30, 31, 32, is generated by the modem driver 24 and transmitted to the USB bus driver 25 for communication, over the USB 23, to the USB firmware controller 26 in the telephone line interface device 22.
  • the modem driver 24 determines the required time delays between the respective commands in the series of messages and incorporates this time delay information in the respective time delay fields 35.
  • the USB firmware controller 26 places the messages in a queue. Messages received by the USB firmware controller 26 that do not include time information are executed immediately upon receipt.
  • the USB firmware controller 26 retrieves the first command from the queue buffer which is executed/implemented by the USB firmware controller 26, which results in a specific value being written into the specified DAA register and correspondingly causes the command to be executed by the DAA. Upon completion of the execution/implementation of the first command by the
  • the USB firmware controller 26 extracts the second command from the command queue buffer and executes/implements this command.
  • the specified time periods are 60 msec break time, 40 msec make time and 750 ms time interval between digits.
  • the command sequence for dialling '123' will be:
  • the process is started by the modem driver 24 creating a control message consisting of twelve messages corresponding to the commands described above.
  • the twelve messages consist of:
  • All generated messages may be transmitted to the USB firmware controller 26 in a single USB frame.
  • USB firmware controller 26 Upon receiving of these messages the USB firmware controller 26 places them into a queue. If there was no previous messages in the queue, then the USB firmware controller 26 will fetch the first message, decode and execute it.
  • the first message consisted off: "Write OFFHOOK to HOOK-CONTROL- REGISTER AND WAIT 40ms", consequently the USB firmware controller 26 will write the OFFHOOK value into the specified register (not shown). As soon as the register value has changed then the DAA 27 will change line status accordingly (i.e. transit to OFF-Hook state).
  • the firmware controller 26 After the USB firmware controller 26 has changed the specified DAA register the firmware controller 26 will idle for a 40ms (as specified by first message) before fetching the next command from the queue.
  • the above described process allows the modem driver 24 to control the timing of operations performed by a DAA 27 by specifying the time durations between different control events while allowing a remotely located telephone line interface device 22 to use its own internal timer for determining when the specified time durations have elapsed.
  • timing variations resulting from the communication path between the modem driver 24 and the remotely located modem DAA 27 do not adversely effect when a control operation is to be performed by a DAA 27.
  • Figure 4 illustrates the second type of control message 40 generated by the modem driver 24 for communicating to the telephone line interface device 22 via the USB 23.
  • the second type of control message 40 includes at least five fields: i) a command field 41, ii) a DAA register ID field 42, iii) a bit ID field 43, iv) a bit update interval field 44 and v) a bit string field 45.
  • a command field 41 ii) a DAA register ID field 42
  • iii) a bit ID field 43 iv) a bit update interval field 44
  • v) a bit string field 45 As the length of the bit string may vary an additional field may optionally be included specifying the length of the bit string.
  • the command field 41 includes information (i.e. a command) for a required action that is to be performed by the telephone line interface device 22.
  • a typical command may consist of, for example, a command for controlling the blinking of a LED on the telephone line interface device 22 and/or pulse dialling.
  • the DAA register ID field 42 identifies a specific DAA register that is to be updated as a result of the execution/implementation of the command incorporated in the command field 41.
  • the bit ID field 43 specifies a bit in the DAA register identified by the DAA register ID field 42 that is to be modified.
  • the bit update interval field 44 contains a time interval that specifies the USB firmware controller timer update rate, which as described below allows a time delay to be determined between subsequent modifications of the register bit specified by the bit ID field 43.
  • the bit string field 45 contains a sequence of bit values that are to be applied to the bit identified by the bit ID field, where the identified bit in the DAA register is updated with the sequence of bit values in accordance with the timing information contain in the bit update interval field 44.
  • the second type of control message 40 is generated by the modem driver 24 and transmitted to the USB bus driver 25 for communication, over the USB 23, to the
  • USB firmware controller 26 in the telephone line interface device 22.
  • the modem driver 24 determines the required time delays between the respective updates to the identified register bit and incorporates this time delay information in the bit update interval field 44.
  • USB firmware controller 26 determines the register bit specified in the bit ID field 43, the USB firmware controller timer (not shown) is initialised to update in intervals defined by the value contained in the bit update interval field 44 and the bit string contained in the bit string field is stored in a shift register (not shown).
  • the USB firmware controller 26 On the first timer Events (i.e. a time period corresponding to the first bit update interval) the USB firmware controller 26 reads out of the shift register the first bit of the stored bit string and updates the DAA register bit specified by the bit ID field 43 with this value and performs a shift on the shift register. TMs process is repeated on each timer event until the specified DAA register bit has been updated with the bit sequence as defined in the bit string field 45.
  • the LED blinking rate will be 1 every second for 32 seconds.
  • the modem driver 24 generates a message consisting of:
  • USB firmware controller 26 updates the relevant register bit with the appropriate bit value in the bit string every one second until all 32 bit values have been used.
  • communication bus could be parallel or serial, wired or wireless.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephonic Communication Services (AREA)

Abstract

A system for controlling a device, the system comprising a first device (21) arranged to communicate a message having timing information to a second device (22) over a communication channel (23), wherein the second device (22) is arranged to implement a command associated with the message in a time period determined by the timing information. Such a system solves the problem of experiencing negative effects in the execution of time sensitive operations on a remote device due to untimely transmission of messages.

Description

SYSTEM FOR CONTROLLING A DEVICE OVER A COMMUNICATION CHANNEL
The present invention relates to an apparatus, system and method for controlling a device.
Increasingly electronic equipment are being designed to allow the control and operation of other remotely located electronic devices via a communication channel, for example a computer controlling a printer or a modem.
This is illustrated in the move away from hardware modems that include a controller and a data processor, which can be expensive, to software or host signal processor (HSP) modems in which the modem control functionality is transferred from the modem to a computer coupled to the modem, thereby essentially leaving the modem with only a telephone line interface in the form of a direct access arrangement (DAA). This has the advantage of removing hardware, in the form of a processor, from the modem and thereby reduce cost of the associated modem.
However, remotely controlling a device can have consequences for time sensitive operations. For example, modem customers in areas without tone dialling require a modem that supports pulse dialling, where pulse dialling consists of sending a series of pulses for each digit dialled. Modem pulse dialling utilises a fixed millisecond pulse consisting of a first millisecond pulse 10 of break time and a second millisecond pulse 20 of make time, where the first millisecond pulse is larger than the second millisecond pulse, as shown in figure 1, and which together from a modem pulse dial. As such, to perform a pulse dial the modem needs to break and make a relay connection to count one pulse, where a modem will send one pulse to dial a T, two pulses for a '2' and so on.
In one widely adopted telephone system a pulse should be of the order of 100 milliseconds, 60 milliseconds of relay break time and 40 milliseconds of relay make time, with a delay of 750 milliseconds between numbers. In another widely adopted telephone system a pulse should be of the order of 50 milliseconds, 33 milliseconds of relay break time and 17 milliseconds of relay make time. However, it is necessary in both systems that timing accuracy should be of the order of one millisecond. As such, for a HSP or software modem it is necessary that the control signals generated by the host computer be received with an accuracy of one millisecond. However, for certain interfaces this is difficult to achieve. For example, timing variations will occur for a HSP or software modem coupled to a computer via a universal serial bus (USB) as a result of: i) communication between a modem driver and a USB bus driver located on the host computer, ii) USB driver processing latency, iii) USB bus delivery timing accuracy and iv) processing latencies of the USB firmware that is located on the modem. Indeed, the USB bus delivery timing accuracy alone is greater or equal to 1 millisecond and as a result the overall timing accuracy will inevitably exceed the required accuracy for pulse dialling.
As a result, attempts to transmit signals from a DAA under the control of a HSP or software modem may be unsuccessful, as a consequence multiple attempts to transmit a signal may be required.
Accordingly, it is desirable to provide a solution that will allow a remotely controlled device to be controlled for time critical applications within specified timing requirements, such that a device remotely coupled to a controlling device over a communication channel is able to perform time critical applications despite the message timing accuracy over the communication channel being greater than the timing accuracy required for the time critical application while avoiding any appreciable increase in cost of hardware.
In accordance with an aspect of the present invention there is provided an apparatus, system and method for controlling a device according to the accompanying claims.
This provides the advantage of allowing a remotely controlled device to perform timing operations based on time differences or absolute time information provided by a controlling device, thereby avoiding timing variations that would result from using the time of receipt of a message as a basis for performing a operation. As such, an operation executed by a remotely controlled device is performed based on timing information provided by a controlling device where the determination of the actual time is performed by a clock/timer local to the remotely controlled device. This has the additional advantage of allowing bandwidth requirements between two devices to be reduced. An embodiment of the invention will now be described, by way of example, with reference to the drawings, of which:
Figure 1 illustrates a modem pulse dial;
Figure 2 illustrates a system according to an embodiment of the present invention;
Figure 3 illustrates a first control message having a series of messages according to an embodiment of the present invention;
Figure 4 illustrates a second control message according to an embodiment of the present invention.
Figure 2 illustrates a communication system 20 incorporating a computer 21, for example a personal computer or PDA, coupled to a telephone line interface device 22, where the telephone line interface device 22 is arranged to be coupled to a telephone line, for example the public switching telephone network. The connection between the computer 21 and the telephone line interface device
22 can be provided by any convenient means, such as a parallel or serial interface or wired or wireless interface, however, for the purposes of this embodiment a universal serial bus USB 23 will be used.
Incorporated in the computer 21 is a host signal processor (HSP) modem 24 in the form of a modem driver, where typically the modem driver 24 functionality is provided by a processor (not showing) running an appropriate software application and where the modem driver 24 is typically a kernel level driver. However, as would be appreciated by a person skilled in the art the HSP modem functionality may be provided by other means, for example a microcontroller unit or data processor unit. The modem driver 24 will typically be coupled to a variety of interface means
(not shown) for allowing connection to a variety of different input means, for example a scanner. As this is well known to a person skilled in the art this will not be described in any further detail.
To allow the modem driver 24 to communicate with the telephone line interface device 22 via the universal serial bus 23 the computer 21 additionally includes a USB driver 25, to which is coupled the modem driver 24. The USB driver 25 provides USB functionality and is a kernel level driver.
The telephone line interface device 22 includes a USB firmware controller 26 that is arranged to be coupled to the USB bus driver 25 via the USB 23 to allow serial communication to be established between the computer 21 and the telephone line interface device 22 in accordance with the USB communication standard. The USB firmware controller 26 includes a master clock circuit (not shown) with an internal timer (not shown) to allow the timing of the USB firmware controller 26 to be controlled. Additionally, the USB firmware controller 26 is arranged to process control messages generated by the modem driver 24, as described below.
Typically the USB firmware controller 26 will be a general purpose controller that includes some USB specific functionality. Also included in the telephone line interface device 22 and coupled to the USB firmware controller 26 for receiving data transmitted by the modem driver 24 is a modem direct access arrangement DAA 27, which in turn is arranged to be coupled to the telephone line.
The modem driver 24 is arranged to support various modem communication protocols such as V.34, V.90 and V.92 and will typically include checking for data errors in received data, performing data compression, converting parallel transmissions into serial transmissions, modulation, demodulation, echo cancellation, AT command parsing and coder-decoder functionality. The modem driver 24 is arranged to transmit modulated data via the DAA 27, where the DAA 27 serves as the modem drivers 24 hardware interface to the public switched telephone system.
The DAA 27 includes a plurality of registers (not shown) that are used to control different DAA parameters, for example line termination impedance, spark quenching, off-hook speed, ring validation parameters, tx/rx gain control and sample rate control. The DAA will typically also include several low pass filters, an ADC and DAC circuit, a gain control circuit and a voltage protection circuit (not shown). As this is well known to a person skilled in the art this will not be described in any further detail. The operation of the DAA 27 is controlled by the modem driver 24 where at least two types of control messages generated by the modem driver 24 are defined. A first type of control message is based on a series of messages in which each message in the series of messages contain control information and time delay information. The control information allows for the modification of a DAA register (not shown) and thereby controls the operation of the DAA 27. The time delay information provides an indication as to when the next message in the series of messages is to be executed/implemented by the telephone line interface device 22.
A second type of control message is based on a message that contains a sequence of updates for updating a bit within a specified DAA register with associated time delay information, where the time delay information determines a time sequence for implementing each update within the sequence.
Figure 3 illustrates the first type of control message generated by the modem driver 24 for communicating to the telephone line interface device 22 via the USB 23, where the control message is transmitted in USB frames. As stated above, the first type of control message includes a plurality of separate messages, which in this example consists of three messages 30, 31, 32, however, the series of messages that form the control message may include a different number of messages. Each message 30, 31, 32 in the series of messages include at least three fields: i) a command field 33, ii) a DAA register ID field 34 and iii) a time delay field 35. For the purpose of transmitting over a USB bus, USB frames may have different sizes and types. For the purposes of the present embodiment the control message is transferred over the USB bus 23 using frames with guaranteed delivery but not guaranteed delivery latency. Preferably, the series of messages that form the control message will be sent from the modem driver 25 over the USB bus 23 in one frame, thereby ensuring that the series of messages are sent as one request.
However, as the USB frame size is limited, if the modem driver 25 isn't able to pack all the necessary messages into a single frame the modem driver 25 will ideally create a new frame before the last command from the previous frame has been executed. The command field 33 includes information (i.e. a command) for a required action to be performed by the telephone line interface device 22. Within the USB standard there are two mandatory commands, which are i) read to a DAA register and ii) write to a DAA register.
However, depending on the capabilities of the USB controller some micro commands may also be implemented. For example logic arithmetic commands: i) AND command that will read a DAA register and perform an AND operation between a current register value and a command parameter received within the message, where the operation result is written back to the DAA register; ii) OR command; and iii) XOR command.
Additional examples of macro commands are: i) Read and compare. This command my be useful to implement overvoltage protection or ring validation algorithms; ii) Condition execution.
The DAA register ID field 34 indicates a specific DAA register that is to be updated as a result of the execution/implementation of the command incorporated in the command field 33. The time delay field 35 includes time period information for specifying a time period that should elapse between the implementation of the command specified in the command field 33 of the current message and the implementation of the command specified in the command field 33 of the subsequent message in the series of messages. Although this current embodiment describes the use of time delay information to determine the timing of the execution/implementation of a command specified in the command field 33 of a subsequent message the timing delay information could be used to determine other timing relationships, for example the time delay information could also be used to determine the timing of the implementation of a command specified in a command field 33 of a preceding message relative to the current message or the time delay information in the current message could be used to specify when the command in the current message is to be implemented relative to the implementation of a command in the previous or subsequent message.
The time delay information can be in any suitable form, however for the purposes of the current embodiment the time delay information consists of time units where a time interval is allocated to each unit, for example 100 microseconds. As such, the time delay between the execution/implementation of subsequent commands is determined by the number of time units in the time delay field of the relevant message, for example if a time delay field specifies three time units where each unit is defined as being 100 microsecond then the execution/implementation by the telephone line interface device 22 of the command specified in the command field of the subsequent message should be delay 300 microseconds relative to the preceding command.
The series of messages, which in this embodiment consists of three messages 30, 31, 32, is generated by the modem driver 24 and transmitted to the USB bus driver 25 for communication, over the USB 23, to the USB firmware controller 26 in the telephone line interface device 22. When generating the series of messages the modem driver 24 determines the required time delays between the respective commands in the series of messages and incorporates this time delay information in the respective time delay fields 35. On receipt of the series of messages by the USB firmware controller 26 the USB firmware controller 26 places the messages in a queue. Messages received by the USB firmware controller 26 that do not include time information are executed immediately upon receipt. Once all the messages in the series of messages have been placed in the queue buffer the USB firmware controller 26 retrieves the first command from the queue buffer which is executed/implemented by the USB firmware controller 26, which results in a specific value being written into the specified DAA register and correspondingly causes the command to be executed by the DAA. Upon completion of the execution/implementation of the first command by the
USB firmware controller 26 and the updating of the respective DAA register the USB firmware controller 26 compares the timing information contained in the first message with the timing information generated by a USB firmware controller timer. When the comparison indicates that the required time period has elapsed the USB firmware controller 26 extracts the second command from the command queue buffer and executes/implements this command and updates the relevant DAA register based on the results.
For example, if the time delay information incorporated in the first message indicates that the command in the second message should be executed/implemented 33 milliseconds after the command in the first message, when the firmware controller timer indicates that 33 milliseconds has elapsed since the execution/implementation of the first command the USB firmware controller 26 extracts the second command from the command queue buffer and executes/implements this command.
This process continues until all commands in the series of messages have been executed/implemented.
By way of illustration an example of how to generate a modem pulse dial will be described according to the current embodiment, where in this specific example the modem driver 24 will cause the phone number '123' to be pulse dialled. The specified time periods are 60 msec break time, 40 msec make time and 750 ms time interval between digits.
The command sequence for dialling '123' will be:
1. set modem off-hook for 40 ms (make time) "1"
2. set modem on-hook for 810 ms (break + pause) " 1 " 3. set modem off-hook for 40 ms (make time) "2"
4. set modem on-hook for 60 ms (break) "2"
5. set modem off-hook for 40 ms (make time) "2"
6. set modem on-hook for 810 ms (break + pause) "2" 7. set modem off-hook for 40 ms (make time) "3"
8. set modem on-hook for 60 ms (break) "3"
9. set modem off-hook for 40 ms (make time) "3"
10. set modem on-hook for 60 ms (break) "3"
11. set modem off-hook for 40 ms (make time) "3" 12. set modem on-hook for 810 ms (break + pause) "3 "
The process is started by the modem driver 24 creating a control message consisting of twelve messages corresponding to the commands described above. The twelve messages consist of:
Write OFFHOOK to HOOK-CONTROL-REGISTER AND WAIT 40ms Write ONHOOK to HOOK-CONTROL-REGISTER AND WAIT 81 Oms
Write OFFHOOK to HOOK-CONTROL-REGISTER AND WAIT 40ms Write ONHOOK to HOOK-CONTROL-REGISTER AND WAIT 60ms And so on until message 12 has been created.
All generated messages may be transmitted to the USB firmware controller 26 in a single USB frame.
Upon receiving of these messages the USB firmware controller 26 places them into a queue. If there was no previous messages in the queue, then the USB firmware controller 26 will fetch the first message, decode and execute it.
The first message consisted off: "Write OFFHOOK to HOOK-CONTROL- REGISTER AND WAIT 40ms", consequently the USB firmware controller 26 will write the OFFHOOK value into the specified register (not shown). As soon as the register value has changed then the DAA 27 will change line status accordingly (i.e. transit to OFF-Hook state).
After the USB firmware controller 26 has changed the specified DAA register the firmware controller 26 will idle for a 40ms (as specified by first message) before fetching the next command from the queue.
The above described process allows the modem driver 24 to control the timing of operations performed by a DAA 27 by specifying the time durations between different control events while allowing a remotely located telephone line interface device 22 to use its own internal timer for determining when the specified time durations have elapsed. Thus, timing variations resulting from the communication path between the modem driver 24 and the remotely located modem DAA 27 do not adversely effect when a control operation is to be performed by a DAA 27.
Figure 4 illustrates the second type of control message 40 generated by the modem driver 24 for communicating to the telephone line interface device 22 via the USB 23. The second type of control message 40 includes at least five fields: i) a command field 41, ii) a DAA register ID field 42, iii) a bit ID field 43, iv) a bit update interval field 44 and v) a bit string field 45. As the length of the bit string may vary an additional field may optionally be included specifying the length of the bit string.
The command field 41 includes information (i.e. a command) for a required action that is to be performed by the telephone line interface device 22. A typical command may consist of, for example, a command for controlling the blinking of a LED on the telephone line interface device 22 and/or pulse dialling.
The DAA register ID field 42 identifies a specific DAA register that is to be updated as a result of the execution/implementation of the command incorporated in the command field 41.
The bit ID field 43 specifies a bit in the DAA register identified by the DAA register ID field 42 that is to be modified.
The bit update interval field 44 contains a time interval that specifies the USB firmware controller timer update rate, which as described below allows a time delay to be determined between subsequent modifications of the register bit specified by the bit ID field 43. The bit string field 45 contains a sequence of bit values that are to be applied to the bit identified by the bit ID field, where the identified bit in the DAA register is updated with the sequence of bit values in accordance with the timing information contain in the bit update interval field 44.
The second type of control message 40 is generated by the modem driver 24 and transmitted to the USB bus driver 25 for communication, over the USB 23, to the
USB firmware controller 26 in the telephone line interface device 22. When generating a control message the modem driver 24 determines the required time delays between the respective updates to the identified register bit and incorporates this time delay information in the bit update interval field 44.
On receipt of the control message 40 by the USB firmware controller 26 the
USB firmware controller 26 determines the register bit specified in the bit ID field 43, the USB firmware controller timer (not shown) is initialised to update in intervals defined by the value contained in the bit update interval field 44 and the bit string contained in the bit string field is stored in a shift register (not shown).
On the first timer Events (i.e. a time period corresponding to the first bit update interval) the USB firmware controller 26 reads out of the shift register the first bit of the stored bit string and updates the DAA register bit specified by the bit ID field 43 with this value and performs a shift on the shift register. TMs process is repeated on each timer event until the specified DAA register bit has been updated with the bit sequence as defined in the bit string field 45.
By way of illustration an example of how to control the operation of the blinking of an LED on the DAA will be described. For the purposes of the example the LED blinking rate will be 1 every second for 32 seconds.
The modem driver 24 generates a message consisting of:
[Command code], LED bit ID, Register ID, bit update interval of 1 second, 1010101010 (where this binary sequence is repeated for 32 bits).
On receipt of this message by the USB firmware controller 26 the USB firmware controller 26 updates the relevant register bit with the appropriate bit value in the bit string every one second until all 32 bit values have been used.
It will be apparent to those skilled in the art that the disclosed subject matter may be modified in numerous ways and may assume embodiments other than the preferred forms specifically set out as described above, for example communication bus could be parallel or serial, wired or wireless.

Claims

1. A system for controlling a device, the system comprising a first device arranged to communicate a message having timing information to a second device over a communication channel, wherein the second device is arranged to implement a command associated with the message in a time period determined by the timing information.
2. A system according to claim 1, wherein the second device includes a timer for controlling the timing of the implementation of the command based on the received timing information.
3. A system according to claim 1 or 2, wherein the communication channel is arranged to be formed over a communication bus that is coupled between the first device and the second device.
4. A system according to claim 3, wherein the communication bus is a serial bus.
5. A system according to claim 4, wherein the serial communication bus is a universal serial bus.
6. A system according to any preceding claim, wherein the second device is a telephone line interface device.
7. A system according to claim 6, wherein the telephone line interface device is a modem direct access arrangement.
8. A system according to any preceding claim, wherein the first device includes a modem driver arranged to generate the message.
9. A system according to any preceding claim, wherein the message is arranged to include time information that indicates a time period by when a command incorporated in the message should be implemented relative to the implementation of a command in a previous message.
10. A system according to any of claims 1 to 8, wherein the message is arranged to include time information that indicates a time period by when a command incorporated in a second message is to be implemented relative to the implementation of a command in the message.
11. A system according to any of claims 1 to 8, wherein the message is arranged to include information on a plurality of updates and a time period associated with each update to allow the second device to determine a time sequence for implementing each update.
12. An apparatus for controlling a device, the apparatus comprising a processor arranged to generate a message having timing information for transmission to the device over a communication channel to allow the device to implement a command associated with the message in a time period determined by the timing information.
13. An apparatus according to claim 12, wherein the message is arranged to include time information that indicates a time period by when a command incorporated in the message should be implemented relative to the implementation of a command in a previous message.
14. An apparatus according to claim 12, wherein the message is arranged to include time information that indicates a time period by when a command incorporated in a second message is to be implemented relative to the implementation of a command in the message.
15. An apparatus according to claim 12, wherein the message is arranged to include information on a plurality of updates and a time period associated with each update to allow the second device to determine a time sequence for implementing each update.
16. A method for controlling a device, the method comprising communicating a message having timing information from a first device to a second device over a communication channel, and implementing in the second device a command associated with the message in a time period determined by the timing information.
PCT/RU2005/000413 2005-08-11 2005-08-11 System for controlling a device over a communication channel WO2007021209A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/RU2005/000413 WO2007021209A1 (en) 2005-08-11 2005-08-11 System for controlling a device over a communication channel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2005/000413 WO2007021209A1 (en) 2005-08-11 2005-08-11 System for controlling a device over a communication channel

Publications (1)

Publication Number Publication Date
WO2007021209A1 true WO2007021209A1 (en) 2007-02-22

Family

ID=36481323

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2005/000413 WO2007021209A1 (en) 2005-08-11 2005-08-11 System for controlling a device over a communication channel

Country Status (1)

Country Link
WO (1) WO2007021209A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009013451A1 (en) * 2007-07-25 2009-01-29 Wolfson Microelectronics Plc Control sequencer

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6070246A (en) * 1998-02-04 2000-05-30 3Com Corporation Method and system for secure cable modem initialization
US6307463B1 (en) * 2000-12-26 2001-10-23 Hiou-Shen Chou Telephone remote control timer
US6519263B1 (en) * 1996-03-08 2003-02-11 Siemens Aktiengesellschaft Process for transmitting data packets of predefinable priority classes using ethernet from a first device to at least one other device
GB2382683A (en) * 2001-12-03 2003-06-04 Skinkers Ltd A message processing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6519263B1 (en) * 1996-03-08 2003-02-11 Siemens Aktiengesellschaft Process for transmitting data packets of predefinable priority classes using ethernet from a first device to at least one other device
US6070246A (en) * 1998-02-04 2000-05-30 3Com Corporation Method and system for secure cable modem initialization
US6307463B1 (en) * 2000-12-26 2001-10-23 Hiou-Shen Chou Telephone remote control timer
GB2382683A (en) * 2001-12-03 2003-06-04 Skinkers Ltd A message processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009013451A1 (en) * 2007-07-25 2009-01-29 Wolfson Microelectronics Plc Control sequencer
US8751025B2 (en) 2007-07-25 2014-06-10 Wolfson Microelectronics Plc Control sequencer

Similar Documents

Publication Publication Date Title
CA1256614A (en) Signal processor communication interface
CN1201241C (en) Interfacing between communications channel and processor
JP3253863B2 (en) Method of communicating maintenance information to remote device and apparatus for receiving maintenance information
KR910005654B1 (en) Digital dual channel communication terminal
US5892980A (en) System for dynamically changing the length of transmit and receive sample buffers utilizing previous responding to an interrupt in a communications system
KR910005653B1 (en) Communication station
KR20040076730A (en) Serial communication interface apparatus of hybrid type adaptable to high peformance wireless lan and method of the same
US6275498B1 (en) Extended PHY addressing
JP2571530B2 (en) modem
JPH02303242A (en) Bus repeater
WO2007021209A1 (en) System for controlling a device over a communication channel
CN107329919B (en) Single line communication method and electronic equipment
KR100217738B1 (en) Computer communication speed improving method of keyphone
JP2968794B1 (en) System terminal for wireless local loop
WO2017172269A1 (en) Method and apparatus to enable multiple masters to operate in a single master bus architecture
KR100584583B1 (en) Serial bus control device and method
SU1068925A1 (en) Device for exchange of information
JP3516152B2 (en) Synchronization establishing device
US4551835A (en) X.21 Switching system
SU1132283A1 (en) Interface for linking subscribers with computer
JP2004282726A (en) Auto-negotiation acting as a transceiver in a communication system
JP3590210B2 (en) Off-talk communication home device for data communication
GB2376856A (en) Signal processing system that adds stuff bits to make variable length data stream into integer multiple of byte length
JPH05268292A (en) Data communication equipment
JPH0568041A (en) Communication control system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05851089

Country of ref document: EP

Kind code of ref document: A1