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?
Apa SPI frekuensi yang didukung Raspberry Pi?
Selain itu:
Jawaban:
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.cThe datasheet dari BCM2835 mengatakan sebagai berikut pada halaman 120: Nilai dari jam register blok SPI mengandung.
BC Clock Divider SCLK = Core Clock / CDIV Jika CDIV diatur ke 0, pembagi adalah 65536. Pembagi harus memiliki kekuatan 2. Angka ganjil dibulatkan ke bawah. Tingkat clock SPI maksimum adalah dari jam APB.
Saya tidak dapat menemukan referensi berapa frekuensi maksimum bus APB, saya pikir itu adalah bagian dari dokumentasi ARM11 dan bukan SoC ini.
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:
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
Tes di 16MHz gagal. André