NCM for LTE, MirrorLink and CarPlay
As LTE networks become ubiquitous for mobile and IoT data service, product designers are forced to optimize all aspects of the connection between the local equipment and the network. Although there are low-volume data applications in which the modem might be implemented as a full-speed USB device needing little more than MCCI’s CDC Ethernet USB class drivers, LTE radios deliver content at rates now approaching 1 Gbps.
By shortening data transit time from application to modem, designers can reduce radio-on time and substantially reduce system power. For this kind of throughput, full-speed devices and old data-transfer protocols are not optimal. Similarly, when implementing MirrorLink or Apple CarPlay to connect smart phones to cars, throughputs of 100 to 200 Mbps are needed in order to satisfy the users with quick response and smooth updates of the display.
For these kinds of devices, turn to MCCI for seamless, high-quality, high-throughput NCM functionality. MCCI was the primary contributor to and technical editor of the CDC NCM specification. Our implementations are the fastest in the industry!
MCCI offers NCM device protocol implementations in several forms:
- For RTOS and deeply embedded applications, MCCI offers a complete implementation as part of the MCCI USB DataPump. The network stack communicates with the device using the “Abstract NIC protocol,” thereby allowing a variety of devices to be supported without modifying higher-level source code.
- Operating-system-specific NCM protocol implementations are also available from MCCI. We offer support for Linux and Windows CE.
At the most basic level, modem-based products are throughput-restricted because the modem protocol CDC ACM (Abstract Control Model) uses PPP-encapsulated IP frames to communicate with the host PC. CDC NCM eliminates the overhead of CDC ACM and maximizes data flow to the handset.
Once the switch from a modem architecture to a network architecture is made, the problem of frequent interrupts must be addressed because CDC Ethernet and CDC ECM transfer only a single frame per USB transfer. Every time a USB transfer finishes, the processor must stop what it is doing and service the interrupt. This is very costly in terms of performance and battery life. CDC NCM includes many Ethernet frames within a single USB transfer, substantially reducing the interrupt burden.
Further improvements brought by NCM:
- A standard way of imposing structure on the raw USB pipe data stream has been defined so that Ethernet frames don’t have to begin or end on packet boundaries.
- Highly efficient DMA (Direct Memory Access) is used to move data directly from the USB transfer buffers into the final application buffer, web browser, etc.
- Cache handling and interrupt loading are optimized across all standards for mobile platforms and communications. This makes CDC NCM a good remedy in situations where excessive control plane activity results in unstable connections.
MCCI’s experience with NCM implementations began before the specification was completed. MCCI developed the Experimental NCM (ENCM) specification, which was used as the basis for the final NCM specification. MCCI’s NCM device implementation is used in the MCCI Catena 2210, which was selected as the reference test device by the MirrorLink Consortium for testing MirrorLink USB host implementations.