About the Customer:
Headquartered in Europe, our Customer is a leading provider of Fleet Management System.
For businesses that own/manage Fleets of Commercial Trucks, Passenger Vehicles or other similar Assets, robust and trust-worthy Driver Identification System (installed in the vehicles) is very critical.
This is necessary to allow only authorized access to assets and prevent instances of fraud.
Our customer, a reputed Fleet Management Solutions Provider, had developed an NFC based- driver and user identification solution for fleet operators.
The in-house teams of our customer had already developed hardware for USB card reader with NFC functionality. The card reader had been configured to support both smart contact as well as contactless card (NFC tags).
However, the customer sought to partner with an expert team for the development of a firmware solution.
This firmware had to be designed to facilitate the configuration of the NFC smart card reader, in order to detect and read smart NFC card/ tags .
Additionally, in order to enhance the usability of the advance driver identification solution, the customer had plans to integrate additional functionalities to the firmware layer.
The requirement for the additional functionalities was of the following nature:
- Enable/disable the NFC mode on the card reader to optimize power usage.
- The Smart card reader should be compatible with Linux and Windows PC.
- Configuration of the LEDs, associated with the NFC smart card reader, for correct detection of smart card along with any instances of error.
Embitel team consisting of an Embedded Firmware developer, IoT Solution architect, and Quality Assurance expert took charge of this project.
They conducted an in-depth evaluation of the customer’s project requirement along with the hardware platform.
This helped the team to create the project roadmap.
Following is a summary of the same:
- Firmware development:
- Development of USB Integrated Circuit Cards Interface Device (CCID ) Interface.(CCID is a USB protocol , which enables connection between smartcard and computer through card reader, via a standard USB interface).
- Development of Host standard PC/SC: Smart card reader interface library (PC/SC includes API for managing communication with smart card readers and a wide variety of smart cards).
- Device driver development for USB.
- Creating APDU (Application Protocol Data Unit) , a command-based Smart Card communication protocol required to securely connect the Card reader with the NFC card.The functions of smart card LEDs, as well as enabling/disabling of NFC on the card reader are managed through APDU.
- Identification and implementation of “Escape command APDU” to support reprogramming (read and write) of the card reader, specifically at the development stage.Contrary to APDU, the Escape command APDU is a non-standard protocol that can be used for Device (card reader) reprogramming, even when no smart card is in contact with the card reader.
- Integration with various NFC tag types , to be operable with the NFC card reader.
- Integration of Anti-collision Algorithm with the firmware.The algorithm helps to detect and prevent any collision caused due to RFID signals when multiple NFC cards are presented within the operating field of the card reader.In such a scenario, the Card reader is configured to read the NFC card/tag that is closest to it.
- Implementation of the firmware stack on a free RTOS.
- Demonstrate Compatibility with Multiple OS.The customer wanted the NFC card device to be compatible with a range of Operating systems including Linux and Windows.To demonstrate this, Embitel’s Product Engineering team developed a test application, along with a host interface – for Linux and Windows.
Post this, the firmware features were tested using the test application.
- Functionality testing on target platforms including PC and laptops (Windows/Linux based) and customer hardware board.
- Embitel team identified “Escape command APDU” method for directly reprogramming the card reader at the production stage. It helped in saving time during the device reprogramming. This approach proved to be a value-add during the development stage.
- Our team integrated a ready-to-deploy software stack, compatible with the hardware platform. This also helped in considerable reduction of the development time and cost.Additionally, Embitel’s 11+ years’ experience in embedded engineering & automotive product development, aided in the rapid delivery of a cost-effective solution.
Tool and Technologies:
- NFC Controller Dev Kit from NXP.
- Eclipse-based Integrated Development Environment.
- Cortex M4 based NFC Controllers.
- Supported Standards:
PC/SC, CCID compliant.
Compliant with ISO/IEC 7816-4.