Quali frequenze SPI supporta Raspberry Pi?
Inoltre:
- Sono tutti supportati dal driver SPI bootc.net ?
- Ci sono cose aggiuntive di cui dovrei essere cauto quando provo a comunicare con qualche altro chip tramite SPI?
Quali frequenze SPI supporta Raspberry Pi?
Inoltre:
Risposte:
Il Raspberry Pi SPI funziona alla velocità di clock APB, che è equivalente alla velocità di clock principale, 250 MHz. Questo può essere diviso per qualsiasi numero pari da 2 a 65536 per la velocità desiderata. Il foglio dati specifica che il divisore deve essere una potenza di due, ma questo non è corretto . I numeri dispari vengono arrotondati per difetto e 0 (o 1) equivale a 65536. Un divisore più piccolo di 2 è quindi impossibile.
Ciò rende la gamma di frequenze compresa tra 3,814 kHz e 125 MHz, con 32768 passi in mezzo.
(C'è stata molta disinformazione su questo argomento, ma questi risultati sono stati verificati mediante sperimentazione. Per favore spargi la voce.)
L'SPI può essere eseguito alla velocità di clock principale o suddiviso per periferiche più lente. Il core clock è di 250 MHz. Il divisore può essere impostato su qualsiasi potenza di due: da 2 ^ 0 fino a 2 ^ 16. Ciò significa che sono supportate le frequenze SPI da 3,8 kHz a 250 MHz.
fonti:
.rate = 250000000, /* 250MHz */
https://github.com/bootc/linux/blob/073993b3f3e23fb8d376f9e159eee410968e0c57/arch/arm/mach-bcm2708/bcm2708.cIl foglio dati di BCM2835 dice quanto segue a pagina 120: Il valore del registro di clock del blocco SPI contiene.
BC Clock Divider SCLK = Core Clock / CDIV Se CDIV è impostato su 0, il divisore è 65536. Il divisore deve essere una potenza di 2. Numeri dispari arrotondati per difetto. La frequenza di clock SPI massima è dell'orologio APB.
Non riesco a trovare alcun riferimento a quale sia la frequenza massima del bus APB, penso che faccia parte della documentazione ARM11 e non di questo SoC.
Ho provato con il visto su http://www.brianhensley.net/2012/07/getting-spi-working-on-raspberry-pi.html e ho cambiato la velocità.
La velocità massima al superamento del test è 15 MHz = 15000 KHz: vedere il risultato:
spi mode: 0
bits per word: 8
max speed: 15000000 Hz (15000 KHz)
FF FF FF FF FF FF
40 00 00 00 00 95
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
DE AD BE EF BA AD
F0 0D
Il test a 16 MHz non è riuscito. André