程控移相器(MCP410101)及SPI
摘要:串行时钟(SCK)是SPI通信中的同步信号,用于协调主从设备间的数据传输时序。MCP41XXX/42XXX数字电位计通过SPI接口接收指令,包括数据写入、低功耗模式和NOP命令。SPI通信采用SCK、MOSI、MISO和片选线(SS),在SS信号有效时传输数据,每个时钟周期传输一位。数据在SCK上升沿采样,下降沿输出,传输顺序可MSB或LSB先行。MCP41010的最大SPI频率为10MHz
MCP41010


串行时钟(Serial Clock)通常指在串行通信协议中用于同步数据传输的时钟信号。它负责协调发送端和接收端之间的数据位传输节奏,确保双方能够准确识别和采样数据。
控制器与MCP41XXX/42XXX 数字电位计之间的通信是通过 SPI 串行接口完成的。该接口可发出三条指令:
1. 向电位计数据寄存器写入新值。
2. 使通道进入低功耗关机模式。
3. NOP(无操作)命令。

对于MCP41XXX来说,我们只需要保证C1=0,C0=1, P0 = 1即可写入数据,其他的都为无关位。因此写入指令为0x11或者0x13。
设备可以在 SPI 模式 0,0和 1,1 模式下运行设备。在这两种模式下,数据在 SCK 上升沿时数据进入电位器设备,而在 SCK 下降沿时电位器从 SO 引脚输出数据。(上升沿采样,下降沿输出)
MCP41010的spi最大频率为10MHz
SPI:
SPI 通讯使用3 条总线及片选线,3 条总线分别为SCK、MOSI、MISO,片选线为SS。
SPI 通讯设备之间的常用连接方式见图

一、SPI使用NSS (ss)信号线来寻址,当主机要选择从设备时,把该从设备的NSS 信号线设置为低电平,该从设备即被选中,即片选有效,接着主机开始与被选中的从设备进行SPI 通讯。所以SPI 通讯以NSS 线置低电平为开始信号,以NSS 线被拉高作为结束信号。
MOSI (Master Output, Slave Input):主设备输出/从设备输入引脚。主机的数据从这条信号线输出,从机由这条信号线读入主机发送的数据,即这条线上数据的方向为主机到从机。
MISO(Master Input,,Slave Output):主设备输入/从设备输出引脚。主机从这条信号线读入数据,从机的数据由这条信号线输出到主机,即在这条线上数据的方向为从机到主机。
二、SPI 通讯的通讯时序:

1、MOSI 与MISO 的信号只在NSS 为低电平的时候才有效(此时主机与被选中从机才能通信),在SCK 的每个时钟周期MOSI 和MISO 传输一位数据。
2、通讯的起始和停止信号:
图的标号1处,NSS 信号线由高变低,是SPI 通讯的起始信号。NSS 是每个从机各自独占的信号线,当从机检在自己的NSS 线检测到起始信号后,就知道自己被主机选中了,开始准备与主机通讯。在图中的标号6处,NSS 信号由低变高,是SPI 通讯的停止信号,表示本次通讯结束,从机的选中状态被取消。
3、数据有效性:
SPI 使用MOSI 及MISO 信号线来传输数据,使用SCK 信号线进行数据同步。MOSI及MISO 数据线在SCK 的每个时钟周期传输一位数据,且数据输入输出是同时进行的。数据传输时,MSB 先行或LSB 先行并没有作硬性规定,但要保证两个SPI 通讯设备之间使用同样的协定,一般都会采用图中的MSB 先行模式。(从数据的最高位开始传输,如10110110的传输顺序为:1,0,1,1,0,1,1,0。LSB先行则数据传输顺序为:0,1,1,0,1,1,0,1.高位数值变化对整个数影响大,低位的数值变化对整个数值的影响小)
观察图中,MOSI 及MISO 的数据在SCK 的上升沿期间变化输出,在SCK 的下降沿时被采样。即在SCK 的下降沿时刻,MOSI 及MISO 的数据有效,高电平时表示数据“1”,为低电平时表示数据“0”。在其它时刻,数据无效,MOSI 及MISO为下一次表示数据做准备。SPI 每次数据传输可以8 位或16 位为单位,每次传输的单位数不受限制。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)