doc:it_IT: update I2C summary

Update Italian translation following these changes

commit d77367fff7 ("docs: i2c: summary: document use of inclusive language")
commit 20738cb9fa ("docs: i2c: summary: be clearer with 'controller/target' and 'adapter/client' pairs")
commit 1e926ea190 ("docs: i2c: summary: document 'local' and 'remote' targets")
commit d77367fff7 ("docs: i2c: summary: document use of inclusive language")
commit a5b88cb9fd ("docs: i2c: summary: update speed mode description")
commit 75d148c90a ("docs: i2c: summary: update I2C specification link")
commit d18b822c8f ("docs: i2c: summary: start sentences consistently.")

Signed-off-by: Federico Vaga <federico.vaga@vaga.pv.it>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20240921215729.23796-1-federico.vaga@vaga.pv.it
This commit is contained in:
Federico Vaga 2024-09-21 23:57:29 +02:00 committed by Jonathan Corbet
parent 0bfc0e9af4
commit fba11db076

View File

@ -3,21 +3,17 @@ Introduzione a I2C e SMBus
==========================
I²C (letteralmente "I al quadrato C" e scritto I2C nella documentazione del
kernel) è un protocollo sviluppato da Philips. É un protocollo lento a 2 fili
(a velocità variabile, al massimo 400KHz), con un'estensione per le velocità
elevate (3.4 MHz). Questo protocollo offre un bus a basso costo per collegare
dispositivi di vario genere a cui si accede sporadicamente e utilizzando
poca banda. Alcuni sistemi usano varianti che non rispettano i requisiti
originali, per cui non sono indicati come I2C, ma hanno nomi diversi, per
esempio TWI (Interfaccia a due fili), IIC.
kernel) è un protocollo sviluppato da Philips. É un protocollo a 2 fili (a
velocità variabile, solitamente fino a 400KHz, e in modalità alta velocità fino
a 5 MHz). Questo protocollo offre un bus a basso costo per collegare dispositivi
di vario genere a cui si accede sporadicamente e utilizzando poca banda. I2C è
ampiamente usato nei sistemi integrati. Alcuni sistemi usano varianti che non
rispettano i requisiti originali, per cui non sono indicati come I2C, ma hanno
nomi diversi, per esempio TWI (Interfaccia a due fili), IIC.
L'ultima specifica ufficiale I2C è la `"Specifica I2C-bus e manuale utente"
(UM10204) <https://www.nxp.com/webapp/Download?colCode=UM10204>`_
pubblicata da NXP Semiconductors. Tuttavia, è necessario effettuare il login
al sito per accedere al PDF. Una versione precedente della specifica
(revisione 6) è archiviata
`qui <https://web.archive.org/web/20210813122132/
https://www.nxp.com/docs/en/user-guide/UM10204.pdf>`_.
(UM10204) <https://www.nxp.com/docs/en/user-guide/UM10204.pdf>`_ pubblicata da
NXP Semiconductors, al momento della scrittura si tratta della versione 7
SMBus (Bus per la gestione del sistema) si basa sul protocollo I2C ed è
principalmente un sottoinsieme di protocolli e segnali I2C. Molti dispositivi
@ -27,38 +23,62 @@ SMBus. I più comuni dispositivi collegati tramite SMBus sono moduli RAM
configurati utilizzando EEPROM I2C, e circuiti integrati di monitoraggio
hardware.
Poiché SMBus è principalmente un sottoinsieme del bus I2C,
possiamo farne uso su molti sistemi I2C. Ci sono però sistemi che non
soddisfano i vincoli elettrici sia di SMBus che di I2C; e altri che non possono
implementare tutta la semantica o messaggi comuni del protocollo SMBus.
Poiché SMBus è principalmente un sottoinsieme del bus I2C, possiamo farne uso su
molti sistemi I2C. Ci sono però sistemi che non soddisfano i vincoli elettrici
sia di SMBus che di I2C; e altri che non possono implementare tutta la semantica
o messaggi comuni del protocollo SMBus.
Terminologia
============
Utilizzando la terminologia della documentazione ufficiale, il bus I2C connette
uno o più circuiti integrati *master* e uno o più circuiti integrati *slave*.
Il bus I2C connette uno o più circuiti integrati controllori a dei dispositivi.
.. kernel-figure:: ../../../i2c/i2c_bus.svg
:alt: Un semplice bus I2C con un master e 3 slave
:alt: Un semplice bus I2C con un controllore e 3 dispositivi
Un semplice Bus I2C
Un circuito integrato **master** è un nodo che inizia le comunicazioni con gli
slave. Nell'implementazione del kernel Linux è chiamato **adattatore** o bus. I
driver degli adattatori si trovano nella sottocartella ``drivers/i2c/busses/``.
Un circuito integrato **controllore** (*controller*) è un nodo che inizia le
comunicazioni con i dispositivi (*targets*). Nell'implementazione del kernel
Linux è chiamato **adattatore** o bus. I driver degli adattatori si trovano
nella sottocartella ``drivers/i2c/busses/``.
Un **algoritmo** contiene codice generico che può essere utilizzato per
implementare una intera classe di adattatori I2C. Ciascun driver dell'
adattatore specifico dipende da un driver dell'algoritmo nella sottocartella
``drivers/i2c/algos/`` o include la propria implementazione.
Un circuito integrato **slave** è un nodo che risponde alle comunicazioni
quando indirizzato dal master. In Linux è chiamato **client** (dispositivo). I
driver dei dispositivi sono contenuti in una cartella specifica per la
Un circuito integrato **dispositivo** è un nodo che risponde alle comunicazioni
quando indirizzato dal controllore. In Linux è chiamato **client**. Nonostante i
dispositivi siano circuiti integrati esterni al sistema, Linux può agire come
dispositivo (se l'hardware lo permette) e rispondere alla richieste di altri
controllori sul bus. Questo verrà chiamato **dispositivo locale** (*local
target*). Negli altri casi si parla di **dispositivo remoto** (*remote target*).
I driver dei dispositivi sono contenuti in una cartella specifica per la
funzionalità che forniscono, ad esempio ``drivers/media/gpio/`` per espansori
GPIO e ``drivers/media/i2c/`` per circuiti integrati relativi ai video.
Per la configurazione di esempio in figura, avrai bisogno di un driver per il
tuo adattatore I2C e driver per i tuoi dispositivi I2C (solitamente un driver
per ciascuno dispositivo).
Sinonimi
--------
Come menzionato precedentemente, per ragioni storiche l'implementazione I2C del
kernel Linux usa "adatattore" (*adapter*) per i controllori e "client" per i
dispositivi. Un certo numero di strutture dati usano questi sinonimi nei loro
nomi. Dunque, durante le discussioni riguardanti l'implementazione dovrete
essere a coscienza anche di questi termini. Tuttavia si preferiscono i termini
ufficiali.
Terminologia obsoleta
---------------------
Nelle prime specifiche di I2C, il controllore veniva chiamato "master" ed i
dispositivi "slave". Questi termini sono stati resi obsoleti con la versione 7
della specifica. Inoltre, il loro uso viene scoraggiato dal codice di condotta
del kernel Linux. Tuttavia, potreste ancora trovare questi termini in pagine non
aggiornate. In generale si cerca di usare i termini controllore e dispositivo.