云途HA SPI外设介绍
首先来看HA的DS手册中对SPI外设的描述:
SPI外设的电路系统框图如下所示:
通过RM手册的IPC章节可知,SPI模块的外设功能时钟是可选的
首先是IPC的DIV分频,是一个四位,范围从0-15;
实际上还需要通过PRESCALE来计算SPI的分频,但是在配置SPI过程中你只需要写你预期的波率即可,底层驱动中会自动通过一个SPI_SetBaudRate的函数来计算出对应的分频值
全双工通信方式可以通过中断通信,DMA 通信,阻塞通信三种方式进行
云途的SPI传输有三个API(本文最关键的部分):
1 | SPI_DRV_MasterTransfer |
SPI本身是支持一主多从时分复用的,这些SCK和SIN,SOUT线都是接在一起的,SPI从机设备的生产厂商各自不同,不能保证每家都有这个设计。临时凑在一起,总归会有比较大的风险(若当其中一个从机的发送数据信号线为高电平而另一个从机为低电平时,就会出现局部短路,进而损坏电路。)所以还是建议保守一点好,有几个从机,就配置几个SPI,这样能保证每个从机之间互不影响。
而多PCS设计的作用更多在于PCB布线的方便,从多个可选的PCS引脚中就近选择一个可用的PCS接到SPI从机设备上,对应在软件上,一旦确定下来某个SPI外设使用确定的PCS引脚,在整个程序的运行周期中就不再改动了。
CONT这个寄存器值得关注一下,置1后,PCS的状态将由SPI->TXCFG配置控制pcs结束,即需要软件去重新写SPI->TXCFG才会拉高pcs。具体表现为在传输完一帧后,是否需要重新拉高pcs。
CONT置1:
CONT置0:
https://mp.weixin.qq.com/s/cEGljK0pNDIvzAf7W_zqbQ
YTM32B1HA0xRM V1.2