精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文詳解stm32 spi nss相關知識

嵌入式那些事 ? 來源:嵌入式那些事 ? 2023-11-03 12:38 ? 次閱讀

1.概述

目前網絡上使用stm32 spi的nss,基本上都使用的是nss的軟件管理模式。對于nss的硬件管理模式,程序的配置以及對nss的軟件管理模式與硬件管理模式的說明,真的少之又少。這可能跟stm32官方文檔對nss的描述不清也有很大關系吧,下面就帶大家理解理解nss,當然了這篇文章是筆者閱讀了stm32 spi官方文檔再結合網友的一些文章,最終以自己個人對nss理解來編寫的,如果有錯誤之處,還請指正。

2.nss的管理模式

nss的管理模式分為:硬件管理和軟件管理。nss的管理模式由SSM決定。

nss其實分為外部引腳和內部引腳的。外部nss引腳就是芯片上肉眼可見的與GPIO復用的引腳;內部nss引腳就是stm32芯片里集成的spi模塊引腳,肉眼不可見。換句話說,真正與spi通信控制器連接的是內部nss引腳,外部nss引腳不能直接連到芯片內部的spi模塊,而是先連接內部nss引腳,通過內部nss引腳作用spi模塊。

3.nss的管理模式配置

SSM在SPI_CR1控制器里,默認為0。

SSM可以控制內部nss引腳與SSI(一個寄存器,軟件模式)相連,還是與外部nss引腳(真正的STM32引腳,硬件模式)相連。真正起作用的是內部nss引腳(內部nss引腳才真正連接到SPI通信控制器上)。

當SSM=0:說明使用硬件管理模式,內部nss引腳與外部nss引腳相連,忽視SSI位,對SPI_CR1的SSI位的寫操作無效;

當SSM=1:說明使用軟件管理模式,內部nss引腳與SSI相連,忽視外部nss引腳,我們可以把外部nss引腳當做普通IO口;

4.spi從模式配置(MSTR=0)

(1).nss硬件模式(SSM=0)

當外部nss引腳為低電平時,內部nss也為低電平,相當于片選該從器件,此時spi可以傳輸數據。外部nss引腳需要配置為復用功能。

(2).nss軟件模式(SSM=1)

SSM=1并且SSI=0,STM32芯片讓內部nss引腳為低電平,相當于片選該從器件,此時spi可以傳送數據。

外部nss引腳被釋放,可做普通IO作為其他用途使用。

5.spi主模式配置(MSTR=1)

(1).nss硬件模式(SSM=0)

在spi主模式下,nss硬件模式又分為輸入模式和輸出模式,由SSOE位決定。

a.輸入模式(SSOE=0)

在外部nss引腳為高電平,內部nss引腳也為高電平,此時才能進行數據傳輸。如果要使能從設備,還需要一個GPIO引腳。

在此情況下,外部nss要是被接低電平,則會進入主模式故障,MSTR會清零,由主模式進入從模式。

外部nss引腳需要配置為復用功能,并且外部nss引腳必須接入一個高電平,它才能維持主模式狀態。stm32官方手冊spi章節有說明,也就一句話,如果你不注意,可能就無法發現,如下圖:

462e6ccc-7a01-11ee-939d-92fbcf53809c.png

Snipaste_2020-09-01_11-14-17

b.輸出模式(SSOE=1)

當使能spi模塊時,外部nss引腳會被芯片自動輸出低電平,使能從設備,進行數據傳輸,不需要額外的GPIO引腳就能片選從設備(輸出模式時,貌似不需要遵循上圖框出來的內容,那段話可能就是針對輸入模式寫的,輸出模式是spi模塊控制內部nss引腳,因此也就不必遵循那段話)。

外部NSS引腳需要配置為復用功能,再把此引腳連接到從器件的CS引腳,因此外部NSS引腳就相當于片選引腳了。

(2).nss軟件模式(SSM=1)

SSM=1,并且SSI=1,將內部nss引腳設置為高電平,這樣隨時可以傳輸數據(這句話遵循上圖框出來的內容)。當然多數情況還需要一個GPIO引腳輸出低電平,來使能從設備,讓從設備可以接收數據。

綜上所述,nss引腳就是片選CS引腳是很不負責任的說法。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2258

    文章

    10828

    瀏覽量

    352499
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1669

    瀏覽量

    90736
  • IO口
    +關注

    關注

    3

    文章

    168

    瀏覽量

    23889
  • NSS
    NSS
    +關注

    關注

    0

    文章

    5

    瀏覽量

    6350

原文標題:stm32 spi nss-一篇文章帶你了解

文章出處:【微信號:嵌入式那些事,微信公眾號:嵌入式那些事】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    STM32 SPI——(2)NSS

    解決啊。 如果從機選擇STM32SPI,譬如主機選為SPI1,從機選為SPI2,則要按照以下操作 手冊說,
    發表于 08-06 19:49

    [轉載]stm32 spi nss 大揭秘

    全雙工的實例,才由此慢慢使謎團浮出水面,再通過學會調試技術,終于搞明白了。SPI真的很復雜,不過復雜而有趣。我以個菜鳥的身份,寫出我對STM32 SPI
    發表于 10-23 16:16

    STM32SPI特性及架構資料分享

    目錄STM32SPI 特性及架構:二、SPI初始化結構體詳解:三、硬件SPI—讀寫串行
    發表于 12-10 07:31

    STM32/STM32L151硬件SPI相關資料分享

    控制,設置為推挽輸出就可以。如果你對SPI通信協議不是很了解我建議你先去看看相關知識,不過如果你只想著快速調通并且MCU型號還和我 是同個L型號,那么以下的代碼片段完全可以直接驅動起
    發表于 02-14 07:19

    SPI_NSS是什么意思

    SPI庫函數配置中,結構體成員有SPI_NSS這個東西,這個東西是什么意思,當時看著是不知所云。經過不斷查找資料得出以下答案:軟件模式:SPI_InitStructure.SPI_NSS
    發表于 02-17 06:20

    SPI_NSS知識點解析,絕對實用

    SPI_NSS知識點解析,絕對實用
    發表于 02-17 08:08

    STM32SPI部分NSS的理解

    SPI的理解仔細看手冊(1) 框圖接收和發送只有個移位寄存器,這是和UART不同的。所以單主機和單從機的接線如下所示,其實連接后是由兩個移位寄存器組成的環形鏈路,收發可同時進行,才叫全雙工。另外
    發表于 12-02 17:21 ?7次下載
    對<b class='flag-5'>STM32</b>的<b class='flag-5'>SPI</b>部分<b class='flag-5'>NSS</b>的理解

    STM32F4 SPI NSS硬件模式配置及使用

    我們知道,SPI_NSS有兩種模式,SPI_NSS_Hard和SPI_NSS_Soft。SPI_NSS_Hard,硬件自動拉高拉低片選,在速率上是遠比軟件方式控制要高的,缺點是當
    發表于 12-02 18:21 ?7次下載
    <b class='flag-5'>STM32</b>F4 <b class='flag-5'>SPI</b> <b class='flag-5'>NSS</b>硬件模式配置及使用

    SPI的基本知識(偏向STM32中的SPI

    SPI的基本知識1. 雜談2.什么是SPI?3. SPI的通信協議4. STM32SPI的配置
    發表于 12-07 11:51 ?11次下載
    <b class='flag-5'>SPI</b>的基本<b class='flag-5'>知識</b>(偏向<b class='flag-5'>STM32</b>中的<b class='flag-5'>SPI</b>)

    通俗理解STM32 SPI通信(主從雙機SPI通信)

    STM32 SPI通信高速全雙工的通信總線SPI 通訊使用 3 條總線及片選線,3 條總線分別為 SCK、MOSI、MISO,片選線為NSS(CS)
    發表于 12-13 15:41 ?35次下載
    通俗理解<b class='flag-5'>STM32</b> <b class='flag-5'>SPI</b>通信(主從雙機<b class='flag-5'>SPI</b>通信)

    STM32 SPI 軟件NSS和硬件NSS解讀

    [導讀]SSM可以控制內部NSS引腳與SSI(個寄存器,軟件模式)相連,還是與NSS外部引腳(真正的STM32引腳,硬件模式)相連。真正作用的是內部
    發表于 12-22 19:12 ?13次下載
    <b class='flag-5'>STM32</b> <b class='flag-5'>SPI</b> 軟件<b class='flag-5'>NSS</b>和硬件<b class='flag-5'>NSS</b>解讀

    關于SPI通信協議的NSS

    SPI庫函數配置中,結構體成員有SPI_NSS這個東西,這個東西是什么意思,當時看著是不知所云。經過不斷查找資料得出以下答案:軟件模式:SPI_InitStructure.SPI_NSS
    發表于 12-22 19:20 ?0次下載
    關于<b class='flag-5'>SPI</b>通信協議的<b class='flag-5'>NSS</b>

    STM32 SPINSS引腳配置

    STM32F103RCT6芯片為例,查芯片手冊,可以看到SPI1的NSS引腳對應PA4引腳,那么這個NSS引腳作用是什么?SPI通信需要有
    發表于 12-22 19:24 ?5次下載
    <b class='flag-5'>STM32</b> <b class='flag-5'>SPI</b>的<b class='flag-5'>NSS</b>引腳配置

    STM32SPI相關知識

    STM32SPI相關知識、前言本人使用的是stm32f103的開發板,Flash芯片是W25
    發表于 12-22 19:33 ?7次下載
    <b class='flag-5'>STM32</b>的<b class='flag-5'>SPI</b><b class='flag-5'>相關</b><b class='flag-5'>知識</b>

    STM32CbueMX之SPI NSS

    由手冊可知:SPI_NSS片選引腳適用于從機是低電平片選的芯片。這樣能選擇硬件SPI片選,代碼少兩行使能和失能從機片選IO。配置:在main.c函數/** * @brief
    發表于 12-22 19:36 ?2次下載
    <b class='flag-5'>STM32</b>CbueMX之<b class='flag-5'>SPI</b> <b class='flag-5'>NSS</b>