当前位置:   article > 正文

一种自定义SPI通信协议

一种自定义SPI通信协议

本文介绍一种自定义SPI通信协议

项目开发过程中,有时候会涉及到主处理器或FPGA和MCU之间的SPI通信,涉及到通信就需要考虑通信协议,本文给出一种简单的通信协议。

1.协议格式

协议格式如下图。

其中,将40 bit划分为2大部分,控制部分数据部分

1)控制部分用于寻址及读/写控制。可以将31 bit或24 bit定义为读写位(1代表读,0代表写),另外7 bit作为地址(最大寻址128个寄存器地址)。

2)数据部分用于往寄存器写数据或用于读寄存器返回数据。在写数据时,MOSI上32 bit为要往寄存器写的数据,在读数据时,MOSI为空(0x00)或忽略,主设备产生时钟,MISO上32 bit为从设备返回的数据。

图中的32 bit data并不是固定的,也可以根据实际情况定义为8 bit或16bit等。

2.寄存器定义

寄存器定义可按下表进行描述。

addressregister namedefault valueR/Wdescription
0x01CTRL00x00RW

Bit[0]:

0x02CTRL10x00RWBit[0]:

3.SPI时序

SPI时序可采用模式3(最常使用),时序如下图。通信速度可根据实际情况定义,如10MHz,20MHz。

参考:

ADI,TMC2130 Datasheet

总结,本文介绍了一种自定义SPI通信协议。

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号