SPI从机接口电路和芯片的制作方法
未命名
10-19
阅读:87
评论:0
spi从机接口电路和芯片
技术领域
1.本发明涉及spi接口技术领域,具体的,涉及一种spi从机接口电路,还涉及应用该spi从机接口电路的芯片。
背景技术:
2.spi总线系统是一种同步串行外设接口,它可以使mcu与各种外围设备以串行方式进行通信以交换信息。spi总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(sck)、主机输入/从机输出数据线miso、主机输出/从机输入数据线mosi和低电平有效的从机选择线csn。
3.spi以主从方式工作,这种模式通常有一个主机和一个或多个从机。通常从机接口内部有一个高频时钟源,该时钟源用于驱动从机接口通信时序电路,并且检测sck的翻转边沿,并且根据上升沿还是上升沿,采样数据或者更新数据输出。这种结构要求高频时钟源频率为sck频率的8倍以上,如果sck时钟频率很高,比如,100mhz,那么高频时钟源的实现成本很高。
4.为了克服高频时钟源的困难,现有的一种实现方式是sck直接作为时钟驱动从机接口通信时序电路。但因为spi通信协议一般要求sck上升沿采样数据,sck下降沿更新数据。所以spi从机要用sck上升沿将命令或者数据采样锁存,然后在下一个下降沿执行命令或者保存数据。然而,spi有四种时序模式:mode0、mode1、mode2和mode3,在某些时序模式下,sck信号的最后一个跳边沿后,控制器无法完成执行命令或者保存数据的操作,例如,当spi主机采用mode3时序发送命令和数据时,如图1所示,sck的最后一个上升沿后,不再有下降沿,因此,无法完成执行命令或者保存数据的操作,所以该方式不支持mode3的时序。
5.因此,需要考虑更加优化的电路结构。
技术实现要素:
6.本发明的第一目的是提供一种支持spi所有时序模式且可避免高频时钟源问题的spi从机接口电路。
7.本发明的第二目的是提供一种支持spi所有时序模式且可避免高频时钟源问题的芯片。
8.为了实现上述第一目的,本发明提供的spi从机接口电路包括时钟控制电路、命令执行器、数据管理器、输入移位器、输出移位器、数据输入端和数据输出端;时钟控制电路包括非门、异或门、片选信号端、时钟信号端、反相时钟端和正相时钟端,与非门的输出端与复位信号端电连接,非门的输出端与异或门的第一输入端电连接,异或门的第二输入端与时钟信号端电连接,异或门的输出端与反相时钟端电连接,正相时钟端与时钟信号端电连接;命令执行器和输出移位器均与反相时钟端电连接,正相时钟端与输入移位器电连接,输入移位器的输入端与数据输入端电连接,命令执行器和数据管理器均与输入移位器的输出端电连接,输出移位器的输入端与数据管理器电连接,输出移位器的输出端与数据输出端电
连接;反相时钟端向命令执行器和输出移位器发送反相时钟信号,正相时钟端向输入移位器发送正相时钟信号,反相时钟信号驱动命令执行器获取输入移位器的命令数据,命令执行器控制数据管理器接收输入移位器的输入数据或向输出移位器发送输出数据,输入移位器在正相时钟信号的驱动下采样并移位保存数据输入端的输入数据,输出移位器在反相时钟信号的驱动下接收数据管理器的输出数据并移位输出至数据输出端。
9.由上述方案可知,本发明的spi从机接口电路在时钟控制电路中,非门的输入端与片选信号端电连接,非门的输出端与异或门的第一输入端电连接,异或门的第二输入端与时钟信号端电连接,异或门的输出端与反相时钟端电连接,正相时钟端与时钟信号端电连接,使得正相时钟端输出与时钟信号端的时钟信号同频同相的时钟信号,反相时钟端输出与时钟信号端的时钟信号同频反相的时钟信号,且反相时钟端在时钟信号端输入的时钟信号结束后仍具有一个上升沿,使得反相时钟端的反相时钟信号可驱动命令执行器完成命令执行操作,避免逻辑错误,从而使得spi从机接口电路可使用spi接口的任意时序模式,同时,无需设置高频时钟源,降低成本。
10.进一步的方案中,时钟控制电路还包括时钟发生器、第一d触发器、第二d触发器、与非门和复位信号端,第一d触发器和第二d触发器的时钟端均与时钟发生器的输出端电连接,第一d触发器和第二d触发器的清零端均与片选信号端电连接,第一d触发器的d端接高电平,第一d触发器的q端与第二d触发器的d端电连接,第二d触发器的q端与与非门的第一输入端电连接,与非门的第二输入端与第一d触发器的q端电连接,与非门的输出端与复位信号端电连接,复位信号端与命令执行器电连接;复位信号端向命令执行器发送复位信号,命令执行器在复位信号为高电平时使能工作。
11.由此可知,时钟控制电路通过设置时钟发生器、第一d触发器、第二d触发器、与非门和复位信号端,可使得片选信号端在由高电平变为低电平时,复位信号端立即由低电平转化为高电平驱动命令执行器工作,而在片选信号端在由低电平变为高电平时,复位信号端延时一段时间后才由低电平转化为高电平,以保障命令执行器完成工作,避免发生错误动作。
12.进一步的方案中,正相时钟端通过缓冲器与时钟信号端电连接。
13.由此可知,由于反相时钟端输出的反相时钟信号经过非门和异或门,会存在一定的延时,因此,正相时钟端通过缓冲器与时钟信号端电连接,可使正相时钟端输出的正相时钟信号经过缓冲器的延时后与反相时钟信号对齐,以便后续的逻辑控制。
14.为了实现本发明的第二目的,本发明提供的芯片设置有spi从机接口电路,有spi从机接口电路包括时钟控制电路、命令执行器、数据管理器、输入移位器、输出移位器、数据输入端和数据输出端;时钟控制电路包括时钟控制电路、命令执行器、数据管理器、输入移位器、输出移位器、数据输入端和数据输出端;时钟控制电路包括非门、异或门、片选信号端、时钟信号端、反相时钟端和正相时钟端,非门的输入端与片选信号端电连接,非门的输出端与异或门的第一输入端电连接,异或门的第二输入端与时钟信号端电连接,异或门的输出端与反相时钟端电连接,正相时钟端与时钟信号端电连接;命令执行器和输出移位器均与反相时钟端电连接,正相时钟端与输入移位器电连接,输入移位器的输入端与数据输入端电连接,命令执行器和数据管理器均与输入移位器的输出端电连接,输出移位器的输入端与数据管理器电连接,输出移位器的输出端与数据输出端电连接;反相时钟端向命令
执行器和输出移位器发送反相时钟信号,正相时钟端向输入移位器发送正相时钟信号,反相时钟信号驱动命令执行器获取输入移位器的命令数据,命令执行器控制数据管理器接收输入移位器的输入数据或向输出移位器发送输出数据,输入移位器在正相时钟信号的驱动下采样并移位保存数据输入端的输入数据,输出移位器在反相时钟信号的驱动下接收数据管理器的输出数据并移位输出至数据输出端。
附图说明
15.图1是现有spi通信模式的mode3时序的时序图。
16.图2是本发明spi从机接口电路实施例的电路原理框图。
17.图3是本发明spi从机接口电路实施例中时钟控制电路的电路原理图。
18.图4是本发明spi从机接口电路实施例中片选信号端、时钟信号端、正相时钟端、反相时钟端和复位信号端在mode0时序下的波形图。
19.图5是本发明spi从机接口电路实施例中片选信号端、时钟信号端、正相时钟端、反相时钟端和复位信号端在mode3时序下的波形图。
20.以下结合附图及实施例对本发明作进一步说明。
具体实施方式
21.spi从机接口电路实施例:
22.如图2所示,本实施例中,spi从机接口电路包括时钟控制电路1、命令执行器2、数据管理器3、输入移位器4、输出移位器5、数据输入端mosi和数据输出端miso。命令执行器2、数据管理器3、输入移位器4、输出移位器5采用公知的器件,在此不再赘述。
23.本实施例中,参见图3,时钟控制电路1包括非门11、异或门12、片选信号端csn、时钟信号端sck、反相时钟端sck_nclk和正相时钟端sck_pclk,非门11的输出端与异或门12的第一输入端电连接,异或门12的第二输入端与时钟信号端sck电连接,异或门12的输出端与反相时钟端sck_nclk电连接,正相时钟端sck_pclk与时钟信号端sck电连接。命令执行器2和输出移位器5均与反相时钟端sck_nclk电连接,正相时钟端sck_pclk与输入移位器4电连接,输入移位器4的输入端与数据输入端mosi电连接,命令执行器2和数据管理器3均与输入移位器4的输出端电连接,输出移位器5的输入端与数据管理器3电连接,输出移位器5的输出端与数据输出端miso电连接,命令执行器2和数据管理器3电连接。
24.本实施例中,正相时钟端sck_pclk通过缓冲器13与时钟信号端sck电连接。由于反相时钟端sck_nclk输出的反相时钟信号经过非门11和异或门12,会存在一定的延时,因此,正相时钟端sck_pclk通过缓冲器13与时钟信号端sck电连接,可使正相时钟端sck_pclk输出的正相时钟信号经过缓冲器13的延时后与反相时钟信号对齐,以便后续的逻辑控制。
25.反相时钟端sck_nclk向命令执行器2和输出移位器5发送反相时钟信号,命令执行器2和输出移位器5在反相时钟信号的上升沿动作。正相时钟端sck_pclk向输入移位器4发送正相时钟信号,输入移位器4在正相时钟信号的上升沿动作。反相时钟信号驱动命令执行器2获取输入移位器4的命令数据,命令执行器2控制数据管理器3接收输入移位器4的输入数据或向输出移位器5发送输出数据,输入移位器4在正相时钟信号的驱动下采样并移位
保存数据输入端mosi的输入数据,输出移位器5在反相时钟信号的驱动下接收数据管理器3的输出数据并移位输出至数据输出端miso。
26.时钟控制电路1还包括时钟发生器14、第一d触发器15、第二d触发器16、与非门17和复位信号端csn_rst,第一d触发器15、第二d触发器16均为带清零端的d触发器,第一d触发器15和第二d触发器16的时钟端均与时钟发生器14的输出端电连接,第一d触发器15和第二d触发器16的清零端均与片选信号端csn电连接,第一d触发器15的d端接高电平,即图3中的“逻辑1”端子,第一d触发器15的q端与第二d触发器16的d端电连接,第二d触发器16的q端与与非门17的第一输入端电连接,与非门17的第二输入端与第一d触发器15的q端电连接,与非门17的输出端与复位信号端csn_rst电连接,复位信号端csn_rst与命令执行器2电连接。复位信号端csn_rst向命令执行器2发送复位信号,命令执行器2在复位信号为高电平时使能工作。
27.spi通信的mode0、mode1、mode2和mode3四种时序模式中,由于mode0和mode2的最后一个跳边沿相同,mode1和mode3的最后一个跳边沿相同,因此,下面针对mode0和mode3两种时序模式描述本实施例的spi从机接口电路的工作原理,mode2与mode0的原理类似,mode1和mode3原理类似。
28.参见图4,spi从机接口电路工作在mode0时序模式下时,当片选信号端csn的信号由高电平变低电平时,复位信号端csn_rst的信号立刻由低电平变高电平,释放复位,驱动命令执行器2使能工作。反相时钟端sck_nclk输出与时钟信号端sck的时钟信号同频反相的时钟信号,正相时钟端sck_pclk输出与时钟信号端sck的时钟信号同频同相的时钟信号。接着,在反相时钟端sck_nclk的驱动下,驱动命令执行器2开始监控输入移位器4的命令数据,解析spi主机发送的命令,并执行该命令。数据管理器3在命令执行器2的控制下,接收输入移位器4的输出数据或者发送数据给输出移位器5。输入移位器4在正相时钟端sck_pclk的驱动下,采样并移位保存数据输入端mosi输入的数据。输出移位器5在反相时钟端sck_nclk的驱动下,接收数据管理器3的数据,并移位输出到数据输出端miso。在时钟信号端sck的时钟信号处于最后一个下降沿时,反相时钟端sck_nclk输出的反相时钟信号在片选信号端csn和时钟信号端sck输入信号的作用下还具有一个上升沿a,从而可保障命令执行器2完成命令执行或数据保存的操作。当片选信号端csn的信号由低电平变高电平时,在时钟发生器14的时钟信号经过第一d触发器15、第二d触发器16和与非门17的作用下,实现复位信号端csn_rst的信号由高电平变低电平的动作比片选信号端csn的信号由低电平变高电平的动作晚两个时钟周期,见图4中的t1,以保障命令执行器2完成工作,避免发生错误动作。
29.参见图5,spi从机接口电路工作在mode3时序模式下时,当片选信号端csn的信号由高电平变低电平时,复位信号端csn_rst的信号立刻由低电平变高电平,释放复位,驱动命令执行器2使能工作。反相时钟端sck_nclk输出与时钟信号端sck的时钟信号同频反相的时钟信号,正相时钟端sck_pclk输出与时钟信号端sck的时钟信号同频同相的时钟信号。接着,在反相时钟端sck_nclk的驱动下,驱动命令执行器2开始监控输入移位器4的命令数据,解析spi主机发送的命令,并执行该命令。数据管理器3在命令执行器2的控制下,接收输入移位器4的输出数据或者发送数据给输出移位器5。输入移位器4在正相时钟端sck_pclk的驱动下,采样并移位保存数据输入端mosi输入的数据。输出移位器5在反相时钟端
sck_nclk的驱动下,接收数据管理器3的数据,并移位输出到数据输出端miso。在时钟信号端sck的时钟信号处于最后一个上升沿后,反相时钟端sck_nclk输出的反相时钟信号在片选信号端csn和时钟信号端sck输入信号的作用下还具有一个上升沿b,从而可保障命令执行器2完成命令执行或数据保存的操作。当片选信号端csn的信号由低电平变高电平时,在时钟发生器14的时钟信号经过第一d触发器15、第二d触发器16和与非门17的作用下,实现复位信号端csn_rst的信号由高电平变低电平的动作比片选信号端csn的信号由低电平变高电平的动作晚两个时钟周期,见图5中的t2,以保障命令执行器2完成工作,避免发生错误动作。
30.由上述可知,本发明的spi从机接口电路在时钟控制电路1中,非门11的输入端与片选信号端csn电连接,非门11的输出端与异或门12的第一输入端电连接,异或门12的第二输入端与时钟信号端sck电连接,异或门12的输出端与反相时钟端sck_nclk电连接,正相时钟端sck_pclk与时钟信号端sck电连接,使得正相时钟端sck_pclk输出与时钟信号端sck的时钟信号同频同相的时钟信号,反相时钟端sck_nclk输出与时钟信号端sck的时钟信号同频反相的时钟信号,且反相时钟端sck_nclk在时钟信号端sck输入的时钟信号结束后仍具有一个上升沿,使得反相时钟端sck_nclk的反相时钟信号可驱动命令执行器2完成命令执行操作,避免逻辑错误,从而使得spi从机接口电路可使用spi接口的任意时序模式,同时,无需设置高频时钟源,降低成本。
31.需要说明的是,以上仅为本发明的优选实施例,但发明的设计构思并不局限于此,凡利用此构思对本发明做出的非实质性修改,也均落入本发明的保护范围之内。
技术特征:
1.一种spi从机接口电路,其特征在于:包括时钟控制电路、命令执行器、数据管理器、输入移位器、输出移位器、数据输入端和数据输出端;所述时钟控制电路包括非门、异或门、片选信号端、时钟信号端、反相时钟端和正相时钟端,所述非门的输入端与所述片选信号端电连接,所述非门的输出端与所述异或门的第一输入端电连接,所述异或门的第二输入端与所述时钟信号端电连接,所述异或门的输出端与反相时钟端电连接,所述正相时钟端与所述时钟信号端电连接;所述命令执行器和所述输出移位器均与所述反相时钟端电连接,所述正相时钟端与所述输入移位器电连接,所述输入移位器的输入端与所述数据输入端电连接,所述命令执行器和所述数据管理器均与所述输入移位器的输出端电连接,所述输出移位器的输入端与所述数据管理器电连接,所述输出移位器的输出端与所述数据输出端电连接;所述反相时钟端向所述命令执行器和所述输出移位器发送反相时钟信号,所述正相时钟端向所述输入移位器发送正相时钟信号,所述反相时钟信号驱动所述命令执行器获取所述输入移位器的命令数据,所述命令执行器控制所述数据管理器接收所述输入移位器的输入数据或向所述输出移位器发送输出数据,所述输入移位器在所述正相时钟信号的驱动下采样并移位保存所述数据输入端的输入数据,所述输出移位器在所述反相时钟信号的驱动下接收所述数据管理器的输出数据并移位输出至所述数据输出端。2.根据权利要求1所述的spi从机接口电路,其特征在于:所述时钟控制电路还包括时钟发生器、第一d触发器、第二d触发器、与非门和复位信号端,所述第一d触发器和所述第二d触发器的时钟端均与所述时钟发生器的输出端电连接,所述第一d触发器和所述第二d触发器的清零端均与所述片选信号端电连接,所述第一d触发器的d端接高电平,所述第一d触发器的q端与所述第二d触发器的d端电连接,所述第二d触发器的q端与所述与非门的第一输入端电连接,所述与非门的第二输入端与所述第一d触发器的q端电连接,所述与非门的输出端与所述复位信号端电连接,所述复位信号端与所述命令执行器电连接;所述复位信号端向所述命令执行器发送复位信号,所述命令执行器在所述复位信号为高电平时使能工作。3.根据权利要求1或2所述的spi从机接口电路,其特征在于:所述正相时钟端通过缓冲器与所述时钟信号端电连接。4.一种芯片,设置有spi从机接口电路,其特征在于:所述有spi从机接口电路包括时钟控制电路、命令执行器、数据管理器、输入移位器、输出移位器、数据输入端和数据输出端;所述时钟控制电路包括时钟控制电路、命令执行器、数据管理器、输入移位器、输出移位器、数据输入端和数据输出端;所述时钟控制电路包括非门、异或门、片选信号端、时钟信号端、反相时钟端和正相时钟端,所述非门的输入端与所述片选信号端电连接,所述非门的输出端与所述异或门的第一输入端电连接,所述异或门的第二输入端与所述时钟信号端电连接,所述异或门的输出端与反相时钟端电连接,所述正相时钟端与所述时钟信号端电连接;所述命令执行器和所述输出移位器均与所述反相时钟端电连接,所述正相时钟端与所述输入移位器电连接,所述输入移位器的输入端与所述数据输入端电连接,所述命令执行
器和所述数据管理器均与所述输入移位器的输出端电连接,所述输出移位器的输入端与所述数据管理器电连接,所述输出移位器的输出端与所述数据输出端电连接;所述反相时钟端向所述命令执行器和所述输出移位器发送反相时钟信号,所述正相时钟端向所述输入移位器发送正相时钟信号,所述反相时钟信号驱动所述命令执行器获取所述输入移位器的命令数据,所述命令执行器控制所述数据管理器接收所述输入移位器的输入数据或向所述输出移位器发送输出数据,所述输入移位器在所述正相时钟信号的驱动下采样并移位保存所述数据输入端的输入数据,所述输出移位器在所述反相时钟信号的驱动下接收所述数据管理器的输出数据并移位输出至所述数据输出端。5.根据权利要求4所述的芯片,其特征在于:所述时钟控制电路还包括时钟发生器、第一d触发器、第二d触发器、与非门和复位信号端,所述第一d触发器和所述第二d触发器的时钟端均与所述时钟发生器的输出端电连接,所述第一d触发器和所述第二d触发器的清零端均与所述片选信号端电连接,所述第一d触发器的d端接高电平,所述第一d触发器的q端与所述第二d触发器的d端电连接,所述第二d触发器的q端与所述与非门的第一输入端电连接,所述与非门的第二输入端与所述第一d触发器的q端电连接,所述与非门的输出端与所述复位信号端电连接,所述复位信号端与所述命令执行器电连接;所述复位信号端向所述命令执行器发送复位信号,所述命令执行器在所述复位信号为高电平时使能工作。6.根据权利要求4或5所述的芯片,其特征在于:所述正相时钟端通过缓冲器与所述时钟信号端电连接。
技术总结
本发明提供一种SPI从机接口电路和芯片,该电路包括时钟控制电路、命令执行器、数据管理器、输入移位器、输出移位器、数据输入端和数据输出端;时钟控制电路包括非门、异或门、片选信号端、时钟信号端、反相时钟端和正相时钟端,与非门的输出端与复位信号端电连接,非门的输出端与异或门的第一输入端电连接,异或门的第二输入端与时钟信号端电连接,异或门的输出端与反相时钟端电连接,正相时钟端与时钟信号端电连接。该芯片应用该电路。应用本发明可支持SPI所有时序模式且可避免高频时钟源问题。SPI所有时序模式且可避免高频时钟源问题。SPI所有时序模式且可避免高频时钟源问题。
技术研发人员:朱国钟 杨一聪
受保护的技术使用者:珠海市凌珑宇芯科技有限公司
技术研发日:2023.06.30
技术公布日:2023/10/8
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/