Patent Description:
The applicant sold an integrated circuit PTX 100R that is used as NFC controller in devices like an RFID reader with Near Field Communication (NFC) functionality. NFC technology has been developed by an industry consortium under the name of NFC Forum (http://www. ofg) and derives from RFID technology. NFC components may operate in a "Reader" mode, a "Card Emulation" mode and a "Device" mode as standardized in ISO <NUM>. An NFC component emits via its Near Field Communication contactless interface magnetic fields, sends data by modulating the amplitude of the magnetic field, and receives data by load modulation and inductive coupling. In the emulation mode, described for instance in <CIT>, the NFC component operates passively like a transponder to engage in a dialog with another reader and to be seen by the other reader as an RFID chip.

The known reader with the integrated circuit PTX 100R comprises an integrated circuit host processor or reader processor that processes all kind of applications like a payment application relevant for the normal reader functionality of the device. A block diagram of this reader <NUM> according to state of the art is shown in <FIG> with a host processor <NUM>. To add the Near Field Communication feature and contactless interface to this reader <NUM>, the integrated circuit PTX 100R has been added as NFC controller <NUM> into this reader <NUM>, which enables NFC communication via a contactless interface <NUM>. The NFC Forum Specification "NFC Controller Interface (NCI)" defines the software interface protocol to be used to enable communication between the host processor <NUM> and the NFC controller <NUM>. The host processor <NUM> implements this NCI Interface with a stack of software named host driver that communicates based on the NCI interface with a stack of software named controller driver processed in the NFC controller <NUM>.

A device disclosed in <CIT> comprises such a host processor <NUM>, that implements this NCI Interface in the host processor only. This concept is known as "split stack" NFC architecture of the host processor <NUM> and the NFC controller <NUM> and enables, that NFC controller <NUM> only needs a relative small stack of software to be processed with less computing power and memory area needed. This has the advantage that all none-time critical and/or memory consuming tasks of a Near Field Communication application of the reader are processed by the host processor <NUM>, while the time critical tasks are processed by the NFC controller <NUM>.

Independent on how the NCI interface is realized and how this processes are split between the host processor <NUM> and the NFC controller <NUM>, these two integrated circuits have to be connected via a hardware contact interface to exchange data/information between the host processor <NUM> and the NFC controller <NUM>. In one direction data from the host processor <NUM>, that have to be transferred via the contactless interface <NUM> to a smart card or other NFC device, and in the other direction, data from such other NFC device received via the contactless interface <NUM>, have to be transferred via the hardware interface to the host processor <NUM>. There are several different hardware interfaces known and used by host processors like for instance the Serial Peripheral Interface SPI or the Inter-Integrated circuit data bus I2C or the Universal Asynchronous Receiver Transmitter UART, just to name three different interface protocols. Each of these hardware interfaces is defined by a public available specification that defines a connection scheme of the integrated circuits. In this connection scheme it is defined with how much information lines <NUM> the host processor <NUM> and the NFC controller <NUM> have to be physically connected and it is defined which information line <NUM> transmits which kind of information like e.g. a clock signal or a data signal and if data have to be encoded/decoded. In these specifications furthermore the interface protocol is defined that fixes when which signal has to be provided at the different information lines to e.g. start a communication.

It is the aim of manufacturers of NFC controllers like the known NFC controller <NUM>, that the NFC controller <NUM> should be able to communicate with as much as possible different host processors <NUM> from different manufacturers on the market. The NFC controller <NUM> therefore comprises an NFC controller wired data interface stage <NUM>, that is able to communicate not only based on one, but based on several of these different hardware interfaces and interface protocols. <FIG> shows the relevant blocks of the reader <NUM> according to <FIG>. The NFC controller wired data interface stage <NUM> therefore comprises a decoder/encoder <NUM>, <NUM> and <NUM> for each of these different interface protocols. That means that first decoder/encoder <NUM> is able to encode and decode data for the Serial Peripheral Interface SPI first interface protocol and that second decoder/encoder <NUM> is able to encode and decode data for the Inter-Integrated circuit data bus I2C second interface protocol and that third decoder/encoder <NUM> is able to encode and decode data for the Universal Asynchronous Receiver Transmitter UART third interface protocol. Furthermore, the NFC controller wired data interface stage <NUM> comprises an interface protocol stage <NUM> that is built to communicate according to all of these different interface protocols. To enable the selection of the selected decoder <NUM>, <NUM> or <NUM> and the selected interface protocol used by the host processor <NUM>, the NFC controller <NUM> comprises a protocol selection stage <NUM> and two additional pins <NUM> and <NUM> to connect two information lines It. These information lines SIF and the information lines <NUM> are connected to a host wired data interface stage <NUM> which comprises encoder/decoder <NUM> and host interface protocol stage <NUM>. The technical specification of the NFC controller <NUM> defines on which pin <NUM> and <NUM> which voltage has to be provided to enable the protocol selection stage <NUM> to select which of these interface protocols is used by the host processor <NUM> and should be used by the NFC controller <NUM> as well. Just as an example SIF pin <NUM> needs to be set on logical "<NUM>" (e.g. ground potential) and SIF pin <NUM> needs to be set on logical "<NUM>" (e.g. 5V) to select the first interface protocol realized as the SPI first interface protocol with decoder/encoder <NUM> selected by protocol selection stage <NUM>. Other logical combinations at pins <NUM> and <NUM> are used to select other interface protocols for the hardware interface communication between the host processor <NUM> and the NFC controller <NUM>. The SIF pins <NUM> and <NUM> may be connected to two output pins <NUM> and <NUM> of the host processor <NUM> as shown in <FIG>. In another embodiment a fixed wired solution may be used, where a fixed connection to ground potential or 5V power is realized for the SIF pins <NUM> and <NUM> as only during the implementation of the integrated circuits onto the printed circuit bord this select the one interface protocol and decoder/encoder used by the host processor <NUM> has to be done once.

Drawback of this solution is, that at least the NFC controller <NUM> and, depending on above described different possible implementations, quite often in addition also the host processor <NUM> needs to provide these two additional SIF pins just to select the hardware interface protocol to be used. This increases the chip area and costs of the integrated circuits and the complexity of the printed circuit board of the reader.

The patent <CIT> discloses relevant background art wherein a host processor is connected only via two electrical connections with a communication block of an NFC controller to enable either an I2C bus, an UART bus or a SPI bus between the host processor and the NFC controller to transmit and receive information over a contactless interface of an antenna.

It is an object of the invention to provide a device and chipset and a method that processes Near Field Communication type applications with an improved use of the limited chip area of the NFC controller and less work to implement the chipset into the device.

This object is achieved with a device according to claim <NUM> and a chipset according to claim <NUM> and method according to claim <NUM>. The NFC controller of the claimed device comprises a protocol selection stage that is built to analyze signals on at least one of the two, three or more information lines of the hardware interface between the host processor and the NFC controller. The protocol selection stage takes as a prerequisite that a fixed information line connection scheme of the technical specification of the NFC controller has been implemented by the manufacturer of the device to connect the host processor with the NFC controller for the interface protocol used by the host processor. During a boot procedure after power-on of the NFC controller, the protocol selection stage analyses the signals on these information lines to select either the first decoder stage or the second decoder stage to be used to decode the data received via the N information lines according to the selected first interface protocol or the selected second interface protocol. This is possible as the fixed connection scheme in the specification of the NFC controller has been used, which hardware information line (pin of the integrated circuit) between the host processor and the NFC controller has to be used for which line of the interface protocol used by the host processor. The protocol selection stage is built to detect all changes of potentials or signals that are received at the N information lines of the hardware interface from the host processor and as all these different interface protocols during power up and during the initialization of a communication deliver defined potentials or signals or commands on defined information lines, a comparison with the signals expected for the different interface protocols enables to decide which interface protocol is used by the host processor to select the appropriate decoder/encoder stage. This selection by the protocol selection stage also includes the selection of this interface protocol at the interface protocol stage of the NFC controller wired data interface stage which from this selection onwards communicates with the host wired data interface stage based on the selected interface protocol. As the NFC controller of the claimed device is able to automatically detect the interface protocol used by the host processer no SIF information lines and pins at the NFC controller and the host processor are needed to select the interface protocol, what reduces the chip area of the NFC controller and the work to implement the chipset into the device.

The person skilled in the art will understand that various embodiments may be combined.

<FIG> shows a device <NUM> that realizes the functionality of a payment terminal or reader to enable NFC devices <NUM>, like mobile phones or smart cards, to pay via the NFC wireless interface <NUM>. In <FIG> the same reference numbers are used as in <FIG> for those blocks or stages that have the same functionality as described for the device <NUM> according to the state of the art.

Device <NUM> comprises a host processor <NUM>, that is built to process the payment application and that comprises a host wired data interface stage <NUM> with an encoder/decoder <NUM> built to encode data based on a first interface protocol. In this first embodiment of the invention, the first interface protocol is the Serial Peripheral Interface SPI protocol known to a person skilled in the art. The host wired data interface stage <NUM> furthermore comprises a host interface protocol stage <NUM> to communicate the data encoded based on the SPI encoded data via N = <NUM> information lines <NUM>.

To connect the host processor <NUM> with a NFC controller <NUM> of the device <NUM>, these two integrated circuits have to be connected via a hardware contact interface to exchange data/information via the information lines <NUM>. In one direction data from the host processor <NUM>, that have to be transferred via the contactless interface <NUM> to the NFC device <NUM>, and in the other direction, data from the NFC device <NUM> received via the contactless interface <NUM>, have to be transferred via the hardware interface to the host processor <NUM>. There are several different hardware interfaces known and used by host processors like for instance the Serial Peripheral Interface SPI or the Inter-Integrated circuit data bus I2C or the Universal Asynchronous Receiver Transmitter UART, just to name three different interface protocols. Each of these hardware interfaces is defined by a public available specification that defines a connection scheme of the integrated circuits. In this connection scheme it is defined with how much information lines <NUM> the host processor <NUM> and the NFC controller <NUM> have to be physically connected and it is defined which information line <NUM> transmits which kind of information like e.g. a clock signal or a data signal and, whether or not data have to be encoded/decoded. In these specifications furthermore the interface protocol is defined that fixes when which signal has to be provided at the different information lines to e.g. start a communication.

It is the aim of manufacturers of NFC controllers like the NFC controller <NUM>, that the NFC controller <NUM> should be able to communicate with as much as possible different host processors <NUM> from different manufacturers on the market. The NFC controller <NUM> therefore comprises an NFC controller wired data interface stage <NUM>, that is able to communicate not only based on one, but based on several of these different hardware interfaces and interface protocols. The NFC controller wired data interface stage <NUM> therefore comprises decoder/encoder <NUM>, <NUM> and <NUM> for each of these different interface protocols. That means that first decoder/encoder <NUM> is able to encode and decode data for the Serial Peripheral Interface SPI first interface protocol and that second decoder/encoder <NUM> is able to encode and decode data for the Inter-Integrated circuit data bus I2C second interface protocol and that third decoder/encoder <NUM> is able to encode and decode data for the Universal Asynchronous Receiver Transmitter UART third interface protocol. Furthermore, the NFC controller wired data interface stage <NUM> comprises an NFC interface protocol stage <NUM>, that is built to communicate according to all of these different interface protocols. To enable the selection of the selected decoder <NUM>, <NUM> or <NUM> and the selected interface protocol used by the host processor <NUM>, the NFC controller <NUM> comprises a protocol selection stage <NUM> that is built to analyze signals on at least one of the four information lines <NUM> based on a fixed information line connection scheme for each of the first interface protocol and second interface protocol and third interface protocol during a boot procedure after power-on of the NFC controller <NUM> to select either the first decoder stage <NUM> or the second decoder stage <NUM> or the third decoder stage <NUM> to be used to decode the data received via the four information lines <NUM> according to the selected first interface protocol or the second interface protocol or third interface protocol.

The connection scheme of the NFC controller <NUM> in its data sheet or technical specification defines that a pin of the host processor <NUM> that provides the clock signal for the hardware interface has to be connected via a first information line <NUM> with that pin of the NFC controller <NUM>, that should receive the clock signal for the hardware interface, independent of which of the three possible interface protocolls is used by the host processor <NUM>. This is possible as all these interface protocolls use a clock signal. The other three of the information lines <NUM> have to be connected to the other input/output pins of the host interface protocol stage <NUM> and the NFC interface protocol stage <NUM>. The specification of the Serial Peripheral Interface SPI used by the host processor <NUM> defines that following three information lines are provided at three pins of the host controller <NUM>:.

and the connection scheme of the NFC controller <NUM> defines that, if the host processor <NUM> uses a Serial Peripherial Interface SPI, then POCI or MISO pin of the host processor <NUM> has to be connected via a second information line <NUM> to the pin of the NFC controller <NUM> defined in the specification of the NFC controller <NUM>. Furthermore the PICO or MOSI pin of the host processor <NUM> has to be connected via a third information line <NUM> to that pin of the NFC controller <NUM> defined in the specification of the NFC controller <NUM> and the SS pin of the host processor <NUM> has to be connected via a fourth information line <NUM> to that pin defined in the specification of the NFC controller <NUM>. The protocol selection stage <NUM> stores for all three possible and supported interface protocols information how these interface protocols start their communication after a power-on of the host processor <NUM> (master) and the NFC controller <NUM> (slave) and what kind of signals have to be expected. After a power-on, the NFC interface protocol stage <NUM> is built to switch all pins of the hardware interface, this means all pins connected to information lines <NUM>, as input pins to detect all kind of signals or changes of potentials or commands or address information received. Based on these signals detected at the pins of the NFC interface protocol stage <NUM> connected to information lines <NUM>, the protocol selection stage <NUM> is able to detect what kind of interface protocol is used by the host processor <NUM> and to select the appropriate decoder <NUM>, <NUM> or <NUM> and to select the appropriate interface protocol for the further communication of the NFC interface protocol stage <NUM> with the host interface protocol stage <NUM>.

In above explained embodiment, where the host processor uses the Serial Peripheral Interface SPI, the protocol selection stage <NUM> is built to detect the change from logic "<NUM>" (typical 5V) to logic "<NUM>" (typical ground potential) on the second information line <NUM> used to transmit a chip-select signal SS and after that to detect the start of the clock signal on the first information line <NUM>. Based upon these detections, the protocol selection stage <NUM> is built to decide that a Serial Peripheral Interface SPI is used by the host wired data interface stage <NUM> and to select an SPI decoder as the first decoder stage <NUM> to decode the data received via the information lines <NUM>. This first interface protocol is further on used by the NFC controller <NUM> until the next power-down and later power-on happens. This provides the advantage that by analyzing only the signals at the pins and not the data on data decoder level, the interface protocol used by the host processor <NUM> may be detected fast and save.

The NFC controller wired data interface <NUM> furthermore is built to observe a frame detect or error detect output of the selected decoder <NUM> to decide whether the detection and selection process has to be restarted. In case the detected errors in data or frames received from the host processor <NUM> increase based on the detections of the decoder <NUM>, the protocol selection stage <NUM> is built to analyze signals at the pins of the NFC controller <NUM> connected to the information lines <NUM> received not only after power-on, but also during normal communication, to reconfirm the selection or to change the selection of the interface protocol and decoder. This enables that a wrong initial selection due to miss detected signals after power-on may be corrected. This re-check of the selected interface protocol is processed for data on data decoder level.

Now, in more detail, the method is explaind how this automatic selection of the interface protocol is processed. This method comprises the following steps:
In a first step a power-on procedure in the host processor <NUM> and in the NFC controller <NUM>, after power for these integrated circuits has been turned on, are processed. These power-on procedures are known to a person skilled in the art and may include to fill some memory areas with start values and switch some pins to input or output pins.

In a second step the NFC controller <NUM> waits a wait period of a few milliseconds or seconds or a similar time period to ensure, that the host processor <NUM> finalized its power-on procedure. After that the NFC controller <NUM> analyzes signals received on at least one of four information lines <NUM> of a hardware wired data interface between the host processor <NUM> and the NFC controller <NUM> based on a fixed information line connection scheme for each of a first interface protocol and a second interface protocol and a third interface protocol of the hardware wired data interface that may be used by the host processor <NUM>. Based on this analyze either the first decoder stage <NUM> and first interface protocol or the second decoder stage <NUM> and second interface protocol or the third decoder stage <NUM> an third interface protocol of the NFC controller <NUM> is selected to be used to decode the data received via the four information lines <NUM> according to the selected first interface protocol or the selected second interface protocol or third interface protocol. With this method an automatic detection of the interface protocol used by the host processor <NUM> is realized.

In a second embodiment of the invention, another host processor uses the Inter-Integrated circuit data bus I2C second interface protocol and encodes the data to be transmitted to the NFC controller <NUM> according to this second interface protocol. The specification of such an I2C bus defines, that the master (host processor <NUM>) starts the communication with a byte via an address/data signal ADS (data line = fourth information line <NUM>) wherein the first seven bits are the address bits to address the slave (NFC controller <NUM>) and the eights bit states, if the slave will receive or send data from or to the master. It is furthermore possible to use two additional address pins of the slave to change two bits of the fix in the integrated circuit of the slave implemented I2C address to enable that up to four identical integrated circuits with changed address bits are used and addressed on the same I2C bus. The protocol selection stage <NUM> is built to observe during a detection period of a few milliseconds or seconds or similar time period, if the clock signal CLK is detected on the first information line <NUM> while on the second information line <NUM> and third information line <NUM> (address change lines), connected to the two additional address pins of the NFC controller <NUM>, and used to change two of the seven address bits sent by the host processor <NUM> at the fourth information line <NUM> (address/data signal ADS) to start the communication, no change of signal is detected. This is possible, because the fixed information line connection scheme of the NFC controller <NUM> defines, that the second information line <NUM> and third information line <NUM> have to be set to a fixed potential (ground or VDD) in case the host processor <NUM> uses the second interface protocol with an I2C bus. Therefore no change of the signal or potential will be detected at the address lines/second and third information lines <NUM> and <NUM> while the host processor <NUM> starts the communication. As a result, if the protocol selection stage <NUM> detects the clock signal CLK and no changes on the second information line <NUM> and third information line <NUM>, then it decides, that an Inter-Integrated circuit I2C data bus is used as second interface protocol by the host wired data interface stage of this other host processor and selects an I2C decoder as second decoder stage <NUM> to decode the data received on the forth information line <NUM> after the communication between the host processor <NUM> and NFC controller <NUM> has been initialized. In another embodiment the two additional address pins of the NFC controller could be connected hard wired to ground potential or VDD to provide them the fixed potential and address within the I2C bus. The advantage of this embodiment is that the host processor does not need these further two pins to be connected to the second information line <NUM> and third information line <NUM>. The detection period is typically several clock cycles of the clock signal long to ensure that the condition checked or detected is for sure realized.

In a third embodiment of the invention a further host processor is connected to the NFC controller <NUM>, which uses the Universal Asynchronous Receiver Transmitter UART third interface protocol and encodes the data to be transmitted to the NFC controller <NUM> according to this third interface protocol. The protocol selection stage <NUM> is built to decide that a Universal Asynchronous Receiver Transmitter UART is used as third interface protocol by the host wired data interface stage of this further host processor, if none of the first interface protocol or the second interface protocol has been selected during a selection period, in which selection period above explained selection of the first or second interface protocol is processed, and built to select an UART decoder as third decoder stage <NUM> to decode the data received via the information lines <NUM>.

This principle of an automatic detection which interface protocol and/or which encoding has been used by one integrated circuit for a hardware interface with a second integrated circuit and to automatically select the appropriate interface protocol and/or decoder at the second integrated circuit has been explained based on a device that processes a NFC type application. This principle may be used for any other RFID type application and even further for any other kind of integrated circuits without any wireless interface involved.

The number of information lines that connect pins of the host processor and the NFC controller depends on the different interface protocols used by these two integrated circuits. If only two wire hardware interface protocols are used then N = <NUM>, but if only one of the interface protocols that may be selected within the NFC controller uses N = <NUM> or N = <NUM> or even more information lines may be used. For practical reasons it depends on how much information lines the interface protocol used by the host processor needs how much information lines are used to connect the two integrated circuits.

A person skilled in the art will understand that depending on the different interface protocols possible to be selected within the protocol selection stage <NUM> of the NFC controller <NUM> all kind of different signal changes may be identified to distinguish in a fast and save way the interface protocols supported.

In a further embodiment of the invention the Inter-Integrated circuit I2C would be identified by the following analyze of the signals on the information lines <NUM> by the protocol selection stage <NUM> without the need of the two additional address pins as explained in the second embodiment. The I2C specification defines in signals <NUM> a start condition <NUM> and stop condition <NUM> of clock signal CLK, received by the NFC controller <NUM> on the first information line <NUM>, and the address/data signal ADS, received by the NFC controller <NUM>, received by the NFC controller <NUM>, received by the NFC controller <NUM> on the forth information line <NUM>, as shown in <FIG> and <FIG>. In the start condition <NUM>, the clock signal CLK and the address/data signal ADS both have a high potential and the address/data signal ADS changes to low potential while the clock signal CLK stays at high potential and after that the clock signal CLK changes to low potential as well. If this start condition <NUM> is detected by the protocol selection stage <NUM> after a power-on, the protocol selection stage <NUM> decides that an Inter-Integrated circuit I2C data bus is used as second interface protocol by the host wired data interface stage <NUM> and selects the I2C decoder as second decoder <NUM> to decode the data received on the fourth information line <NUM>.

In a further embodiment of the invention the Serial Peripheral Interface SPI would be identified by the following analyze of the signals on the information lines <NUM> by the protocol selection stage <NUM>. The SS pin of the host processor <NUM>, connected to the NFC controller <NUM> with the forth information line <NUM>, is high and changes to low, what means that the NFC controller <NUM> is selected by the host processor <NUM>. If after that the clock signal CLK received from the host processor <NUM> on the first information line <NUM> changed polarity at least <NUM> times, what means that at least <NUM> bits have been received, and if after that the NFC controller <NUM> stays selected by a still low potential on the forth information line <NUM>, then the protocol selection stage <NUM> is built to decide that a Serial Peripheral Interface SPI is used by the host wired data interface stage <NUM> and selects an SPI decoder as the first decoder stage <NUM> to decode the data received via the information lines <NUM>.

In a further embodiment of the invention the Universal Asynchronous Receiver Transmitter UART is not only selected, if both other interface protocols were not selected, but active identified by the following analyze of the signals on the information lines <NUM> by the protocol selection stage <NUM>. The specification of UART defines only two information lines, one in each direction. The fixed information line connection scheme how to implement a connection between the NFC controller <NUM> and a host processor defines that the RDX pin of the host processor <NUM> has to be connected with the TDX pin of the NFC controller <NUM> via the first information line <NUM> and the TDX pin of the host processor <NUM> has to be connected with the RDX pin of the NFC controller <NUM> via the second information line <NUM>. If the protocol selection stage <NUM> detects first a high potential, then a low potential and then again a high potential on the second information line <NUM>, while the potential on the first information line <NUM> does not change, then the protocol selection stage <NUM> is built to decide that a Universal Asynchronous Receiver Transmitter UART is used as third interface protocol by the host wired data interface stage <NUM> of the host processor <NUM>.

Claim 1:
Device (<NUM>) that processes a Near Field Communication type application, which device (<NUM>) comprises:
a host processor (<NUM>) that is built to process device applications, that use the Near Field Communication type application, and that comprises a host wired data interface stage (<NUM>) with an encoder (<NUM>) built to encode data based on a first interface protocol and to communicate the encoded data via N information lines (<NUM>);
a NFC controller (<NUM>), that is built to process a Near Field Communication type contactless interface (<NUM>) and that comprises a NFC controller wired data interface stage (<NUM>) with a first decoder (<NUM>), built to communicate via the N information lines (<NUM>) with the host wired data interface stage (<NUM>) based on the first interface protocol, and with a second decoder (<NUM>), built to communicate via the N information lines (<NUM>) with another host wired data interface stage of another host processor based on a second interface protocol;
a protocol selection stage (<NUM>) of the NFC controller wired data interface stage (<NUM>), that is built to select the first decoder (<NUM>) or the second decoder (<NUM>) to decode the data received via the N information lines (<NUM>) according to the selected first interface protocol or the selected second interface protocol,
characterized in that
the protocol selection stage (<NUM>), is built to analyze signals on at least one of the N information lines (<NUM>) based on a fixed information line connection scheme for each of the first interface protocol and the second interface protocol during a boot procedure after power-on of the NFC controller (<NUM>) to select either the first decoder (<NUM>) or the second decoder (<NUM>) to be used to decode the data received via the N information lines (<NUM>) according to the selected first interface protocol or the second interface protocol.