SPI是串行外設接口(Serial Peripheral Interface)的縮寫,SPI是高速的全雙工同步通訊總線,英創公司的所有工控主板都提供了一路4線SPI總線接口,4線包括片選信號(SPI_CSn)、時鐘信號(SPI_SCLK)、數據輸入(SPI_MISO)和數據輸出(SPI_MOSI)信號。
SPI以主從方式工作,英創主板SPI接口工作在主模式,SPI_CSn是SPI從設備的使能控制信號,當從設備被SPI_CSn使能時,通過SPI總線對此設備的操作才有效,因此可以在同一條SPI總線上增加片選信號來連接多個SPI設備。
一個簡單的增加片選的方法是使用GPIO來模擬SPI_CSn信號,在每傳輸一個數據之前,將相應的GPIO置低(假設從設備片選信號為低有效),選中對應的SPI從設備,傳輸結束后再將GPIO置高。SPI總線的連接如下圖:

由于每傳輸一個字(8 - 32bits)都需要操作一次GPIO,所以使用GPIO模擬SPI片選的效率不高。同時這種方法不適用于SPI的DMA傳輸,僅適合數據量少、對傳輸速度要求不同的場合。
當SPI采用DMA模式進行高速數據傳輸時,數據傳輸過程由硬件控制,片選信號也由SPI硬件直接產生輸出,所以無法實現利用GPIO模擬SPI片選,此時可通過硬件電路來擴展SPI片選信號。下面是采用3 - 8譯碼器擴展8路SPI的原理示意圖。在與一個SPI Slave通訊之前,先設置好參與譯碼的GPIO,然后直接調用SPI讀寫API函數,當SPI_CSn由驅動程序置低時,相應的YX輸出低電平,當SPI_CSn為高時,所有的YX都輸出高電平。在與同一SPI設備進行批量數據傳輸時,只需要設置一次GPIO,與使用GPIO直接模擬片選信號相比,效率大大提高了。

英創工控主板的SPI接口可以支持60Mbps甚至更高的波特率,所以需要選擇低延時的邏輯器件,同時英創工控的GPIO電平范圍是0 - 3.3V,因此選擇的器件也應該使用3.3V供電。上圖所用的74LVC138A使用3.3V供電,而且輸入與輸出的延時小于3nS(Typ),滿足SPI高速通訊的應用。最后附上74LVC138A的真值表如下:

-
嵌入式主板
+關注
關注
7文章
6107瀏覽量
37071
發布評論請先 登錄
龍芯中科成功舉辦2025信息技術應用創新產教融合交流會
龍芯中科助力2025教育信息技術應用創新大賽成功舉辦
誠邁科技信創電腦助力2025第二屆教育信息技術應用創新大賽圓滿收官
寶馬南京信息技術有限公司開業
軟通動力入選2025新一代信息技術應用優秀案例
2025年第11屆阿爾及利亞電力 發電 信息技術展覽會
?LP5899 SPI兼容連接設備技術文檔總結
易華錄入選國家級信息技術應用創新典型解決方案
“信息技術應用產學協同人才培養行動計劃”正式發布,誠邁科技入選首批參與單位
佛瑞亞如何通過信息技術推動業務增長
飛騰主板為信創產業發展提高硬實力
DEKRA德凱成為沙特通信和信息技術設備技術法規認證機構
科普|信創是什么?一文讀懂“信息技術應用創新”戰略
2025第二屆教育信息技術應用創新大賽正式開賽
信創浪潮下,國產主板有什么新的發展機遇?
英創信息技術多路SPI從設備連接方法簡介
評論