簡介
AS32X601內(nèi)置的I2C模塊提供了支持全雙工的同步串行通信。該接口可配置為主機或從機模式,配置為主機模式時,它可為外部從器件提供通信時鐘(SCK),6個SPI每個都支持8個從機。
SPI 協(xié)議是由摩托羅拉公司提出的通訊協(xié)議(Serial Peripheral Interface),即串行外圍設備接口,是一種高速全雙工的通信總線。它被廣泛地使用在 ADC、 LCD 等設備與 MCU 中,要求通訊速率較高的場合。
1.信號線:SPI具有SCK,MOSI,MISO ,CS線
2.尋址方式:SPI是通過CS片選信號來選擇從機
3.通信速率:SPI速率較快(可達fPCLK/2),一般用于高速設備之間通信。AN32X601上SPI速率最快可達45MHz。
硬件設計
SPI通信使用 3 條總線及片選線,3條總線分別為SCK、MOSI、 MISO,片選線為CS0。

SPI時序

CS0、SCK、MOSI信號都由主機控制產(chǎn)生,而 MISO的信號由 從機產(chǎn)生,主機通過該信號線讀取從機的數(shù)據(jù)。MOSI 與 MISO的信號 只在 NSS為低電平 的時候才有效,在 SCK的 每個時鐘周期,MOSI 和 MISO 傳輸一位數(shù)據(jù)。
① 處 NSS信號由高變低,是SPI通信的起始信號。NSS是 每個從機各自獨占的信號線,當從機在自己的 NSS線檢測到起始信號后,就知道自己被主機選中,開始準備與主機通信。⑥ 處 NSS信號由低變高,是SPI通信的停止信號,表示本次通信結(jié)束,從機的選中狀態(tài)被取消。
軟件編程
配置SPIx需要的GPIO為復用功能。
通過配置ISPI_INITSTRUCT初始化I2Cx,包括時鐘分頻,主機或從機模式,相位模式等等。

按需求配置中斷,并配置IRQ_HANDLER;
調(diào)用收發(fā)接口,并處理數(shù)據(jù)
SPI常見問題解析
Q1主從通信時,先開從機,然后再給主機上電,通信正常,但是同時上電,即便是給主機加了延時都通信異常。
A:首先應排查硬件上的問題,如芯片間的去耦電容是否正常,電源是否穩(wěn)定,如果確定了硬件沒有問題,就使用硬件片選試試,非常穩(wěn)定,主從同時上電即使主機不加延時也不會引起通信異常。
Q2:使用的DMA收發(fā),單獨測試一切正常,但是只要跟其他DMA同時使用就死機
A: 嘗試增大堆棧,MCU死機很大一部分原因是堆棧溢出(DMA是要用到堆棧的)
SPI穩(wěn)定性優(yōu)化
1,通信速率:主機的通信速率盡量不要超過從機SPI的最大速率
2,CRC校驗:如果工作環(huán)境較為惡劣,有較大的噪聲干擾,推薦開啟CRC校驗
3,硬件片選:雖然從理論上講,只有主機和從機片選開不開無所謂,但是經(jīng)過向多名開發(fā)者驗證和我的多次測試,開啟硬件片選可以大大提升SPI通信穩(wěn)定性。
審核編輯 黃宇
-
mcu
+關(guān)注
關(guān)注
147文章
18914瀏覽量
397776 -
調(diào)試
+關(guān)注
關(guān)注
7文章
646瀏覽量
35631 -
SPI
+關(guān)注
關(guān)注
17文章
1885瀏覽量
101178
發(fā)布評論請先 登錄
串口調(diào)試助手跟變頻器怎么通訊
電機軟起動器的調(diào)試技巧
變頻器使用過程中的參數(shù)調(diào)試
匯總開關(guān)電源調(diào)試的常見問題
芯源mcu的常見問題解答
FreeRTOS 在 AS32系列RISC-V 架構(gòu)MCU電機驅(qū)動中的應用實踐與優(yōu)化
?STMicroelectronics AEK-MCU-SPC5LNK 編程調(diào)試器技術(shù)解析
?MPLAB? PICkit? Basic調(diào)試器技術(shù)解析與應用指南
如何實現(xiàn)Infineon TRAVEO T2G系列MCU的安全調(diào)試
如何實現(xiàn)NXP S32K3系列MCU安全調(diào)試
調(diào)試工具:Eclipse調(diào)試工具欄與窗口的深入分析
使用BLE(CYW20829)作為SPI slave和MCU(TC387)作為SPI master,調(diào)試SPI通信時遇到的問題求解
硬件調(diào)試:JLink 驅(qū)動配置與調(diào)試技巧
RISC-V JTAG:開啟MCU 芯片調(diào)試之旅
AS32系列MCU調(diào)試教程 SPI調(diào)試的常見問題解析
評論