新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 在Nucleo STM32F401RE上使用SPI DMA方式提高W5500傳輸速率

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

        作者: 時間:2016-11-26 來源:網絡 收藏

        標準 SPI 模式 &SPI DMA 模式的性能比較

        下面相關數據的源代碼是用于loopback測試的例程。可以看到在標準SPI模式和SPI DMA模式中存在多大的性能差異。

        標準SPI模式

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

        如果你把“#define SPI_DMA” 行打上注釋,你將在標準SPI模式下操作。

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

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

        SPI DMA模式

        #ifndef SPI_DMA
        #define SPI_DMA
        #endif

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

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


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


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 马山县| 墨脱县| 横山县| 翼城县| 天长市| 辽阳市| 贵溪市| 瓮安县| 和硕县| 怀远县| 深水埗区| 巴东县| 广平县| 兴国县| 老河口市| 弥渡县| 达拉特旗| 宁津县| 桂林市| 团风县| 宁远县| 陆河县| 邹平县| 逊克县| 深泽县| 大埔区| 灵山县| 牙克石市| 噶尔县| 闽清县| 无极县| 清丰县| 运城市| 西昌市| 金寨县| 沙坪坝区| 米易县| 富阳市| 涟源市| 丰都县| 福泉市|