Raspberry Pi SPI以APB時鐘速度運行,該速度等於250 MHz的核心時鐘速度。可以將偶數除以2到65536 以得到所需的速度。數據表指定除數必須為2的冪,但這是不正確。奇數取整,0(或1)等於65536。因此除數小於2是不可能的。
這使頻率範圍為3.814 kHz至125 MHz,其中32768步進
(此事有很多誤傳,但這些結果已通過實驗得到驗證。請大聲疾呼。)
SPI可以以核心時鐘速度運行,也可以分頻以降低外設速度。核心時鐘為250 MHz。分頻器可以設置為2的任意冪-從2 ^ 0一直到2 ^ 16。這意味著支持3.8 kHz到250 MHz的SPI頻率。 * 250MHz * / https://github.com/bootc/linux/blob/073993b3f3e23fb8d376f9e159eee410968e0c57/arch/arm/mach-bcm2708/bcm2708.c
BCM2835的數據表在第120頁上說:SPI塊的時鐘寄存器的值包含。
BC Clock Divider SCLK =核心時鐘/ CDIV如果CDIV設置為0,則除數為65536。除數必須為2的冪。最高SPI時鐘速率為APB時鐘。
我找不到關於APB總線最大頻率是多少的任何參考,我認為這是ARM11文檔的一部分,不是這個SoC。
我已經使用 http://www.brianhensley.net/2012/07/getting-spi-working-on-raspberry-pi.html上的進行了測試,並更改了速度。
測試通過時的最高速度為15MHz = 15000KHz:查看結果:
spi模式:每個字0位:8最大速度:15000000 Hz(15000 KHz)FF FF FF FF FF FF40 00 00 00 00 95FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FFDE AD BE EF BA ADF0 0D
在16MHz的測試失敗。安德烈
BC時鐘分頻器SCLK =核心時鐘/ CDIV如果CDIV設置為0,除數為65536。除數必須為2的冪。 .....
從語言上講,“四捨五入的奇數”與“冪”是“多個”的錯字(如果預期是2的冪,則無需引用奇數。