新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > stm32 SPI 接口

        stm32 SPI 接口

        作者: 時間:2016-11-17 來源:網絡 收藏
        1、SPI簡介
        SPI 是英語Serial Peripheral interface的縮寫,顧名思義就是串行外圍設備接口。是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應用在 EEPROM,FLASH,實時時鐘,AD轉換器,還有數字信號處理器和數字信號解碼器之間。SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節約了芯片的管腳,同時為PCB的布局上節省空間,提供方便,正是出于這種簡單易用的特性,現在越來越多的芯片集成了這種通信協議,STM32也有SPI接口。
        SPI接口一般使用4條線:
        MISO 主設備數據輸入,從設備數據輸出。 MOSI 主設備數據輸出,從設備數據輸入。 SCLK時鐘信號,由主設備產生。 CS從設備片選信號,由主設備控制。
        SPI主要特點有:可以同時發出和接收串行數據;可以當作主機或從機工作;提供頻率可編程時鐘;發送結束中斷標志;寫沖突保護;總線競爭保護等。
        SPI總線四種工作方式 SPI 模塊為了和外設進行數據交換,根據外設工作要求,其輸出串行同步時鐘極性和相位可以進行配置,時鐘極性(CPOL)對傳輸協議沒有重大的影響。如果CPOL=0,串行同步時鐘的空閑狀態為低電平;如果CPOL=1,串行同步時鐘的空閑狀態為高電平。時鐘相位(CPHA)能夠配置用于選擇兩種不同的傳輸協議之一進行數據傳輸。如果CPHA=0,在串行同步時鐘的第一個跳變沿(上升或下降)數據被采樣;如果CPHA=1,在串行同步時鐘的第二個跳變沿(上升或下降)數據被采樣。SPI主模塊和與之通信的外設備時鐘相位和極性應該一致。
        從選擇(NSS)腳管理
        有2種NSS模式:
        圖211● 軟件NSS模式:可以通過設置SPI_CR1寄存器的SSM位來使能這種模式(見)。在這種模式下NSS引腳可以用作它用,而內部NSS信號電平可以通過寫SPI_CR1的SSI位來驅動
        ● 硬件NSS模式,分兩種情況:
        ─ NSS輸出被使能:當STM32F10xxx工作為主SPI,并且NSS輸出已經通過SPI_CR2寄存器的SSOE位使能,這時NSS引腳被拉低,所有NSS引腳與這個主SPI的NSS引腳相連并配置為硬件NSS的SPI設備,將自動變成從SPI設備。 當一個SPI設備需要發送廣播數據,它必須拉低NSS信號,以通知所有其它的設備它是主設備;如果它不能拉低NSS,這意味著總線上有另外一個主設備在通信,這時將產生一個硬件失敗錯誤(Hard Fault)。
        ─ NSS輸出被關閉:允許操作于多主環境。
        ● NSS:從設備選擇。這是一個可選的引腳,用來選擇主/從設備。它的功能是用來作為“片選引腳”,讓主設備可以單獨地與特定從設備通訊,避免數據線上的沖突。從設備的NSS引腳可以由主設備的一個標準I/O引腳來驅動。一旦被使能(SSOE位),NSS引腳也可以作為輸出引腳,并在SPI處于主模式時拉低;此時,所有的SPI設備,如果它們的NSS引腳連接到主設備的NSS引腳,則會檢測到低電平,如果它們被設置為NSS硬件模式,就會自動進入從設備狀態。當配置為主設備、NSS配置為輸入引腳(MSTR=1,SSOE=0)時,如果NSS被拉低,則這個SPI設備進入主模式失敗狀態:即MSTR位被自動清除,此設備進入從模式



        關鍵詞: stm32SPI接

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 诏安县| 延吉市| 连江县| 本溪| 金沙县| 营口市| 梅州市| 鄂尔多斯市| 汉中市| 罗山县| 简阳市| 剑河县| 梅州市| 陆河县| 合江县| 会同县| 杨浦区| 三河市| 威远县| 仙桃市| 苏州市| 阜康市| 石棉县| 洪洞县| 乡宁县| 醴陵市| 冀州市| 新邵县| 榆林市| 鄂州市| 曲沃县| 上虞市| 类乌齐县| 泽库县| 蛟河市| 青冈县| 仁化县| 云梦县| 上杭县| 会东县| 兴义市|