mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-22 16:06:04 -05:00
doc:it_IT: add translation for I2C summary and protocol
This patch adds the italian translation for I2C subsystem summary and protocol. Plus, a reference in the subsystem-apis page. Signed-off-by: Davide Benini <davide.benini@gmail.com> Signed-off-by: Federico Vaga <federico.vaga@vaga.pv.it> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240209220126.28042-1-federico.vaga@vaga.pv.it
This commit is contained in:
parent
80df668b74
commit
dc8769a882
5 changed files with 257 additions and 0 deletions
99
Documentation/translations/it_IT/i2c/i2c-protocol.rst
Normal file
99
Documentation/translations/it_IT/i2c/i2c-protocol.rst
Normal file
|
@ -0,0 +1,99 @@
|
|||
=================
|
||||
Il protocollo I2C
|
||||
=================
|
||||
|
||||
Questo documento è una panoramica delle transazioni di base I2C e delle API
|
||||
del kernel per eseguirli.
|
||||
|
||||
Spiegazione dei simboli
|
||||
=======================
|
||||
|
||||
=============== ===========================================================
|
||||
S Condizione di avvio
|
||||
P Condizione di stop
|
||||
Rd/Wr (1 bit) Bit di lettura/scrittura. Rd vale 1, Wr vale 0.
|
||||
A, NA (1 bit) Bit di riconoscimento (ACK) e di non riconoscimento (NACK).
|
||||
Addr (7 bit) Indirizzo I2C a 7 bit. Nota che questo può essere espanso
|
||||
per ottenere un indirizzo I2C a 10 bit.
|
||||
Dati (8 bit) Un byte di dati.
|
||||
|
||||
[..] Fra parentesi quadre i dati inviati da dispositivi I2C,
|
||||
anziché dal master.
|
||||
=============== ===========================================================
|
||||
|
||||
|
||||
Transazione semplice di invio
|
||||
=============================
|
||||
|
||||
Implementato da i2c_master_send()::
|
||||
|
||||
S Addr Wr [A] Dati [A] Dati [A] ... [A] Dati [A] P
|
||||
|
||||
|
||||
Transazione semplice di ricezione
|
||||
=================================
|
||||
|
||||
Implementato da i2c_master_recv()::
|
||||
|
||||
S Addr Rd [A] [Dati] A [Dati] A ... A [Dati] NA P
|
||||
|
||||
|
||||
Transazioni combinate
|
||||
=====================
|
||||
|
||||
Implementato da i2c_transfer().
|
||||
|
||||
Sono come le transazioni di cui sopra, ma invece di uno condizione di stop P
|
||||
viene inviata una condizione di inizio S e la transazione continua.
|
||||
Un esempio di lettura di un byte, seguita da una scrittura di un byte::
|
||||
|
||||
S Addr Rd [A] [Dati] NA S Addr Wr [A] Dati [A] P
|
||||
|
||||
|
||||
Transazioni modificate
|
||||
======================
|
||||
|
||||
Le seguenti modifiche al protocollo I2C possono essere generate
|
||||
impostando questi flag per i messaggi I2C. Ad eccezione di I2C_M_NOSTART, sono
|
||||
di solito necessari solo per risolvere problemi di un dispositivo:
|
||||
|
||||
I2C_M_IGNORE_NAK:
|
||||
Normalmente il messaggio viene interrotto immediatamente se il dispositivo
|
||||
risponde con [NA]. Impostando questo flag, si considera qualsiasi [NA] come
|
||||
[A] e tutto il messaggio viene inviato.
|
||||
Questi messaggi potrebbero comunque non riuscire a raggiungere il timeout
|
||||
SCL basso->alto.
|
||||
|
||||
I2C_M_NO_RD_ACK:
|
||||
In un messaggio di lettura, il bit A/NA del master viene saltato.
|
||||
|
||||
I2C_M_NOSTART:
|
||||
In una transazione combinata, potrebbe non essere generato alcun
|
||||
"S Addr Wr/Rd [A]".
|
||||
Ad esempio, impostando I2C_M_NOSTART sul secondo messaggio parziale
|
||||
genera qualcosa del tipo::
|
||||
|
||||
S Addr Rd [A] [Dati] NA Dati [A] P
|
||||
|
||||
Se si imposta il flag I2C_M_NOSTART per il primo messaggio parziale,
|
||||
non viene generato Addr, ma si genera la condizione di avvio S.
|
||||
Questo probabilmente confonderà tutti gli altri dispositivi sul bus, quindi
|
||||
meglio non usarlo.
|
||||
|
||||
Questo viene spesso utilizzato per raccogliere le trasmissioni da più
|
||||
buffer di dati presenti nella memoria di sistema in qualcosa che appare
|
||||
come un singolo trasferimento verso il dispositivo I2C. Inoltre, alcuni
|
||||
dispositivi particolari lo utilizzano anche tra i cambi di direzione.
|
||||
|
||||
I2C_M_REV_DIR_ADDR:
|
||||
Questo inverte il flag Rd/Wr. Cioè, se si vuole scrivere, ma si ha bisogno
|
||||
di emettere una Rd invece di una Wr, o viceversa, si può impostare questo
|
||||
flag.
|
||||
Per esempio::
|
||||
|
||||
S Addr Rd [A] Dati [A] Dati [A] ... [A] Dati [A] P
|
||||
|
||||
I2C_M_STOP:
|
||||
Forza una condizione di stop (P) dopo il messaggio. Alcuni protocolli
|
||||
simili a I2C come SCCB lo richiedono. Normalmente, non si vuole essere
|
||||
interrotti tra i messaggi di un trasferimento.
|
46
Documentation/translations/it_IT/i2c/index.rst
Normal file
46
Documentation/translations/it_IT/i2c/index.rst
Normal file
|
@ -0,0 +1,46 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
=========================
|
||||
Il sottosistema I2C/SMBus
|
||||
=========================
|
||||
|
||||
Introduzione
|
||||
============
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
summary
|
||||
i2c-protocol
|
||||
|
||||
Scrivere un device driver
|
||||
=========================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
Debugging
|
||||
=========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
Slave I2C
|
||||
=========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
|
||||
Argomenti avanzati
|
||||
==================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
.. only:: subproject and html
|
||||
|
||||
Indici
|
||||
======
|
||||
|
||||
* :ref:`genindex`
|
64
Documentation/translations/it_IT/i2c/summary.rst
Normal file
64
Documentation/translations/it_IT/i2c/summary.rst
Normal file
|
@ -0,0 +1,64 @@
|
|||
==========================
|
||||
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.
|
||||
|
||||
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>`_.
|
||||
|
||||
SMBus (Bus per la gestione del sistema) si basa sul protocollo I2C ed è
|
||||
principalmente un sottoinsieme di protocolli e segnali I2C. Molti dispositivi
|
||||
I2C funzioneranno su SMBus, ma alcuni protocolli SMBus aggiungono semantica
|
||||
oltre quanto richiesto da I2C. Le moderne schede madri dei PC si affidano a
|
||||
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.
|
||||
|
||||
|
||||
Terminologia
|
||||
============
|
||||
|
||||
Utilizzando la terminologia della documentazione ufficiale, il bus I2C connette
|
||||
uno o più circuiti integrati *master* e uno o più circuiti integrati *slave*.
|
||||
|
||||
.. kernel-figure:: ../../../i2c/i2c_bus.svg
|
||||
:alt: Un semplice bus I2C con un master e 3 slave
|
||||
|
||||
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 **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
|
||||
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).
|
|
@ -92,6 +92,7 @@ interfacciarsi con il resto del kernel.
|
|||
|
||||
core-api/index
|
||||
Sincronizzazione nel kernel <locking/index>
|
||||
subsystem-apis
|
||||
|
||||
Strumenti e processi per lo sviluppo
|
||||
====================================
|
||||
|
|
47
Documentation/translations/it_IT/subsystem-apis.rst
Normal file
47
Documentation/translations/it_IT/subsystem-apis.rst
Normal file
|
@ -0,0 +1,47 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
==========================================
|
||||
Documentazione dei sottosistemi del kernel
|
||||
==========================================
|
||||
|
||||
In questa parte della documentazione si entra nel dettaglio di come funzionano
|
||||
i sottosistemi specifici del kernel dal punto di vista di uno sviluppatore del
|
||||
kernel. Molte delle informazioni qui contenute provengono direttamente dai
|
||||
sorgenti del kernel, con aggiunte di materiale dove è necessario (anche se
|
||||
talora *non* è stato aggiunto tutto ciò che era necessario).
|
||||
|
||||
Sottosistemi principali
|
||||
-----------------------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
core-api/index
|
||||
|
||||
Interfacce uomo-macchina
|
||||
------------------------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
|
||||
Interfacce di rete
|
||||
------------------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
Interfacce per l'archiviazione
|
||||
------------------------------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
|
||||
Interfacce varie
|
||||
----------------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
i2c/index
|
Loading…
Reference in a new issue