smart-card
 

Software Developers Manage NFC Complexity

Software, Middleware in NFC Ecosystem

 

The smart card industry is moving from demonstrating NFC technology to providing real world services. For manufacturers of mobile phones, NFC chip sets, SIM cards, smart cards, tags, readers or other systems: today's challenge is to win the mass market with reliable products in real world applications.

 

In 2011, NFC target applications expanded from the grail of payment, to a wider range of “unsecured applications” like pairing of annex systems with NFC phones. The industries’ message is clear: “We want the killer application that will make NFC a household word… even if that killer app is not a secure app.”

 

To inspire application developers, mobile phone manufacturers are vying for their attention with some enticing NFC phones. But, even with hardware in their hands, issues of reliability and ease of software implementation risk slowing the fielding of NFC applications.

 

One way to encourage proliferation of applications is via reliable middleware that supports NFC interoperability but doesn’t require application developers to get bogged down in NFC complexity. However, the challenge for engineers creating that software middle layer is daunting. Luckily a number of  tools are available to help software programmers fully understand NFC, isolate errors and communicate problems clearly to hardware designers.

 

Necessary NFC Complexity? 

With NFC, isolating technology problems can be quite challenging. The NFC chip set in a mobile phone is, essentially a router that manages signals via any of a range of communication protocols (ISO 18092, ISO 14443, ISO 15693, FeliCa, SWP, and more). Chip sets may also support several complementary interfaces such as I2C, SPI and USB. This complexity allows NFC technology to function when faced with a variety of technologies in today's mobile phone, identity, ticketing and payment industries. It also allows NFC to leverage existing value-added components, infrastructures, and the many companies capable of supplying and supporting these.

 

Companies developing the NFC applications that allow users to ride the subway, pay for a coffee, or transfer images to a printer, expect NFC hardware implementation to be transparent. NFC systems are their gateway, and its inner workings (or failings) are not  the problem of the application developer.

 

As a result, NFC complexity must be managed by middleware in a variety of components like NFC chip sets, SIM cards and external RF systems or objects. For the NFC chip set, this means middleware that identifies and routes connections internally while respecting protocol-defined timing constraints. This must be done even when the system is faced with multiple, concurrent communications from secure and non-secure applications. The problem sources are as numerous as the potential suppliers of components and software for these applications.

 

Implementers of middleware in cards, tags, systems and application processors are  complementary to NFC chip sets. Being a trusted partner in this rich ecosystem requires that suppliers translate NFC complexity into reliability and ease-of-implementation. They must also be able to communicate issues across the frontiers of hardware and software and in the language of the relevant protocols and standards.

 

Foundations of Reliable Middleware

For software developers responsible for the middleware in NFC compatible products, specific, tools can help them fully understand NFC, diagnose causes of software failure and communicate these clearly to system designers.
Diagnostic tools (a.k.a. “spies”) allow users to look inside the interactions between NFC components and see what occurs in terms of protocols, digital signals and (where necessary) signal analog/electrical characteristics. These tools provide diagnostic features at the protocol and application levels. Features include views of application data values and in some cases reconstitution of those values as the high-level application information such as texts or images. At protocol level, software developers can see how data is managed within the protocol-specific packets. In addition, the spy allows software developers to see how the system manages application data from end-to-end (ex. from the RF component to NFC chip-set to SIM card, to Application processor).

 

When necessary, more advanced tools simulate signals allowing users to isolate problems. This is best done using scripted tests that can reconstitute sequences of events associated with an error. Script-based testing facilitates isolation of failures and their causes in a manner that can be easily reproduced by hardware support and design teams. These same tools are used widely in laboratories for component development and certification. So, not only do they help software developers understand NFC technology in the same manner as component designers, in many cases test results and cases may be exchanged with hardware teams involved in the identification and resolution of design problems.

 

Tool cost remains a critical issue for software developers. While NFC gains momentum, return on investment remains a hope for the future. However, the tools required to test digital and application levels (interesting for software development) demand less equipment and fewer functionalities than a full test bench. The price tag is a fraction of what is required for full analog and digital testing platforms that are used develop and certify components.

 

More importantly, many companies would like to take advantage of NFC to position themselves for future business. However, some companies hesitate due to lack of understanding of the technology and NFC implications for their products. Others engage in development, but are slowed by evolving standards or problems with hardware implementation. A common exchange between hardware and software teams involves extracting relevant code that software developers send to support engineers, who then struggle to understand the context and the problems. Here, the right tools can help companies rapidly understand and master NFC technology and standards. Tools can also assist in rapid isolation problems with test cases and efficient communication to hardware designers or support teams.

 

The initial challenge of getting NFC hardware may be behind us. But to take full advantage of NFC, a companies’ products must facilitate application development. For these companies, any delay in proliferation of applications on their NFC product can mean the difference between having a return on investment or missing the NFC wave altogether.

 

NomadLAB Protocol Analyzer