• 資料介紹
    • 前言
    • 現(xiàn)場(chǎng)調(diào)研與問(wèn)題分析
    • 問(wèn)題分析與解決
  • 資料預(yù)覽
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

LAT1398 STM32H7 SPI NSS功能的靈活應(yīng)用案例

03/20 09:49
771
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

LAT1398 STM32H7 SPI NSS功能的靈活應(yīng)用案例

468.90 KB

前言

某客戶開(kāi)發(fā)一款高精度工業(yè)測(cè)量?jī)x器,打算使用 STM32H7+外置高精度 ADC 采樣的分離方案來(lái)實(shí)現(xiàn)??蛻暨x取了一款所屬行業(yè)內(nèi)比較通用的 ADC 采樣芯片。在讀取該 ADC芯片手冊(cè)后,客戶發(fā)現(xiàn)該款 ADC 采樣芯片使用 MCU 標(biāo)準(zhǔn) SPI 與之通信存在問(wèn)題,手冊(cè)里面也推薦使用 DSP/FPGA 的來(lái)實(shí)現(xiàn),客戶一下就犯難了。為了降低成本和開(kāi)發(fā)周期,客戶想使用 MCU 來(lái)替代 DSP/FPGA 與 ADC 采樣芯片的高速通信。

現(xiàn)場(chǎng)調(diào)研與問(wèn)題分析

根據(jù)客戶提供的信號(hào)采集板上使用的 ADC 數(shù)據(jù)手冊(cè)及現(xiàn)場(chǎng)反饋。

該 ADC 采樣芯片工作于 Master 模式,DSP/FPGA 工作于 Slave 模式,在 DRDY 信號(hào)的下降沿通過(guò) DOUT0~DOUT7 引腳將數(shù)據(jù)輸出到 DSP/FPGA??蛻羰褂肧TM32H7 的 SPI Slave 模式與該 IC 進(jìn)行通信,采用 Software NSS 工作模式來(lái)接收 Master 的數(shù)據(jù)。

問(wèn)題分析與解決

顯然使用標(biāo)準(zhǔn) SPI 與該芯片進(jìn)行通信是行不通的,再次聚焦到客戶 DRDY 信號(hào)并未使用和充分利用,能否利用 DRDY 信號(hào)來(lái)濾除 Stop 期間的干擾信號(hào)呢?

筆者也再次查閱 RM 后發(fā)現(xiàn) STM32H7 的 SPI NSS 脈沖模式(RM 中稱為 TI 模式)。在本文中統(tǒng)稱為 NSS 脈沖模式,STM32H7 的 NSS 脈沖模式其核心要點(diǎn)如下:

  1. 通過(guò)設(shè)置 SPI_CFG2 寄存器的 SP[2:0]位來(lái)使能 SPI 工作在 NSS 脈沖模式,當(dāng) SPI 工作于脈沖模式時(shí),SCK 和 SS 引腳的信號(hào)極性、相位、字節(jié)序是固定的,不需要配置 CPOL,CPHA, LSBFRST, SSOM, SSOE, SSIOP 和 SSM 相關(guān)寄存器位。
  1. SPI NSS 脈沖模式通信時(shí)序如下圖,與標(biāo)準(zhǔn) SPI 通信相比差異如下:?jiǎn)?dòng)數(shù)據(jù)傳輸前,NSS 會(huì)被拉高并維持一個(gè)時(shí)鐘周期(NSS 脈沖)。數(shù)據(jù)幀的傳輸過(guò)程起止于 2 個(gè) NSS 脈沖之間(前一幀 LSB 開(kāi)始拉高 SS,前一幀 LSB 結(jié)束后拉低 NSS 開(kāi)始下一幀傳輸)。

在時(shí)鐘 SCK 的上升沿開(kāi)始發(fā)送數(shù)據(jù),在時(shí)鐘 SCK 的下降沿進(jìn)行采樣和接收。

所以,STM32H7 的 SPI 的 NSS 脈沖模式時(shí)序剛好與該 ADC 芯片是匹配的。

那么我們將客戶的接法進(jìn)行改進(jìn),并配置 STM32H7 的 SPI 工作于 NSS 脈沖模式,經(jīng)過(guò)客戶反復(fù)驗(yàn)證工作正常。

資料預(yù)覽

相關(guān)推薦