摘要
本篇筆記主要介紹,在NXP的S32DS for PA IDE下開發汽車級芯片MPC5744的SPI通信。
準備工作
開發環境IDE安裝,安裝S32DS for PA 版本,因為我們使用的是基于PA架構的NXP MPC5744P。
NXP DEVKIT-MPC5744P開發板
SPI 通信
SPI通信是一種全雙工同步通信,在嵌入式開發中是一種廣泛使用的通信接口,模塊框圖如下,支持查詢,中斷和DMA方式操作。FIFO支持5級,多路PCS片選,可支持多路從機
信號描述:
DSPI通信是SPI的一種升級和修改,在時序上稍微有一點不同,采樣靠后一些
更多詳細細節可以參考數據手冊描述,這里不在贅述。熟悉了DSPI的基本結構后,可以在DS環境下,結合PE和SDK開發應用。
MPC5744總共使用了四路SPI, 我們使用1和2來測試,分別對查詢和中斷方式進行了200kbps,500kbps,1Mbps,2Mbps進行了測試。均可正常收發數據。
SPI 配置 時鐘100M, 時鐘極性為高,bits/frame 8
使用DEVKIT-MPC5744P開發板 的SPI1 和SPI2互傳測試。硬件管腳連接,需手動連接以下管腳,有杜邦線的可以使用杜邦線連接,沒有的手動焊接。
A0-----J5 1 A6 CLK J1------8
A1-----J5 3 A8 MISO J1-----12
A2-----J5 5 A7 MOSI J1-----10
A3-----J1 2 A5 CS J1----6
可以參照SDK的例程,配置和新建工程,選取芯片為MPC5744 144腳封裝,默認是BGA 257腳封裝的
修改成144腳封裝
添加DSPI組件或者SPI都可以,這里以DSPI為例,添加兩個,因為我們要用兩路測試。
添加好后如下所示
配置屬性和管腳,SPI1配置為主,SPI2配置為從
配置管腳
配置完后,點擊更新和通過PE生成初始化代碼
調用生成的代碼和API完成測試程序
時鐘和管腳初始化
調用收發API完成測試程序和邏輯并進行測試,通過收發1-10個字節的數據。
測試
主機采用查詢,從機采用中斷方式,也可以添加DMA通道,使用DMA,主機發送,從機接收
從機發送,主機接收
通過測試發現收發數據完全正常,修改不同的速率測試也正常,供測試了200kbps,500kbps,1Mbps,2Mbps。有興趣的可以在進行更多測試。
編輯:jq
-
SPI
+關注
關注
17文章
1722瀏覽量
92139 -
S32DS
+關注
關注
0文章
9瀏覽量
856
原文標題:基于S32DS 開發DSPI通信
文章出處:【微信號:InterruptISR,微信公眾號:嵌入式程序員】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論