Control methods and devices for data transmission equipment

By detecting and adjusting the latency information of the data transmission system, the positioning system adjusts its location and optimizes device and link parameters, thus solving the problem of low data transmission efficiency between devices and achieving more efficient data transmission.

CN119690888BActive Publication Date: 2025-12-02INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411749065.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-30
Publication Date
2025-12-02
Estimated Expiration
2044-11-30

AI Technical Summary

Technical Problem

The low data transmission efficiency between devices is mainly due to the timing parameters of the SPI bus being affected by intermediate devices, the complexity of PCB traces, and the length of the traces, leading to data transmission failures.

Method used

By detecting the transmission delay information of the initial data transmission system, the system adjustment position is located and the system adjustment parameters to be adjusted are detected, including the target device, reference device, and transmission link. The adjustment parameters are used to reduce the impact of delay on data transmission, and methods such as adjusting the drive performance of the target device and reference device, the data reception timing, and improving the transmission link are adopted.

Benefits of technology

It improves the data transmission efficiency between the target device and the reference device, and solves the problem of low data transmission efficiency between devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119690888B_ABST
    Figure CN119690888B_ABST
Patent Text Reader

Abstract

This application provides a control method and apparatus for a data transmission device. A target device and a reference device are configured to transmit data when a clock signal transition edge arrives. The method includes: detecting current transmission delay information of an initial data transmission system, wherein the transmission delay information indicates the delay during data transmission between the target device and the reference device; locating a system adjustment position on the initial data transmission system based on the transmission delay information and detecting system adjustment parameters to be adjusted at the system adjustment position, wherein the system adjustment parameters are used to reduce the impact of the transmission delay information on data transmission between the target device and the reference device at the system adjustment position; and adjusting the initial data transmission system according to the system adjustment parameters at the system adjustment position. This application solves the problem of low data transmission efficiency between devices, achieving the effect of improving data transmission efficiency between devices.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computers, and more specifically, to a control method and apparatus for a data transmission device. Background Technology

[0002] In servers, access to FLASH (Flash Memory) by intelligent ICs such as the CPU (Central Processing Unit) / BMC (Baseboard Management Controller) typically utilizes the SPI (Serial Peripheral Interface) bus. Due to the high speed of the SPI bus, it has strict timing requirements. However, devices currently performing SPI data transmission often connect to different intermediate devices as needed. Combined with long PCB traces and complex PCB layouts, this can easily affect the timing on the SPI bus, leading to data transmission failures and low data transfer efficiency between devices. Summary of the Invention

[0003] This application provides a control method and apparatus for a data transmission device, which at least solves the problem of low data transmission efficiency between devices in related technologies.

[0004] According to one embodiment of this application, a control method for a data transmission device is provided, comprising: detecting current transmission delay information of an initial data transmission system, wherein the transmission delay information is used to indicate the delay situation when transmitting data between a target device and a reference device; locating a system adjustment position on the initial data transmission system based on the transmission delay information and detecting system adjustment parameters to be adjusted at the system adjustment position, wherein the system adjustment position includes at least one of the following: the target device, the reference device, and a transmission link between the target device and the reference device, and the system adjustment parameters are used to reduce the impact of the transmission delay information on data transmission between the target device and the reference device at the system adjustment position; and adjusting the initial data transmission system at the system adjustment position according to the system adjustment parameters to obtain a target data transmission system.

[0005] In an exemplary embodiment, detecting the current transmission delay information of the initial data transmission system includes: controlling the target device and the reference device to perform transmission tests according to multiple reference transmission settings to obtain multiple transmission test results, wherein each of the reference transmission settings is used to instruct the target device to send data when the transition edge arrives and receive data after a reference duration after the arrival of the transition edge, and the transmission test is used to test the data receiving capability of the target device under the multiple reference transmission settings; and filtering out a target transmission setting whose data receiving capability meets the transmission requirements from the multiple reference transmission settings according to the multiple transmission test results, wherein the transmission delay information includes the target transmission setting.

[0006] In one exemplary embodiment, controlling the target device and the reference device to perform transmission tests according to multiple reference transmission settings to obtain multiple transmission test results includes: traversing the multiple reference transmission settings; configuring the traversed reference transmission settings to the target device; controlling the target device to send first test data to the reference device when the transition edge arrives according to the configured reference transmission settings; controlling the reference device to send second test data to the target device when the transition edge arrives, wherein the second test data is the first test data received by the reference device; controlling the target device to receive the second test data after a reference duration following the arrival of the transition edge according to the configured reference transmission settings to obtain third test data; and comparing the similarity between the first test data and the third test data to obtain the transmission test result.

[0007] In an exemplary embodiment, the step of locating the system adjustment position on the initial data transmission system based on the transmission delay information and detecting the system adjustment parameter to be adjusted at the system adjustment position includes: when the transmission delay information is the target transmission setting, determining that the system adjustment position is the target device, and determining that the system adjustment parameter is the data transmission setting of the target device, wherein the data transmission setting is used to indicate the timing of the target device sending and receiving data.

[0008] In an exemplary embodiment, detecting the current transmission delay information of the initial data transmission system includes: detecting the target reception parameters of the target device in the initial data transmission system, wherein the target reception parameters are used to indicate whether the target device can receive data normally when the transition edge arrives, and the transmission delay information includes the target reception parameters.

[0009] In an exemplary embodiment, the step of locating the system adjustment position on the initial data transmission system based on the transmission delay information and detecting the system adjustment parameter to be adjusted at the system adjustment position includes: when it is detected that the target receiving parameter indicates that the target device cannot receive data normally when the transition edge arrives, determining the system adjustment position as the target device and / or the reference device, and determining the target adjustment parameter as the system adjustment parameter, wherein the target adjustment parameter is used to improve the driving performance of the target device and / or the reference device in transmitting data.

[0010] In an exemplary embodiment, the step of locating the system adjustment position on the initial data transmission system based on the transmission delay information and detecting the system adjustment parameter to be adjusted at the system adjustment position includes: when the target reception parameter is detected to indicate that the target device cannot receive data normally when the transition edge arrives, determining the system adjustment position as the transmission link and determining the link adjustment parameter as the system adjustment parameter, wherein the link adjustment parameter is used to reduce the link crosstalk resistance of the transmission link.

[0011] According to another embodiment of this application, a control device for a data transmission device is provided, applied to a controller of a data transmission system. The initial data transmission system includes a target device and a reference device, which are configured to allow data transmission when a clock signal transition edge arrives. The controller is connected to the target device and the reference device respectively. The device includes: a detection module for detecting current transmission delay information of the initial data transmission system, wherein the transmission delay information is used to indicate the delay situation when data is transmitted between the target device and the reference device; a positioning module for locating a system adjustment position on the initial data transmission system according to the transmission delay information and detecting system adjustment parameters to be adjusted at the system adjustment position, wherein the system adjustment position includes at least one of the following: the target device, the reference device, and the transmission link between the target device and the reference device, and the system adjustment parameters are used to reduce the impact of the transmission delay information on data transmission between the target device and the reference device at the system adjustment position; and an adjustment module for adjusting the initial data transmission system at the system adjustment position according to the system adjustment parameters to obtain a target data transmission system.

[0012] According to yet another embodiment of this application, a computer-readable storage medium is also provided, wherein a computer program is stored therein, and the computer program is configured to perform the steps in any of the above method embodiments when it is run.

[0013] According to yet another embodiment of this application, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0014] According to yet another embodiment of this application, a computer program product is also provided, including a computer program that, when executed by a processor, implements the steps in any of the above method embodiments.

[0015] Through this application, the controller of the data transmission system detects the latency of data transmission between the target device and the reference device in the initial data transmission system. Based on the latency, it locates the system adjustment position on the initial data transmission system and detects the system adjustment parameters to be adjusted at the system adjustment position. Then, it adjusts the initial data transmission system according to the system adjustment parameters at the system adjustment position. This reduces the impact of latency on data transmission between the target device and the reference device, and improves the data transmission efficiency between the target device and the reference device. Therefore, it can solve the problem of low data transmission efficiency between devices and achieve the effect of improving data transmission efficiency between devices. Attached Figure Description

[0016] Figure 1 This is a hardware structure block diagram of a server device for a data transmission device control method according to an embodiment of this application;

[0017] Figure 2 This is a flowchart of a control method for a data transmission device according to an embodiment of this application;

[0018] Figure 3 This is a schematic diagram of a data transmission system according to an embodiment of this application;

[0019] Figure 4 This is a schematic diagram of the signals transmitted by the data transmission system according to an embodiment of this application. Figure 1 ;

[0020] Figure 5 This is a schematic diagram of the signals transmitted by the data transmission system according to an embodiment of this application. Figure 2 ;

[0021] Figure 6 This is a reference diagram showing the setting of the driving capability of an SPI bus according to an embodiment of this application;

[0022] Figure 7 This is a schematic diagram of the signals transmitted by the data transmission system according to an embodiment of this application. Figure 3 ;

[0023] Figure 8This is a schematic diagram of the signals transmitted by the data transmission system according to an embodiment of this application. Figure 4 ;

[0024] Figure 9 This is a reference diagram showing the setting of a delay judgment register for a BMC designed according to an embodiment of this application;

[0025] Figure 1 0 is a structural block diagram of the control device of the data transmission device according to an embodiment of this application. Detailed Implementation

[0026] The embodiments of this application will be described in detail below with reference to the accompanying drawings and examples.

[0027] It should be noted that the terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0028] The methods and embodiments provided in this application can be executed on a server device or a similar computing device. Taking running on a server device as an example, Figure 1 This is a hardware structure block diagram of a server device for a data transmission device control method according to an embodiment of this application. (See diagram below.) Figure 1 As shown, the server device may include one or more ( Figure 1 Only one is shown. A processor 102 (processor 102 may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.) and a memory 104 for storing data are also shown. The server device may further include a transmission device 106 for communication functions and an input / output device 108. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the server equipment described above. For example, the server equipment may also include components that are more... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0029] The memory 104 can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to the control method of the data transmission device in this embodiment. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, thus implementing the above-described method. The memory 104 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to server devices via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0030] The transmission device 106 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider for the server device. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 may be a Radio Frequency (RF) module used for wireless communication with the Internet.

[0031] This embodiment provides a control method for a data transmission device, applied to a controller of a data transmission system. The initial data transmission system includes a target device and a reference device, which are configured to transmit data upon arrival of a clock signal transition edge. The controller is connected to both the target device and the reference device. Figure 2 This is a flowchart of a control method for a data transmission device according to an embodiment of this application, such as... Figure 2 As shown, the process includes the following steps:

[0032] Step S202: Detect the current transmission delay information of the initial data transmission system, wherein the transmission delay information is used to indicate the delay when transmitting data between the target device and the reference device;

[0033] Step S204: Based on the transmission delay information, locate the system adjustment position on the initial data transmission system and detect the system adjustment parameters to be adjusted at the system adjustment position. The system adjustment position includes at least one of the following: target device, reference device, and transmission link between the target device and the reference device. The system adjustment parameters are used to reduce the impact of the transmission delay information on the data transmission between the target device and the reference device at the system adjustment position.

[0034] Step S206: Adjust the initial data transmission system according to the system adjustment parameters at the system adjustment position to obtain the target data transmission system.

[0035] Through the above steps, the controller of the data transmission system detects the latency of data transmission between the target device and the reference device in the initial data transmission system. Based on the latency, it locates the system adjustment position on the initial data transmission system and detects the system adjustment parameters to be adjusted at the system adjustment position. Then, it adjusts the initial data transmission system according to the system adjustment parameters at the system adjustment position. This reduces the impact of latency on data transmission between the target device and the reference device, and improves the data transmission efficiency between the target device and the reference device. Therefore, it can solve the problem of low data transmission efficiency between devices and achieve the effect of improving data transmission efficiency between devices.

[0036] Optionally, in the embodiments of this application, the data transmission system may include, but is not limited to, a target device and a reference device that need to transmit data. In cases where there are additional requirements, there may be other devices between the target device and the reference device. For example, if the communication levels of the target device and the reference device are inconsistent, there may be a level conversion device between the target device and the reference device.

[0037] Optionally, in the embodiments of this application, the target device may be, but is not limited to, a device capable of controlling the data transmission process, such as a CPU, BMC, microcontroller, digital signal processor, field-programmable gate array, digital signal decoder, memory controller, etc.

[0038] Optionally, in the embodiments of this application, the reference device may be, but is not limited to, a device that supports full-duplex communication and can transmit data in response to the control of the target device. For example, it may be a storage device for storing data, such as FLASH or electrically erasable programmable read-only memory.

[0039] Optionally, in this embodiment, the transition edge includes a rising edge and a falling edge. The target device may, but is not limited to, be configured to allow data transmission on the rising edge of the clock signal, and correspondingly, the reference device may be configured to allow data reception on the falling edge of the clock signal; or, the target device may be configured to allow data transmission on the falling edge of the clock signal, and correspondingly, the reference device may be configured to allow data reception on the rising edge of the clock signal. The configuration scheme where the reference device performs data transmission and the target device performs data reception is similar to the above.

[0040] Optionally, in the embodiments of this application, the clock signal may be generated by the target device and sent to the reference device, but is not limited to.

[0041] In the embodiment provided in step S202, the transmission delay information may be used, but is not limited to, to indicate the delay of data transmission between the target device and the reference device, including but not limited to indicating whether there is a delay in data transmission between the target device and the reference device, or indicating the delay time when data is transmitted between the target device and the reference device, etc.

[0042] Optionally, in this embodiment, detecting the current transmission delay information of the initial data transmission system includes, but is not limited to, determining the current transmission delay information of the transmission system by detecting the reception of data sent by the target device to the reference device. In this case, the transmission delay information is used to indicate whether there is a delay when transmitting data between the target device and the reference device.

[0043] Optionally, in this embodiment of the application, detecting the current transmission delay information of the initial data transmission system includes, but is not limited to, determining the transmission delay information by detecting the time difference between the transition edge of the data sent by the reference device and the transition edge of the clock signal received by the target device using an oscilloscope. In this case, the transmission delay information is used to indicate the degree of delay when transmitting data between the target device and the reference device.

[0044] In the embodiment provided in step S204, the system adjustment position includes, but is not limited to, the target device, and / or, the reference device, and / or, the transmission link between the target device and the reference device. Adjusting the system position for the target device involves adjusting the data drive capability of the target device to provide greater drive for the transmitted clock signal and data, reducing the signal error of the clock signal received by the reference device, and reducing the impact of latency on data transmission between the target device and the reference device. Alternatively, it involves adjusting the timing of the target device's collection of data transmitted by the reference device, delaying the original reception timing to achieve normal reception of data with latency, which also reduces the impact of latency on data transmission between the target device and the reference device. Adjusting the system position for the reference device involves adjusting the data drive capability of the reference device to provide greater drive for the transmitted data, reducing the transition edge time error between the data received by the target device and the original clock signal, and reducing the impact of latency on data transmission between the target device and the reference device. Adjusting the system position for the transmission link involves reducing the impact of the transmission link on the latency of the clock signal and the transmitted data, thereby reducing the generation of latency and thus reducing the impact of latency on data transmission between the target device and the reference device.

[0045] Optionally, in this embodiment, the current transmission delay information of the initial data transmission system is detected, and the system adjustment position is located on the initial data transmission system based on the transmission delay information. The system adjustment parameters to be adjusted at the system adjustment position are also detected, including but not limited to detecting a first delay parameter of the reference device and a second delay parameter of the target device. The first delay parameter indicates the time difference between the transition edge of the data received by the reference device from the target device and the transition edge of the transmitted clock signal. The second delay parameter indicates the time difference between the transition edge of the data received by the target device from the reference device and the transition edge of the transmitted clock signal. When the second delay parameter is detected to be greater than a delay threshold and the first delay parameter is less than a delay threshold, the system adjusts its parameters accordingly. Under the condition of a delay threshold, the target device is determined as the system adjustment position and the system adjustment parameter is determined as the first parameter. The first parameter is used to instruct the target device to receive data after the clock signal arrives for a target duration. The target duration corresponds to the second delay parameter. If the second delay parameter is detected to be greater than the delay threshold and the first delay parameter is also greater than the delay threshold, the transmission link is determined as the system adjustment position and the system adjustment parameter is determined as the second parameter. Alternatively, the target device is determined as the system adjustment position and the system adjustment parameter is determined as the third parameter. The second parameter is used to instruct the reduction of the transmission link's obstruction to the transmitted data, and the third parameter is used to instruct the enhancement of the target device's driving performance for the transmitted data. The above solutions address the following: When signal delay is minor (affecting only the target device's data reception but not the reference device's), adjusting the target device's data reception timing reduces the impact of delay on data transmission. This approach is less limited by device and link performance and is easier to implement. When signal delay is severe (affecting both the target and reference devices' data reception), improving data drive performance and reducing link interference directly reduces the degree of delay to minimize the actions required to improve data transmission efficiency. This solves both the target and reference device's inability to receive data. By combining these methods and adopting different solutions for different needs, data transmission efficiency can be improved efficiently with minimal operations.

[0046] In the embodiment provided in step S206, the initial data transmission system is adjusted at the system adjustment position according to the system adjustment parameters, including but not limited to improving the data driving performance of the target device, and / or improving the data driving performance of the reference device, and / or adjusting the data reception timing of the target device, and / or mitigating the data obstruction effect of the transmission link, etc.

[0047] Optionally, in the embodiments of this application, Figure 3 This is a schematic diagram of a data transmission system according to an embodiment of this application, such as... Figure 3As shown, the BMC / CPU (target device) acts as the master end of the SPI bus, and the FLASH (reference device) acts as the slave end. The BMC / CPU communication level is specified as 1V8, while the FLASH operating level is 3V3. Therefore, a level conversion IC needs to be added between the BMC / CPU and the FLASH. However, the level conversion IC introduces a significant delay. Furthermore, due to the complexity of servers and the large number of components on the board, the distance from the CPU / BMC to the FLASH is extremely long, and the long PCB traces further exacerbate the signal delay. In addition, because servers often have PROT (Protocol Analysis) monitoring of the SPI bus, SPI traces inevitably branch, and star connections are frequently present on the PCB traces, introducing large studs (protruding structures on the wiring), further increasing signal delay. All of these delays significantly affect the SPI signal timing requirements, leading to abnormal SPI communication and further impacting data transmission between the target device and the reference device. More specifically, as... Figure 3 As shown, the CPU accesses the BIOS FLASH through a 2-stage MUX (multiplexer), using channels 1, 4, and 5. The BMC is used here to upgrade the BIOS FLASH, using channels 2, 3, 4, and 5. The PROT monitors the existence of the SPI bus used by the CPU and BMC to access the BIOS FLASH, and also has the function of accessing the BIOS FLASH, monitoring channel 7. Access to the BIOS FLASH uses channels 6 and 5. A level shifting device is located between channels 2 and 3. Because the BMC and BIOS FLASH operate at different voltage levels, this device is needed to perform level shifting at both ends. In practical applications, it was found that when the PROT is present (the PROT is a separate, removable PCB), and the SPI bus is operating at 50MHz, the BMC always encounters an error when upgrading the BIOS FLASH, as shown in the following code:

[0048] 00000: / home / taobao#bios-update.sh / tmp

[0049] BIOS image is / tmp / bios.bin

[0050] BIOS upgrade started at Thu Aug 8 06:33:07 UTC 2024

[0051] Check host server power state first

[0052] Host server powered off

[0053] PROT device is not available

[0054] Switch BIOS flash to BMC

[0055] Bind spi-nor driver

[0056] / usr / bin / bios-update.sh: line 217: echo: write error: No such device

[0057] Unbind spi-nor driver

[0058] / usr / bin / bios-update.sh: line l 94: echo: write error: No such device

[0059] PORT device is not available

[0060] Switch BIOS flash to host

[0061] Figure 4 This is a schematic diagram of the signals transmitted by the data transmission system according to an embodiment of this application. Figure 1 ,like Figure 4 As shown, after actual testing and analysis, the root cause of the FLASH upgrade failure was an SPI timing anomaly caused by objective factors. The effective rising or falling edge was delayed by approximately 8ns due to the level shifting device, while the effective acquisition time of the 50MHz SPI bus is only 10ns. Furthermore, objective factors such as PROT further worsened the SPI bus timing requirements, ultimately leading to the SPI bus anomaly. To continue the BMC upgrade of the FLASH, it is necessary to reduce the impact of latency on data transmission between the target and reference devices. This can be achieved by using steps S202-S206 above to obtain the target data transmission system, and then performing the BMC upgrade of the FLASH within that system.

[0062] As an optional implementation, detecting the current transmission delay information of the initial data transmission system includes: detecting the target reception parameters of the target device in the initial data transmission system, wherein the target reception parameters are used to indicate whether the target device can receive data normally when the transition edge arrives, and the transmission delay information includes the target reception parameters.

[0063] By taking the above steps, it is possible to detect whether the target device can receive data normally when the transition edge arrives. This can indirectly determine whether there is a timing edge in the data transmission between the target device and the reference device in the initial data transmission system without the intervention of other devices. This provides a basis for improving the impact of latency on data transmission within the data transmission system.

[0064] As an optional implementation, the system adjustment position is located on the initial data transmission system based on the transmission delay information, and the system adjustment parameters to be adjusted at the system adjustment position are detected. This includes: when the target receiving parameters are detected to indicate that the target device cannot receive data normally when the transition edge arrives, the system adjustment position is determined to be the transmission link, and the link adjustment parameters are determined to be the system adjustment parameters, wherein the link adjustment parameters are used to reduce the crosstalk of the transmission link.

[0065] Optionally, in the embodiments of this application, the obstruction effect of the transmission link on the transmitted data is reduced by reducing the link crosstalk resistance of the transmission link, thereby reducing the rise and fall times of the level signal and clock signal corresponding to the transmitted data and reducing the latency.

[0066] Optionally, in embodiments of this application, in such cases... Figure 3 In the data transmission system shown, a more specific method to reduce the impact of latency on data transmission between the target device and the reference device using the methods of steps S202-S206 above is to use the method of optimizing the series resistance from the master device end to the slave device end of the SPI bus, adjusting the series resistance from the commonly used 33R or 22R to 0R, which can reduce the rise and fall time of the SPI bus signal level. Figure 5 This is a schematic diagram of signals transmitted by the data transmission system according to an embodiment of this application; as shown... Figure 5 As shown, after modifying the series resistor, the actual signal delay time was reduced from 8ns to 3ns. By optimizing the SPI series resistor value, the rise and fall times of the SPI bus were optimized, effectively improving the SPI delay issue.

[0067] The above steps present a method for optimizing the initial data transmission system by reducing the link crosstalk impedance. By shortening the rise and fall times, the data transmission latency within the system is optimized, thereby improving the data transmission efficiency.

[0068] As an optional implementation, the system adjustment position is located on the initial data transmission system based on the transmission delay information, and the system adjustment parameters to be adjusted at the system adjustment position are detected. This includes: when a target receiving parameter is detected indicating that the target device cannot receive data normally when the transition edge arrives, the system adjustment position is determined to be the target device and / or the reference device, and the target adjustment parameter is determined to be the system adjustment parameter. The target adjustment parameter is used to improve the driving performance of the target device and / or the reference device in transmitting data.

[0069] Optionally, in the embodiments of this application, the latency may be reduced by improving the driving performance of the target device to transmit data, thereby reducing the rise and fall times of the level signal and the clock signal corresponding to the transmitted data, and / or by improving the driving performance of the reference device to transmit data, thereby reducing the rise and fall times of the level signal corresponding to the transmitted data.

[0070] Optionally, in embodiments of this application, in such cases... Figure 3 In the data transmission system shown, a more specific method to reduce the impact of latency on data transmission between the target device and the reference device using the methods described in steps S202-S206 above can be to employ a second approach: optimizing the SPI bus drive capability of the BMC / CPU / FLASH, thereby indirectly optimizing the rise and fall times of the SPI bus and thus the SPI latency. Taking BIOS FLASH as an example... Figure 6 This is a reference diagram showing the setting of the driving capability of an SPI bus according to an embodiment of this application, such as... Figure 6 As shown, the SPI bus drive capability is divided into four levels, from high to low: 18 ohms, 25 ohms, 35 ohms, and 50 ohms. The lower the resistance, the stronger the drive capability. The drive capability of the FLASH memory is adjusted using a FLASH fixture. Figure 7 This is a schematic diagram of the signals transmitted by the data transmission system according to an embodiment of this application. Figure 3 , Figure 8 This is a schematic diagram of the signals transmitted by the data transmission system according to an embodiment of this application. Figure 4 ,like Figure 7 and Figure 8 As shown, Figure 7 The waveform shown is the waveform before the optimization operation was performed. Figure 8 The waveform diagram shows the waveform after optimization. It can be seen that the rising and falling edges of the FLASH MISO signal (i.e. the signal sent by FLASH to BMC) are significantly improved before and after optimization, from 7ns to about 3ns.

[0071] Through the above steps, a method is presented to improve the driving performance of the target device and / or reference device in transmitting data to optimize the initial data transmission system. Similarly, by shortening the rise and fall times of the level signals corresponding to the transmitted data, the data transmission delay within the data transmission system is optimized, thereby improving the data transmission efficiency within the data transmission system.

[0072] As an optional implementation, detecting the current transmission delay information of the initial data transmission system includes: controlling the target device and the reference device to perform transmission tests according to multiple reference transmission settings to obtain multiple transmission test results, wherein each reference transmission setting is used to instruct the target device to send data when the transition edge arrives and to receive data after a reference duration after the transition edge arrives, and the transmission test is used to test the data receiving capability of the target device under multiple reference transmission settings; and selecting the target transmission setting whose data receiving capability meets the transmission requirements from the multiple reference transmission settings based on the multiple transmission test results, wherein the transmission delay information includes the target transmission setting.

[0073] Optionally, in the embodiments of this application, the timing of receiving data by the target device may be delayed by determining the delay of the electrical signal corresponding to the data received by the target device through preliminary testing. This is to reduce the impact of transmission delay on data transmission between the target device and the reference device without changing the delay, thereby improving the data transmission efficiency between the devices.

[0074] By performing transmission tests on multiple reference transmission settings, the target transmission settings whose data reception capabilities meet the transmission requirements are selected. This allows the target device to receive data later during actual data transmission between the target device and the reference device, reducing the impact of latency caused by the transmission of data and clock signals on data reception and improving data transmission efficiency.

[0075] As an optional implementation, the target device and the reference device are controlled to perform transmission tests according to multiple reference transmission settings to obtain multiple transmission test results, including: traversing multiple reference transmission settings; configuring the traversed reference transmission settings to the target device; controlling the target device to send first test data to the reference device when the transition edge arrives according to the configured reference transmission settings; controlling the reference device to send second test data to the target device when the transition edge arrives, wherein the second test data is the first test data received by the reference device; controlling the target device to receive the second test data after a reference duration of the arrival of the transition edge according to the configured reference transmission settings to obtain third test data; comparing the similarity between the first test data and the third test data to obtain the transmission test result.

[0076] Optionally, in this embodiment, because the clock signal and data signal received by the reference device have both passed through the transmission link, the time delay difference between the clock signal and the data signal is not very large. Therefore, under normal circumstances, the similarity between the first test data and the second test data is very high. On the target device side, the reference device sends data according to the clock signal after the time delay has occurred. The timing of data transmission itself will cause a certain time delay. In addition, the data signal transmitted by the reference device will pass through the transmission link, and the data signal received by the target device will be further delayed. In this case, the target device receives data according to its own accurate clock signal without time delay, which may easily lead to the situation where the data cannot be received normally. That is, the similarity between the first test data and the third test data is more easily affected by the time delay. Therefore, the transmission test result is judged by judging the similarity between the first test data and the third test data.

[0077] As an optional implementation, the system adjustment position is located on the initial data transmission system based on the transmission delay information, and the system adjustment parameters to be adjusted at the system adjustment position are detected. This includes: if the transmission delay information is the target transmission setting, determining that the system adjustment position is the target device, and determining that the system adjustment parameters are the data transmission settings of the target device, wherein the data transmission settings are used to indicate the timing of the target device sending and receiving data.

[0078] Optionally, in embodiments of this application, in such cases... Figure 3 In the data transmission system shown, both of the above methods can optimize the SPI bus latency. However, due to the different parameter settings of each FLASH memory, and even the different driving capabilities of each BMC / CPU, the above two methods require SPI bus optimization based on the actual SPI topology and application. Although this can optimize the SPI signal, it increases the workload and makes it impossible to perform uniform optimization for each SPI signal. Here, we present another method for optimizing the SPI bus latency, Method 3, which involves adding a latency judgment at the BMC / CPU level and optimizing the SPI bus timing from within the BMC / CPU by importing the SPI driver. Figure 9 This is a reference diagram showing the setting of a delay judgment register for a BMC designed according to an embodiment of this application. For example... Figure 9 As shown, the delay determination register of the BMC's SPI bus is used by the BMC to receive the high and low level values ​​of the SPI signal from the FLASH. Internally, the BMC defaults to sampling on the falling edge. Figure 9As shown, by setting this 8-bit register, the timing of SPI bus data acquisition on the falling edge of the BMC can be adjusted. This is equivalent to the BMC delaying the data acquisition by a specified time before determining the voltage level. This allows for internal tuning of the BMC to optimize the impact of this SPI delay on the SPI bus timing. Specifically, HCLK is 200MHz. Coarse tuning involves adjusting the delay time in units of a single HCLK, at 5, 10, and 15ns. Fine tuning involves adjusting the DI parameter in 0.5ns increments to optimize the delay judgment time.

[0079] However, it is impossible for the BMC to set this parameter every time it powers on. Moreover, this parameter varies depending on the actual PCB routing, STUB factors, and level conversion factors in the circuit, resulting in inconsistent delays for each SPI bus. Therefore, when the BMC powers on, it traverses and accesses the FLASH devices of the SPI bus to select an optimal delay value, imports it, and then starts working.

[0080] The specific implementation process includes the following steps:

[0081] Step S1: First, determine if the values ​​in the initial space 0-0x4FF of the FLASH device space in the BMC downlink are all zero. This can be confirmed when selecting FLASH.

[0082] Step S2: The BMC initializes the SPI driver, with a default delay judgment value of 0 (no delay judgment needs to be imported by default).

[0083] Step S3: The BMC's SPI bus performs repeated read and write accesses to the 0-0x4FF space of the FLASH. Specifically, it first writes n binary values ​​of 10101010 to the 0-0x4FF space, and then the BMC reads back the values ​​of the 0-0x4FF space through the SPI bus to determine whether the written and read values ​​are consistent. If they are consistent, there is no error by default.

[0084] Step S4: The BMC sets the value of the delay judgment register, from the minimum 0 (no delay) to the maximum set delay. Step S3 is executed for each delay value to determine which delay interval can meet the normal SPI working requirements.

[0085] Step S5: If all delay register options work correctly, then the BMC sets the intermediate delay value to the optimal value.

[0086] Step S6: If a function works normally within a certain interval but fails to work normally in another interval, then take the beginning and end of the normally working interval as the base point and select an intermediate delay value as the optimal value.

[0087] Due to the actual PCB routing of SPI, including the presence of potential stubles, MUX, or level-shifting devices, there will inevitably be a delay in the SPI signal transmission between the master and slave devices, or vice versa. This delay is unavoidable. Methods one and two can minimize the impact of this delay on SPI bus timing, thus ensuring normal SPI operation. By implementing method three, a delay judgment time is set internally in the BMC. This delay allows the BMC to postpone the determination of the high / low active level of the SPI signal acquired from the FLASH. This delay offsets the delay interference introduced by the PCB routing, stubles, and other physical factors, completely eliminating this delay and optimizing SPI timing, thus ensuring the normal operation of the SPI bus.

[0088] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods of the various embodiments of this application.

[0089] This embodiment also provides a control device for a data transmission device, applied to a controller of a data transmission system. The initial data transmission system includes a target device and a reference device, which are configured to allow data transmission upon arrival of a clock signal transition edge. The controller is connected to both the target device and the reference device. This device is used to implement the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0090] Figure 10 This is a structural block diagram of the control device of the data transmission device according to an embodiment of this application, such as... Figure 10 As shown, the device includes:

[0091] The detection module 1 002 is used to detect the current transmission delay information of the initial data transmission system, wherein the transmission delay information is used to indicate the delay when transmitting data between the target device and the reference device;

[0092] The positioning module 1004 is used to locate the system adjustment position on the initial data transmission system based on the transmission delay information and detect the system adjustment parameters to be adjusted at the system adjustment position. The system adjustment position includes at least one of the following: the target device, the reference device, and the transmission link between the target device and the reference device. The system adjustment parameters are used to reduce the impact of the transmission delay information on the data transmission between the target device and the reference device at the system adjustment position.

[0093] The adjustment module 1006 is used to adjust the initial data transmission system according to the system adjustment parameters at the system adjustment position to obtain the target data transmission system.

[0094] Through the above steps, the controller of the data transmission system detects the latency of data transmission between the target device and the reference device in the initial data transmission system. Based on the latency, it locates the system adjustment position on the initial data transmission system and detects the system adjustment parameters to be adjusted at the system adjustment position. Then, it adjusts the initial data transmission system according to the system adjustment parameters at the system adjustment position. This reduces the impact of latency on data transmission between the target device and the reference device, and improves the data transmission efficiency between the target device and the reference device. Therefore, it can solve the problem of low data transmission efficiency between devices and achieve the effect of improving data transmission efficiency between devices.

[0095] As an optional implementation, the detection module includes: a testing unit, used to control the target device and the reference device to perform transmission tests according to multiple reference transmission settings, and obtain multiple transmission test results, wherein each reference transmission setting is used to instruct the target device to send data when the transition edge arrives and to receive data after a reference duration after the transition edge arrives, and the transmission test is used to test the data receiving capability of the target device under multiple reference transmission settings; and a filtering unit, used to filter out the target transmission setting whose data receiving capability meets the transmission requirements from the multiple reference transmission settings according to the multiple transmission test results, wherein the transmission delay information includes the target transmission setting.

[0096] As an optional implementation, the test unit is further configured to: traverse multiple reference transmission settings; configure the traversed reference transmission settings to the target device; control the target device to send first test data to the reference device when the transition edge arrives according to the configured reference transmission settings; control the reference device to send second test data to the target device when the transition edge arrives, wherein the second test data is the first test data received by the reference device; control the target device to receive the second test data after a reference duration following the arrival of the transition edge according to the configured reference transmission settings, thereby obtaining third test data; and compare the similarity between the first test data and the third test data to obtain a transmission test result.

[0097] As an optional implementation, the positioning module includes: a first determining unit, configured to determine the system adjustment position as the target device when the transmission delay information is the target transmission setting, and to determine the system adjustment parameters as the data transmission settings of the target device, wherein the data transmission settings are used to indicate the timing of the target device sending and receiving data.

[0098] As an optional implementation, the detection module includes: a detection unit for detecting target reception parameters of a target device in the initial data transmission system, wherein the target reception parameters are used to indicate whether the target device can receive data normally when the transition edge arrives, and the transmission delay information includes the target reception parameters.

[0099] As an optional implementation, the positioning module includes: a second determining unit, configured to determine the system adjustment position as the target device and / or reference device when a target receiving parameter is detected indicating that the target device cannot receive data normally when the transition edge arrives, and to determine the target adjustment parameter as the system adjustment parameter, wherein the target adjustment parameter is used to improve the driving performance of the target device and / or reference device in transmitting data.

[0100] As an optional implementation, the positioning module includes: a third determining unit, configured to determine the system adjustment position as a transmission link when the target receiving parameters indicate that the target device cannot receive data normally when the transition edge arrives, and to determine the link adjustment parameters as system adjustment parameters, wherein the link adjustment parameters are used to reduce the crosstalk resistance of the transmission link.

[0101] It should be noted that the above modules can be implemented by software or hardware. For the latter, they can be implemented in the following ways, but are not limited to: all the above modules are located in the same processor; or, the above modules are located in different processors in any combination.

[0102] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above method embodiments when run.

[0103] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.

[0104] Embodiments of this application also provide an electronic device, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0105] In one exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.

[0106] Embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the above method embodiments.

[0107] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps in any of the above method embodiments.

[0108] Embodiments of this application also provide a computer program that includes computer instructions stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the steps in any of the above method embodiments.

[0109] Specific examples in this embodiment can be found in the examples described in the above embodiments and exemplary implementations, and will not be repeated here.

[0110] Obviously, those skilled in the art should understand that the modules or steps of this application described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those presented here, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, this application is not limited to any particular combination of hardware and software.

[0111] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the protection scope of this application.

Claims

1. A control method for a data transmission device, characterized in that, A controller applied to a data transmission system, wherein the initial data transmission system includes a target device and a reference device, the target device and the reference device being configured to allow data transmission upon arrival of a clock signal transition edge, the controller being connected to the target device and the reference device respectively, the method comprising: The transmission delay information of the initial data transmission system is detected, wherein the transmission delay information is used to indicate the delay situation when data is transmitted between the target device and the reference device; Based on the transmission delay information, the system adjustment position is located on the initial data transmission system, and the system adjustment parameters to be adjusted at the system adjustment position are detected. The system adjustment position includes at least one of the following: the target device, the reference device, and the transmission link between the target device and the reference device. The system adjustment parameters are used to reduce the impact of the transmission delay information on the data transmission between the target device and the reference device at the system adjustment position. The initial data transmission system is adjusted at the system adjustment position according to the system adjustment parameters to obtain the target data transmission system; The step of locating the system adjustment position on the initial data transmission system based on the transmission delay information and detecting the system adjustment parameters to be adjusted at the system adjustment position includes: The system detects a first delay parameter of the reference device and a second delay parameter of the target device. The first delay parameter indicates the time difference between the transition edge of the data received by the reference device and the transition edge of the transmitted clock signal. The second delay parameter indicates the time difference between the transition edge of the data received by the reference device and the transition edge of the transmitted clock signal. The transmission delay information includes the first delay parameter and the second delay parameter. If the second delay parameter is detected to be greater than a delay threshold and the first delay parameter is less than the delay threshold, the target device is determined to be the system adjustment position, and the system adjustment parameter is determined to be the first delay parameter. A parameter is provided, wherein the first parameter is used to indicate that the target device receives data after the clock signal arrives at a target duration, and the target duration corresponds to the second delay parameter; if the second delay parameter is detected to be greater than the delay threshold and the first delay parameter is also greater than the delay threshold, the transmission link is determined to be the system adjustment position and the system adjustment parameter is determined to be the second parameter, or the target device is determined to be the system adjustment position and the system adjustment parameter is determined to be the third parameter, wherein the second parameter is used to indicate reducing the obstruction effect of the transmission link on the transmitted data, and the third parameter is used to indicate enhancing the driving performance of the target device on the transmitted data.

2. The method according to claim 1, characterized in that, The detection of the current transmission delay information of the initial data transmission system includes: The target device and the reference device are controlled to perform transmission tests according to multiple reference transmission settings to obtain multiple transmission test results. Each of the reference transmission settings is used to instruct the target device to send data when the transition edge arrives and to receive data after a reference duration after the transition edge arrives. The transmission test is used to test the data receiving capability of the target device under the multiple reference transmission settings. Based on the multiple transmission test results, a target transmission setting whose data reception capability meets the transmission requirements is selected from the multiple reference transmission settings, wherein the transmission delay information includes the target transmission setting.

3. The method according to claim 2, characterized in that, The control system performs transmission tests on the target device and the reference device according to multiple reference transmission settings, and obtains multiple transmission test results, including: Iterate through the multiple reference transmission settings; Configure the reference transmission settings that have been traversed to the target device; The target device is controlled to send the first test data to the reference device when the transition edge arrives, according to the configured reference transmission settings; The reference device is controlled to send second test data to the target device when the transition edge arrives, wherein the second test data is the first test data received by the reference device; The target device is controlled to receive the second test data after the reference duration of the transition edge is reached, according to the configured reference transmission settings, and thus obtain the third test data; The transmission test results are obtained by comparing the similarity between the first test data and the third test data.

4. The method according to claim 2, characterized in that, The step of locating the system adjustment position on the initial data transmission system based on the transmission delay information and detecting the system adjustment parameters to be adjusted at the system adjustment position includes: When the transmission delay information is the target transmission setting, the system adjustment position is determined to be the target device, and the system adjustment parameters are determined to be the data transmission settings of the target device, wherein the data transmission settings are used to indicate the timing of the target device sending and receiving data.

5. The method according to claim 1, characterized in that, The detection of the current transmission delay information of the initial data transmission system includes: The target receiving parameters of the target device in the initial data transmission system are detected, wherein the target receiving parameters are used to indicate whether the target device can receive data normally when the transition edge arrives, and the transmission delay information includes the target receiving parameters.

6. The method according to claim 5, characterized in that, The step of locating the system adjustment position on the initial data transmission system based on the transmission delay information and detecting the system adjustment parameters to be adjusted at the system adjustment position includes: If the target receiving parameter is detected to indicate that the target device cannot receive data normally when the transition edge arrives, the system adjustment position is determined to be the target device and / or the reference device, and the target adjustment parameter is determined to be the system adjustment parameter, wherein the target adjustment parameter is used to improve the driving performance of the target device and / or the reference device in transmitting data.

7. The method according to claim 5, characterized in that, The step of locating the system adjustment position on the initial data transmission system based on the transmission delay information and detecting the system adjustment parameters to be adjusted at the system adjustment position includes: If the target receiving parameter is detected to indicate that the target device cannot receive data normally when the transition edge arrives, the system adjustment position is determined to be the transmission link, and the link adjustment parameter is determined to be the system adjustment parameter, wherein the link adjustment parameter is used to reduce the link crosstalk resistance of the transmission link.

8. A control device for a data transmission equipment, characterized in that, A controller for a data transmission system, wherein the initial data transmission system includes a target device and a reference device, the target device and the reference device being configured to allow data transmission upon arrival of a clock signal transition edge, the controller being connected to the target device and the reference device respectively, the device comprising: The detection module is used to detect the current transmission delay information of the initial data transmission system, wherein the transmission delay information is used to indicate the delay situation when transmitting data between the target device and the reference device; The positioning module is used to locate the system adjustment position on the initial data transmission system based on the transmission delay information and detect the system adjustment parameters to be adjusted at the system adjustment position. The system adjustment position includes at least one of the following: the target device, the reference device, and the transmission link between the target device and the reference device. The system adjustment parameters are used to reduce the impact of the transmission delay information on the data transmission between the target device and the reference device at the system adjustment position. An adjustment module is used to adjust the initial data transmission system at the system adjustment position according to the system adjustment parameters to obtain the target data transmission system; The positioning module is further configured to: detect a first delay parameter of the reference device and a second delay parameter of the target device, wherein the first delay parameter indicates the time difference between the transition edge of the data received by the reference device from the target device and the transition edge of the transmitted clock signal, and the second delay parameter indicates the time difference between the transition edge of the data received by the reference device from the reference device and the transition edge of the transmitted clock signal, the transmission delay information including the first delay parameter and the second delay parameter; and, if the second delay parameter is detected to be greater than a delay threshold and the first delay parameter is detected to be less than the delay threshold, determine that the target device is adjusting its position for the system and determine the system. The adjustment parameter is a first parameter, wherein the first parameter is used to instruct the target device to receive data after the clock signal arrives at a target duration, and the target duration corresponds to the second delay parameter; if the second delay parameter is detected to be greater than the delay threshold and the first delay parameter is also greater than the delay threshold, the transmission link is determined to be the system adjustment position and the system adjustment parameter is determined to be a second parameter, or the target device is determined to be the system adjustment position and the system adjustment parameter is determined to be a third parameter, wherein the second parameter is used to instruct the reduction of the obstruction effect of the transmission link on the transmitted data, and the third parameter is used to instruct the enhancement of the target device's driving performance for the transmitted data.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the method described in any one of claims 1 to 7.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the method described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method, device and system for serial peripheral interface bus data transmission

    CN115858446A