Host signal processing modem using a software circular buffer in system memory and direct transfers of samples to maintain a communication signal
First Claim
1. A communication system comprising:
- a host computer including a main processor and a memory;
a buffer allocated in the memory;
a program executed by the host computer, wherein the execution of the program generates digital samples representing amplitudes of an analog communication signal and writes the digital samples to the buffer; and
a device coupled to the host computer, the device comprising;
an interface initiating direct transfers of the digital samples from the buffer into the device without direction from the main processor, the direct transfers transferring samples in order from the buffer, wherein transfer of a sample from a first storage location in the buffer immediately follows transfer of a sample from a last storage location in the buffer; and
a digital-to-analog converter that converts digital samples from the buffer to maintain a continuous, transmitted analog communication signal.
2 Assignments
0 Petitions
Accused Products
Abstract
An HSP communication system includes a host computer which executes a software portion of an HSP modem and a device containing a digital-to-analog converter (DAC). In response to interrupts, the host executes an update routine that generates and writes samples to a software circular buffer in memory of the host computer. The samples represent amplitudes of an analog signal complying with a desired communication protocol. A direct transfer moves samples from the software circular buffer to a hardware circular buffer the device, and the DAC converts the samples from the hardware circular buffer into an analog communication signal. In an exemplary embodiment, the hardware portion is coupled to a PCI bus in the host computer, and direct transfers are according to the PCI bus master protocol. In environments such as multi-tasking systems, the host may skip interrupts or otherwise not provide new samples when required. In this case, the direct transfers transfer old samples, and the DAC reuses samples from the software circular buffer to generate a maintenance signal. If direct transfers are delayed, the DAC can reuses samples from the hardware circular buffer to generate the maintenance signal. The maintenance signal typically does not convey correct data but is sufficient to maintain a communication link and prevent a remote device from disconnecting or entering a retrain mode. For a better maintenance signal, the circular buffers contains samples for an integral number of periods of the baud frequency of the desired protocol. Error correction and retransmission can replace incorrect or lost data.
40 Citations
22 Claims
-
1. A communication system comprising:
-
a host computer including a main processor and a memory; a buffer allocated in the memory; a program executed by the host computer, wherein the execution of the program generates digital samples representing amplitudes of an analog communication signal and writes the digital samples to the buffer; and a device coupled to the host computer, the device comprising; an interface initiating direct transfers of the digital samples from the buffer into the device without direction from the main processor, the direct transfers transferring samples in order from the buffer, wherein transfer of a sample from a first storage location in the buffer immediately follows transfer of a sample from a last storage location in the buffer; and a digital-to-analog converter that converts digital samples from the buffer to maintain a continuous, transmitted analog communication signal. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for generating a communication signal, comprising:
-
generating, in a host computer, a series of digital samples that represent an analog signal in compliance with a communication protocol; writing the digital samples to a buffer allocated in a memory of the host computer; transferring samples via direct transfers according to a circular ordering of storage locations, from the buffer to a device coupled to the host computer, the direct transfers being initiated independent of actions of the host computer, wherein when generating and writing the samples to the buffer fails to write new samples when required for one of the direct transfers, that direct transfer transfers samples that were previously transferred from the buffer; and converting the digital samples into analog voltages in the communication signal, wherein the converting maintains the communication signal when generating and writing the samples to the buffer fails to write new samples when required for one of the direct transfers. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A method for generating a communication signal, comprising:
-
in response to interrupts of the host computer, executing a program in a host computer to generate a series of digital samples which represent an analog signal in compliance with a communication protocol; writing the digital samples to a buffer in the host computer; transferring the digital samples via direct transfer from the buffer to a device coupled to the host computer; converting the digital samples into analog voltage levels of the communication signal; and in response to one or more of the interrupts for which writing digital samples to the buffer does not occur, maintaining the communication signal by repeating transferring and converting of digital samples stored in the buffer. - View Dependent Claims (19)
-
-
20. A communication system comprising:
-
a program executable by a computer, wherein execution of the program generates digital samples representing amplitudes of an analog communication signal and writes the digital samples to a memory of the computer; and a device adapted for connection to the computer, the device comprising; an interface initiating [implementing] direct transfers of digital samples from a memory of the host computer to the device without direction from the computer, wherein the direct transfers repeat, in a circular fashion, accesses of storage locations in the memory; and a converter that converts the digital samples to maintain a continuous, analog communication signal. - View Dependent Claims (21, 22)
-
Specification