CMX Systems – USB stack

For more information:

Ohad Beit-On

ohad@sightsys.co.il

054-2584032

CMX offers an optimized USB stack for various embedded CPUs and MCUs.

CMX-USB Device

CMX-USB Host

CMX-USB OTG

usb stack

 

CMX-USB Device

The CMX-USB device stack offers a wide selection of Add-On options including an HID class implementation supporting Human Interface Devices such as a keyboard, mouse or joystick, a full USB Mass Storage Class with optimized drivers for accessing MMC/SD cards or other devices, a CDC class implementation for supporting standard communications ports, Media Transfer (MTP) Class for portable media devices, Pictbridge Extension for MTP Class, RNDIS for Remote Networking, ECM for Ethernet Networking Control, Audio, MIDI, Printer, Personal Healthcare Class and a Bootloader. USB Mass Storage is fully compatible with CMX-FFS-THIN and CMX-FFS-FAT File Systems.

CMX is constantly adding new processors, for more information please contact us.

On Chip USB controllers:
Most Cortex-M3 and Cortex-M4 processors; Atmel: AT91SAM7xxx, AT91SAM9xxx, AT91RM9200, AVR32; Freescale: imX2x/3x/5x, JM60/128, MPC834x, MCF52xx, MCF5222x, MCF53xx, MCF54xx; Fujitsu: FM3; Microchip: PIC24, PIC32; NXP: LPC11xx, 2148, 2368/78/88, 2468/78, 28xx, 29xx, 31xx, 32xx; Renesas: SH72xx, RX100, RX600; STMicroelectronics: STR7xx, STR9xx; TI: MSP430, DSP 5509A, 6457.

External USB controllers:
NXP ISP1XXX and Maxim 3421E

CDC Class

The CMX-USB-CDC-ACM module enables the designer to provide a virtual USB serial port on the embedded target which acts as a standard serial port and can be accessed using simple, serial API functions. CMX-USB-CDC-ACM is optimized to use minimal RAM and ROM and requires just the control channel endpoint and a single interrupt endpoint.

CMX-USB-CDC-ECM is an Ethernet Control Model driver handling the exchange of Ethernet framed data between a USB Host and Device.

HID Class

The CMX-USB-HID Class driver provides support for Human Interface Devices such as a mouse, keyboard and joystick.

Mass Storage

CMX-USB-MS allows you to connect an embedded system to an embedded Host or PC and have the embedded system appear as a mass storage device to the host system.

Media Transfer Protocol

CMX-USB-MTP Class driver provides the Windows XP/Vista compliant Media Transfer Protocol (MTP) widely used in the design of portable media devices. This class driver option and Mass Storage alternative, appears as a standard drive to the host and can also be used with CMX’s file systems to provide synchronized host / target file system access as well as API controlled file system access.

Pictbridge

CMX-USB-Pictbridge is a USB Add-On option which, when used in conjunction with CMX-USB-MTP, allows images to print directly from an image source without the need for a PC. This option also includes XML parser for encoding and decoding PictBridge protocol objects.

Remote Network Driver Interface (RNDIS)

CMX-USB-RNDIS is a class driver that allows embedded devices to connect to hosts over USB and to appear as a standard network card. The RNDIS class driver includes a virtual Ethernet driver with a simple API that provides for easy integration with a TCP/IP stack or to another Ethernet driver interface.

Personal Healthcare Class

CMX-USB-PHDC is a USB device class option designed for communications requirements for medical devices used in the healthcare industry.

Audio Class

CMX-USB-AUD enables an embedded device to play audio output from a USB host device (PC) or to send audio input, such as a microphone, to a USB host in conjunction with the CMX-USB-HID class driver used for audio device control.

Printer Class

The CMX-USB-PL class driver enables USB printers to be attached to an embedded device which generates pages in the PCL5 format.

MIDI Class

The CMX-USB-MIDI class driver is available for embedded USB devices which implement the MIDI (Musical Instrument Digital Interface) protocol.

USB Device Bootloader

The CMX-USB-BL Device Bootloader is a standalone system which allows an application to download new application code to the target. Using the developers’ trigger mechanism, the Bootloader accepts a new image from a host and programs it into the device. The footprint of the CMX-USB-BL is less than 4k bytes and can be held as a permanent, reliable boot-stub on a single small sector flash which handles all future firmware upgrades.

Host developer options for the download program include:

  1. Complementary sample application that works with the freely available libusb.
  2. Ability to use generic USB host interface such as Winusb from Microsoft.

 

 

 

CMX-USB Host

CMX-USB Host stacks (OHCI, EHCI and non-compliant) are designed for processors with both integrated USB host controllers and external USB host controllers. The CMX-USB Host package offers Class drivers for Mass Storage, CDC, HID, Audio, MIDI, FTDI, Hub, OBEX, ECM, RNDIS, MTP, Printer and a Bootloader. CMX-USB Host Mass Storage is fully compatible with CMX-FFS-THIN, CMX-FFS-FAT, and CMX-FFS-SAFE-FAT File Systems and will work with or without an RTOS.

CMX is constantly adding new processors, for more information please contact us.

On Chip USB controllers:
Most Cortex-M3 and Cortex-M4 processors; Atmel: AT91SAM9xxx, AT91RM9200, AVR32; Freescale: iMX2x, 3x, 5x, MPC834x, JM60/128, MCF52xx, 5222x, 5225x, 5227x, 53xx, 54xx; Microchip: PIC24, PIC32; NXP: 23xx, 24xx, 29xx, 31xx, 32xx; Renesas: RX100, RX600.

External USB controllers:
NXP ISP1XXX and Maxim 3421E

Mass Storage

CMX-USBH-MS is designed for connecting USB mass storage devices to an embedded USB Host controller and allows a standard sector-based FAT file system to be connected to a USB mass storage device. CMX-USBH-MS supports multiple volumes and flash drives and is compatible with all CMX FAT file systems.

CDC Class

The CMX-USBH-CDC-ACM enables the designer to provide a virtual USB serial port on the embedded target which acts as a standard serial port and can be accessed using simple, serial API functions. CMX-USBH-CDC is optimized to use minimal RAM and ROM and requires just the control channel endpoint and a single interrupt endpoint.

CMX-USBH-CDC-ECM is an Ethernet Control Model driver handling the exchange of Ethernet framed data between a USB Host and Device.

CMX-USBH-CDC-EEM is the Ethernet Emulation Model class driver implementation for simplified networking over USB.

CMX-USBH-CDC-OBEX provides support for the Object Exchange protocol intended for transmitting data objects between devices.

HID Class

CMX-USBH-HID Class driver provides support for Human Interface Devices such as a mouse, keyboard and joystick. Descriptor parser included.

Audio Class

The CMX-USBH-AUD Audio Class driver supplies a wide range of audio functions for embedded USB Hosts supporting USB speakers and / or microphones. Supporting both TYPE I ( PCM/PCM8) and TYPE II ( MPEG ) stream formats, CMX-USBH-AUD provides sample rate adjustment for the audio device rate, volume and mute control, graphic equalizer, loudness, bass boost, input terminal ( IT ) of streaming type for playback, and output terminal ( OT ) for recording. Processing features provided include; up/down mix, Dolby Prologic, 3D stereo extender, reverb, chorus, compression and processing unit extension. CMX-USBH-AUD also includes a mixer unit, line in or microphone selection and AF Version 1 (full speed).

MIDI Class

The CMX-USBH-MIDI class driver is available for embedded USB host designs which implement the MIDI (Musical Instrument Digital Interface) protocol.

Printer Class

The CMX-USBH-PL class driver enables USB printers to be attached to an embedded host which generates pages in the PCL5 format.

FTDI Class

The CMX-USBH-FTDI driver is available for embedded designs which include FTDI USB to Serial converter devices.

Hub Class

CMX-USBH-HUB provides support for the connection of one or more external USB hubs to the Host system.

Remote Network Driver Interface (RNDIS)

CMX-USBH-RNDIS is a class driver option providing RNDIS host functionality for an embedded target.

Media Transfer Protocol

The CMX-USBH-MTP class driver enables users to implement MTP host functionality and access MTP enabled devices. A user-friendly API is provided for accessing the connected MTP devices. Since MTP is an extension of PTP, PTP devices can also be accessed using CMX-USBH-MTP.

Pictbridge

CMX-USBH-Pictbridge is a USB Add-On option which, when used in conjunction with CMX-USB-MTP, allows images to print directly from an image source without the need for a PC. This option also includes XML parser for encoding and decoding PictBridge protocol objects.

USB Host Bootloader

CMX-USBH-BL Host Bootloader provides the ability to update your product from a flash drive. With a footprint of less than 12K for code and under 2K RAM, the Host Bootloader is installed as a permanent bootstub and based on the developers’ design, CMX-USBH-BL can automatically check the flash drive for a new image and upload it to the target.

 

 

CMX-USB OTG

The CMX-USB suite offers an optional OTG (On-The-Go) Module for applications whereby two devices must negotiate and decide which will act as a USB Host and which will operate as a USB device. The CMX-USB-OTG module is available for those processors which are equipped with an OTG controller that supports the HNP and SRP protocols which are used for USB host and USB device negotiation.

More often, embedded applications that require both USB host and USB device capability require dual mode operation. In dual mode, when a USB host is inserted, the host stack will start and when a USB device is inserted, the device stack will respond. This is accomplished by recognition of the ID pin on the USB OTG connector and is supported by CMX USB host and device stacks. For dual mode operation, OTG software is not required.

Compilers for C/C++Real Time Operating SystemsDebuggers & JTAG EmulatorsEvaluation Boards & Starter KitsMiddleware & SW componentsHW Testing solutions – Boundary-Scan (JTAG) & FunctionalProtocol and Bus Analyzers & StimulatorsHome of CANopen, EtherCAT, PowerLink, ProfiNet– SW Protocols, devices & SolutionsIn-Circuit/Parallel Engineering & Production Device Programmers (Flash/EPROMs/CPLDs…)Video & Audio SW CODECs components

For more information: Ohad Beit-On ohad@sightsys.co.il 054-2584032