Keyboard device and electronic device connected to keyboard device

The keyboard device addresses key input errors due to EFT/Burst events by generating and transmitting data with different error correction rates, ensuring reliable key input data transmission to electronic devices.

WO2025110715A1PCT designated stage expired Publication Date: 2025-05-30SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/018401
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-28
Filing Date
2024-11-20
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

Existing keyboard devices and electronic devices face challenges in maintaining accurate key input data transmission due to potential electrical instabilities caused by Electric Fast Transient (EFT)/Burst events, which can lead to key input errors.

Method used

The keyboard device includes a key array, power terminal, communication terminal, ground terminal, and processors that generate first and second encoded data with different error correction rates. When connected to an electronic device, the keyboard device transmits input data through 1-wire communication, allowing the electronic device to decode and validate key inputs using both error correction codes.

Benefits of technology

This solution effectively prevents key input errors caused by EFT/Burst events by using data with varying error correction rates, ensuring reliable key input data transmission between the keyboard device and electronic device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024018401_30052025_PF_FP_ABST
    Figure KR2024018401_30052025_PF_FP_ABST
Patent Text Reader

Abstract

A keyboard device disclosed in the present document may comprise: a key array; a power terminal; a communication terminal; a ground terminal; a memory for storing one or more computer programs; and one or more processors. The keyboard device can detect an electrical connection to an external electronic device through the power terminal, the communication terminal and the ground terminal, receive a key input through the key array if electrically connected to the external electronic device, generate, in response to the key input, first encoded data with a first error correction rate and second encoded data with a second error correction rate that is greater than the first error correction rate, generate input data by combining the first encoded data with the second encoded data, and transmit the input data to the external electronic device through the communication terminal.
Need to check novelty before this filing date? Find Prior Art

Description

Keyboard devices and electronic devices connected to the keyboard devices

[0001] Embodiments disclosed in this document relate to a keyboard device and an electronic device connecting the keyboard device.

[0002] Electronic devices (or portable communication devices) such as smartphones and tablet PCs can be connected to and used with a keyboard device. The keyboard device can be a device that receives input from a user pressing keys, such as letters, numbers, or symbols, and transmits information about the keys pressed to the electronic device. Based on the information received from the keyboard device, the electronic device can display information corresponding to the keys on its display or perform related functions.

[0003] A keyboard device may include a touchpad. For example, the keyboard device may include a touchpad located below the keypad (closer to the user). The electronic device may move a cursor displayed on the display in response to movement of the user's touch input generated on the touchpad.

[0004] A keyboard device can be used by wirelessly connecting to an electronic device, or by physically contacting one side of the electronic device. For example, the keyboard device can be physically connected to the electronic device through power and communication terminals and electrically connected. The keyboard device can transmit data related to key input to the electronic device via 1-wire communication.

[0005] A keyboard device according to one embodiment may include a key array, a power terminal, a communication terminal, a ground terminal, a memory storing one or more computer programs, and one or more processors communicatively connected to the key array, the power terminal, the communication terminal, the ground terminal, and the memory. The one or more computer programs store computer-executable instructions, and the instructions, when individually or collectively executed by the one or more processors, cause the keyboard device to detect an electrical connection with an external electronic device through the power terminal, the communication terminal, and the ground terminal, receive a key input through the key array when electrically connected to the external electronic device, generate first encoded data having a first error correction rate in response to the key input, and second encoded data having a second error correction rate greater than the first error correction rate, generate input data by combining the first encoded data and the second encoded data, and transmit the input data to the external electronic device through the communication terminal.

[0006] An electronic device according to one embodiment may include a display, a power terminal, a communication terminal, a ground terminal, a memory storing one or more computer programs, and one or more processors communicatively connected to the power terminal, the communication terminal, the ground terminal, and the memory. The one or more computer programs may store computer-executable instructions, and the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to detect an electrical connection with an external keyboard device through the power terminal, the communication terminal, and the ground terminal, receive input data from the external keyboard device when electrically connected to the external keyboard device, separate a first error correction code having a first error correction rate and a second error correction code having a second error correction rate from the input data, decode the first error correction code within a specified time interval, and output key data based on the first data when a first key value is valid, and output key data based on the second data when the first key value is invalid within the specified time interval.

[0007] FIG. 1 is a block diagram of an electronic device within a network environment according to various embodiments.

[0008] Figure 2 illustrates an electronic device and a keyboard device according to one embodiment.

[0009] FIG. 3 is a block diagram of an electronic device and a keyboard device according to one embodiment.

[0010] Figure 4 is a flowchart illustrating the operation of a keyboard processor according to one embodiment.

[0011] FIG. 5 is a block diagram of a keyboard processor and a terminal processor according to one embodiment.

[0012] FIG. 6 illustrates the combination of first encoding data and second encoding data in a keyboard processor according to one embodiment.

[0013] Figure 7 is a flowchart showing the operation of a terminal processor according to one embodiment.

[0014] Figure 8 illustrates the processing of input data within an electronic device in one embodiment.

[0015] Figure 9 illustrates a time window of a terminal processor according to one embodiment.

[0016] FIG. 10 is a block diagram of a keyboard device including an electronic device and a touch pad according to one embodiment.

[0017] Fig. 11 is a flowchart showing dynamic change of error correction rate according to one embodiment.

[0018] Figure 12 illustrates dynamic changes in error correction rate and time window according to one embodiment.

[0019] Fig. 13 is a block diagram of a keyboard device to which an RTOS is applied according to one embodiment.

[0020] Figure 14 illustrates input data generated by a keyboard processor to which an RTOS is applied according to one embodiment.

[0021] In connection with the description of the drawings, the same or similar reference numerals may be used for identical or similar components.

[0022] Hereinafter, various embodiments of this document will be described with reference to the attached drawings. However, this is not intended to limit the technology described in this document to specific embodiments, and it should be understood that various modifications, equivalents, and / or alternatives of the embodiments of this document are included. In connection with the description of the drawings, similar reference numerals may be used for similar components.

[0023]

[0024] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to various embodiments. Referring to FIG. 1, in the network environment (100), the electronic device (101) may communicate with the electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of the electronic device (104) or the server (108) via a second network (199) (e.g., a long-range wireless communication network). In one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).

[0025] The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or operations. According to one embodiment, as at least a part of the data processing or operations, the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the commands or data stored in the volatile memory (132), and store result data in a non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or an auxiliary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with the main processor (121). For example, when the electronic device (101) includes the main processor (121) and the auxiliary processor (123), the auxiliary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a given function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as a part thereof.

[0026] The auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, in the electronic device (101) itself where artificial intelligence is performed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.

[0027] The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or non-volatile memory (134).

[0028] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).

[0029] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).

[0030] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.

[0031] The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. According to one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.

[0032] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).

[0033] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.

[0034] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

[0035] The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

[0036] The haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. According to one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

[0037] The camera module (180) can capture still images and videos. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.

[0038] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented as, for example, at least a part of a power management integrated circuit (PMIC).

[0039] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0040] The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).

[0041] The wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.

[0042] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199), may be selected from the plurality of antennas, for example, by the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device via the at least one selected antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).

[0043] According to various embodiments, the antenna module (197) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.

[0044] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).

[0045] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.

[0046]

[0047] Figure 2 illustrates an electronic device and a keyboard device according to one embodiment.

[0048] Referring to FIG. 2, an electronic device (201) (e.g., the electronic device (101) of FIG. 1) may include a housing (205) and a display (330) (e.g., the display module (160) of FIG. 1). The electronic device (201) may include various components (e.g., a processor (e.g., the processor (120) of FIG. 1), a memory (e.g., the memory (130) of FIG. 1), a printed circuit board, a camera module (e.g., the camera module (180) of FIG. 1), a communication circuit (e.g., the communication module (190) of FIG. 1)) inside the housing (205). For example, the electronic device (201) may be a tablet PC.

[0049] The keyboard device (202) may be a device that receives an input from a user pressing a key such as a letter, number, or symbol, and transmits information about the key pressed by the user to the electronic device (201). Based on the information received from the keyboard device (202), the electronic device (201) may display text corresponding to the key entered by the user on the display (330) or perform a function related to the entered key. For example, the keyboard device (202) may be a book cover including a keyboard function.

[0050] The keyboard device (202) can be used by being physically coupled and in contact with the electronic device (201). For example, one side of the electronic device (201) can be physically coupled (e.g., magnetic coupling) to one side of the keyboard device (202) and electrically connected (e.g., contact between terminals).

[0051] According to one embodiment, the electronic device (201) may include a first coupling member (210), a first power terminal (220), a first ground terminal (230), and a first communication terminal (240) configured to be coupled or connected to a keyboard device (202) on one side. In addition, the keyboard device (202) may include a second coupling member (260), a second power terminal (270), a second ground terminal (280), and a second communication terminal (290) configured to be coupled or connected to the electronic device (201) on one side.

[0052] The first coupling member (210) can be coupled to the second coupling member (260) by magnetic force. For example, one of the first coupling member (210) and the second coupling member (260) can be a magnet, and the other can be implemented with a metal material. As another example, the first coupling member (210) and the second coupling member (260) can each be a magnet, and can be arranged so that their different poles face each other.

[0053] The first coupling member (210) and the second coupling member (260) may each be plural, and may be arranged in the same number. When the first coupling member (210) and the second coupling member (260) are coupled, the first power terminal (220), the first ground terminal (230), and the first communication terminal (240) may be in contact with the second power terminal (270), the second ground terminal (280), and the second communication terminal (290), respectively.

[0054] The electronic device (201) can supply a power signal to the keyboard device (202) through the first power terminal (220) and the second power terminal (270). Through the first ground terminal (230) and the second ground terminal (280), the ground of the keyboard device (202) can be integrated with the ground of the electronic device (201).

[0055] The electronic device (201) can perform 1-wire communication with the keyboard device (202) via the first communication terminal (240) and the second communication terminal (290). The 1-wire communication may be a half-duplex bidirectional communication. For example, when a user presses a key of the key array (380), the keyboard device (202) can transmit key data and error correction data to the electronic device (201) via 1-wire communication.

[0056] According to one embodiment, when an Electric Fast Transient (EFT) / Burst related to power is applied to an electronic device (201) or a keyboard device (202) at any time, both the first power terminal (220) of the electronic device (201) and the second power terminal (270) of the keyboard device (202) may become momentarily unstable. Accordingly, a serious error in data related to key input may occur. The electronic device (201) or the keyboard device (202) can prevent key input errors due to EFT / Burst by using data having a plurality of different error correction rates. Additional information regarding the use of data having a plurality of different error correction rates may be provided through the following FIGS. 3 to 14.

[0057] Although not shown in FIG. 2, the keyboard device (202) may include a touch pad. When a user input occurs on the touch pad, the keyboard device (202) may transmit data corresponding to the user's touch input to the electronic device (201). The electronic device (201) may move a cursor displayed on the display (330) in response to the touch input.

[0058]

[0059] FIG. 3 is a block diagram of an electronic device and a keyboard device according to one embodiment.

[0060] Figure 3 illustrates a configuration related to key input, but is not limited thereto.

[0061] Referring to FIGS. 2 and 3, the electronic device (201) may include a processor (310), a power supply (320), and a display (330).

[0062] A processor (e.g., processor (120) of FIG. 1) (hereinafter, terminal processor) (310) can perform various operations necessary for the operation of the electronic device (201). For example, the terminal processor (310) may be an application processor (AP).

[0063] A power supply (e.g., power management module (188) of FIG. 1) (320) can supply power required to drive an electronic device (201). The power supply (320) can be connected to a battery or an external power supply. The power supply (320) can supply power to a keyboard device (202) via a first power terminal (220) and a second power terminal (270) (e.g., Vdd = 5 V).

[0064] A display (e.g., a display module (160) of FIG. 1) (330) can visually display various information, such as text, images, or icons. For example, the display (330) can display corresponding text when one of the key arrays (380) of the keyboard device (202) is pressed.

[0065] The keyboard device (202) may include a processor (360), a voltage comparator (370), a key array (380), and a touch pad (390).

[0066] The processor (hereinafter, keyboard processor) (360) can perform operations related to key input or touch input. For example, the keyboard processor (360) may be a microcontroller unit (MCU).

[0067] The keyboard processor (360) can receive and encode data regarding a key pressed by a user from the key array (380). The keyboard processor (360) can transmit the encoded key data to the electronic device (201). When a touch input occurs on the touch pad (390), the keyboard processor (360) can transmit data corresponding to the touch input to the electronic device (201).

[0068] The voltage comparator (370) may include a first input (+ input) that receives a power signal from a second power terminal (270) and a second input (- input) that inverts and receives the power signal from the second power terminal (270). The voltage comparator (370) may compare the first input and the second input and transmit a result value to the keyboard processor (360). The keyboard processor (360) may detect whether EFT / B is applied based on the result value transmitted from the voltage comparator (370).

[0069] According to one embodiment, the keyboard processor (360) can generate error correction data by a designated coding technique, for example, the RS (Reed Solomon) coding technique, in which the original data is preserved. When an Electric Fast Transient (EFT) / Burst related to power is applied at any time, both the first power terminal (220) of the electronic device (201) and the second power terminal (270) of the keyboard device (202) may become momentarily unstable. Accordingly, a serious error in data related to key input may occur. The electronic device (201) or the keyboard device (202) can generate data having multiple different error correction rates by using the RS coding technique. The RS coding technique can correct errors for burst errors by using the properties of polynomials. For example, the RS coding technique can include Bose-Chaudhuri-Hocquenghem (BCH) coding. BCH coding can increase the error correction rate if the coefficient / order in front of the original key data is increased, and can decrease the error correction rate if the coefficient / order in front of the original key data is decreased.

[0070]

[0071] Figure 4 is a flowchart illustrating the operation of a keyboard processor according to one embodiment.

[0072] Referring to FIGS. 2, 3, and 4, in operation 410, the keyboard processor (360) can check whether the keyboard device (202) is electrically connected to the electronic device (201). For example, in FIG. 2, when the first coupling member (210) and the second coupling member (260) are coupled, the first power terminal (220), the first ground terminal (230), and the first communication terminal (240) can come into contact with the second power terminal (270), the second ground terminal (280), and the second communication terminal (290), respectively. The keyboard processor (360) can perform 1-wire communication with the terminal processor (310) of the electronic device (201) through the first communication terminal (240) and the second communication terminal (290).

[0073] In operation 420, the keyboard processor (360) may receive a user input (hereinafter, key input) of pressing at least one key from the key array (380). Hereinafter, a case in which the 'A' key is pressed is discussed as an example, but is not limited thereto.

[0074] In operation 430, the keyboard processor (360) may generate first encoded data having a first error correction rate and second encoded data having a second error correction rate in response to a key input. For example, the first error correction rate may be 10%, and the second error correction rate may be 30%.

[0075] In operation 440, the keyboard processor (360) may generate input data by combining the first encoding data and the second encoding data. The keyboard processor (360) may separate error correction data excluding the header and key data from the second encoding data. The keyboard processor (360) may generate input data by combining the error correction data of the first encoding data and the second encoding data (see FIGS. 5 and 6).

[0076] In operation 450, the keyboard processor (360) can transmit input data to the electronic device (201) through a 1-wire communication channel formed through the first communication terminal (240) and the second communication terminal (290).

[0077] According to one embodiment, the terminal processor (310) may receive input data, primarily process key input by reflecting a first error correction rate (e.g., 10%), and, if the key value according to the first error correction rate is invalid, secondarily process the key input by reflecting a second error correction rate (e.g., 30%). Additional information regarding the operation of the terminal processor (310) may be provided through FIG. 7.

[0078]

[0079] Figure 5 is a block diagram of a keyboard processor and a terminal processor according to one embodiment. Figure 5 is illustrative and not limiting. Furthermore, Figure 5 divides the internal configurations of the keyboard processor and the terminal processor by function, but is not limited thereto.

[0080] Referring to FIGS. 4 and 5, the keyboard processor (360) may include an input handler (361), a first encoder (363), a second encoder (364), and a coupling unit (365). The internal configuration of the keyboard processor (360) may be classified as software.

[0081] The input handler (361) can interface with a key array (380) or a touch pad (390). For example, the input handler (361) can receive data regarding key input from the key array (380) or data regarding touch input from the touch pad (390).

[0082] The first encoder (363) can generate first encoded data having a first error correction rate based on data regarding key input. For example, the first error correction rate may be a relatively low value (e.g., 10%).

[0083] The second encoder (364) can generate second encoded data having a second error correction rate based on data regarding key input. For example, the second error correction rate may be a relatively high value (e.g., 30%).

[0084] The combining unit (or transmitting unit) (365) can generate input data by combining first encoding data having a first error correction rate and second encoding data having a second error correction rate. For example, the combining unit (365) can separate an error correction code excluding a header and key data from the second encoding data. The combining unit (365) can generate input data by combining the error correction codes of the first encoding data and the second encoding data (see FIG. 6). The combining unit (365) can transmit the generated input data to the terminal processor (310) via 1-Wire communication.

[0085] The terminal processor (310) may include a receiving unit (311), a recombining unit (312), and a decoder (313). The internal configuration of the terminal processor (310) may be classified as software.

[0086] The receiving unit (311) can receive input data from the keyboard processor (360) of the keyboard device (202) via 1-Wire communication. The input data may be data in which both the first error correction rate and the second error correction rate are reflected.

[0087] The recombining unit (312) can separate a first error correction code corresponding to a first error correction rate and a second error correction code corresponding to a second error correction rate from input data.

[0088] The decoder (313) can decode the first error correction code and the second error correction code. The terminal processor (310) primarily processes key input by reflecting the first error correction rate, and if the key value according to the first error correction rate is invalid, the terminal processor (310) can secondarily process key input by reflecting the second error correction rate (see FIGS. 7 and 9).

[0089]

[0090] FIG. 6 illustrates the combination of first encoding data and second encoding data in a keyboard processor according to one embodiment.

[0091] Referring to FIGS. 5 and 6, the first encoder (363) of the keyboard processor (360) may generate first encoded data (610) having a first error correction rate based on data regarding key input. The first encoded data (610) may include a header (611), key data (612), and a first error correction code (613). The first error correction code (613) may be a Reed Solomon (RS) code set to have a first error correction rate that is a relatively low value (e.g., 10%).

[0092] The second encoder (364) of the keyboard processor (360) may generate second encoded data (620) having a second error correction rate based on data regarding key input. The second encoded data (620) may include a header (621), key data (622), and a second error correction code (623). The header (621) and key data (622) of the second encoded data (620) may be identical to the header (611) and key data (612) of the first encoded data (610), respectively. The second error correction code (623) may be a Reed Solomon (RS) code set to have a second error correction rate that is a relatively high value (e.g., 30%).

[0093] The combination unit (365) of the keyboard processor (360) can generate input data (630) by combining the first encoding data (610) and the second encoding data (620). The combination unit (365) can remove the header (621) and the key data (622) from the second encoding data (620) and separate the second error correction code (623). The combination unit (365) can generate input data (630) by combining the second error correction code (623) of the first encoding data (610) and the second encoding data (620). Accordingly, the input data (630) can include the header (611), the key data (612), the first error correction code (613), and the second error correction code (623).

[0094] The coupling unit (365) can transmit input data (630) to the terminal processor (310) via 1-Wire communication. The terminal processor (310) can determine the validity of the key value using the first error correction code (613) and the second error correction code (623). The terminal processor (310) can receive the input data and primarily determine the validity of the key value using the first error correction code (613). If the key value using the first error correction code (613) is invalid, the terminal processor (310) can determine the validity of the key value using the second error correction code (623). Additional information regarding the operation of the terminal processor (310) can be provided through FIG. 7.

[0095]

[0096] Figure 7 is a flowchart showing the operation of a terminal processor according to one embodiment.

[0097] Referring to FIGS. 2, 5, and 7, in operation 710, the terminal processor (310) can check whether the electronic device (201) is electrically connected to the keyboard device (202). For example, in FIG. 2, when the first coupling member (210) and the second coupling member (260) are coupled, the first power terminal (220), the first ground terminal (230), and the first communication terminal (240) can come into contact with the second power terminal (270), the second ground terminal (280), and the second communication terminal (290), respectively. The terminal processor (310) can perform 1-wire communication with the keyboard processor (360) of the keyboard device (302) through the first communication terminal (240) and the second communication terminal (290).

[0098] In operation 720, when the electronic device (201) is electrically connected to the keyboard device (202), the terminal processor (310) may receive input data from the keyboard device (202). The input data may be data in which both the first error correction rate and the second error correction rate are reflected.

[0099] In operation 730, the terminal processor (310) may generate first data by maintaining a first error correction code corresponding to a first error correction rate in input data and removing a second error correction code corresponding to a second error correction rate. In addition, the terminal processor (310) may generate second data by removing the first error correction code in the input data and maintaining the second error correction code. The first error correction code may correspond to a first error correction rate (e.g., 10%). The second error correction code may correspond to a second error correction rate (e.g., 30%). The process of generating the first data and the second data by the RS (Reed Solomon) code may be a simple cutting operation, and the processing time may be relatively fast.

[0100] According to one embodiment, the terminal processor (310) may sequentially generate the first data and the second data, or may simultaneously generate the first data and the second data through multitasking / multiprocessing. For example, the terminal processor (310) may perform an operation of separating the second error correction code while decoding the first error correction code is performed.

[0101] In operation 740, the terminal processor (310) can decode the first error correction code to check whether the key value (hereinafter, the first key value) by the first data is valid.

[0102] In operation 750, if the first key value is valid (operation 740-YES), the terminal processor (310) can output key data corresponding to the first key value to the display (330) within a specified time interval.

[0103] In operation 760, if the first key value is invalid (operation 740-NO), the terminal processor (310) can decode the second error correction code to check whether the key value by the second data (hereinafter, the second key value) is valid.

[0104] In operation 770, if the second key value is valid (operation 760-YES), the terminal processor (310) can output key data corresponding to the second key value to the display (330) within a specified time interval.

[0105] In one embodiment, if the second key value is invalid (action 760-NO), no further action may be taken. Alternatively, the terminal processor (310) may issue a user notification or wait for the next input without a separate user notification.

[0106]

[0107] Figure 8 illustrates the processing of input data within an electronic device in one embodiment.

[0108] Referring to FIG. 8, the terminal processor (310) may include a keyboard device driver (810), a framework (820), and an application (830).

[0109] The keyboard device driver (810) can perform a communication interface with the keyboard device (202). The keyboard device driver (810) can receive input data with a first error correction rate and a second error correction rate reflected thereon from the keyboard device (202).

[0110] The framework (820) may include classes and libraries for the operation of the application (830).

[0111] The application (830) can process input data transmitted from the framework (820) and output text corresponding to the input data on the display. The application (830) receives the input data, primarily processes key input by reflecting a first error correction rate (e.g., 10%), and if the key value according to the first error correction rate is invalid, secondarily processes the key input by reflecting a second error correction rate (e.g., 30%).

[0112] According to one embodiment, at least some operations relating to processing of input data may be performed via a keyboard device driver (810) or framework (820).

[0113]

[0114] Figure 9 illustrates a time window of a terminal processor according to one embodiment.

[0115] Referring to FIG. 9, the terminal processor (310) can set a time window (△t) related to a time limit for processing key input. For example, the time window (△t) can be set to 5 ms.

[0116] In the first time window (910), when a key input occurs in the keyboard device (202) (911), the terminal processor (310) can receive input data corresponding to the key input. The terminal processor (310) can decode the first error correction code among the input data to determine whether the first key value is valid (915). If the first key value is valid (916), the terminal processor (310) can output the first key value (917).

[0117] In the second time window (920), when a key input occurs in the keyboard device (202) (921), the terminal processor (310) can receive input data corresponding to the key input. The terminal processor (310) can decode a first error correction code among the input data to determine whether the first key value is valid (925). If the first key value is invalid (926), the terminal processor (310) can decode a second error correction code to determine whether the second key value is valid (928). If the second key value is valid (929), the second key value can be output (930).

[0118] According to one embodiment, the terminal processor (310) may set the first error correction rate and the second error correction rate so that the output of the key value by the first error correction code or the second error correction code can be performed within a specified time window (e.g., 5 ms). For example, when the RS (Reed Solomon) code order increases, the error correction rate may increase, but the decoding time may increase. When the RS (Reed Solomon) code order decreases, the error correction rate may decrease, but the decoding time may decrease. The first error correction rate and the second error correction rate may be set by reflecting the encoding speed of the specified keyboard device (202) and the decoding speed of the electronic device (101).

[0119] According to one embodiment, the terminal processor (310) or the keyboard processor (360) can dynamically change the first error correction rate and the second error correction rate according to a power-related specified event.

[0120] For example, if the possibility of an EFT (Electric Fast Transient) / Burst occurring is low, or the number of output changes of the voltage comparator (370) during a specified period of time is less than a specified value, the terminal processor (310) or the keyboard processor (360) may process key inputs while reflecting the first error correction rate and without reflecting the second error correction rate. This may reduce the processing time for key inputs.

[0121] For another example, when a fast charger is connected or the number of output changes of the voltage comparator (370) exceeds a specified value during a specified period of time, the key input may be processed by reflecting both the first error correction rate and the second error correction rate. In this case, the first error correction rate and the second error correction rate may be set to a level that can be performed within a specified time window (e.g., 5 ms).

[0122] According to one embodiment, the terminal processor (310) or the keyboard processor (360) may predefine and store a mutual protocol for generating and processing input data. For example, the mutual protocol may include 1) the total length of 1-wire data, 2) polynomial configuration information of an RS (Reed Solomon) encoder, and 3) the length of error correction data. The terminal processor (310) or the keyboard processor (360) may update the mutual protocol in real time according to an EFT (Electric Fast Transient) / Burst occurrence situation.

[0123]

[0124] FIG. 10 is a block diagram of a keyboard device including an electronic device and a touch pad according to one embodiment.

[0125] Referring to FIG. 10, the keyboard device (1002) may include a keyboard processor (1060), a voltage comparator (1070), a key array (1080), and a processor for a touch pad (hereinafter, a touch pad processor) (1090).

[0126] The keyboard processor (1060) may include an input handler (1061), a first error rate determination unit (or a first correction rate determination unit) (1062), a first encoder (1063), and a coupling unit (1065). The internal configuration of the keyboard processor (1060) may be classified as software.

[0127] The input handler (1061) may interface with the key array (1080) or the touch pad processor (1090). For example, the input handler (1061) may receive data regarding key input from the key array (1080) or data regarding touch input from the touch pad processor (1090).

[0128] When a key input occurs in the key array (1080), the input handler (1061) can receive key data from the key array (1080). The input handler (1061) can transmit the received key data to the first encoder (1063) through the first error rate determination unit (1062). In addition, the input handler (1061) can transmit the received key data to the second encoder (1092) of the touch pad processor (1090) through the second error rate determination unit (or second correction rate determination unit) (1091). The first encoder (1063) can generate first encoded data having a first error correction rate, and the second encoder (1092) of the touch pad processor (1090) can generate second encoded data having a second error correction rate. For example, the first error correction rate may be 10%, and the second error correction rate may be 30%. The first encoder (1063) of the keyboard processor (1060) and the second encoder (1092) of the touchpad processor (1090) are included in different processors and can operate independently. Accordingly, the encoding process can be performed simultaneously, and compared to FIG. 4, the encoding time can be reduced by up to half.

[0129] According to one embodiment, the input handler (1061) may include a buffer (1061a) that stores second encoding data. The buffer (1061a) may temporarily store second encoding data generated by the touch pad processor (1090).

[0130] The first error rate determination unit (or first correction rate determination unit) (1062) can determine the first error correction rate to be applied to the first encoder (1063). The first error rate determination unit (1062) can determine the degree of the polynomial applied to RS coding. The first error correction rate can be set through the keyboard processor's (1060) own calculation or a control signal received from the terminal processor (1010).

[0131] The first encoder (1063) can generate first encoded data having a first error correction rate based on key data. For example, the first error correction rate may be a relatively low value (e.g., 10%).

[0132] The touch pad processor (1090) can perform operations related to receiving touch input. For example, the touch pad processor (1090) can be a microcontroller unit (MCU). The touch pad processor (1090) can include a second error rate determination unit (or a second correction rate determination unit) (1091) and a second encoder (1092). The internal configuration of the touch pad processor (1090) can be classified as software.

[0133] The touch pad processor (1090) may not perform any processing related to touch input while a key input is occurring. Accordingly, the touch pad processor (1090) may perform an operation to generate second encoding data while a key input is occurring.

[0134] The second error rate determination unit (or second correction rate determination unit) (1091) can determine the second error correction rate to be applied to the second encoder (1092). The second error rate determination unit (1091) can determine the degree of the polynomial applied to RS coding. The second error correction rate can be set through the self-operation of the touch pad processor (1090), the keyboard processor (1060), or a control signal received from the terminal processor (1010).

[0135] The second encoder (1092) can generate second encoded data having a second error correction rate based on key data. For example, the second error correction rate may be a relatively high value (e.g., 30%). The second encoder (1092) can transmit the second encoded data to the input handler (1061). The input handler (1061) can store the second encoded data in a buffer (1061a).

[0136] The combining unit (or transmitting unit) (1065) can generate input data by combining first encoding data having a first error correction rate and second encoding data having a second error correction rate. The combining unit (1065) can utilize the second encoding data stored in the buffer (1061a) of the input handler (1061).

[0137] For example, the combining unit (1065) can separate the error correction code from the second encoding data, excluding the header and key data. The combining unit (1065) can generate input data by combining the error correction codes of the first encoding data and the second encoding data.

[0138] The coupling unit (1065) can transmit the generated input data to the terminal processor (1010) via 1-Wire communication.

[0139] The terminal processor (1010) may include a receiver (1011), a recombiner (1012), and a decoder (1013) connected to a display (1030). The internal configuration of the terminal processor (1010) may be classified as software. The operation of each component of the terminal processor (1010) may be identical to or similar to the operation of the corresponding component of FIG. 4.

[0140]

[0141] Fig. 11 is a flowchart showing dynamic change of error correction rate according to one embodiment.

[0142] Referring to FIGS. 10 and 11, in operation 1110, the keyboard processor (1060) can check whether the keyboard device (1002) is electrically connected to the electronic device (1001). The keyboard processor (1060) may be capable of performing 1-wire communication with the terminal processor (1010) of the electronic device (1001).

[0143] In operation 1120, the keyboard processor (1060) may set the first error correction rate and the second error correction rate to preset default values, respectively. For example, the first error correction rate may be 10%, and the second error correction rate may be 30%.

[0144] At operation 1130, the keyboard processor (1060) may receive a key input from the key array (1080).

[0145] In operation 1140, the keyboard processor (1060) may generate input data based on a first error correction rate of a first default value (e.g., 10%) and a second error correction rate of a second default value (e.g., 30%), and transmit the generated input data to the terminal processor (1010).

[0146] In operation 1150, the keyboard processor (1060) may determine whether a power-related designated event occurs. The power-related designated event may be an event with a high probability of an Electric Fast Transient (EFT) / Burst occurring. For example, the power-related designated event may be a case where the number of output changes of the voltage comparator (1070) within a unit time (e.g., 1 minute) is greater than a designated value, a fast charger is connected to the electronic device (1001), or an abnormal operation of the PMIC is detected.

[0147] According to one embodiment, the keyboard processor (1060) can determine whether a power-related designated event has occurred based on its own detection (detecting the output of the voltage comparator (1070)) or a control signal transmitted from the terminal processor (1010) (e.g., fast charger connection, PMIC failure).

[0148] If no power-related specified event occurs, the keyboard processor (1060) can process the key input based on a first error correction rate of a first default value (e.g., 10%) and a second error correction rate of a second default value (e.g., 30%).

[0149] In operation 1160, when a power-related specified event occurs, the keyboard processor (1060) can change the first error correction rate and the second error correction rate. For example, the first error rate determination unit (1062) and the second error rate determination unit (1091) of FIG. 10 can be instructed to change the error correction rate.

[0150] According to one embodiment, the first error correction rate and the second error correction rate may vary depending on each event. For example, if the number of output changes of the voltage comparator (1070) during a specified period of time is greater than a specified value, the first error correction rate may be changed from the first default value of 10% to 20%, and the second error correction rate may be changed from the second default value of 30% to 40%. For another example, if a fast charger is connected to the electronic device (1001), the first error correction rate may be changed from the first default value of 10% to 30%, and the second error correction rate may be changed from the second default value of 30% to 50%. For another example, if the number of output changes of the voltage comparator (1070) does not occur during a specified period of time, the first error correction rate may be set lower than the first default value, and the second error correction rate may be set lower than the second default value.

[0151] In operation 1170, the keyboard processor (1060) can generate input data based on the changed first error correction rate and the changed second error correction rate and transmit the input data to the terminal processor (1010).

[0152] According to one embodiment, even after the first error correction rate and the second error correction rate are changed, the keyboard processor (1060) can change the first error correction rate and the second error correction rate in real time according to a control signal transmitted from itself or the terminal processor (1010).

[0153] In Fig. 11, changes in the first error correction rate and the second error correction rate according to the occurrence of a power-related designated event are exemplarily illustrated, but are not limited thereto. The first error correction rate and the second error correction rate may be changed regardless of the occurrence of the power-related event. For example, the terminal processor (1010) or the keyboard processor (1060) may change the first error correction rate and the second error correction rate according to conditions such as a change in the state of the electronic device (1001), a change in the state of the keyboard device (1002), or an increase or decrease in the number of times the contamination of key data is detected.

[0154]

[0155] Figure 12 illustrates dynamic changes in error correction rate and time window according to one embodiment.

[0156] Referring to FIG. 12, the terminal processor (1010) or the keyboard processor (1060) can dynamically change the first error correction rate, the second error correction rate, and the size of the time window.

[0157] The first state (1210) may be a state in which the default setting or Electric Fast Transient (EFT) / Burst does not occur for more than a specified time. In the first state (1210), the terminal processor (1010) or the keyboard processor (1060) may display the key value without processing the error correction code. In this case, the time window (Δt) may be set to a relatively short first time (e.g., 1 ms).

[0158] The second state (1220) may be a state in which the possibility of an Electric Fast Transient (EFT) / Burst occurring is relatively normal. For example, the second state (1220) may be a state in which the output of the voltage comparator changes less than a specified number of times during a specified period of time. In the second state (1220), the terminal processor (1010) or the keyboard processor (1060) may set the first error correction rate to 10% and the second error correction rate to 30%.

[0159] The terminal processor (1010) may primarily display a key value based on a first error correction rate, and if the key value is invalid, may secondarily display the key value based on a second error correction rate. In this case, the time window (Δt) may be set to a relatively long second time (e.g., 5 ms).

[0160] The third state (1230) may be a state in which the possibility of an Electric Fast Transient (EFT) / Burst occurring is relatively high. For example, the third state (1230) may be a state in which the output of the voltage comparator changes more than a specified number of times during a specified period of time. In the third state (1230), the terminal processor (1010) or the keyboard processor (1060) may set the first error correction rate to 30% and the second error correction rate to 50%.

[0161] The terminal processor (1010) may primarily display a key value based on a first error correction rate, and if the key value is invalid, may secondarily display the key value based on a second error correction rate. In this case, the time window (Δt) may be set to a relatively long second time (e.g., 5 ms).

[0162]

[0163] Fig. 13 is a block diagram of a keyboard device to which an RTOS is applied according to one embodiment.

[0164] Referring to FIG. 13, the keyboard device (1302) may include a keyboard processor (1360), a voltage comparator (1370), a key array (1380), and a touch pad processor (1390). The keyboard processor (1360) may include an input handler (1361), a first error rate determination unit (1362), a first encoder (1363), and a coupling unit (1364). The touch pad processor (1390) may include a second error rate determination unit (1391) and a second encoder (1392). The operation of the components of FIG. 13 may be the same as or similar to the operation of the corresponding components of FIG. 10.

[0165] The keyboard processor (1360) and the touchpad processor (1390) may each be high-spec MCUs capable of mounting a Real Time Operating System (RTOS). At least some of the components included in the keyboard processor (1360) and the touchpad processor (1390) may be capable of parallel processing of data.

[0166] The keyboard processor (1360) can generate input data by sequentially combining error correction codes having various error correction rates.

[0167] The terminal processor (1310) may include a receiver (1311), a recombiner (1312), and a decoder (1313). The operation of each component of the terminal processor (1310) may be identical or similar to the operation of the corresponding component of FIG. 4.

[0168] The terminal processor (1310) can receive input data in which error correction codes having various error correction rates are sequentially combined. The terminal processor (1310) can determine the level of error correction rate to be applied based on various situations or conditions related to key input or power, and output the key input.

[0169]

[0170] Figure 14 illustrates input data generated by a keyboard processor to which an RTOS is applied according to one embodiment.

[0171] Referring to FIGS. 13 and 14, the keyboard processor (1360) can sequentially combine error correction codes having various error correction rates to generate input data (1410).

[0172] The input data (1410) may include a header (1411), key data (1412), a first error correction code (1413), and a second error correction code (1414).

[0173] The first error correction code (1413) may be generated in the first encoder (1363) of the keyboard processor (1360). The first error correction code (1413) may be set so that a relatively small error correction rate sequentially increases.

[0174] The second error correction code (1414) may be generated by the second encoder (1392) of the touch pad processor (1390). The second error correction code (1414) may be set so that a relatively large error correction rate sequentially increases.

[0175] The terminal processor (1310) can receive input data (1410). The terminal processor (1310) can determine a level to apply an error correction rate based on various situations or conditions related to key input or power, and output a key input. For example, when a high-speed charger is not connected, the terminal processor (1310) can output a key input using at least a portion of the first error correction code (1413). In another example, when a high-speed charger is connected, the terminal processor (1310) can output a key input using at least a portion of the second error correction code (1414). Through this, the terminal processor (1310) can have flexible error correction capabilities in an unpredictable EFT / B situation.

[0176]

[0177] An electronic device may be electrically connected to a keyboard device via power and communication terminals. If a power-related EFT (Electric Fast Transient) / Burst is applied to the keyboard device at any given time, both the electronic device and the keyboard device's power terminals may become momentarily unstable. This may result in serious errors in key input data. For example, if a specific key is pressed and then released, the key input may remain pressed and the corresponding key may be continuously output on the display. In another example, if a specific key is pressed, the corresponding key may not be displayed on the display.

[0178] According to one embodiment, a keyboard device may be connected to an external electronic device. The keyboard device may include a key array, a power terminal, a communication terminal, a ground terminal, and at least one processor. The processor may detect an electrical connection with the external electronic device through the power terminal, the communication terminal, and the ground terminal. When the processor is electrically connected to the external electronic device, the processor may receive a key input through the key array. The processor may generate first encoded data having a first error correction rate and second encoded data having a second error correction rate greater than the first error correction rate in response to the key input. The processor may generate input data by combining the first encoded data and the second encoded data. The processor may transmit the input data to the external electronic device through the communication terminal.

[0179] According to one embodiment, the keyboard device may further include a touch pad that detects touch input. The at least one processor may include a first processor that processes key input through the array, and a second processor that processes touch input through the touch pad.

[0180] In one embodiment, the first processor can generate the first encoded data. The second processor can generate the second encoded data.

[0181] According to one embodiment, the at least one processor can generate the first encoded data and the second encoded data according to a designated coding technique in which original data is preserved.

[0182] According to one embodiment, the at least one processor may generate the first encoded data including a header, key data corresponding to the key input, and a first error correction code corresponding to the first error correction rate. The at least one processor may generate the second encoded data including the header, the key data, and a second error correction code corresponding to the second error correction rate.

[0183] According to one embodiment, the at least one processor can generate the input data including the header, the key data, the first error correction code, and the second error correction code.

[0184] According to one embodiment, the keyboard device may further include a voltage comparator having as a first input a power signal transmitted through the power terminal and having as a second input a signal obtained by inverting the power signal.

[0185] According to one embodiment, the at least one processor can adjust the first error correction rate and the second error correction rate based on the output of the voltage comparator.

[0186] According to one embodiment, the keyboard device may further include a touch pad that detects touch input. The at least one processor may include a first processor of a Real Time Operating System (RTOS) that processes key input through the array, and a second processor of a Real Time Operating System (RTOS) that processes touch input through the touch pad.

[0187] According to one embodiment, the at least one processor can adjust the first error correction rate and the second error correction rate based on a control signal transmitted from the external electronic device.

[0188] According to one embodiment, the at least one processor may receive the control signal when a power supply is connected to the external electronic device.

[0189] An electronic device according to one embodiment may be connected to an external keyboard device. The electronic device may include a display, a power terminal, a communication terminal, a ground terminal, and at least one processor. The at least one processor may detect an electrical connection between the external keyboard device and the power terminal, the communication terminal, and the ground terminal. The at least one processor may receive input data from the external keyboard device when electrically connected to the external keyboard device. The at least one processor may separate a first error correction code having a first error correction rate and a second error correction code having a second error correction rate from the input data. The at least one processor may decode the first error correction code within a specified time interval, and output key data based on first data if a first key value is valid. The at least one processor may output key data based on second data within the specified time interval if the first key value is invalid.

[0190] According to one embodiment, the at least one processor can generate first data by combining the header, key data, and the first error correction code of the input data.

[0191] The at least one processor can generate second data by combining the header of the input data, the key data, and the second error correction code.

[0192] According to one embodiment, the at least one processor may transmit a control signal to the external keyboard device to change the first error correction rate or the second error correction rate based on a power-related event.

[0193] According to one embodiment, the at least one processor may transmit the control signal to the external keyboard device when an external power supply is connected.

[0194] According to one embodiment, the electronic device may further include a power management circuit. The at least one processor may transmit the control signal to the external keyboard device when an abnormal operation of the power management circuit is detected.

[0195] According to one embodiment, the at least one processor may change the specified time interval when changing the first error correction rate or the second error correction rate.

[0196] According to one embodiment, the at least one processor can decode the second error correction code within the specified time interval and output key data based on the second data if the second key value is valid.

[0197] According to one embodiment, the at least one processor may wait for the specified time interval to elapse if the second key value is invalid.

[0198] A keyboard device according to one embodiment disclosed in this document can prevent key input errors due to EFT / Burst by using data having multiple different error correction rates.

[0199] A keyboard device according to one embodiment disclosed in this document can generate data having multiple different error correction rates by using multiple processors.

[0200] A keyboard device or electronic device according to one embodiment disclosed in this document can dynamically change an error correction rate for key inputs depending on the possibility of occurrence of an Electric Fast Transient (EFT) / Burst. This effectively corrects key input errors due to an Electric Fast Transient (EFT) / Burst.

[0201] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish the corresponding component from other corresponding components and do not limit the corresponding components in any other respect (e.g., importance or order). When a component (e.g., a first) is referred to as "coupled" or "connected" to another (e.g., a second) component, with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.

[0202] The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).

[0203] Various embodiments of the present document may be implemented as software (e.g., program (10)) including one or more instructions stored in a storage medium (e.g., built-in memory (136) or external memory (138)) readable by a machine (e.g., electronic device (101)). For example, a processor (e.g., processor (120)) of the machine (e.g., electronic device (101)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.

[0204] According to one embodiment, the method according to various embodiments disclosed in this document may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store™) or directly between two user devices (e.g., smart phones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.

[0205] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.

Claims

1. For keyboard devices, key array; Power terminal; Communication terminal; Ground terminal; a memory storing one or more computer programs; and comprising one or more processors communicatively connected to the key array, the power terminal, the communication terminal, the ground terminal, and the memory; One or more of the above computer programs store instructions executable by a computer, When the above instructions are individually or collectively executed by one or more processors, the keyboard device, Detecting electrical connections between external electronic devices and the power terminal, the communication terminal and the ground terminal, When electrically connected to the above external electronic device, a key input is received through the key array, Generate first encoded data having a first error correction rate in response to the above key input, and second encoded data having a second error correction rate greater than the first error correction rate, By combining the first encoding data and the second encoding data, input data is generated, A keyboard device that transmits the input data to the external electronic device through the communication terminal.

2. In paragraph 1, Further comprising a touch pad that detects touch input, One or more of the above processors A first processor for processing key input through the above array; and A keyboard device comprising a second processor for processing touch input via the touch pad.

3. In paragraph 2, The first processor generates the first encoded data, The second processor is a keyboard device that generates the second encoding data.

4. In any one of paragraphs 1 to 3, when the instructions are individually or collectively executed by one or more processors, the keyboard device, A keyboard device that generates the first encoded data and the second encoded data according to a designated coding technique in which original data is preserved.

5. In any one of paragraphs 1 to 4, When the above instructions are individually or collectively executed by one or more processors, the keyboard device, Generate the first encoded data including a header, key data corresponding to the key input, and a first error correction code corresponding to the first error correction rate, A keyboard device that generates the second encoded data including the header, the key data, and a second error correction code corresponding to the second error correction rate.

6. In paragraph 5, When the above instructions are individually or collectively executed by one or more processors, the keyboard device, A keyboard device that generates the input data including the header, the key data, the first error correction code, and the second error correction code.

7. In any one of paragraphs 1 to 6, A keyboard device further comprising a voltage comparator having as a first input a power signal transmitted through the power terminal and having as a second input a signal obtained by inverting the power signal.

8. In paragraph 7, When the above instructions are individually or collectively executed by one or more processors, the keyboard device, A keyboard device that adjusts the first error correction rate and the second error correction rate based on the output of the voltage comparator.

9. In any one of paragraphs 1 to 8, Further comprising a touch pad that detects touch input, One or more of the above processors A first processor of a Real Time Operating System (RTOS) that processes key input through the above array; and A keyboard device including a second processor of an RTOS (Real Time Operating System) that processes touch input through the touch pad.

10. In any one of paragraphs 1 to 9, When the above instructions are individually or collectively executed by one or more processors, the keyboard device, A keyboard device that adjusts the first error correction rate and the second error correction rate based on a control signal transmitted from the external electronic device.

11. In paragraph 10, When the above instructions are individually or collectively executed by one or more processors, the keyboard device, A keyboard device that receives the control signal when a power supply is connected to the external electronic device.

12. In electronic devices, display; Power terminal; Communication terminal; Ground terminal; a memory storing one or more computer programs; and comprising one or more processors communicatively connected to the power terminal, the communication terminal, the ground terminal, and the memory; One or more of the above computer programs store instructions executable by a computer, When the above instructions are individually or collectively executed by one or more processors, the electronic device, Detecting an electrical connection through an external keyboard device and the power terminal, the communication terminal and the ground terminal; When electrically connected to the external keyboard device, input data is received from the external keyboard device; In the above input data, a first error correction code having a first error correction rate and a second error correction code having a second error correction rate are separated, Within a specified time interval, decode the first error correction code, and if the first key value is valid, output key data based on the first data, An electronic device that outputs key data based on second data within the specified time period when the first key value is invalid.

13. In paragraph 12, When the above instructions are individually or collectively executed by one or more processors, the electronic device, An electronic device that generates first data by combining the header of the above input data, key data, and the first error correction code.

14. In paragraph 13, When the above instructions are individually or collectively executed by one or more processors, the electronic device, An electronic device that generates second data by combining the header of the input data, the key data, and the second error correction code.

15. In any one of paragraphs 12 to 14, When the above instructions are individually or collectively executed by one or more processors, the electronic device, An electronic device that transmits a control signal to the external keyboard device to change the first error correction rate or the second error correction rate based on a power-related event.

Citation Information

Patent Citations

  • Error code prevention system platform of typewriter

    CN216697209U

  • Method, keyboard, and system for transmitting key characters

    EP1021758B1

  • Wireless keyboard with a built-in web camera

    KR1020020006790A

  • Error detection in physical interfaces for point-to-point communications between integrated circuits

    KR1020130133745A

  • Input system and method for computer

    US20140055360A1