WO2021166906A1 - SerDesインターフェース回路および制御装置 - Google Patents

SerDesインターフェース回路および制御装置 Download PDF

Info

Publication number
WO2021166906A1
WO2021166906A1 PCT/JP2021/005703 JP2021005703W WO2021166906A1 WO 2021166906 A1 WO2021166906 A1 WO 2021166906A1 JP 2021005703 W JP2021005703 W JP 2021005703W WO 2021166906 A1 WO2021166906 A1 WO 2021166906A1
Authority
WO
WIPO (PCT)
Prior art keywords
output
data
clock
fifo
control device
Prior art date
Application number
PCT/JP2021/005703
Other languages
English (en)
French (fr)
Inventor
勁 萩原
朝将 名嘉眞
Original Assignee
ファナック株式会社
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 ファナック株式会社 filed Critical ファナック株式会社
Priority to JP2022501905A priority Critical patent/JP7332783B2/ja
Priority to US17/793,723 priority patent/US20230066398A1/en
Priority to CN202180015887.XA priority patent/CN115136497A/zh
Priority to DE112021001161.8T priority patent/DE112021001161T5/de
Publication of WO2021166906A1 publication Critical patent/WO2021166906A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C

Definitions

  • CNC computerized numerical control
  • SerDes serializer / DE Serializer: serializer / deserializer
  • SerDes is, for example, for converting parallel data used in one device into serial data and transmitting it to the other device, and in the other device, converting the received serial data into parallel data again for use. This enables high-speed data communication without considering the skew caused by the wiring length and floating capacitance between each bit in parallel communication, and by reducing the number of wiring and terminals.
  • SerDes is used in various fields because it is capable of large-capacity high-speed data communication.
  • This SerDes cannot be used at a communication rate below the lower limit of SerDes because the communication rate range in which communication is possible is determined by, for example, the manufacturer and technology of the ASIC (Application Specific Integrated Circuit). Therefore, it is difficult to perform communication by models (including devices, circuit blocks, etc.) having different communication rates using the same SerDes.
  • a plurality of data having different specifications may be used in one device. Therefore, for example, in one device (own device), data of different communication rates is converted into serial data of a predetermined communication rate using the same (one) SerDes, and transmitted to the other device (opposite device). Is required to do. In the opposite device, the transmitted serial data is processed by using SerDes or by another communication interface.
  • 16-bit parallel data based on a 180 MHz clock and a 1-bit signal based on a 160 MHz clock are converted into serial data having a communication rate of 2.88 Gbps using the same SerDes. It is required to be converted and transmitted to an opposite device (for example, a motor amplifier that controls a servomotor of a machine tool).
  • an opposite device for example, a motor amplifier that controls a servomotor of a machine tool.
  • these devices are not limited to CNC devices and machine tools, and for example, an industrial robot or a collaborative robot controlled by a robot control device as an opposite device by applying a robot control device as its own device. It can also be applied.
  • the 180 MHz 16-bit parallel data and the 160 MHz 1-bit signal are merely examples, and the clock frequency such as 180 MHz or 160 MHz can be changed as appropriate, and the 16-bit parallel data is also limited to 16 bits. It's not a thing.
  • the 160 MHz 1-bit signal is also set to 1 bit for the sake of brevity, but it is needless to say that it may be a plurality of bits of parallel data such as 32 bits or 64 bits.
  • an object of the present invention is to provide a SerDes interface circuit and a control device capable of transmitting data of different communication rates using the same SerDes.
  • the first clock of the first frequency, the first transmission data based on the first clock, and the second clock of the second frequency different from the first frequency are received.
  • a FIFA that outputs the first transmission data in the order of input based on the second clock, a flip-flop that captures and holds the output of the FIFA based on the second clock, and an output of the FIFA.
  • a SerDes interface circuit is provided which includes an output state machine that receives the output of the flip-flop and generates continuous parallel data in which the same data corresponding to the first transmission data is generated based on the second clock. ..
  • the disclosed SerDes interface circuit and control device have the effect that data transmission at different communication rates can be performed using the same SerDes.
  • FIG. 1 is a block diagram showing an embodiment of a control device according to the present invention.
  • FIG. 2 is a diagram for explaining an example of SerDes in the control device shown in FIG.
  • FIG. 3 is a diagram for explaining a first embodiment of the SerDes interface circuit in the control device shown in FIG.
  • FIG. 4 is a diagram for explaining the operation of the SerDes interface circuit shown in FIG.
  • FIG. 5 is a block diagram showing an example of a data recovery circuit in the control device shown in FIG.
  • FIG. 6 is a diagram for explaining the operation of the data recovery circuit shown in FIG.
  • FIG. 7 is a diagram for explaining another application example of the SerDes interface circuit shown in FIG.
  • FIG. 8 is a diagram for explaining the operation of the SerDes interface circuit shown in FIG. 7.
  • FIG. 9 is a diagram for explaining a modification of the SerDes interface circuit in the control device shown in FIG.
  • FIG. 10 is a diagram for explaining a FIFO with an output number control function in the Ser
  • FIG. 1 is a block diagram showing an embodiment of a control device according to the present invention.
  • the control device 10 of the present embodiment includes a new communication control circuit 1, a compatible communication control circuit 2, a SerDes interface circuit 3, a data recovery (DR) circuit 4, and a bit conversion circuit 5. It has a selector 6 and a SerDes (serializer / deserializer) 7.
  • the control device 10 is, for example, via 180 MHz 16-bit parallel data (16-bit parallel data based on a clock having a frequency of 180 MHz: second transmission data) via the new communication control circuit 1 and compatible communication control circuit 2.
  • the 160 MHz 1-bit signal (1-bit signal based on a clock with a frequency of 160 MHz: first transmission data) is converted into serial data with a communication rate of 2.88 Gbps (bits / second) by SerDes7, and the opposite device. (Device on the other side of communication) Transfer to and from 200.
  • the opposite device 200 can also be provided with SerDes, and the 2.88 Gbps serial data sent from the control device 10 (own device 100) can be converted into parallel data for use. That is, a circuit that converts 2.88 Gbps serial data into 180 MHz 16-bit parallel data and a 160 MHz signal by SerDes of the opposite device 200, and is controlled by, for example, 180 MHz 16-bit parallel data, and 160 MHz. It may be input to the circuit controlled by the signal of.
  • the 160 MHz signal via the compatible communication control circuit 2 is set to 1 bit for the sake of brevity, but it may be a plurality of bits of parallel data as described above.
  • examples of the own device 100 include various control devices such as a CNC device and a robot control device
  • examples of the counter device 200 include various machine tools and industrial robots controlled by the CNC device.
  • Devices such as collaborative robots (or motor amplifiers for controlling machine tools and motors in robots, etc.) can be mentioned, but are not limited thereto.
  • the SerDes interface circuit 3 receives a 160 MHz 1-bit signal (first transmission data) from the compatible communication control circuit 2, and is a parallel signal based on a 180 MHz clock having (same) logical values corresponding to the first transmission data. Convert to and output.
  • the selector 6 receives 180 MHz 16-bit parallel data (second transmission data) from the new communication control circuit 1 and 180 MHz 16-bit parallel data from the SerDes interface circuit 3, and selects one of them for transmission of SerDes 7. Output to parallel data input (TX_pData).
  • FIG. 2 is a diagram for explaining an example of SerDes in the control device shown in FIG.
  • FIG. 2A is a block diagram showing input / output data of SerDes7
  • FIG. 2B is a diagram for explaining processing (parallel / serial conversion processing) at the time of data transmission of SerDes7
  • FIG. 2C is a diagram for explaining a process (serial-parallel conversion process) at the time of receiving data of SerDes7.
  • SerDes is used especially when serially connecting parallel interfaces in a high-speed interface, but general SerDes can be applied as SerDes7 of the control device 10 of the present embodiment.
  • the reference code TX_pData is transmission parallel data (for example, 16-bit parallel data based on a 180 MHz clock) sent from the own device (the device on this side where the control device 10 is provided) 100 to the opposite device 200.
  • Transmission parallel data and input of transmission parallel data
  • TX_sData converts transmission parallel data TX_pData into serial data and sends it to the opposite device 200.
  • Transmission serial data (for example, transmission serial data having a communication rate of 2.88 Gbps). : And the output of transmission serial data).
  • the reference reference numeral RX_sData indicates the received serial data (for example, the received serial data having a communication rate of 2.88 Gbps: and the input of the received serial data) sent from the opposite device 200.
  • RX_pData indicates received parallel data obtained by converting received serial data RX_sData into parallel data (for example, 16-bit parallel received parallel data based on a 180 MHz clock: and output of received parallel data).
  • pCLK indicates the clock of the transmission parallel data TX_pData (for example, the clock of 180 MHz: and the input of the clock of the transmission parallel data)
  • RCLK receives the received serial data by CDR (Clock Data Recovery) and receives the received serial. Shows the recovery clock (and the output of the recovery clock) regenerated from the data.
  • SerDes7 performs parallel serial conversion of 16-bit transmission parallel data TX_pData based on, for example, 180 MHz pCLK so as to output from the lower bits. That is, it is converted into transmission serial data TX_sData having a communication rate of 2.88 Gbps based on 180 MHz ⁇ 16 bits and output to the opposite device 200.
  • SerDes7 receives the received serial data RX_sData having a communication rate of 2.88 Gbps from the opposite device 200 and converts it into 16-bit received parallel data RX_pData. And output.
  • FIG. 3 is a diagram for explaining a first embodiment of the SerDes interface circuit in the control device shown in FIG.
  • FIG. 3A is a block diagram showing a first embodiment of the SerDes interface circuit
  • FIGS. 3B and 3C are outputs in the SerDes interface circuit shown in FIG. 3A. It is a figure for demonstrating operation of a state machine.
  • the SerDes interface circuit 3 includes a FIFO (FIFO (First In First Out) with output enable (EN)) 31, a flip-flop (FF) 32, and an output state machine 33.
  • FIFO FIFO (First In First Out) with output enable (EN)
  • FF flip-flop
  • the FIFO 31 includes an input clock having a frequency of 160 MHz (first clock), a 1-bit signal based on the clock of 160 MHz (transmission data of 160 MHz: first transmission data), and an output clock having a frequency of 180 MHz (second clock). (Clock) is received, the first transmission data is fetched based on the first clock, and when the output EN is "1", the fetched data is output in order based on the second clock. When the output EN is "0", the immediately preceding output is maintained.
  • the output of the FIFO 31 is input to the output state machine 33 as a signal A, and is also input to the data terminal of the flip-flop 32.
  • the frequency of the second clock corresponds to the operating clock (180 MHz) of the 16-bit parallel data output from the new communication control circuit 1 described with reference to FIG.
  • a second clock of 180 MHz is input to the clock terminal of the flip-flop 32, the first transmission data from the FIFA 31 is captured and held based on the second clock, and the held data is output as a signal B.
  • Output to the state machine 33 That is, the output state machine 33 has the first transmission data (A: FIFO output) from the FIFO 31 at a certain timing and the first transmission data (A: FIFO output) from the FIFO 31 at a timing one clock before the second clock. B: FF output) will be received.
  • a second clock is input to the clock input terminal of the output state machine 33, and an enable signal (EN) from the output state machine 33 is input to the output enable terminal of the FIFO 31. ..
  • the output state machine 33 is based on the signal (A) input to the terminal A and the signal (B) input to the terminal B, for example, in serial data, 18 bits of the same data are continuous (same logical value). Generate parallel data (have).
  • the data “B” in the state “1” is the data captured by the previous clock (180 MHz) by the flip-flop 32, and therefore the data in the state “0”. It has the same logical value as "A”. Therefore, by adding the 2-bit parallel data of the data "B” in the state “1” to the 16-bit parallel data of the data "A” in the state "0", 16 bits having the same logical value of 18 bits are added. Parallel data is generated.
  • 3 (c) shows the case where data is input to the FIFO 31 of FIG. 3 (a) as D0, D1, D2, ... (Here, D0, D1, D2, ... Are “0” or "1", respectively).
  • the input / output signals and internal states of the FIFO 31, FF 32 and the output state machine 33 for each clock (180 MHz) in the above are shown.
  • the number of bits in which the same data corresponding to the first transmission data (160 MHz 1-bit signal) is continuous is V (18), the first.
  • the frequency of the clock is W (160 MHz)
  • the frequency of the second clock is X (180 MHz)
  • the number of bits of parallel data in the second transmission data based on the second clock is Y (16)
  • substantially the same processing can be performed even when the first transmission data input to the FIFA 31 is a plurality of bits, for example, when the signal from the compatible communication control circuit 2 is a plurality of signals of 160 MHz. ..
  • FIG. 4 is a diagram for explaining the operation of the SerDes interface circuit shown in FIG. As described above, the substantial communication rate is lowered by inputting the same continuous data such as "1111111111111111" generated by the SerDes interface circuit 3 (output state machine 33) into the SerDes7 as the transmission parallel data TX_pData. Can be done.
  • the SerDes interface circuit 3 outputs 180 MHz 16-bit parallel data, but the data corresponding to 1 bit of 160 Mbps becomes parallel data in which the same logical value is continuous for 18 bits. Therefore, the communication rate of the transmission serial data TX_sData is substantially lowered to perform data transmission. This makes it possible to perform data transmission at different communication rates (different standards) using the same SerDes7.
  • FIG. 5 is a block diagram showing an example of a data recovery circuit in the control device shown in FIG. 1, and FIG. 6 is a diagram for explaining the operation of the data recovery circuit shown in FIG.
  • the reference code RX_sData indicates the received serial data
  • REFCLK indicates the reference clock
  • RX_pData indicates the n-bit received parallel data
  • RCLK indicates the recovery clock having a frequency of 1 / n of the communication rate
  • Edg_data indicates the edge position data.
  • the reference code Calc_edg is the edge prediction position data
  • Sample_point is the sampling position data
  • cntup is the phase control signal for advancing the phase
  • ctdn is the phase control signal for delaying the phase
  • rdata is the recovery data
  • Rdata_en is the data enable. Shows a signal.
  • the data recovery (DR) circuit 4 shown in FIG. 5 corresponds to the data reproduction circuit disclosed in Patent Document 4 described above.
  • SerDes7 transforms received serial data RX_sData with a communication rate of 2.88 Gbps into 16-bit parallel received parallel data RX_pData based on a 180 MHz clock. Convert. Then, as shown in FIG. 1, the received parallel data RX_pData converted by this SerDes 7 is input to the DR circuit 4.
  • the DR circuit 4 outputs a 2-bit signal together with the data enable Rdata_en to the bit conversion circuit 5, and the bit conversion circuit 5 generates a 1-bit signal based on the data enable Rdata_en, and the compatible communication control circuit 2
  • a 160 MHz 1-bit signal is output. That is, the DR circuit 4 and the bit conversion circuit 5 receive the received parallel data RX_pData converted by SerDes7, convert it into a signal of the same standard as the 160 MHz 1-bit signal (first transmission data), and convert the compatible communication control circuit 2 into a signal of the same standard.
  • a conversion processing circuit that outputs to is configured.
  • the DR circuit 4 receives signals (received parallel data RX_pData and recovery clock RCLK) from the oversampling unit (SerDes) 7.
  • the oversampling unit 7 samples the serial data (received serial data) RX_sData received by serial communication with a clock having a frequency higher than the communication rate of the serial data, and receives n (n is an integer of 2 or more) bits of the received parallel data RX_pData.
  • the recovery clock RCLK with a frequency of 1 / n of the sampling clock is output.
  • the DR circuit 4 has an edge detection unit 41, an edge position calculation unit 42, a data sampling unit 43, and a phase comparison unit 44.
  • the edge detection unit 41 detects the edge position of the parallel data and outputs it as edge data.
  • the edge position calculation unit 42 predicts the edge position of the next parallel data output by the oversampling unit 7 from the phase control signal output by the phase comparison unit 44, outputs it as edge prediction position data, and further, edge prediction position data. Data that is half-phase shifted from is output as sampling position data.
  • the phase comparison unit 44 compares the edge data output by the edge detection unit 41 with the edge prediction position data output by the edge position calculation unit 42, and outputs phase control signals (ctun, cntdn).
  • the data sampling unit 43 extracts data from the parallel data output by the oversampling unit 7 from the sampling position data output by the edge position calculation unit 42, that is, samples the data center as shown in FIG. It is output as recovery data (reproduced data) together with the data enable Rdata_en indicating the validity of the data.
  • the 2-bit signal output from the DR circuit 4 is converted into a 1-bit signal by the bit conversion circuit 5 based on the data enable Rdata_en, and the bit conversion circuit 5 transfers the compatible communication control circuit 2 to the compatible communication control circuit 2.
  • a 160 MHz 1-bit signal is output.
  • the control device 10 can perform data transmission of different communication rates (different standards) using the same SerDes in both data transmission and data reception.
  • the DR circuit 4 and the bit conversion circuit 5 are merely examples, and various modifications and modifications can be made, and various known circuits can be applied.
  • FIG. 7 is a diagram for explaining another application example of the SerDes interface circuit shown in FIG.
  • FIG. 7A is a block diagram showing another application example of the SerDes interface circuit
  • FIG. 7B illustrates the operation of the output state machine in the SerDes interface circuit shown in FIG. 7A. It is a figure to do.
  • the configuration of FIG. 7 (a) is substantially the same as that of FIG. 3 (a) described above, and the description thereof will be omitted.
  • FIGS. 3 and 4 described above 16-bit parallel data based on a 180 MHz clock and 1-bit signal based on a 160 MHz clock are converted into 2.88 Gbps serial data via SerDes 7 and transmitted to the opposite device 200.
  • FIGS. 7 and 8 show 18-bit parallel data based on a 120 MHz clock and a 1-bit signal based on a 90 MHz clock at 2.16 Gbps via SerDes7.
  • An application example of the SerDes interface circuit 3 in the case of converting the serial data into the serial data of the above and transmitting the data to the opposite device 200 is shown.
  • the output state machine 33 is input to the terminal B, which is the output of the flip-flop that captures and holds the signal (A: FIFA output) input to the terminal A and the signal (A) at the timing one clock before.
  • the signal (B: FF output) for example, in serial data, 24-bit same data is continuously generated (having the same logical value) in parallel data.
  • the signal output by the output state machine 33 (SerDes interface circuit 3) corresponds to 120 MHz 18-bit parallel data output from the new communication control circuit 1.
  • the output state machine 33 generates parallel data having the same logical value of 24 bits from the signals A and B, but for example, the data “B” in the state “1” is , Since the data is captured by the previous clock by the flip-flop 32, it has the same logical value as the data “A” in the state “0”. Therefore, by adding 6-bit parallel data of data "B” in state “1” to 18-bit parallel data of data "A” in state “0”, 18 bits having the same logical value of 24 bits are added. Parallel data is generated.
  • FIG. 8 is a diagram for explaining the operation of the SerDes interface circuit shown in FIG. 7. As described above, the substantial communication rate can be lowered by inputting the same continuous data such as "111111111111111” generated by the SerDes interface circuit 3 (output state machine 33) as the transmission parallel data TX_pData.
  • a 1-bit signal of 90 Mbps may be converted into parallel data in which the same data of 24 bits is continuous and input to SerDes7.
  • the SerDes interface circuit 3 outputs 120 MHz 18-bit parallel data, but the data corresponding to 1 bit of 90 Mbps becomes parallel data in which the same logical value is continuous for 24 bits. Therefore, the communication rate of the transmission serial data TX_sData is substantially lowered to perform data transmission. This makes it possible to transmit data at different communication rates using the same SerDes7.
  • the number of bits in which the same data corresponding to the first transmission data (1-bit signal of 90 MHz) is continuous is V (24), the first.
  • the frequency of the clock is W (90 MHz)
  • the frequency of the second clock is X (120 MHz)
  • the number of bits of parallel data in the second transmission data based on the second clock is Y (18)
  • FIG. 9 is a diagram for explaining a modified example of the SerDes interface circuit in the control device shown in FIG.
  • FIG. 9A is a block diagram showing a modified example of the SerDes interface circuit
  • FIG. 9B is for explaining the operation of the output state machine in the SerDes interface circuit shown in FIG. 9A. It is a figure of.
  • the FIFO 31 with output enable is the FIFO 31'with output number control function.
  • the output state machine 33 is designated as the output state machine 33'.
  • the 16-bit parallel data based on the 80 MHz clock and the 1-bit signal based on the 128 MHz clock are converted into 1.28 Gbps serial data via SerDes 7 and transmitted to the opposite device.
  • An application example of the interface circuit 3 is shown.
  • the FIFA 31' is a 1-bit signal based on an input clock (first clock) having a frequency of 128 MHz and a clock of 128 MHz (transmission data having an operating frequency of 128 MHz: first transmission).
  • Data and an output clock (second clock) having a frequency of 80 MHz are received, the first transmission data is captured based on the first clock, and the captured data is sequentially output based on the second clock.
  • the output (first FIFO output) O1 of the FIFA 31' is input to the output state machine 33'as a signal A
  • the output (second FIFO output) O2 is input to the output state machine 33'as a signal B, and the flip-flop 32. Is input to the data terminal of.
  • the FIFA 31' receives the output number control signal Next_Num output from the output state machine 33' at the output number control terminal Out_Num.
  • the FIFA 31' receives the output number control signal Next_Num output from the output state machine 33' at the output number control terminal Out_Num.
  • the output state machine 33' is a signal of terminal A (A: O1), a signal of terminal B (B: O2), and a signal of terminal C (C: flip-flop 32). (Output signal of) to generate parallel data in which the same data of 10 bits is continuous.
  • the data "C” in the state "1” is the data in which the output O2 is taken in by the previous clock by the flip-flop 32, so that the data "0" in the state "0" It has the same logical value as "B: O2".
  • the generation of the parallel data having the same 10-bit logical value is, for example, the 2-bit parallel data of the data "C" in the state "3" with respect to the 8-bit parallel data of the data "B” in the state "2". Can be done in the same manner by adding. In this way, the same processing can be performed by controlling the outputs O1 and O2 of the FIFA 31'by the output number control signal Next_Num output from the output state machine 33'.
  • the FIFO 31' either outputs only the second FIFO output (O2) without outputting the first FIFO output (O1) or the first FIFO output (O1: “1” by the control signal from the output state machine 33'.
  • Data is output, and whether to output the data (“2”) to be output in the order following the first FIFO output as the second FIFO output (O2) is controlled.
  • SerDes interface circuit 3 described above is merely an example and can be modified and modified in various ways.
  • the number of bits in which the same data corresponding to the first transmission data (128 MHz 1-bit signal) is continuous is defined as V (10).
  • the same data when the frequency of one clock is W (128 MHz), the frequency of the second clock is X (80 MHz), and the number of bits of parallel data in the second transmission data based on the second clock is Y (16).

Abstract

異なる通信レートのデータ伝送を同じSerDesを使用して行うことができるSerDesインターフェース回路および制御装置の提供を図る。 第1周波数の第1クロック、前記第1クロックに基づいた第1送信データ、および、前記第1周波数とは異なる第2周波数の第2クロックを受け取り、前記第1送信データを前記第2クロックに基づて、入力された順に出力するFIFO31と、前記第2クロックに基いて、前記FIFOの出力を取り込んで保持するフリップフロップ32と、前記FIFOの出力、および、前記フリップフロップの出力を受け取り、前記第2クロックに基いて、前記第1送信データに対応した同じデータが連続するパラレルデータを生成する出力ステートマシン33と、を有する。

Description

SerDesインターフェース回路および制御装置
 この出願で言及する実施例は、SerDesインターフェース回路および制御装置に関する。
 近年、工作機械を制御するコンピュータ数値制御(CNC:Computerized Numerical Control)装置は、様々な機能の実装と共に高速化され、例えば、制御対象となる工作機械とCNC装置間のデータ通信には、大容量の高速データ伝送が可能なSerDes(SERializer/DESerializer:シリアライザ/デシリアライザ)が使用されている。
 SerDesは、例えば、一方の装置で使用されるパラレルデータをシリアルデータに変換して他方の装置に伝送し、その他方の装置で、受け取ったシリアルデータを再びパラレルデータに変換して使用するためのもので、パラレル通信における各ビット間の配線長や浮遊容量に起因するスキューを考慮することなく、また、配線や端子数を低減して高速データ通信を可能とするものである。
 ところで、従来、SerDesを使用したデータ通信に関する様々な提案がなされている。
特開2019-140489号公報 特開2009-109488号公報 特開2011-193068号公報 特開2016-072772号公報
 上述したように、SerDesは、大容量の高速データ通信が可能なため、様々な分野で利用されている。このSerDesは、例えば、ASIC(Application Specific Integrated Circuit)のメーカやテクノロジによって、通信可能な通信レート範囲が決まっているため、SerDesの下限以下の通信レートでは使用することできない。そのため、通信レートの異なる機種(装置や回路ブロック等を含む)による通信を、同じSerDesを使用して行うことは困難になっている。
 また、近年、1つの装置において、異なる仕様の複数のデータ(例えば、通信レート(動作クロック)が異なる複数のデータ)が利用されることがある。そこで、例えば、一方の装置(自装置)において、異なる通信レートのデータを、同じ(1つの)SerDesを使用して所定の通信レートのシリアルデータに変換し、他方の装置(対向装置)に伝送することが求められている。なお、対向装置では、伝送されて来たシリアルデータを、SerDesを使用して、或いは、他の通信インターフェースで処理することになる。
 具体的に、例えば、自装置がCNC装置の場合、180MHzのクロックに基づく16ビットパラレルデータと160MHzのクロックに基づく1ビット信号を、同じSerDesを使用して通信レートが2.88Gbpsのシリアルデータに変換し、対向装置(例えば、工作機械のサーボモータを制御するモータアンプ)に伝送することが求められている。なお、これらの装置は、CNC装置および工作機械に限定されるものではなく、例えば、自装置としてロボット制御装置を適用し、対向装置としてロボット制御装置により制御される産業ロボットや協働ロボット等を適用することもできる。
 さらに、180MHzの16ビットパラレルデータと160MHzの1ビット信号は、単なる例に過ぎず、180MHzや160MHzといったクロックの周波数は適宜変更され得るものであり、16ビットのパラレルデータも16ビットに限定されるものではない。また、160MHzの1ビット信号も、説明を簡略化するために1ビットとしているが、例えば、32ビットや64ビット等の複数ビットのパラレルデータであってもよいのはもちろんである。
 本発明は、上述した課題に鑑み、異なる通信レートのデータ伝送を同じSerDesを使用して行うことができるSerDesインターフェース回路および制御装置の提供を目的とする。
 本発明に係る実施の形態によれば、第1周波数の第1クロック、前記第1クロックに基づいた第1送信データ、および、前記第1周波数とは異なる第2周波数の第2クロックを受け取り、前記第1送信データを前記第2クロックに基づて、入力された順に出力するFIFOと、前記第2クロックに基いて、前記FIFOの出力を取り込んで保持するフリップフロップと、前記FIFOの出力、および、前記フリップフロップの出力を受け取り、前記第2クロックに基いて、前記第1送信データに対応した同じデータが連続するパラレルデータを生成する出力ステートマシンと、を有するSerDesインターフェース回路が提供される。
 開示のSerDesインターフェース回路および制御装置は、異なる通信レートのデータ伝送を同じSerDesを使用して行うことができるという効果を奏する。
 本発明の目的および効果は、特に請求項において指摘される構成要素および組み合わせを用いることによって認識され且つ得られるだろう。前述の一般的な説明および後述の詳細な説明の両方は、例示的および説明的なものであり、特許請求の範囲に記載されている本発明を制限するものではない。
図1は、本発明に係る制御装置の一実施形態を示すブロック図である。 図2は、図1に示す制御装置におけるSerDesの一例を説明するための図である。 図3は、図1に示す制御装置におけるSerDesインターフェース回路の第1実施例を説明するための図である。 図4は、図3に示すSerDesインターフェース回路の動作を説明するための図である。 図5は、図1に示す制御装置におけるデータリカバリ回路の一例を示すブロック図である。 図6は、図5に示すデータリカバリ回路の動作を説明するための図である。 図7は、図3に示すSerDesインターフェース回路の他の適用例を説明するための図である。 図8は、図7に示すSerDesインターフェース回路の動作を説明するための図である。 図9は、図1に示す制御装置におけるSerDesインターフェース回路の変形例を説明するための図である。 図10は、図9に示すSerDesインターフェース回路における出力数制御機能付きFIFOを説明するための図である。
 以下、本発明に係るSerDesインターフェース回路および制御装置の実施例を、添付図面を参照して詳述する。図1は、本発明に係る制御装置の一実施形態を示すブロック図である。
 図1に示されるように、本実施形態の制御装置10は、新通信制御回路1、互換通信制御回路2、SerDesインターフェース回路3、データリカバリ(Data Recovery:DR)回路4、ビット変換回路5、セレクタ6、および、SerDes(シリアライザ/デシリアライザ)7を有する。
 制御装置10は、例えば、新通信制御回路1を介した180MHzの16ビットパラレルデータ(周波数が180MHzのクロックに基づく16ビットのパラレルデータ:第2送信データ)、および、互換通信制御回路2を介した160MHzの1ビット信号(周波数が160MHzのクロックに基づく1ビットの信号:第1送信データ)を、SerDes7により、通信レートが2.88Gbps(ビット/秒)のシリアルデータに変換して、対向装置(通信相手側の装置)200との間で授受する。
 例えば、対向装置200にもSerDesを設け、制御装置10(自装置100)から送られた、2.88Gbpsのシリアルデータをパラレルデータに変換して使用することができる。すなわち、対向装置200のSerDesにより、2.88Gbpsのシリアルデータを、180MHzの16ビットパラレルデータ、および、160MHzの信号に変換し、例えば、180MHzの16ビットパラレルデータにより制御される回路、および、160MHzの信号により制御される回路に入力するようにしてもよい。
 或いは、対向装置200にSerDesを設けずに、他の通信インターフェース回路を利用して、送られてきたシリアルデータを処理することもできる。なお、互換通信制御回路2を介した160MHzの信号は、説明を簡略化するために1ビットとしているが、複数ビットのパラレルデータであってもよいのは前述した通りである。
 ここで、自装置100としては、例えば、CNC装置およびロボット制御装置といった様々な制御装置を挙げることができ、また、対向装置200としては、CNC装置により制御される種々の工作機械および産業ロボットや協働ロボットといった装置(或いは、その工作機械およびロボットにおける電動機を制御するためのモータアンプ等)を挙げることができるが、これらに限定されるものではない。
 SerDesインターフェース回路3は、互換通信制御回路2から160MHzの1ビット信号(第1送信データ)を受け取り、この第1送信データに対応した(同じ)論理値を有する180MHzのクロックに基づいたパラレルの信号に変換して出力する。セレクタ6は、新通信制御回路1からの180MHzの16ビットパラレルデータ(第2送信データ)と、SerDesインターフェース回路3からの180MHzの16ビットパラレルデータを受け取り、その一方を選択してSerDes7の送信用パラレルデータ入力(TX_pData)に出力する。
 図2は、図1に示す制御装置におけるSerDesの一例を説明するための図である。ここで、図2(a)は、SerDes7の入出力データを示すブロック図、図2(b)は、SerDes7のデータ送信時の処理(パラレル・シリアル変換処理)を説明するための図、そして、図2(c)は、SerDes7のデータ受信時の処理(シリアル・パラレル変換処理)を説明するための図である。なお、SerDesは、特に高速インターフェースにおいて、パラレルインターフェース間をシリアル接続する際などに利用されるが、本実施形態の制御装置10のSerDes7としては、一般的なSerDesを適用することができる。
 図2(a)において、参照符号TX_pDataは、自装置(制御装置10が設けられたこちら側の装置)100から対向装置200に送る送信パラレルデータ(例えば、180MHzのクロックに基づいた16ビットパラレルの送信パラレルデータ:および、送信パラレルデータの入力)を示し、TX_sDataは、送信パラレルデータTX_pDataをシリアルデータに変換して対向装置200に送る送信シリアルデータ(例えば、通信レートが2.88Gbpsの送信シリアルデータ:および、送信シリアルデータの出力)を示す。
 また、図2(a)において、参照符号RX_sDataは、対向装置200から送られてきた受信シリアルデータ(例えば、通信レートが2.88Gbpsの受信シリアルデータ:および、受信シリアルデータの入力)を示し、RX_pDataは、受信シリアルデータRX_sDataをパラレルデータに変換した受信パラレルデータ(例えば、180MHzのクロックに基づいた16ビットパラレルの受信パラレルデータ:および、受信パラレルデータの出力)を示す。なお、pCLKは、送信パラレルデータTX_pDataのクロック(例えば、180MHzのクロック:および、送信パラレルデータのクロックの入力)を示し、RCLKは、受信シリアルデータをCDR(Clock Data Recovery)で受け、その受信シリアルデータから再生したリカバリクロック(および、リカバリクロックの出力)を示す。
 まず、図2(b)に示されるように、データ送信時において、SerDes7は、例えば、180MHzのpCLKに基づいた16ビットの送信パラレルデータTX_pDataを、下位ビットから出力するようにパラレル・シリアル変換し、すなわち、180MHz×16ビットに基いて、通信レートが2.88Gbpsの送信シリアルデータTX_sDataに変換し、対向装置200に出力する。次に、図2(c)に示されるように、データ受信時において、SerDes7は、対向装置200から通信レートが2.88Gbpsの受信シリアルデータRX_sDataを受け取り、16ビットの受信パラレルデータRX_pDataに変換して出力する。
 このように、SerDes7は、動作クロックの周波数をX(例えば、180MHz)とし、パラレルデータのビット数をY(例えば、16ビット)としたとき、シリアルデータの通信レートZは、Z=X×Y[bps](例えば、180MHz×16ビット=2.88Gbps)とすることができる。
 図3は、図1に示す制御装置におけるSerDesインターフェース回路の第1実施例を説明するための図である。ここで、図3(a)は、SerDesインターフェース回路の第1実施例を示すブロック図であり、図3(b)および図3(c)は、図3(a)に示すSerDesインターフェース回路における出力ステートマシンの動作を説明するための図である。図3(a)に示されるように、SerDesインターフェース回路3は、FIFO(出力イネーブル(EN)付きFIFO(First In First Out))31、フリップフロップ(FF)32および出力ステートマシン33を有する。
 FIFO31は、周波数が160MHzの入力用クロック(第1クロック)、160MHzのクロックに基づいた1ビットの信号(160MHzの送信データ:第1送信データ)、および、周波数が180MHzの出力用クロック(第2クロック)を受け取り、第1送信データを第1クロックに基いて取り込み、出力ENが『1』の場合、取り込んだデータを第2クロックに基いて順に出力する。また、出力ENが『0』の場合には、直前の出力を維持する。FIFO31の出力は、信号Aとして出力ステートマシン33に入力されると共に、フリップフロップ32のデータ端子に入力される。ここで、第2クロックの周波数は、図1を参照して説明した新通信制御回路1から出力される16ビットのパラレルデータの動作クロック(180MHz)に対応している。
 フリップフロップ32のクロック端子には、180MHzの第2クロックが入力され、FIFO31からの第1送信データを、第2クロックに基いて取り込んで保持し、その保持しているデータを、信号Bとして出力ステートマシン33に出力する。すなわち、出力ステートマシン33は、あるタイミングにおけるFIFO31からの第1送信データ(A:FIFO出力)と、そのタイミングよりも、第2クロックの1クロック分前のタイミングにおけるFIFO31からの第1送信データ(B:FF出力)を受け取ることになる。なお、出力ステートマシン33のクロック入力端子には、第2クロックが入力され、また、FIFO31の出力イネーブル端子には、出力ステートマシン33からのイネーブル信号(EN)が入力されるようになっている。
 出力ステートマシン33は、端子Aに入力された信号(A)と、端子Bに入力された信号(B)に基づいて、例えば、シリアルデータにおいて、18ビット同じデータが連続する(同じ論理値を有する)パラレルデータを生成する。ここで、図3(b)において、例えば、状態「1」におけるデータ「B」は、フリップフロップ32により1つ前のクロック(180MHz)により取り込まれたデータであるため、状態「0」におけるデータ「A」と同じ論理値を有している。そこで、状態「0」におけるデータ「A」の16ビットのパラレルデータに対して、状態「1」におけるデータ「B」の2ビットのパラレルデータを加えることにより、18ビット同じ論理値を有する16ビットのパラレルデータが生成される。
 同様に、例えば、状態「1」におけるデータ「A」の14ビットのパラレルデータに対して、状態「2」におけるデータ「B」の4ビットのパラレルデータを加えることにより、18ビット同じ論理値を有する16ビットのパラレルデータが生成され、さらに、状態「4」におけるデータ「A」の8ビットのパラレルデータに対して、状態「5」におけるデータ「B」の10ビットのパラレルデータを加えることにより、18ビット同じ論理値を有する16ビットのパラレルデータが生成される。また、状態「7」のENが『0』のため、状態「8」ではFIFO出力が更新されず、状態「7」の「A」と状態「8」の「B」に入力したデータの次のFIFO出力データは、状態「0」の「A」と状態「1」の「B」に入力される。
 このようにして、例えば、互換通信制御回路2からの160MHzの1ビット信号を8ビット分、状態「0」から状態「8」の間に処理し、それが繰り返されることになる。図3(c)は、図3(a)のFIFO31にD0,D1,D2,…(ここで、D0,D1,D2,…は、それぞれ『0』または『1』)とデータが入力した場合における、1クロック(180MHz)毎のFIFO31、FF32および出力ステートマシン33の入出力信号および内部状態を示す。
 図3(c)に示されるように、例えば、状態「8」では、「A」が出力ステートマシン33のパラレルデータに現れないため、FIFO31における出力データの更新を止める必要があり、状態「7」でENを『0』にする。また、状態「8」におけるFIFO31の出力「A」と状態「0」におけるFF32の出力「B」は、両方ともD8となっているが、パラレルデータに影響することはない(すなわち、FIFO31のデータ更新を止めたためD8となっているが、別に『0』でも『1』でもかまわない)。このように、図3(c)から、状態「0」から状態「8」までの1セットで8ビットのデータが、18ビットずつパラレルデータとして出力されていることが理解されるであろう。
 ここで、出力ステートマシン33が生成したパラレルデータ(16ビットパラレルデータ)において、第1送信データ(160MHzの1ビットの信号)に対応した同じデータが連続するビット数をV(18)、第1クロックの周波数をW(160MHz)、第2クロックの周波数をX(180MHz)、そして、第2クロックに基づいた第2送信データにおけるパラレルデータのビット数をY(16)としたとき、同じデータが連続するビット数Vは、V=(X×Y)/Wで表すことができる。
 以上において、FIFO31に入力する第1送信データが複数ビットの場合、例えば、互換通信制御回路2からの信号が160MHzの複数の信号の場合でも、実質的に同様の処理を行うことが可能である。
 図4は、図3に示すSerDesインターフェース回路の動作を説明するための図である。上述したように、送信パラレルデータTX_pDataとして、SerDesインターフェース回路3(出力ステートマシン33)により生成した「1111111111111111」のような連続した同じデータをSerDes7に入力することにより、実質的な通信レートを下げることができる。
 図4に示されるように、例えば、2.88Gbpsの通信レートで160Mbpsの信号を送る場合、160Mbps(MHz)の1ビットの信号を同じSerDes7(同じ通信レート)で送るには、2.88G/160M=18なので、160Mbpsの1ビットの信号を18ビット同じデータが連続するパラレルデータに変換してSerDes7に入力することになる。
 これにより、SerDesインターフェース回路3(出力ステートマシン33)は、180MHzの16ビットパラレルデータを出力するが、160Mbpsの1ビットに対応するデータは、同じ論理値を18ビット分連続させたパラレルデータとなっているため、実質的に、送信シリアルデータTX_sDataの通信レートを下げてデータ伝送を行うことになる。これにより、異なる通信レート(異なる規格)のデータ伝送を、同じSerDes7を使用して行うことが可能になる。
 図5は、図1に示す制御装置におけるデータリカバリ回路の一例を示すブロック図であり、図6は、図5に示すデータリカバリ回路の動作を説明するための図である。図5において、参照符号RX_sDataは受信シリアルデータ、REFCLKは基準クロック、RX_pDataはnビットの受信パラレルデータ、RCLKは通信レートの1/nの周波数のリカバリクロック、そして、Edg_dataはエッジ位置データを示す。また、参照符号Calc_edgはエッジ予測位置データ、Sample_pointはサンプリング位置データ、cntupは位相を進めるための位相制御信号、cntdnは位相を遅らせるための位相制御信号、rdataはリカバリデータ、そして、Rdata_enはデータイネーブル信号を示す。
 図5に示すデータリカバリ(DR)回路4は、先に記載した特許文献4で開示されたデータ再生回路に対応するものである。前に、図1および図2を参照して説明したように、例えば、SerDes7により、通信レートが2.88Gbpsの受信シリアルデータRX_sDataを、180MHzのクロックに基づいた16ビットパラレルの受信パラレルデータRX_pDataに変換する。そして、図1に示されるように、このSerDes7により変換された受信パラレルデータRX_pDataがDR回路4に入力される。なお、DR回路4は、2ビットの信号をデータイネーブルRdata_enと共に、ビット変換回路5に出力し、ビット変換回路5は、データイネーブルRdata_enに基いて1ビットの信号を生成し、互換通信制御回路2に対して、160MHzの1ビット信号を出力する。すなわち、DR回路4およびビット変換回路5は、SerDes7により変換された受信パラレルデータRX_pDataを受け取り、160MHzの1ビット信号(第1送信データ)と同じ規格の信号に変換して、互換通信制御回路2に出力する変換処理回路を構成する。
 図5に示されるように、DR回路4は、オーバーサンプリング部(SerDes)7からの信号(受信パラレルデータRX_pDataおよびリカバリクロックRCLK)を受け取る。オーバーサンプリング部7は、シリアル通信で受信したシリアルデータ(受信シリアルデータ)RX_sDataをシリアルデータの通信レートよりも高い周波数のクロックでサンプリングし、n(nは2以上の整数)ビットの受信パラレルデータRX_pData、および、そのサンプリングクロックの1/nの周波数のリカバリクロックRCLKを出力する。
 DR回路4は、エッジ検出部41、エッジ位置計算部42、データサンプリング部43および位相比較部44を有する。エッジ検出部41は、図6に示されるように、パラレルデータのエッジ位置を検出し、エッジデータとして出力する。エッジ位置計算部42は、オーバーサンプリング部7が出力する次回のパラレルデータのエッジ位置を位相比較部44が出力する位相制御信号から予測し、エッジ予測位置データとして出力し、さらに、エッジ予測位置データから半位相ずらしたデータをサンプリング位置データとして出力する。
 位相比較部44は、エッジ検出部41が出力したエッジデータと、エッジ位置計算部42が出力したエッジ予測位置データとを比較し、位相制御信号(cntup,cntdn)を出力する。データサンプリング部43は、オーバーサンプリング部7が出力するパラレルデータからエッジ位置計算部42が出力するサンプリング位置データによりデータの抽出を行い、すなわち、図6に示されるように、データ中心をサンプリングし、リカバリデータ(再生データ)として、データの有効性を示すデータイネーブルRdata_enと共に出力する。
 そして、例えば、DR回路4から出力される2ビットの信号は、ビット変換回路5により、データイネーブルRdata_enに基いて1ビットの信号とされ、ビット変換回路5から互換通信制御回路2に対して、160MHzの1ビット信号が出力される。このようにして、制御装置10は、データ送信およびデータ受信の両方において、異なる通信レート(異なる規格)のデータ伝送を同じSerDesを使用して行うことが可能になる。なお、DR回路4およびビット変換回路5は、単なる例であり、様々な変更および変形が可能であり、また、知られている様々な回路を適用することが可能である。
 図7は、図3に示すSerDesインターフェース回路の他の適用例を説明するための図である。ここで、図7(a)は、SerDesインターフェース回路の他の適用例を示すブロック図であり、図7(b)は、図7(a)に示すSerDesインターフェース回路における出力ステートマシンの動作を説明するための図である。なお、図7(a)の構成は、実質的に、前述した図3(a)と同様であり、その説明は省略する。
 前述した図3および図4は、180MHzのクロックに基づく16ビットパラレルデータと160MHzのクロックに基づく1ビットの信号を、SerDes7を介して2.88Gbpsのシリアルデータに変換して対向装置200へ伝送する場合のSerDesインターフェース回路3の適用例を示しているが、図7および図8は、120MHzのクロックに基づく18ビットパラレルデータと90MHzのクロックに基づく1ビットの信号を、SerDes7を介して2.16Gbpsのシリアルデータに変換して対向装置200へ伝送する場合のSerDesインターフェース回路3の適用例を示すものである。
 出力ステートマシン33は、端子Aに入力された信号(A:FIFO出力)と、その信号(A)を1クロック分前のタイミングで取り込んで保持したフリップフロップの出力である端子Bに入力された信号(B:FF出力)を使用して、例えば、シリアルデータにおいて、24ビット同じデータが連続する(同じ論理値を有する)パラレルデータを生成する。この出力ステートマシン33(SerDesインターフェース回路3)が出力する信号は、新通信制御回路1から出力される120MHzの18ビットのパラレルデータに対応している。
 すなわち、図7(b)に示されるように、出力ステートマシン33は、信号AおよびBから24ビット同じ論理値を有するパラレルデータを生成するが、例えば、状態「1」におけるデータ「B」は、フリップフロップ32により1つ前のクロックにより取り込まれたデータであるため、状態「0」におけるデータ「A」と同じ論理値を有している。そこで、状態「0」におけるデータ「A」の18ビットのパラレルデータに対して、状態「1」におけるデータ「B」の6ビットのパラレルデータを加えることにより、24ビット同じ論理値を有する18ビットのパラレルデータが生成される。
 同様に、例えば、状態「1」における信号Aの12ビットのパラレルデータに対して、状態「2」における信号Bの12ビットのパラレルデータを加えることにより、24ビット同じ論理値を有する18ビットのパラレルデータが生成される。また、状態「2」のENが『0』のため、状態「3」ではFIFO31の出力が更新されず、状態「2」の「A」と状態「3」の「B」に入力したデータの次のFIFO31の出力データは、状態「0」の「A」と状態「1」の「B」に入力される。このようにして、例えば、互換通信制御回路2からの90MHzの1ビット信号を3ビット分、状態「0」から状態「3」の間に処理し、それが繰り返されることになる。
 図8は、図7に示すSerDesインターフェース回路の動作を説明するための図である。上述したように、送信パラレルデータTX_pDataとして、SerDesインターフェース回路3(出力ステートマシン33)により生成した「111111111111111111」のような連続した同じデータを入れることにより、実質的な通信レートを下げることができる。
 すなわち、図8に示されるように、例えば、2.16Gbpsの通信レートで120Mbpsの信号を送る場合、90Mbpsの1ビットの信号を同じSerDes7(同じ通信レート)で送るには、2.16G/120M=24なので、90Mbpsの1ビットの信号を24ビット同じデータが連続するパラレルデータに変換してSerDes7に入力すればよい。
 これにより、SerDesインターフェース回路3(出力ステートマシン33)は、120MHzの18ビットパラレルデータを出力するが、90Mbpsの1ビットに対応するデータは、同じ論理値を24ビット分連続させたパラレルデータとなるため、実質的に、送信シリアルデータTX_sDataの通信レートを下げてデータ伝送を行うことになる。これにより、異なる通信レートのデータ伝送を、同じSerDes7を使用して行うことが可能になる。
 ここで、出力ステートマシン33が生成したパラレルデータ(18ビットパラレルデータ)において、第1送信データ(90MHzの1ビットの信号)に対応した同じデータが連続するビット数をV(24)、第1クロックの周波数をW(90MHz)、第2クロックの周波数をX(120MHz)、そして、第2クロックに基づいた第2送信データにおけるパラレルデータのビット数をY(18)としたとき、同じデータが連続するビット数Vは、V=(X×Y)/Wで表すことができる。
 図9は、図1に示す制御装置におけるSerDesインターフェース回路の変形例を説明するための図である。ここで、図9(a)は、SerDesインターフェース回路の変形例を示すブロック図であり、図9(b)は、図9(a)に示すSerDesインターフェース回路における出力ステートマシンの動作を説明するための図である。なお、図9(a)と、図3(a)および図7(a)の比較から明らかなように、本変形例のSerDesインターフェース回路3では、出力イネーブル付きFIFO31が出力数制御機能付きFIFO31’とされ、それに対応して出力ステートマシン33が出力ステートマシン33’とされている。さらに、本変形例では、80MHzのクロックに基づく16ビットパラレルデータと128MHzのクロックに基づく1ビットの信号を、SerDes7を介して1.28Gbpsのシリアルデータに変換して対向装置へ伝送する場合のSerDesインターフェース回路3の適用例を示している。
 図9(a)に示されるように、FIFO31’は、周波数が128MHzの入力用クロック(第1クロック)、128MHzのクロックに基づいた1ビットの信号(動作周波数が128MHzの送信データ:第1送信データ)、および、周波数が80MHzの出力用クロック(第2クロック)を受け取り、第1送信データを第1クロックに基いて取り込み、取り込んだデータを第2クロックに基いて順に出力する。FIFO31’の出力(第1FIFO出力)O1は、信号Aとして出力ステートマシン33’に入力され、出力(第2FIFO出力)O2は、信号Bとして出力ステートマシン33’に入力されると共に、フリップフロップ32のデータ端子に入力される。
 さらに、FIFO31’は、出力ステートマシン33’から出力される出力数制御信号Next_Numを、出力数制御端子Out_Numで受け取る。本変形例において、例えば、80MHzの16ビットパラレルデータと128MHzの1ビットの信号を通信レート1.28GbpsのSerDes7を介して送るには、1.28G/128M=10なので、128MHzの1ビットの信号を10ビット同じデータが連続するパラレルデータに変換してSerDes7に入力すればよいことになる。
 図10は、図9に示すSerDesインターフェース回路における出力数制御機能付きFIFOを説明するための図であり、図10(a)は、Out_Num=1の場合を示し、図10(b)は、Out_Num=2の場合を示す。
 まず、図10(a)に示されるように、Out_Num=1の場合、最初に入力されて格納しているデータ(最初に出力するデータ:FIFOの「1」に格納されているデータ)を出力(第1FIFO出力)O2に出力し、出力(第2FIFO出力)O1には何も出力しない。次に、図10(b)に示されるように、Out_Num=2の場合、FIFOの「1」に格納されているデータ)を出力O1に出力すると共に、FIFOの「2」に格納されているデータ(「1」の次に出力するデータ)を出力O2に出力する。これにより、前述した図3および図4を参照して説明した例、並びに、図7および図8を参照して説明した例と同様に、異なる通信レート(異なる規格)のデータ伝送を、同じSerDes7を使用して行うことが可能になる。
 すなわち、図9(b)に示されるように、出力ステートマシン33’は、端子Aの信号(A:O1)、端子Bの信号(B:O2)および端子Cの信号(C:フリップフロップ32の出力信号)から10ビット同じデータが連続するパラレルデータを生成する。ここで、図9(b)において、例えば、状態「1」におけるデータ「C」は、フリップフロップ32により1つ前のクロックにより出力O2を取り込んだデータであるため、状態「0」におけるデータ「B:O2」と同じ論理値を有している。そこで、状態「0」におけるデータ「A」の10ビット同じデータが連続するパラレルデータが生成されるいうだけでなく、状態「0」におけるデータ「B」の6ビットのパラレルデータに対して、状態「1」におけるデータ「C」の4ビットのパラレルデータを加えた10ビット同じ論理値を有するパラレルデータも生成される。
 この10ビット同じ論理値を有するパラレルデータの生成は、例えば、状態「2」におけるデータ「B」の8ビットのパラレルデータに対して、状態「3」におけるデータ「C」の2ビットのパラレルデータを加えることによっても同様に行うことができる。このように、出力ステートマシン33’から出力される出力数制御信号Next_NumによりFIFO31’の出力O1およびO2を制御することにより、同様の処理を行うことができる。
 すなわち、FIFO31’は、出力ステートマシン33’からの制御信号により、第1FIFO出力(O1)を出力せずに第2FIFO出力(O2)のみを出力するか、或いは、第1FIFO出力(O1:「1」のデータ)を出力し、第2FIFO出力(O2)として第1FIFO出力の次の順番で出力するデータ(「2」)を出力するか、が制御されるようになっている。なお、上述したSerDesインターフェース回路3は、単なる例であり、様々な変更よび変形が可能なのはいうまでもない。
 ここで、出力ステートマシン33’が生成したパラレルデータ(16ビットパラレルデータ)において、第1送信データ(128MHzの1ビットの信号)に対応した同じデータが連続するビット数をV(10)、第1クロックの周波数をW(128MHz)、第2クロックの周波数をX(80MHz)、そして、第2クロックに基づいた第2送信データにおけるパラレルデータのビット数をY(16)としたとき、同じデータが連続するビット数Vは、V=(X×Y)/Wで表すことができる。
 以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
 1  新通信制御回路
 2  互換通信制御回路
 3  SerDesインターフェース回路
 4  データリカバリ(DR)回路
 6  セレクタ
 7  SerDes(シリアライザ/デシリアライザ),オーバーサンプリング部
 10  制御装置
 31  FIFO(出力イネーブル付きFIFO)
 31’  FIFO(出力数制御機能付きFIFO)
 32  フリップフロップ(FF)
 33,33’  出力ステートマシン
 41  エッジ検出部
 42  エッジ位置計算部
 43  データサンプリング部
 44  位相比較部
 100  自装置(制御装置)
 200  対向装置

Claims (14)

  1.  第1周波数の第1クロック、前記第1クロックに基づいた第1送信データ、および、前記第1周波数とは異なる第2周波数の第2クロックを受け取り、前記第1送信データを前記第2クロックに基づて、入力された順に出力するFIFOと、
     前記第2クロックに基いて、前記FIFOの出力を取り込んで保持するフリップフロップと、
     前記FIFOの出力、および、前記フリップフロップの出力を受け取り、前記第2クロックに基いて、前記第1送信データに対応した同じデータが連続するパラレルデータを生成する出力ステートマシンと、
     を有することを特徴とするSerDesインターフェース回路。
  2.  前記出力ステートマシンが生成したパラレルデータにおいて、前記第1送信データに対応した同じデータが連続するビット数をV、前記第1クロックの周波数をW、前記第2クロックの周波数をX、そして、前記第2クロックに基づいた第2送信データのパラレルデータのビット数をYとしたとき、
     前記出力ステートマシンは、以下の式で規定される、前記第2クロックに基いたVビット同じデータが連続するパラレルデータを出力する、
      V=(X×Y)/W
     ことを特徴とする請求項1に記載のSerDesインターフェース回路。
  3.  前記出力ステートマシンが出力するパラレルデータのビット数は、前記第2送信データのパラレルデータのビット数Yと同じである、
     ことを特徴とする請求項2に記載のSerDesインターフェース回路。
  4.  前記出力ステートマシンは、前記FIFOからのFIFO出力、および、前記FIFOからのFIFO出力を前記第2クロックの1クロック分前に取り込んだ前記フリップフロップからのFF出力を受け取り、前記FIFO出力および前記FF出力に基いて前記Vビット同じデータが連続するパラレルデータを生成する、
     ことを特徴とする請求項2または請求項3に記載のSerDesインターフェース回路。
  5.  前記FIFOは、前記出力ステートマシンからの制御信号により、イネーブル制御される、
     ことを特徴とする請求項4に記載のSerDesインターフェース回路。
  6.  前記出力ステートマシンは、前記FIFOからの第1FIFO出力および第2FIFO出力、並びに、前記第2FIFO出力を前記第2クロックの1クロック分前に取り込んだ前記フリップフロップからのFF出力を受け取り、前記第1FIFO出力、前記第2FIFO出力および前記FF出力に基いて前記Vビット同じデータが連続するパラレルデータを生成する、
     ことを特徴とする請求項2または請求項3に記載のSerDesインターフェース回路。
  7.  前記FIFOは、前記出力ステートマシンからの制御信号により、
      前記第1FIFO出力を出力せずに前記第2FIFO出力のみを出力するか、或いは、
      前記第1FIFO出力を出力し、前記第2FIFO出力として前記第1FIFO出力の次の順番で出力するデータを出力するか、が制御される、
     ことを特徴とする請求項6に記載のSerDesインターフェース回路。
  8.  第1周波数の第1クロックに基づいた第1送信データ、および、前記第1周波数とは異なる第2周波数の第2クロックに基づいたYビットパラレルの第2送信データを処理する制御装置であって、
     前記第2送信データを所定の通信レートのシリアルデータに変換するSerDesと、
     前記第1送信データを受け取り、前記第1送信データに対応した同じデータが連続するYビットパラレル信号に変換して出力するSerDesインターフェース回路と、
     前記第2送信データおよび前記SerDesインターフェース回路の出力の一方を選択して前記SerDesに出力するセレクタと、
     を有することを特徴とする制御装置。
  9.  前記SerDesインターフェース回路は、請求項1乃至請求項7のいずれか1項に記載のSerDesインターフェース回路である、
     ことを特徴とする請求項8に記載の制御装置。
  10.  前記第2クロックの周波数をXとし、前記SerDesにより変換するシリアルデータの所定の通信レートをZとしたとき、前記所定の通信レートZは、Z=X×Yで表される、
     ことを特徴とする請求項8または請求項9に記載の制御装置。
  11.  前記SerDesは、送られてきた所定の通信レートの受信シリアルデータを受信パラレルデータに変換する機能を有し、
     前記SerDesにより変換された前記受信パラレルデータを受け取り、前記第1送信データと同じ規格の信号に変換する変換処理回路を、さらに、有する、
     ことを特徴とする請求項8乃至請求項10のいずれか1項に記載の制御装置。
  12.  前記制御装置は、対向装置との間でシリアルデータによるデータ伝送を行い、
     前記対向装置は、前記制御装置からのシリアルデータに基づいて動作が制御される、
     ことを特徴とする請求項8乃至請求項11のいずれか1項に記載の制御装置。
  13.  前記制御装置は、CNC装置であり、
     前記対向装置は、前記CNC装置により制御される工作機械である、
     ことを特徴とする請求項12に記載の制御装置。
  14.  前記制御装置は、ロボット制御装置であり、
     前記対向装置は、前記ロボット制御装置により制御される産業ロボットまたは協働ロボットである、
     ことを特徴とする請求項12に記載の制御装置。
PCT/JP2021/005703 2020-02-21 2021-02-16 SerDesインターフェース回路および制御装置 WO2021166906A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022501905A JP7332783B2 (ja) 2020-02-21 2021-02-16 SerDesインターフェース回路および制御装置
US17/793,723 US20230066398A1 (en) 2020-02-21 2021-02-16 SerDes INTERFACE CIRCUIT AND CONTROL DEVICE
CN202180015887.XA CN115136497A (zh) 2020-02-21 2021-02-16 SerDes接口电路以及控制装置
DE112021001161.8T DE112021001161T5 (de) 2020-02-21 2021-02-16 SerDes-Schnittstellenschaltung und Steuervorrichtung

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020027946 2020-02-21
JP2020-027946 2020-02-21

Publications (1)

Publication Number Publication Date
WO2021166906A1 true WO2021166906A1 (ja) 2021-08-26

Family

ID=77392267

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/005703 WO2021166906A1 (ja) 2020-02-21 2021-02-16 SerDesインターフェース回路および制御装置

Country Status (5)

Country Link
US (1) US20230066398A1 (ja)
JP (1) JP7332783B2 (ja)
CN (1) CN115136497A (ja)
DE (1) DE112021001161T5 (ja)
WO (1) WO2021166906A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010535453A (ja) * 2007-08-02 2010-11-18 フェアチャイルド セミコンダクター コーポレイション シリアルストリームを介してlcd、カメラ、キーパッド、及びgpioデータをインタリーブ、及び、直列化/非直列化する方法、及び回路
JP2018533791A (ja) * 2015-11-12 2018-11-15 クアルコム,インコーポレイテッド 高速シリアルバスを介した低速および高速パラレルビットストリームの通信

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100663362B1 (ko) * 2005-05-24 2007-01-02 삼성전자주식회사 반도체 메모리 장치 및 이 장치의 데이터 라이트 및 리드방법
DE102006050362A1 (de) * 2006-10-25 2008-05-08 Qimonda Ag Synchronisationsvorrichtung und Verfahren zur Datensynchronisation
JP5883101B1 (ja) 2014-09-29 2016-03-09 ファナック株式会社 データ再生回路
US10366039B2 (en) * 2017-04-13 2019-07-30 Nxp B.V. USB link bridge

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010535453A (ja) * 2007-08-02 2010-11-18 フェアチャイルド セミコンダクター コーポレイション シリアルストリームを介してlcd、カメラ、キーパッド、及びgpioデータをインタリーブ、及び、直列化/非直列化する方法、及び回路
JP2018533791A (ja) * 2015-11-12 2018-11-15 クアルコム,インコーポレイテッド 高速シリアルバスを介した低速および高速パラレルビットストリームの通信

Also Published As

Publication number Publication date
JPWO2021166906A1 (ja) 2021-08-26
JP7332783B2 (ja) 2023-08-23
US20230066398A1 (en) 2023-03-02
DE112021001161T5 (de) 2023-02-09
CN115136497A (zh) 2022-09-30

Similar Documents

Publication Publication Date Title
KR100291291B1 (ko) 디지탈비디오전송용블럭코딩
US7183797B2 (en) Next generation 8B10B architecture
US8446921B2 (en) Serial bus device and clock difference compensation method thereof
US6311239B1 (en) Architecture, circuitry and method for transmitting n-bit wide data over m-bit wide media
JP5096024B2 (ja) Usbコントローラ及びusbコントローラ試験方法
US11122187B2 (en) Transmitter, receiver, transmitter/receiver, and transmitting/receiving system
JP2002353929A (ja) 速度折衝装置、速度折衝方法、及び速度折衝手段
WO2021166906A1 (ja) SerDesインターフェース回路および制御装置
US20240104048A1 (en) Transmitting Apparatus, Receiving Apparatus, Parameter Adjustment Method, SerDes Circuit, and Electronic Device
KR20180065119A (ko) 데이터 통신을 위한 수신기
CN105306421A (zh) 一种基于pci-e接口的信号处理方法及信号处理装置
US20050169300A1 (en) Apparatus and related method for serially implementing data transmission
JPH039638A (ja) 高速回線データ送信方式
US8166219B2 (en) Method and apparatus for encoding/decoding bus signal
Nayani et al. Design and Implementation of Uart Protocol for Avionics Applications
CN111258946A (zh) 一种gtx与tlk2711系列芯片的通信方法
US7006527B1 (en) Multistage pipeline bit conversion
US8089860B2 (en) Data transmission system and method
JP4230381B2 (ja) Lvdsシステム、その送信側回路、および、その受信側回路
JPWO2021166906A5 (ja)
JP3044817B2 (ja) 符号変換装置
JP2001069181A (ja) ディジタルデータ伝送方法およびこの方法を実施する装置
US20240146585A1 (en) Electronic device and operation method thereof
KR100202943B1 (ko) 다치논리데이터송신시스템
US20230128574A1 (en) Method for data transmission

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21757276

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022501905

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 21757276

Country of ref document: EP

Kind code of ref document: A1