新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 在Nucleo STM32F401RE上使用SPI DMA方式提高W5500傳輸速率

在Nucleo STM32F401RE上使用SPI DMA方式提高W5500傳輸速率

作者: 時(shí)間:2016-11-26 來源:網(wǎng)絡(luò) 收藏

標(biāo)準(zhǔn) SPI 模式 &SPI DMA 模式的性能比較

下面相關(guān)數(shù)據(jù)的源代碼是用于loopback測(cè)試的例程??梢钥吹皆跇?biāo)準(zhǔn)SPI模式和SPI DMA模式中存在多大的性能差異。

標(biāo)準(zhǔn)SPI模式

在 spi_handler.h 中
#ifndef SPI_DMA
//#define SPI_DMA
#endif

如果你把“#define SPI_DMA” 行打上注釋,你將在標(biāo)準(zhǔn)SPI模式下操作。

如果你在Nucleo板上編譯之后下載了二進(jìn)制文件,并用WIZnet提供的AX1.exe上做了loopback的測(cè)試,隨后傳輸和接收就如下圖所示分別能達(dá)到 1.6Mbps,我們可知SPI全速傳輸速率高達(dá)3.2Mbps。

這里, SPI 時(shí)鐘是 24MHz,你可以清晰的看到在SPI數(shù)據(jù)間的空閑時(shí)間。

SPI DMA模式

#ifndef SPI_DMA
#define SPI_DMA
#endif

如上, 移去 “#define SPI_DMA”行注釋.

接下來, 如果你下載二進(jìn)制文件到 Nucleo, 然后你就能看到 SPI DMA 模式的傳輸速率。傳輸和接收的loopback測(cè)試性能可分別達(dá)到 4.3Mbps,并且 SPI全速傳輸速率超過 8Mbps。如果你使用自己的板子,并且有一個(gè)高速的外部時(shí)鐘來代替Nucleo 板, 隨之你就得到了更快的傳輸速率。


這里, 你可以看到無任何空閑時(shí)間的連續(xù)SPI通訊,如下圖。


上一頁 1 2 下一頁

評(píng)論


技術(shù)專區(qū)

關(guān)閉