CN108011697B - Data exchange communication method between non-contact card and terminal - Google Patents
Data exchange communication method between non-contact card and terminal Download PDFInfo
- Publication number
- CN108011697B CN108011697B CN201711243910.2A CN201711243910A CN108011697B CN 108011697 B CN108011697 B CN 108011697B CN 201711243910 A CN201711243910 A CN 201711243910A CN 108011697 B CN108011697 B CN 108011697B
- Authority
- CN
- China
- Prior art keywords
- state
- state machine
- block
- data
- ending
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004891 communication Methods 0.000 title claims abstract description 32
- 230000008569 process Effects 0.000 claims abstract description 17
- 230000002159 abnormal effect Effects 0.000 claims abstract description 6
- 230000005540 biological transmission Effects 0.000 claims description 14
- 230000005856 abnormality Effects 0.000 claims description 12
- 230000003993 interaction Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 7
- 230000004044 response Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 241000700159 Rattus Species 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000005672 electromagnetic field Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 208000031088 Reversible cerebral vasoconstriction syndrome Diseases 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/189—Transmission or retransmission of more than one copy of a message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/70—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
- H04B5/72—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/70—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
- H04B5/77—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for interrogation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1848—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1858—Transmission or retransmission of more than one copy of acknowledgement message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The invention discloses a data exchange communication method between a non-contact card and a terminal, and relates to the field of electronic communication. The method for exchanging data between the terminal and the non-contact card is realized based on a state machine, and specifically comprises the following steps: the method for exchanging data between the terminal and the non-contact card is realized based on a state machine, and specifically comprises the following steps: initializing variables, and setting a state machine to be I-BLOCK; judging the state of the state machine, and then finishing data exchange in the state; in the variable initialization process, a first variable is added and recorded as a flag bit, the flag bit is NAD or CID, and a second variable is added and used for recording the total length of data to be sent. The invention adopts a state machine mode to control each link, and realizes data processing and abnormal condition processing of I, R, S and other blocks.
Description
Technical Field
The invention relates to the field of electronic communication, in particular to a data exchange communication method between a non-contact card and a terminal.
Background
In daily life, smart cards and financial cards with non-connection functions are more and more common, and the application range is wider and wider. The communication between the existing terminal and the non-contact card is complex and redundant, so how to simplify the communication between the terminal and the non-contact card and how to avoid the problem that the communication between the terminal and the non-contact card is complex and difficult to maintain is a difficult problem that the field content needs to be overcome.
Disclosure of Invention
The present invention is directed to a method for data exchange communication between a contactless card and a terminal, so as to solve the foregoing problems in the prior art.
In order to achieve the above object, the data exchange communication method between a contactless card and a terminal according to the present invention is implemented based on a state machine, and the method specifically includes: initializing variables, and setting a state machine to be I-BLOCK; judging the state of the state machine, and then finishing data exchange in the state; in the variable initialization process, a first variable is added and recorded as a flag bit, the flag bit is NAD or CID, and a second variable is added and used for recording the total length of data to be sent.
Preferably, when the state machine is in the I-BLOCK state, the data packet to be exchanged is set, and the state machine is set to TRARCV after the data packet is set, more specifically:
a11, judging whether the received data block is a chain block; if yes, putting the PCB code of the initial tape chain transmission I block into the start field of the data block, and entering A12; if not, putting the PCB code without the chain transmission I block into the start field of the data block, and entering A13;
a12, judging whether the terminal supports CID,
if CID is supported, adding CID data into a start field of the data packet, then judging whether NAD exists in the data block, if so, adding NAD data into the start field of the data packet, and then setting an information field in the data packet to obtain the data packet; if not, directly setting an information field in the data packet to obtain the data packet; after the data packet is obtained, subtracting one frame from the total length of the data to be sent, setting the state machine as TRARCV, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
if the data packet does not support CID, directly judging whether NAD exists in the data block, if so, adding NAD data into a starting field of the data packet, and then setting an information field in the data packet to obtain the data packet; if not, directly setting an information field in the data packet to obtain the data packet; after the data packet is obtained, subtracting one frame from the total length of the data to be sent, setting the state machine as TRARCV, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
a13, judging whether the terminal supports CID,
if CID is supported, adding CID data into a start field of the data packet, then judging whether NAD exists in the data block, if so, adding NAD data into the start field of the data packet, and then setting an information field in the data packet to obtain the data packet; if not, directly setting an information field in the data packet to obtain the data packet; after the data packet is obtained, setting the total length of the data to be sent to zero, setting a state machine to be TRARCV, and finishing the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
if the data block does not support CID, judging whether NAD exists in the data block, if so, adding NAD data into a starting field of the data packet, and then setting an information field in the data packet to obtain the data packet; if not, directly setting an information field in the data packet to obtain the data packet; after the data packet is obtained, setting the total length of the data to be sent to zero, setting a state machine to be TRARCV, and finishing the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
Preferably, when the state machine is in the TRARCV state, the timeout time of the contactless card is updated, the data block of the packaged data to be exchanged is sent to the contactless card, and meanwhile, the data block returned by the contactless card is received:
when the received data BLOCK has abnormality, the abnormality comprises one or more of parity check, CRC, overtime and CODERR, re-receiving is started, if the retransmission times or error retransmission times of the S BLOCK is more than 2, the state machine is set to be RCVINV-BLOCK, and the current state is ended; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the retransmission times or the error retransmission times of the S BLOCK is less than or equal to 2 times, judging whether the received abnormal data is a chain BLOCK, if so, closing the retransmission request of the last BLOCK, setting the state machine as ACK-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if not, starting the retransmission request of the last BLOCK, setting the state machine as NACK-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
when the received data block has no abnormality, wherein the abnormality includes one or more of parity check, CRC, timeout and CODERR, the type of the received data block is judged: if the data BLOCK type is I BLOCK, resetting the error count to 0, closing the last BLOCK retransmission request, setting the state machine to REV I-BLOCK, ending the data interaction of the current data BLOCK and continuously judging the state of the state machine; if the data BLOCK type is R BLOCK, resetting the error count to 0, closing the last BLOCK retransmission request, setting the state machine to REVR-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the data BLOCK type is S BLOCK, judging whether the last BLOCK is retransmitted or not, if so, sending the retransmission count of the S BLOCK to be increased once, setting the state machine as REV S-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if not, sending the S BLOCK retransmission count clear 0, setting the state machine as REV S-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the data BLOCK type does not belong to any one of the I BLOCK, the R BLOCK and the S BLOCK, the received data BLOCK is an error data BLOCK, the state machine is set to be RCVINV-BLOCK, and the current state is finished; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
Preferably, when the state machine is in an ACK-BLOCK state or a NACK-BLOCK state, the data packet to be interacted is an R BLOCK, if the terminal supports CID, add CID data to a start field of the data packet, set the state machine to TRARCV, and end the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the terminal does not support CID, setting the state machine as TRARCV, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
Preferably, when the state machine is in the S-BLOCK state, the data packet to be interacted is an S BLOCK, the data of the information field is added to the data packet, the state machine is set to TRARCV, and the current state is ended; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
Preferably, when the state machine is in the REV I-BLOCK state, it is determined whether the BLOCK sequence number of the currently received data BLOCK is correct, and if not, the state machine is set to REV INV-BLOCK; if yes, judging whether the current received data block is a chain block, if not, judging whether the current received data block is a NON-EVENT, setting the state machine to be a NON-EVENT, updating the serial number of the data block, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the current state is the link BLOCK, setting the state machine to be ACK-BLOCK, storing the data of the currently received data BLOCK to a cache, updating the serial number of the data BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
Preferably, when the state machine is in the REV R-BLOCK state, the flag for determining whether the header of the received data BLOCK is NAK or ACK,
if NAK is detected, the current transmitted data is wrong, the state machine is set to REV INV-BLOCK, and the current state is finished; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
if the data block is ACK, judging whether the block sequence number of the data block is correct,
if not, updating the error retransmission count number, judging whether the retransmission count exceeds the limit, if so, setting the state machine to REV INV-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the current state is not beyond the limit, setting the state machine to be I-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
if the current I-BLOCK is correct, judging whether the current I-BLOCK is a chain BLOCK, if the current I-BLOCK is the chain BLOCK, updating the serial number of the data BLOCK, clearing the retransmission times to be 0, setting the state machine to be the I-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if not, setting the state machine to REV INV-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
Preferably, when the state machine is in the REV S-BLOCK state, it is determined whether the header of the received data BLOCK is an S BLOCK,
if not, setting REV INV-BLOCK by the state machine, and finishing the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
if yes, judging whether the information domain of the S BLOCK is correct, if yes, updating the receiving overtime count, setting the state machine to be S-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if not, setting REVINV-BLOCK by the state machine, and finishing the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
More preferably, the information field of the S block is that the S block information field is greater than 0 and equal to or less than 63.
Preferably, when the state machine is in the REV INV-BLOCK state, the terminal resets the contactless card and sets the state machine to NON-EVENT, ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
The invention has the beneficial effects that:
the invention overcomes the defects in the prior art. And controlling each link by adopting a state machine mode. And implementing the code according to the preset specification requirement. Data processing and exception handling for blocks such as I, R, S are achieved.
The method of the invention is easy to understand, maintain and manage, the state machine controls the interaction process, and the adjustment is carried out according to the data fed back by the non-contact card, so that the method is clear in order and easy to understand and maintain. The abnormal processing and normal data interaction logic realization of each link can be fully ensured.
Drawings
Fig. 1 is a general schematic flow chart of a data exchange communication method between a contactless card and a terminal;
FIG. 2 is a first partial flow diagram of FIG. 1;
FIG. 3 is a second partial flow diagram of FIG. 1;
FIG. 4 is a third partial flow diagram of FIG. 1
FIG. 5 is a schematic diagram of the communication flow between the class A contactless card and the terminal in ISO 14443;
FIG. 6 is a schematic diagram of the communication flow between a class B contactless card and a terminal in ISO 14443;
FIG. 7 is a data format of any one of the data blocks of FIG. 1;
FIG. 8 is a PCB encoding table for an I block;
FIG. 9 is a PCB encoding table for the R block;
FIG. 10 is a PCB code table for S (WTX) blocks.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail below with reference to the accompanying drawings. It should be understood that the detailed description and specific examples, while indicating the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention.
Fig. 1 is the most central part of this patent. The method is an implementation mode of the data exchange between the terminal and the card and the exception handling. When the terminal is to send the instruction, the interface is called to exchange data.
FIG. 5 is a schematic diagram of the communication flow between the class A contactless card and the terminal in ISO 14443;
fig. 6 is a schematic diagram of a communication flow between a class B contactless card and a terminal in ISO 14443.
Fig. 7 shows the data format of the data block in the process of fig. 1. The protocol control bytes pcb (protocol control byte) have different data and represent different data blocks. The specific format is shown in fig. 8, 9 and 10.
For the chinese meaning of the english abbreviations referred to in this application:
I-BLOCK: the I-block packs the state.
ACK-BLOCK: r block group packet status containing a positive acknowledgement.
NACK-BLOCK; r block group packet status containing negative acknowledgments.
S-BLOCK; the block group package state is managed.
TRARCV: transmit and receive states.
RCVI-BLOCK: processing receives the I block state.
RCVR-BLOCK: the R block state is processed.
RCVS-BLOCK: the block state is processed S.
RCVINV-BLOCK: the invalid block state is processed.
NON-EVENT: an invalidating event.
I block: and the data transmission block comprises a data field.
And R block: the response block is divided into a correct reception response and an incorrect reception response.
And S block: one with a byte data field to wait for a delay request and the other with a DESELECT command without a data field.
CID: a card identifier.
NAD: a node address field.
CODE ERR: the code is erroneous.
CRC: and (4) cyclic redundancy check.
ACK positive acknowledgement, english full name: positive ACKnowledgement.
NAK negative acknowledgement, english full name: a Negative AcKnowledgement.
EDC: error detection code, english full name: error Detection Code.
REQA instruction: request command, type a, english full name: request Command, Type A.
REQB instruction: request command, type B, english full name: request Command, Type B.
WUPA instructions: type APICC wake-up command, english full name: Wake-UP Command, Type A.
WUPB instructions: type B PICC wake-up command, english full name: Wake-UP Command, Type B.
ATQA instruction: request-response, type a, english full name: answer To Request, Type A.
ATQB instruction: request-response, type B, english full name: answer To Request, Type B.
UID: unique identifier, english full name: unique Identifier, Type a.
SEL: selection command, English full name: SELect code, Type A.
ATTRIB: PICC selects the order, and English is full-name: PICC selection command, Type B.
A SAK instruction; selection confirmation, English full name: select Acknowledge, Type A.
The RATS instruction: selecting a response request, English full name: request for Answer To Select.
ATS instruction: selecting response, English full name: answer To Select.
PPS process: protocol and parameter selection, English full name: protocol and Parameter Selection.
DESLECT instruction: cancel select command, english full name: deSELect code, Type a.
IDLE state: an idle state.
Example 1
Referring to fig. 1, in the data exchange communication method between the contactless card and the terminal according to this embodiment, the exchange data between the terminal and the contactless card is implemented based on a state machine, and the method specifically includes:
initializing variables, and setting a state machine to be I-BLOCK; judging the state of the state machine, and then finishing data exchange in the state;
in the variable initialization process, a first variable is added and recorded as a flag bit, the flag bit is NAD or CID, and a second variable is added and used for recording the total length of data to be sent. The flag bit records the current communication mode.
(1) Referring to fig. 1 and 2, when the state machine is in I-BLOCK mode, a data packet is to be exchanged, and the state machine sets TRARCV after the data packet, more specifically:
a11, judging whether the received data block is a chain block; if yes, putting the PCB code of the initial tape chain transmission I block into the start field of the data block, and entering A12; if not, putting the PCB code without the chain transmission I block into the start field of the data block, and entering A13;
a12, judging whether the terminal supports CID,
if CID is supported, adding CID data into a start field of the data packet, then judging whether NAD exists in the data block, if so, adding NAD data into the start field of the data packet, and then setting an information field in the data packet to obtain the data packet; if not, directly setting an information field in the data packet to obtain the data packet; after the data packet is obtained, subtracting one frame from the total length of the data to be sent, setting the state machine as TRARCV, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
if the data packet does not support CID, directly judging whether NAD exists in the data block, if so, adding NAD data into a starting field of the data packet, and then setting an information field in the data packet to obtain the data packet; if not, directly setting an information field in the data packet to obtain the data packet; after the data packet is obtained, subtracting one frame from the total length of the data to be sent, setting the state machine as TRARCV, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
a13, judging whether the terminal supports CID,
if CID is supported, adding CID data into a start field of the data packet, then judging whether NAD exists in the data block, if so, adding NAD data into the start field of the data packet, and then setting an information field in the data packet to obtain the data packet; if not, directly setting an information field in the data packet to obtain the data packet; after the data packet is obtained, setting the total length of the data to be sent to zero, setting a state machine to be TRARCV, and finishing the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
if the data block does not support CID, judging whether NAD exists in the data block, if so, adding NAD data into a starting field of the data packet, and then setting an information field in the data packet to obtain the data packet; if not, directly setting an information field in the data packet to obtain the data packet; after the data packet is obtained, setting the total length of the data to be sent to zero, setting a state machine to be TRARCV, and finishing the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
(2) Referring to fig. 1 and 3, when the state machine is in the TRARCV mode, the timeout time of the contactless card is updated, the data block of the packaged data to be exchanged is sent to the contactless card, and the data block returned by the contactless card is received:
when the received data BLOCK has abnormality, the abnormality comprises one or more of parity check, CRC, overtime and CODE ERR, re-receiving is started, if the retransmission times or error retransmission times of the S BLOCK is more than 2, the state machine is set to be RCVINV-BLOCK, and the current state is ended; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the retransmission times or the error retransmission times of the S BLOCK is less than or equal to 2 times, judging whether the received abnormal data is a chain BLOCK, if so, closing the retransmission request of the last BLOCK, setting the state machine as ACK-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if not, starting the retransmission request of the last BLOCK, setting the state machine as NACK-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
when the received data block has no abnormality, wherein the abnormality includes one or more of parity check, CRC, timeout and CODERR, the type of the received data block is judged: if the data BLOCK type is I BLOCK, resetting the error count to 0, closing the last BLOCK retransmission request, setting the state machine to REV I-BLOCK, ending the data interaction of the current data BLOCK and continuously judging the state of the state machine; if the data BLOCK type is R BLOCK, resetting the error count to 0, closing the last BLOCK retransmission request, setting the state machine to REV R-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the data BLOCK type is S BLOCK, judging whether the last BLOCK is retransmitted or not, if so, sending the retransmission count of the S BLOCK to be increased once, setting the state machine as REV S-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if not, sending the S BLOCK retransmission count clear 0, setting the state machine as REV S-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the data BLOCK type does not belong to any one of the I BLOCK, the R BLOCK and the S BLOCK, the received data BLOCK is an error data BLOCK, the state machine is set to be RCVINV-BLOCK, and the current state is finished; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
(3) Referring to fig. 1 and 2, when the state machine is in an ACK-BLOCK mode, a packet to be interacted is an R BLOCK, if the terminal supports CID, CID data is added to a start field of the packet, the state machine is set to TRARCV, and the current state is ended; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the terminal does not support CID, setting the state machine as TRARCV, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
(4) Referring to fig. 1 and 2, when the state machine is in a NACK-BLOCK mode, a packet to be interacted is an R BLOCK, if the terminal supports CID, CID data is added to a start field of the packet, the state machine is set to TRARCV, and the current state is ended; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the terminal does not support CID, setting the state machine as TRARCV, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
(5) Referring to fig. 1 and 2, when the state machine is in the S-BLOCK mode, a data packet to be interacted is an S BLOCK, data of an information field is added to the data packet, the state machine is set to TRARCV, and the current state is ended; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
(6) Referring to fig. 1 and 4, when the state machine is in the REV I-BLOCK mode, it is determined whether the BLOCK sequence number of the currently received data BLOCK is correct, and if not, the state machine is set to REV INV-BLOCK; if yes, judging whether the current received data block is a chain block, if not, judging whether the current received data block is a NON-EVENT, setting the state machine to be a NON-EVENT, updating the serial number of the data block, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the current state is the link BLOCK, setting the state machine to be ACK-BLOCK, storing the data of the currently received data BLOCK to a cache, updating the serial number of the data BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
(7) Referring to fig. 1 and 4, when the state machine is in REV R-BLOCK mode, it determines whether the header of the received data BLOCK is a NAK or ACK flag,
if NAK is detected, the current transmitted data is wrong, the state machine is set to REV INV-BLOCK, and the current state is finished; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
if the data block is ACK, judging whether the block sequence number of the data block is correct,
if not, updating the retransmission count of the BLOCK I, judging whether the retransmission count exceeds the limit, if so, setting the state machine to REV INV-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the current state is not beyond the limit, setting the state machine to be I-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
if the current I-BLOCK is correct, judging whether the current I-BLOCK is a chain BLOCK, if the current I-BLOCK is the chain BLOCK, updating the serial number of the data BLOCK, clearing the retransmission times to be 0, setting the state machine to be the I-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if not, setting the state machine to REV INV-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
(8) Referring to fig. 1 and 4, when the state machine is in REV S-BLOCK mode, it is determined whether the header of the received data BLOCK is an S BLOCK,
if not, setting REV INV-BLOCK by the state machine, and finishing the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
if yes, judging whether the information domain of the S BLOCK is correct, if yes, updating the receiving overtime count, setting the state machine to be S-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if not, setting REV INV-BLOCK by the state machine, and finishing the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
And the information field of the S block is that the information field of the S block is more than 0 and less than or equal to 63.
(9) Referring to fig. 1 and 4, when the state machine is in REV INV-BLOCK mode, the terminal resets the contactless card and sets the state machine to NON-EVENT, ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
In the present embodiment, the "total length count of data to be transmitted" here represents a count value. The count value is required to record the data that needs to be transmitted. Since a packetized transmission is needed when the incoming data is larger than the sending capacity of one data packet. This amount is used to count the number of bytes that still need to be sent. Meanwhile, the incoming data is larger than one frame length, so that packet transmission is required, and therefore, for the operation of band link transmission, a band link transmission mark needs to be added in each packet data packet, and each data block forming the data packet has a link transmission mark before forming the data packet, namely the data block is the link block. If the data to be sent can be sent out by using one group packet, the data to be sent does not need to be provided with a link transmission mark.
When entering the step of entering the data exchange state of the data to be exchanged, i.e. exchanging the data part shown in fig. 2 and 3, i.e. starting a new data exchange, the total length of data to be sent count needs to be set to the length of the incoming data. The more detailed explanation is: when data exchange is started, the length of data to be transmitted is obtained, so that after the data to be transmitted is initialized, the length of the data to be transmitted is the length of the data to be transmitted.
In this embodiment, the description of the second variable in the variable initialization process is as follows: assuming a total length a of data to be sent in an initialization process, if the total length a of the data to be sent is greater than a frame length, the data to be sent cannot be sent as a data packet, so that the data to be sent is divided into n data units, each data unit is packed to obtain a data packet, and the data packet is sent, wherein the length of each data packet is equal to the length of each data unit +1 byte of PCB +2 bytes of end field + optional field, and the optional field is NAD or CID; when the sub-packet transmission is carried out, subtracting one frame from the total length A of the data to be transmitted in the initialization process; one frame represents the length of the data units contained in the correct data packet. And if the total length A of the data to be sent is less than the frame length, performing no subpackage operation, and resetting the total length of the data to be sent to be zero in the initialization process.
Referring to fig. 5, a communication method between a class a contactless card and a terminal in ISO14443-4 includes:
s11, the terminal activates the electromagnetic field by itself, waits for the non-contact card to approach the terminal, then initiates a transaction communication request to the non-contact card in the form of REQA instruction or WUPA instruction, and the non-contact card responds with ATQA instruction after receiving the REQA instruction or WUPA instruction;
s12, when the instruction carried in the response received by the terminal is reasonable, the anti-collision circulating operation is started to obtain the UID of the non-contact card for response, meanwhile, the terminal sends the SEL instruction to the non-contact card which returns the UID, and after the non-contact card which returns the UID correctly receives the SEL instruction, the SEL instruction is responded by the SAK instruction;
s13, the terminal judges whether the non-contact card sending the response command SAK meets the preset standard requirement or not according to the received response command SAK, if so, the terminal sends a RATS command to the non-contact card, and the non-contact card sends an ATS command to the terminal after receiving the RATS command;
s14, the terminal judges whether to carry out PPS process according to the received ATS instruction, if yes, the terminal negotiates with the non-contact card to obtain a communication parameter, then carries out PPS process, and enters S5 after the PPS process is finished; if not, go directly to S5;
and S15, the terminal enters a data exchange stage, sends a DESLECT instruction to remove the non-contact card after finishing exchanging data, enters an IDLE state after the non-contact card receives the DESLECT instruction, and waits for the next time when the terminal initiates a request of transaction communication.
The interactive data phase of step S5 employs the method described in example 1.
Referring to fig. 6, a schematic diagram of a communication flow between a class B contactless card and a terminal in ISO14443 includes:
s21, the terminal automatically activates an electromagnetic field, waits for the non-contact card to approach the terminal, then initiates a transaction communication request to the non-contact card in the form of a REQB instruction or a WUPB instruction, and the non-contact card responds with an ATQB instruction after receiving the REQB instruction or the WUPB instruction; if the execution is correct, the operation of S22 is executed, if the operation is not successful, the operation returns to S21, and the command for waking up the card is re-sent. If the timing time is exceeded, the process is exited;
s22, the terminal sends an atterb instruction to activate the card, if the card responds to the operation instruction correctly, the operation flow is exited if the card enters S23 errors; if the error occurs and the retry frequency is less than 3 times, repeating the operation of S22, otherwise, exiting the process;
s23, the terminal enters the exchange data phase. And after the operation is finished, exiting the flow.
Wherein. The interactive data phase uses the method described in example 1.
By adopting the technical scheme disclosed by the invention, the following beneficial effects are obtained:
the invention overcomes the defects in the prior art. And controlling each link by adopting a state machine mode. And implementing the code according to the preset specification requirement. Data processing and exception handling for blocks such as I, R, S are achieved.
The method of the invention is easy to understand, maintain and manage, the state machine controls the interaction process, and the adjustment is carried out according to the data fed back by the non-contact card, so that the method is clear in order and easy to understand and maintain. The abnormal processing and normal data interaction logic realization of each link can be fully ensured.
The foregoing is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and improvements can be made without departing from the principle of the present invention, and such modifications and improvements should also be considered within the scope of the present invention.
Claims (9)
1. A data exchange communication method between a non-contact card and a terminal is characterized in that the exchange data between the terminal and the non-contact card is realized based on a state machine, and the method specifically comprises the following steps:
initializing variables, and setting a state machine to be I-BLOCK; judging the state of the state machine, and then finishing data exchange in the state;
in the variable initialization process, adding a first variable as a flag bit, wherein the flag bit is NAD or CID, and adding a second variable for recording the total length of data to be sent;
when the state machine is in the I-BLOCK state, a data packet to be interacted is packaged, and the state machine is set to TRARCV after the data packet is packaged, and more specifically:
a11, judging whether the received data block is a chain block; if yes, putting the PCB code of the initial tape chain transmission I block into the start field of the data block, and entering A12; if not, putting the PCB code without the chain transmission I block into the start field of the data block, and entering A13;
a12, judging whether the terminal supports CID,
if CID is supported, adding CID data into a start field of the data packet, then judging whether NAD exists in the data block, if so, adding NAD data into the start field of the data packet, and then setting an information field in the data packet to obtain the data packet; if not, directly setting an information field in the data packet to obtain the data packet; after the data packet is obtained, subtracting one frame from the total length of the data to be sent, setting the state machine as TRARCV, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
if the data packet does not support CID, directly judging whether NAD exists in the data block, if so, adding NAD data into a starting field of the data packet, and then setting an information field in the data packet to obtain the data packet; if not, directly setting an information field in the data packet to obtain the data packet; after the data packet is obtained, subtracting one frame from the total length of the data to be sent, setting the state machine as TRARCV, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
a13, judging whether the terminal supports CID,
if CID is supported, adding CID data into a start field of the data packet, then judging whether NAD exists in the data block, if so, adding NAD data into the start field of the data packet, and then setting an information field in the data packet to obtain the data packet; if not, directly setting an information field in the data packet to obtain the data packet; after the data packet is obtained, setting the total length of the data to be sent to zero, setting a state machine to be TRARCV, and finishing the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
if the data block does not support CID, judging whether NAD exists in the data block, if so, adding NAD data into a starting field of the data packet, and then setting an information field in the data packet to obtain the data packet; if not, directly setting an information field in the data packet to obtain the data packet; after the data packet is obtained, setting the total length of the data to be sent to zero, setting a state machine to be TRARCV, and finishing the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
2. The data exchange communication method between the contactless card and the terminal according to claim 1, wherein when the state machine is in a TRARCV state, the timeout time of the contactless card is updated, the packed data block of data to be exchanged is sent to the contactless card, and simultaneously the data block returned by the contactless card is received:
when the received data BLOCK has abnormality, the abnormality comprises one or more of parity check, CRC, overtime and CODE ERR, re-receiving is started, if the retransmission times or error retransmission times of the S BLOCK is more than 2, the state machine is set to be RCVINV-BLOCK, and the current state is ended; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the retransmission times or the error retransmission times of the S BLOCK is less than or equal to 2 times, judging whether the received abnormal data is a chain BLOCK, if so, closing the retransmission request of the last BLOCK, setting the state machine as ACK-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if not, starting the retransmission request of the last BLOCK, setting the state machine as NACK-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
when the received data block has no abnormality, wherein the abnormality comprises one or more of parity check, CRC, timeout and CODE ERR, judging the type of the received data block: if the data BLOCK type is I BLOCK, resetting the error count to 0, closing the last BLOCK retransmission request, setting the state machine to REVI-BLOCK, ending the data interaction of the current data BLOCK, and continuously judging the state of the state machine; if the data BLOCK type is R BLOCK, resetting the error count to 0, closing the last BLOCK retransmission request, setting the state machine to REV R-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the data BLOCK type is S BLOCK, judging whether the last BLOCK is retransmitted or not, if so, sending the retransmission count of the S BLOCK to be increased once, setting the state machine as REV S-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if not, sending the S BLOCK retransmission count clear 0, setting the state machine as REV S-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the data BLOCK type does not belong to any one of the I BLOCK, the R BLOCK and the S BLOCK, the received data BLOCK is an error data BLOCK, the state machine is set to be RCVINV-BLOCK, and the current state is finished; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
3. The data exchange communication method between the contactless card and the terminal according to claim 1,
when the state machine is in an ACK-BLOCK state or a NACK-BLOCK state, the data packet to be interacted is an R BLOCK, if the terminal supports CID, CID data is added into a start field of the data packet, the state machine is set to TRARCV, and the current state is ended; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the terminal does not support CID, setting the state machine as TRARCV, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
4. The data exchange communication method between the contactless card and the terminal according to claim 1, characterized in that, when the state machine is in S-BLOCK state, the data packet to be interacted is an S BLOCK, the data of the information field is added to the data packet, the state machine is set to TRARCV, and the current state is ended; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
5. The data exchange communication method between the contactless card and the terminal according to claim 1,
when the state machine is in the REV I-BLOCK state, judging whether the BLOCK sequence number of the currently received data BLOCK is correct, if not, setting the state machine as REVINV-BLOCK; if yes, judging whether the current received data block is a chain block, if not, judging whether the current received data block is a NON-EVENT, setting the state machine to be a NON-EVENT, updating the serial number of the data block, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the current state is the link BLOCK, setting the state machine to be ACK-BLOCK, storing the data of the currently received data BLOCK to a cache, updating the serial number of the data BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
6. The data exchange communication method between the contactless card and the terminal according to claim 1,
when the state machine is in REV R-BLOCK state, the flag of whether the data header of the received data BLOCK is NAK or ACK is judged,
if NAK is detected, the current transmitted data is wrong, the state machine is set to REV INV-BLOCK, and the current state is finished; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
if the data block is ACK, judging whether the block sequence number of the data block is correct,
if not, updating the error retransmission count number, judging whether the retransmission count exceeds the limit, if so, setting the state machine to REV INV-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if the current state is not beyond the limit, setting the state machine to be I-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
if the current I-BLOCK is correct, judging whether the current I-BLOCK is a chain BLOCK, if the current I-BLOCK is the chain BLOCK, updating the serial number of the data BLOCK, clearing the retransmission times to be 0, setting the state machine to be the I-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if not, setting the state machine to REVINV-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
7. The data exchange communication method between the contactless card and the terminal according to claim 1,
when the state machine is in REV S-BLOCK state, judging whether the data head of the received data BLOCK is S BLOCK or not,
if not, setting REVINV-BLOCK by the state machine, and finishing the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine;
if yes, judging whether the information domain of the S BLOCK is correct, if yes, updating the receiving overtime count, setting the state machine to be S-BLOCK, and ending the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the judging state machine; if not, setting REV INV-BLOCK by the state machine, and finishing the current state; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
8. The method according to claim 7, wherein the information field of the S block is that the S block information field is greater than 0 and equal to or less than 63.
9. The data exchange communication method between the contactless card and the terminal according to claim 1,
when the state machine is in the REV INV-BLOCK state, the terminal resets the NON-contact card and sets the state machine to NON-EVENT, and the current state is finished; judging whether the state machine is in an invalid state or not, and if so, ending the state machine; if not, returning to the state of the state machine.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711243910.2A CN108011697B (en) | 2017-11-30 | 2017-11-30 | Data exchange communication method between non-contact card and terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711243910.2A CN108011697B (en) | 2017-11-30 | 2017-11-30 | Data exchange communication method between non-contact card and terminal |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108011697A CN108011697A (en) | 2018-05-08 |
CN108011697B true CN108011697B (en) | 2020-09-18 |
Family
ID=62055804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711243910.2A Active CN108011697B (en) | 2017-11-30 | 2017-11-30 | Data exchange communication method between non-contact card and terminal |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108011697B (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613159A (en) * | 1992-04-08 | 1997-03-18 | Innovatron Industries S.A. | Contact-free data exchange between a terminal and modular portable set having two different protocols for exchange which is selected based on portable set type |
CN1957361A (en) * | 2004-05-24 | 2007-05-02 | 松下电器产业株式会社 | Reader/writer secure module access control method |
CN101783040A (en) * | 2008-12-23 | 2010-07-21 | 深圳市莫廷影像技术有限公司 | Smart card swipe machine and information exchange method |
CN101969393A (en) * | 2010-10-27 | 2011-02-09 | 四川省绵阳西南自动化研究所 | Protocol converter for FlexRay bus and PC104 bus |
CN102685722A (en) * | 2011-03-17 | 2012-09-19 | 株式会社东芝 | Ic card |
CN104426572A (en) * | 2013-09-11 | 2015-03-18 | 中兴通讯股份有限公司 | Method and system for multiplexing radio-frequency front end |
CN106559739A (en) * | 2016-09-28 | 2017-04-05 | 深圳成谷科技有限公司 | It is suitable to the lightweight data transmission method of Bluetooth Low Energy wireless communication system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI579784B (en) * | 2016-03-30 | 2017-04-21 | Non-contact wafer card reader with hybrid multi-core parallel verification processing |
-
2017
- 2017-11-30 CN CN201711243910.2A patent/CN108011697B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613159A (en) * | 1992-04-08 | 1997-03-18 | Innovatron Industries S.A. | Contact-free data exchange between a terminal and modular portable set having two different protocols for exchange which is selected based on portable set type |
CN1957361A (en) * | 2004-05-24 | 2007-05-02 | 松下电器产业株式会社 | Reader/writer secure module access control method |
CN101783040A (en) * | 2008-12-23 | 2010-07-21 | 深圳市莫廷影像技术有限公司 | Smart card swipe machine and information exchange method |
CN101969393A (en) * | 2010-10-27 | 2011-02-09 | 四川省绵阳西南自动化研究所 | Protocol converter for FlexRay bus and PC104 bus |
CN102685722A (en) * | 2011-03-17 | 2012-09-19 | 株式会社东芝 | Ic card |
CN104426572A (en) * | 2013-09-11 | 2015-03-18 | 中兴通讯股份有限公司 | Method and system for multiplexing radio-frequency front end |
CN106559739A (en) * | 2016-09-28 | 2017-04-05 | 深圳成谷科技有限公司 | It is suitable to the lightweight data transmission method of Bluetooth Low Energy wireless communication system |
Non-Patent Citations (1)
Title |
---|
"Identification cards-Contactless integrated circuit(s) cards - Proximity cards-Part 4: Transmission protocol";ISO;《ISO/IEC FDIS 14443-4》;20000713;1-10 * |
Also Published As
Publication number | Publication date |
---|---|
CN108011697A (en) | 2018-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1762059B1 (en) | Method of, and system for, communicating data, and a station for transmitting data | |
CN100366029C (en) | Communication controller, host-side controller, communication equipment, communication system and method | |
CN104782072B (en) | Using the system and method for hybrid automatic repeat-requests agreements such as reliably stopping | |
EP1681814B1 (en) | Wireless identification protocol with confirmation of successful transmission | |
CN103716133A (en) | Method for preventing data loss | |
CN113132063B (en) | Physical layer retransmission control method | |
US9706435B2 (en) | Method and system for dynamically changing upper bound on data packet size in wireless communication networks | |
CN107172649A (en) | A kind of data transmission method and equipment | |
US9491269B2 (en) | Uplink transmission rate in a wireless communication device | |
CN117171083B (en) | NAK-based system for adaptively repairing PCIE interface interconnection link | |
CN108011697B (en) | Data exchange communication method between non-contact card and terminal | |
WO2024131009A1 (en) | Inter-chip communication method and storage medium | |
JP7210867B2 (en) | Acknowledgment packet transmission method and communication device | |
CN111008172A (en) | Interface communication protocol stack | |
WO2022147831A1 (en) | Communication method and communication apparatus | |
CA2784985C (en) | Apparatus and method of communicating automatic repeat request (arq) feedback in a wireless communication network | |
CN103873192A (en) | Data processing method and device | |
CN115514457A (en) | Wireless Internet of things control channel communication method, system, device and medium | |
WO2023004702A1 (en) | Transmission rate determination method and communication apparatus | |
WO2021063299A1 (en) | Data transmission method, base station, terminal, system, and computer-readable storage medium | |
EP2405627B1 (en) | Method for operating a remote procedure call handler in a client and a server and computer system comprising the same | |
WO2022086798A1 (en) | Repeated in sequence packet transmission for checksum comparison | |
JPS59168537A (en) | Control system of communication controller | |
JP2002158734A (en) | Communication method and communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |