Raspberry GPIO General Purpose Input Output I parte
Raspberry GPIO: General Purpose Input Output I parte
Raspberry model A/B
Pin raspberry Pi 2 e raspberry Pi 3
Piedinatura • Il model A/B di Raspberry è dotato di 20 uscite GPIO, tutte di tipo maschio • Il model Pi 2/Pi 3 è dotato di 40 uscite GPIO, tutte di tipo maschio • Come si nota dalle immagini precedenti, non ci sono differenze tra i pin di raspberry pi 2 e i pin di raspberry pi 3 • In entrambe i casi, non sono riportati i numeri dei singoli pin sulla scheda e bisogna non solo contarli ma ricordare la funzione di ciascuno • I pin sono 40 e sono disposti su due file di 20 con una spaziatura di 2. 54 mm, spaziatura standard degli integrati; la numerazione viene fatta dall’alto verso il basso • Dalla piedinatura riportata nelle slide precedenti, si vede che i pin con le stesse funzioni sono stati colorati del medesimo colore • Alcuni pin sono dedicati e altri generici • I pin dedicati non possono essere utilizzati per scopi generici • I pin generici possono essere utilizzati per qualsiasi scopo
Colori e funzioni • • GROUND (6, 9, 14, 20, 25, 30, 34, 39) 5 Volt (2, 4) 3. 3 Volt (1, 17) TXD 0 RXD 0 (8==GPIO 14, 10==GPIO 15) I 2 C (3==GPIO 2 SDA 1, 5==GPIO 3 SCL 1) ID SD ( 27) ID SC (28) (I 2 C ID EEPROM) GPIO controllo ingresso/uscita, sono in tutto 17
Alimentazione e livello logico • • Raspberry ha quattro pin di alimentazione: – I pin 2 e 4 di 5 Volt – I pin 1 e 17 di 3. 3 Volt I circuiti interni di Raspberry lavorano a 3. 3 volt perché si basano su livelli della logica TTL Quando si collegano circuiti esterni bisogna tenere conto di ciò Nei circuiti digitali, il livello logico 0 è a 0 Volt mentre il livello logico 1 è a 5 Volt. Tuttavia esiste una tolleranza che va bene sia per componenti TTL che per componenti CMOS, basta guardare la seguente tabella: Tecnologia Livello logico 0 Livello logico 1 CMOS 0– 2 V 2 – 18 V TTL 0 -0. 8 V 2 – 5. 25 V
BUS • I Raspberry gestisce tramite i GPIO, le comunicazioni seriali. I bus sono: – Bus seriale UART – Bus seriale I 2 C – Bus SPI
Bus UART • • • Universal Asynchronous Receiver/Trasmitter Fornisce una semplice interfaccia seriale Il collegamento avviene tramite due pin: – Pin 8 per la trasmissione TX – Pin 10 per la ricezione RX • • • La velocità di trasmissione è per default pari 115200 bit al secondo bps La velocità di trasmissione viene impostata sul file cmdline. txt Per modificare tale velocità bisogna aprire il file digitando dal prompt dei comandi: sudo nano /boot/cmdline. txt Il file è formato da una sola riga che serve ad istruire il kernel della velocità di trasmissione Nella riga c’è scritto il seguente codice: dwc_otg. lpm_enable=0 console=tty. AMAO, 115200 kgdboc=tty. AMAO, 115200 console=tty 1 root=/dev/mcblk 0 p 2 rootstype=ext 4 rootwait Non importa ricordare tale codice. Per cambiare la velocità, basta sostituire a 115200, una delle velocità standard di trasmissione riportate di seguito
Velocità di trasmissione seriale • • 9600 14400 19200 28800 38400 56000 57600 115200
Bus I 2 C - Inter Integrated Circuit: bus sincrono per consentire la comunicazione tra più circuiti integrati - In generale, nella comunicazione I 2 C c’è sempre un dispositivo master e uno o più dispositivi slave - La comunicazione è gestita da: - una sola linea dati SDA (Serial Data) sul pin 3 - Una linea di clock SCL (Serial Clock Line) sul pin 5 - La comunicazione avviene collegando in cascata i dispositivi slave ed in parallelo con il master - La comunicazione è gestita dal software
Collegamento I 2 C
Bus SPI • Serial Peripheral Interface, bus seriale asincrono per la programmazione ISP In System Programming di microprocessori e altri dispositivi • I pin per tale programmazione sono i seguenti: – MOSI (Master Output Slave Input) uscita SPI master sul pin 19 – MISO(Master Input Slave Output) ingresso SPI master sul pin 21 – SLCK (Seria. L Clo. K) clock di sincronizzazione sul pin 23 – CS 0 (Chip Select 0) selezione chip sul pin 23 – CS 1 (Chip Select 1) selezione chip sul pin 24
Bus SPI
GPIO Input/Output • Per il controllo degli ingressi e delle uscite raspberry pi 3 dispone di 17 pin digitali con d. d. p pari a 3. 3 V: – 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38, 40 • Per un uso corretto della scheda e per non danneggiarla, bisogna mettere sempre una resistenza di protezione. Es. se si utilizzano dei led su una GPIO, bisogna utilizzare una resistenza di 220 Ω • Per ulteriori approfondimenti http: //pinout. xyz/
- Slides: 14