概述
SPI一般用于在微处理器与版上外设或板卡间短距离通讯,主设备发起用于读取和写入的帧。本文通过阅读分析参考手册,深入NXP S32K1 LPSPI模块,后续在分析其S32SDK SPI驱动,最后以C++语言在S32K1上实现EEPROM访问。
S32K1 有1-3个LPSPI模块,每个模块有4字的TX FIFO、4字的RX FIFO,支持主、从模式,支持DMA访问和产生DMA请求,可在Stop模式下继续操作。可配置时钟极性和相位、多大4个片选、灵活的时间参数设置(SCK、PCS与SCK之间延迟等)、支持全双工1bit、半双工1、2、4bit传输、支持Host request启动传输、接收数据匹配唤醒。
引脚信号
Signal | Name |
---|---|
SCK | Serial clock |
PCS[0] | Peripheral Chip Select |
PCS[1] / HREQ | Peripheral Chip Select or Host Request |
PCS[2] /DATA[2] | Peripheral Chip Select or data pin 2 during parallel data transfers |
PCS[3] /DATA[3] | Peripheral Chip Select or data pin 3 during parallel data transfers |
SOUT / DATA[0] | Serial Data Output |
SIN / DATA[1] | Serial Data Input |