[go: up one dir, main page]

CN112416848A - Source chip, destination chip, data transmission method and processor system - Google Patents

Source chip, destination chip, data transmission method and processor system Download PDF

Info

Publication number
CN112416848A
CN112416848A CN202011296358.5A CN202011296358A CN112416848A CN 112416848 A CN112416848 A CN 112416848A CN 202011296358 A CN202011296358 A CN 202011296358A CN 112416848 A CN112416848 A CN 112416848A
Authority
CN
China
Prior art keywords
data
waveform
level
encoded data
chip
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
CN202011296358.5A
Other languages
Chinese (zh)
Other versions
CN112416848B (en
Inventor
梁岩
王文根
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.)
Hygon Information Technology Co Ltd
Original Assignee
Hygon Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hygon Information Technology Co Ltd filed Critical Hygon Information Technology Co Ltd
Priority to CN202011296358.5A priority Critical patent/CN112416848B/en
Publication of CN112416848A publication Critical patent/CN112416848A/en
Application granted granted Critical
Publication of CN112416848B publication Critical patent/CN112416848B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dc Digital Transmission (AREA)

Abstract

本申请提供一种源芯片、目的芯片、数据传输方法及处理器系统,包括数据编码模块以及驱动器,数据编码模块与驱动器连接;数据编码模块用于接收串行数据,对串行数据进行编码得到编码数据,并将编码数据传输至驱动器,其中,编码数据的任意相邻两个数据之间均有跳变延;驱动器用于接收编码数据,并将编码数据发往对端的目的芯片,以使对端的目的芯片根据任意相邻两个数据之间均有跳变延的编码数据,将编码数据恢复成串行数据。通过对串行数据的编码,使得编码数据通过跳变延的变化携带有时钟信号,与现有技术中不携带时钟信号,需对端的芯片自适应时钟相比,降低了恢复时钟的难度,减小了数据传输的延迟。

Figure 202011296358

The present application provides a source chip, a destination chip, a data transmission method and a processor system, including a data encoding module and a driver, wherein the data encoding module is connected to the driver; the data encoding module is used for receiving serial data, and encoding the serial data to obtain The encoded data is transmitted to the driver, wherein there is a jump delay between any two adjacent data of the encoded data; the driver is used to receive the encoded data and send the encoded data to the destination chip of the opposite end, so that the The destination chip of the opposite end restores the encoded data to serial data according to the encoded data with a jump delay between any two adjacent data. By encoding the serial data, the encoded data can carry the clock signal through the change of the hopping delay. Compared with the prior art that does not carry the clock signal and needs to adapt the clock to the opposite end of the chip, the difficulty of recovering the clock is reduced, and the The delay of data transmission is reduced.

Figure 202011296358

Description

Source chip, destination chip, data transmission method and processor system
Technical Field
The present application relates to the field of computers, and in particular, to a source chip, a destination chip, a data transmission method, and a processor system.
Background
In the prior art, when data is transmitted between two die chips (die), a source chip often transmits data and a clock signal corresponding to the data to a destination chip, and the destination chip can collect the received data according to the received clock signal. However, since data and a clock signal need to be transmitted simultaneously during transmission, the amount of data to be transmitted is large.
In another mode of the prior art, the source chip may only transmit data to the destination chip, and the destination chip may adjust the frequency of its clock signal through the feedback circuit, so that the frequency of the clock can adapt to the data transmitted by the source chip, and the destination chip collects the received data according to the adjusted frequency of the clock. However, the above method requires the feedback circuit to adjust its own clock, so that the clock recovery circuit is complex and the data transmission delay is large.
Disclosure of Invention
An embodiment of the present invention provides a source chip, a destination chip, a data transmission method, and a processor system, so as to solve the problem of a large delay in data transmission between chip dies in the prior art.
In a first aspect, an embodiment of the present application provides a source chip, including a data encoding module and a driver, where the data encoding module is connected to the driver; the data coding module is used for receiving serial data, coding the serial data to obtain coded data and transmitting the coded data to the driver, wherein any two adjacent data of the coded data have jump delay; the driver is used for receiving the coded data and sending the coded data to a destination chip of an opposite end, so that the destination chip of the opposite end restores the coded data into the serial data according to the coded data with transition delay between any two adjacent data.
In the foregoing embodiment, the data encoding module may encode the serial data to obtain encoded data, so as to implement that any two adjacent data of the encoded data have a transition delay therebetween. Because the jump delay exists between any two adjacent data, when the chip at the opposite end receives one data, the chip at the opposite end can know the change of the jump delay, namely the change of each jump delay corresponds to one received data, thereby equivalently realizing the transmission of clock signals by utilizing the coded data. Through the coding of the serial data, the coded data carries a clock signal through the change of the jump delay, and compared with a chip self-adaptive clock which does not carry the clock signal and needs an opposite terminal in the prior art, the difficulty of clock recovery is reduced, and the delay of data transmission is reduced.
In one possible design, the data encoding module is configured to receive serial data and encode the serial data to obtain encoded data, and specifically includes: receiving current data; judging whether the level state corresponding to the current data is consistent with the level state corresponding to the previous data of the current data; if yes, encoding the current data into an intermediate level; if not, encoding the current data into a level state consistent with the current data.
In the above embodiment, the level state of the current data may be compared with the level state of the previous data to determine whether the level states of the current data and the previous data are consistent, and if so, the level state of the current data may be represented by an intermediate level, and if not, the original level state of the current data may be retained. Through the introduction of the middle level, the level state of the latter data in the two adjacent data can be changed when the two adjacent data are at the same level, so that the condition that the same level does not occur in the two adjacent data is realized.
In one possible design, the data encoding module includes a first digital trigger, a second digital trigger, an exclusive nor operator, and a selector; the CLK end of the first digital trigger is connected with a clock signal line for transmitting a clock signal, the input end of the first digital trigger is connected with a serial data line for transmitting serial data, and the output end of the first digital trigger is connected with the first input end of the exclusive-nor operator; the second input end of the exclusive OR operator is connected with the serial data line, and the output end of the exclusive OR operator is connected with the first input end of the selector; the output end of the selector is connected with the input end of the second digital trigger; the output end of the second digital flip-flop is connected with the second input end of the selector, and the CLK end of the second digital flip-flop is connected with the clock signal line.
In the above embodiment, the first digital flip-flop may delay the serial data by one clock cycle, and the exclusive nor operation may be performed on the serial data and the serial data delayed by one clock cycle to obtain the operation result. The level state of the bit data can be determined according to the specific operation result and the level state of the previous bit data.
In a possible design, the data encoding module is configured to receive the serial data and encode the serial data to obtain encoded data, and specifically includes: performing bit-to-bit exclusive OR operation on the serial data and the serial data delayed by one clock cycle by the first digital trigger by using the exclusive OR operator to obtain an operation result; if the operation result is 0, determining the level of the bit of the serial data corresponding to the operation result in the corresponding bit of the coded data as an original level by using the selector; if the operation result is 1, judging whether the level state of the coded data corresponding to the previous bit of data of the serial data is an intermediate level according to the output result of the second digital trigger; if the level state of the coded data corresponding to the previous bit of data is an intermediate level, determining that the level of the bit of the serial data corresponding to the operation result at the corresponding bit of the coded data is an original level; and if the level state of the coded data corresponding to the previous bit of data is not the intermediate level, determining that the level of the bit of the serial data corresponding to the operation result in the corresponding bit of the coded data is the intermediate level.
In the above-described embodiment, if the operation result is 0, it indicates that the level state of the current bit data is different from the level state of the previous bit data, and the original level of the bit data can be directly output. If the operation result is 1, it indicates that the level state of the current bit data is the same as the actual level state of the previous bit data, and further determination is needed: whether the level state of the previous bit data is changed to the intermediate level. If the level state of the previous bit data is changed into the intermediate level, the level state of the current bit data does not need to be modified, and the original level can be directly output to be distinguished from the level state of the previous bit data; if the level state of the previous bit data is not changed to the intermediate level, the level state of the current bit data needs to be modified to the intermediate level to be distinguished from the level state of the previous bit data.
In a second aspect, the present application provides a destination chip, which, in cooperation with the source chip of the first aspect or any one of the possible designs of the first aspect, includes a first comparator, a second comparator, a clock recovery circuit, and a data recovery circuit; the first comparator is used for receiving encoded data sent by a source chip of an opposite terminal, comparing the encoded data with a first reference level, and making an output of the encoded data, which is higher than the first reference level, be a high level and an output of the encoded data, which is lower than the first reference level, be a low level to obtain a first waveform, wherein the first reference level is between a middle level and the high level; the second comparator is configured to receive the encoded data, compare the encoded data with a second reference level, and output higher than the second reference level in the encoded data is a high level and output lower than the second reference level is a low level to obtain a second waveform, where the second reference level is between the middle level and the low level; the clock recovery circuit is used for acquiring a pulse with a first waveform and a pulse with a second waveform, and performing merging processing on the acquired pulses to acquire a clock recovery signal; the data recovery circuit is used for collecting the coded data according to the clock recovery signal and recovering the coded data into serial data.
In the above embodiment, the first comparator may restore the middle level to the low level through its own reference level to obtain a first waveform; the second comparator can restore the middle level to a high level through the reference level of the second comparator, and a second waveform is obtained. Then the clock recovery circuit can respectively obtain the pulse corresponding to the first waveform turning position and the pulse corresponding to the second waveform turning position, and then the two pulses are processed in parallel, so that a clock recovery signal can be obtained. The data recovery circuit can collect the coded data according to the clock recovery signal and recover the coded data into serial data. Through the cooperation of the first comparator, the second comparator and the clock recovery circuit, the clock signal can be recovered from the coded data.
In one possible design, the clock recovery circuit includes at least one first delay, a first exclusive or operator, at least one second delay, a second exclusive or operator, and an or operator; the at least one first delayer is used for delaying the first waveform; the first exclusive-or operator is used for carrying out exclusive-or operation on the first waveform and the first waveform delayed by the at least one first delayer to obtain a first pulse waveform; the at least one second delayer is used for delaying the second waveform; the second exclusive-or operator is configured to perform exclusive-or operation on the second waveform and the second waveform delayed by the at least one second delay unit to obtain a second pulse waveform; the OR arithmetic unit is used for carrying out OR processing on the first pulse waveform and the second pulse waveform to obtain a pulse fusion waveform, and the pulse fusion waveform is the clock recovery signal.
In the above embodiments, the clock recovery circuit includes a first delay, a first xor operator, a second delay, a second xor operator, and an or operator. The first delay is configured to delay the first waveform, and the first xor operator is configured to perform xor processing on the delayed first waveform and the first waveform to obtain a waveform composed of a pulse signal of the first waveform at the flip position, where the waveform may be referred to as a first pulse waveform. The second exclusive-or operator performs exclusive-or processing on the delayed second waveform and the second waveform to obtain a waveform composed of the pulse signal of the second waveform at the inversion position, and the waveform is referred to as a second pulse waveform. And taking the sum of the first pulse waveform and the second pulse waveform to obtain a pulse fusion waveform, wherein the time interval between two adjacent pulses of the pulse fusion waveform is the same as the time interval between two adjacent data in the coded data, so that the pulse fusion waveform is a clock recovery signal.
In one possible design, the clock recovery circuit further includes a divide-by-two divider, and a CLK terminal of the divide-by-two divider is connected to an output terminal of the or operator; the frequency halving device is used for performing frequency halving processing on the clock recovery signal to obtain a clock recovery signal with a duty ratio of 50%.
In the above embodiment, after obtaining the clock recovery signal, the clock recovery signal may be subjected to a frequency division by a frequency divider to obtain a clock recovery signal with a duty ratio of 50%. The clock recovery signal after the frequency division by two is more stable.
In one possible design, the data recovery circuit is configured to collect the encoded data according to the clock recovery signal and recover the encoded data into serial data, and specifically includes: determining that the received current data is in an intermediate level state; and acquiring the level state of the previous data of the current data, and taking the level state of the previous data as the level state of the current data.
In the above embodiment, when the data recovery circuit recovers the encoded data into serial data, the data recovery circuit may collect the encoded data according to the frequency of the clock recovery signal, and determine whether the received current data is in the intermediate level state according to the comparison result of the first comparator and the second comparator, if not, the high level is recovered to 1 corresponding to the high level, and the low level is recovered to 0 corresponding to the low level. And if the current data is in the intermediate level state, acquiring the level state of the previous data, and determining the numerical value corresponding to the current data according to the level state of the previous data, wherein the recovery process is simple and has small operand.
In a third aspect, the present application provides a data transmission method, which is applied to a source chip, and the method includes: the data coding module of the source chip receives serial data, codes the serial data to obtain coded data, and transmits the coded data to a driver of the source chip, wherein jump delay exists between any two adjacent data of the coded data; and the driver receives the coded data and sends the coded data to a destination chip of an opposite end so that the destination chip of the opposite end processes the coded data.
In the foregoing embodiment, the data encoding module may encode the serial data to obtain encoded data, so as to implement that any two adjacent data of the encoded data have a transition delay therebetween. Because the jump delay exists between any two adjacent data, when the chip at the opposite end receives one data, the chip at the opposite end can know the change of the jump delay, namely the change of each jump delay corresponds to one received data, thereby equivalently realizing the transmission of clock signals by utilizing the coded data. Through the coding of the serial data, the coded data carries a clock signal through the change of the jump delay, and compared with a chip self-adaptive clock which does not carry the clock signal and needs an opposite terminal in the prior art, the difficulty of clock recovery is reduced, and the delay of data transmission is reduced.
In one possible design, the data encoding module receives serial data and encodes the serial data to obtain encoded data, including: receiving current data; judging whether the level state corresponding to the current data is consistent with the level state corresponding to the previous data of the current data; if yes, encoding the current data into an intermediate level; if not, the level state corresponding to the current data is reserved.
In the above embodiment, the level state of the current data may be compared with the level state of the previous data to determine whether the level states of the current data and the previous data are consistent, and if so, the level state of the current data may be represented by an intermediate level, and if not, the original level state of the current data may be retained. Through the introduction of the middle level, the level state of the latter data in the two adjacent data can be changed when the two adjacent data are at the same level, so that the condition that the same level does not occur in the two adjacent data is realized.
In one possible design, the data encoding module includes a first digital trigger, a second digital trigger, an exclusive nor operator, and a selector; the CLK end of the first digital trigger receives a clock signal, the input end of the first digital trigger is used for receiving the serial data, and the output end of the first digital trigger is connected with the first input end of the exclusive-nor operator; the second input end of the exclusive OR operator is used for receiving the serial data, and the output end of the exclusive OR operator is connected with the first input end of the selector; the output end of the selector is connected with the input end of the second digital trigger; the output end of the second digital flip-flop is connected with the second input end of the selector, and the CLK end of the second digital flip-flop is used for receiving the clock signal; the data coding module receives the serial data, codes the serial data to obtain coded data, and comprises: carrying out bit-to-bit exclusive-or operation on the serial data and the serial data delayed by one clock cycle to obtain an operation result; if the operation result is 0, determining the level of the data of the corresponding bit of the serial data to be an original level; if the operation result is 1, judging whether the level state of the previous bit data is an intermediate level; if the level state of the previous bit data is the intermediate level, determining the level of the data of the corresponding bit of the serial data as the original level; and if the level state of the previous bit data is not the intermediate level, determining that the level of the data of the corresponding bit of the serial data is the intermediate level.
In the above embodiment, the first digital flip-flop may delay the serial data by one clock cycle, and the exclusive nor operation may be performed on the serial data and the serial data delayed by one clock cycle to obtain the operation result. The level state of the bit data can be determined according to the specific operation result and the level state of the previous bit data. If the operation result is 0, it indicates that the level state of the current bit data is different from the level state of the previous bit data, and the original level of the bit data can be directly output. If the operation result is 1, it indicates that the level state of the current bit data is the same as the actual level state of the previous bit data, and further determination is needed: whether the level state of the previous bit data is changed to the intermediate level. If the level state of the previous bit data is changed into the intermediate level, the level state of the current bit data does not need to be modified, and the original level can be directly output to be distinguished from the level state of the previous bit data; if the level state of the previous bit data is not changed to the intermediate level, the level state of the current bit data needs to be modified to the intermediate level to be distinguished from the level state of the previous bit data.
In a fourth aspect, the present application provides a data transmission method, which is applied to a destination chip, and the method includes: a first comparator of the destination chip receives encoded data sent by a source chip of an opposite terminal, compares the encoded data with a first reference level, outputs higher than the first reference level in the encoded data are high levels, outputs lower than the first reference level are low levels, a first waveform is obtained, and the first waveform is transmitted to a clock recovery circuit of the destination chip, wherein the first reference level is between a middle level and the high levels; a second comparator of the destination chip receives the encoded data, compares the encoded data with a second reference level, outputs higher than the second reference level in the encoded data are high levels, outputs lower than the second reference level are low levels, a second waveform is obtained, and the second waveform is transmitted to a clock recovery circuit of the destination chip, wherein the second reference level is between the middle level and the low level; the clock recovery circuit acquires the pulse with the inverted waveform of the first waveform and the pulse with the inverted waveform of the second waveform, performs parallel processing on the acquired pulses to acquire a clock recovery signal, and transmits the clock recovery signal to the data recovery circuit of the target chip; and the data recovery circuit collects the coded data according to the clock recovery signal and recovers the coded data into serial data.
In the above embodiment, the first comparator may restore the middle level to the low level through its own reference level to obtain a first waveform; the second comparator can restore the middle level to a high level through the reference level of the second comparator, and a second waveform is obtained. Then the clock recovery circuit can respectively obtain the pulse corresponding to the first waveform turning position and the pulse corresponding to the second waveform turning position, and then the two pulses are processed in parallel, so that a clock recovery signal can be obtained. The data recovery circuit can collect the coded data according to the clock recovery signal and recover the coded data into serial data. Through the cooperation of the first comparator, the second comparator and the clock recovery circuit, the clock signal can be recovered from the coded data.
In one possible design, the clock recovery circuit includes at least one first delay, a first exclusive or operator, at least one second delay, a second exclusive or operator, and an or operator; the clock recovery circuit acquires a pulse with a waveform inversion of a first waveform and a pulse with a waveform inversion of a second waveform, and performs merging processing on the acquired pulses to acquire a clock recovery signal, and the clock recovery circuit includes: the at least one first delay delays the first waveform; the first exclusive-or operator performs exclusive-or operation on the first waveform and the delayed first waveform to obtain a first pulse waveform, wherein the first pulse waveform is a waveform where a pulse signal corresponding to waveform inversion of the first waveform is located; the at least one second delay delays the second waveform; the second exclusive-or operator performs exclusive-or operation on the second waveform and the delayed second waveform to obtain a second pulse waveform, wherein the second pulse waveform is a waveform where a pulse signal corresponding to waveform inversion of the second waveform is located; and the OR arithmetic unit performs OR processing on the first pulse waveform and the second pulse waveform to obtain a pulse fusion waveform, wherein the pulse fusion waveform is the clock recovery signal.
In the above embodiments, the clock recovery circuit includes a first delay, a first xor operator, a second delay, a second xor operator, and an or operator. The first delay is configured to delay the first waveform, and the first xor operator is configured to perform xor processing on the delayed first waveform and the first waveform to obtain a waveform composed of a pulse signal of the first waveform at the flip position, where the waveform may be referred to as a first pulse waveform. The second exclusive-or operator performs exclusive-or processing on the delayed second waveform and the second waveform to obtain a waveform composed of the pulse signal of the second waveform at the inversion position, and the waveform is referred to as a second pulse waveform. And taking the sum of the first pulse waveform and the second pulse waveform to obtain a pulse fusion waveform, wherein the time interval between two adjacent pulses of the pulse fusion waveform is the same as the time interval between two adjacent data in the coded data, so that the pulse fusion waveform is a clock recovery signal.
In one possible design, the clock recovery circuit further includes a divide-by-two divider, and a CLK terminal of the divide-by-two divider is connected to an output terminal of the or operator; after the or operator performs or processing on the first pulse waveform and the second pulse waveform to obtain a pulse fusion waveform, the method further includes: and the frequency halving device performs frequency halving processing on the clock recovery signal to obtain a clock recovery signal with the duty ratio of 50%.
In the above embodiment, after obtaining the clock recovery signal, the clock recovery signal may be subjected to a frequency division by a frequency divider to obtain a clock recovery signal with a duty ratio of 50%. The clock recovery signal after the frequency division by two is more stable.
In one possible design, the data recovery circuit collects the encoded data according to the clock recovery signal and recovers the encoded data into serial data, including: determining that the received current data is in an intermediate level state; and acquiring the level state of the previous data of the current data, and taking the level state of the previous data as the level state of the current data.
In the above embodiment, when the data recovery circuit recovers the encoded data into serial data, the data recovery circuit may collect the encoded data according to the frequency of the clock recovery signal, and determine whether the received current data is in the intermediate level state according to the comparison result of the first comparator and the second comparator, if not, the high level is recovered to 1 corresponding to the high level, and the low level is recovered to 0 corresponding to the low level. And if the current data is in the intermediate level state, acquiring the level state of the previous data, and determining the numerical value corresponding to the current data according to the level state of the previous data, wherein the recovery process is simple and has small operand.
In a fifth aspect, the present application provides a processor system comprising a chip of the first aspect or any one of the possible designs of the first aspect, and a chip of the second aspect or any one of the possible designs of the second aspect.
In order to make the aforementioned and other objects, features and advantages of the present invention comprehensible, preferred embodiments accompanied with figures are described in detail below.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments of the present application will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and that those skilled in the art can also obtain other related drawings based on the drawings without inventive efforts.
FIG. 1 illustrates a prior art application scenario for data transmission between chip dies;
FIG. 2 is a block diagram of a processor system according to an embodiment of the present disclosure;
FIG. 3 shows a schematic structural diagram of a data encoding module;
FIG. 4 shows a corresponding waveform diagram during operation of the data encoding module;
FIG. 5a shows a schematic diagram of the structure of the driver outputting a high state;
FIG. 5b shows a schematic diagram of the structure of the driver output intermediate level state;
FIG. 5c shows a schematic diagram of the structure of the driver outputting a low state;
FIG. 6 illustrates a waveform diagram of one embodiment of encoding serial data into encoded data;
FIG. 7 illustrates waveforms generated by the clock recovery circuit during operation;
FIG. 8 shows a schematic of a clock recovery circuit;
fig. 9 is a schematic flowchart illustrating a data transmission method according to an embodiment of the present application;
fig. 10 is a schematic flow chart illustrating a data transmission method according to another embodiment of the present application;
fig. 11 shows a flowchart illustrating a specific step of step S230 in fig. 10.
Detailed Description
Referring to fig. 1, fig. 1 shows a manner of data transmission between chip dies in a comparative example, and the data transmission of a source chip 100 to a destination chip 200 is explained below. In the embodiments of the present application, the chips mentioned herein are die without specific description.
The transmitted data may be Non Return to Zero (NRZ) codes or Pulse Amplitude Modulation (PAM) codes. NRZ transmits data 0 and 1 through low and high levels, respectively, and PAM codes transmit a plurality of data through encoding using a plurality of levels.
In the source chip 100, the parallel-to-serial conversion module 101 converts four parallel data into one serial data, and sends out the serial data through the driver 102.
In the destination chip 200, data is collected by the first receiver 201 and the second receiver 202 at different clock transitions, respectively. For example, it is not assumed that the first receiver 201 collects data on the rising edge of the clock and the second receiver 202 collects data on the falling edge of the clock. The clock may be a preset clock.
The first receiver 201 and the second receiver 202 perform data acquisition according to a preset clock, transmit the acquired data to the serial-to-parallel conversion module 203 for serial-to-parallel conversion, the serial-to-parallel conversion module 203 converts the two acquired data paths into four parallel data paths again, and transmit the four parallel data paths to the logic module 204.
The logic block 204 may determine whether the data is clocked early or late based on the four received paths of parallel data. If the data leads the clock, the logic block 204 may adjust a Phase Interpolator (PI) block 205 to advance the clock; if the data is behind the clock, the logic block 204 may adjust the PI block 205 to delay the clock.
The PI module 205 may obtain a clock signal from a Phase Locked Loop (PLL) 206, and adjust the clock signal according to an instruction of the logic module 204.
In the above manner of data transmission, the logic module 204 is required to adjust the clock according to the phase relationship between the clock and the data, which results in a large data transmission delay.
In order to solve the problem, the coded data is obtained by coding the serial data, so that any two adjacent data of the coded data have jump delay, and the coded data carry a clock signal through the change of the jump delay, so that the difficulty of clock recovery is reduced.
Referring to fig. 2, fig. 2 shows a processor system provided by an embodiment of the present application, which includes a source chip 100 and a destination chip 200, where the source chip 100 and the destination chip 200 communicate with each other.
The source chip 100 includes a parallel-serial conversion module 101, a data encoding module 110, and a driver 102, and the parallel-serial conversion module 101, the data encoding module 110, and the driver 102 are sequentially connected.
The parallel-serial conversion module 101 is configured to convert four paths of parallel data into one path of serial data, and transmit the serial data to the data encoding module 110.
The data encoding module 110 is configured to receive serial data, encode the serial data to obtain encoded data, and transmit the encoded data to the driver 102, where any two adjacent data of the encoded data have a transition delay therebetween.
Optionally, the data encoding module 110 is specifically configured to: receiving current data; judging whether the level state corresponding to the current data is consistent with the level state corresponding to the previous data of the current data; if yes, encoding the current data into an intermediate level; if not, the level state corresponding to the current data is reserved.
Referring to fig. 6, fig. 6 shows an embodiment of encoding serial data into encoded data, for which: 010011000111, the parallel-serial conversion module 101 may perform data transmission according to the clock signal CLK: one data can be transmitted to the data encoding module 110 every time the transition of the CLK is delayed, that is, one data can be transmitted to the data encoding module 110 at both the rising edge and the falling edge of the CLK.
The data encoding module 110 may convert data 0 into a low level state L, convert data 1 into a high level state H, and determine the level state of the current data as an intermediate level state M when the level state of the current data coincides with the level state of the previous data.
The process of converting three consecutive identical data in serial data into encoded data can be performed as follows:
three consecutive 0 s in the serial data 010011000111 are not taken as an example. If the first 0 is different from the previous level state of data 1, the level state corresponding to the first 0 is L.
The second 0 originally corresponds to the level state L, but since the second 0 originally corresponds to the level state which is the same as the level state corresponding to the first 0, and is L, the level state corresponding to the second 0 can be determined as the intermediate level state M.
The level state originally corresponding to the third 0 is L, and since the level state corresponding to the second 0 is determined as the intermediate level state M and does not coincide with the level state originally corresponding to the third 0, the level state originally corresponding to the third 0 can be output.
In summary, the encoded data corresponding to the serial data 000 is LML.
Through the above processing method, serial data can be obtained: 010011000111 corresponding coded data: LHL MHM LML HMH, it is obvious that there is a transition delay between two adjacent data of the encoded data.
Alternatively, in an embodiment, the data encoding module 110 may also convert data 0 into a high level state H, convert data 1 into a low level state L, and determine the level state of the current data as an intermediate level state M when the level state of the current data is consistent with the level state of the previous data. The correspondence of data values to level states should not be construed as a limitation of the present application.
Referring to fig. 3, in one embodiment, the data encoding module 110 includes a first digital trigger 111, a second digital trigger 112, an exclusive nor operator 113, and a selector 114.
The CLK terminal of the first digital flip-flop 111 is configured to receive a clock signal, the input terminal of the first digital flip-flop 111 is configured to receive serial data, and the output terminal of the first digital flip-flop 111 is connected to the first input terminal of the exclusive nor operator 113.
A second input terminal of the exclusive nor operator 113 is configured to receive serial data, and an output terminal of the exclusive nor operator 113 is connected to the first input terminal of the selector 114.
The output of the selector 114 is connected to the input of the second digital flip-flop 112; the output of the second digital flip-flop 112 is coupled to a second input of the selector 114, and the CLK terminal of the second digital flip-flop 112 is configured to receive the clock signal.
The first digital flip-flop 111 is configured to delay the serial data TxDat by one clock cycle, and the exclusive nor operator 113 is configured to perform exclusive nor operation on the serial data TxDat and the serial data TxDat _ d delayed by one clock cycle, so as to obtain an operation result.
The selector 114 is configured to determine the selection result txwaak output by the current clock cycle selector 114 according to the operation result and the selection result txwaak _ d output by the previous clock cycle selector 114.
Alternatively, referring to fig. 4, when TxDat is the same as or the processing result TxDat _ d is 0, it is determined that the selection result txwaak output by the current clock cycle selector 114 is 0.
When the processing result of TxDat and TxDat _ d is 1 and the selection result txwaak _ d output by the previous clock cycle selector 114 is 0, it is determined that the selection result txwaak output by the current clock cycle selector 114 is 1.
When the processing result of TxDat and TxDat _ d is 1 and the selection result txwaak _ d output by the previous clock cycle selector 114 is 1, it is determined that the selection result txwaak output by the current clock cycle selector 114 is 0.
Wherein txwak is 1, and the driver 102 outputs an intermediate level; txwak is 0 and the driver 102 outputs the level signal corresponding to the serial data.
If the operation result is 0, it indicates that the level state of the current bit data is different from the level state of the previous bit data, and the original level of the bit data can be directly output. If the operation result is 1, it indicates that the level state of the current bit data is the same as the actual level state of the previous bit data, and further determination is needed: whether the level state of the previous bit data is changed to the intermediate level.
If the level state of the previous bit of data is changed to the intermediate level, that is, the selection result txwak _ d output by the previous clock cycle selector 114 corresponding to the level state of the previous bit of data is 1, the level state of the current bit of data does not need to be modified, and the original level can be directly output (that is, the selection result txwak output by the current clock cycle selector 114 is 0) to be distinguished from the level state of the previous bit of data; if the level state of the previous bit of data is not changed to the intermediate level, that is, the selection result txwaak _ d output by the previous clock cycle selector 114 corresponding to the level state of the previous bit of data is 0, the level state of the current bit of data needs to be modified to the intermediate level (that is, the selection result txwaak output by the current clock cycle selector 114 is 1) to be distinguished from the level state of the previous bit of data.
The driver 102 is configured to receive the encoded data and send the encoded data to the chip at the opposite end, so that the chip at the opposite end processes the encoded data.
Referring to fig. 5a to 5c, fig. 5a, 5b, and 5c together show a circuit diagram of an embodiment of the driver 102, the driver 102 includes a first resistor R1, a second resistor R2, a first switch k1, and a second switch k2, wherein the power source is grounded via the first resistor R1, the first switch k1, the second switch k2, and the second resistor R2 in sequence. One end of the transmission line is connected between the first switch k1 and the second switch k2, and the other end of the transmission line is connected with the ground resistor R3 of the opposite chip.
If the first switch k1 is closed and the second switch k2 is open, the transmission line transmits high level VDD/2, see fig. 5a for details; if the first switch k1 and the second switch k2 are both closed, the transmission line transmits an intermediate level VDD/4, see fig. 5b for details; if the first switch k1 is open and the second switch k2 is closed, the transmission line transmits a low level 0, as shown in fig. 5 c. Wherein the high level VDD/2 may correspond to data 1, and the low level 0 may correspond to data 0.
The source chip 100 may control a level state of the output of the driver 102 by controlling the closing or turning off of the first switch k1 or the second switch k 2.
For the source chip 100 provided in this embodiment of the application, the data encoding module 110 may encode serial data to obtain encoded data, so as to implement that any two adjacent data of the encoded data have a transition delay. Because the jump delay exists between any two adjacent data, when the chip at the opposite end receives one data, the chip at the opposite end can know the change of the jump delay, namely the change of each jump delay corresponds to one received data, which is equivalent to the transmission of a clock signal by utilizing the coded data. Through the coding of the serial data, the coded data carries a clock signal through the change of the jump delay, and compared with a chip self-adaptive clock which does not carry the clock signal and needs an opposite terminal in the prior art, the difficulty of clock recovery is reduced, and the delay of data transmission is reduced.
The destination chip 200 may cooperate with the source chip 100 described above. The destination chip 200 includes a first comparator 210, a second comparator 220, a clock recovery circuit 230, a data recovery circuit 240, and a serial-to-parallel conversion module 203.
The first comparator 210 is configured to receive encoded data sent by a chip at an opposite end, compare the encoded data with a first reference level, and output higher than the first reference level in the encoded data is a high level and output lower than the first reference level is a low level to obtain a first waveform. Wherein the first reference level is between the intermediate level and the high level.
The second comparator 220 is configured to receive the encoded data, compare the encoded data with a second reference level, and output higher than the second reference level in the encoded data is a high level, and output lower than the second reference level is a low level, so as to obtain a second waveform. Wherein the second reference level is between the intermediate level and the low level.
Referring to FIG. 6, the first reference level may be a dashed line denoted by D1 for the encoded data position in FIG. 6, and the second reference level may be a dashed line denoted by D2 for the encoded data position in FIG. 6. Fig. 7 shows a first waveform amp _ h obtained by processing the encoded data by the first comparator 210, and a second waveform amp _ l obtained by processing the encoded data by the second comparator 220.
The manner in which the first comparator 210 derives the first waveform from the encoded data is explained in detail below:
taking the first four-digit LHLM of encoded data as an example, please see fig. 6:
the first bit number L is lower than the first reference level D1 of the first comparator 210, and the output is 0;
if the second number H is higher than the first reference level D1 of the first comparator 210, the output is 1;
if the third bit number L is lower than the first reference level D1 of the first comparator 210, the output is 0;
if the fourth bit number M is lower than the first reference level D1 of the first comparator 210, the output is 0;
thus, the first waveform corresponding to the first four bits LHLM of encoded data is 0100.
The judgment can be performed according to each number of the encoded data, so that a complete first waveform amp _ h corresponding to the complete encoded data is obtained.
The manner in which the second comparator 220 derives the second waveform from the encoded data is explained in detail below:
the first four-digit LHLM of the encoded data is also not taken as an example, please see fig. 6:
the first bit number L is lower than the second reference level D2 of the second comparator 220, and the output is 0;
the second bit number H is higher than the second reference level D2 of the second comparator 220, the output is 1;
if the third bit number L is lower than the second reference level D2 of the second comparator 220, the output is 0;
the fourth bit number M is higher than the second reference level D2 of the second comparator 220, and the output is 1;
thus, the second waveform corresponding to the first four bits LHLM of encoded data is 0101.
The judgment can be performed according to each number of the encoded data, so as to obtain a complete second waveform amp _ l corresponding to the complete encoded data.
The clock recovery circuit 230 is configured to obtain a pulse with a waveform inverted from the first waveform and a pulse with a waveform inverted from the second waveform, and perform a combining process on the obtained pulses to obtain a clock recovery signal RXCLK.
Referring to fig. 7, the clock recovery circuit 230 includes at least one first delay 231, a first xor operator 232, at least one second delay 233, a second xor operator 234, an or operator 235, and a frequency divider 236.
The at least one first delay 231 is sequentially connected to delay the first waveform amp _ h and transmit the delayed first waveform to the first exclusive or operator 232. Wherein the delay time of the at least one first delayer 231 for the first waveform is greater than the sum of the change time of the rising edge of the first waveform and the change time of the falling edge of the first waveform.
The first exclusive or operator 232 is configured to perform an exclusive or operation on the first waveform and the delayed first waveform to obtain a first pulse waveform edge _ h. The first delay 231 is configured to delay the first waveform, and the first xor operator 232 is configured to xor the delayed first waveform with the first waveform to obtain a waveform composed of the pulse signal at the inversion position of the first waveform, which may be referred to as a first pulse waveform.
The at least one second delayer 233 is sequentially connected to delay the second waveform amp _ l and transmit the delayed second waveform to the second exclusive or operator 234. Wherein the delay time of the at least one second delayer 233 to the second waveform is greater than the sum of the change time of the rising edge of the second waveform and the change time of the falling edge of the second waveform.
The second exclusive or operator 234 is configured to perform an exclusive or operation on the second waveform and the delayed second waveform to obtain a second pulse waveform edge _ l. The second exclusive or operator 234 exclusive-ors the delayed second waveform and the second waveform to obtain a waveform composed of the pulse signal of the second waveform at the inversion position, which is referred to as a second pulse waveform.
The or arithmetic unit 235 is configured to perform or processing on the first pulse waveform and the second pulse waveform to obtain a pulse fusion waveform, where the pulse fusion waveform is a clock recovery signal edge _ h | edge _ l.
And taking the sum of the first pulse waveform and the second pulse waveform to obtain a pulse fusion waveform edge _ h | edge _ l, wherein the time interval between two adjacent pulses of the pulse fusion waveform edge _ h | edge _ l is the same as the time interval between two adjacent data in the encoded data, so that the pulse fusion waveform is a clock recovery signal.
The frequency divider 236 is configured to divide the clock recovery signal by two to obtain a clock recovery signal RXCLK with a duty ratio of 50%.
The rising edge and the falling edge of the clock recovery signal RXCLK can trigger signal collection, because the clock is recovered from the encoded data, the Jitter characteristic of the clock is consistent with the encoded data, and the difficulty of data recovery is reduced.
After obtaining the clock recovery signal, the clock recovery signal may be further subjected to a frequency division by two by the frequency divider 236, so as to obtain a clock recovery signal with a duty ratio of 50%. The clock recovery signal after the frequency division by two is more stable.
The data recovery circuit 240 is configured to collect encoded data according to the clock recovery signal and recover the encoded data into serial data.
The data recovery circuit 240 is specifically configured to: determining that the received current data is in an intermediate level state; and acquiring the level state of the previous data of the current data, and taking the level state of the previous data as the level state of the current data.
When the data recovery circuit 240 recovers the encoded data into serial data, the encoded data may be collected according to the frequency of the clock recovery signal, and whether the received current data is in the intermediate level state is determined according to the comparison result of the first comparator 210 and the second comparator 220, if not, the high level is recovered to 1 corresponding to the high level, and the low level is recovered to 0 corresponding to the low level. And if the current data is in the intermediate level state, acquiring the level state of the previous data, and determining the numerical value corresponding to the current data according to the level state of the previous data, wherein the recovery process is simple and has small operand.
The serial-to-parallel conversion module 203 is configured to convert the serial data recovered by the data recovery circuit 240 into four parallel data.
Through the cooperation of the first comparator 210, the second comparator 220 and the clock recovery circuit 230, the clock signal can be recovered from the encoded data.
Referring to fig. 9, fig. 9 shows a data transmission method provided in the embodiment of the present application, which is applied to the source chip 100, and specifically includes the following steps S110 to S120:
step S110, a data coding module of a source chip receives serial data, codes the serial data to obtain coded data, and transmits the coded data to a driver of the source chip, wherein any two adjacent data of the coded data have jump delay.
Step S120, the driver receives the encoded data and sends the encoded data to a destination chip of the opposite end, so that the destination chip of the opposite end processes the encoded data.
The data encoding module 110 may encode the serial data to obtain encoded data, so as to implement a transition delay between any two adjacent data of the encoded data. Because the jump delay exists between any two adjacent data, when the chip at the opposite end receives one data, the chip at the opposite end can know the change of the jump delay, namely the change of each jump delay corresponds to one received data, thereby equivalently realizing the transmission of clock signals by utilizing the coded data. Through the coding of the serial data, the coded data carries a clock signal through the change of the jump delay, and compared with a chip self-adaptive clock which does not carry the clock signal and needs an opposite terminal in the prior art, the difficulty of clock recovery is reduced, and the delay of data transmission is reduced.
Optionally, in a specific embodiment, the step S110 specifically includes the following steps: receiving current data; judging whether the level state corresponding to the current data is consistent with the level state corresponding to the previous data of the current data; if yes, encoding the current data into an intermediate level; if not, the level state corresponding to the current data is reserved.
The level state of the current data and the level state of the previous data can be compared to judge whether the level states of the current data and the previous data are consistent, if so, the level state of the current data is represented by an intermediate level, and if not, the original level state of the current data is reserved. Through the introduction of the middle level, the level state of the latter data in the two adjacent data can be changed when the two adjacent data are at the same level, so that the condition that the same level does not occur in the two adjacent data is realized.
Optionally, in another specific embodiment, the step S110 specifically includes the following steps: carrying out bit-to-bit exclusive-or operation on the serial data and the serial data delayed by one clock cycle to obtain an operation result; if the operation result is 0, determining the level of the data of the corresponding bit of the serial data to be an original level; if the operation result is 1, judging whether the level state of the previous bit data is an intermediate level; if the level state of the previous bit data is the intermediate level, determining the level of the data of the corresponding bit of the serial data as the original level; and if the level state of the previous bit data is not the intermediate level, determining that the level of the data of the corresponding bit of the serial data is the intermediate level.
The first digital flip-flop 111 may delay the serial data by one clock cycle, and perform an exclusive nor operation on the serial data and the serial data delayed by one clock cycle to obtain an operation result. The level state of the bit data can be determined according to the specific operation result and the level state of the previous bit data. If the operation result is 0, it indicates that the level state of the current bit data is different from the level state of the previous bit data, and the original level of the bit data can be directly output. If the operation result is 1, it indicates that the level state of the current bit data is the same as the actual level state of the previous bit data, and further determination is needed: whether the level state of the previous bit data is changed to the intermediate level. If the level state of the previous bit data is changed into the intermediate level, the level state of the current bit data does not need to be modified, and the original level can be directly output to be distinguished from the level state of the previous bit data; if the level state of the previous bit data is not changed to the intermediate level, the level state of the current bit data needs to be modified to the intermediate level to be distinguished from the level state of the previous bit data.
Referring to fig. 10, fig. 10 shows a data transmission method provided by the embodiment of the present application, which is applied to the destination chip 200, and specifically includes the following steps S210 to S240:
step S210, a first comparator of a destination chip receives encoded data sent by a source chip of an opposite terminal, compares the encoded data with a first reference level, outputs higher than the first reference level in the encoded data are high levels, and outputs lower than the first reference level are low levels, so as to obtain a first waveform, and transmits the first waveform to a clock recovery circuit of the destination chip.
Wherein the first reference level is between a middle level and a high level.
Step S220, a second comparator of the destination chip receives the encoded data, compares the encoded data with a second reference level, outputs higher than the second reference level in the encoded data are high levels, and outputs lower than the second reference level are low levels, so as to obtain a second waveform, and transmits the second waveform to a clock recovery circuit of the destination chip.
Wherein the second reference level is between the intermediate level and a low level.
In step S230, the clock recovery circuit obtains the pulse with the inverted waveform of the first waveform and the pulse with the inverted waveform of the second waveform, and performs combining processing on the obtained pulses to obtain a clock recovery signal, and transmits the clock recovery signal to the data recovery circuit of the destination chip.
Optionally, referring to fig. 11, in a specific embodiment, the step S230 may include the following steps S231 to S236:
in step S231, at least one first delay 231 delays the first waveform.
In step S232, the first exclusive or operator 232 performs exclusive or operation on the first waveform and the delayed first waveform to obtain a first pulse waveform, where the first pulse waveform is a waveform where a pulse signal corresponding to the waveform inversion of the first waveform is located.
In step S233, at least one second delay 233 delays the second waveform.
In step S234, the second xor operator 234 performs xor operation on the second waveform and the delayed second waveform to obtain a second pulse waveform, where the second pulse waveform is a waveform where a pulse signal corresponding to the waveform inversion of the second waveform is located.
In step S235, the or operator 235 performs or processing on the first pulse waveform and the second pulse waveform to obtain a pulse fusion waveform, where the pulse fusion waveform is the clock recovery signal.
The first exclusive or operator 232 performs exclusive or processing on the delayed first waveform and the first waveform to obtain a waveform composed of the pulse signal of the first waveform at the inversion position, and the waveform can be referred to as a first pulse waveform. The second exclusive or operator 234 exclusive-ors the delayed second waveform and the second waveform to obtain a waveform composed of the pulse signal of the second waveform at the inversion position, which is referred to as a second pulse waveform. And taking the sum of the first pulse waveform and the second pulse waveform to obtain a pulse fusion waveform, wherein the time interval between two adjacent pulses of the pulse fusion waveform is the same as the time interval between two adjacent data in the coded data, so that the pulse fusion waveform is a clock recovery signal.
In step S236, the frequency divider 236 performs frequency division processing on the clock recovery signal to obtain a clock recovery signal with a duty ratio of 50%.
The clock recovery signal is subjected to frequency division by two by the frequency divider 236, and a clock recovery signal with a duty ratio of 50% is obtained. The clock recovery signal after the frequency division by two is more stable.
Step S240, the data recovery circuit collects the encoded data according to the clock recovery signal and recovers the encoded data into serial data.
Optionally, step S240 specifically includes the following steps: determining that the received current data is in an intermediate level state; and acquiring the level state of the previous data of the current data, and taking the level state of the previous data as the level state of the current data.
When the data recovery circuit 240 recovers the encoded data into serial data, the encoded data may be collected according to the frequency of the clock recovery signal, and whether the received current data is in the intermediate level state is determined according to the comparison result of the first comparator and the second comparator, if not, the high level is recovered to 1 corresponding to the high level, and the low level is recovered to 0 corresponding to the low level. And if the current data is in the intermediate level state, acquiring the level state of the previous data, and determining the numerical value corresponding to the current data according to the level state of the previous data, wherein the recovery process is simple and has small operand.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one logical division, and there may be other divisions when actually implemented, and for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of devices or units through some communication interfaces, and may be in an electrical, mechanical or other form.
In addition, units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
Furthermore, the functional modules in the embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
In this document, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions.
The above description is only an example of the present application and is not intended to limit the scope of the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims (11)

1.一种源芯片,其特征在于,包括数据编码模块以及驱动器,所述数据编码模块与所述驱动器连接;1. a source chip, is characterized in that, comprises data encoding module and driver, and described data encoding module is connected with described driver; 所述数据编码模块用于接收串行数据,对所述串行数据进行编码得到编码数据,并将所述编码数据传输至所述驱动器,其中,所述编码数据的任意相邻两个数据之间均有跳变延;The data encoding module is configured to receive serial data, encode the serial data to obtain encoded data, and transmit the encoded data to the driver, wherein any two adjacent data of the encoded data are equal to one another. There are jump delays in between; 所述驱动器用于接收所述编码数据,并将所述编码数据发往对端的目的芯片,以使所述对端的目的芯片根据任意相邻两个数据之间均有跳变延的所述编码数据,将所述编码数据恢复成所述串行数据。The driver is used to receive the encoded data, and send the encoded data to the destination chip of the opposite end, so that the destination chip of the opposite end is based on the code with a jump delay between any two adjacent data. data, and restore the encoded data to the serial data. 2.根据权利要求1所述的源芯片,其特征在于,所述数据编码模块用于接收串行数据,对所述串行数据进行编码得到编码数据,具体包括:2. The source chip according to claim 1, wherein the data encoding module is used for receiving serial data, and encoding the serial data to obtain encoded data, specifically comprising: 接收当前数据;receive current data; 判断所述当前数据对应的电平状态与所述当前数据的前一数据对应的电平状态是否一致;Determine whether the level state corresponding to the current data is consistent with the level state corresponding to the previous data of the current data; 若是,将所述当前数据编码为中间电平;If so, encoding the current data into an intermediate level; 若否,将所述当前数据编码为与所述当前数据相一致的电平状态。If not, encode the current data into a level state consistent with the current data. 3.根据权利要求1所述的源芯片,其特征在于,所述数据编码模块包括第一数字触发器、第二数字触发器、同或运算器以及选择器;3. The source chip according to claim 1, wherein the data encoding module comprises a first digital flip-flop, a second digital flip-flop, an XOR operator and a selector; 所述第一数字触发器的CLK端与传输时钟信号的时钟信号线连接,第一数字触发器的输入端与传输串行数据的串行数据线连接,所述第一数字触发器的输出端与所述同或运算器的第一输入端连接;The CLK terminal of the first digital flip-flop is connected to the clock signal line for transmitting the clock signal, the input terminal of the first digital flip-flop is connected to the serial data line for transmitting serial data, and the output terminal of the first digital flip-flop is connected connected with the first input end of the same-or operator; 所述同或运算器的第二输入端与所述串行数据线连接,所述同或运算器的输出端与所述选择器的第一输入端连接;The second input end of the XOR operator is connected to the serial data line, and the output end of the XOR operator is connected to the first input end of the selector; 所述选择器的输出端与所述第二数字触发器的输入端连接;The output end of the selector is connected with the input end of the second digital flip-flop; 所述第二数字触发器的输出端与所述选择器的第二输入端连接,所述第二数字触发器的CLK端与所述时钟信号线连接。The output terminal of the second digital flip-flop is connected to the second input terminal of the selector, and the CLK terminal of the second digital flip-flop is connected to the clock signal line. 4.根据权利要求3所述的源芯片,其特征在于,所述数据编码模块用于接收所述串行数据,对所述串行数据进行编码得到编码数据,具体包括:4. The source chip according to claim 3, wherein the data encoding module is configured to receive the serial data, encode the serial data to obtain encoded data, and specifically comprises: 利用所述同或运算器将所述串行数据与经所述第一数字触发器延迟一个时钟周期的串行数据进行位与位之间的同或运算,得到运算结果;Using the XOR operator to perform bit-to-bit XOR operation on the serial data and the serial data delayed by one clock cycle through the first digital flip-flop to obtain an operation result; 若所述运算结果为0,则利用所述选择器确定所述串行数据的与所述运算结果对应的位在所述编码数据的对应位的电平为原电平;If the operation result is 0, use the selector to determine that the level of the bit corresponding to the operation result of the serial data in the corresponding bit of the encoded data is the original level; 若所述运算结果为1,根据所述第二数字触发器的输出结果,判断所述串行数据的上一位数据对应的编码数据的电平状态是否为中间电平;If the operation result is 1, according to the output result of the second digital flip-flop, determine whether the level state of the encoded data corresponding to the last bit of the serial data is an intermediate level; 若所述上一位数据对应的编码数据的电平状态是中间电平,则确定所述串行数据的与所述运算结果对应的位在所述编码数据的对应位的电平为原电平;If the level state of the encoded data corresponding to the last bit of data is an intermediate level, it is determined that the level of the bit corresponding to the operation result in the serial data in the corresponding bit of the encoded data is the original level flat; 若所述上一位数据对应的编码数据的电平状态不是中间电平,则确定所述串行数据的与所述运算结果对应的位在所述编码数据的对应位的电平为中间电平。If the level state of the encoded data corresponding to the last bit of data is not an intermediate level, it is determined that the bit of the serial data corresponding to the operation result is at an intermediate level in the corresponding bit of the encoded data. flat. 5.一种目的芯片,其特征在于,与权利要求1-4任一项所述的源芯片相配合,包括第一比较器、第二比较器、时钟恢复电路以及数据恢复电路;5. A purpose chip, characterized in that, in cooperation with the source chip described in any one of claims 1-4, comprising a first comparator, a second comparator, a clock recovery circuit and a data recovery circuit; 所述第一比较器用于接收对端的源芯片发送的编码数据,并将所述编码数据与第一参考电平进行比较,将所述编码数据中高于所述第一参考电平的输出为高电平,低于所述第一参考电平的输出为低电平,得到第一波形,其中,所述第一参考电平在中间电平与高电平之间;The first comparator is used to receive the encoded data sent by the source chip of the opposite end, compare the encoded data with the first reference level, and set the output of the encoded data higher than the first reference level as high level, the output lower than the first reference level is a low level, and a first waveform is obtained, wherein the first reference level is between the middle level and the high level; 所述第二比较器用于接收所述编码数据,并将所述编码数据与第二参考电平进行比较,将所述编码数据中高于所述第二参考电平的输出为高电平,低于所述第二参考电平的输出为低电平,得到第二波形,其中,所述第二参考电平在所述中间电平与低电平之间;The second comparator is configured to receive the encoded data, compare the encoded data with a second reference level, and set the output of the encoded data higher than the second reference level as a high level and a low level. When the output of the second reference level is a low level, a second waveform is obtained, wherein the second reference level is between the middle level and the low level; 所述时钟恢复电路用于获取第一波形的波形翻转的脉冲以及第二波形的波形翻转的脉冲,并对获取到的脉冲进行并处理,获得时钟恢复信号;The clock recovery circuit is used to acquire the waveform-inverted pulse of the first waveform and the waveform-inverted pulse of the second waveform, and perform and process the acquired pulses to obtain a clock recovery signal; 所述数据恢复电路用于根据所述时钟恢复信号采集所述编码数据,并将所述编码数据恢复成串行数据。The data recovery circuit is used for collecting the encoded data according to the clock recovery signal, and recovering the encoded data into serial data. 6.根据权利要求5所述的目的芯片,其特征在于,所述时钟恢复电路包括至少一个第一延时器、第一异或运算器、至少一个第二延时器、第二异或运算器以及或运算器;6. The purpose chip according to claim 5, wherein the clock recovery circuit comprises at least one first delay device, first XOR operator, at least one second delay device, and second XOR operation and OR operator; 所述至少一个第一延时器用于对所述第一波形进行延迟;the at least one first delay device is used for delaying the first waveform; 所述第一异或运算器用于对所述第一波形、经过所述至少一个第一延时器延迟的第一波形进行异或运算,得到第一脉冲波形;The first XOR operator is configured to perform an XOR operation on the first waveform and the first waveform delayed by the at least one first delay device to obtain a first pulse waveform; 所述至少一个第二延时器用于对所述第二波形进行延迟;the at least one second delay device is used to delay the second waveform; 所述第二异或运算器用于对所述第二波形、经过所述至少一个第二延时器延迟的第二波形进行异或运算,得到第二脉冲波形;The second XOR operator is configured to perform an XOR operation on the second waveform and the second waveform delayed by the at least one second delay device to obtain a second pulse waveform; 所述或运算器用于对所述第一脉冲波形和第二脉冲波形进行或处理,得到脉冲融合波形,所述脉冲融合波形为所述时钟恢复信号。The OR operator is configured to perform OR processing on the first pulse waveform and the second pulse waveform to obtain a pulse fusion waveform, and the pulse fusion waveform is the clock recovery signal. 7.根据权利要求6所述的目的芯片,其特征在于,所述时钟恢复电路还包括二分频器,所述二分频器的CLK端与所述或运算器的输出端连接;7. purpose chip according to claim 6, is characterized in that, described clock recovery circuit also comprises two frequency divider, the CLK end of described two frequency divider is connected with the output end of described OR operator; 所述二分频器用于对所述时钟恢复信号进行二分频处理,得到占空比为50%的时钟恢复信号。The frequency divider is used to perform frequency division processing on the clock recovery signal to obtain a clock recovery signal with a duty cycle of 50%. 8.根据权利要求5所述的目的芯片,其特征在于,所述数据恢复电路用于根据所述时钟恢复信号采集所述编码数据,并将所述编码数据恢复成串行数据,具体包括:8. The purpose chip according to claim 5, wherein the data recovery circuit is used for collecting the encoded data according to the clock recovery signal, and recovering the encoded data into serial data, specifically comprising: 确定接收的当前数据为中间电平状态;Determine that the current data received is in the middle level state; 获取所述当前数据的上一数据的电平状态,将所述上一数据的电平状态作为所述当前数据的电平状态。Acquire the level state of the last data of the current data, and use the level state of the last data as the level state of the current data. 9.一种数据传输方法,其特征在于,应用于源芯片,所述方法包括:9. A data transmission method, characterized in that, applied to a source chip, the method comprising: 所述源芯片的数据编码模块接收串行数据,对所述串行数据进行编码得到编码数据,并将所述编码数据传输至所述源芯片的驱动器,其中,所述编码数据的任意相邻两个数据之间均有跳变延;The data encoding module of the source chip receives serial data, encodes the serial data to obtain encoded data, and transmits the encoded data to the driver of the source chip, wherein any adjacent value of the encoded data is There is a jump delay between the two data; 所述驱动器接收所述编码数据,并将所述编码数据发往对端的目的芯片,以使所述对端的目的芯片对所述编码数据进行处理。The driver receives the encoded data, and sends the encoded data to the destination chip at the opposite end, so that the destination chip at the opposite end processes the encoded data. 10.一种数据传输方法,其特征在于,应用于目的芯片,所述方法包括:10. A data transmission method, characterized in that, applied to a target chip, the method comprising: 所述目的芯片的第一比较器接收对端的源芯片发送的编码数据,并将所述编码数据与第一参考电平进行比较,将所述编码数据中高于所述第一参考电平的输出为高电平,低于所述第一参考电平的输出为低电平,得到第一波形,并将所述第一波形传输给所述目的芯片的时钟恢复电路,其中,所述第一参考电平在中间电平与高电平之间;The first comparator of the destination chip receives the encoded data sent by the source chip of the opposite end, compares the encoded data with the first reference level, and outputs the encoded data higher than the first reference level. is a high level, and the output lower than the first reference level is a low level, obtains a first waveform, and transmits the first waveform to the clock recovery circuit of the destination chip, wherein the first waveform is The reference level is between the middle level and the high level; 所述目的芯片的第二比较器接收所述编码数据,并将所述编码数据与第二参考电平进行比较,将所述编码数据中高于所述第二参考电平的输出为高电平,低于所述第二参考电平的输出为低电平,得到第二波形,并将所述第二波形传输给所述目的芯片的时钟恢复电路,其中,所述第二参考电平在所述中间电平与低电平之间;The second comparator of the destination chip receives the encoded data, compares the encoded data with a second reference level, and outputs the encoded data higher than the second reference level as a high level , the output lower than the second reference level is a low level, a second waveform is obtained, and the second waveform is transmitted to the clock recovery circuit of the destination chip, wherein the second reference level is at between the middle level and the low level; 所述时钟恢复电路获取所述第一波形的波形翻转的脉冲以及所述第二波形的波形翻转的脉冲,并对获取到的脉冲进行并处理,获得时钟恢复信号,并将所述时钟恢复信号传输给所述目的芯片的数据恢复电路;The clock recovery circuit acquires the waveform-inverted pulse of the first waveform and the waveform-inverted pulse of the second waveform, and processes the acquired pulses to obtain a clock recovery signal, and converts the clock recovery signal to the clock recovery circuit. a data recovery circuit transmitted to the destination chip; 所述数据恢复电路根据所述时钟恢复信号采集所述编码数据,并将所述编码数据恢复成串行数据。The data recovery circuit collects the encoded data according to the clock recovery signal, and recovers the encoded data into serial data. 11.一种处理器系统,其特征在于,包括权利要求1-4任一项所述的源芯片以及权利要求5-8任一项所述的目的芯片。11. A processor system, comprising the source chip according to any one of claims 1-4 and the destination chip according to any one of claims 5-8.
CN202011296358.5A 2020-11-18 2020-11-18 Source chip, destination chip, data transmission method and processor system Active CN112416848B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011296358.5A CN112416848B (en) 2020-11-18 2020-11-18 Source chip, destination chip, data transmission method and processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011296358.5A CN112416848B (en) 2020-11-18 2020-11-18 Source chip, destination chip, data transmission method and processor system

Publications (2)

Publication Number Publication Date
CN112416848A true CN112416848A (en) 2021-02-26
CN112416848B CN112416848B (en) 2023-10-20

Family

ID=74772953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011296358.5A Active CN112416848B (en) 2020-11-18 2020-11-18 Source chip, destination chip, data transmission method and processor system

Country Status (1)

Country Link
CN (1) CN112416848B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037419A (en) * 2022-08-11 2022-09-09 德州鲲程电子科技有限公司 Method for serial transmission of variable-length coded data in chip testing process

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1404231A (en) * 2001-06-27 2003-03-19 三星电子株式会社 Antinoise and burst mode receiving equipment and method for recovering clock signal and its data
CN102063401A (en) * 2011-01-13 2011-05-18 四川大学 TDMOW serial bus structure of distributed oscillograph and encoding method
CN103378923A (en) * 2012-04-18 2013-10-30 北京鼎合远传技术有限公司 FM (frequency modulation)-based baseband transmission encoding method and apparatus thereof
CN104617926A (en) * 2015-02-02 2015-05-13 苏州迅芯微电子有限公司 Pulse swallowing type clock synchronization circuit
CN107231192A (en) * 2017-02-28 2017-10-03 华南师范大学 The data transmission method and LED visible light communication system of double level pulse widths codings

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1404231A (en) * 2001-06-27 2003-03-19 三星电子株式会社 Antinoise and burst mode receiving equipment and method for recovering clock signal and its data
CN102063401A (en) * 2011-01-13 2011-05-18 四川大学 TDMOW serial bus structure of distributed oscillograph and encoding method
CN103378923A (en) * 2012-04-18 2013-10-30 北京鼎合远传技术有限公司 FM (frequency modulation)-based baseband transmission encoding method and apparatus thereof
CN104617926A (en) * 2015-02-02 2015-05-13 苏州迅芯微电子有限公司 Pulse swallowing type clock synchronization circuit
CN107231192A (en) * 2017-02-28 2017-10-03 华南师范大学 The data transmission method and LED visible light communication system of double level pulse widths codings

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037419A (en) * 2022-08-11 2022-09-09 德州鲲程电子科技有限公司 Method for serial transmission of variable-length coded data in chip testing process

Also Published As

Publication number Publication date
CN112416848B (en) 2023-10-20

Similar Documents

Publication Publication Date Title
EP0185556B1 (en) A method for digital clock signal recovery from manchester-encoded signals
TWI410791B (en) Apparatus and method for transmitting and receiving data bits
US20060198463A1 (en) Device for converting a transmitted signal into a digital signal
US7986745B2 (en) Encoder apparatus and decoder apparatus
KR100868299B1 (en) Method and apparatus for transmitting data with clock information
US20050078018A1 (en) Dual phase pulse modulation decoder circuit
JPH11500887A (en) Transition controlled digital encoding and signal transmission system
WO1981001637A1 (en) Data processing system with serial data transmission between subsystems
CN102497249A (en) Encoding method, encoding device, decoding method, decoding device, data transmission device, and data reception device
CN108063661A (en) Sample circuit and receiving circuit based on Manchester's code
US7103110B2 (en) Dual phase pulse modulation encoder circuit
CN112416848A (en) Source chip, destination chip, data transmission method and processor system
US4752942A (en) Method and circuitry for extracting clock signal from received biphase modulated signal
US7342520B1 (en) Method and system for multilevel serializer/deserializer
US7283011B2 (en) Method for performing dual phase pulse modulation
KR101272886B1 (en) apparatus and method for transmitting data with clock information
JP4464605B2 (en) Optical transmitter and code conversion circuit used therefor
KR100807407B1 (en) System and apparatus for encoding using different waveforms
KR100574767B1 (en) Data transmission circuit and method based on differential data encoding
EP2164215B1 (en) Method and device for serial transmission of digital data
CN101277280A (en) Communication system, transmitting device, receiving device, communication method, and semiconductor element
JP4230381B2 (en) LVDS system, transmission side circuit thereof, and reception side circuit thereof
CN100589464C (en) Bi-phase pulse modulation encoder circuit
KR910002324B1 (en) Circuits for detecting clock pulses of conditioned diphase modulation encoding
US20150146824A1 (en) Indexed i/o symbol communications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Industrial incubation-3-8, North 2-204, No. 18, Haitai West Road, Huayuan Industrial Zone, Binhai New Area, Tianjin 300450

Applicant after: Haiguang Information Technology Co.,Ltd.

Address before: 100082 industrial incubation-3-8, North 2-204, 18 Haitai West Road, Huayuan Industrial Zone, Haidian District, Beijing

Applicant before: Haiguang Information Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant