題:
Raspberry Pi支持哪些SPI頻率?
akavel
2012-06-26 01:42:17 UTC
view on stackexchange narkive permalink

Raspberry Pi支持哪些 SPI頻率?

另外:

五 答案:
Nakedible
2012-11-01 17:47:45 UTC
view on stackexchange narkive permalink

Raspberry Pi SPI以APB時鐘速度運行,該速度等於250 MHz的核心時鐘速度。可以將偶數除以2到65536 以得到所需的速度。數據表指定除數必須為2的冪,但這是不正確。奇數取整,0(或1)等於65536。因此除數小於2是不可能的。

這使頻率範圍為3.814 kHz至125 MHz,其中32768步進

(此事有很多誤傳,但這些結果已通過實驗得到驗證。請大聲疾呼。)

我認為這個答案應該是最重要的。
你確定嗎? Gordon斷言,儘管您可以給它提供任何偶數,但實際上只有2的冪才有所不同:[了解Raspberry Pi上的SPI | Gordons項目](https://projects.drogon.net/understanding-spi-on-the-raspberry-pi/“了解Raspberry Pi上的SPI”)
我用示波器對此進行了測試。我認為Gordon的問題在於他使用的是內核驅動程序,它會改變時鐘速度,而不是不使用內核驅動程序就直接命令處理器。
該論壇主題提供了更多信息來證明Nakedible的答案:http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&t=43442&p=347073
Maria Zverina
2012-06-28 14:24:33 UTC
view on stackexchange narkive permalink

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

  • Chris Boot的(驅動程序開發人員)博客條目,Raspberry Pi上的 SPI(再次)
  • 作為對FarhadA帖子的編輯,這會更好嗎?或者,將其充實一下以解釋什麼是核心時鐘等。
    也許-Farhad是從BCM2835的數據表中採購的,這是RPi的實際SoC,而我的參考是BCM2708的,它只是SoC的一部分。這些源可能會匯聚在一起……但是它們可能不會再次聚合。因此,我認為現在最好保留備用資源。
    哦,area51列出我們每個問題有1.7個答案,並指出“每個問題2.5個答案是好的,每個問題只有1個答案需要一些工作。在健康的網站上,問題會收到多個答案,而最佳答案將被評選為最高答案。” :-)
    我認為BCM2708是CPU組件,它是BCM2835的一部分,而BCM2835是SoC(片上系統)。但是,為此很難找到權威來源。
    錯誤答案:不支持2 ^ 0,並且除法器不必為2的冪。
    您可以提供@Nakedible的聲明來源嗎?
    bcm2835數據表確認了2 ^ 0點。 http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf bcm2835庫中的定義也證實了這一點。 http://www.open.com.au/mikem/bcm2835/至於兩個除數的非冪,數據表勘誤表提到可能是2的倍數。 http://elinux.org/BCM2835_datasheet_errata這也發佈在某個論壇上,任何2的倍數似乎都可以使用。所有這些都已通過在真實硬件上*測試* SPI輸出得到了證實。請參閱下面的我的答案,其中確切說明了這一點。
    FarhadA
    2012-06-26 02:30:36 UTC
    view on stackexchange narkive permalink

    BCM2835的數據表在第120頁上說:SPI塊的時鐘寄存器的值包含。

    BC Clock Divider SCLK =核心時鐘/ CDIV如果CDIV設置為0,則除數為65536。除數必須為2的冪。最高SPI時鐘速率為APB時鐘。

    我找不到關於APB總線最大頻率是多少的任何參考,我認為這是ARM11文檔的一部分,不是這個SoC。

    感謝您的參考;我相信頁面是156嗎? CDIV似乎是16b寬,因此從1到65536。“核心時鐘”大概是700MHz?因此,我們得到的範圍從〜10.7kHz到神秘的APB限制?
    非常歡迎您,但恐怕此時鐘不是核心時鐘。它是APB總線:“ APB專為低帶寬控制訪問而設計,例如係統外圍設備上的寄存器接口。該總線的地址和數據階段與AHB相似,但是信號列表大大減少了,低複雜度(例如,沒有突發) )。它必須支持32bit和66MHz信號。”
    andré
    2013-03-21 01:40:00 UTC
    view on stackexchange narkive permalink

    我已經使用 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的測試失敗。安德烈

    我的在32MHz = 32,000KHz時運行正常。我已經看到它提到[here](http://elinux.org/index.php?title=RPi_SPI#Speed_2),這也是實際的限制。如果有區別,我正在Raspbian硬浮動上運行最新的RPi固件。
    讓RPi 3以60MHz成功運行該測試。
    Stephen Samuel
    2019-12-23 22:23:18 UTC
    view on stackexchange narkive permalink

    BC時鐘分頻器SCLK =核心時鐘/ CDIV如果CDIV設置為0,除數為65536。除數必須為2的冪。 .....

    從語言上講,“四捨五入的奇數”與“冪”是“多個”的錯字(如果預期是2的冪,則無需引用奇數。



    該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
    Loading...