Progetto USB CDC da Freescale e CMX

usb cdc freescale

L’USB è sempre stato una sfida per i progettisti. Poiché lo sviluppo USB richiede un approfondito know-how in driver host per sistemi operativi, i dispositivi driver in sistemi embedded ed applicazioni software così come il debug tra host stesso e dispositivi.

Un tipico sviluppo USB deve essere un progetto di cooperazione, poiché non si può trovare un guru che abbia familiarità con i domini tecnologici (driver host per Linux/Windows/Mac, applicazione software con GUI, dispositivo driver per specifiche piattaforme microcontroller).

Se desideri maggiori informazioni su questo prodotto Freescale, invia una richiesta ad Arrow utilizzando il seguente modulo.

Gli ingegneri possono assemblare ogni singolo componente, piuttosto che “inventarne” uno nuovo da zero.
Questa è la ragione per cui FTDI ha tanto successo sul mercato dei circuiti integrati USB. L’interfaccia dei circuiti integrati FTDI USB elimina il processo di sviluppo sul lato host. Gli ingegneri possono usare interfacce seriali convenzionali includendo UART ed SPI per la costruzione di dspositivi USB o host.
L’approccio FTDI è una via semplice. L’ho già utilizzata in altri progetti. Inoltre dobbiamo affrontare i seguenti punti:
Ampiezza di banda: La maggior parte dei microcontroller interfacciano FTDI con UART, che limita la totale prestazione del sistema.
Conformità Standard. In molti casi, abbiamo bisogno di una classe di dispositivi. Il driver seriale virtuale non basta in alcune applicazioni, che richiedono una specifica classe driver. Di sicuro, FTDI introduce nuovi prodotti per la copertura delle classi USB, che in parte soddisfano questo punto.

Classi USB

L’ USB-IF incrementa la classe USB. Fino ad oggi, abbiamo le seguenti classi:

  • Classe Audio
  • Classe Dispositivi di Comunicazione
  • Classe HID
  • Classe Immagine
  • Classe Memorizzazione di Massa
  • Classe Stampanti
  • Classe Test e Misura
  • Classe Video
  • Classe Smart Card
  • Ulteriori specifiche complementari da siti Web USB-IF(usb.org)

Progetti Demo Gratuiti
Poiché vengono sempre più rilasciati prodotti USB al pubblico con progetti di riferimento. Lo sforzo di sviluppo è ridotto al minimo. In molti casi è possibile trovare progetti di riferimento per microcontrollori specifici da rivenditori software. Per Esempio, i sistemi CMX offre un pacchetto CMX USB Lite per microcontroller Freescale. Così fa MQX. CMX è abbastanza attivo sul mercato dei software USB.
Ha offerto uno stack USB su ColdFire v1/v2, MC9S08 di Freescale, ARM7TDMI e Cortex di ARM (NXP/ST/LMI) e microcontroller Renesas. Così è possibile riutilizzare i progetti demo. Ecco una lista per CMX

Stack USB per Freescale

  • AN3492: USB con Utilizzo Stack CMX USB
  • AN3523: Advanced CMX_USB_Stack Applications (pdf)
  • AN3564: Adatta l’applicazione USB con l’uso di MC9S08JM (pdf)
  • AN3565: USB ed uso di CMX USB Stack con dispositivi 9S08JM
  • AN3690: CAN-to-USB Bridge (pdf)
  • EVB51JM128QSG : EVB51JM128 Quick Start Guide (pdf)
  • DEMO9S08JM16QSG: DEMO9S08JM16 Quick Start Guide (pdf)
  • DEMO9S08JM60LAB: DEMOJM Lab Supplement for the 8-bit Flexis JM60 (pdf)
  • DEMO51JM128LAB: DEMOJM Lab Supplement for the 32-bit Flexis JM128 (pdf)
  • M52259CMXUSBLab: MCF52259 CMX USB – Lab Tutorial

Ulteriori informazioni sul sito Freescale

CMX USB Lite è un set di supporto per il completo Stack CMX USB. Si può trovare il progetto di riferimento con CMX USB Lite in HID (host e dispositivio), dispositivo CDC, MSD (host e dispositivo), MSD USB Bootloader. CMX non offre un progetto host USB CDC. Ma non preoccupatevi di comprare uno stack host CMX CDC. Atmel offre host driver CDC per i suoi microcontroller AVR USB. Anche Microchip offre una gamma completa USB con un tool di configurazione visuale. Include un progetto open source per un driver host USB CDC (ACM solamente). Non ho tempo di confermarlo.

In ogni modo, è possibile trovare una fonte adatta per progetto host CDC. Non è molto difficile portare i progetti menzionati sulla piattaforma che si predilige. Anche se si uniscono progetti open sopraddetti, non si tratta ancora di uno stack host USB CDC completo. Infatti, CDC è una classe generica, formata a sua volta dalle seguenti sotto-classi (o modelli).

  • CDC-ACM permette a qualunque dispositivo di comunicazione di fornire un’ interfaccia di comunicazione seriale (modem, lettori RFID).
  • CDC-ECM presenta costruttori per interfacciarsi con un dispositivo NIC standard. Tale interfaccia è di solito impiegata con una rete ad alta velocità di dispositivi LAN, che consente una velocità Ethernet alta per il trasferimento di dati attraverso USB.
  • OBEX è compatibile con la modalità funzione Wireless Mobile Communication OBEX.
  • WMC (Wireless Mobile Communication)- Device Management è compatibile con la modalità funzione Device Management, supportando un minimale comando AT a base modalità controllo.
  • RNDIS presenta CDC come modulo di comunicazione su PC Windows , poiché supporta
    il protocollo Microsoft RNDIS.

Ulteriori informazioni su USB.org

Metto in risalto i progetti CDC in questo articolo, perché è la classe più usata nella maggioranza delle applicazioni ed i progetti CDC rivelano un know-how in host e dispositivi di sviluppo .

Sebbene Freescale e CMX offrano anche driver per la classe host, è possibile sviluppare un proprio driver con tool di sviluppo per PC. Mi concentro sull’uso di progetti USB CDC per uno sviluppo di USB generici. Per esempio, le ultime release di microcontroller (Cortex-M3, Kirin3) hanno un’interfaccia USB host/OTG. Se il sistema può comunicare con dispositivi USB CDC fuori produzione (modem con cavo e wireless, WLAN NIC e Bluetooth dongle), riesce ad aggiungere più capacità e componenti.

Reference

CMX USB Lite for Freescale (Flexis JM, 8-bit & 32-bit)
AN7727 AVR280 USB Host CDC Demonstration | USB CDC Host for STK525 and AVRUSB Key
Microchip USB
USB CDC (ECM/ACM/OBEX/RNDIS), USBware, Embedded USB Software Solution
CDC and WMCDC Control Models from MSDN

RICHIESTA DI CONTATTO
Se desideri maggiori informazioni su questo prodotto Freescale, invia una richiesta ad Arrow utilizzando il seguente modulo.

Tags:,

Leave a Reply