Method and device for controlling data transmission equipment
By detecting and adjusting the delay parameters of the data transmission system, the problem of low data transmission efficiency between devices is solved, and the effect of improving data transmission efficiency is achieved.
Patent Information
- Application Number
- CN202411749065.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-30
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2044-11-30
AI Technical Summary
In the prior art, the data transmission efficiency between devices is low, mainly because the SPI bus has strict requirements on timing parameters, and the long PCB traces and complex trace layouts are likely to affect the timing, resulting in data transmission failure or inefficiency.
By detecting the transmission delay information of the initial data transmission system, the positioning system adjusts the position and detects the system adjustment parameters to be adjusted, including the target device, the reference device and the transmission link, adjusting the parameters of these positions to reduce the impact of the delay on data transmission.
It effectively reduces the impact of time delay on data transmission between target equipment and reference equipment, improves data transmission efficiency, and solves the problem of low data transmission efficiency between equipment.
Smart Images

Figure CN119690888A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computers, and in particular, to a control method and apparatus for a data transmission device. Background Art
[0002] The access of intelligent ICs (Integrated Circuit) such as CPU (Central Processing Unit) / BMC (Baseboard Management Controller) in the server to FLASH (Flash Memory) is usually applied to the SPI (Serial Peripheral Interface) bus. Since the SPI bus is very fast, the SPI bus has strict requirements on timing parameters. However, the devices that currently perform SPI data transmission usually connect to different intermediate devices according to needs. In addition, the long PCB traces and complex PCB trace layouts can easily affect the timing on the SPI bus, resulting in data transmission failure between devices and low data transmission efficiency between devices. Summary of the invention
[0003] The embodiments of the present application provide a control method and apparatus for a data transmission device, so as to at least solve the problem of low data transmission efficiency between devices in the related art.
[0004] According to an embodiment of the present application, a control method for a data transmission device is provided, comprising: detecting 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; locating a system adjustment position on the initial data transmission system according to the transmission delay information and detecting a system adjustment parameter to be adjusted at the system adjustment position, wherein the system adjustment position comprises 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 parameter is used to reduce the influence of the transmission delay information on the data transmission between the target device and the reference device at the system adjustment position; adjusting the initial data transmission system according to the system adjustment parameter at the system adjustment position to obtain a target data transmission system.
[0005] In an exemplary embodiment, the detecting of 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 a plurality of reference transmission settings to obtain a plurality of 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 to receive data after a reference time length after the transition edge arrives, and the transmission test is used to test the data receiving capability of the target device under the plurality of reference transmission settings; and filtering out a target transmission setting whose data receiving capability meets the transmission requirements from the plurality of reference transmission settings according to the plurality of transmission test results, wherein the transmission delay information includes the target transmission setting.
[0006] In an exemplary embodiment, the control of 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 the reference time length of the transition edge arrival 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.
[0007] In an exemplary embodiment, locating a system adjustment position on the initial data transmission system based on the transmission delay information and detecting a system adjustment parameter to be adjusted at the system adjustment position include: 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 for the target device to send and receive data.
[0008] In an exemplary embodiment, the detecting of the current transmission delay information of the initial data transmission system includes: detecting a target reception parameter of the target device in the initial data transmission system, wherein the target reception parameter is used to indicate whether the target device can normally receive data when the transition edge arrives, and the transmission delay information includes the target reception parameter.
[0009] In an exemplary embodiment, locating a system adjustment position on the initial data transmission system based on the transmission delay information and detecting a system adjustment parameter to be adjusted at the system adjustment position includes: when it is detected that the target reception parameter is used to indicate that the target device cannot normally receive data when the transition edge arrives, determining that the system adjustment position is 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 sending data.
[0010] In an exemplary embodiment, locating a system adjustment position on the initial data transmission system based on the transmission delay information and detecting a system adjustment parameter to be adjusted at the system adjustment position includes: when it is detected that the target reception parameter is used to indicate that the target device cannot receive data normally when the transition edge arrives, determining that the system adjustment position is 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 string resistance of the transmission link.
[0011] According to another embodiment of the present application, a control device for a data transmission device is provided, which is applied to a controller of a data transmission system, wherein an initial data transmission system includes a target device and a reference device, wherein the target device and the reference device are configured to allow data transmission when a transition edge of a clock signal arrives, and the controller is connected to the target device and the reference device, respectively, and the device includes: a detection module, which is used to detect current transmission delay information of the initial data transmission system, wherein the transmission delay information is used to indicate a delay condition when data is transmitted between the target device and the reference device; a positioning module, which is used to locate a system adjustment position on the initial data transmission system according to the transmission delay information and detect a system adjustment parameter 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 parameter is used to reduce the influence 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, which is used to adjust the initial data transmission system according to the system adjustment parameter at the system adjustment position to obtain a target data transmission system.
[0012] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when run.
[0013] According to another embodiment of the present application, an electronic device is 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 execute the steps in any one of the above method embodiments.
[0014] According to another embodiment of the present application, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.
[0015] Through the present application, since the controller of the data transmission system detects the delay when transmitting data between the current target device and the reference device of the initial data transmission system, the system adjustment position is located on the initial data transmission system according to the delay and the system adjustment parameters to be adjusted at the system adjustment position are detected, and the initial data transmission system is adjusted according to the system adjustment parameters at the system adjustment position, so as to reduce the influence of the delay on the data transmission between the target device and the reference device, thereby improving the data transmission efficiency between the target device and the reference device. Therefore, the problem of low data transmission efficiency between devices can be solved, thereby achieving the effect of improving the data transmission efficiency between devices. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 It is a hardware structure block diagram of a server device of a control method of a data transmission device according to an embodiment of the present application;
[0017] Figure 2 is a flow chart of a control method of a data transmission device according to an embodiment of the present application;
[0018] Figure 3 is a schematic diagram of a data transmission system according to an embodiment of the present application;
[0019] Figure 4 is a schematic diagram of a signal transmitted by a data transmission system according to an embodiment of the present application Figure 1 ;
[0020] Figure 5 is a schematic diagram of a signal transmitted by a data transmission system according to an embodiment of the present application Figure 2 ;
[0021] Figure 6 is a reference diagram for setting the driving capability of an SPI bus according to an embodiment of the present application;
[0022] Figure 7 is a schematic diagram of a signal transmitted by a data transmission system according to an embodiment of the present application Figure 3 ;
[0023] Figure 8is a schematic diagram of a signal transmitted by a data transmission system according to an embodiment of the present application Figure 4 ;
[0024] Fig. 9 It is a reference diagram for setting a delay judgment register of a BMC designed according to an embodiment of the present application;
[0025] Figure 1 0 is a structural block diagram of a control device for a data transmission device according to an embodiment of the present application. DETAILED DESCRIPTION
[0026] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0027] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0028] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1 1 is a hardware structure block diagram of a server device of a control method for a data transmission device according to an embodiment of the present application. Figure 1 As shown, the server device may include one or more ( Figure 1 Only one is shown in the figure) processor 102 (processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the server device may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.
[0029] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the control method of the data transmission device in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0030] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the server device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0031] In this embodiment, a control method for a data transmission device is provided, which is applied to a controller of a data transmission system. The initial data transmission system includes a target device and a reference device. The target device and the reference device are configured to allow data transmission when a transition edge of a clock signal arrives. The controller is connected to the target device and the reference device, respectively. Figure 2 is a flow chart of a control method of a data transmission device according to an embodiment of the present application. Figure 2 As shown, the process includes the following steps:
[0032] Step S202, detecting the current transmission delay information of the initial data transmission system, wherein the transmission delay information is used to indicate the delay condition when transmitting data between the target device and the reference device;
[0033] Step S204, locating a system adjustment position on the initial data transmission system according to the transmission delay information and detecting a system adjustment parameter to be adjusted at the system adjustment position, wherein the system adjustment position includes at least one of the following: a target device, a reference device, and a transmission link between the target device and the reference device, and the system adjustment parameter is used to reduce the influence 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, adjusting the initial data transmission system at the system adjustment position according to the system adjustment parameters to obtain a target data transmission system.
[0035] Through the above steps, since the controller of the data transmission system detects the delay when transmitting data between the current target device and the reference device of the initial data transmission system, the system adjustment position is located on the initial data transmission system according to the delay and the system adjustment parameters to be adjusted at the system adjustment position are detected, and the initial data transmission system is adjusted according to the system adjustment parameters at the system adjustment position to reduce the influence of the delay on the data transmission between the target device and the reference device, thereby improving the data transmission efficiency between the target device and the reference device. Therefore, the problem of low data transmission efficiency between devices can be solved, thereby achieving the effect of improving the data transmission efficiency between devices.
[0036] Optionally, in an embodiment of the present application, the data transmission system may include, but is not limited to, a target device and a reference device that require data transmission. If there are more requirements, other devices may exist between the target device and the reference device. For example, if the communication levels of the target device and the reference device are inconsistent, a level conversion device may exist between the target device and the reference device.
[0037] Optionally, in an embodiment of the present 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, storage controller, etc.
[0038] Optionally, in an embodiment of the present application, the reference device may be, but is not limited to, a device that supports full-duplex communication and can respond to the control of the target device to perform data transmission, for example, it may be a storage device for storing data, such as FLASH or an electrically erasable programmable read-only memory.
[0039] Optionally, in an embodiment of the present application, the transition edge includes a rising edge and a falling edge, and the target device may be, but is not limited to, set to allow data to be sent on the rising edge of the clock signal, and correspondingly, the reference device is set to allow data to be received on the falling edge of the clock signal; or, the target device is set to allow data to be sent on the falling edge of the clock signal, and correspondingly, the reference device is set to allow data to be received on the rising edge of the clock signal. The setting scheme in which the reference device sends data and the target device receives data is similar to the above.
[0040] Optionally, in the embodiment of the present application, the clock signal may be, but is not limited to, generated by the target device and sent to the reference device.
[0041] In the embodiment provided in step S202, the transmission delay information can be used but is not limited to indicating the delay in transmitting data between the target device and the reference device, including but not limited to indicating whether there is a delay in transmitting data between the target device and the reference device, or indicating the delay time when transmitting data between the target device and the reference device, etc.
[0042] Optionally, in an embodiment of the present application, 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 status of the target device for the data sent by the reference device, where 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 an embodiment of the present 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 through an oscilloscope the time difference between the transition edge of the data sent by the reference device received by the target device and the transition edge of the clock signal, wherein 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. The system adjustment position is the target device, that is, by adjusting the data driving capability of the target device to give a greater drive to the clock signal and data sent, reduce the signal error of the clock signal received by the reference device, and reduce the influence of the delay on the data transmission between the target device and the reference device, or by adjusting the timing of the target device collecting the data sent by the reference device, the original receiving timing is delayed to achieve the normal reception of the data with a delay, which can also reduce the influence of the delay on the data transmission between the target device and the reference device. The system adjustment position is the reference device, that is, by adjusting the data driving capability of the reference device to give a greater drive to the data sent, reduce the transition edge time error between the data received by the target device and the original clock signal, and reduce the influence of the delay on the data transmission between the target device and the reference device. The system adjustment position is the transmission link, that is, by reducing the influence of the transmission link on the delay of the clock signal and the transmitted data, the generation of the delay is reduced, so as to reduce the influence of the delay on the data transmission between the target device and the reference device.
[0045] Optionally, in an embodiment of the present application, 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 according to the transmission delay information and the system adjustment parameter to be adjusted at the system adjustment position is detected, including but not limited to detecting a first delay parameter of a reference device and a second delay parameter of a target device, wherein the first delay parameter is used to indicate the time difference between the transition edge of the data sent by the target device and the transition edge of the sent clock signal, and the second delay parameter is used to indicate the time difference between the transition edge of the data sent by the reference device and the transition edge of the clock signal; when it is detected that the second delay parameter is greater than the delay threshold and the first delay parameter is less than In the case of a delay threshold, the target device is determined to be a system adjustment position and the system adjustment parameter is determined to be a first parameter, wherein the first parameter is used to indicate that the target device receives data after the clock signal reaches a target duration, and the target duration has a corresponding relationship with the second delay parameter; when it is detected that the second delay parameter is greater than the delay threshold and the first delay parameter is greater than the delay threshold, the transmission link is determined to be a system adjustment position and the system adjustment parameter is determined to be a second parameter, or the target device is determined to be a system adjustment position and the system adjustment parameter is determined to be a 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 sent data. Through the above scheme, when the signal delay is not serious, that is, the signal delay only affects the target device to receive data but does not affect the reference device to receive data, the scheme of adjusting the data reception timing of the target device is adopted to reduce the impact of the delay on data transmission, which is not limited by the device performance and link performance and is easy to implement. When the signal delay is serious, that is, the signal delay affects the target device to receive data and the reference device to receive data, in order to reduce the actions that need to be performed to improve the data transmission efficiency, the method of improving the data driving performance and reducing the hindering effect of the link is adopted to directly reduce the degree of delay, which not only solves the problem that the target device cannot receive data normally, but also solves the problem that the reference device cannot receive data normally. Combining the above methods, different schemes are adopted in the face of different needs, which can minimize operations and effectively improve data transmission efficiency.
[0046] In the embodiment provided in step S206, adjusting the initial data transmission system at the system adjustment position according to the system adjustment parameters includes but is 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 receiving timing of the target device, and / or improving the data blocking effect of the transmission link, etc.
[0047] Optionally, in the embodiments of the present application, Figure 3 is a schematic diagram of a data transmission system according to an embodiment of the present application, such as Figure 3As shown in the figure, BMC / CPU (target device) is the master device end of the SPI bus, and FLASH (reference device) is the slave device end of the SPI bus. The communication level of BMC / CPU is specified as 1 V8, while the working level of FLASH is 3V3. Therefore, it is necessary to add a level conversion IC between BMC / CPU and FLASH. The level conversion IC will introduce a large delay. In addition, due to the complexity of the server and the large number of materials on the board, the distance from CPU / BMC to FLASH is too long, and the long PCB routing will further aggravate the signal delay. In addition, since PROT (Protocol Analysis) SPI bus monitoring is often used in servers, SPI routing will inevitably have branches, and PCB routing often has star connections, which will introduce a large STUB (stub line, a protruding structure on the wiring), further increasing the signal delay. The delays introduced by the above situations will greatly affect the SPI signal timing requirements, resulting in abnormal SPI communication, and further affecting the data transmission between the target device and the parameter device. More specifically, such as Figure 3 As shown, the CPU accesses BIOS FLASH through a 2-level MUX (multiplexer), and the channels are 1, 4, and 5. BMC is used here to upgrade BIOS FLASH, and the channels are 2, 3, 4, and 5. PROT is used to monitor the SPI bus of CPU and BMC accessing BIOS FLASH, and also has the function of accessing BIOS FLASH, monitoring channel 7, and accessing BIOS FLASH through channels 6 and 5. There is a level conversion device between channels 2 and 3. Since the working levels of BMC and BIOSFLASH are inconsistent, this device is required to realize the level conversion at both ends. In actual applications, it is found that when PROT is in place (PROT is an independent PCB (Printed Circuit Board, printed circuit board) card, which is detachable) and the SPI bus works at 50Mhz, BMC will always make mistakes when upgrading 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 is a schematic diagram of a signal transmitted by a data transmission system according to an embodiment of the present application Figure 1 ,like Figure 4 As shown, after actual test analysis, the root cause of the failure of FLASH upgrade is the SPI timing abnormality caused by objective factors. After the level before and after the level conversion device, the effective rising edge or falling edge is delayed by about 8ns, and the effective acquisition time of the 50Mhz SPI bus is only 10ns. In addition, due to the guidance of objective factors such as PROT, the timing requirements of the SPI bus are further deteriorated, which eventually leads to SPI bus abnormality. At this time, if you want to continue to complete the BMC to FLASH upgrade, you must reduce the impact of the delay on the data transmission between the target device and the reference device. The method of steps S202-S206 above can be used to obtain the target data transmission system, and complete the BMC to FLASH upgrade in the target data transmission 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 normally receive data when the transition edge arrives, and the transmission delay information includes the target reception parameters.
[0063] Through the above steps, it is detected whether the target device can receive data normally when the jump edge arrives. It is possible to 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, which provides a basis for improving the impact of the delay in the data transmission system on data transmission.
[0064] As an optional implementation, a system adjustment position is located on the initial data transmission system according to transmission delay information and a system adjustment parameter to be adjusted at the system adjustment position is detected, including: when it is detected that a target reception parameter is used to indicate that the target device cannot receive data normally when a transition edge arrives, the system adjustment position is determined to be a transmission link, and the link adjustment parameter is determined to be a system adjustment parameter, wherein the link adjustment parameter is used to reduce the link string resistance of the transmission link.
[0065] Optionally, in an embodiment of the present application, including but not limited to reducing the obstruction effect of the transmission link on the transmitted data by reducing the link series resistance of the transmission link, thereby reducing the rise and fall time of the level signal and clock signal corresponding to the transmitted data, thereby reducing the delay.
[0066] Optionally, in the embodiment of the present application, in Figure 3 In the data transmission system shown, a more specific method of using the method of the above steps S202-S206 to reduce the influence of the delay on the data transmission between the target device and the reference device can be to use a method of adjusting the series resistance from the SPI bus master device end to the slave device end. Adjusting the series resistance from the commonly used 33R or 22R to 0R can reduce the rise and fall time of the SPI bus signal level. Figure 5 is a schematic diagram of a signal transmitted by a data transmission system according to an embodiment of the present application; Figure 5 As shown in the figure, after modifying the series resistance, the actual signal delay time is adjusted from 8ns to 3ns. By adjusting the SPI series resistance value, the SPI bus rise and fall time are adjusted, which in turn optimizes the SPI delay problem.
[0067] Through the above steps, a method for optimizing the initial data transmission system by reducing the link series resistance of the transmission link is given. The data transmission delay in the data transmission system is optimized by shortening the rise time and the fall time, thereby improving the data transmission efficiency in the data transmission system.
[0068] As an optional implementation, a system adjustment position is located on the initial data transmission system according to transmission delay information and a system adjustment parameter to be adjusted at the system adjustment position is detected, including: when it is detected that a target reception parameter is used to indicate that the target device cannot receive data normally when a transition edge arrives, the system adjustment position is determined to be a target device and / or a reference device, and the target adjustment parameter is determined to be a 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 sending data.
[0069] Optionally, in an embodiment of the present application, the delay is reduced, including but not limited to reducing the rise and fall time of the level signal corresponding to the data sent by the target device and the rise and fall time of the clock signal by improving the driving performance of the data sent by the target device, and / or reducing the delay by reducing the rise and fall time of the level signal corresponding to the data sent by the reference device by improving the driving performance of the data sent by the reference device.
[0070] Optionally, in the embodiment of the present application, in Figure 3 In the data transmission system shown, a more specific method of using the above steps S202-S206 to reduce the influence of latency on data transmission between the target device and the reference device can be to use the second method of optimizing the SPI bus driving capability of BMC / CPU / FLASH, which is to optimize the rising and falling edge times of the SPI bus in disguised form and optimize the latency of SPI. Taking BIOS FLASH as an example, Figure 6 is a reference diagram for setting the driving capability of an SPI bus according to an embodiment of the present application, such as Figure 6 As shown in the figure, the driving capability of the SPI bus is divided into 4 gears, from high to low, 18ohm, 25ohm, 35ohm, and 50ohm. The lower the resistance value, the stronger the driving capability. The driving capability of the FLASH can be adjusted through the FLASH fixture. Figure 7 is a schematic diagram of a signal transmitted by a data transmission system according to an embodiment of the present application Figure 3 , Figure 8 is a schematic diagram of a signal transmitted by a data transmission system according to an embodiment of the present application Figure 4 ,like Figure 7 and Figure 8 As shown, Figure 7 The waveform before the tuning operation is performed is shown. Figure 8 This is the waveform diagram after the tuning operation. It can be seen that before and after the tuning, the rising and falling edges of the FLASH MISO signal (that is, the signal sent by FLASH to the BMC) are significantly improved, from 7ns to about 3ns.
[0071] Through the above steps, a method for improving the driving performance of the target device and / or the reference device to tune the initial data transmission system is provided. Similarly, by shortening the rise time and fall time of the level signal corresponding to the transmitted data, the data transmission delay in the data transmission system is optimized, thereby improving the data transmission efficiency in 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 a transition edge arrives and receive data after a reference time length 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 screening out a target transmission setting whose data receiving capability meets the transmission requirements from multiple reference transmission settings according to the multiple transmission test results, wherein the transmission delay information includes the target transmission setting.
[0073] Optionally, in an embodiment of the present application, including but not limited to determining the delay of the electrical V signal corresponding to the data received by the target device through preliminary testing and postponing the timing of receiving the data by the target device, thereby reducing the impact of the transmission delay on the data transmission between the target device and the reference device without changing the delay, thereby improving the data transmission efficiency between devices.
[0074] Through the above steps, the target transmission setting whose data receiving capability meets the transmission requirements is screened out by performing transmission tests on multiple reference transmission settings, so that during the data transmission between the actual target device and the reference device, the target device delays the reception of data, reducing the impact of the delay caused by the transmission process of the data signal and the clock signal on the data reception, thereby improving the 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 a transition edge arrives according to the configured reference transmission settings; controlling the reference device to send second test data to the target device when a 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 time length after the transition edge arrives 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 a transmission test result.
[0076] Optionally, in an embodiment of the present application, because the received clock signal and data signal on the reference device side have been affected by the transmission link, the 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 in accordance with the instructions of the clock signal after the delay is generated. The timing of data sending itself will produce a certain delay. In addition, the data signal transmitted by the reference device will be affected by the transmission link, and the data signal received on the target device side will be further delayed. In this case, the target device receives data in accordance with the instructions of its own accurate clock signal without delay, which may lead to the situation that the data cannot be received normally. That is, the similarity between the first test data and the third test data is more susceptible to the 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, a system adjustment position is located on the initial data transmission system based on the transmission delay information and a system adjustment parameter to be adjusted at the system adjustment position is detected, including: when the transmission delay information is a target transmission setting, the system adjustment position is determined to be a target device, and the system adjustment parameter is determined to be a data transmission setting of the target device, wherein the data transmission setting is used to indicate the timing for the target device to send and receive data.
[0078] Optionally, in the embodiment of the present application, in Figure 3 In the data transmission system shown, the above two methods can be used to tune the delay of the SPI bus. However, due to the different parameter settings of each FLASH and even the different driving capabilities of each BMC / CPU, the above two methods need to tune the SPI bus according to the actual SPI topology and actual application. Although the SPI signal can be tuned in this way, the workload is increased and it is impossible to perform unified tuning for each SPI signal. Here is another way to adjust the delay of the SPI bus, method three, that is, by adding delay judgment on the BMC / CPU side and importing the SPI driver, the SPI bus timing is tuned from the inside of the BMC / CPU. Fig. 9 1 is a reference diagram for setting a delay judgment register of a BMC designed according to an embodiment of the present application. Fig. 9 As shown in the figure, the delay judgment register of the BMC SPI bus is used for the BMC to receive the high and low level values of the SPI signal from the FLASH. The BMC defaults to falling edge sampling. Fig. 9As shown, the time for the BMC to collect SPI bus data on the falling edge can be adjusted by setting this 8-bit register, which is equivalent to the BMC delaying the specified time and then judging the value of the level. In this way, the impact of the SPI delay time on the timing of the SPI bus can be adjusted from within the BMC. Among them, HCLK is 200Mhz, and the coarse adjustment is to adjust the delay time of 5, 10, 15ns in units of single HCLK, or fine adjustment is to adjust the DI parameters in units of 0.5ns to adjust the delay judgment time.
[0079] However, it is impossible for the BMC to set this parameter every time it is powered on. In addition, this parameter varies according to 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 is powered on, it traverses the FLASH devices of the SPI bus, selects an optimal delay judgment value, and imports it to work.
[0080] The specific implementation process includes the following steps:
[0081] Step S1: First, determine whether the values of the initial space 0-0x4FF in the FLASH device space downstream of the BMC are all zero. This can be confirmed when selecting FLASH.
[0082] Step S2: BMC initializes the SPI driver, and the default delay judgment value is 0 (no delay judgment is required by default).
[0083] Step S3: The SPI bus of the BMC repeatedly reads and writes to the 0-0x4FF space of the FLASH. Specifically, n 10101010 b2-based values are first written to the 0-0x4FF space, and then the BMC reads back the value of the 0-0x4FF space through the SPI bus to determine whether the written and read values are consistent. If they are consistent, it is assumed that there is no abnormality.
[0084] Step S4: BMC sets the value of the delay judgment register from the minimum 0 (no delay) to the maximum setting delay. Each delay value executes step S3 to determine in which delay interval the normal SPI working requirements can be met.
[0085] Step S5: If all delay register options can work normally, the BMC sets the middle delay value as the optimal value.
[0086] Step S6: If the system works normally in a certain interval but fails to work normally in another interval, a middle delay value is selected as the optimal value based on the beginning and the end of the normal working interval.
[0087] Due to the actual PCB routing of SPI, including possible STUB, MUX, or LEVEL SHIF level conversion devices, there must be a delay in the SPI signal from the SPI master device to the slave device, or from the slave device to the master device, which is difficult to avoid. Through methods 1 and 2, the impact of this delay on the SPI bus timing can be minimized to ensure the normal operation of SPI. After introducing method 3, the BMC sets the internal delay judgment time, and the judgment time of the high and low effective levels of the SPI signal collected by the BMC from the FLASH can be delayed. This delayed time offsets the delay interference introduced by the above-mentioned PCB routing, STUB and other actual physical factors, which can completely avoid the existence of this delay and optimize the SPI timing. Ensure the normal operation of the SPI bus.
[0088] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods of each embodiment of the present application.
[0089] In this embodiment, a control device for a data transmission device is also provided, which is applied to a controller of a data transmission system. The initial data transmission system includes a target device and a reference device. The target device and the reference device are configured to allow data to be transmitted when the transition edge of a clock signal arrives. The controller is connected to the target device and the reference device, respectively. The device is used to implement the above-mentioned embodiments and preferred implementation modes, and those that have been described will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0090] Fig.10 is a structural block diagram of a control device for a data transmission device according to an embodiment of the present application, such as Fig.10 As shown, the device comprises:
[0091] A detection module 1002 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;
[0092] A positioning module 1004 is used to locate a system adjustment position on the initial data transmission system according to the transmission delay information and detect a system adjustment parameter to be adjusted at the system adjustment position, wherein the system adjustment position includes at least one of the following: a target device, a reference device, and a transmission link between the target device and the reference device, and the system adjustment parameter is used to reduce the influence 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, since the controller of the data transmission system will detect the delay when transmitting data between the current target device and the reference device of the initial data transmission system, the system adjustment position is located on the initial data transmission system according to the delay and the system adjustment parameters to be adjusted at the system adjustment position are detected, and the initial data transmission system is adjusted according to the system adjustment parameters at the system adjustment position to reduce the influence of the delay on the data transmission between the target device and the reference device, thereby improving the data transmission efficiency between the target device and the reference device. Therefore, the problem of low data transmission efficiency between devices can be solved, thereby achieving the effect of improving the data transmission efficiency between devices.
[0095] As an optional implementation, the detection module includes: a testing unit, which is used to control the target device and the reference device to perform a transmission test 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 a transition edge arrives and receive data after a reference time length 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; a screening unit, which is used to screen out a target transmission setting whose data receiving capability meets the transmission requirements from 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 also used to: traverse multiple reference transmission settings; configure the traversed reference transmission settings to the target device; control the target device to send the 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 the 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 the reference time length of the transition edge arrival according to the configured reference transmission settings to obtain the third test data; compare the similarity between the first test data and the third test data to obtain the transmission test result.
[0097] As an optional implementation, the positioning module includes: a first determination unit, used to determine the system adjustment position as the target device when the transmission delay information is the target transmission setting, and determine the system adjustment parameter as the data transmission setting of the target device, wherein the data transmission setting is used to indicate the timing for the target device to send and receive data.
[0098] As an optional implementation, the detection module includes: a detection unit, used to detect 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 normally receive data 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 determination unit, used to determine the system adjustment position as the target device and / or the reference device, and determine the target adjustment parameter as the system adjustment parameter when it is detected that the target reception parameter is used to indicate that the target device cannot receive data normally when the transition edge arrives, wherein the target adjustment parameter is used to improve the driving performance of the target device and / or the reference device to send data.
[0100] As an optional implementation, the positioning module includes: a third determination unit, used to determine the system adjustment position as the transmission link and determine the link adjustment parameter as the system adjustment parameter when it is detected that the target reception parameter is used to indicate that the target device cannot receive data normally when the transition edge arrives, wherein the link adjustment parameter is used to reduce the link string resistance of the transmission link.
[0101] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
[0102] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0103] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0104] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0105] In an 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] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.
[0107] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.
[0108] An embodiment of the present application also provides a computer program, which includes computer instructions, which are stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps in any one of the above method embodiments.
[0109] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.
[0110] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.
[0111] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.
Claims
1. A method for controlling 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, wherein the target device and the reference device are configured to allow data to be transmitted when a transition edge of a clock signal arrives, and the controller is connected to the target device and the reference device respectively, and the method includes: Detecting current transmission delay information of the initial data transmission system, wherein the transmission delay information is used to indicate a delay condition when transmitting data between the target device and the reference device; Locating a system adjustment position on the initial data transmission system according to the transmission delay information and detecting a system adjustment parameter 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 parameter is used to reduce the influence 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 a target data transmission system.
2. The method according to claim 1, characterized in that The 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 a plurality of reference transmission settings to obtain a plurality of 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 to receive data after a reference time length of the transition edge arrival, and the transmission test is used to test the data receiving capability of the target device under the plurality of reference transmission settings; A target transmission setting whose data receiving capability meets the transmission requirement is screened out from the multiple reference transmission settings according to the multiple transmission test results, wherein the transmission delay information includes the target transmission setting.
3. The method according to claim 2, characterized in that The controlling the target device and the reference device to perform transmission tests according to a plurality of reference transmission settings to obtain a plurality of transmission test results includes: traversing the plurality of reference transmission settings; Configuring the traversed reference transmission settings to the target device; Controlling the target device to send the first test data to the reference device when the transition edge arrives according to the configured reference transmission setting; 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 the reference time length when the transition edge arrives according to the configured reference transmission setting, so as to obtain third test data; The similarity between the first test data and the third test data is compared to obtain the transmission test result.
4. The method according to claim 2, characterized in that: The method of locating a system adjustment position on the initial data transmission system according to the transmission delay information and detecting a system adjustment parameter to be adjusted at the system adjustment position includes: In the case where the transmission delay information is the target transmission setting, the system adjustment position is determined to be the target device, and the system adjustment parameter is determined to be the data transmission setting of the target device, wherein the data transmission setting is used to indicate the timing for the target device to send and receive data.
5. The method according to claim 1, characterized in that: The detecting the current transmission delay information of the initial data transmission system includes: Detect a target reception parameter of the target device in the initial data transmission system, wherein the target reception parameter is used to indicate whether the target device can normally receive data when the transition edge arrives, and the transmission delay information includes the target reception parameter.
6. The method according to claim 5, characterized in that The method of locating a system adjustment position on the initial data transmission system according to the transmission delay information and detecting a system adjustment parameter to be adjusted at the system adjustment position includes: When it is detected that the target reception parameter is used to indicate that the target device cannot normally receive data 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 sending data.
7. The method according to claim 5, characterized in that The method of locating a system adjustment position on the initial data transmission system according to the transmission delay information and detecting a system adjustment parameter to be adjusted at the system adjustment position includes: When it is detected that the target reception parameter is used to indicate that the target device cannot normally receive data 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 series resistance of the transmission link.
8. A control device 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, wherein the target device and the reference device are configured to allow data to be transmitted when a transition edge of a clock signal arrives, wherein the controller is connected to the target device and the reference device respectively, and wherein the device includes: A detection module, 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; a positioning module, configured to locate a system adjustment position on the initial data transmission system according to the transmission delay information and detect a system adjustment parameter 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 parameter is used to reduce the influence of the transmission delay information on the data transmission between the target device and the reference device at the system adjustment position; The adjustment module is used to adjust the initial data transmission system according to the system adjustment parameters at the system adjustment position to obtain a target data transmission system.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 1 to 7 when executed by a processor.
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, the steps of the method described in any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
A method and a device for configuring equalization parameters
CN109818886A
Delay line structure and delay jitter correction method thereof
CN112291120A
Data processing method and device, electronic equipment and storage medium
CN114025233A
Method for adjusting time sequence and communication system
CN115333667A
Method, device and system for serial peripheral interface bus data transmission
CN115858446A
Cited By
Generation method of signal transmission circuit, electronic device, medium and program product
CN120509372A