CN114153772A - Method and device for determining data sampling point - Google Patents

Method and device for determining data sampling point Download PDF

Info

Publication number
CN114153772A
CN114153772A CN202010933980.6A CN202010933980A CN114153772A CN 114153772 A CN114153772 A CN 114153772A CN 202010933980 A CN202010933980 A CN 202010933980A CN 114153772 A CN114153772 A CN 114153772A
Authority
CN
China
Prior art keywords
sampling
data
phase
sampling points
points
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
CN202010933980.6A
Other languages
Chinese (zh)
Other versions
CN114153772B (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.)
Allwinner Technology Co Ltd
Original Assignee
Allwinner 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 Allwinner Technology Co Ltd filed Critical Allwinner Technology Co Ltd
Priority to CN202010933980.6A priority Critical patent/CN114153772B/en
Publication of CN114153772A publication Critical patent/CN114153772A/en
Application granted granted Critical
Publication of CN114153772B publication Critical patent/CN114153772B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • 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

Abstract

The invention discloses a method and a device for determining data sampling points, wherein the method comprises the steps of performing phase edge division operation on a sampling clock based on a rising edge of the sampling clock and a falling edge of the sampling clock to obtain a preset number of sampling phase edges; and acquiring target data sent by the external equipment according to all sampling phase edges to obtain a transmission initial identifier corresponding to the target data, and determining sampling points of the target data according to the transmission initial identifier and all sampling phase edges. Therefore, the sampling clock is divided by combining the rising edge and the falling edge of the sampling clock, and the data is sampled simultaneously on the basis of the plurality of phase edges of the divided sampling clock, so that the determination operation of the sampling point of the data can be simplified, and the determination efficiency and the accuracy of the data sampling point can be improved; and by sampling the data by combining the rising edge and the falling edge of the sampling clock, the sampling frequency of the clock can be reduced, and the realization difficulty and the power consumption of hardware can be reduced.

Description

Method and device for determining data sampling point
Technical Field
The invention relates to the technical field of data processing, in particular to a method and a device for determining data sampling points.
Background
In a System-on-a-Chip (SOC) Chip, there are peripheral interfaces (e.g., MASTER/SPI/UART/NAND FLASH/SD/EMMC, etc.) using different protocols, and the SOC interacts with external devices by using these peripheral interfaces. In practical applications, the peripheral interface of the SOC chip is usually MASTER, the external device of the SOC chip is slave, the operating clock of the external device is generally provided by the SOC end of the SOC chip, and the data returned by the external device is generally clock-free. Therefore, the SOC interface controller of the SOC chip is required to take charge of sampling of data.
At present, a method for determining sampling points of SOC interface controller data generally includes: adjusting the phase of a sampling clock of the SOC chip, sampling data returned by an external device of the SOC chip, judging the correctness of the sampled data, finding the optimal sampling point of the data by combining a software algorithm (such as a Monte Carlo sampling algorithm) after the data is determined to be correct, configuring a controller of the SOC chip according to the found optimal sampling point, and repeatedly adjusting the phase of the sampling clock of the SOC chip to finish the determination of the sampling point of the data. However, practice shows that the software flow of the method is complex, the determination efficiency and accuracy of the sampling point are low, and due to the influence of various factors (such as chip difference, environment and chip temperature change, working voltage, working frequency, PCB layout, external connection device difference and the like), the sampling point is easy to drift out of a sampling window, so that the sampling point is invalid, the stability of data transmission is influenced, and the data transmission efficiency is reduced. Therefore, how to simplify the determination operation of the sampling point and improve the determination efficiency and accuracy of the sampling point becomes an urgent technical problem to be solved.
Disclosure of Invention
The technical problem to be solved by the present invention is to provide a method and an apparatus for determining a data sampling point, which can simplify the determination operation of the sampling point and improve the determination efficiency and accuracy of the sampling point.
In order to solve the above technical problem, a first aspect of the embodiments of the present invention discloses a method for determining data sampling points, where the method includes:
performing phase edge division operation on the sampling clock based on the obtained rising edge of the sampling clock and the obtained falling edge of the sampling clock to obtain a preset number of sampling phase edges, wherein the phase corresponding to each sampling phase edge lags behind a preset angle in sequence;
acquiring target data sent by external equipment along all the sampling phases to obtain a transmission initial identifier corresponding to the target data, and determining sampling points of the target data according to the transmission initial identifier and all the sampling phases.
As an optional implementation manner, in the first aspect of the embodiment of the present invention, after determining the sample points of the target data according to the transmission start identifier and all the sampling phase edges, the method further includes:
judging whether the number of the sampling points is larger than or equal to the determined sampling point number threshold value, judging whether the number of the sampling points is an odd number or not when the judgment result is yes, and updating the sampling point which is positioned at the middle in all the sampling points to be the sampling point of the target data when the number of the sampling points is judged to be the odd number;
and when the number of the sampling points is judged to be an even number, screening two sampling points which are positioned at the middlest and are adjacent from all the sampling points, and executing phase division operation on the two adjacent sampling points to obtain the sampling points of the target data.
As an optional implementation manner, in the first aspect of the embodiment of the present invention, after determining the sample points of the target data according to the transmission start identifier and all the sampling phase edges, the method further includes:
acquiring the sampling condition of each sampling point, wherein the sampling condition of each sampling point comprises the establishment margin of the sampling point and the holding margin of the sampling point;
and after the two sampling points which are the middlemost and adjacent are screened from all the sampling points and before the two adjacent sampling points are subjected to phase division operation to obtain the sampling points of the target data, the method further comprises the following steps:
judging whether the two adjacent sampling points do not meet the determined data sampling requirement according to the sampling conditions of the two adjacent sampling points;
and when the data sampling requirement is judged not to be met, triggering and executing the phase division operation on the two adjacent sampling points to obtain the operation of the sampling point of the target data.
As an optional implementation manner, in the first aspect of the embodiment of the present invention, after it is determined that the data sampling requirement is met, it is determined whether the target data is multi-bit data, and if the determination result is yes, the operation of performing the phase division operation on two adjacent sampling points is triggered to obtain the sampling points of the target data.
As an optional implementation manner, in the first aspect of the embodiment of the present invention, the determining, according to sampling conditions of two adjacent sampling points, whether the two adjacent sampling points do not meet the determined data sampling requirement includes:
judging whether a target sampling point with a target margin larger than or equal to the determined margin threshold exists in the two adjacent sampling points according to the sampling conditions of the two adjacent sampling points, wherein the target margin comprises an establishment margin and/or a maintenance margin;
and when judging that at least one target sampling point exists, determining that two adjacent sampling points do not meet the determined data sampling requirement.
As an optional implementation manner, in the first aspect of this embodiment of the present invention, the method further includes:
and when the number of the sampling points is judged to be less than or equal to the threshold value of the number of the sampling points, performing delay operation on the phases corresponding to all the sampling phase edges based on the determined delay phase, and re-performing the operation of acquiring the target data according to all the sampling phase edges to obtain a transmission initial identifier corresponding to the target data.
As an optional implementation manner, in the first aspect of the embodiment of the present invention, the determining, according to the transmission start identifier and all the sampling phase edges, a sampling point of the target data includes:
determining a starting sampling phase edge from all the sampling phase edges according to the transmission starting identifier, wherein the starting sampling phase edge is a phase edge of all the sampling phase edges, the data state of which is changed from the first data acquired to the target data, and the data state is changed from high level to low level or from low level to high level;
and traversing all the sampling phase edges from the initial sampling phase edge, and determining the phase corresponding to the sampling phase edge capable of acquiring the target data as the sampling point of the target data.
The second aspect of the embodiments of the present invention discloses a device for determining a data sampling point, where the device includes:
the dividing module is used for performing phase edge dividing operation on the sampling clock based on the acquired rising edge of the sampling clock and the acquired falling edge of the sampling clock to obtain a preset number of sampling phase edges, and the phase corresponding to each sampling phase edge lags behind a preset angle in sequence;
the acquisition module is used for acquiring target data sent by external equipment along all the sampling phases to obtain a transmission initial identifier corresponding to the target data;
and the determining module is used for determining the sampling points of the target data according to the transmission starting identifier and all the sampling phase edges.
As an optional implementation manner, in the second aspect of the embodiment of the present invention, the determining apparatus further includes:
the judging module is used for judging whether the number of the sampling points is more than or equal to the threshold value of the number of the determined sampling points after the determining module determines the sampling points of the target data according to the transmission starting identifier and all the sampling phase edges;
the judging module is further used for judging whether the number of the sampling points is an odd number or not when the number of the sampling points is judged to be larger than or equal to the threshold value of the number of the sampling points;
the updating module is used for updating the sampling point at the middle of all the sampling points to be the sampling point of the target data when the judging module judges that the number of the sampling points is an odd number;
the screening module is used for screening the two sampling points which are positioned at the middlemost and adjacent to each other from all the sampling points when the judging module judges that the number of the sampling points is an even number;
the dividing module is further configured to perform phase dividing operation on two adjacent sampling points to obtain sampling points of the target data.
As an optional implementation manner, in the second aspect of the embodiment of the present invention, the determining apparatus further includes:
the acquisition module is used for acquiring the sampling condition of each sampling point after the determination module determines the sampling point of the target data according to the transmission starting identifier and all the sampling phase edges, wherein the sampling condition of each sampling point comprises the establishment margin of the sampling point and the holding margin of the sampling point;
the judging module is further configured to judge whether the two adjacent sampling points do not meet the determined data sampling requirement according to the sampling conditions of the two adjacent sampling points after the screening module screens the two sampling points which are the middlemost and adjacent from all the sampling points and before the dividing module performs the phase dividing operation on the two adjacent sampling points to obtain the sampling points of the target data, and when the judging module judges that the data sampling requirement is not met, the dividing module is triggered to perform the phase dividing operation on the two adjacent sampling points to obtain the operation on the sampling points of the target data.
As an optional implementation manner, in the second aspect of the embodiment of the present invention, the determining module is further configured to determine whether the target data is multi-bit data after determining that the data sampling requirement is met, and when the determination result is yes, trigger the dividing module to perform the phase dividing operation on two adjacent sampling points, so as to obtain an operation of the sampling point of the target data.
As an optional implementation manner, in the second aspect of the embodiment of the present invention, the manner that the determining module determines whether the two adjacent sampling points do not meet the determined data sampling requirement according to the sampling conditions of the two adjacent sampling points is specifically:
judging whether a target sampling point with a target margin larger than or equal to the determined margin threshold exists in the two adjacent sampling points according to the sampling conditions of the two adjacent sampling points, wherein the target margin comprises an establishment margin and/or a maintenance margin;
and when judging that at least one target sampling point exists, determining that two adjacent sampling points do not meet the determined data sampling requirement.
As an optional implementation manner, in the second aspect of the embodiment of the present invention, the determining apparatus further includes:
and the delay module is used for executing delay operation on all phases corresponding to the sampling phase edges based on the determined delay phase when the judgment module judges that the number of the sampling points is less than or equal to the sampling point number threshold, and triggering the acquisition module to execute the operation of acquiring the target data according to all the sampling phase edges again to obtain the transmission starting identifier corresponding to the target data.
As an optional implementation manner, in the second aspect of the embodiment of the present invention, the determining module determines, according to the transmission start identifier and all the sampling phase edges, sampling points of the target data specifically as follows:
determining a starting sampling phase edge from all the sampling phase edges according to the transmission starting identifier, wherein the starting sampling phase edge is a phase edge of all the sampling phase edges, the data state of which is changed from the first data acquired to the target data, and the data state is changed from high level to low level or from low level to high level;
and traversing all the sampling phase edges from the initial sampling phase edge, and determining the phase corresponding to the sampling phase edge capable of acquiring the target data as the sampling point of the target data.
The third aspect of the present invention discloses another apparatus for determining data sampling points, comprising:
a memory storing executable program code;
a processor coupled with the memory;
the processor calls the executable program code stored in the memory to execute the method for determining the data sampling point disclosed by the first aspect of the invention.
In a fourth aspect, the present invention discloses a computer storage medium storing computer instructions for executing the method for determining data sampling points disclosed in the first aspect of the present invention when the computer instructions are called.
Compared with the prior art, the embodiment of the invention has the following beneficial effects:
the embodiment of the invention discloses a method and a device for determining data sampling points, wherein the method comprises the steps of performing phase edge division operation on a sampling clock based on the obtained rising edge of the sampling clock and the falling edge of the sampling clock to obtain a preset number of sampling phase edges, and the phase corresponding to each sampling phase edge lags behind a preset angle in sequence; and acquiring target data sent by the external equipment according to all sampling phase edges to obtain a transmission initial identifier corresponding to the target data, and determining sampling points of the target data according to the transmission initial identifier and all sampling phase edges. Therefore, the embodiment of the invention divides the sampling clock by combining the rising edge and the falling edge of the sampling clock, and samples the data simultaneously corresponding to a plurality of phase edges of the divided sampling clock, so that the determination operation of the sampling point of the data can be simplified, and the determination efficiency and the accuracy of the data sampling point can be improved; and by sampling the data by combining the rising edge and the falling edge of the sampling clock, the sampling frequency of the clock can be reduced, and the realization difficulty and the power consumption of hardware can be reduced.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic flow chart illustrating a method for determining data sampling points according to an embodiment of the present invention;
FIG. 2 is a schematic flow chart illustrating another method for determining data sampling points according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of a device for determining data sampling points according to an embodiment of the present invention;
FIG. 4 is a schematic structural diagram of another apparatus for determining data sampling points according to the embodiment of the present invention;
FIG. 5 is a schematic structural diagram of another apparatus for determining data sampling points according to an embodiment of the present invention;
FIG. 6 is a schematic structural diagram of another apparatus for determining data sampling points according to an embodiment of the present invention;
FIG. 7 is a timing diagram of a single bit data sampling point according to an embodiment of the present invention;
FIG. 8 is a timing diagram of a multi-bit data sampling point according to an embodiment of the present invention.
Detailed Description
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The terms "first," "second," and the like in the description and claims of the present invention and in the above-described drawings are used for distinguishing between different objects and not for describing a particular order. Furthermore, the terms "include" and "have," as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, apparatus, product, or apparatus that comprises a list of steps or elements is not limited to those listed but may alternatively include other steps or elements not listed or inherent to such process, method, product, or apparatus.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. It is explicitly and implicitly understood by one skilled in the art that the embodiments described herein can be combined with other embodiments.
The invention discloses a method and a device for determining data sampling points, which can divide a sampling clock by combining a rising edge and a falling edge of the sampling clock, and simultaneously sample corresponding data based on a plurality of phase edges of the divided sampling clock, can simplify the determination operation of the data sampling points, and are beneficial to improving the determination efficiency and the accuracy of the data sampling points; and by sampling the data by combining the rising edge and the falling edge of the sampling clock, the sampling frequency of the clock can be reduced, and the realization difficulty and the power consumption of hardware can be reduced. The following are detailed below.
Example one
Referring to fig. 1, fig. 1 is a schematic flow chart illustrating a method for determining data sampling points according to an embodiment of the present invention. The method for determining the data sampling points described in fig. 1 is applied to a data sampling system/a data sampling device/a data sampling server (wherein the data sampling server includes a local data sampling server or a cloud data sampling server). As shown in fig. 1, the method for determining the data sampling points may include the following operations:
101. and performing phase edge division operation on the sampling clock based on the acquired rising edge of the sampling clock and the acquired falling edge of the sampling clock to obtain a preset number of sampling phase edges.
In the embodiment of the present invention, the sampling clock may be a high frequency clock (e.g., 100M) or a low frequency clock (e.g., 100K). Further, the sampling clock may be divided in an equal-proportion division manner or an arbitrary division manner, so as to obtain a preset number (e.g., 3) of sampling phase edges. When the sampling clock is divided according to the equal proportion division mode, the preset angles of each sampling phase lagging in sequence along the corresponding phase are the same, for example: and the equal proportion is divided into 4 sampling phase edges, each sampling phase edge lags the corresponding phase by 90 degrees in turn. It should be noted that the number of sampling phase edges of the sampling clock is determined according to the requirement of the required sampling precision, that is, the higher the required sampling precision is, the more the number of sampling phase edges is, that is, the larger the value of the preset number is.
102. And acquiring target data sent by the external equipment along all sampling phases to obtain a transmission initial identifier corresponding to the target data.
In the embodiment of the present invention, the protocol between the data sampling system and the external device includes one of interface protocols such as SD, EMMC, SPI, and UART, which is not limited in the embodiment of the present invention. Wherein, the data line or the command line usually has obvious start mark and end mark, such as: the high level is a start mark, i.e. a start mark, and the low level is an end mark, i.e. an end mark, or the low level is a start mark, i.e. a start mark, and the high level is an end mark, i.e. an end mark. In the non-data or non-command transmission, the data line or the command line is kept in a fixed state idle, i.e. kept in a high state or kept in a low state. Therefore, the transmission starting identifier of the data sent by the external equipment is monitored in real time through the sampling clock divided into a plurality of sampling phase edges, and the edge change of the returned data is automatically tracked to select the sampling point of the data so as to finish the sampling of the data.
103. And determining the sampling point of the target data according to the transmission starting identifier and all sampling phase edges.
As an alternative embodiment, determining the sampling point of the target data according to the transmission start identifier and all sampling phase edges includes:
determining an initial sampling phase edge from all sampling phase edges according to the transmission initial identification, wherein the initial sampling phase edge is a phase edge of all sampling phase edges, and the data state of the target data is firstly acquired;
and traversing all the sampling phase edges from the initial sampling phase edge, and determining the phase corresponding to the sampling phase edge capable of acquiring the target data as the sampling point of the target data.
In this alternative embodiment, the data state change is used to indicate a change from high to low or a change from low to high.
In this optional embodiment, if the number of the sampling phase edges is odd, when the sampling phase edge at the middle is used to acquire the target data, the sampling phase edge at the middle is determined to be the optimal sampling point of the target data, so that the optimal sampling point of the target data can be determined, and the power consumption of the data sampling system can be reduced.
In this optional embodiment, when the transmission start identifier of the target data is acquired, it indicates that the target data is acquired, that is, the corresponding sampling phase edge is a sampling point of the target data. Furthermore, when a certain sampling phase edge acquires the transmission start identifier of the target data, the certain sampling phase edge is marked to obtain the sequence of the transmission start identifiers of the target data acquired by all the sampling phase edges. Therefore, the accuracy and the efficiency of determining the sampling point of the target data can be further improved by marking the sequence of the transmission initial identification of the collected target data.
As can be seen, the alternative embodiment can implement the determination of the data sampling points and reduce the occurrence of omission of the data sampling points by traversing all the sampling phase points based on the determined starting sampling phase edge.
In an alternative embodiment, after step 103 is performed, the method for determining the data sampling points may further include the following operations:
judging whether the number of the sampling points is larger than or equal to the determined sampling point number threshold value or not, judging whether the number of the sampling points is an odd number or not when the judgment result is yes, and updating the sampling point which is positioned at the middle in all the sampling points to be the sampling point of the target data when the number of the sampling points is judged to be the odd number;
and when the number of the sampling points is judged to be an even number, two sampling points which are the middlemost and adjacent are screened from all the sampling points, and phase division operation is performed on the two adjacent sampling points to obtain the sampling points of the target data.
In this alternative embodiment, the threshold of the number of sampling points is less than or equal to the preset number in step 101, that is, the maximum value of the threshold of the number of sampling points is equal to the number of sampling phase edges. For example: the threshold of the number of sampling points may be 1 or 2, where it should be noted that, when the threshold of the number of sampling points is 1, only 1 sampling point of the target data is present, that is, the sampling point is the middle sampling point of all the sampling points.
In this optional embodiment, as an optional implementation manner, performing a phase division operation on two adjacent sampling points to obtain a sampling point of target data may include:
and executing division operation on the two adjacent sampling points based on the determined division mode to obtain the sampling points of the target data.
In this optional embodiment, the dividing manner includes an equal proportion dividing manner or any dividing manner. For the description of the division manner, please refer to the above detailed description of the division of the sampling clock, which is not described herein again, and the equal-proportion division is preferably selected.
For example, when the number of the sampling points obtained in step 103 is 4, the phase between the 2 nd sampling point and the 3 rd sampling point is selected to divide the 3 sampling points in an equal proportion, and the middle sampling point of the 3 sampling points is obtained as the sampling point of the target data.
It can be seen that, in the optional embodiment, after the sampling points of the data are acquired, the final sampling points of the data are further determined accurately according to the number of the sampling points, that is, if the number of the sampling points is odd, the sampling point at the middle is directly used as the final sampling point of the data, and if the number of the sampling points is even, fine sampling point adjustment is performed on the data by two sampling points which are at the middle and adjacent, so that the determination accuracy of the sampling points of the data can be further improved, the sampling frequency of the clock is further reduced, and the condition that the sampling points are unstable or fail is automatically eliminated, thereby further facilitating improvement of the stability of data sampling, and realizing reduction of the difficulty and power consumption of hardware.
In yet another alternative embodiment, the method for determining the data sampling points may further include the following operations:
and when the number of the sampling points is judged to be less than or equal to the threshold value of the number of the sampling points, performing delay operation on the phases corresponding to all the sampling phase edges based on the determined delay phase (for example, 22.5 degrees), and performing the operation of acquiring the target data according to all the sampling phase edges to obtain the transmission starting identifier corresponding to the target data.
In this alternative embodiment, the number of sampling points is different, corresponding to different delay phases, for example: the value of the delay phase corresponding to the sampling point with the number of 0 is larger than the value of the delay phase corresponding to the sampling point with the number of 1.
In this alternative embodiment, the step of performing the delay operation on the phases corresponding to all the sampling phase edges based on the determined delay phases is divided into coarse delay and fine delay, and the delayed sampling phase edges are obtained, that is, the delay operation is performed on the phases corresponding to all the sampling phase edges by selecting the larger delay phase (e.g., 22.5 °), and then the delay operation is performed on the phases corresponding to all the sampling phase edges by selecting the smaller delay phase (e.g., 5 °). Therefore, the method is beneficial to improving the determination accuracy of the sampling points of the data and the determination efficiency of the sampling points of the data.
Therefore, in the optional embodiment, when the number of the sampling points of the data is judged to be small, all the phases corresponding to the adopted phase edges are delayed, so that a sufficient number of adopted points can be obtained, and accurate sampling points of the data can be obtained.
In yet another alternative embodiment, after the step 103 is performed, the method for determining the data sampling points may further include the following operations:
acquiring the sampling condition of each sampling point, wherein the sampling condition of each sampling point comprises the establishment margin of the sampling point and the holding margin of the sampling point;
and after two sampling points which are the middlest and adjacent are screened from all the sampling points, and before the two adjacent sampling points are subjected to phase division operation to obtain the sampling point of the target data, the method for determining the data sampling point can further comprise the following operations:
judging whether the two adjacent sampling points do not meet the determined data sampling requirement according to the sampling conditions of the two adjacent sampling points;
and when the data sampling requirement is judged not to be met, triggering and executing the phase division operation on the two adjacent sampling points to obtain the operation of the sampling point of the target data.
In this optional embodiment, as an optional implementation manner, judging whether two adjacent sampling points do not meet the determined data sampling requirement according to sampling conditions of the two adjacent sampling points includes:
judging whether a target sampling point with a target margin larger than or equal to the determined margin threshold exists in the two adjacent sampling points according to the sampling conditions of the two adjacent sampling points, wherein the target margin comprises an establishment margin and/or a maintenance margin;
and when at least one target sampling point is judged to exist, determining that the two adjacent sampling points do not meet the determined data sampling requirement.
In this optional embodiment, when it is determined that there is no target sampling point with a target margin greater than or equal to the determined margin threshold value at two adjacent sampling points, it is determined that both the two adjacent sampling points meet the data sampling requirement, and at this time, both the two adjacent sampling points are determined as final sampling points of the target data.
In this alternative embodiment, the sampling condition of each sampling point includes an establishment margin of the sampling point and a retention margin of the sampling point, where the establishment margin of each sampling point is used to indicate a time length for which the sampling point is retained before the target data is acquired, and the retention margin of each sampling point is used to indicate a time length for which the sampling point is retained after the target data is acquired.
Therefore, the establishment margin and/or the holding margin of the two adjacent sampling points are/is compared with the determined margin threshold, if the margin threshold is larger than or equal to the margin threshold, the sampling points are judged not to meet the data sampling requirement, and the accuracy and the efficiency of determining that the sampling points do not meet the data sampling requirement can be improved.
Therefore, in the optional embodiment, after the sampling points of the data are acquired, the sampling condition of each sampling point is further acquired, whether the two adjacent sampling points meet the data sampling requirement is judged after the number of the sampling points is even and two adjacent sampling points in the middle are acquired, if the two adjacent sampling points do not meet the data sampling requirement, the subsequent fine adjustment operation of the data sampling points is executed, the high-precision sampling points can be acquired, and the power consumption of the data sampling equipment can be reduced.
In yet another alternative embodiment, the method for determining the data sampling points may further include the following operations:
and after the data sampling requirement is met, judging whether the target data is multi-bit data (for example, 4-bit data) or not, and triggering and executing the phase division operation on the two adjacent sampling points to obtain the operation of the sampling point of the target data when the judgment result is yes.
Therefore, after the optional embodiment judges that two adjacent sampling points meet the sampling requirement of the data, whether the data is multi-bit data is further judged, if yes, the phase fine adjustment dividing operation is executed, the situation that the sampling window is reduced due to the influence of factors such as the turning speed of the data, the data transmission delay and the like, so that the data sampling stability is poor can be reduced, namely, the high sampling stability is still kept under the condition that the sampling clock is not increased, and the realization difficulty and the power consumption of hardware are further reduced.
In order to make the solution more clear to those skilled in the art, the solution is first illustrated with reference to fig. 7 and 8:
as shown in fig. 7, for sampling of single bit data, the sampling window T of the sampling clock, the transmission start flag of the data is low (as shown by S in fig. 7), and four different phase edges of the sampling clock continuously sample the data sent by the external device at the same time. Phase3 is determined as the first phase edge when phase3 in the four phase edges samples low first, that is, when data changes from high to low first, and at this time, when all the phase edges phase0, phase1 and phase2 lagging behind phase3 collect data changing from high to low, all the phase3, phase0, phase1 and phase2 are sampling points of the data. Still further, as shown in fig. 7, when the collected data is di _ s0, the margin for establishing the falling edge of di _ s0 data to the rising edge of phase3 is Δ T (0< Δ T < T/4). If the phase delayed by 90 is selected, the phase edge of the searched sample is phase0, at which time there is a T/4+ Δ T setup margin and a 3T/4- Δ T hold margin for the di _ s0 data sample for the phase0 phase edge. If a phase 180 ° later is selected, with phase edge 1 as the sample point, there is a margin of T/2+ Δ T to establish and a margin of T/2- Δ T to maintain. At this time, since the difference between the setup margin and the hold margin of the two sample points phase0 and phase1 is relatively large, the two sample points phase0 and phase1 both deviate from the middle point of sampling. At this time, three sampling points of m0, m1 and m2 can be added between phase0 and phase1, wherein the m0 sampling point has an establishment margin of T/4+ T/16+ delta T and a maintenance margin of 3T/4-T/16-delta T; the m1 sampling point has a T/4+ T/8+ delta T establishing margin and a 3T/4-T/8-delta T maintaining margin; the m2 sampling points have an establishment margin of T/4+3T/16+ delta T and a holding margin of 3T/4-3T/16-delta T, and as can be seen, m0, m1 and m2 are respectively closer to the establishment margin and the holding margin, so that by adding three sampling points of m0, m1 and m2 between phase0 and phase1, more accurate sampling points can be obtained, and more stable sampling data can be obtained. It should be noted that, when the sampled data is di _ s1, di _ s2 or di _ s3, the corresponding sampling phase edges are phase1, phase2 and phase3, respectively, and the principle is similar to that when the sampled data is di _ s0, and therefore, the description thereof is omitted.
For sampling of multi-bit data, the sampling window T is reduced due to the difference between bit data such as data flip speed and data transmission delay, so as shown in fig. 8, only phase1 and phase2 are left to be available in the data sampling phase shown in the figure, and phase1 has poor sampling stability due to too small setup time Δ T1 and phase2 has too small hold time Δ T2. At this time, a clock phase fine-tuning device is added between phase1 and phase2, which is equivalent to more sampling points m0, m1 and m2, and m0 has a T/16+ delta T1 establishment margin and a 3T/16+ delta T2 holding margin; the m1 sampling point has an establishment margin of T/8+ delta T1 and a maintenance margin of T/8+ delta T2; the m2 sampling point has an establishment margin of 3T/16+ delta T1 and a maintenance margin of T/16+ delta T2; at this time, through comparing m0, m1 and m2, the establishment margin and the holding margin of m1 are most balanced, and the anti-interference capability is strongest, so that the m1 sampling point is selected as a final sampling point, and the data sampling stability can be optimized. Thus, better sampling stability can still be maintained without raising the sampling clock, and thus the dynamic power consumption of the data sampling system can be reduced to 1/4, which also uses only the high frequency clock-locked phase method.
Therefore, by implementing the method for determining the data sampling points described in fig. 1, the sampling clock can be divided by combining the rising edge and the falling edge of the sampling clock, and the data is simultaneously sampled on the basis of a plurality of phase edges of the divided sampling clock, so that the determination operation of the data sampling points can be simplified, and the determination efficiency and accuracy of the data sampling points can be improved; and by sampling the data by combining the rising edge and the falling edge of the sampling clock, the sampling frequency of the clock can be reduced, and the realization difficulty and the power consumption of hardware can be reduced.
Example two
Referring to fig. 2, fig. 2 is a schematic flow chart illustrating another method for determining data sampling points according to an embodiment of the present invention. The method for determining the data sampling points described in fig. 2 is applied to a data sampling system/a data sampling device/a data sampling server (wherein the data sampling server includes a local data sampling server or a cloud data sampling server). As shown in fig. 2, the method for determining the data sampling points may include the following operations:
201. and performing phase edge division operation on the sampling clock based on the acquired rising edge of the sampling clock and the acquired falling edge of the sampling clock to obtain a preset number of sampling phase edges.
In the embodiment of the invention, each sampling phase lags behind a preset angle along the corresponding phase in sequence.
202. And acquiring target data sent by the external equipment along all sampling phases to obtain a transmission initial identifier corresponding to the target data.
203. And determining sampling points of the target data according to the transmission starting identifier and all sampling phase edges, wherein the number of the target sampling points is more than 1.
204. Judging whether the target data is multi-bit data, and if so, triggering to execute the step 205; and when the judgment result is negative, ending the process.
In this embodiment of the present invention, optionally, when the result of the determination in step 204 is negative, the step of determining whether the number of the sampling points is greater than or equal to the determined threshold of the number of the sampling points may be triggered to be executed.
205. And performing phase division operation on all sampling points of the target data to obtain final sampling points of the target data.
In the embodiment of the present invention, for the determination of the sampling points of the multi-bit data, when performing the phase division operation on all the sampling points of the target data, more sampling points can be selected to be divided, for example: dividing the phase between phase1 and phase2 into 6 sampling points, and then selecting the most middle sampling point as the final sampling point of the target data, so that the situation of unstable sampling caused by the reduction of a sampling window is further reduced by dividing more sampling points, and the accuracy and efficiency for determining the optimal sampling point are further improved.
In the embodiment of the present invention, please refer to the related description in the first embodiment for other descriptions of performing the phase dividing operation on all the sampling points of the target data, which is not described herein again.
Therefore, in the embodiment of the invention, after the sampling point of the target data is obtained, whether the target data is multi-bit data is further judged, if yes, the phase fine adjustment dividing operation is executed, the situation that the sampling window is reduced due to the influence of factors such as the turning speed of the data, the data transmission delay and the like, so that the data sampling stability is poor can be reduced, namely, the high sampling stability is still maintained under the condition that the sampling clock is not increased, and the realization difficulty and the power consumption of hardware are further reduced.
In the embodiment of the present invention, for the related descriptions of step 201 to step 203, refer to the detailed descriptions of step 101 to step 103 in the first embodiment, and the embodiments of the present invention are not described again.
It can be seen that, by implementing the method for determining data sampling points described in fig. 2, the sampling clock can be divided by combining the rising edge and the falling edge of the sampling clock, and the data is simultaneously sampled on the basis of a plurality of phase edges of the divided sampling clock, so that the determination operation of the data sampling points can be simplified, and the determination efficiency and accuracy of the data sampling points can be improved; and by sampling the data by combining the rising edge and the falling edge of the sampling clock, the sampling frequency of the clock can be reduced, and the realization difficulty and the power consumption of hardware can be reduced. In addition, the situation that the sampling window is reduced due to the influence of factors such as the data turning speed and the data transmission delay, so that the data sampling stability is poor can be reduced, namely, the high sampling stability is still kept under the condition that the sampling clock is not increased, and the realization difficulty and the power consumption of hardware are further reduced.
EXAMPLE III
Referring to fig. 3, fig. 3 is a schematic structural diagram of a device for determining data sampling points according to an embodiment of the present invention. The data sampling point determination apparatus described in fig. 3 is applied to a data sampling system/data sampling device/data sampling server (where the data sampling server includes a local data sampling server or a cloud data sampling server). As shown in fig. 3, the determining device for data sampling points may include a dividing module 301, an acquiring module 302, and a determining module 303, wherein:
and a dividing module 301, configured to perform phase edge dividing operation on the sampling clock based on the obtained rising edge of the sampling clock and the falling edge of the sampling clock, to obtain a preset number of sampling phase edges, where a phase corresponding to each sampling phase edge lags behind a preset angle in sequence.
The acquisition module 302 is configured to acquire target data sent by the external device along all sampling phases to obtain a transmission start identifier corresponding to the target data.
And the determining module 303 is configured to determine the sampling point of the target data according to the transmission start identifier and all the sampling phase edges.
Therefore, the determination device for the data sampling points described in fig. 3 can divide the sampling clock by combining the rising edge and the falling edge of the sampling clock, and simultaneously sample the corresponding data based on the multiple phase edges of the divided sampling clock, so that the determination operation of the data sampling points can be simplified, and the determination efficiency and accuracy of the data sampling points can be improved; and by sampling the data by combining the rising edge and the falling edge of the sampling clock, the sampling frequency of the clock can be reduced, and the realization difficulty and the power consumption of hardware can be reduced.
In another alternative embodiment, as shown in fig. 4, the apparatus further includes a determining module 304, an updating module 305, and a filtering module 306, wherein:
a determining module 304, configured to determine whether the number of sampling points is greater than or equal to the determined threshold of the number of sampling points after the determining module 303 determines the sampling points of the target data according to the transmission start identifier and all sampling phase edges.
The determining module 304 is further configured to determine whether the number of the sampling points is an odd number when it is determined that the number of the sampling points is greater than or equal to the threshold value of the number of the sampling points.
And an updating module 305, configured to update the sampling point at the middle of all the sampling points to the sampling point of the target data when the determining module 304 determines that the number of the sampling points is odd.
And a screening module 306, configured to screen two nearest neighboring sampling points from all the sampling points when the determining module 304 determines that the number of the sampling points is an even number.
The dividing module 301 is further configured to perform a phase dividing operation on two adjacent sampling points to obtain sampling points of the target data.
It can be seen that, the device for determining data sampling points described in fig. 4 further determines the final sampling points of the data according to the number of the sampling points after acquiring the sampling points of the data, that is, if the number of the sampling points is odd, the sampling point located at the middle is directly used as the final sampling point of the data, and if the number of the sampling points is even, fine sampling point adjustment is performed on the data by two sampling points located at the middle and adjacent to each other, so that the determination accuracy of the sampling points of the data can be further improved, the sampling frequency of the clock is further reduced, and the condition that the sampling points are unstable or fail is automatically eliminated, thereby further facilitating improvement of the stability of data sampling, and realizing reduction of the difficulty and power consumption of hardware.
In yet another alternative embodiment, as shown in fig. 4, the apparatus further comprises an obtaining module 307, wherein:
an obtaining module 307, configured to obtain a sampling condition of each sampling point after the determining module 303 determines the sampling point of the target data according to the transmission start identifier and all sampling phase edges, where the sampling condition of each sampling point includes an establishment margin of the sampling point and a retention margin of the sampling point.
The judging module 304 is further configured to, after the screening module 306 screens the two sampling points that are the middlest and adjacent from all the sampling points, and before the dividing module 301 performs the phase dividing operation on the two adjacent sampling points to obtain the sampling point of the target data, judge whether the two adjacent sampling points do not satisfy the determined data sampling requirement according to the sampling conditions of the two adjacent sampling points, and when it is judged that the data sampling requirement is not satisfied, trigger the dividing module 301 to perform the phase dividing operation on the two adjacent sampling points to obtain the operation on the sampling point of the target data.
It can be seen that, after the data sampling points are acquired, the determining device implementing the data sampling points described in fig. 4 further acquires the sampling condition of each sampling point, and after the even number of sampling points and two adjacent sampling points in the middle are acquired, determines whether the two adjacent sampling points meet the data sampling requirement, and if not, executes subsequent fine adjustment operation of the data sampling points, so that not only can high-precision sampling points be acquired, but also the power consumption of the data sampling device can be reduced.
In yet another alternative embodiment, as shown in fig. 4, the determining module 304 is further configured to determine whether the target data is multi-bit data after determining that the data sampling requirement is met, and when the determination result is yes, trigger the dividing module 301 to perform the above-mentioned operation of performing phase division on two adjacent sampling points to obtain sampling points of the target data.
It can be seen that, after the determination device for implementing the data sampling points described in fig. 4 determines that two adjacent sampling points satisfy the sampling requirement of the data, it further determines whether the data is multi-bit data, and if so, performs the phase fine adjustment dividing operation in the same way, so as to reduce the occurrence of poor data sampling stability caused by the reduction of the sampling window due to the influence of factors such as the data turning speed and the data transmission delay, that is, in the case of not increasing the sampling clock, the high sampling stability is still maintained, which is further beneficial to reducing the hardware implementation difficulty and power consumption.
In yet another alternative embodiment, as shown in fig. 4, the manner for the determining module 304 to determine whether the two adjacent sampling points do not meet the determined data sampling requirement according to the sampling conditions of the two adjacent sampling points specifically is as follows:
judging whether a target sampling point with a target margin larger than or equal to the determined margin threshold exists in the two adjacent sampling points according to the sampling conditions of the two adjacent sampling points, wherein the target margin comprises an establishment margin and/or a maintenance margin;
and when at least one target sampling point is judged to exist, determining that the two adjacent sampling points do not meet the determined data sampling requirement.
It can be seen that, by comparing the establishment margin and/or the retention margin of two adjacent sampling points with the determined margin threshold, if the establishment margin and/or the retention margin of two adjacent sampling points is greater than or equal to the margin threshold, it is determined that the sampling points do not meet the data sampling requirement, and the accuracy and the efficiency of determining that the sampling points do not meet the data sampling requirement can be improved.
In yet another alternative embodiment, as shown in fig. 4, the apparatus further comprises a delay module 308, wherein:
the delay module 308 is configured to, when the determining module 304 determines that the number of the sampling points is less than or equal to the threshold of the number of the sampling points, perform a delay operation on the phases corresponding to all the sampling phase edges based on the determined delay phase, and trigger the acquisition module 302 to perform an operation of acquiring the target data according to all the sampling phase edges again to obtain a transmission start identifier corresponding to the target data.
It can be seen that, when the determination device for implementing the data sampling points described in fig. 4 determines that the number of the data sampling points is small, all the phases corresponding to the sampling phase edges are delayed, which is beneficial to obtaining a sufficient number of sampling points, and thus is beneficial to obtaining accurate data sampling points.
In yet another alternative embodiment, as shown in fig. 4, the determining module 303 determines the sampling points of the target data according to the transmission start identifier and all sampling phase edges specifically as follows:
determining a starting sampling phase edge from all sampling phase edges according to the transmission starting identifier, wherein the starting sampling phase edge is a phase edge of all sampling phase edges, the data state of the target data is firstly acquired, and the data state is changed to indicate that the data state is changed from high level to low level or from low level to high level;
and traversing all the sampling phase edges from the initial sampling phase edge, and determining the phase corresponding to the sampling phase edge capable of acquiring the target data as the sampling point of the target data.
In this optional embodiment, if the number of the sampling phase edges is odd, when the target data is acquired at the middle sampling phase edge, the middle sampling phase edge is determined to be the optimal sampling point of the target data, so that the optimal sampling point of the target data can be determined, and the power consumption of the data sampling system can be reduced.
In this optional embodiment, when the transmission start identifier of the target data is acquired, it indicates that the target data is acquired, that is, the corresponding sampling phase edge is a sampling point of the target data. Furthermore, when a certain sampling phase edge acquires the transmission start identifier of the target data, the certain sampling phase edge is marked to obtain the sequence of the transmission start identifiers of the target data acquired by all the sampling phase edges. Therefore, the accuracy and the efficiency of determining the sampling point of the target data can be further improved by marking the sequence of the transmission initial identification of the collected target data.
It can be seen that the apparatus for determining data sampling points described in fig. 4 can determine data sampling points and reduce the occurrence of missing data sampling points by traversing all sampling phase points based on the determined initial sampling phase edge.
Example four
Referring to fig. 5, fig. 5 is a block diagram illustrating another apparatus for determining data sampling points according to an embodiment of the present invention. The data sampling point determination apparatus described in fig. 5 is applied to a data sampling system/data sampling device/data sampling server (where the data sampling server includes a local data sampling server or a cloud data sampling server). As shown in fig. 5, the determining means of the data sampling point may include: clock module 100, clock management module 200, a plurality of data sampling module 300 and data selection module 400, clock management module 200 includes clock phase generation module, clock fine tuning module and phase generation module, data selection module 400 includes the determining unit and the selecting unit, wherein, the output of clock module 100 is connected to clock management module 200's input electricity, the clock port of a plurality of data sampling module 300 is connected with a plurality of output one-to-one of clock management module 200 is connected, the input of data selection module 400 is connected with the output electricity of every data sampling module 300, wherein:
a clock module 100 for generating a sampling clock.
A clock phase generating module, configured to divide the sampling clock output by the clock module 100 into a plurality of phase edges with different phases according to a rising edge and a falling edge of the sampling clock, for example: 4 phase edges, phase0, phase1, phase2, phase 3; phase fine-tuning means (clock fine-tuning block and phase generation block) for generating fine-tuned phases with respect to respective phase edges, such as: the phase0 and phase0_ del only differ in phase by the phase fine adjustment device to adjust the phase (for example: 5 °); the phase1 and phase1_ del only differ in phase by the phase fine adjustment device adjusting the phase (e.g., 5 °), and so on.
A plurality of data sampling modules 300 for sampling data using the respective phase edges output by 200.
Further, the data port of each data sampling module 300 is adapted to be electrically connected to the data output of the external device (di) so as to track the data output at the data output according to the received phase.
And the data selection module 400 is configured to select sampling points of the data according to the sequence of the phase edges with different phases tracking the transmission start identifier of the data.
Further, the data selection module 400 comprises a determination unit and a selection unit, wherein the determination unit is configured to determine a first phase edge (initial phase edge) of the plurality of phase edges, which is tracked to the transmission start identifier first; and the selection unit is configured to select any phase edge which is positioned after the first phase edge and before the last phase edge as a sampling point of the data. And the last phase edge is the corresponding tail phase edge when the first phase edge is taken as the initial phase edge.
In the embodiment of the present invention, please refer to the detailed description of the functions of the corresponding modules in the third embodiment for the other functions of the clock module 100, the clock management module 200, the plurality of data sampling modules 300, and the data selection module 400, which are not described herein again.
Therefore, the determination device for the data sampling points described in fig. 5 can divide the sampling clock by combining the rising edge and the falling edge of the sampling clock, and simultaneously sample the corresponding data based on the multiple phase edges of the divided sampling clock, so that the determination operation of the data sampling points can be simplified, and the determination efficiency and accuracy of the data sampling points can be improved; and by sampling the data by combining the rising edge and the falling edge of the sampling clock, the sampling frequency of the clock can be reduced, and the realization difficulty and the power consumption of hardware can be reduced.
EXAMPLE five
Referring to fig. 6, fig. 6 is a block diagram illustrating another apparatus for determining data sampling points according to an embodiment of the present invention. The data sampling point determination apparatus described in fig. 6 is applied to a data sampling system/data sampling device/data sampling server (where the data sampling server includes a local data sampling server or a cloud data sampling server). As shown in fig. 6, the determining means of the data sampling point may include:
a memory 601 in which executable program code is stored;
a processor 602 coupled to a memory 601;
further, an input interface 603 and an output interface 604 coupled to the processor 602;
the processor 602 calls the executable program code stored in the memory 601 for executing the steps of the method for determining the data sampling points described in the first embodiment or the second embodiment.
EXAMPLE six
The embodiment of the invention discloses a computer-readable storage medium which stores a computer program for electronic data exchange, wherein the computer program enables a computer to execute the steps of the method for determining the data sampling point described in the first embodiment or the second embodiment.
EXAMPLE seven
The embodiment of the invention discloses a computer program product, which comprises a non-transitory computer readable storage medium storing a computer program, wherein the computer program is operable to make a computer execute the steps of the method for determining data sampling points described in the first embodiment or the second embodiment.
The above-described embodiments of the apparatus are merely illustrative, and the modules described as separate components may or may not be physically separate, and the components shown as modules may or may not be physical modules, may be located in one place, or may be distributed on a plurality of network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above detailed description of the embodiments, those skilled in the art will clearly understand that the embodiments may be implemented by software plus a necessary general hardware platform, and may also be implemented by hardware. Based on such understanding, the above technical solutions may be embodied in the form of a software product, which may be stored in a computer-readable storage medium, where the storage medium includes a Read-Only Memory (ROM), a Random Access Memory (RAM), a Programmable Read-Only Memory (PROM), an Erasable Programmable Read-Only Memory (EPROM), a One-time Programmable Read-Only Memory (OTPROM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a Compact Disc-Read-Only Memory (CD-ROM), or other disk memories, CD-ROMs, or other magnetic disks, A tape memory, or any other medium readable by a computer that can be used to carry or store data.
Finally, it should be noted that: the method and apparatus for determining a data sampling point disclosed in the embodiments of the present invention are only disclosed as preferred embodiments of the present invention, and are only used for illustrating the technical solutions of the present invention, rather than limiting the same; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those skilled in the art; the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims (10)

1. A method for determining data sampling points, the method comprising:
performing phase edge division operation on the sampling clock based on the obtained rising edge of the sampling clock and the obtained falling edge of the sampling clock to obtain a preset number of sampling phase edges, wherein the phase corresponding to each sampling phase edge lags behind a preset angle in sequence;
acquiring target data sent by external equipment along all the sampling phases to obtain a transmission initial identifier corresponding to the target data, and determining sampling points of the target data according to the transmission initial identifier and all the sampling phases.
2. The method of determining data sampling points according to claim 1, wherein after determining the sampling points of the target data according to the transmission start identifier and all the sampling phase edges, the method further comprises:
judging whether the number of the sampling points is larger than or equal to the determined sampling point number threshold value, judging whether the number of the sampling points is an odd number or not when the judgment result is yes, and updating the sampling point which is positioned at the middle in all the sampling points to be the sampling point of the target data when the number of the sampling points is judged to be the odd number;
and when the number of the sampling points is judged to be an even number, screening two sampling points which are positioned at the middlest and are adjacent from all the sampling points, and executing phase division operation on the two adjacent sampling points to obtain the sampling points of the target data.
3. The method of determining data sampling points according to claim 2, wherein after determining the sampling points of the target data according to the transmission start identifier and all the sampling phase edges, the method further comprises:
acquiring the sampling condition of each sampling point, wherein the sampling condition of each sampling point comprises the establishment margin of the sampling point and the holding margin of the sampling point;
and after the two sampling points which are the middlemost and adjacent are screened from all the sampling points and before the two adjacent sampling points are subjected to phase division operation to obtain the sampling points of the target data, the method further comprises the following steps:
judging whether the two adjacent sampling points do not meet the determined data sampling requirement according to the sampling conditions of the two adjacent sampling points;
and when the data sampling requirement is judged not to be met, triggering and executing the phase division operation on the two adjacent sampling points to obtain the operation of the sampling point of the target data.
4. A method of determining data sampling points as claimed in claim 3, the method further comprising:
and after the data sampling requirement is met, judging whether the target data is multi-bit data or not, and triggering and executing the phase division operation on two adjacent sampling points to obtain the operation of the sampling points of the target data when the judgment result is yes.
5. The method for determining the data sampling points according to claim 3 or 4, wherein the step of judging whether the two adjacent sampling points do not meet the determined data sampling requirement according to the sampling conditions of the two adjacent sampling points comprises the following steps:
judging whether a target sampling point with a target margin larger than or equal to the determined margin threshold exists in the two adjacent sampling points according to the sampling conditions of the two adjacent sampling points, wherein the target margin comprises an establishment margin and/or a maintenance margin;
and when judging that at least one target sampling point exists, determining that two adjacent sampling points do not meet the determined data sampling requirement.
6. A method of determining data sampling points as claimed in any one of claims 2 to 5 wherein the method further comprises:
and when the number of the sampling points is judged to be less than or equal to the threshold value of the number of the sampling points, performing delay operation on the phases corresponding to all the sampling phase edges based on the determined delay phase, and re-performing the operation of acquiring the target data according to all the sampling phase edges to obtain a transmission initial identifier corresponding to the target data.
7. The method for determining the data sampling points according to claim 6, wherein the determining the sampling points of the target data according to the transmission start identifier and all the sampling phase edges comprises:
determining a starting sampling phase edge from all the sampling phase edges according to the transmission starting identifier, wherein the starting sampling phase edge is a phase edge of all the sampling phase edges, the data state of which is changed from the first data acquired to the target data, and the data state is changed from high level to low level or from low level to high level;
and traversing all the sampling phase edges from the initial sampling phase edge, and determining the phase corresponding to the sampling phase edge capable of acquiring the target data as the sampling point of the target data.
8. An apparatus for determining a data sampling point, the apparatus comprising:
the dividing module is used for performing phase edge dividing operation on the sampling clock based on the acquired rising edge of the sampling clock and the acquired falling edge of the sampling clock to obtain a preset number of sampling phase edges, and the phase corresponding to each sampling phase edge lags behind a preset angle in sequence;
the acquisition module is used for acquiring target data sent by external equipment along all the sampling phases to obtain a transmission initial identifier corresponding to the target data;
and the determining module is used for determining the sampling points of the target data according to the transmission starting identifier and all the sampling phase edges.
9. An apparatus for determining a data sampling point, the apparatus comprising:
a memory storing executable program code;
a processor coupled with the memory;
the processor calls the executable program code stored in the memory to execute the method for determining data sampling points according to any one of claims 1 to 7.
10. A computer storage medium storing computer instructions which, when invoked, perform a method of determining data sampling points as claimed in any one of claims 1 to 7.
CN202010933980.6A 2020-09-08 2020-09-08 Method and device for determining data sampling points Active CN114153772B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010933980.6A CN114153772B (en) 2020-09-08 2020-09-08 Method and device for determining data sampling points

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010933980.6A CN114153772B (en) 2020-09-08 2020-09-08 Method and device for determining data sampling points

Publications (2)

Publication Number Publication Date
CN114153772A true CN114153772A (en) 2022-03-08
CN114153772B CN114153772B (en) 2024-04-12

Family

ID=80460671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010933980.6A Active CN114153772B (en) 2020-09-08 2020-09-08 Method and device for determining data sampling points

Country Status (1)

Country Link
CN (1) CN114153772B (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1825794A (en) * 2005-02-24 2006-08-30 美国博通公司 Network device and method for prediction of an optimal sampling phase
US20060238240A1 (en) * 2002-06-25 2006-10-26 Bogdan John W Digital signal processing of multi-sampled phase
EP1968070A1 (en) * 2007-03-08 2008-09-10 Samsung Electronics Co., Ltd. Memory controller
CN101771809A (en) * 2009-10-20 2010-07-07 大连捷成实业发展有限公司 Method for realizing multipath digital video synchronous processing on basis of FPGA
CN202033737U (en) * 2010-12-31 2011-11-09 威海北洋电气集团股份有限公司 FPGA-based high-speed data acquisition system
WO2011142721A1 (en) * 2010-05-14 2011-11-17 Agency For Science, Technology And Research System and method of sampling a signal having a plurality of identically shaped pulses
CN102714589A (en) * 2010-01-14 2012-10-03 维特赛半导体公司 Clock and data recovery for burst-mode serial signals
CN104219464A (en) * 2014-09-19 2014-12-17 北京空间机电研究所 Sampling location self-adaptive adjustment CCD video signal processing system
CN105205028A (en) * 2015-09-15 2015-12-30 珠海全志科技股份有限公司 Method and device for searching sampling point of data
CN109194460A (en) * 2018-10-26 2019-01-11 光梓信息科技(上海)有限公司 Clock data recovery circuit, adaptive adjustment module and method
CN111124998A (en) * 2018-10-30 2020-05-08 三星电子株式会社 System on chip, operating method thereof and electronic device comprising system on chip

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060238240A1 (en) * 2002-06-25 2006-10-26 Bogdan John W Digital signal processing of multi-sampled phase
CN1825794A (en) * 2005-02-24 2006-08-30 美国博通公司 Network device and method for prediction of an optimal sampling phase
EP1968070A1 (en) * 2007-03-08 2008-09-10 Samsung Electronics Co., Ltd. Memory controller
CN101771809A (en) * 2009-10-20 2010-07-07 大连捷成实业发展有限公司 Method for realizing multipath digital video synchronous processing on basis of FPGA
CN102714589A (en) * 2010-01-14 2012-10-03 维特赛半导体公司 Clock and data recovery for burst-mode serial signals
WO2011142721A1 (en) * 2010-05-14 2011-11-17 Agency For Science, Technology And Research System and method of sampling a signal having a plurality of identically shaped pulses
CN202033737U (en) * 2010-12-31 2011-11-09 威海北洋电气集团股份有限公司 FPGA-based high-speed data acquisition system
CN104219464A (en) * 2014-09-19 2014-12-17 北京空间机电研究所 Sampling location self-adaptive adjustment CCD video signal processing system
CN105205028A (en) * 2015-09-15 2015-12-30 珠海全志科技股份有限公司 Method and device for searching sampling point of data
CN109194460A (en) * 2018-10-26 2019-01-11 光梓信息科技(上海)有限公司 Clock data recovery circuit, adaptive adjustment module and method
CN111124998A (en) * 2018-10-30 2020-05-08 三星电子株式会社 System on chip, operating method thereof and electronic device comprising system on chip

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘莎;张福洪;易志强;: "一种基于FPGA的高精度随机等效采样系统的实现", 南阳理工学院学报, no. 02, pages 5 - 8 *

Also Published As

Publication number Publication date
CN114153772B (en) 2024-04-12

Similar Documents

Publication Publication Date Title
CN105072140A (en) Method and device for deploying virtual platform
CN115312092A (en) Gate-controlled data strobe signal generation circuit and signal generation method and device thereof
CN114153772A (en) Method and device for determining data sampling point
CN112241615B (en) Method and system for detecting data balance time sequence and electronic equipment
CN115665174B (en) Gradient data synchronization method, system, equipment and storage medium
CN109784795A (en) Inventory status calculation method, device, equipment and medium
CN105007134A (en) Method and device for restraining packet network PDV (Packet Delay Variation) noise and slave clock equipment
CN115941758A (en) Cloud service console deployment method, system and storage medium based on dynamic programming
CN113486613B (en) Data link extraction method and device, electronic equipment and storage medium
CN109634353A (en) Server host cascades BOX topological structure clock synchronizing method, device, terminal and storage medium
CN113420034A (en) Clock updating method, device, database and computer storage medium
US20230162598A1 (en) Counting device, counting method, and counting program
CN110569231B (en) Data migration method, device, equipment and medium
CN113395319A (en) Method, system, electronic device and storage medium for sensing network fault
EP4152019A1 (en) Current-sampling method, chip, and sampling apparatus for phase current of motor
CN115664626B (en) Clock phase determining method and device, near field communication chip and near field communication equipment
CN103544354A (en) Network-based dynamic simulation method and device for parallel computers
CN117273811B (en) Enterprise power consumption prediction data processing method based on power consumption data
CN113873023B (en) Leader node election method, leader node election device, leader node election equipment and storage medium
CN109359067B (en) Method and system for acquiring delay step time in storage module
CN112073990B (en) Method for realizing peak-to-average ratio detection in serial data stream
CN113312865B (en) Method and device for screening divided clocks, computer equipment and storage medium
CN107623575B (en) Method and device for discovering service
CN104735004A (en) Interference elimination method and device used for cell search
CN107622157B (en) Method for tracking circuit time sequence path connectivity

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
GR01 Patent grant