Electronic device and processing method of electronic device

Through the hardware-designed mouse SoC architecture, the sensor, scroll wheel and key scanning module are adopted to solve the problems of insufficient real-time and high power consumption of traditional mice at high reporting rates, and realizes an efficient and stable high reporting rate mouse solution.

CN120448321APending Publication Date: 2025-08-08BEIJING ONMICRO ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510669111.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-22
Publication Date
2025-08-08

AI Technical Summary

Technical Problem

Traditional mice have problems such as insufficient real-time, high resource usage and increased power consumption in high reporting scenarios, which are difficult to meet the performance needs of high-end users.

Method used

The mouse SoC architecture adopts a hardware-designed design, including a sensor scanning module, a roller scanning module and a key scanning module, and uses efficient hardware modules to realize data acquisition and packet grouping, reduce CPU participation, improve real-timeness and reduce power consumption.

Benefits of technology

The stability and low power consumption of a high-report rate mouse are achieved, which significantly improves the user experience and meets the operation needs of high-end users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120448321A_ABST
    Figure CN120448321A_ABST
Patent Text Reader

Abstract

The invention provides an electronic device and a processing method of the electronic device. An electronic device includes: one or more scanning modules, each of the one or more scanning modules being respectively connected to a respective one of the one or more peripheral devices and a first bus in the electronic device, and configured to receive respective configuration information through the first bus, acquiring data of the corresponding peripheral equipment based on the corresponding configuration information; and a data packing module, which is connected to the one or more scanning modules and a second bus in the electronic device, and is configured to assemble the collected data of the one or more peripheral devices into a data packet in a first format, and directly transmitting the data packet to the memory of the electronic device through the second bus.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of electronic technology, and more particularly to an electronic device and a processing method for the electronic device. Background Art

[0002] With the rapid development of esports and high-end gaming, users are demanding increasingly higher performance from their mice. Traditional mouse report rates are typically below 1 kHz, meaning the mouse reports its position and status to the computer up to 1,000 times per second. However, with increasing game refresh rates and players' demands for more precise control, a 1 kHz report rate has gradually become insufficient to meet the needs of high-end users. In recent years, market demand for mice with higher report rates, such as 4 kHz and 8 kHz, has been growing. A high report rate requires the mouse to report its position and status more frequently to the computer, providing a smoother and more precise control experience. However, achieving a high-report rate mouse is not easy, primarily due to two challenges: 1) High hardware performance requirements: A high report rate requires higher data processing capabilities and faster transmission speeds, which places higher demands on the mouse's CPU clock speed; 2) Increased power consumption: A high report rate requires more frequent data collection and transmission, which increases power consumption and impacts battery life.

[0003] In summary, the market demand for high-report-rate mice is increasingly urgent, but achieving such a high-report-rate mouse still faces numerous technical challenges. Therefore, developing a mouse that can address these challenges while maintaining high performance has significant market value and application prospects. Summary of the Invention

[0004] An embodiment of the present disclosure provides an electronic device, comprising: one or more scanning modules, each of the one or more scanning modules being respectively connected to a corresponding peripheral device in one or more peripheral devices and a first bus in the electronic device, and being configured to receive corresponding configuration information through the first bus, and to collect data of the corresponding peripheral device based on the corresponding configuration information; and a data packetization module, the data packetization module being connected to the one or more scanning modules and a second bus in the electronic device, and being configured to assemble the collected data of the one or more peripheral devices into a data packet of a first format, and to transmit the data packet directly to the memory of the electronic device through the second bus, wherein the second bus is directly connected to the central processing unit CPU of the electronic device and the memory, and the first bus is connected to the CPU and the memory through the second bus.

[0005] According to an embodiment of the present disclosure, the configuration information includes a scanning frequency for collecting data of the corresponding peripheral device, and the scanning frequency is greater than a maximum scanning frequency at which the CPU can collect data of the corresponding peripheral device through the first bus.

[0006] According to an embodiment of the present disclosure, the one or more scanning modules include a sensor scanning module, which is connected to a first sensor and is configured to: receive first configuration information from the CPU through the first bus; collect and process first data of the first sensor based on the first configuration information; and transmit the processed first data to the data packaging module, wherein the first sensor is a sensor for sensing the movement data of the mouse.

[0007] According to an embodiment of the present disclosure, the one or more scanning modules include a roller scanning module, which is connected to the roller device and is configured to: receive second configuration information from the CPU through the first bus; collect and process second data of the roller device based on the second configuration information; and transmit the processed second data to the data packaging module.

[0008] According to an embodiment of the present disclosure, the one or more scanning modules include a key scanning module, which is connected to the key device and is configured to: receive third configuration information from the CPU through the first bus; collect and process third data of the key device based on the third configuration information; and transmit the processed third data to the data packaging module.

[0009] According to an embodiment of the present disclosure, the data packetization module includes a configuration module, which is configured to configure the source register address of the data packet and / or one or more data in the data packet, the target address of the data packet and / or one or more data in the data packet in the memory, and the data bit width of the data packet and / or one or more data in the data packet.

[0010] According to an embodiment of the present disclosure, the data packaging module includes a status indication module, which is configured to indicate whether the data corresponding to the one or more scanning modules has been transmitted to the memory through one or more register status bits corresponding to the one or more scanning modules.

[0011] According to an embodiment of the present disclosure, each of the one or more scanning modules is a hardware module implemented by a digital circuit.

[0012] According to an embodiment of the present disclosure, the first bus is an advanced peripheral bus APB, and the second bus is an advanced high-performance bus AHB.

[0013] According to an embodiment of the present disclosure, the first format is a data packet format that complies with the human interface device HID protocol.

[0014] An embodiment of the present disclosure provides a processing method for an electronic device, comprising: each of one or more scanning modules receives corresponding configuration information through a first bus, wherein each of the one or more scanning modules is respectively connected to a corresponding peripheral device among one or more peripheral devices; each of the one or more scanning modules collects data of the corresponding peripheral device based on the corresponding configuration information; a data packaging module assembles the data of the one or more peripheral devices collected by the one or more scanning modules into a data packet of a first format, and directly transmits the data packet to a memory through a second bus, wherein the second bus is directly connected to a central processing unit CPU of the electronic device and the memory, and the first bus is connected to the CPU and the memory through the second bus.

[0015] An embodiment of the present disclosure provides a computer-readable storage medium having computer-readable instructions stored thereon. When the instructions are executed by a processor, the instructions can be used to implement any method for designing and / or processing an electronic device according to an embodiment of the present disclosure.

[0016] The present disclosure provides an electronic device and a processing method for the electronic device. The electronic device and the processing method can be used for the design and / or processing of a mouse system-on-chip (SoC). Through hardware design, the mouse SoC, which includes a sensor scanning module, a scroll wheel scanning module, a button scanning module, and a data packaging module, is implemented. This addresses the limitations of the General Purpose Input / Output (GPIO) analog timing method used by traditional software in high-report-rate scenarios, providing an efficient, stable, and low-power solution for implementing a high-report-rate mouse. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The drawings are not necessarily drawn to scale, and elements of similar structure or function may generally be represented by the same reference numerals or portions thereof throughout the drawings for illustrative purposes. The drawings are for convenience only in describing the various embodiments described herein. The drawings do not describe every aspect of the teachings disclosed herein and do not limit the scope of the claims. To prevent the drawings from becoming obscure, not all components, connections, etc. are shown, and not all components have reference numerals. However, the pattern of component configuration can be easily seen from the drawings. The drawings, together with the specification, illustrate example embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure. The above and other aspects, features and advantages of certain embodiments of the present disclosure will become more apparent from the following description in conjunction with the drawings, in which:

[0018] Figure 1 A schematic diagram of an electronic device according to an embodiment of the present disclosure is shown;

[0019] Figure 2 shows an example structure of a sensor scanning module according to an embodiment of the present disclosure;

[0020] Figure 3 An example structure of a roller scanning module according to an embodiment of the present disclosure is shown;

[0021] Figure 4 An example structure of a key scanning module according to an embodiment of the present disclosure is shown;

[0022] Figure 5 shows an example structure of a data packaging module according to an embodiment of the present disclosure;

[0023] Figure 6 A schematic diagram showing an electronic device according to an embodiment of the present disclosure is shown; and

[0024] Figure 7 A schematic flowchart of a processing method for an electronic device according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0025] Before proceeding with the detailed description below, it may be helpful to set forth the definitions of certain words and phrases used throughout this patent document. The terms "couple," "connect," and their derivatives refer to any direct or indirect communication or connection between two or more elements, regardless of whether those elements are in physical contact with each other. The terms "transmit," "receive," and "communicate," and their derivatives, encompass both direct and indirect communication. The terms "include," "comprise," and their derivatives, mean including, but not limited to. The term "or" is inclusive, meaning and / or. The phrases "associated with," "corresponding to," and their derivatives, mean including, included within, interconnected, containing, contained within, connected or connected with, coupled or coupled with, communicate with, cooperate with, intertwine, juxtapose, approach, bound or bound with, have, have an attribute of, have a relationship with, or have a relationship with, etc. The term "controller" refers to any device, system, or portion thereof that controls at least one operation. Such a controller may be implemented using hardware, or a combination of hardware and software and / or firmware. The functionality associated with any particular controller may be centralized or distributed, whether local or remote. The phrase "at least one of," when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one of the items in the list may be needed. For example, "at least one of A, B, and C" includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A, B, and C.

[0026] Definitions for other specific words and phrases are provided throughout this patent document. Those of ordinary skill in the art should understand that in many, if not most instances, such definitions apply to prior and future uses of such defined words and phrases.

[0027] In this patent document, the application combination of modules and the division level of submodules are only for illustration. Without departing from the scope of the present disclosure, the application combination of modules and the division level of submodules can be different. The embodiments of the present disclosure can be implemented in different forms and should not be interpreted as being limited to the embodiments set forth herein. On the contrary, these embodiments are provided to make this disclosure thorough and complete and to fully convey exemplary implementation methods to those skilled in the art. The embodiments of the present disclosure can be arbitrarily combined to form additional embodiments.

[0028] Hereinafter, the embodiments of the present disclosure will be exemplarily described by taking a mouse SoC as an example.

[0029] In some embodiments, the mouse SoC typically uses software to simulate timing via GPIO when implementing sensor, scroll wheel, and button functions. Some specific example implementations are shown below.

[0030] 1. Sensor data acquisition based on software simulation timing method:

[0031] The mouse sensor is responsible for sensing or collecting mouse movement data, such as mouse position, coordinates, and displacement. The sensor typically exchanges data with the SoC via the Serial Peripheral Interface (SPI) communication protocol. However, mouse SoCs typically don't integrate a dedicated sensor scanning module. Instead, they use GPIO to simulate SPI timing to read sensor data.

[0032] For example, in some embodiments, the SoC simulates SPI timing through the GPIO pin; the software simulates the timing of the SPI communication protocol by controlling the high and low level changes of the GPIO pin, thereby interacting with the sensor for data; the sensor transmits the collected mobile data to the SoC through the GPIO, and the SoC then processes the data.

[0033] This approach may have the following disadvantages:

[0034] The GPIO simulation timing method will occupy a lot of CPU resources, resulting in reduced system efficiency;

[0035] Due to the rate limitation of GPIO, the real-time performance and accuracy of sensor data reading are limited, making it difficult to meet the requirements of high reporting rates (such as 4KHz / 8KHz);

[0036] The timing of software simulation may be unstable, resulting in data transmission errors or frame drops.

[0037] 2. Roller signal acquisition based on software simulation timing method:

[0038] A mouse wheel (or scroll wheel device) typically uses an encoder or similar device to detect scrolling movements or corresponding scroll wheel signals. These signals are typically input into the SoC via GPIO pins, where software decodes them to determine information such as the scroll direction and number of steps.

[0039] For example, in some embodiments, the scroll wheel encoder outputs two pulse signals (Phase A and Phase B) with a 90° phase difference, which are connected to two GPIO pins of the SoC. Software can detect the order in which the voltage levels on the two GPIO pins change to determine the scroll wheel's direction (clockwise or counterclockwise, etc.). Furthermore, the software can count the number of pulse signals to determine the number of scroll steps.

[0040] This approach may have the following disadvantages:

[0041] GPIO level detection and software decoding will introduce a certain delay, which will affect the real-time performance of the scroll wheel operation;

[0042] In high-reporting-rate scenarios, the sampling frequency of the scroll wheel signal may be insufficient, resulting in the loss or misjudgment of scrolling actions;

[0043] Software decoding consumes a lot of CPU resources and may affect the overall performance of the mouse.

[0044] 3. Key signal acquisition based on software simulation timing method:

[0045] A mouse button (or button device) typically uses a mechanical switch or an optical switch, and the button state (pressed or released, etc.) can be input into the SoC through a GPIO pin.

[0046] For example, in some embodiments, one end of a push switch can be connected to a GPIO pin, and the other end can be grounded. When the key is pressed, the GPIO pin's voltage level is pulled low; when the key is released, the GPIO pin's voltage level returns to a high level. Software can detect key presses and releases by periodically scanning the GPIO pin's voltage level.

[0047] This approach may have the following disadvantages:

[0048] The software scanning GPIO level method will introduce a certain delay, affecting the real-time response of the key;

[0049] In high-reporting-rate scenarios, the sampling frequency of key states may be insufficient, resulting in missed or misjudged key actions.

[0050] Software scanning consumes a lot of CPU resources and may affect the overall performance of the mouse.

[0051] In other words, the mouse SoC implements sensor scanning, scroll wheel scanning, and button scanning through GPIO analog timing. Although this can meet the needs of low-report-rate mice (below 1 kHz), it may have the following problems in high-report-rate (4 kHz / 8 kHz) scenarios:

[0052] Insufficient real-time performance: The GPIO simulation timing method introduces delays, and the buttons, scroll wheel, and sensor scanning work serially, making it difficult to meet the real-time requirements of high reporting rates.

[0053] High resource usage: Software simulation timing consumes a large amount of CPU resources, affecting the overall system performance.

[0054] High power consumption: The CPU cannot sleep during GPIO simulation timing. Frequent CPU involvement will lead to increased power consumption and affect the battery life of the mouse.

[0055] Insufficient accuracy and stability: At high reporting rates, the GPIO sampling frequency and timing stability may not be guaranteed, resulting in data misjudgment or uneven sampling, affecting the user experience.

[0056] Therefore, the data acquisition method based on software simulation timing has obvious limitations in the application of high reporting rate mice, and a more efficient and stable implementation solution is urgently needed to meet market demand.

[0057] To address the above issues, the present disclosure proposes a hardware scanning-based mouse SoC design method and architecture. An electronic device based on this SoC architecture may include one or more of the following modules:

[0058] Hardware-implemented sensor scanning module: The sensor scanning module implemented through dedicated hardware directly communicates with sensors to achieve real-time high-frequency acquisition and processing of sensor data without software or CPU involvement.

[0059] Hardware-implemented scroll wheel scanning module: A dedicated hardware decoder detects the pulse signal of the scroll wheel encoder in real time, determines the scrolling direction and number of steps of the scroll wheel, and achieves efficient and accurate scroll wheel signal detection.

[0060] Hardware-implemented key scanning module: detects key status in real time through dedicated hardware circuits to reduce key response delays.

[0061] Hardware-implemented data packetization module: This module performs hardware packetization on the data collected from sensors, scroll wheels, and buttons to generate data packets that comply with the protocol or format (for example, the Human Interface Device (HID) protocol) required for communication with the CPU and / or memory on a high-speed bus, for direct transmission to the host (for example, the CPU and / or memory).

[0062] The SoC design method or architecture according to the embodiments of the present disclosure can achieve at least one or more of the following advantages:

[0063] 1) Reduce CPU involvement: Scanning and data packaging of sensors, scroll wheels, and buttons are implemented through hardware modules, significantly reducing CPU involvement and reducing system resource usage.

[0064] 2) Reduce main frequency and power consumption: Due to the high efficiency of the hardware module, the sampling or scanning frequency of the hardware module can be much higher than the operating frequency of the CPU or software. Therefore, the SoC can run at a lower CPU main frequency, thereby reducing power consumption and extending the battery life of the mouse.

[0065] 3) Achieve high report rate: The real-time and high efficiency of the hardware module enables the SoC to achieve high report rate (such as 4KHz / 8KHz, etc.) at a very low main frequency, meeting the needs of high-end users for mouse performance.

[0066] 4) Improve user experience: The asynchronous design and uniform data sampling of the hardware module can effectively improve the linearity of the cursor and scroll wheel, reduce data loss and misjudgment, and significantly improve the user's operating experience.

[0067] The design method or architecture disclosed in the present invention solves the limitations of traditional software simulation timing methods in high report rate scenarios through hardware design, and provides an efficient, stable and low-power solution for the implementation of high report rate mice.

[0068] Next, an example of a mouse SoC architecture according to an embodiment of the present disclosure will be further described with reference to the accompanying drawings.

[0069] Figure 1 1 is a schematic diagram of an electronic device 100 according to an embodiment of the present disclosure.

[0070] An example electronic device 100 of the mouse SoC architecture according to an embodiment of the present disclosure may include a data packaging module 101 and one or more hardware-implemented scanning modules, such as a sensor scanning module 102, a scroll wheel scanning module 103, a button scanning module 104, and the like.

[0071] Each of the one or more scanning modules may be a hardware module implemented by a digital circuit.

[0072] Each of the one or more scanning modules can be connected to a corresponding peripheral device among the one or more peripheral devices and the first bus 105 of the electronic device 100. Each of the one or more scanning modules can be configured to receive corresponding configuration information from, for example, software or a CPU via the first bus 105, and to collect data from the corresponding peripheral device based on the corresponding configuration information. This configuration information may include parameters or configurations such as an operating mode, scanning frequency, timing configuration, and register configuration required for the normal operation of the one or more scanning modules.

[0073] In some embodiments, the configuration information of the corresponding scanning module may include a scanning frequency for collecting data of the peripheral device corresponding to the scanning module, and the scanning frequency may be greater than the operating frequency of the first bus 105, or the maximum scanning frequency at which the software (or CPU 108) can collect or scan data of the corresponding peripheral device through the first bus 105.

[0074] In some embodiments, for example, the sensor scanning module 102 may be connected to a first sensor of a mouse. The sensor scanning module 102 may be configured to receive first configuration information for collecting and processing data from the first sensor from a CPU or the like via a first bus 105; collect and / or process first data from the first sensor based on the first configuration information; and transmit the collected and / or processed first data to the data packaging module 101. The first sensor may be a sensor for sensing movement data of the mouse.

[0075] In some embodiments, the hardware-implemented sensor scanning module 102 can be primarily used to efficiently collect and process data from a sensor, which can be, for example, a first sensor for sensing movement data (eg, position, coordinates, displacement, etc.) of a mouse.

[0076] In some embodiments, in order to ensure the real-time, accuracy and stability of sensor data, the sensor scanning module 102 may also include the following Figure 2 One or more of the submodules shown.

[0077] Specifically, Figure 2 An example structure of a sensor scanning module according to an embodiment of the present disclosure is shown.

[0078] like Figure 2 As shown, the sensor scanning module 102 may include one or more of a communication interface configuration module 201, a parameter configuration module 202, a sensor configuration module 203, a timing configuration module 204, an interrupt configuration module 205, an error detection and recovery module 206, a low power management module 207, a working mode configuration module 208, a data transmission module 209, etc.

[0079] The communication interface configuration module 201 is responsible for physical connection and data communication with the sensor, including 2 / 3 / 4-wire SPI selection and GPIO multiplexing configuration.

[0080] The parameter configuration module 202 can be used to configure some relevant parameters when the sensor scanning module 102 performs scanning.

[0081] The sensor configuration module 203 may be used to configure some register addresses and sensor IDs of the sensors to be scanned according to the user manual of the sensors.

[0082] The timing configuration module 204 can be used to configure the timing signal of the sensor scanning module according to the specific timing requirements of the sensor, so as to ensure the synchronization and real-time performance of data collection.

[0083] The interrupt configuration module 205 can be used to trigger an interrupt to notify the main control CPU when data collection is completed or an exception occurs.

[0084] The error detection and recovery module 206 can be used to synchronize the two-wire SPI again after detecting a synchronization failure.

[0085] The low power management module 207 can be used to manage the power consumption of the module, support sleep and wake-up functions, and optimize energy consumption.

[0086] The working mode configuration module 208 can be used to configure or switch working modes such as a configuration mode and a scan mode.

[0087] The data transmission module 209 may be used to transmit the collected and / or processed sensor data to the main control CPU, the data packaging module 101 or other peripheral devices.

[0088] The parameters or settings that need to be configured of the sensor scanning module 102 described above (and / or the roller scanning module 103, the button scanning module 104, the data packaging module 101, etc. described below) can be obtained from software (for example, a CPU and / or a memory, etc.) through the first bus 105, or can be determined and pre-configured based on the specifications of corresponding peripheral devices such as sensors, user manuals, specific timing requirements, etc., and this document does not impose any restrictions.

[0089] In some embodiments, for example, the wheel scanning module 103 may be connected to a wheel device of a mouse. The wheel scanning module 103 may be configured to: receive second configuration information from a CPU or the like via the first bus 105; collect and / or process second data from the wheel device based on the second configuration information; and transmit the collected and / or processed second data to the data packaging module 101.

[0090] The hardware-implemented wheel scanning module 103 can detect, decode, and process the wheel signal. Implementing the wheel scanning through hardware has the advantages of high efficiency, low power consumption, and strong real-time performance.

[0091] Specifically, Figure 3 An example structure of a scroll wheel scanning module according to an embodiment of the present disclosure is shown.

[0092] like Figure 3 As shown, the wheel scanning module 103 may include one or more of a parameter configuration module 301 , an interrupt configuration module 302 , a signal input module 303 , a low power management module 304 , a status indication module 305 , a data transmission module 306 , and the like.

[0093] The parameter configuration module 301 can be used to configure parameters or settings such as the working mode, scanning frequency, and de-jitter time of the roller scanning module.

[0094] The interrupt configuration module 302 may be configured to trigger an interrupt to notify the main control CPU when a scroll wheel event is detected.

[0095] The signal input module 303 can be used to configure the GPIO multiplexing pins for connecting the output signal of the roller encoder.

[0096] The low power management module 304 may be used to manage the power consumption of the module, for example, supporting sleep and wake-up functions, thereby optimizing energy consumption.

[0097] The status indication module 305 can be used to indicate the data status of the roller scanning module.

[0098] The data transmission module 306 may be used to transmit the collected and / or processed scroll wheel data to the main control CPU, the data packaging module 101 or other peripheral devices.

[0099] In some embodiments, for example, the key scanning module 104 may be connected to a button device of a mouse. The key scanning module 104 may be configured to: receive third configuration information from a CPU or the like via the first bus 105; collect and / or process third data from the button device based on the third configuration information; and transmit the collected and / or processed third data to the data packaging module 101.

[0100] The hardware-implemented key scanning module 104 can be used to detect and process actions such as pressing and releasing the mouse button. Implementing key detection through hardware can significantly reduce the CPU load and improve the real-time performance and response speed of the system.

[0101] Specifically, Figure 4 An example structure of a key scanning module according to an embodiment of the present disclosure is shown.

[0102] like Figure 4 As shown, the key scanning module 104 may include one or more of a parameter configuration module 401 , an interrupt configuration module 402 , a signal input module 403 , a low power management module 404 , a status indication module 405 , a data transmission module 406 , and the like.

[0103] The parameter configuration module 401 can be used to configure parameters or settings such as the key mode, scan mode, scan frequency, and de-jitter time of the key scan module 104 .

[0104] The interrupt configuration module 402 may be configured to trigger an interrupt to notify the main control CPU when a key is detected to be pressed.

[0105] The signal input module 403 can be used to configure the GPIO multiplexing pins to detect the level status of the key.

[0106] The low power management module 404 may be used to manage the power consumption of the module, for example, supporting sleep and wake-up functions, thereby optimizing energy consumption.

[0107] The status indication module 405 may be used to indicate the current status of the key scanning module 104 .

[0108] The data transmission module 406 may be used to transmit the collected and / or processed key data to the main control CPU, the data packaging module 101 or other peripheral devices.

[0109] As described above, the electronic device 100 may further include a data packaging module 101. The data packaging module 101 may be connected to one or more scanning modules and a second bus 106 in the electronic device. The data packaging module 101 may be configured to assemble data collected from one or more peripheral devices into a data packet in a first format and transmit the data packet directly to the memory 107 of the electronic device 100 via the second bus 106.

[0110] The second bus 106 may be directly connected to a central processing unit (CPU) 108 and a memory 107 of the electronic device 100 , and the first bus 105 may be connected to the CPU 108 and the memory 107 through the second bus 106 .

[0111] In some embodiments, the first bus 105 may be an Advanced Peripheral Bus (APB) serving as a sub-bus of the system for connecting one or more peripheral devices, and the second bus 106 may be an Advanced High-Performance Bus (AHB) serving as a main bus of the system directly connected to the CPU and / or memory.

[0112] In some embodiments, the first format described above may be a data packet format compliant with a human interface device (HID) protocol.

[0113] The hardware-implemented data packaging module 101 can be used to perform hardware packaging on one or more of the data collected or acquired from the sensors, scroll wheel, and buttons, generating data packets that comply with a protocol or format (e.g., the Human Interface Device (HID) protocol) for communication with the CPU and / or memory on a high-speed bus, for direct transmission to a host (e.g., CPU 108 and / or memory 107). The data packaging module 101 can perform hardware packaging on one or more of the data collected or acquired from the sensors, scroll wheel, and buttons individually, or it can combine one or more of the data collected or acquired from the sensors, scroll wheel, and buttons for hardware packaging, without limitation herein.

[0114] Specifically, Figure 5 An example structure of a data packaging module according to an embodiment of the present disclosure is shown.

[0115] like Figure 5 As shown, the data packaging module 101 may include one or more of a data handling module 501 , a configuration module 502 , and a status indication module 503 .

[0116] The configuration module 502 can be used to configure the source address and destination address of data transfer and the data width. For example, the configuration module 502 can configure the source register address of the register used to store the assembled data packet and / or one or more data in the data packet, the destination address of the data packet and / or one or more data in the data packet in the memory 108, and the data bit width of the data packet and / or one or more data in the data packet.

[0117] The data transfer module 501 can be used to transfer the data collected by the key scanning module 104, the roller scanning module 103 and / or the sensor scanning module 102 to the memory 107 (for example, RAM, etc.) according to the configuration of the configuration module 502 (and / or the specific format requirements as described above, etc.).

[0118] The status indication module 503 can be used to indicate the data status of each module. For example, the status indication module 503 can be configured to indicate whether the data corresponding to the one or more scanning modules has been transferred to the memory 107 through one or more register status bits corresponding to the one or more scanning modules.

[0119] Next, Figure 6 A schematic diagram of an electronic device 600 according to an embodiment of the present disclosure is shown.

[0120] The electronic device 600 may be Figure 1 A specific example of the electronic device 100 is shown.

[0121] like Figure 6 As shown, electronic device 600 may include CPU 108 and one or more memories, such as flash memory (FLASH) 610 and ARM processor 607. Flash memory 610 and RAM 607 may be connected to CPU 108 via an Advanced High-Performance Bus (AHB) bus 606. AHB bus 606 may also be connected to a USB module (e.g., USB device controller 611) and a radio frequency module 612 for data transmission for a wired or wireless mouse. Radio frequency module 612 may be a radio frequency module supporting Bluetooth (e.g., Bluetooth Low Energy (BLE)) transmission or any other wireless transmission method.

[0122] The electronic device 600 may include a data packaging module 101, a sensor scanning module 102, a scroll wheel scanning module 103, and a key scanning module 104. The data packaging module 101 may also be connected to the AHB bus 606. After one or more scanning modules scan data from corresponding peripheral devices, they may send a request to the data packaging module 101, and the data packaging module 101 may directly transfer the relevant data to the RAM 607.

[0123] The three scanning modules and other low-speed peripherals in the electronic device 600 can be connected to an Advanced Peripheral Bus (APB) bus 605, which can be further connected to an AHB bus 606. In addition to the aforementioned digital circuit modules, the electronic device 600 can also include analog circuit modules such as a clock module, a power module, and a wake-up module.

[0124] As described above, the sensor scanning module 102 in the electronic device 600 may include one or more of a communication interface configuration module 201, a parameter configuration module 202, a sensor configuration module 203, a timing configuration module 204, an interrupt configuration module 205, an error detection and recovery module 206, a low power management module 207, a working mode configuration module 208, a data transmission module 209, etc.

[0125] A specific implementation of the sensor scanning module 102 is shown below.

[0126] The communication interface configuration module 201 is configured for 2-wire / 4-wire SPI selection and multiplexed pin configuration of GPIO (eg, GPIO 109 or other GPIO connected to corresponding scanning modules and / or peripheral devices).

[0127] The parameter configuration module 202 is used to configure parameters such as the scanning frequency, scanning mode, sensor coordinate data format, and sensor coordinate high-order data format (only for 12-bit and 16-bit coordinate data formats). The high-order data format may refer to the arrangement of high-order and low-order bytes when storing multi-byte data in memory. For example, in some embodiments, the high-order data format may include big-endian or little-endian byte order.

[0128] The sensor configuration module 203 is used to configure some register addresses and / or related data of the sensors to be scanned. These addresses and / or data may include one or more of the following: sensor ID register address, sensor ID value, sensor motion status register address, sensor X-axis coordinate low-order data register address, sensor Y-axis coordinate low-order data register address, sensor coordinate high-order data register address 1, and sensor coordinate high-order data register address 2.

[0129] The timing configuration module 204 configures the TR and TNS registers to meet the specific timing requirements of different sensors for SPI. The TR register is used to configure the timing parameters of DATA in SPI communication. The TNS register is used to configure the timing parameters of NCS in SPI communication.

[0130] The error detection and recovery module 206 adjusts the high and low levels of the serial clock (SCLK) signal by configuring the resynchronization (RESYNC) register, thereby achieving the purpose of resynchronization of the two-wire SPI when the configured and / or acquired sensor IDs are inconsistent.

[0131] The interrupt configuration module 205 can be used to enable or disable one or more interrupt modes, such as a scan completion interrupt, a resynchronization start interrupt, a resynchronization end interrupt, an interrupt generated when a scan is triggered during resynchronization, and a configuration mode completion interrupt. One or more of these interrupt modes can be enabled based on actual needs. For example, if the scan completion interrupt is enabled, an interrupt will be triggered when the scan is complete.

[0132] The low power management module 207 may include circuits that support enabling or disabling low power modes (e.g., sleep mode) and wake-up modes. For example, when the system is in low power mode to save power, the system may be awakened when needed by enabling the wake-up function.

[0133] The operation process of the sensor scanning module 102 may include a sensor initialization process and a scanning process.

[0134] During the sensor initialization process, the operating mode of the sensor scanning module 102 can be set to configuration mode via the operating mode configuration module 208. Subsequently, sensor data can be read and written by manipulating the CFG_ADDR and CFG_DATA registers in the sensor scanning module 102, completing a series of customized sensor initialization processes, including sensor reset, calibration, and parameter configuration.

[0135] Before scanning begins, the scan completion interrupt may be enabled by the interrupt configuration module 205. For example, after the scan completion interrupt is enabled, when scanning is completed, the corresponding status bit in the interrupt status register may be set (eg, to 1 or 0, etc.).

[0136] In the scanning process, the working mode configuration module 208 may first switch the working mode of the sensor scanning module 102 to the scanning mode to start data collection or scanning. For example, the scanning function of the sensor scanning module 102 may be enabled to start data collection or scanning.

[0137] Finally, the collected or acquired X-axis and Y-axis coordinate data etc. may be transmitted through the data transmission module 209 and processed accordingly.

[0138] In some embodiments, the above modules or functions of the sensor scanning module 102 may be implemented by one or more registers and related circuits as shown in Table 1 below.

[0139] [Table 1]

[0140] Register Name describe CONFIG The configuration register is used to configure 2-wire / 4-wire SPI, scan mode, scan frequency, sensor coordinate data format, sensor coordinate high-order data format, scan enable, and wake-up enable. WORK_MODE The operating mode register is used to configure the operating mode of the sensor scanning module, such as configuration mode or scan mode. IER The interrupt enable register is used to configure the enable or disable of each interrupt mode. ISR The interrupt status register corresponds to the enable or disable status of each interrupt mode in the interrupt enable register. ID_ADDR Used to configure the sensor ID register address. ID The value used to configure the sensor ID. MO_ADDR Used to configure the sensor motion status register address. X_ADDR Used to configure the sensor X-axis coordinate low-order data register address. Y_ADDR Used to configure the sensor Y-axis coordinate low-order data register address. H_ADDR_1 Used to configure the sensor X / Y axis coordinate high data register address 1. H_ADDR_2 Used to configure the sensor X / Y axis coordinate high data register address 2. X_DATA Used to store the X-axis coordinate data collected by the sensor. Y_DATA Used to store the Y-axis coordinate data collected by the sensor. FREQ Used to configure the scanning frequency. RESYNC Used for two-wire SPI resynchronization. CFG_CSR Used to configure the read / write direction, read / write start configuration, two-line resynchronization start configuration, and read / write status indication in config mode. CFG_ADDR Used to configure the register address of the sensor to be read and written in config mode. CFG_DATA Used to read and write data in the register corresponding to CFG_ADDR in config mode. TR DATA timing configuration: data setup time and data hold time. TNS Low-active chip select signal (Negative Chip Select, NCS) timing configuration: NCS setup time and NCS hold time.

[0141] The wheel scanning module 103 may include one or more of a parameter configuration module 301 , an interrupt configuration module 302 , a signal input module 303 , a low power management module 304 , a status indication module 305 , a data transmission module 306 , and the like.

[0142] The operation process of the wheel scanning module 103 may include an initialization configuration process and a scanning process.

[0143] During the initialization configuration process, the signal input module 303 can be used to configure the multiplexed pins of the GPIO (e.g., GPIO 109 or other GPIOs connected to the corresponding scanning module and / or peripheral device) for connecting to the output signal of the scroll wheel. In other words, the GPIO multiplexing function is configured using the signal input module 303.

[0144] The parameter configuration module 301 may be composed of one or more sub-configuration circuits. For example, the one or more sub-configuration circuits may be used to configure parameters such as the working mode, scanning frequency, and de-jitter time of the roller scanning module 103.

[0145] The interrupt configuration module 302 may be used to configure the enabling or disabling of one or more interrupts (eg, an interrupt triggered by a wheel event, etc.).

[0146] The low power management module 304 may include circuits that support enabling or disabling low power modes (e.g., sleep mode) and wake-up modes. For example, when the system is in low power mode to save power, the system may be awakened when needed by enabling the wake-up function.

[0147] After completing one or more of the above configurations, the roller scanning module 103 may be enabled to start the scanning process.

[0148] For example, when the above-mentioned roller event triggering interrupt is configured to be enabled, an interrupt will be triggered when a roller event or roller data is scanned.

[0149] After the data has been successfully scanned, the corresponding status bit of the status indication module 305 can be set, for example, to 1 or 0. The status bit can be used to indicate whether the data has been successfully scanned or whether the current data is valid.

[0150] Finally, the collected or acquired roller data may be transmitted through the data transmission module 306 and processed accordingly.

[0151] In some embodiments, the above modules or functions of the scroll wheel scanning module 103 may be implemented by one or more registers and related circuits as shown in Table 2 below.

[0152] [Table 2]

[0153] Register Name describe CONFIG The configuration register is used to configure the scroll wheel scan operating mode, debounce time, scan frequency, GPIO multiplexing function, wake-up enable, and scroll wheel scan module enable. INTERRUPT The interrupt register is used to enable or disable the scroll wheel event to trigger an interrupt. STATUS The status register is used to indicate whether the current roller data (for example, the current count value, etc.) is valid. COUNTER Stores the current count value of the roller.

[0154] The key scanning module 104 may include one or more of a parameter configuration module 401 , an interrupt configuration module 402 , a signal input module 403 , a low power management module 404 , a status indication module 405 , a data transmission module 406 , and the like.

[0155] The operation process of the key scanning module 104 may include an initialization configuration process and a scanning process.

[0156] During the initialization configuration process, the signal input module 403 can be used to configure the multiplexed pins of the GPIO (e.g., GPIO 109 or other GPIOs connected to the corresponding scanning module and / or peripheral device) for detecting the level status of the key. In other words, the signal input module 403 is used to configure the GPIO multiplexing function.

[0157] The parameter configuration module 401 may be composed of one or more sub-configuration circuits. For example, the one or more sub-configuration circuits may be used to configure the key mode (such as three-key or five-key selection), scan mode, scan frequency, and debounce time.

[0158] The interrupt configuration module 402 may be used to configure the enabling or disabling of one or more interrupts (eg, a button press triggering interrupt, etc.).

[0159] The low power management module 404 may include circuits that support enabling or disabling low power modes (e.g., sleep mode) and wake-up modes. For example, when the system is in low power mode to save power, the system may be awakened when needed by enabling the wake-up function.

[0160] After completing one or more of the above configurations, the key scanning module 104 may be enabled to start the scanning process.

[0161] For example, when the key press trigger interrupt is configured to be enabled, an interrupt is triggered when a key press is detected. At the same time, the corresponding status bit of the status indication module 405 can be set, for example, to 1 or 0.

[0162] Finally, the collected or acquired key scanning results (each bit of the data register may correspond to the pressing state of a key) may be transmitted through the data transmission module 406 and processed accordingly.

[0163] In some embodiments, the above modules or functions of the key scanning module 104 may be implemented by one or more registers and related circuits as shown in Table 3 below.

[0164] [Table 3]

[0165] Register Name describe CONFIG The configuration register is used to configure the key mode, scan mode, scan frequency, debounce time, GPIO multiplexing function, wake-up enable, and key scan module enable. INTERRUPT The interrupt register is used to enable or disable the interrupt function triggered by pressing any key. STATUS The status register is used to indicate the current status of the key scan module, which are the scan completion flag and the key pressed flag. DATA The data register is used to store the key scan results.

[0166] The data packaging module 101 may include one or more of a data handling module 501 , a configuration module 502 , and a status indication module 503 .

[0167] Configuration module 502 may be comprised of one or more sub-configuration circuits. For example, these sub-configuration circuits may be used to configure the data source address (e.g., source register address) and target RAM address (e.g., target address in RAM) for key scanning module 104, sensor scanning module 102, and scroll wheel scanning module 103, respectively. Typically, the data length of keys and scroll wheels is only one byte, but the bit width of coordinate data from different sensors may vary. Therefore, the bit width of the coordinate data can also be configured through configuration module 502.

[0168] After one or more of the key scanning module 104, the sensor scanning module 102 and / or the roller scanning module 103 scans data, the scanning module that scans the data can send a data transfer request to the data packaging module 101, and at the same time, when the data transfer function of the data packaging module 101 is enabled, the data transfer module 501 can transfer the scanned data from the source register to the RAM according to the configuration in the configuration module 502.

[0169] After the data transfer is completed, the corresponding status bit of the status indication register in the status indication module 503 may be set, for example, to 1 or 0.

[0170] In some embodiments, the above modules or functions of the data packaging module 101 may be implemented by one or more registers and related circuits as shown in Table 4 below.

[0171] [Table 4]

[0172] Register Name describe CONFIG Configure whether data transfer is enabled for each scanning module and the coordinate data width BUTTON_SRC Key data source address, configured as key module data register in the firmware program BUTTON_DST Key data target address, configured as RAM address in the firmware program X_DATA_SRC The horizontal axis data source address is configured as the sensor scanning module X data register in the firmware program X_DATA_DST The horizontal axis data target address is configured as RAM address in the firmware program Y_DATA_SRC The vertical coordinate data source address is configured as the sensor scanning module Y data register in the firmware program Y_DATA_DST The vertical coordinate data target address is configured as a RAM address in the firmware program WHEEL_DATA_SRC The data source address of the roller, which is configured as the roller scanning module data register in the firmware program WHEEL_DATA_DST The target address of the scroll wheel data is configured as a RAM address in the firmware program DATD_VALID_STATUS Indicates the data package status. After the data of any one of the multiple scanning modules is moved to RAM, the corresponding status bit will be set.

[0173] When the above SoC is applied to a mouse product (taking the data bit width used as 1 byte as an example), a four-byte array mouse_data[4] can be defined through the firmware program to store the button data, X coordinate data, Y coordinate data, and scroll wheel data in sequence.

[0174] First, initialize and configure each scanning module. Then, initialize the data packaging module. Enable the data handling function of each scanning module through the CONFIG register, set the coordinate data width to 1 byte, set the data source address to the source data register address of the corresponding scanning module, and set the data destination address to the corresponding address in the mouse_data array. Finally, enable the functions of each scanning module and start scanning.

[0175] If the mouse does not move, the SoC can be in sleep mode. When there is one or more key, displacement or scroll wheel actions, the corresponding hardware scanning module will collect data according to its initialization configuration, and transfer the data to the target address mouse_data array configured in the firmware according to the source address configuration of the data packaging module. At the same time, since the wake-up function of each scanning module is enabled in the initialization configuration, the CPU will also be awakened. After waking up, the CPU will query the status bit of the DATD_VALID_STATUS register of the data packaging module. If one or more of the status bits are set, it means that the data packaging module has moved the corresponding scanned data to the mouse_data array, and the CPU will then send the mouse_data data to the host through the USB interface or the radio frequency interface, and then continue to enter the sleep state.

[0176] The disclosed embodiments innovatively propose a mouse SoC design method and architecture, including a hardware-implemented sensor scanning module, a scroll wheel scanning module, a button scanning module, and a data packaging module. The resulting mouse SoC not only offers significant advantages in high performance, low power consumption, and user experience, but also provides a new technical approach for mouse SoC design, with significant innovation and application value within the industry.

[0177] Next, Figure 7 A schematic flowchart of a processing method 700 for an electronic device according to an embodiment of the present disclosure is shown.

[0178] like Figure 7 As shown, the processing method 700 for an electronic device according to an embodiment of the present disclosure may include: in step S701, each of the one or more scanning modules receives corresponding configuration information through a first bus, wherein each of the one or more scanning modules is respectively connected to a corresponding peripheral device among one or more peripheral devices; in step S702, each of the one or more scanning modules collects data of the corresponding peripheral device based on the corresponding configuration information; and in step S703, a data packaging module assembles the data of the one or more peripheral devices collected by the one or more scanning modules into a data packet of a first format, and transmits the data packet directly to a memory through a second bus. In some embodiments, the second bus is directly connected to the central processing unit CPU of the electronic device and the memory, and the first bus is connected to the CPU and the memory through the second bus.

[0179] In some embodiments, the configuration information includes a scanning frequency for collecting data of the corresponding peripheral device, and the scanning frequency is greater than a maximum scanning frequency at which the CPU can collect data of the corresponding peripheral device through the first bus.

[0180] In some embodiments, the one or more scanning modules include a sensor scanning module, which is connected to a first sensor and is configured to: receive first configuration information from the CPU via the first bus; collect and process first data of the first sensor based on the first configuration information; and transmit the processed first data to the data packaging module, wherein the first sensor is a sensor for sensing movement data of the mouse.

[0181] In some embodiments, the one or more scanning modules include a roller scanning module, which is connected to the roller device and is configured to: receive second configuration information from the CPU via the first bus; collect and process second data of the roller device based on the second configuration information; and transmit the processed second data to the data packaging module.

[0182] In some embodiments, the one or more scanning modules include a key scanning module, which is connected to the key device and is configured to: receive third configuration information from the CPU through the first bus; collect and process third data of the key device based on the third configuration information; and transmit the processed third data to the data packaging module.

[0183] In some embodiments, the data packetization module includes a configuration module, which is configured to configure the source register address of the data packet and / or one or more data in the data packet, the target address of the data packet and / or one or more data in the data packet in the memory, and the data bit width of the data packet and / or one or more data in the data packet.

[0184] In some embodiments, the data packaging module includes a status indication module configured to indicate whether the data corresponding to the one or more scanning modules has been transferred to the memory through one or more register status bits corresponding to the one or more scanning modules.

[0185] In some embodiments, each of the one or more scanning modules is a hardware module implemented by digital circuits.

[0186] In some embodiments, the first bus is an advanced peripheral bus (APB), and the second bus is an advanced high-performance bus (AHB).

[0187] In some embodiments, the first format is a data packet format that complies with a human interface device (HID) protocol.

[0188] An embodiment of the present disclosure further provides a computer-readable medium having instructions stored thereon. When executed, the instructions may be used to implement the method 700 described above or any other method according to an embodiment of the present disclosure.

[0189] This disclosure uses a mouse SoC as an example for illustrative description. It should be understood that the methods or architectures provided by the embodiments of this disclosure can also be applied to any other device or product requiring efficient, stable, and low-power high-frequency data acquisition, and this disclosure does not limit this.

[0190] It should be understood that the methods described above in conjunction with the various embodiments or drawings are merely examples. The embodiments of the present disclosure may also add, delete, replace, or combine any steps or elements in the methods or structures shown above. The steps in the methods of the embodiments of the present disclosure may be performed in parallel or in any other order not shown, and this is not limited herein.

[0191] Although the present disclosure has been described with exemplary embodiments, various changes and modifications may be suggested to one skilled in the art. It is intended that the present disclosure encompass such changes and modifications as fall within the scope of the appended claims.

[0192] Nothing in this disclosure should be construed as implying that any particular element, step, or function is an essential element that must be included in the claims scope. The scope of the patented subject matter is defined solely by the claims.

[0193] Exemplary embodiments of the present disclosure have been disclosed herein, and although specific terms are employed, they are used and interpreted in a general and descriptive sense only, and not for purposes of limitation. In some cases, features, characteristics, and / or elements described in conjunction with a particular embodiment may be used alone or in combination with features, characteristics, and / or elements described in conjunction with other embodiments, unless otherwise indicated. Therefore, it will be understood by those skilled in the art that various changes in form and detail may be made to the present disclosure without departing from the spirit and scope of the claims.

Claims

1. An electronic device comprising: One or more scanning modules, each of the one or more scanning modules being connected to a corresponding peripheral device among the one or more peripheral devices and a first bus in the electronic apparatus, and being configured to receive corresponding configuration information through the first bus, and to collect data of the corresponding peripheral device based on the corresponding configuration information; and a data packaging module connected to the one or more scanning modules and a second bus in the electronic device and configured to assemble the collected data from the one or more peripheral devices into a data packet in a first format and transmit the data packet directly to a memory of the electronic device via the second bus; The second bus is directly connected to the central processing unit (CPU) of the electronic device and the memory, and the first bus is connected to the CPU and the memory through the second bus.

2. The electronic device according to claim 1, wherein The configuration information includes a scanning frequency for collecting data of the corresponding peripheral device, and the scanning frequency is greater than a maximum scanning frequency at which the CPU can collect data of the corresponding peripheral device through the first bus.

3. The electronic device according to claim 1, wherein The one or more scanning modules include a sensor scanning module, wherein the sensor scanning module is connected to the first sensor and is configured to: receiving first configuration information from the CPU via the first bus; Collecting and processing first data of the first sensor based on the first configuration information; and transmitting the processed first data to the data packaging module, Wherein, the first sensor is a sensor for sensing movement data of a mouse.

4. The electronic device according to claim 1, wherein The one or more scanning modules include a roller scanning module, the roller scanning module being connected to the roller device and configured to: receiving second configuration information from the CPU via the first bus; Collecting and processing second data of the scroll wheel device based on the second configuration information; and The processed second data is transmitted to the data packaging module.

5. The electronic device according to claim 1, wherein The one or more scanning modules include a key scanning module, which is connected to the key device and is configured to: receiving third configuration information from the CPU via the first bus; Collecting and processing third data of the button device based on the third configuration information; and The processed third data is transmitted to the data packaging module. The electronic device according to claim 1 , wherein: The data packetization module includes a configuration module, which is configured to configure the source register address of the data packet and / or one or more data in the data packet, the target address of the data packet and / or one or more data in the data packet in the memory, and the data bit width of the data packet and / or one or more data in the data packet.

7. The electronic device according to claim 1, wherein The data packaging module includes a status indication module configured to indicate whether data corresponding to the one or more scanning modules has been transferred to the memory through one or more register status bits corresponding to the one or more scanning modules.

8. The electronic device according to claim 1, wherein Each of the one or more scanning modules is a hardware module implemented by a digital circuit.

9. The electronic device according to claim 1, wherein: The first bus is an advanced peripheral bus APB, and the second bus is an advanced high-performance bus AHB.

10. The electronic device according to claim 1, wherein The first format is a data packet format that complies with the human interface device HID protocol.

11. A processing method for an electronic device, comprising: Receiving corresponding configuration information by each of the one or more scanning modules through the first bus, wherein each of the one or more scanning modules is respectively connected to a corresponding peripheral device among the one or more peripheral devices; Each of the one or more scanning modules collects data of the corresponding peripheral device based on the corresponding configuration information; The data packaging module assembles the data of the one or more peripheral devices collected by the one or more scanning modules into a data packet in a first format, and directly transmits the data packet to the memory through the second bus. The second bus is directly connected to the central processing unit (CPU) of the electronic device and the memory, and the first bus is connected to the CPU and the memory through the second bus.