Apa SPI frekuensi yang didukung Raspberry Pi?
Selain itu:
- Apakah mereka semua didukung oleh driver SPI bootc.net ?
- Adakah hal tambahan yang harus saya waspadai ketika mencoba berkomunikasi dengan beberapa chip lain melalui SPI?
Raspberry Pi SPI bekerja pada kecepatan clock APB, yang setara dengan kecepatan clock inti, 250 MHz. Ini dapat dibagi dengan angka genap dari 2 hingga 65536 untuk kecepatan yang diinginkan. Lembar data menentukan bahwa pembagi harus memiliki kekuatan dua, tetapi ini tidak benar . Angka ganjil dibulatkan ke bawah, dan 0 (atau 1) setara dengan 65536. Oleh karena itu pembagi yang lebih kecil dari 2 tidak mungkin.
Hal ini membuat rentang frekuensi antara 3,814 kHz hingga 125 MHz, dengan 32768 langkah di antaranya.
(Ada banyak informasi yang salah mengenai masalah ini, tetapi hasil ini telah diverifikasi oleh eksperimen. Harap sebarkan.)
SPI dapat dijalankan pada kecepatan clock inti atau dibagi ke bawah untuk periferal yang lebih lambat. Jam inti adalah 250 MHz. Pembagi dapat diatur ke kekuatan dua - dari 2 ^ 0 sampai 2 ^ 16. Ini berarti bahwa frekuensi SPI dari 3,8 kHz ke 250 MHz didukung.
Sumber:
.rate = 250000000, /* 250MHz */
https://github.com/bootc/linux/blob/073993b3f3e23fb8d376f9e159eee410968e0c57/arch/arm/mach-bcm2708/bcm2708.csumber
The datasheet dari BCM2835 mengatakan sebagai berikut pada halaman 120: Nilai dari jam register blok SPI mengandung.
Saya tidak dapat menemukan referensi berapa frekuensi maksimum bus APB, saya pikir itu adalah bagian dari dokumentasi ARM11 dan bukan SoC ini.
sumber
Saya telah menguji dengan seperti yang terlihat di http://www.brianhensley.net/2012/07/getting-spi-working-on-raspberry-pi.html dan mengubah kecepatan.
Kecepatan maksimum ketika tes lulus adalah 15MHz = 15000KHz: Lihat hasil:
Tes di 16MHz gagal. André
sumber