Satellite communication method of dual-system terminal and dual-system terminal
By moving the satellite communication protocol stack down to the baseband processor in the dual-mode terminal, enabling independent processing, the problems of low efficiency and high latency caused by the sharing of the protocol stack between terrestrial cellular communication and satellite communication are solved, thereby improving the quality of satellite communication and terminal performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-02
- Publication Date
- 2026-04-03
AI Technical Summary
Existing dual-mode terminals share the TCP/IP protocol stack in both terrestrial cellular and satellite communications, resulting in low satellite communication efficiency, high latency, severe handover delays and resource waste, large virtual network card overhead, and impacting communication quality and terminal usability.
In dual-mode terminals, the satellite communication protocol stack is moved from the application processor to the baseband processor, enabling completely independent protocol processing for the two modes. The baseband processor performs targeted optimizations on the satellite communication protocol stack, including independent priority scheduling, fragment merging, and local retransmission mechanisms, and sets up a full path verification mechanism to avoid dependence on the application processor.
It effectively solves the problem of satellite communication quality being easily affected, improves satellite communication efficiency and the overall performance of terminals, reduces the impact of terrestrial communication and resource competition, and enhances user experience.
Smart Images

Figure CN121791908A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of satellite communication technology, and more specifically, to a satellite communication method for a dual-mode terminal and a dual-mode terminal. Background Technology
[0002] With the evolution of global communication networks, modern smart terminals are gradually moving towards multi-standard communication, aiming to achieve a seamless communication experience in different environments. Especially in remote areas or emergencies, satellite communication, as a reliable long-distance communication method, has become an important supplement to terrestrial cellular networks (4G / 5G). However, existing terminal architectures, when handling satellite and terrestrial cellular communication, adopt a single TCP (Transmission Control Protocol) / IP protocol stack sharing mode. This means that all communication standards rely on the same TCP / IP protocol stack located on the AP (Application Processor) for protocol encapsulation and parsing of data transmission. While this design simplifies software and hardware development, it brings significant technical bottlenecks and performance issues.
[0003] First, the mismatch in TCP / IP protocol stack configuration poses a significant challenge. Terrestrial cellular networks, due to their low latency and high bandwidth, are well-suited to using default short RTOs (Retransmission Timeouts) and large congestion window settings. In contrast, satellite communication, due to inherent delays in interplanetary propagation, atmospheric attenuation, and limited bandwidth resources, has RTTs (Round-Trip Time) reaching up to 1800ms, requiring larger and more finely tuned RTOs and more conservative congestion window strategies. The shared TCP / IP protocol stack struggles to balance these vastly different link characteristics, resulting in inefficient satellite communication and terrestrial communication performance constrained by the high latency configuration of satellite communication.
[0004] Secondly, the latency and resource waste during dual-mode handover present another major challenge. When a terminal switches from terrestrial cellular mode to satellite mode, or vice versa, complex kernel parameter adjustments are required on the AP side, including but not limited to retransmission timeout and congestion window size. This process is not only time-consuming but may also be limited in older operating systems, requiring a restart of the protocol stack or even the entire device to take effect, severely impacting user experience. It also increases the overhead of cross-processor interaction and reduces the overall efficiency of the terminal.
[0005] Finally, the additional overhead of virtual network interface cards (NICs) cannot be ignored. In the existing architecture, data interaction between the AP (Access Point) and the BP (Baseband Processor) needs to be performed through virtual NICs, adding unnecessary encapsulation and parsing steps, further increasing the CPU load, and reducing the terminal's battery life in satellite communication mode. Especially when concurrently processing ground and satellite communication data, resource contention is particularly severe, affecting communication quality and the usability of the terminal.
[0006] There is currently no effective solution to the above problems. Summary of the Invention
[0007] This application provides a satellite communication method and a dual-mode terminal, which at least solves the technical problem that the satellite communication quality is easily affected by the shared protocol stack of traditional dual-mode terminals for terrestrial and satellite communication.
[0008] According to one aspect of the embodiments of this application, a satellite communication method for a dual-mode terminal is provided, comprising: a baseband processor in the dual-mode terminal responding to an activation instruction from an application processor in the dual-mode terminal, activating a built-in first protocol stack for satellite communication based on a preset protocol stack configuration template; receiving first uplink data from the application processor, encapsulating the first uplink data based on the first protocol stack to obtain second uplink data, and sending the second uplink data to a satellite; receiving first downlink data from the satellite, parsing the first downlink data based on the first protocol stack to obtain second downlink data, and sending the second downlink data to the application processor.
[0009] Optionally, in response to an activation command from the application processor in the dual-mode terminal, the built-in first protocol stack for satellite communication is activated based on a preset protocol stack configuration template. This includes: in response to the activation command from the application processor, determining a target protocol stack configuration template corresponding to the activation command from a variety of preset protocol stack configuration templates, wherein each protocol stack configuration template includes: protocol stack configuration parameters matching a satellite communication scenario, the satellite communication scenario including at least one of the following: emergency communication scenario, daily low bandwidth demand scenario, and the type of protocol stack configuration parameters including at least one of the following: retransmission timeout time based on round-trip delay, transport layer window control parameters; loading the target protocol stack configuration template using hardware registers, configuring the first protocol stack running in kernel space based on the target protocol stack configuration parameters in the target protocol stack configuration template, and completing the activation of the first protocol stack, wherein the first protocol stack is based on TCP and / or IP protocols.
[0010] Optionally, receiving first uplink data from an application processor, encapsulating the first uplink data based on a first protocol stack to obtain second uplink data, and transmitting the second uplink data to a satellite includes: receiving first uplink data transmitted by the application processor based on a preset multi-channel multiplexed data channel, wherein the first uplink data is application layer raw data generated by a satellite application; encapsulating the first uplink data at the full protocol layer based on the first protocol stack to obtain second uplink data; and transmitting the second uplink data to a satellite through the satellite radio frequency module of the dual-mode terminal.
[0011] Optionally, receiving first downlink data from a satellite, parsing the first downlink data based on a first protocol stack to obtain second downlink data, and sending the second downlink data to an application processor includes: receiving the first downlink data from a satellite via the satellite radio frequency module of a dual-mode terminal; parsing the data packets in the first downlink data based on the first protocol stack to obtain application layer raw data; encapsulating the application layer raw data into second downlink data in a lightweight data frame format; and sending the second downlink data to the application processor.
[0012] Optionally, if multiple sets of first uplink data are received from the application processor within a consecutive preset time period, the task priority corresponding to each set of first uplink data is determined; multiple sets of first uplink data are added to the data processing queue based on the task priority from high to low; each set of first uplink data in the data processing queue is encapsulated sequentially based on the first protocol stack to obtain the corresponding second uplink data, and the second uplink data is sent to the satellite.
[0013] Optionally, if multiple sets of first uplink data with a data volume less than a preset threshold are received from the application processor within a consecutive preset time period, the multiple sets of first uplink data are merged into third uplink data, wherein the third uplink data includes boundary identifiers used to distinguish each set of first uplink data; the third uplink data is encapsulated based on the first protocol stack to obtain fourth uplink data, and the fourth uplink data is sent to the satellite; if the parsed second downlink data includes boundary identifiers, the second downlink data is split into multiple sets of third downlink data based on the boundary identifiers, and the multiple sets of third downlink data are sent to the application processor sequentially.
[0014] Optionally, after sending the second uplink data to the satellite, if no reception confirmation message is received from the satellite after a preset retransmission timeout period, the second uplink data is retransmitted to the satellite; if the retransmission fails for a preset number of consecutive times, the retransmission failure information is reported to the application processor; after receiving the first downlink data from the satellite, the integrity of the first downlink data is checked based on the TCP sequence number of the data packet, and if there is packet loss or data corruption, the satellite is requested to retransmit the first downlink data.
[0015] Optionally, each protocol stack configuration template also includes a data verification mechanism, the type of which includes at least one of the following: TCP verification mechanism and enhanced verification mechanism for the transport layer, error correction coding mechanism for the link layer, and independent verification mechanism for the interaction layer, wherein the independent verification mechanism is used to independently verify the satellite communication data between the application processor and the baseband processor.
[0016] Optionally, the link communication status of the satellite communication link is monitored in real time, and the link communication status is periodically reported to the application processor; at the beginning of each period, the protocol stack configuration template is adjusted based on the link communication status at the beginning of the period, and the first protocol stack is reconfigured based on the adjusted protocol stack configuration template; or, at the beginning of each period, the historical link communication status within a preset number of historical periods before the current period is obtained, and the historical link communication status is analyzed using a pre-trained status prediction model to obtain the predicted link communication status within the current period, the protocol stack configuration template is adjusted based on the predicted link communication status within the current period, and the first protocol stack is reconfigured based on the adjusted protocol stack configuration template.
[0017] Optionally, the application processor runs a second protocol stack for terrestrial communication and stores a protocol stack configuration template corresponding to the second protocol stack; the protocol stack configuration template corresponding to the first protocol stack is completely isolated from and not shared with the protocol stack configuration template corresponding to the second protocol stack.
[0018] According to another aspect of the embodiments of this application, a dual-mode terminal is also provided, comprising: a baseband processor running a first protocol stack for satellite communication and an application processor running a second protocol stack for terrestrial communication. The protocol stack configuration templates corresponding to the first protocol stack and the second protocol stack are completely isolated and not shared. The baseband processor is configured to respond to an activation command from the application processor, activate the first protocol stack based on a preset protocol stack configuration template; receive first uplink data from the application processor, encapsulate the first uplink data based on the first protocol stack to obtain second uplink data, and send the second uplink data to the satellite; receive first downlink data from the satellite, parse the first downlink data based on the first protocol stack to obtain second downlink data, and send the second downlink data to the application processor.
[0019] According to another aspect of the embodiments of this application, a computer program product is also provided, the computer program product comprising: a computer program, wherein the computer program, when executed by a processor, implements the satellite communication method of the dual-mode terminal described above.
[0020] According to another aspect of the embodiments of this application, an electronic device is also provided, the electronic device including: a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the satellite communication method of the dual-mode terminal described above through the computer program.
[0021] In this embodiment, while retaining the original second protocol stack for terrestrial communication on the application processor side, the first protocol stack for satellite communication is completely moved down from the application processor to the baseband processor, making the protocol processing of the two standards completely independent. This allows for targeted optimization of parameters such as RTO in the second protocol stack for satellite communication on the baseband processor side without affecting terrestrial communication, effectively solving the technical problem that the quality of satellite communication is easily affected when traditional dual-system terminals share the same protocol stack for terrestrial and satellite communication. Attached Figure Description
[0022] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0023] Figure 1 This is a schematic diagram of the structure of an optional dual-mode terminal according to an embodiment of this application;
[0024] Figure 2 This is a schematic flowchart of an optional dual-mode terminal satellite communication method according to an embodiment of this application;
[0025] Figure 3 This is a schematic diagram of the structure of an optional electronic device according to an embodiment of this application. Detailed Implementation
[0026] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.
[0027] It should be noted that the terms "first," "second," etc., used 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. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0028] To better understand the embodiments of this application, the following is a translation and explanation of some nouns or terms that appear in the description of the embodiments of this application:
[0029] AP: Primarily responsible for running applications and processing upper-layer business logic, it is essentially the brain of the communication equipment. APs typically maintain the TCP / IP protocol stack for terrestrial cellular communication and are responsible for protocol processing of terrestrial 4G / 5G data services.
[0030] BP: It is a core component in communication equipment, responsible for handling physical layer and link layer functions such as modulation and demodulation of wireless signals and signal encoding and decoding.
[0031] AT commands: short for Attention commands, are a standard command set used in modems and other communication devices. They are widely used in various communication scenarios, including but not limited to mobile phones, IoT devices, and satellite communication terminals, to control these devices to perform operations such as dialing, hanging up, sending text messages, and adjusting settings.
[0032] CMUX (Channel Multiplexing): By encapsulating multiple logical data channels on a single physical link (such as the serial link between AP and BP), concurrent transmission of different types of data can be achieved.
[0033] RTT: The total time from when data is sent by the sender to when the receiver receives and returns an acknowledgment message, and then to when the sender receives the acknowledgment message again, is a core indicator reflecting link latency.
[0034] RTO: The core parameter in the TCP protocol used to determine whether a message is lost. It is the maximum time the sender waits for the receiver to acknowledge the message. If no acknowledgment message is received within the RTO period, the sender determines that the message is lost and triggers a retransmission.
[0035] Example 1
[0036] To address the technical problem of satellite communication quality being easily affected by the shared protocol stack between terrestrial and satellite communications in traditional dual-mode terminals, this application provides a novel dual-mode terminal architecture, such as... Figure 1 As shown, the dual-mode terminal includes a baseband processor 11 running a first protocol stack for satellite communication and an application processor 12 running a second protocol stack for terrestrial communication. Both the first and second protocol stacks are protocol stacks based on TCP and / or IP protocols, but the protocol stack configuration templates corresponding to the first protocol stack and the second protocol stack are completely isolated and not shared.
[0037] The baseband processor 11 can respond to the activation command from the application processor 12, activate the first protocol stack based on the preset protocol stack configuration template, receive the first uplink data from the application processor 12, encapsulate the first uplink data based on the first protocol stack to obtain the second uplink data, and send the second uplink data to the satellite; receive the first downlink data from the satellite, parse the first downlink data based on the first protocol stack to obtain the second downlink data, and send the second downlink data to the application processor 12.
[0038] As an optional implementation, during protocol stack activation, the baseband processor can respond to an activation command from the application processor and determine the target protocol stack configuration template corresponding to the activation command from a variety of preset protocol stack configuration templates. Each protocol stack configuration template includes: protocol stack configuration parameters matching a satellite communication scenario, which includes at least one of the following: emergency communication scenario, daily low bandwidth demand scenario, and the type of protocol stack configuration parameters includes at least one of the following: retransmission timeout time based on round-trip delay, and transport layer window control parameters. Subsequently, the baseband processor can load the target protocol stack configuration template using hardware registers, configure the first protocol stack running in kernel space based on the target protocol stack configuration parameters in the target protocol stack configuration template, and complete the activation of the first protocol stack.
[0039] It should be noted that the above activation command is a new dedicated AT command for satellite communication protocol stack control, added on the basis of traditional AT commands. The command format is compatible with industry standards and can carry relevant identifiers for specific satellite communication scenarios.
[0040] In addition to activation commands, switching commands or pause commands can also be configured. The baseband processor can respond to switching commands from the application processor to reload the protocol stack configuration templates for other satellite communication scenarios; and respond to pause commands from the application processor to pause satellite communication protocol stack processing services.
[0041] By running the first protocol stack in the kernel space of the embedded operating system of the baseband processor, the context switching overhead between user space and kernel space can be avoided, significantly reducing protocol processing latency. When activating / switching the first protocol stack, the target protocol stack configuration template for the corresponding scenario is directly loaded through the hardware registers of the baseband processor, without modifying the kernel parameters on the application processor side or restarting the protocol stack, which can significantly shorten the activation / switching time.
[0042] Optionally, the first protocol stack in the baseband processor can adopt a modular and customizable design, that is, the protocol stack functional modules can be flexibly adjusted according to the hardware resources (such as memory) of the terminal baseband processor, so as to adapt to communication terminals of different specifications.
[0043] As an optional implementation, the uplink data transmission method of the dual-mode terminal is as follows: After the satellite application on the application processor side generates the raw data, the application processor does not perform encapsulation processing, but directly sends it as the first uplink data to the baseband processor through a preset multi-channel multiplexed data channel. The multi-channel multiplexed data channel can be divided into a control channel for transmitting AT commands and status reporting information and a data channel for transmitting raw satellite communication service data, so as to avoid transmission conflicts between control signaling and service data and improve link utilization. After receiving the first uplink data, the baseband processor performs full protocol layer encapsulation on the first uplink data based on the first protocol stack to obtain the second uplink data, and then sends the second uplink data to the satellite through the satellite radio frequency module of the dual-mode terminal.
[0044] Optionally, the downlink data transmission method of the dual-mode terminal is as follows: The baseband processor receives the first downlink data from the satellite through the satellite radio frequency module of the dual-mode terminal, parses the data packets in the first downlink data based on the first protocol stack to obtain the raw application layer data, encapsulates the raw application layer data into the second downlink data in a lightweight data frame format, and sends the second downlink data to the application processor; the application processor directly processes the raw application layer data without protocol parsing, which can significantly reduce the overhead on the application processor side.
[0045] This solution restructures the functional division between the application processor and the baseband processor: The application processor retains and maintains only the TCP / IP protocol stack for terrestrial cellular communication, while the TCP / IP protocol stack for satellite communication is migrated from the application processor to the baseband processor. The two interact via a lightweight interface (AT commands) without requiring additional hardware. By integrating a complete, dedicated TCP / IP protocol stack (including link, network, and transport layers) for satellite communication within the baseband processor and directly interfacing with the satellite air interface protocol module, the dependency on the application processor's protocol stack can be completely eliminated, avoiding mutual interference between terrestrial and satellite communications.
[0046] Considering the limited bandwidth of satellite communication links, this application embodiment also configures an independent priority scheduling mechanism for satellite communication data on the baseband processor side: if the baseband processor receives multiple sets of first uplink data from the application processor within a continuous preset time period, it can determine the task priority corresponding to each set of first uplink data, such as emergency text having high priority and ordinary text having low priority, which can be distinguished by data frame identifier; the baseband processor side is equipped with an independent priority-based data processing queue, which can add multiple sets of first uplink data to the data processing queue from high to low based on task priority, and then encapsulate each set of first uplink data in the data processing queue according to the first protocol stack in sequence to obtain the corresponding second uplink data, and send the second uplink data to the satellite.
[0047] By setting up priority queues, high-priority data can occupy satellite communication link resources first, while low-priority data can be transmitted when the link is idle. When the link is congested, low-priority data is discarded first, ensuring the reliability of critical service transmissions. This priority scheduling mechanism does not affect data transmission on the application processor-side terrestrial cellular network.
[0048] To address the issue of high overhead in satellite communication links due to excessive small data packets, this application embodiment also includes a fragmentation merging mechanism on the baseband processor side: if the baseband processor receives multiple sets of first uplink data with data amounts less than a preset threshold from the application processor within a consecutive preset time period, it can merge these multiple sets of first uplink data into third uplink data. The third uplink data includes boundary markers used to distinguish each set of first uplink data. Subsequently, the baseband processor encapsulates the third uplink data based on the first protocol stack to obtain fourth uplink data, which is then sent to the satellite. The aforementioned preset threshold can be set according to the scenario and is not specifically limited here.
[0049] Optionally, if the second downlink data parsed by the baseband processor includes a boundary identifier, the second downlink data can be split into multiple sets of third downlink data based on the boundary identifier, and the multiple sets of third downlink data can be sent to the application processor in sequence.
[0050] By combining multiple small data packets into a single large data frame during uplink transmission, the number of satellite communication link frame transmissions and header redundancy can be reduced. During downlink transmission, the combined frame is split according to the original data packet boundaries, ensuring that the data received by the application processor is consistent with the original data.
[0051] To address the issue of data retransmission relying on the application processor in traditional solutions, this application embodiment also sets up a local retransmission mechanism on the baseband processor side: after the baseband processor sends the second uplink data to the satellite, if it still does not receive a reception confirmation message from the satellite after a preset retransmission timeout period, it directly retransmits the second uplink data without notifying the application processor, thereby reducing interaction overhead; however, if the retransmission fails for a preset number of consecutive times, the baseband processor needs to report the retransmission failure information to the application processor, and the application processor decides whether to retransmit the data.
[0052] Optionally, after receiving the first downlink data from the satellite, the baseband processor can perform integrity verification on the first downlink data based on the TCP sequence number of the data packet. If there is packet loss or data corruption, it can automatically request the satellite to retransmit the first downlink data.
[0053] To address the high bit error rate of satellite communication links, this application also designs a full-path verification mechanism that integrates the transport layer, link layer, and interaction layer. This verification mechanism only applies to satellite communication data and can be maintained in the protocol stack configuration template on the baseband processor side without the need for application processor intervention.
[0054] Specifically, for the transport layer, enhanced checks are added to the TCP standard check, such as adding BCH code checks and Reed-Solomon code checks in addition to the basic CRC (Cyclic Redundancy Check) check, to improve the error detection capability; for the link layer, an error correction coding mechanism is added to the satellite air interface frame to achieve automatic correction of some errors; for the interaction layer, an independent check mechanism is set up to independently check the satellite communication data between the application processor and the baseband processor, ensuring that there are no errors in the cross-processor data while not affecting the ground data transmission on the application processor side.
[0055] As an optional implementation, the baseband processor can monitor the link communication status of the satellite communication link in real time, such as link latency, bit error rate, bandwidth, and other status data, and periodically report the link communication status to the application processor. It should be noted that this link communication status is only used by the baseband processor's protocol stack and is not shared with the application processor's protocol stack. That is, although the application processor can know the link communication status of the satellite communication link, it will not use it for ground communication control.
[0056] Optionally, at the beginning of each cycle, the baseband processor can adjust the protocol stack configuration template based on the link communication status at the beginning of the cycle. For example, it can dynamically optimize the retransmission timeout based on the link delay, adjust the verification mechanism based on the bit error rate (such as enabling enhanced verification when the bit error rate is high), and adjust the congestion window size based on the bandwidth. Then, the first protocol stack is reconfigured based on the adjusted protocol stack configuration template.
[0057] Optionally, at the beginning of each cycle, the baseband processor can also acquire the historical link communication states from a preset number of previous historical cycles, analyze these historical link communication states using a pre-trained state prediction model, obtain the predicted link communication states for the current cycle, adjust the protocol stack configuration template based on the predicted link communication states for the current cycle, and reconfigure the first protocol stack based on the adjusted protocol stack configuration template. By predicting link state changes (such as increased latency or decreased bandwidth) in the near future through historical link state trends, and adjusting parameters in advance, transmission problems caused by delayed parameter adjustments can be avoided.
[0058] In this embodiment, while retaining the original second protocol stack for terrestrial communication on the application processor side, the first protocol stack for satellite communication is completely moved down from the application processor to the baseband processor, making the protocol processing of the two standards completely independent. This allows for targeted optimization of parameters such as RTO in the second protocol stack for satellite communication on the baseband processor side without affecting terrestrial communication, effectively solving the technical problem that the quality of satellite communication is easily affected when traditional dual-system terminals share the same protocol stack for terrestrial and satellite communication.
[0059] Example 2
[0060] Based on the dual-mode terminal provided in Embodiment 1, this application embodiment also provides a satellite communication method for a dual-mode terminal executed by a baseband processor. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than that shown here.
[0061] Figure 2 This is a flowchart illustrating a satellite communication method for a dual-mode terminal according to an embodiment of this application, as shown below. Figure 2 As shown, the method includes the following steps:
[0062] Step S202: In response to the activation command from the application processor in the dual-mode terminal, the built-in first protocol stack for satellite communication is activated based on the preset protocol stack configuration template.
[0063] Step S204: Receive first uplink data from the application processor, encapsulate the first uplink data based on the first protocol stack to obtain second uplink data, and send the second uplink data to the satellite;
[0064] Step S206: Receive the first downlink data from the satellite, parse the first downlink data based on the first protocol stack to obtain the second downlink data, and send the second downlink data to the application processor.
[0065] The application processor in the dual-mode terminal runs a second protocol stack for terrestrial communication and stores a protocol stack configuration template corresponding to the second protocol stack. Both the first and second protocol stacks are protocol stacks based on TCP and / or IP protocols, but the protocol stack configuration templates corresponding to the first protocol stack and the second protocol stack are completely isolated and not shared.
[0066] The following describes each step of the satellite communication method for dual-mode terminals in conjunction with the specific implementation process.
[0067] As an optional implementation, during protocol stack activation, the baseband processor can respond to an activation command from the application processor and determine the target protocol stack configuration template corresponding to the activation command from a variety of preset protocol stack configuration templates. Each protocol stack configuration template includes: protocol stack configuration parameters matching a satellite communication scenario, which includes at least one of the following: emergency communication scenario, daily low bandwidth demand scenario, and the type of protocol stack configuration parameters includes at least one of the following: retransmission timeout time based on round-trip delay, and transport layer window control parameters. Then, the target protocol stack configuration template can be loaded using hardware registers, and the first protocol stack running in the kernel space can be configured based on the target protocol stack configuration parameters in the target protocol stack configuration template to complete the activation of the first protocol stack.
[0068] Optionally, during uplink data transmission, the baseband processor can receive first uplink data sent by the application processor based on a preset multi-channel multiplexed data channel, wherein the first uplink data is application layer raw data generated by the satellite application; then, the first uplink data is fully encapsulated at the protocol layer based on the first protocol stack to obtain second uplink data, and the second uplink data is sent to the satellite through the satellite radio frequency module of the dual-mode terminal.
[0069] Optionally, during downlink data transmission, the baseband processor can receive first downlink data from the satellite via the satellite radio frequency module of the dual-mode terminal; then, based on the first protocol stack, it parses the data packets in the first downlink data to obtain the original application layer data, encapsulates the original application layer data into second downlink data in a lightweight data frame format, and then sends the second downlink data to the application processor.
[0070] This solution restructures the functional division between the application processor and the baseband processor: The application processor retains and maintains only the TCP / IP protocol stack for terrestrial cellular communication, while the TCP / IP protocol stack for satellite communication is migrated from the application processor to the baseband processor. The two interact via a lightweight interface (AT commands) without requiring additional hardware. By integrating a complete, dedicated TCP / IP protocol stack (including link, network, and transport layers) for satellite communication within the baseband processor and directly interfacing with the satellite air interface protocol module, the dependency on the application processor's protocol stack can be completely eliminated, avoiding mutual interference between terrestrial and satellite communications.
[0071] Considering the limited bandwidth of satellite communication links, this application embodiment also configures an independent priority scheduling mechanism for satellite communication data on the baseband processor side: if the baseband processor receives multiple sets of first uplink data from the application processor within a continuous preset time period, it can determine the task priority corresponding to each set of first uplink data, such as emergency text having high priority and ordinary text having low priority, which can be distinguished by data frame identifier; the baseband processor side is equipped with an independent priority-based data processing queue, which can add multiple sets of first uplink data to the data processing queue from high to low based on task priority, and then encapsulate each set of first uplink data in the data processing queue according to the first protocol stack in sequence to obtain the corresponding second uplink data, and send the second uplink data to the satellite.
[0072] By setting up priority queues, high-priority data can occupy satellite communication link resources first, while low-priority data can be transmitted when the link is idle. When the link is congested, low-priority data is discarded first, ensuring the reliability of critical service transmissions. This priority scheduling mechanism does not affect data transmission on the application processor-side terrestrial cellular network.
[0073] To address the issue of high overhead in satellite communication links due to excessive small data packets, this application embodiment also includes a fragmentation merging mechanism on the baseband processor side: if the baseband processor receives multiple sets of first uplink data with data amounts less than a preset threshold from the application processor within a consecutive preset time period, it can merge these multiple sets of first uplink data into third uplink data. The third uplink data includes boundary markers used to distinguish each set of first uplink data. Subsequently, the baseband processor encapsulates the third uplink data based on the first protocol stack to obtain fourth uplink data, which is then sent to the satellite. The aforementioned preset threshold can be set according to the scenario and is not specifically limited here.
[0074] Optionally, if the second downlink data parsed by the baseband processor includes a boundary identifier, the second downlink data can be split into multiple sets of third downlink data based on the boundary identifier, and the multiple sets of third downlink data can be sent to the application processor in sequence.
[0075] By combining multiple small data packets into a single large data frame during uplink transmission, the number of satellite communication link frame transmissions and header redundancy can be reduced. During downlink transmission, the combined frame is split according to the original data packet boundaries, ensuring that the data received by the application processor is consistent with the original data.
[0076] To address the issue of data retransmission relying on the application processor in traditional solutions, this application embodiment also sets up a local retransmission mechanism on the baseband processor side: after the baseband processor sends the second uplink data to the satellite, if it still does not receive a reception confirmation message from the satellite after a preset retransmission timeout period, it directly retransmits the second uplink data without notifying the application processor, thereby reducing interaction overhead; however, if the retransmission fails for a preset number of consecutive times, the baseband processor needs to report the retransmission failure information to the application processor, and the application processor decides whether to retransmit the data.
[0077] Optionally, after receiving the first downlink data from the satellite, the baseband processor can perform integrity verification on the first downlink data based on the TCP sequence number of the data packet. If there is packet loss or data corruption, it can automatically request the satellite to retransmit the first downlink data.
[0078] To address the high bit error rate of satellite communication links, this application also designs a full-path verification mechanism that integrates the transport layer, link layer, and interaction layer. This verification mechanism only applies to satellite communication data and can be maintained in the protocol stack configuration template on the baseband processor side without the need for application processor intervention.
[0079] Specifically, for the transport layer, enhanced checks are added on top of the standard TCP checks, such as adding BCH code checks and Reed-Solomon code checks in addition to the basic CRC check, to improve the error detection capability; for the link layer, an error correction coding mechanism is added to the satellite air interface frame to achieve automatic correction of some errors; for the interaction layer, an independent check mechanism is set up to independently check the satellite communication data between the application processor and the baseband processor, ensuring that there are no errors in the cross-processor data while not affecting the ground data transmission on the application processor side.
[0080] As an optional implementation, the baseband processor can monitor the link communication status of the satellite communication link in real time, such as link latency, bit error rate, bandwidth, and other status data, and periodically report the link communication status to the application processor. It should be noted that this link communication status is only used by the baseband processor's protocol stack and is not shared with the application processor's protocol stack. That is, although the application processor can know the link communication status of the satellite communication link, it will not use it for ground communication control.
[0081] Optionally, at the beginning of each cycle, the baseband processor can adjust the protocol stack configuration template based on the link communication status at the beginning of the cycle. For example, it can dynamically optimize the retransmission timeout based on the link delay, adjust the verification mechanism based on the bit error rate, and adjust the congestion window size based on the bandwidth. Then, it can reconfigure the first protocol stack based on the adjusted protocol stack configuration template.
[0082] Optionally, at the beginning of each cycle, the baseband processor can also acquire the historical link communication states from a preset number of previous historical cycles, analyze these historical link communication states using a pre-trained state prediction model, obtain the predicted link communication states for the current cycle, adjust the protocol stack configuration template based on the predicted link communication states for the current cycle, and reconfigure the first protocol stack based on the adjusted protocol stack configuration template. By predicting link state changes (such as increased latency or decreased bandwidth) in the near future through historical link state trends, and adjusting parameters in advance, transmission problems caused by delayed parameter adjustments can be avoided.
[0083] In this embodiment, while retaining the original second protocol stack for terrestrial communication on the application processor side, the first protocol stack for satellite communication is completely moved down from the application processor to the baseband processor, making the protocol processing of the two standards completely independent. This allows for targeted optimization of parameters such as RTO in the second protocol stack for satellite communication on the baseband processor side without affecting terrestrial communication, effectively solving the technical problem that the quality of satellite communication is easily affected when traditional dual-system terminals share the same protocol stack for terrestrial and satellite communication.
[0084] Example 3
[0085] According to an embodiment of this application, a computer program product is also provided, which includes a computer program, wherein when the computer program is executed by a processor, it implements the satellite communication method of the dual-mode terminal in Embodiment 2.
[0086] According to an embodiment of this application, a non-volatile storage medium is also provided, which includes a stored computer program, wherein the device containing the non-volatile storage medium executes the satellite communication method of the dual-mode terminal in Embodiment 2 by running the computer program.
[0087] According to an embodiment of this application, a processor is also provided for running a computer program, wherein the computer program executes the satellite communication method of the dual-mode terminal in Embodiment 2.
[0088] According to an embodiment of this application, an electronic device is also provided, comprising: a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the satellite communication method of the dual-mode terminal in Embodiment 2 through the computer program.
[0089] Specifically, the computer program executes the following steps during runtime: in response to an activation command from the application processor in the dual-mode terminal, it activates the built-in first protocol stack for satellite communication based on a preset protocol stack configuration template; it receives first uplink data from the application processor, encapsulates the first uplink data based on the first protocol stack to obtain second uplink data, and sends the second uplink data to the satellite; it receives first downlink data from the satellite, parses the first downlink data based on the first protocol stack to obtain second downlink data, and sends the second downlink data to the application processor.
[0090] As an alternative implementation, the above-mentioned electronic device may exist in the form of a mobile terminal, a computer terminal, or a similar computing device. Figure 3 A hardware block diagram of an electronic device for implementing a satellite communication method for a dual-mode terminal is shown. Figure 3 As shown, the electronic device 30 may include one or more processors 302 (shown as 302a, 302b, ..., 302n in the figure) (processor 302 may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.), a memory 304 for storing data, and a transmission device 306 for communication functions. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of a BUS bus), a network interface, a power supply, and / or a camera. Those skilled in the art will understand that... Figure 3 The structure shown is for illustrative purposes only and does not limit the structure of the electronic device described above. For example, electronic device 30 may also include... Figure 3 The more or fewer components shown, or having the same Figure 3 The different configurations shown.
[0091] It should be noted that the aforementioned one or more processors 302 and / or other data processing circuits are generally referred to herein as "data processing circuits". These data processing circuits may be embodied, in whole or in part, in software, hardware, firmware, or any other combination thereof. Furthermore, the data processing circuits may be a single, independent processing module, or may be integrated, in whole or in part, into any other element of the electronic device 30. As involved in the embodiments of this application, the data processing circuit serves as a processor control mechanism (e.g., selection of a variable resistor termination path connected to an interface).
[0092] The memory 304 can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the satellite communication method of the dual-mode terminal in this embodiment. The processor 302 executes various functional applications and data processing by running the software programs and modules stored in the memory 304, thereby implementing the above-mentioned application vulnerability detection method. The memory 304 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 304 may further include memory remotely located relative to the processor 302, and these remote memories can be connected to the electronic device 30 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.
[0093] The transmission device 306 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by the communication provider of the electronic device 30. In one example, the transmission device 306 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 306 may be a Radio Frequency (RF) module, used for wireless communication with the Internet.
[0094] The display can be, for example, a touchscreen liquid crystal display (LCD), which allows the user to interact with the user interface of the electronic device 30.
[0095] The sequence numbers of the above embodiments are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0096] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0097] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between units or modules may be electrical or other forms.
[0098] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0099] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0100] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.
[0101] The above are merely preferred embodiments of this application. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of this application, and these improvements and modifications should also be considered within the scope of protection of this application.
Claims
1. A satellite communication method for a dual-mode terminal, applied to the baseband processor in the dual-mode terminal, characterized in that, include: In response to an activation command from the application processor in the dual-mode terminal, the built-in first protocol stack for satellite communication is activated based on a preset protocol stack configuration template. Receive first uplink data from the application processor, encapsulate the first uplink data based on the first protocol stack to obtain second uplink data, and send the second uplink data to the satellite; The system receives first downlink data from the satellite, parses the first downlink data based on the first protocol stack to obtain second downlink data, and sends the second downlink data to the application processor.
2. The method according to claim 1, characterized in that, In response to an activation command from the application processor in the dual-mode terminal, the built-in first protocol stack for satellite communication is activated based on a preset protocol stack configuration template, including: In response to an activation command from the application processor, a target protocol stack configuration template corresponding to the activation command is determined from a set of preset protocol stack configuration templates. Each protocol stack configuration template includes: protocol stack configuration parameters matching a satellite communication scenario. The satellite communication scenario includes at least one of the following: emergency communication scenario, daily low bandwidth demand scenario. The types of the protocol stack configuration parameters include at least one of the following: retransmission timeout time based on round-trip delay, and transport layer window control parameters. The target protocol stack configuration template is loaded using hardware registers, and the first protocol stack running in kernel space is configured based on the target protocol stack configuration parameters in the target protocol stack configuration template, thereby activating the first protocol stack. The first protocol stack is based on the Transmission Control Protocol TCP and / or the IP protocol.
3. The method according to claim 1, characterized in that, Receiving first uplink data from the application processor, encapsulating the first uplink data based on the first protocol stack to obtain second uplink data, and transmitting the second uplink data to the satellite, including: The application processor receives first uplink data sent based on a preset multi-channel multiplexed data channel, wherein the first uplink data is application layer raw data generated by the satellite application. The first uplink data is encapsulated at the full protocol layer based on the first protocol stack to obtain the second uplink data; The second uplink data is transmitted to the satellite via the satellite radio frequency module of the dual-mode terminal.
4. The method according to claim 1, characterized in that, Receiving first downlink data from the satellite, parsing the first downlink data based on the first protocol stack to obtain second downlink data, and sending the second downlink data to the application processor, including: The dual-mode terminal receives first downlink data from the satellite via its satellite radio frequency module. Based on the first protocol stack, the data packets in the first downlink data are parsed to obtain the original application layer data, and the original application layer data is encapsulated into the second downlink data in a lightweight data frame format. The second downlink data is sent to the application processor.
5. The method according to claim 1, characterized in that, The method further includes: If multiple sets of first uplink data are received from the application processor within a consecutive preset time period, the task priority corresponding to each set of first uplink data is determined. Based on the task priority, multiple sets of the first uplink data are added to the data processing queue from high to low. The first uplink data in the data processing queue is encapsulated sequentially based on the first protocol stack to obtain the corresponding second uplink data, and the second uplink data is sent to the satellite.
6. The method according to claim 1, characterized in that, The method further includes: If multiple sets of first uplink data with a data volume less than a preset threshold are received from the application processor within a continuous preset time period, the multiple sets of first uplink data are merged into third uplink data, wherein the third uplink data includes boundary identifiers used to distinguish each set of first uplink data; the third uplink data is encapsulated based on the first protocol stack to obtain fourth uplink data, and the fourth uplink data is sent to the satellite; If the parsed second downlink data includes a boundary identifier, the second downlink data is split into multiple groups of third downlink data based on the boundary identifier, and the multiple groups of third downlink data are sent to the application processor in sequence.
7. The method according to claim 1, characterized in that, The method further includes: After the second uplink data is sent to the satellite, if no reception confirmation message is received from the satellite after a preset retransmission timeout period, the second uplink data is retransmitted to the satellite. If a preset number of retransmissions fail, a retransmission failure message is reported to the application processor. After receiving the first downlink data from the satellite, the integrity of the first downlink data is checked based on the TCP sequence number of the data packet. If there is packet loss or data corruption, the satellite is requested to retransmit the first downlink data.
8. The method according to claim 2, characterized in that, Each of the protocol stack configuration templates further includes a data verification mechanism, the type of which includes at least one of the following: a TCP verification mechanism and an enhanced verification mechanism for the transport layer, an error correction coding mechanism for the link layer, and an independent verification mechanism for the interaction layer, wherein the independent verification mechanism is used to independently verify the satellite communication data between the application processor and the baseband processor.
9. The method according to claim 1, characterized in that, The method further includes: The system monitors the link communication status of the satellite communication link in real time and periodically reports the link communication status to the application processor. At the beginning of each cycle, the protocol stack configuration template is adjusted based on the link communication state at the beginning of the cycle, and the first protocol stack is reconfigured based on the adjusted protocol stack configuration template; or, At the beginning of each period, the historical link communication status of a preset number of historical periods prior to the current period is obtained, and the historical link communication status is analyzed using a pre-trained state prediction model to obtain the predicted link communication status in the current period. Based on the predicted link communication status in the current period, the protocol stack configuration template is adjusted, and the first protocol stack is reconfigured based on the adjusted protocol stack configuration template.
10. The method according to any one of claims 1 to 9, characterized in that, The application processor runs a second protocol stack for terrestrial communication and stores a protocol stack configuration template corresponding to the second protocol stack. The protocol stack configuration template corresponding to the first protocol stack is completely isolated from the protocol stack configuration template corresponding to the second protocol stack, with no sharing.
11. A dual-mode terminal, characterized in that, include: A baseband processor running a first protocol stack for satellite communication and an application processor running a second protocol stack for terrestrial communication are provided. The protocol stack configuration templates corresponding to the first protocol stack and the second protocol stack are completely isolated and not shared. The baseband processor is configured to respond to an activation command from the application processor, activate the first protocol stack based on a preset protocol stack configuration template, receive first uplink data from the application processor, encapsulate the first uplink data based on the first protocol stack to obtain second uplink data, and send the second uplink data to the satellite; receive first downlink data from the satellite, parse the first downlink data based on the first protocol stack to obtain second downlink data, and send the second downlink data to the application processor.
12. A computer program product, characterized in that, include: A computer program, wherein when executed by a processor, the computer program implements the satellite communication method of the dual-mode terminal as described in any one of claims 1 to 10.
13. An electronic device, characterized in that, include: A memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute, via the computer program, the satellite communication method of the dual-mode terminal according to any one of claims 1 to 10.