Rabbit Semiconductor RCM3200Le scelte progettualiRabbit Semiconductor RCM3200. Quando si è pronti per iniziare a progettare un sistema embedded per il networking, devi prendere delle decisioni circa l'hardware del dispositivo e il codice di programmazione che controllerà l'hardware. A un estremo, si può fare tutto da soli, l'interfacciamento un chip controller Ethernet a una CPU e la scrittura di codice per supportare la comunicazione Ethernet e protocolli Internet utilizzato dal dispositivo. Oppure si può risparmiare un sacco di tempo a partire con un modulo che contiene una CPU, interfaccia Ethernet e il supporto software per le comunicazioni Ethernet e protocolli Internet. Oppure si può scegliere una via di mezzo, come l'utilizzo di una libreria software, ma a condizione di progettare il proprio circuiti. Networking Questo tutorial inizia con l'introduzione di una campionatura di prodotti disponibili per la messa in rete dei sistemi embedded. Se non in ultima analisi, si seleziona uno dei prodotti descritti, rivedendo le opzioni possono aiutare a decidere le modalità di approccio di un progetto. Ogni computer in una rete Ethernet deve avere un controller Ethernet, e ci sono scelte anche qui. Questo tutorial in rete di discutere in maniera approfondita descrive le funzionalità e il funzionamento dei popolari controller Ethernet. Scelta dei componenti
Come per qualsiasi progetto, la familiarità, possono fare una grande differenza nel modo in cui è facile ottenere qualcosa di attivo e funzionante. Sul lato software, sia C e Java sono linguaggi per la programmazione in rete di sistemi embedded. Se si dispone di esperienza in una di queste lingue, ha senso attaccare con esso. Sul lato hardware, se avete esperienza con una famiglia di CPU particolare, rende spesso il senso di stare con se possibile, pure. Allo stesso tempo, se vi è un prodotto che si adatta perfettamente il vostro scopo, ma ci vorrà del tempo per master, può essere utile per scavare e imparare qualcosa di nuovo, soprattutto se è possibile utilizzare le conoscenze in altri progetti in futuro. Questo libro non ha spazio per descrivere tutte le possibilità, e di prodotti nuovi e aggiornati continuamente diventano disponibili. I collegamenti alle informazioni più recenti sui prodotti descritti ed altri, visita la pagina: Lakeview Research Ethernet Embedded a www.Lvr.com. Soluzioni CompleteRabbit Semiconductor RCM3200In sintesi: A fast-Z80 CPU derivati con abbondanza di I / O, EMI, e un sistema completo di sviluppo, tra cui un compilatore C. Sostegno Ethernet: 10BASE-T e 100BASE-TX. Fonte: Rabbit Semiconductor (www.rabbitsemiconductor .) com. Hardware. Il RCM3200 RabbitCore C-programmabili con modulo Ethernet (articolo Network 3-1) è un circuito che contiene Rabbit Rabbit Semiconductor 3000 a microprocessore, che è un molto migliorata e potenziata derivato della Zilog, Inc. 's microprocessore Z80 venerabile. Il circuito è più piccolo di un biglietto da visita e supporta una vasta gamma di I / O delle interfacce. Il microprocessore Rabbit 3000 ha sette 8-bit I / O ports. Molti dei bit può avere funzioni speciali, tra cui sei porte seriali per la comunicazione asincrona e sincrona e Infrared Data Association (IrDA), protocolli, una porta parallela bidirezionale, due ingressi cattura canali, quattro pulse-width modulation (PWM) uscite, e due unità decoder quadratura con ingressi per i moduli ottici encoder incrementale. In aggiunta alle porte di I / O, vi è un bus di memoria esterna con 8 bit di dati e 20 linee di indirizzo. L'alimentazione può variare da 3,6 V a basso quanto 1,8 V. Un contatore che funziona come un orologio in tempo reale ha un pin di alimentazione separata per rendere più facile per fornire batteria di backup. Il chip è disponibile in a 128-pin LQFP (low profile quad flat pack) o 128-ball TFBGA (thin-profile fine-ball grid array pitch) del pacchetto. Un sistema può utilizzare o preemptive multitasking cooperativo. In multitasking cooperativo, i compiti devono decidono di collaborare per non utilizzare più la loro quota di tempo di processore. Dynamic C raggiunge il multitasking cooperativo attraverso l'uso di costatements e cofunctions. Un costatement è una lista di istruzioni con un puntatore che tiene traccia di quali istruzione da eseguire successiva. A costatement in genere funziona come una dichiarazione in un elenco di istruzioni che vengono eseguite in sequenza in un ciclo. All'interno di un costatement, una dichiarazione WAITFOR controllo può test per scoprire se una funzione ha compiuto o è verificato un timeout. WAITFOR se restituisce true, il costatement continua con l'istruzione successiva nella lista. Se restituisce WAITFOR false, la costatement salta alla sua parentesi di chiusura. La prossima volta che la costatement esegue, il costatement inizia a WAITFOR che in precedenza ha restituito false. In questo modo, il codice può farsi strada attraverso una serie di affermazioni senza essere bloccati da una dichiarazione che richiede molto tempo per eseguire. Una dichiarazione WAITFOR può chiamare qualsiasi funzione che restituisce un valore. Nell'esempio che segue, un loop infinito per i supplenti tra chiamando il tcp_tick (), funzione che svolge un trattamento di fondo per le comunicazioni TCP e UDP, e un costatement la cui funzione è quella di inviare un datagramma una volta al secondo. for (;;) (tcp_tick (NULL); costate (/ / wait secondo DelaySec tra le invia. WAITFOR (DelaySec (1)); / / invia un datagramma per l'host remoto. send_datagram ();)) La prima volta che la costatement esegue, il WAITFOR (DelaySec (1)), istruzione viene eseguita e salva un valore che indica l'ora corrente. L'istruzione restituisce false e salta l'esecuzione di colmare il costatement di brace, poi all'inizio del ciclo for. Ogni volta che attraverso il ciclo, WAITFOR (DelaySec (1)) esegue, restituendo FALSE fino al secondo ha trascorso. Al ritorno vero, l'esecuzione continua con l'send_datagram () dichiarazione. Questa dichiarazione invita send_datagram dell'applicazione () la funzione, che invia un datagramma a un host remoto. L'esecuzione del programma poi loop Torna alla WAITFOR () dichiarazione, che riavvia i tempi di ritardo. Argomenti cofunctions Dynamic C sono simili a costatements, ma può accettare e ritorno. Costatements e cofunctions sono convenienti per molte applicazioni, ma è anche possibile ottenere il multitasking cooperativo con macchina dello Stato di programmazione basato su. Macchine di Stato può essere utile quando il codice di programma esegue ripetutamente una serie di compiti, ma non sempre nello stesso ordine. Un'istruzione switch AC possibile implementare una macchina a stati. Per esempio, un server TCP può utilizzare un'istruzione switch per decidere quale codice da eseguire a seconda dello stato corrente della connessione. Stati possibili potrebbe essere l'inizializzazione di un socket, in attesa di una connessione, riceve una richiesta, che riceve le intestazioni, l'invio di una risposta, e in attesa di chiudere una connessione. Esempio state.c Rabbit Semiconductor illustra questo approccio. In preemptive multitasking, ogni attività è garantito il tempo di processore. Non c'è bisogno di dipendere da altri compiti a cedere. Dichiarazione Dynamic C's fetta preemptive multitasking permette di eseguire un compito per un intervallo di tempo, o il periodo, misurato in unità di 1 / 1024 secondi. Alla fine della fetta, il compito sospende. Se tutte le funzioni principali in un programma di utilizzare le dichiarazioni loop slice, è possibile determinare la frequenza di ogni attività riceve la sua fetta dal numero totale di fette. Una limitazione all'uso di fette di comunicazione TCP / IP in Dynamic C è che tutti i TCP / IP funzionalità deve avvenire in una sola fetta. Il MicroC / OS-II modulo libreria fornisce un altro modo per ottenere il multitasking preemptive. La documentazione per la Dynamic C e i moduli hardware comprende tutta una serie di manuali dettagliati. Rabbit Semiconductor sito web ospita un tech-support Bulletin Board. In aggiunta, un coniglio-semi e-mail lista di discussione per gli sviluppatori è disponibile presso www.groups.yahoo.com. Un'altra opzione di programmazione per i moduli Rabbit è il WinIDE Integrated Development Environment da Softools, Inc. (www.softools.com). Come il Dynamic C, WinIDE include un editor, un compilatore ed un linker, la possibilità di caricare codice compilato nella RAM o nella memoria flash, e un debugger. Il controllo Cross compilatore C è un completo compilatore C standard. Il codice compilato è più piccolo e più veloce rispetto al codice compilato con il Dynamic C. un articolo presentato da Daniel R. Disclaimer:Il nostro sito non è responsabile per il contenuto di questo articolo. Webarticles è una risorsa gratuita di informazioni. Importante: Questo articolo "Rabbit Semiconductor RCM3200" è stato tradotto da un software automatico. Ci dispiace per eventuali errori di ortografia che possono essersi verificati. Grazie per la vostra comprensione.
|
|||||
| Online: 488 users browsing the articles directory |
|
|