Electronic device, electronic device control method, and program
By segregating and storing wireless LAN packets by communication method within the electronic device's subsystem, the processor load is reduced, and data loss is minimized, effectively managing multiple communication method packets.
Patent Information
- Application Number
- JP2020108046
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2020-06-23
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2040-06-23
AI Technical Summary
Conventional electronic devices with wireless LAN modules face increased processor load and data loss due to the need to analyze multiple communication method packets, which overwhelms the main system processor.
The electronic device includes a subsystem with an SDIO interface that segregates and stores wireless LAN packets by communication method before transferring them to the main system, using a data length acquisition unit and transfer control unit to prioritize and manage packet storage based on communication method.
This approach reduces processor load and minimizes data loss by efficiently handling multiple communication method packets, ensuring timely processing and storage.
Smart Images

Figure 0007608738000001 
Figure 0007608738000002 
Figure 0007608738000003
Abstract
Description
[Technical field]
[0001] The present invention relates to an electronic device, a control method for an electronic device, and a program. [Background technology]
[0002] For example, in electronic devices such as image forming apparatuses, various communication interfaces are used to receive electronic data to be processed. A typical communication interface is a wired LAN (Local Area Network), but some electronic devices are equipped with a wireless LAN module having an SDIO (Secure Digital Input / Output) interface as a communication interface.
[0003] For example, there is known an image forming apparatus that is equipped with a wireless LAN module having an SDIO interface in order to further reduce power consumption in a low power consumption mode, analyzes packets within the wireless LAN module, and transfers them to the main system (see, for example, Patent Document 1). Summary of the Invention [Problem to be solved by the invention]
[0004] In the conventional technology shown in Patent Document 1, data is read by multi-block read to increase the data transfer rate of the SDIO interface. In this case, multiple wireless LAN packets are transferred as one block, which requires the processor on the main system to analyze the data, which may increase the processor load.
[0005] For example, packets received by the wireless LAN module may include packets of multiple communication methods, such as packets sent from an access point, packets of Wi-Fi Direct (registered trademark), etc. In such a case, the processor that accepts received data from the wireless LAN module must read the header information of each packet and separate the packets, which increases the load, and if the processing cannot keep up, data may be dropped.
[0006] As described above, in conventional technology, in an electronic device that receives data including wireless LAN packets of multiple communication methods from a wireless LAN module, the load on the processor that processes the received data increases, which can result in data being dropped.
[0007] One embodiment of the present invention has been made in consideration of the above problems, and in an electronic device that receives received data including packets of multiple communication methods from a wireless LAN module, the load on the processor that processes the received data is reduced, thereby preventing data from being lost. [Means for solving the problem]
[0008] In order to solve the above problem, an electronic device according to an embodiment of the present invention includes a wireless LAN module having an SDIO interface, a subsystem that receives received data including wireless LAN packets of a plurality of communication methods from the wireless LAN module, and a main system including a processor that processes the received data. The subsystem includes an SDIO control unit that executes a multi-block read of the received data from the wireless LAN module, a data length acquisition unit that acquires the data length of the wireless LAN packet from the header of the wireless LAN packet included in the received data, a communication method identification unit that identifies the communication method of the wireless LAN packet based on a MAC address included in the wireless LAN packet, and a data transfer unit that transfers the wireless LAN packet to a different storage area for each communication method based on the data length of the wireless LAN packet and the communication method of the wireless LAN packet.When the data transfer unit finishes transferring the wireless LAN packet, The above Varies by communication method Stored in the memory area The above Wireless LAN packets, The wireless LAN packet of the communication method with higher priority is given priority. and a transfer control unit for transferring the data to the main system. Effect of the Invention
[0009] According to one embodiment of the present invention, in an electronic device that receives reception data including packets of multiple communication methods from a wireless LAN module, the load on the processor that processes the received data can be reduced, thereby preventing data from being lost. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 illustrates an example of the configuration of an image forming apparatus according to an embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of the configuration of a subsystem according to an embodiment. [Diagram 3] 2 is a diagram illustrating an example of the configuration of a SOID I / F according to the first embodiment. FIG. [Figure 4] FIG. 2 is a diagram illustrating an example of a format of a wireless LAN packet according to an embodiment. [Diagram 5] FIG. 11 is a diagram for explaining received data according to an embodiment. [Figure 6] FIG. 2 is a diagram illustrating an example of a functional configuration of an image forming apparatus according to an embodiment. [Figure 7] 5 is a flowchart showing an example of processing of a subsystem according to the first embodiment. [Figure 8] 10 is a flowchart illustrating an example of a transfer process of received data according to the first embodiment. [Figure 9] FIG. 11 is a diagram illustrating an example of the configuration of a SOID I / F according to the second embodiment. [Figure 10] 13 is a flowchart illustrating an example of a transfer process of received data according to the second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
[0012] <Configuration of Image Forming Apparatus> 1 is a diagram showing an example of the configuration of an image forming apparatus according to an embodiment. The image forming apparatus 1 includes a main system 10 that executes image forming processes such as scanning and printing, and a subsystem 100 that receives wireless LAN (Local Area Network) packets from a wireless LAN module 110 and transfers them to the main system.
[0013] The image forming apparatus 1 is an example of an electronic device including a subsystem 100 that receives reception data including wireless LAN packets of a plurality of communication methods from the wireless LAN module 110, and a main system 10 that includes a processor that processes the reception data. For example, the electronic device may be a PJ (Projector), an IWB (Interactive White Board: an electronic white board having a blackboard function that allows mutual communication), a digital signage, a HUD (Head Up Display) device, or the like. The electronic device may also be, for example, an industrial machine, a medical device, a network home appliance, an automobile (Connected Car), an in-vehicle device, or the like. Furthermore, the electronic device may also be, for example, an information terminal such as a notebook PC (Personal Computer), a mobile phone, a smartphone, a tablet terminal, a game machine, a PDA (Personal Digital Assistant), a digital camera, a wearable PC, or a desktop PC.
[0014] The wireless LAN module 110 is connected to the subsystem 100 via, for example, an SDIO (Secure Digital Input / Output) interface 30 or the like, and performs wireless LAN communication using a plurality of communication methods. For example, the wireless LAN module 110 receives wireless LAN packets from a wireless LAN access point using a first communication method, and receives wireless LAN packets from an information terminal or other electronic device using a second communication method such as Wi-Fi Direct (registered trademark).
[0015] The subsystem 100 receives reception data including wireless LAN packets of a plurality of communication methods from the wireless LAN module 110, and transfers the received data to the main system 10. For example, the subsystem 100 receives reception data including wireless LAN packets of a first communication method and wireless LAN packets of a second communication method from the wireless LAN module 110 by a multi-block read of the SDIO interface.
[0016] Furthermore, the subsystem 100 analyzes the data received from the wireless LAN module 110, and stores the wireless LAN packets in different storage areas for each communication method.
[0017] Furthermore, the subsystem 100 transfers the received data stored in a different storage area for each communication method to the main system 10 via a high-speed serial interface 20 such as PCI Express (registered trademark).
[0018] The main system 10 includes, for example, a CPU (Central Processing Unit) 11, a memory 12, an ASIC (Application Specific Integrated Circuit) 13, a printer 14, a scanner 16, and the like.
[0019] The CPU 11 is a processor (arithmetic device) that processes received data transferred from the subsystem 100 to the memory 12, for example, by executing a predetermined program previously stored in the memory 12. The memory 12 includes, for example, a RAM (Random Access Memory), which is a volatile memory used as a work area for the CPU 11, and a ROM (Read Only Memory), which is a non-volatile memory that stores a program for starting the CPU 11, etc. The memory 12 may also include a storage device, for example, an HDD (Hard Disk Drive), an SSD (Solid State Drive), etc.
[0020] The ASIC 13 is an LSI (Large Scale Integrated Circuit) for image formation processing applications that has hardware elements for image formation processing by the printer 14, scanner 15, etc. The ASIC 13 includes, for example, an arbiter (arbitration circuit), a memory controller, a DMAC (Direct Memory Access Controller), and a logic circuit that rotates, enlarges, reduces, etc. image data.
[0021] The printer 14 includes, for example, a printer engine that executes printing and a controller that controls the printer engine, and executes an image forming process (printing process) under the control of the main CPU 11. The scanner 15 includes, for example, a scanner engine that executes reading of an original document and a controller that controls the scanner engine, and executes a scan process under the control of the main CPU 11.
[0022] With the above configuration, the CPU 11 prints, for example, print data (an example of received data) transferred from the subsystem 100 to the memory 12, using the ASIC 13 and the printer 14.
[0023] In the conventional technology, the CPU 11 processes the received data including wireless LAN packets of a plurality of communication methods received by the wireless LAN module 110. For example, the CPU 11 that receives the received data from the wireless LAN module 110 analyzes the header information of each wireless LAN packet and classifies the packets by communication method. Therefore, when the load on the CPU 11 becomes high (heavy) and the processing cannot keep up, data may be dropped.
[0024] On the other hand, in the image forming apparatus 1 according to the present embodiment, the wireless LAN packets of a plurality of communication methods received from the wireless LAN module 110 are stored in the memory 12 in a state where they are separated according to the communication method.
[0025] Therefore, according to this embodiment, in an image forming device 1 that receives received data including packets of multiple communication methods from a wireless LAN module 110, the load on the processor (CPU 11) that processes the received data can be reduced, thereby preventing data from being lost.
[0026] <Subsystem configuration> 2 is a diagram showing an example of the configuration of a subsystem according to an embodiment. The subsystem 100 includes a high-speed serial I / F 201, a sub CPU 202, a RAM 203, an SDIO I / F 204, a bus 205, and the like.
[0027] The high-speed serial I / F 201 is an I / F for performing high-speed serial communication with the main system 10. Note that the interface through which the subsystem 100 communicates with the main system 10 may be any communication interface.
[0028] The sub-CPU 202 is a processor (arithmetic device) that executes a predetermined program to control the subsystem 100. It is preferable that the sub-CPU 202 is a power-saving processor that consumes less power than the CPU 11 of the main system 10. The RAM 203 is an example of a memory that temporarily stores received data.
[0029] The SDIO I / F 204 is a communication interface that receives reception data including wireless LAN packets of a plurality of communication methods from the wireless LAN module 110 having an SDIO interface.
[0030] Here, the following explanation will be given assuming that the received data received by SDIO I / F 204 includes wireless LAN packets of a first communication method received from a wireless LAN access point and wireless LAN packets of a second communication method such as Wi-Fi Direct.
[0031] A bus 205 is commonly connected to each of the above components, and transmits, for example, address signals, data signals, and various control signals.
[0032] [First Embodiment] Next, a configuration example of the SDIO I / F 204 according to the first embodiment will be described.
[0033] <Configuration Example of SDIO I / F FIG. 3 is a diagram showing a configuration example of the SDIO I / F according to the first embodiment. The SDIO I / F 204 includes, for example, an SDIO control unit 301, a data selector 302, a data length acquisition unit 303, a communication method identification unit 304, a data acquisition unit 305, a FIFO (First In First Out) 306, an address control unit A 307, an address control unit B 308, a selection unit 309, a data transfer unit 310, and a register 311.
[0034] The SDIO control unit 301 controls the wireless LAN module 110 having an SDIO interface. For example, when the SDIO control unit 301 receives an interrupt from the wireless LAN module 110, it notifies the sub-CPU 202 via the register 311. Also, the SDIO control unit 301 receives received data including a wireless LAN packet of the first communication method and a wireless LAN packet of the second communication method from the wireless LAN module 110.
[0035] The data selector 302 sequentially acquires wireless LAN packets 400 as shown in FIG. 4, for example, included in the received data.
[0036] FIG. 4 is a diagram showing an example of the format of a wireless LAN packet according to an embodiment. The wireless LAN packet 400 includes a header 401 and data 402. Note that the wireless LAN packet 400 is also called a wireless LAN frame or the like. Also, the header 401 is also called a physical header or the like. Further, the data 402 is also called a MAC (Media Access Control) frame or the like.
[0037] The data length acquisition unit 303 acquires a PLCP header 403 included in a header 401 from a wireless LAN packet 400 as shown in Fig. 4, for example. This PLCP header 403 includes information such as a modulation method (transmission rate), a data length, etc. The data length acquisition unit 303 acquires the data length of the wireless LAN packet 400 from this PLCP header 403.
[0038] The communication method identification unit 304 acquires, for example, "Address1" 405, "Address3" 406, etc. from the IEEE 802.11 header 404 of the wireless LAN packet 400 shown in Fig. 4. Different values (for example, destination MAC address, source MAC address, BSSID, etc.) are set in Addresses 1 to 4 of the IEEE 802.11 header 404 depending on the network configuration.
[0039] For example, when Address1 and Address3 have the same value, the communication method identifying unit 304 identifies the packet as a wireless LAN packet of a second communication method such as Wi-Fi Direct. On the other hand, when Address1 and Address3 have different values, the communication method identifying unit 304 identifies the packet as a wireless LAN packet of a first communication method such as an access point. In addition, the communication method identifying unit 304 notifies the address control unit A307, the address control unit B308, the selection unit 309, etc. of a signal (or information) indicating whether the communication method of the wireless LAN packet is the first communication method or the second communication method.
[0040] 4 to the data transfer unit 310 via the FIFO 306. The FIFO 306 is a first-in, first-out buffer.
[0041] Based on the data length acquired by the data length acquisition unit 303 and the communication method identified by the communication method identification unit 304, the address control unit A307 determines the address of a storage area to which the WLAN packet of the first communication method is transferred.
[0042] For example, the register 311 is preset with a start address of a storage area for storing a wireless LAN packet of the first communication method, for example, by the sub CPU 202. The address control unit A307 stores in the register 311 a first address indicating the next write position of the wireless LAN packet of the first communication method, based on the start address and the data length acquired by the data length acquisition unit 303, and manages the first address.
[0043] For example, when the communication method of the wireless LAN packet is the first communication method, the address control unit A307 reads the first address from the register 311 and outputs it to the selection unit 309. In addition, the address control unit A307 adds the data length acquired by the data length acquisition unit 303 to the first address stored in the register 311 to update it.
[0044] Similarly, the address control unit B308 determines the address of a memory area to write the WLAN packet of the second communication method based on the data length acquired by the data length acquisition unit 303 and the communication method identified by the communication method identification unit 304.
[0045] For example, the register 311 is preset with a start address of a storage area for storing a wireless LAN packet of the second communication method, for example, by the sub CPU 202. The address control unit B308 stores in the register 311 a second address indicating the next write position of the wireless LAN packet of the second communication method, based on the start address and the data length acquired by the data length acquisition unit 303, and manages the second address.
[0046] For example, when the communication method of the wireless LAN packet is the second communication method, the address control unit B308 reads the second address from the register 311 and outputs it to the selection unit 309. In addition, the address control unit B308 adds the data length acquired by the data length acquisition unit 303 to the second address stored in the register 311 to update it.
[0047] The address control unit A307 and the address control unit B308 are an example of an address control unit that determines the address of the transfer destination of the wireless LAN packet based on the data length of the wireless LAN packet and the communication method of the wireless LAN packet. For example, the address control unit A307 and the address control unit B308 may be included in one address control unit. Also, the address control unit may include three or more address control units A, B, C, ... corresponding to three or more communication methods.
[0048] The selection unit 309 selects a storage area to which the wireless LAN packet is transferred according to the communication method identified by the communication method identification unit 304. For example, when the communication method identified by the communication method identification unit 304 is the first communication method, the selection unit 309 outputs the first address output by the address control unit A307 to the data transfer unit 310. On the other hand, when the communication method identified by the communication method identification unit 304 is the second communication method, the selection unit 309 outputs the second address output by the address control unit B308 to the data transfer unit 310.
[0049] The data transfer unit 310 has the configuration of, for example, a DMA controller, and transfers the wireless LAN packet received from the data acquisition unit 305 to the address output from the selection unit 309 .
[0050] With the above configuration, the SDIO I / F 204 can transfer the wireless LAN packets 400a to 400d to different storage areas 511 and 512 for each communication method, as shown in FIG.
[0051] Fig. 5 is a diagram for explaining received data according to an embodiment. Fig. 5(A) shows an image of an example of received data 500 including wireless LAN packets of a plurality of communication methods received by the SDIO I / F 204 from the wireless LAN module 110. In Fig. 5(A), wireless LAN packets 400a and 400d are wireless LAN packets of a first communication method, and wireless LAN packets 400b and 400c are wireless LAN packets of a second communication method. In addition, "H" of the wireless LAN packets 400a to 400d is the header 401 in Fig. 4, and "DATA" is the data 402 in Fig. 4.
[0052] As shown in FIG. 5A, the data received from the wireless LAN module contains a mixture of wireless LAN packets 400a and 400d in the first communication method and wireless LAN packets 400b and 400c in the second communication method.
[0053] For example, when the SDIO I / F 204 receives reception data 500 as shown in Fig. 5(A), it transfers the wireless LAN packets 400a and 400d of the first communication method included in the reception data 500 to a first storage area 511 as shown in Fig. 5(B). In addition, the SDIO I / F 204 transfers the wireless LAN packets 400b and 400c of the second communication method included in the reception data 500 to a second storage area 512 as shown in Fig. 5(B).
[0054] Furthermore, the sub CPU 202 transfers the wireless LAN packets 513 stored in the first memory area 511 and the second memory area 512 to the main system 10 for each received data 500, for example.
[0055] As another example, the sub CPU 202 may transfer the wireless LAN packets 513 stored in the first memory area 511 and the second memory area 512 to the main system 10 for each wireless LAN packet. This makes it easy to transfer, for example, wireless LAN packets of a communication method with a higher priority to the main system 10 with priority.
[0056] <Functional configuration of the image forming apparatus> FIG. 6 is a diagram illustrating an example of a functional configuration of the image forming apparatus according to the first embodiment.
[0057] (Subsystem functional configuration) Subsystem 100 realizes a setting control unit 601, a transfer control unit 602, a first storage unit 603, etc., by executing a predetermined program in sub-CPU 202 in Fig. 2. Note that at least a part of the above functional configurations may be realized by hardware.
[0058] The setting control unit 601 controls the SDIO I / F 204 described in FIG. 3 to execute a transfer process of received data as shown in FIG. 8, for example.
[0059] The transfer control unit 602 executes a transfer process for transferring, to the main system 10, a wireless LAN packet 513 stored in storage areas 511 and 512 that differ for each communication method, as shown in FIG. 5(B), for example.
[0060] The first storage unit 603 is realized, for example, by a program executed by the sub CPU 202, the RAM 203, etc., and is used, for example, as a first storage area 511, a second storage area 512, etc., as shown in FIG. 5(B).
[0061] (Main system functional configuration) The main system 10, for example, realizes an image formation control unit 611, a second storage unit 612, and the like by executing a predetermined program in the CPU 11 of FIG.
[0062] The image formation control unit 611 controls, for example, the ASIC 13, the printer 14, the scanner 15, etc. to execute image formation processes such as printing and scanning. For example, when the wireless LAN packet 513 transferred from the subsystem 100 to the second storage unit 612 is print data, the image formation control unit 611 prints the print data using the printer 14.
[0063] The second storage unit 612 is realized by, for example, a program executed by the CPU 11, the memory 12, etc., and stores the wireless LAN packet 513 transferred from the subsystem 100, etc.
[0064] <Processing flow> Next, a flow of a control method for the image forming apparatus according to the first embodiment will be described.
[0065] (Subsystem processing) FIG. 7 is a flowchart illustrating an example of processing of the subsystem according to the first embodiment.
[0066] In step S701, the setting control unit 601 of the subsystem 100 performs initial setting of the SDIO I / F 204. For example, the setting control unit 601 initializes the SDIO I / F 204 and sets the start address of the first memory area 511 and the start address of the second memory area 512 in FIG. 5 in the register 311.
[0067] In step S702, when the setting control unit 601 accepts a reception interrupt from the SDIO I / F 204, the processing of step S703 and thereafter is executed. For example, when the SDIO control unit 301 of the SDIO I / F 204 is notified of a reception interrupt from the wireless LAN module 110, the SDIO control unit 301 notifies the register 311 of the interrupt. As a result, the register 311 notifies the sub CPU 202 of the reception interrupt.
[0068] In step S703, the setting control unit 601 acquires information such as the amount of data transfer of the wireless LAN module 110 via the SDIO control unit 301.
[0069] In step S 703 , the setting control unit 601 sets the acquired data transfer amount in the register 311 , thereby setting the block transfer size of the data transfer unit 310 .
[0070] In step S705, the setting control unit 601 sets the transfer start flag to be valid in the register 311 (or asserts the kick signal). As a result, in step S706, the SDIO control unit 301 executes a multi-block read of the received data from the wireless LAN module 110. As a result, for example, as shown in FIG. 5(A), the received data 500 including the wireless LAN packets 400a and 400d of the first communication method and the wireless LAN packets 400b and 400c of the second communication method is received from the wireless LAN module 110.
[0071] In steps S707 and S708, the SDIO I / F 204 sequentially executes a transfer process of the received data, for example, as shown in Fig. 8, for each of the wireless LAN packets included in the received data. As a result, for example, as shown in Fig. 5(B), the wireless LAN packets 400a and 400d of the first communication method included in the received data 500 are stored in the first memory area 511. Also, the wireless LAN packets 400b and 400c of the second communication method included in the received data 500 are stored in the second memory area 512.
[0072] When the transfer process is completed, the data transfer unit 310 sets the transfer start flag to invalid (or negates the kick signal). As a result, for example, a transfer end interrupt is notified to the sub CPU 202.
[0073] When the transfer process is completed, in step S709, the transfer control unit 602 of the subsystem 100 transfers the wireless LAN packets 513 stored in the first memory area 511 and the second memory area 512 to the second memory unit 612 of the main system 10. For example, the transfer control unit 602 DMA-transfers the wireless LAN packets 513 stored in the first memory area 511 and the second memory area 512 to the second memory unit 612 using the data transfer unit 310, which is a DMA controller.
[0074] (Transfer processing of received data) Fig. 8 is a diagram showing an example of a transfer process of received data according to the first embodiment. This process shows an example of a transfer process of received data executed by the SDIO I / F 204 of the subsystem 100 in step S707 in Fig. 7. For example, the SDIO I / F 204 sequentially executes the transfer process of received data shown in Fig. 8 for each wireless LAN packet included in the received data.
[0075] In step S801, the data selector 302 acquires a wireless LAN packet from the SDIO control unit 301.
[0076] In step S802, the data length acquisition unit 303 acquires, for example, the PLCP header 403 of the WLAN packet 400 as shown in FIG.
[0077] In step S803, the communication method identification unit 304 acquires MAC addresses, for example, "Address1" 405 and "Address3" 406 of the wireless LAN packet 400 as shown in Fig. 4, from the data selector 302. In addition, the communication method identification unit 304 identifies the communication method of the wireless LAN packet 400 from the acquired Address1 and Address3.
[0078] For example, when Address1 and Address3 have different values, the communication method identification unit 304 identifies the wireless LAN packet 400 as a packet of a first communication method received from an access point, etc. On the other hand, when Address1 and Address3 have the same value, the communication method identification unit 304 identifies the wireless LAN packet 400 as a packet of a second communication method, such as Wi-Fi Direct.
[0079] In step S 804 , the data acquisition unit 305 acquires, for example, a wireless LAN packet 400 as shown in FIG. 4 from the data selector 302 , and writes the wireless LAN packet 400 to the FIFO 306 , thereby transferring the wireless LAN packet 400 to the data transfer unit 310 .
[0080] In step S805, the SDIO I / F 204 determines the destination address and the storage area based on the data length acquired by the data length acquisition unit 303 and the communication method identified by the communication method identification unit 304.
[0081] For example, when the communication method is the first communication method, the address control unit A307 reads out a first address that is stored and managed in the register 311 and indicates the next write position of a WLAN packet of the first communication method, and outputs the first address to the selection unit 309. In addition, the selection unit 309 outputs the first address output by the address control unit A307 to the data transfer unit 310.
[0082] On the other hand, when the communication method is the second communication method, the address control unit B308 reads out a second address that indicates the next write position of the WLAN packet of the second communication method, which is stored and managed in the register 311, and outputs it to the selection unit 309. In addition, the selection unit 309 outputs the second address output by the address control unit B308 to the data transfer unit 310.
[0083] In step S806, the data transfer unit 310 transfers the wireless LAN packet transferred from the data acquisition unit 305 to the address output from the selection unit 309, for example, by DMA.
[0084] By the processing of Figures 7 and 8 above, the subsystem 100 can transfer received data 500 including wireless LAN packets of multiple communication methods, as shown in Figure 5(A), to different memory areas 511, 512 for each communication method, as shown in Figure 5(B).
[0085] Furthermore, the subsystem 100 transfers the wireless LAN packets 513 stored in the storage areas 511 and 512 that are different for each communication method to the second storage unit 612 of the main system 10, as shown in FIG. 5(B).
[0086] Therefore, according to this embodiment, in an image forming device 1 that receives received data including packets of multiple communication methods from a wireless LAN module 110, the load on the processor (CPU 11) that processes the received data can be reduced, thereby preventing data from being lost.
[0087] [Second embodiment] In the second embodiment, an example in which the SDIO I / F 204 has an address filter unit will be described.
[0088] 9 is a diagram showing a configuration example of the SDIO I / F 204 according to the second embodiment. The SDIO I / F 204 according to the second embodiment has, for example, a source address specification unit 901 and an address filter unit 902 in addition to the configuration of the SDIO I / F 204 according to the first embodiment described in FIG.
[0089] 4, the source address identifying unit 901 acquires "Frame Control" 407, "Address1" 405, "Address3" 406, etc. from a wireless LAN packet 400 as shown in Fig. 4. The Frame Control includes information indicating whether the source is wireless or wired, and based on this information, the source address identifying unit 901 identifies whether Address1 or Address3 is the source address. In addition, the source address identifying unit 901 notifies the address filter unit 902 of the identified source address (source MAC address).
[0090] The address filter unit 902 obtains one or more MAC addresses to be filtered from the register 311. If the source address notified from the source address identification unit 901 is included in the one or more MAC addresses to be filtered, the address filter unit 902 outputs a notification signal indicating that the wireless LAN packet is a filtering target to the data transfer unit 310.
[0091] When the data transfer unit 310 receives a notification signal from the address filter unit 902 indicating that the WLAN packet is subject to filtering, it discards the WLAN packet stored in the FIFO 306 and stops transferring the WLAN packet.
[0092] <Processing flow> Fig. 10 is a flowchart showing an example of a received data transfer process according to the second embodiment. Among the processes shown in Fig. 10, the processes in steps S801 to S806 are similar to the received data transfer process according to the first embodiment described in Fig. 8, so the following mainly describes the differences from the first embodiment. Also, it is assumed that at the start of the process in Fig. 10, one or more MAC addresses to be filtered have already been registered in the register 311.
[0093] In step S1001, the source address specification unit 901 of the SDIO I / F 204 acquires information such as Frame Control, Address 1, Address 3, etc. of the wireless LAN packet from the data selector 302.
[0094] In step S1002, the source address identifying unit 901 identifies the source address (source MAC address) of the wireless LAN packet based on the acquired Frame Control, Address 1, and Address 3. For example, the source address identifying unit 901 refers to the Frame Control to determine whether the source of the wireless LAN packet is wired or wireless, and identifies whether Address 1 or Address 3 is the source address based on the result.
[0095] In step S1003, address filter unit 902 determines whether the source address identified by source address identification unit 901 is a filtering target. For example, address filter unit 902 acquires one or more MAC addresses to be filtered that are registered in register 311. Furthermore, if the source address identified by source address identification unit 901 is included in one or more MAC addresses to be filtered, address filter unit 902 determines that the source address is a filtering target. On the other hand, if the source address identified by source address identification unit 901 is not included in one or more MAC addresses to be filtered, address filter unit 902 determines that the source address is not a filtering target.
[0096] If the source address identified by the source address identification unit 901 is not subject to filtering, the address filter unit 902 shifts the process to step S806. On the other hand, if the source address identified by the source address identification unit 901 is subject to filtering, the address filter unit 902 shifts the process to step S1004.
[0097] In step S1004, the data transfer unit 310 stops transferring the wireless LAN packet. For example, the data transfer unit 310 discards (deletes) the wireless LAN packet stored in the FIFO 306.
[0098] By performing the above process, for example, by discarding unnecessary wireless LAN packets, each system bus can be effectively freed up and data transfer efficiency can be improved.
[0099] As described above, according to each embodiment of the present invention, in an electronic device that receives reception data including packets of multiple communication methods from a wireless LAN module, the load on the processor that processes the received data can be reduced, thereby preventing data from being lost.
[0100] <Supplementary Information> Each function of each embodiment described above can be realized by one or more processing circuits. Here, the term "processing circuit" in this specification includes a processor programmed to execute each function by software, such as a processor implemented by an electronic circuit, and a device such as an ASIC (Application Specific Integrated Circuit), a DSP (digital signal processor), an FPGA (field programmable gate array), or a conventional circuit module designed to execute each function described above. [Explanation of symbols]
[0101] 1. Image forming device (an example of electronic equipment) 10 Main System 11 CPU (Processor) 100 Subsystems 303 Data length acquisition unit 304 Communication method identification section 307 Address control section A 308 Address control section B 309 Selection Section 310 Data Transfer Unit 311 Register 511 First Memory Area 512 Second Memory Area 602 Transfer control section 902 Address filter section [Prior art documents] [Patent documents]
[0102] [Patent Document 1] JP 2017-010272 A
Claims
1. A wireless LAN module having an SDIO interface; a subsystem for receiving reception data including wireless LAN packets of a plurality of communication methods from the wireless LAN module; a main system including a processor for processing the received data; Equipped with The subsystem comprises: an SDIO control unit that executes a multi-block read of the received data from the wireless LAN module; a data length acquisition unit that acquires a data length of the wireless LAN packet from a header of the wireless LAN packet included in the received data; a communication method identification unit that identifies a communication method of the wireless LAN packet based on a MAC address included in the wireless LAN packet; a data transfer unit that transfers the wireless LAN packet to a different storage area for each communication method based on a data length of the wireless LAN packet and a communication method of the wireless LAN packet; a transfer control unit which, when the transfer of the wireless LAN packets by the data transfer unit is completed, transfers, to the main system, the wireless LAN packets stored in different storage areas for the communication methods, with priority given to the wireless LAN packets of a communication method having a higher priority; An electronic device having
2. The electronic device according to claim 1 , wherein the subsystem comprises a selection unit that selects the storage area to which the wireless LAN packet is to be transferred in accordance with a communication method of the wireless LAN packet.
3. 3. The electronic device according to claim 1, wherein the subsystem comprises an address control unit that determines a transfer destination address of the wireless LAN packet based on a data length of the wireless LAN packet and a communication method of the wireless LAN packet.
4. The electronic device according to claim 3 , wherein the data transfer section transfers the wireless LAN packet to the storage area when a transfer destination of the wireless LAN packet is determined.
5. The electronic device according to claim 1 , wherein the transfer control unit transfers the wireless LAN packets stored in the storage area to the main system for each wireless LAN packet.
6. a register for storing one or more MAC addresses to be filtered; an address filter unit that discards the wireless LAN packet when a source address of the wireless LAN packet is included in one or more MAC addresses that are subject to the filtering; The electronic device according to claim 1 , further comprising:
7. the electronic device is an image forming device, The electronic device according to claim 1 , wherein the main system executes an image forming process based on the wireless LAN packets transferred from the subsystem.
8. The electronic device according to claim 1 , wherein the data length acquisition unit, the communication method identification unit, and the data transfer unit are configured as hardware.
9. An electronic device including a wireless LAN module having an SDIO interface, a subsystem for receiving received data including wireless LAN packets of a plurality of communication methods from the wireless LAN module, and a main system including a processor for processing the received data, the subsystem comprising: A process of executing a multi-block read of the received data from the wireless LAN module; A process of acquiring a data length of the wireless LAN packet from a header of the wireless LAN packet included in the received data; A process of identifying a communication method of the wireless LAN packet based on a MAC address included in the wireless LAN packet; a transfer process of transferring the wireless LAN packet to a different storage area for each communication method based on a data length of the wireless LAN packet and a communication method of the wireless LAN packet; a process of transferring, when the transfer of the wireless LAN packets by the transfer process is completed, the wireless LAN packets stored in different storage areas for the communication methods to the main system in a manner that prioritizes the wireless LAN packets of a communication method having a higher priority; A method for controlling an electronic device.
10. A subsystem for receiving received data including wireless LAN packets of a plurality of communication methods from the wireless LAN module, and a main system including a processor for processing the received data, of an electronic device, comprising: A process of executing a multi-block read of the received data from the wireless LAN module; A process of acquiring a data length of the wireless LAN packet from a header of the wireless LAN packet included in the received data; A process of identifying a communication method of the wireless LAN packet based on a MAC address included in the wireless LAN packet; a transfer process of transferring the wireless LAN packet to a different storage area for each communication method based on a data length of the wireless LAN packet and a communication method of the wireless LAN packet; a process of transferring, when the transfer of the wireless LAN packets by the transfer process is completed, the wireless LAN packets stored in different storage areas for the communication methods to the main system in a manner that prioritizes the wireless LAN packets of a communication method having a higher priority; A program to execute.
Citation Information
Patent Citations
Information processing apparatus, information processing method, and information processing program
JP2009177788A
Memory system
JP2014010708A
Electronic device, control method thereof, and program
JP2017010272A
Communication device, communication device control method, and program
JP2017010323A
Method for wireless communication and wireless transmit / receive unit
US20110321126A1