摘要
本篇筆記主要介紹,在NXP的S32DS for PA IDE下開發(fā)汽車級芯片MPC5744的SPI通信。
準備工作
開發(fā)環(huán)境IDE安裝,安裝S32DS for PA 版本,因為我們使用的是基于PA架構(gòu)的NXP MPC5744P。
安裝SDK最新版本V3.0.3
NXP DEVKIT-MPC5744P開發(fā)板
SPI 通信
SPI通信是一種全雙工同步通信,在嵌入式開發(fā)中是一種廣泛使用的通信接口,模塊框圖如下,支持查詢,中斷和DMA方式操作。FIFO支持5級,多路PCS片選,可支持多路從機


信號描述:

DSPI通信是SPI的一種升級和修改,在時序上稍微有一點不同,采樣靠后一些

更多詳細細節(jié)可以參考數(shù)據(jù)手冊描述,這里不在贅述。熟悉了DSPI的基本結(jié)構(gòu)后,可以在DS環(huán)境下,結(jié)合PE和SDK開發(fā)應(yīng)用。
MPC5744總共使用了四路SPI, 我們使用1和2來測試,分別對查詢和中斷方式進行了200kbps,500kbps,1Mbps,2Mbps進行了測試。均可正常收發(fā)數(shù)據(jù)。
SPI 配置 時鐘100M, 時鐘極性為高,bits/frame 8
使用DEVKIT-MPC5744P開發(fā)板 的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生成初始化代碼
調(diào)用生成的代碼和API完成測試程序

時鐘和管腳初始化


調(diào)用收發(fā)API完成測試程序和邏輯并進行測試,通過收發(fā)1-10個字節(jié)的數(shù)據(jù)。
測試
主機采用查詢,從機采用中斷方式,也可以添加DMA通道,使用DMA,主機發(fā)送,從機接收

從機發(fā)送,主機接收

通過測試發(fā)現(xiàn)收發(fā)數(shù)據(jù)完全正常,修改不同的速率測試也正常,供測試了200kbps,500kbps,1Mbps,2Mbps。有興趣的可以在進行更多測試。
編輯:jq
-
SPI
+關(guān)注
關(guān)注
17文章
1877瀏覽量
100531 -
S32DS
+關(guān)注
關(guān)注
0文章
9瀏覽量
1265
原文標題:基于S32DS 開發(fā)DSPI通信
文章出處:【微信號:InterruptISR,微信公眾號:嵌入式程序員】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于NXP的S32DS for PA IDE下開發(fā)汽車級芯片MPC5744的SPI通信
評論