关于IO模拟时序(SPI)的注意事项
Posted 杰瑞鼠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于IO模拟时序(SPI)的注意事项相关的知识,希望对你有一定的参考价值。
原则:有硬件I2C、SPI时尽量用硬件操作,省去IO模拟繁琐的时序调试。但在内部资源不够时就要用IO模拟总线了。
关于短延时:模拟时序时是否需要延时要看MCU与device的相对速度。比如I2C如果400K的速率和MCU动辄几十M的速率不再一个量级,肯定要通过延时调整时序;但对于SPI因为其速度很高,甚至有的比单片机的速度还高,这时就没必要延时了。
关于IO模拟的收发函数是否要合并成一个:对于SPI因为是全双工,所以可以分开,当然也可以合并成一个(发送时不需要返回值,而接收时此时参数是要发送的数据,返回值是要读的值)
关于在什么跳变沿操作:比如芯片手册中说到在上升沿采样/锁定(也就是在搞定平之后值必须稳定),那么单个位bit的收发都应该在0->1之间进行操作。
关于时钟极性和时钟相位:CPOL时钟极性只是说明了空闲时总线的电平状态:CPOL=1表明空闲时时钟是搞定平;否则是低电平。
CPOA时钟相位说明了在第几个跳变沿进行采样,CPOA=0表明在第一个沿进行采样,否则在第二个沿。
以上是关于关于IO模拟时序(SPI)的注意事项的主要内容,如果未能解决你的问题,请参考以下文章
AS5047P磁编码器应用设计大全解:硬件电路设计SPI通信时序逻辑波形分析注意事项
单片机模拟SPI协议和单片机自带SPI接口的区别?使用起来会有差别吗,会不会影响最终效果?