【STM32】SPI简介
00. 目錄
文章目錄
- 00. 目錄
- 01. SPI簡介
- 02. SPI特性
- 03. SPI功能說明
- 04. SPI中斷
- 05. 相關寄存器
- 5.1 SPI 控制寄存器 1 (SPI_CR1) (不用于 I 2 S 模式)
- 5.2 SPI 控制寄存器 2 (SPI_CR2)
- 5.3 SPI 狀態寄存器 (SPI_SR)
- 5.4 SPI 數據寄存器 (SPI_DR)
- 5.5 SPI_I 2 S 配置寄存器 (SPI_I2SCFGR)
- 5.6 SPI_I 2 S 預分頻器寄存器 (SPI_I2SPR)
- 06. 附錄
- 07. 聲明
01. SPI簡介
SPI 接口提供兩個主要功能,支持 SPI 協議或 I 2 S 音頻協議。默認情況下,選擇的是 SPI 功能。可通過軟件將接口從 SPI 切換到 I2S。
串行外設接口 (SPI) 可與外部器件進行半雙工/全雙工的同步串行通信。該接口可配置為主模式,在這種情況下,它可為外部從器件提供通信時鐘 (SCK)。該接口還能夠在多主模式配置下工作。
它可用于多種用途,包括基于雙線的單工同步傳輸,其中一條可作為雙向數據線,或使用CRC 校驗實現可靠通信。
I2S 也是同步串行通信接口。它可滿足四種不同音頻標準的要求,包括 I 2 S Philips 標準、MSB 和 LSB 對齊標準,以及 PCM 標準。它可在全雙工模式(使用 4 引腳)或半雙工模式(使用 3 個引腳)下作為從器件或主器件工作。當 I 2 S 配置為通信主模式時,該接口可以向
外部從器件提供主時鐘。
02. SPI特性
● 基于三條線的全雙工同步傳輸
● 基于雙線的單工同步傳輸,其中一條可作為雙向數據線
● 8 位或 16 位傳輸幀格式選擇
● 主模式或從模式操作
● 多主模式功能
● 8 個主模式波特率預分頻器(最大值為 f PCLK /2)
● 從模式頻率(最大值為 f PCLK /2)
● 對于主模式和從模式都可實現更快的通信
● 對于主模式和從模式都可通過硬件或軟件進行 NSS 管理:動態切換主/從操作
● 可編程的時鐘極性和相位
● 可編程的數據順序,最先移位 MSB 或 LSB
● 可觸發中斷的專用發送和接收標志
● SPI 總線忙狀態標志
● SPI TI 模式
● 用于確保可靠通信的硬件 CRC 功能:
— 在發送模式下可將 CRC 值作為最后一個字節發送
— 根據收到的最后一個字節自動進行 CRC 錯誤校驗
● 可觸發中斷的主模式故障、上溢和 CRC 錯誤標志
● 具有 DMA 功能的 1 字節發送和接收緩沖器:發送和接收請求
03. SPI功能說明
通常,SPI 通過 4 個引腳與外部器件連接:
● MISO:主輸入/從輸出數據。此引腳可用于在從模式下發送數據和在主模式下接收數據。
● MOSI:主輸出/從輸入數據。此引腳可用于在主模式下發送數據和在從模式下接收數據。
● SCK:用于 SPI 主器件的串行時鐘輸出以及 SPI 從器件的串行時鐘輸入。
● NSS:從器件選擇。這是用于選擇從器件的可選引腳。此引腳用作“片選”,可讓 SPI主器件與從器件進行單獨通信,從而并避免數據線上的競爭。從器件的 NSS 輸入可由主器件上的標準 IO 端口驅動。NSS 引腳在使能(SSOE 位)時還可用作輸出,并可在SPI 處于主模式配置時驅動為低電平。通過這種方式,只要器件配置成 NSS 硬件管理模式,所有連接到該主器件 NSS 引腳的其它器件 NSS 引腳都將呈現低電平,并因此而作為從器件。當配置為主模式,且 NSS 配置為輸入(MSTR=1 且 SSOE=0)時,如果NSS 拉至低電平,SPI 將進入主模式故障狀態:MSTR 位自動清零,并且器件配置為從模式。
04. SPI中斷
05. 相關寄存器
5.1 SPI 控制寄存器 1 (SPI_CR1) (不用于 I 2 S 模式)
SPI control register 1
偏移地址:0x00
復位值:0x0000
5.2 SPI 控制寄存器 2 (SPI_CR2)
SPI control register 2
偏移地址:0x04
復位值:0x0000
5.3 SPI 狀態寄存器 (SPI_SR)
SPI status register
偏移地址:0x08
復位值:0x0002
5.4 SPI 數據寄存器 (SPI_DR)
SPI data register
偏移地址:0x0C
復位值:0x0000
5.5 SPI_I 2 S 配置寄存器 (SPI_I2SCFGR)
SPI_I 2 S configuration register
偏移地址:0x1C
復位值:0x0000
5.6 SPI_I 2 S 預分頻器寄存器 (SPI_I2SPR)
SPI_I 2 S prescaler register
偏移地址:0x20
復位值:0000 0010 (0x0002)
06. 附錄
6.1 【STM32】STM32系列教程匯總
網址:【STM32】STM32系列教程匯總
07. 聲明
總結
以上是生活随笔為你收集整理的【STM32】SPI简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【STM32】GPIO模拟I2C程序示例
- 下一篇: 【STM32】SPI相关函数和类型