王昱顺 发表于 2024-3-8 09:47:32

两个问题,关于SPI超时寄存器和SPI使能

STC32F12K54想要读取一个频率在26Mhz的SPI信号,目前的问题是读出来总是有一位的偏移,并且超时中断的时间设置似乎不是很符合预期

这个数据并不是一直在发送的,大约间隔20ms发送300个左右的数据。
现在想问两个问题
1.打开HPLL后,SPI的时钟给到了260Mhz,此时超时中断如果使用不精确的1us计时,为啥设置成0xffff了都没有生效。此时IAP_TPS=52;
2.之前有提到过SPI的8个数据位之间是不进行超时判定的。如果错位了,可否通过
SPCTL &= ~0x40;
SPCTL |= 0x40;//开关SPI状态


来重新对齐时序?

国学芯用 发表于 2024-3-8 10:01:52


王昱顺 发表于 2024-3-8 10:16:13

本帖最后由 王昱顺 于 2024-3-8 12:02 编辑

国学芯用 发表于 2024-3-8 10:01

请问spi从机的时钟频率影响什么?
可以接受到的最高spi时钟嘛?
使用示波器查看spi信号是正常的,但是接受时会偏移一位。如果降低另一边的spi频率。则接受可以正常实现且无偏移
目前的想法是通过在clk空闲时打开spi-dma并且等待信号来临,接受到第一位spi数据后打开超时功能。等待超时中断后关断spi-dma并且读取数据

神农鼎 发表于 2024-3-8 11:40:00

SPI从机的时钟 需要是 主SPI 时钟的2倍以上,最好是4倍以上

王昱顺 发表于 2024-3-8 12:02:57

神农鼎 发表于 2024-3-8 11:40
SPI从机的时钟 需要是 主SPI 时钟的2倍以上,最好是4倍以上

已经使用了HPLL将SPI时钟拉到了260Mhz,分辨信号应该是够用的。

神农鼎 发表于 2024-3-8 12:05:10

从SPI输出的速度受 I/O 的输出速度的限制

_奶咖君_ 发表于 2024-8-7 13:33:22

所以这个问题还有后续么{:4_267:}

王昱顺 发表于 2024-8-7 13:51:20

_奶咖君_ 发表于 2024-8-7 13:33
所以这个问题还有后续么

使用CS信号可以解决,但是不使用CS信号的情况下,纯粹通过超时中断来对齐似乎并不能行。或者说,我暂时还没有找到方法

_奶咖君_ 发表于 2024-8-7 13:53:38

王昱顺 发表于 2024-8-7 13:51
使用CS信号可以解决,但是不使用CS信号的情况下,纯粹通过超时中断来对齐似乎并不能行。或者说,我暂时还 ...

好的感谢跟进
页: [1]
查看完整版本: 两个问题,关于SPI超时寄存器和SPI使能