Hardware
Firmware uC
Masters PCB
Circuiti Ibridi
Software Custom
Embedded Linux
Embedded Linux Board
Moduli I/O USB
Moduli I/O Ethernet
Moduli A/D Ethernet
LPC900 Programmer
PRM-W1 Boards
USB Key
Cerca nel sito
Contatti
L'Autore
|
I2C Bus
Il bus I2C e' un bus seriale interno creato originariamente da
PHILIPS,
ma si e' talmente diffuso da essere oggi considerato uno standard
"de
facto" per i bus interni delle apparecchiature elettroniche. E'
composto
da solo DUE linee: data e clock; nessun chip select da gestire, come
invece bisogna fare nel caso di altri bus seriali come SPI e
Microwire.
Puo' lavorare in multimaster provvedendo automaticamente alla
soluzione
dei conflitti di comunicazione. Dal punto di vista "logico"
assomiglia
vagamente ad un CAN Bus in piccolo.
Il costo puo' essere considerato "zero", in quanto il bus I2C e'
gia' compreso a bordo di un gran numero di microcontrollori e
periferiche a basso costo. Anche dal punto di vista dei componenti
aggiuntivi, non e' necessario nulla, se non la connessione (linee
su
stampato e/o cavetti + pochi elementi passivi tipo resistenze di
pull-up) tra gli elementi "intelligenti" che possono essere
microcontrollers ma anche altre periferiche, come display LCD,
EEPROM,
AD converter, ecc.
Ha una buona immunita' ai disturbi (i filtri sono integrati
on-chip), e non ha bisogno di ulteriori line drivers per linee
lunghe
fino a qualche metro. Per linee piu' lunghe e' disponibile un
piccolo
line driver che permette di arrivare anche a decine (100m max
circa) di
metri di linea, ma di solito per i sistemi I2C non e' necessario.
Le principali caratteristiche che lo rendono appetibile sono:
Solo due linee richieste (non c'e' bisogno di alcun segnale
chip
select)
Line drivers integrati a bordo di numerosi microcontrollers e
periferiche
Risoluzione automatica dei conflitti di comunicazione
Protocollo di indirizzamento integrato nel bus driver o
facilmente implementabile
Molto diffuso
Basso costo
Alto numero di dispositivi collegabili al bus (127 indirizzi
con
modalita' 8 bit, 1024 con modalita' 10 bit)
Fino a 100Kbit/sec in standard mode, fino a 400kbit/sec in
fast
mode, fino a 3.4Mbit/sec in high speed mode
Adattamento automatico alla velocita' delle periferiche piu'
lente
Tensione di linea 5V (non e' necessario creare alimentazioni
aggiuntive)
Buona immunita' ai disturbi
Di seguito alcuni dei benefici indicati da Philips nell'utilizzo del
bus I2C:
Designer benefits
Functional blocks on the block diagram correspond with the
actual
ICs; designs proceed rapidly from block diagram to final
schematic.
No need to design bus interfaces because the I2C-bus
interface
is
already integrated on-chip.
Integrated addressing and data-transfer protocol allow
systems
to
be completely software-defined
The same IC types can often be used in many different
applications
Design-time reduces as designers quickly become familiar with
the
frequently used functional blocks represented by I2C-bus
compatible ICs
ICs can be added to or removed from a system without
affecting
any other circuits on the bus
Fault diagnosis and debugging are simple; malfunctions can be
immediately traced
Software development time can be reduced by assembling a
library
of reusable software modules.
Extremely low current consumption
High noise immunity
Wide supply voltage range
Wide operating temperature range.
Manufacturer benefits
The simple 2-wire serial I2C-bus minimizes interconnections
so
ICs have fewer pins and there are not so many PCB tracks; result
smaller and less expensive PCBs
The completely integrated I2C-bus protocol eliminates the
need
for address decoders and other "glue logic"
The multi-master capability of the I2C-bus allows rapid
testing
and alignment of end-user equipment via external connections to
an
assembly-line
The availability of I2C-bus compatible ICs in SO (small
outline),
VSO (very small outline) as well as DIL packages reduces space
requirements even more.
I2C-bus compatible ICs increase system design flexibility by
allowing
simple construction of equipment variants and easy upgrading to
keep
designs up-to-date. In this way, an entire family of equipment can
be
developed around a basic model. Upgrades for new equipment, or
enhanced-feature models (i.e. extended memory, remote control,
etc.)
can
then be produced simply by clipping the appropriate ICs onto the
bus.
Il bus I2C e' ideale per le connessioni di parti
"intelligenti"
all'interno di apparecchiature relativamente piccole e in ambienti
non
molto disturbati.
Nel caso di apparecchiature piu' grandi e in ambienti molto piu'
disturbati, ci si dirige di solito verso il CAN bus.
PRECMA ha sviluppato sistemi complessi di controllo ad
intelligenza
distribuita basati sul bus I2C: per ulteriori informazioni,
approfondimenti o consulenze in merito, non esitate a contattarci.
|