学技术 | 英飞凌XMC™使用Dave4快速开发 SPI应用笔记 上篇文章中讲解了在XMC单片机中,如何使用USIC单元配置IIC接口,这篇文章讲解如何配置使用另外一个很常用的通信协议SPI。
SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,SPI简单易用,与IIC类似,也是采用主从方式工作,一般是由四根线组成,事实上3根也可以(半双工模式)。基于SPI的设备共有的,四根线分别是MISO(主设备数据输入)、MOSI(主设备数据输出)、SCLK(时钟)、CS(片选)。
(1)MISO– Master Input Slave Output,主设备数据输入,从设备数据输出; (2)MOSI– Master Output Slave Input,主设备数据输出,从设备数据输入; (3)SCLK – Serial Clock,时钟信号,由主设备产生; (4)CS – Chip Select,从设备使能信号,由主设备控制。
在英飞凌XMC单片机中,SPI可以选择四种工作方式,分别为标准SPI,三线半双工SPI、Dual SPI、Quad SPI,标准spi就如上所示四根线全双工传输;三线SPI中,只使用一根数据线进行半双工通信,速度相比标准spi有所减慢;Dual SPI为四根线,两根数据线改为同方向,速度是三线的两倍,而Quad SPI六根线,也是单向通信,传输速度是Dual的两倍。
这次我们使用Dave4的app配置一个标准SPI
1. 先添加SPI_MASTER APP,双击打开后展现出以下画面,Operation mode一栏可以选择四种工作模式,我们选择为标准的Full Duplex;
在Desired bus speed可以选择SPI的时钟频率,此频率和从机的时钟频率保持一致即可,其中SPI的最大时钟频率由芯片的系统时钟决定。值得注意的是,时钟频率不等同于SPI的传输速率,传输速率受限于芯片处理SPI数据的能力,最大时钟频率只是有可能制约 其传输速率;
在Parity selection中可以选择奇校验和偶校验。
2.在Advanced Setting中,首先我们可以选择是否启用中断处理,这里我们选择启用;
Number of slave可以选择从机数量,这里选择1,当增加数量时,可以配置为CS的IO口也会随之增加;
Invert the signal polarity of SELOx signals可以选择CS引脚的输出极性;
在Frame and word length中我们可以启用MSLS信号来进行帧结束控制;
在Control中可以选择输出和接收数据位时MSB在先还是LSB在先,还可以选择时钟的相位和极性;
在FIFO Setting中可以选择是否使用FIFO,数据流只需使用 FIFO 数据缓存即可定义完整的数据帧,不必访问其它控制寄存器。
3.在后面的interrupt settings中可以配置中断相关,Pin Setting中配置引脚状态,就不多做介绍了。
4.在配置完app后,点击Manual Pin Allocator即可配置引脚
5.此外点击Manual Resource Assignment配置中断,然后生成代码即可。
|