求助STC8H1K08 SPI从机全双工通信问题
STC8H1K08中烧录范例程序中的 AI8H 单主单从系统从机程序(中断方式)外部主控连续发送0x55
根据范例中程序代码,STC8H的MISO中也应输出0x55
但目前观察到时序不正确:
范例程序中SPCTL配置为0x40:
但通过逻辑分析仪发现,STC输出数据(MISO)中,数据在时钟上升沿发生改变(与CPHA设置不一致),导致数据错误
向各位老师请教一下排查思路,谢谢!
可以复现,配置mode3时从机还是mode1的极性
建议先统一设置为mode1
补充一个实验现象一个注意事项
同为8H型号测试,当从机spi输入时钟频率比主机高时,四个模式都可工作:
ercircle 发表于 2026-3-9 19:21
补充一个实验现象一个注意事项
同为8H型号测试,当从机spi输入时钟频率比主机高时,四个模式都可工作:
"当从机spi输入时钟频率比主机高"
这个意思是通过调整“SPR: SPI 时钟频率选择”或芯片时钟,使SPI部分时钟低于主机输出SPI时钟频率吗?我这样验证了一下确实看上去时序采样沿正确了,逻辑分析仪解析数据也正确了。但是感觉是不是通过减慢STC的SPI反应速度来实现的,感觉不是最终解决这个问题的方式。
注意事项里面的这部分是不是意味着当CPHA=0时,从机不能在一个片选里进行多字节响应?
幸好我目前要做的东西的SPI_MODE=3,用于和外部设备通信。但是还是担心上面这种解决方案会在一些时序要求严格的情况下无法使用 1.是让从机spi时钟尽可能高,高了才能正确采样sclk,个人感觉从机spi的外设频率其实是采样频率,实际工作频率应该外设频率/2。
2.看说明是的
页:
[1]