Які частоти SPI підтримує Raspberry Pi?
Додатково:
- Чи всі вони підтримуються драйвером SPI bootc.net ?
- Чи є якісь додаткові речі, про які я повинен бути обережними, намагаючись спілкуватися з іншим чіпом через SPI?
Які частоти SPI підтримує Raspberry Pi?
Додатково:
Відповіді:
Raspberry Pi SPI працює з тактовою частотою APB, що еквівалентно тактовій тактовій частоті 250 МГц. Це можна розділити на будь-яке парне число від 2 до 65536 для бажаної швидкості. Лист даних вказує, що дільник повинен бути силою двох, але це неправильно . Непарні числа округляються вниз, і 0 (або 1) еквівалентно 65536. Отже, дільник менший за 2 неможливий.
Це робить діапазон частот від 3,814 кГц до 125 МГц, з 32768 кроками між ними.
(У цьому питанні було багато дезінформації, але ці результати були перевірені експериментальним шляхом. Будь ласка, поширюйте слово.)
SPI можна запустити з базовою тактовою частотою або розділити на більш повільну периферію. Основна тактова частота - 250 МГц. Дільник можна встановити на будь-яку потужність двох - від 2 ^ 0 аж до 2 ^ 16. Це означає, що підтримуються частоти SPI від 3,8 кГц до 250 МГц.
Джерела:
.rate = 250000000, /* 250MHz */
https://github.com/bootc/linux/blob/073993b3f3e23fb8d376f9e159eee410968e0c57/arch/arm/mach-bcm2708/bcm2708.cНа аркуші BCM2835 на сторінці 120 зазначено наступне: Значення регістра тактових частот блоку SPI містить.
BC Clock Divider SCLK = Core Clock / CDIV Якщо для CDIV встановлено значення 0, дільник 65536. Дільник повинен бути потужністю 2. Непарні числа округлені вниз. Максимальна тактова частота SPI - це тактова частота APB.
Я не можу знайти жодної посилання на максимальну частоту шини APB, я думаю, що це частина документації ARM11, а не цей SoC.
Я пройшов тестування, як це було показано на http://www.brianhensley.net/2012/07/getting-spi-working-on-raspberry-pi.html і змінив швидкість.
Максимальна швидкість при проходженні тесту - 15 МГц = 15000 кГц: Див. Результат:
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
Тест на 16 МГц не вдався. Андре