GB2376856A - Signal processing system that adds stuff bits to make variable length data stream into integer multiple of byte length - Google Patents

Signal processing system that adds stuff bits to make variable length data stream into integer multiple of byte length Download PDF

Info

Publication number
GB2376856A
GB2376856A GB0115226A GB0115226A GB2376856A GB 2376856 A GB2376856 A GB 2376856A GB 0115226 A GB0115226 A GB 0115226A GB 0115226 A GB0115226 A GB 0115226A GB 2376856 A GB2376856 A GB 2376856A
Authority
GB
United Kingdom
Prior art keywords
signal
length
signals
output signal
processing
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.)
Granted
Application number
GB0115226A
Other versions
GB2376856B (en
GB0115226D0 (en
Inventor
Peter Loef
Gregor Swinkels
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.)
Omron Europe BV
Original Assignee
Omron Europe BV
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 Omron Europe BV filed Critical Omron Europe BV
Priority to GB0115226A priority Critical patent/GB2376856B/en
Publication of GB0115226D0 publication Critical patent/GB0115226D0/en
Publication of GB2376856A publication Critical patent/GB2376856A/en
Application granted granted Critical
Publication of GB2376856B publication Critical patent/GB2376856B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Abstract

There is disclosed a signal processing system and a method which allows a device 10 operating on the basis of synchronous communication to communicate with a processor 11. A problem with such systems is that the processor 11 operates in bits of a fixed length (e.g. 8 bits), but signals from the device 10 may be of variable bits length. This problem is solved by adding additional bits to signals from the device 10, so as to make them an integer multiple of a predetermined byte length. The processor 11 is arranged to generate an output signal of variable bit length, the device 10 is arranged to receive the output signal and generate a data signal of a length determined by the output signal, and the processor 11 is arranged to receive the data signal, add thereto one or more additional bits to form a processing signal which is an integer multiple of a predetermined byte length, to divide the processing signal into one or more sub-signals of said predetermined bit length, and to process each of said sub-signals.

Description

<Desc/Clms Page number 1>
SIGNAL PROCESSING SYSTEM The present invention relates to a signal processing system, in which communication via a synchronous serial interface (hereinafter SSI) is controlled from a microprocessor. It is particularly, but not exclusively, concerned where such communication is to a position encoder.
In conventional SSI communication arrangements, there are two control components between the processor and the encoder, which operates via an SSI. The first component, which the encoder communicates directly, is a component for adjusting signal levels to those appropriate for the microprocessor. The second component is a control component. The reason for this component is that the microprocessor necessarily operates in bytes of a fixed length, such as 8 bits, but the signals from the encoder may be of variable bit length. Moreover, although the timing of the microprocessor is carried out on a byte level, the encoder operates with timing on a bit level. Thus, the control component must ensure not only appropriate signal length, but also appropriate timing of the signals. Thus, in the known systems the control component is needed to provide satisfactory communication.
<Desc/Clms Page number 2>
The present invention seeks to modify such an arrangement, to simplify it, and at its most general provides that additional bits are added to the signals from the encoder, to make them an integer multiple of a predetermined byte length.
Therefore according to a first aspect of the invention there may be provided a signal processing system comprising a processor arranged to generate an output signal of variable bit length; a device operating on the basis of synchronous communication arranged to receive the output signal and to generate a data signal of a length determined by the output signal; wherein the processor is arranged to receive the data signal, add thereto one or more additional bits to form a processing signal which is an integer multiple of a predetermined byte length, to divide the processing signal in to one or more sub-signals of said predetermined byte length, and to process each of said sub-signals.
Preferably, this achieved by providing an OR gate external to the microprocessor which receives a pulse input corresponding to the number of bits in signal from the encoder and a second input from the microprocessor which corresponds to the number of bits to be added to that signal to make it a multiple of the byte length.
Thus, the signals from the OR gate are in multiples of
<Desc/Clms Page number 3>
the byte length, and those signals can then be handled by the microprocessor without requiring a separate control component.
The length of the signals from the encoder is normally determined by the microprocessor itself, by combining e. g. in an AND gate a clock signal and an enable signal. The resulting pulse train is passed through the encoder to trigger the transmission of an appropriate number of bits of data from the encoder to the microprocessor.
In a second aspect of the invention there may be provided a signal processing method comprising: generating an output signal of variable bit length; receiving the output signal at a device operating on the basis of synchronous communication and generating a data signal of a length determined by the output signal; receiving the data signal; adding to said data signed one or more additional bits to form a processing signal which is an integer multiple of a predetermined byte length; dividing the processing signal in to one or more sub-signals of said predetermined byte length; and processing each of said sub-signals.
An embodiment of the present invention will now be described in detail, by way of example, with reference to the accompanying drawings, in which:
<Desc/Clms Page number 4>
Fig. 1 is a schematic block diagram of a system incorporating the present invention; Fig. 2 is a schematic diagram showing part of the system of Fig. 1 in more detail; Fig. 3 is a diagram showing the cycle of operation of the microprocessor.
Referring first to Fig. 1, SSI equipment such as an encoder is connected to a microprocessor 11 by a signal shift circuit 12, which adjusts the signals from the microprocessor to the voltage levels required for the encoder 10, and vice versa. Fig. 1 also shows that an AND gate 14 and an OR gate 15 are connected to the microprocessor.
Referring now to Fig. 2, the AND gate 14 provides a pulse train of clock signals to the encoder 10. The microprocessor has two timer pulse units (TPU) 20,21.
The former generates a high frequency clock signal which is passed to the AND gate 14. The latter generates a signal which acts as an enable signal for the clock output, to determine the pulse train duration. Its output is also passed to the AND gate 14. Thus, before sending a pulse train, the TPU 21 has no output, and therefore the AND gate 14 has no output. When the TPU 21 is set to on, then the output of the AND gate 14 corresponds to the pulses from the TPU 20. The pulse
<Desc/Clms Page number 5>
train terminates when the output of the TPU 21 is set to off.
The pulse train from the AND gate 14 passes to a line driver conversion circuit 22, being passed to the signal shift circuit 12. In practical embodiments, the line driven conversion circuit 22 may be physically part of the shift circuit 12. The line driver circuit 22 converts signals to transistor-transistor logic signals (TTL) and acts as isolation. The line driver circuit 22 also inverts the polarities of the pulses, because the clock of the encoder 10 must be high when inactive. The line driver circuit 22 may be achieved by standard RS485/422 receiver/transmitter components which are applied in communications with devices over longer distances. Line driver circuit 22 is a line-driver transmitter.
When the pulse train reaches the encoder 10, the rising edge of each clock signal generates an appropriate data signal which is passed from the encoder 10 to a second line driver circuit 23, which carries out the reverse operation of the line driver circuit 22. Again, the line driver circuit 23 may be physically part of the shift circuit 12 produced from similar components and is a line-driver receiver. The data pulses are then received at a serial communications interface 24 of the microprocessor 11. The interface 21 is in the form of a
<Desc/Clms Page number 6>
universal asynchronous receiver transmitter (UART) such devices are known hardware structures used for serial communications. However, for simplicity, the subsequent description will refer to that interface as a SCI 24.
The SCI 24 can only receive bytes in synchronous mode, i. e. must receive a pulse train being a multiple of the byte length. However, the data signal from the encoder 10 is of variable length. Therefore, it is necessary to generate additional pulses. To do this, the microprocessor generates an output 25 to the OR gate 15 and it also receives the pulse train from the AND gate 14. Thus, the OR gate inputs via an input 26 to the SCI 24 a pulse train length corresponding to a integer multiple of the byte length. Thus, the SCI 24 can process the signal satisfactorily.
On reception of each byte, the SCI can transfer signals to a direct memory access controller (DMA) 27 and hence to a RAM 28. The DMA 27 transfers data from a received buffer to an incremental buffer in the RAM 28.
Instead of generating an interrupt at each byte, a byte by byte transfer is repeated until all bytes from the SCI 24 have been received.
In the embodiment illustrated in Fig. 2, the byte length is 8 bits. Other byte lengths are possible within the present invention.
<Desc/Clms Page number 7>
The microprocessor determines the number of extra pulses needed to be produced from the OR gate 15 on the basis of the length of the pulse train generated by the AND gate 14, from the TPUs 20 and 21, and having an appropriate number of bits.
The sequence of operations carried out by the processor 11 is illustrated in Fig. 3. As can be seen, there are five possible states referred to as the Init state 30, the Idle state 31, the Busy state 32, the Delay state 33, and the Waiting state 34. These will now be described in more detail.
Init state 30 In this state, the software and the MPU and its peripherals are prepared. This means the following : determine the amount of pulses to be sent to the SSI clock output determine the amount of extra pulses to be sent to the SCI's clock input determine the amount of bytes to be received by the SCI configure the DMA controller (mode, number of bytes etc.) configure the SCI (synchronous communication, most significant bit first etc.) prepare timers used for realising delays and for monitoring time-outs
<Desc/Clms Page number 8>
start the state machine software in the Idle state Idle state 31 waiting for a signal requesting a new SSI communication cycle. On this request, the software will do the following: the so-called extra pulses are sent to the SCI's clock the two timer-pulse units are configured to generate the signals required and triggered to start simultaneously Busy state 32 The SSI communication is being executed by the MPU and its peripherals. The software is not involved. When all data is received, an interrupt is requested by the DMA controller. This event triggers the transition to the delay state.
Delay state 33 According to the SSI protocol, a delay is required to safely detect the state of the SSI equipment.
An MPU timer is used to realise the delay, after which a transition is made to the Waiting state.
Waiting state 34 In this state, the data output of the SSI equipment is monitored to tell whether the connected equipment is ready for a next communications cycle.
<Desc/Clms Page number 9>
When the equipment does not signal that it has gone into this ready state within a specified time, an exception is raised because the equipment is not behaving according to the SSI protocol. If the SSI equipment signalled within the specified time that it is ready, a transition is made to the Idle state.

Claims (5)

  1. CLAIMS: 1. A signal processing system comprising; a processor arranged to generate an output signal of variable bit length; a device operating on the basis of synchronous communication arranged to receive the output signal and to generate a data signal of a length determined by the output signal; wherein the processor is arranged to receive the data signal, add thereto one or more additional bits to form a processing signal which is an integer multiple of a predetermined byte length, to divide the processing signal in to one or more sub-signals of said predetermined byte length, and to process each of said sub signals.
  2. 2. A system according to claim 1, wherein the processor has an OR gate arranged to receive said data signal and to receive said additional bits, thereby to generate said processing signal.
  3. 3. A system according to claim 1 or claim 2, wherein the processor further includes an AND circuit for generating said output signal, the AND circuit being arranged to receive a clock signal and a gating signal,
    <Desc/Clms Page number 11>
    the gating signal determining the bit length of the output signal.
  4. 4. A system according to any one of the preceding claims, wherein said device is a position encoder.
  5. 5. A signal processing method comprising: generating an output signal of variable bit length; receiving the output signal at a device operating on the basis of synchronous communication and generating a data signal of a length determined by the output signal; receiving the data signal; adding to said data signed one or more additional bits to form a processing signal which is an integer multiple of a predetermined byte length; dividing the processing signal in to one or more sub-signals of said predetermined byte length, and processing each of said sub-signals.
GB0115226A 2001-06-21 2001-06-21 Signal processing system Expired - Fee Related GB2376856B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0115226A GB2376856B (en) 2001-06-21 2001-06-21 Signal processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0115226A GB2376856B (en) 2001-06-21 2001-06-21 Signal processing system

Publications (3)

Publication Number Publication Date
GB0115226D0 GB0115226D0 (en) 2001-08-15
GB2376856A true GB2376856A (en) 2002-12-24
GB2376856B GB2376856B (en) 2004-06-09

Family

ID=9917105

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0115226A Expired - Fee Related GB2376856B (en) 2001-06-21 2001-06-21 Signal processing system

Country Status (1)

Country Link
GB (1) GB2376856B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106679698A (en) * 2017-01-20 2017-05-17 浙江大学 Absolute-value-encoder simulation system based on synchronized serial interface signal

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4408271A (en) * 1979-01-02 1983-10-04 Honeywell Information Systems Inc. Circuit for implementing a digital computer instruction
JPS59165568A (en) * 1983-03-09 1984-09-18 Nec Corp Processing system of facsimile signal
US4546429A (en) * 1984-12-27 1985-10-08 The United States Of America As Represented By The Secretary Of The Air Force Interactive communication channel
JPS62239733A (en) * 1986-04-11 1987-10-20 Mitsubishi Electric Corp Data multiplex transmission system
US5379116A (en) * 1992-06-09 1995-01-03 Kokusai Denshin Denwa Co., Ltd. Cell-packing system of coded video signal using fixed bit length cells
EP0685970A2 (en) * 1994-05-31 1995-12-06 Samsung Electronics Co., Ltd. Variable-length decoder for bit-stuffed data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4408271A (en) * 1979-01-02 1983-10-04 Honeywell Information Systems Inc. Circuit for implementing a digital computer instruction
JPS59165568A (en) * 1983-03-09 1984-09-18 Nec Corp Processing system of facsimile signal
US4546429A (en) * 1984-12-27 1985-10-08 The United States Of America As Represented By The Secretary Of The Air Force Interactive communication channel
JPS62239733A (en) * 1986-04-11 1987-10-20 Mitsubishi Electric Corp Data multiplex transmission system
US5379116A (en) * 1992-06-09 1995-01-03 Kokusai Denshin Denwa Co., Ltd. Cell-packing system of coded video signal using fixed bit length cells
EP0685970A2 (en) * 1994-05-31 1995-12-06 Samsung Electronics Co., Ltd. Variable-length decoder for bit-stuffed data

Also Published As

Publication number Publication date
GB2376856B (en) 2004-06-09
GB0115226D0 (en) 2001-08-15

Similar Documents

Publication Publication Date Title
US7340023B1 (en) Auto baud system and method and single pin communication interface
US4755990A (en) Collision avoidance in a multinode data communication network
EP1972058B1 (en) Serial data communication system and method
US20110219160A1 (en) Fast two wire interface and protocol for transferring data
EP0196870B1 (en) Interface circuit for transmitting and receiving data
JPH04222130A (en) Interference detection circuit
KR100208292B1 (en) Dual-bus clock monitoring circuit of ipc
JP4356051B2 (en) Method and apparatus for exchanging data
GB2376856A (en) Signal processing system that adds stuff bits to make variable length data stream into integer multiple of byte length
JP3201666B2 (en) Interface conversion circuit for half-duplex serial transmission
JP3282396B2 (en) Signal transmission method
US4229623A (en) Receiving means for use in a high speed, low noise digital data communication system
US6219416B1 (en) Method and apparatus for processing FISU frames according to the Signalling System 7 protocol
KR101715319B1 (en) Delay timer circuit for vehicular communication transceiver using overflow signal of counter
JP3716562B2 (en) Bus bridge circuit and information processing system using bus bridge circuit
JP2559214B2 (en) Data transmission control circuit
JPH02305247A (en) Communication control equipment
KR900006548B1 (en) Method of and circuit for sharing parallel data
JP2532405Y2 (en) Data transmission circuit
JPS62171349A (en) Communication control equipment
SU1425821A1 (en) Signal transmission apparatus
CN117857001A (en) MAC controller and data signal transmission method
KR100604784B1 (en) Serial interface system having function of auto generating serial clock signal
JPH0744584B2 (en) Interrupt signal transmission method and device
JPS63202154A (en) Serial communication system

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20160621