Soluzioni USB da Freescale

MCF525x  Soluzioni USB da Freescale

Si può selezionare un’ampia gamma di velocità di core per i micro Freescale USB, che va da 2,1 MIPS a 410 MIPS. Naturalmente, i core ad alta velocità offrono la funzione USB solo come piccola parte delle funzioni e periferiche totali.

Ciò che Freescale massimizza, è, ad esempio, la capacità dell’ Hi-Speed integrata nei suoi prodotti MCF5xxx. Tra questi, alcuni microcontroller offrono la funzione solo con un supporto ULPI esterno, ma la sottofamiglia MCF525x è una vera e completa soluzione USB Hi-Speed tutto in uno con periferiche fisiche integrate:

high speed usb solutions freescale

Si può selezionare un’ampia gamma di velocità del core per i micro Freescale USB, che va da 2,1 MIPS a 410 MIPS. Naturalmente, i core ad altà velocità offrono la funzione USB solo come piccola parte delle funzioni e periferiche totali. Questa possibilità rende i prodotti USB Freescale molto versatili, consentendo loro di adattarsi nelle più svariate applicazioni. Una caratteristica ricercata delle altre periferiche è inclusa anche sul chip e si utilizzerà un controller Coldfire MCF5221xx come esempio:

Coldfire MCF5221xx

A differenza dei suoi concorrenti, che offrono microncontroller capaci di svolgere il ruolo di un dispositivo o di un controller OTG, Freescale fornisce anche circuiti integrati con la funzione completa di USB host, tutto compreso nel chip. L’MCF532x è uno di questi chip, che permette la completa costruzione di un unico sistema integrato su un unico chip con funzionalità di USB host, comunicazione Ethernet e display LCD integrato.

stack usb mini

Stack USB gratuito da CMX

Dal momento che la maggior parte dei produttori di microcontroller offrono lo stack USB gratuito per le più comuni classi di dispositivi USB, anche Freescale offre questa funzione fornite da una terza parte: CMX. Lo stack CMX per i microcontroller a 8 bit mette a disposizione tutte le possibili modalità di funzionamento.

Le classi di dispositivo supportate dallo stack sono:

    General HID
    Keyboard HID
    Mouse HID
    CDC device

Le classi host supportate dallo stack sono:

    HID Host
    Host Mass Storage

Diverse altre caratteristiche dello stack USB CMX lo rendono uno strumento prezioso per accelerare lo sviluppo e la diffusione. Qualsiasi codice utilizzando lo stack sarà estremamente portatile tra i microcontroller USB della Freescale ad 8 bit ed a 32 bit. Oltre alle modalità dispositivo ed host USB, offre anche un supporto per le funzionalità OTG, dove i requisitivi minimi per l’host sono richiesti dal dispositivo. E’ anche facile da integrare nel codice esistente attraverso il conosciuto CodeWarrior Development Studio, consentedo agli utenti di cambiare rapidamente il codice nel modo più rapido quando, per esempio, si aggiorna da UART a USB. Lo stack è supportato completamente sul sito Freescale da una vasta gamma di note di applicazione e progetti di riferimento che riguardano anche le API di programmazione, insegnando allo sviluppatore (anche i principianti) come ottenere una GUI decente che comunica con il loro micro USB Freescale. In aggiunta a tutto questo, lo stack CMX è progettato per usare minimamente le risorse di RAM e ROM, permettendo la selezione la selezione di una soluzione effettiva per un minor costo del progetto. Per rendere le cose ancora meglio, una varietà di software USB per prodotti correlati è disponibile anche sul sito CMX (www.cmx.com [1]): bootloader USB, piena funzionalità della memoria di massa e del fyle system (nel caso in cui si voglia creare una chiavetta di memoria).

Stack USB-MINI da Freescale
In aggiunta allo stack di terza parte, Freescale offer anche uno stack sviluppato da loro per la famiglia dei dispositivi JM a 8 bit.Questi fanno parte della serie di microcontroller Flexis, che include sia microcontroller a 8 bit sia a 32 bit. Nessuna versione dell’USB Hi-Speed è disponibile su essi, ma sono tutti dispositivi a piena velocità con il ricetramettitore sul chip. Lo stack include alcuni grandi gruppi funzionali:

    – USB module initialization
    – USB enumeration handler (gestisce le richieste standard USB per completare la numerazione USB)
    – USB module management

I vantaggi di questo pacchetto software sono sponsorizzati da Freescale come:

    -leggibilità e facilità di utilizzo (essi attualmente raccomandano di iniziare lo studio della famiglia JM a 8 bit basata su questo stack)
    -codice efficiente e utilizzo di poca RAM (l’implementazione di un’applicazione con il mouse richiede solo meno di 150 locazioni in RAM)
    -flessibilità

La struttura dello stack USB-MINI è come segue:
Un sistema di inizializzazione è per richiesto all’inizio, che imposta il clock del bus a 24 MHz, configura le resistenze pullup, il regolatore di voltaggio e i punti di contatto. Un diagramma grafico è simile a questo:

Dopo che l’inizializzazione è conclusa, segue un loop principale, dove vengono controllati i cambi di stato della macchina. I più importanti sono i flag che indicano che il buffer di ricezione è pieno.

Un’alternativa ai controlli effettuati nel main loop è una subroutine interrupt USB, implementata anche nello stack. Gestisce gli eventi USB, controlla i flag di interrupt uno per uno e quando uno di questi è impostato, l’ISR salta alla funzione associata (se l’interrupt è abilitato).

Scheda di dimostrazione per Flexis JM
Uno degli strumenti hardware forniti da Freescale per contribuire ad accelerare lo sviluppo USB è la scheda di dimostrazione DEMOJM. Consente una rapida valutazione, essendo accompagnata da due schede figlie più piccole.

Questa caratterizza i dispositivi MC9S08JM60 e MCF51JM128, abilitando la ricerca su entrambe le caratteristiche dei dispositivi USB e degli host USB. Lo stack USB CMX è anche incluso nel kit di sviluppo.

Partecipa alle discussioni, leggi le ultime notizie e consulta i prodotti Freescale Semiconductor su Farnell

One Response

  1. Emanuele 16 dicembre 2011

Leave a Reply