通用从机同步串行接口电路的制作方法

文档序号:6514653阅读:184来源:国知局
通用从机同步串行接口电路的制作方法
【专利摘要】本发明提供一种通用从机同步串行接口电路,包括起始与终止检测模块,用于检测SPI总线协议有效位、IIC总线协议起始条件和终止条件并输出;控制模块,用于根据起始与终止检测模块的输出信号确定所述串行接口电路的总线数据传输方式,对并串和串并转换模块进行控制;并串和串并转换模块,受控于控制模块,用于将从机内部的多个寄存器数据串行输出和外部串行数据转化为从机内部寄存器数据;地址指针寄存器,用于寻址从机内部的多个寄存器。本发明实现了支持兼容IIC协议和SPI协议总线数据传输的通用从机同步串行接口电路,可以满足不同场合的应用需求。
【专利说明】通用从机同步串行接口电路
【技术领域】
[0001]本发明涉及一种串行通信技术,具体涉及一种通用从机同步串行接口电路。
【背景技术】
[0002]目前 SPI (Serial Peripheral Interface)和 IIC(Inter-1ntegrated Circuit)总线接口电路已被广泛地应用于微处理器、传感器、EEPR0M、Flash存储器等各个领域。SPI协议和IIC协议是同步串行总线协议,可以将并行数据串行输出和接收串行数据转换为并行数据。系统中的主机和从机利用SPI总线或IIC总线进行数据传输,总线接口电路的性能直接影响总线的数据传输质量。
[0003]在数据传输速度方面,SPI总线可达5Mbit/s,而IIC总线最高只能达到3.4Mbit/s ;在数据传输准确率方面,IIC总线由于每传输一个字节数据都需要应答,准确率要高于SPI总线;在系统应用方面,IIC总线可以组成多主机、多从机的系统,而SPI总线只能组成一主机、多从机的系统。
[0004]目前研制的从机同步串行接口电路大多不具有同时兼容IIC总线和SPI总线数据传输的功能。有些从机既有Iic总线接口电路,又有SPI总线接口电路,但两种接口电路浪费了内部逻辑资源和占用较多的接口。
[0005]因此一种兼容IIC和SPI总线协议的通用从机同步串行接口电路设计是十分有必要的。

【发明内容】

[0006]本发明的目的在于克服现有技术中存在的不足,提供一种支持兼容Iic协议和SPI协议总线数据传输的通用从机同步串行接口电路。本发明采用的技术方案是:
[0007]一种通用从机同步串行接口电路,包括:
[0008]起始与终止检测模块,用于检测SPI总线协议有效位、IIC总线协议起始条件和终止条件并输出;
[0009]控制模块,用于根据起始与终止检测模块的输出信号确定所述串行接口电路的总线数据传输方式,对并串和串并转换模块进行控制;所述总线数据传输方式包括SPI总线数据传输和IIC总线数据传输;
[0010]并串和串并转换模块,受控于控制模块,用于将从机内部的多个寄存器数据串行输出和外部串行数据转化为从机内部寄存器数据;
[0011]地址指针寄存器,用于寻址从机内部的多个寄存器;
[0012]当所述串行接口电路在用于SPI总线数据传输时,从机根据SPI总线协议与主机进行数据传输;
[0013]当所述串行接口电路在用于IIC总线数据传输时,从机根据IIC总线协议与主机进行数据传输。
[0014]进一步地,所述串行接口电路还包括片选信号端口 CS_n、串行时钟端口 SCK、串行数据端口 SO1、从机地址选择端口 ;
[0015]当所述片选信号端口CS_n的片选信号有效时,起始与终止检测模块向控制模块发送SPI总线协议有效位,所述串行接口电路用于SPI总数据线传输;
[0016]当所述片选信号端口CS_n的片选信号无效时,起始与终止检测模块检测串行时钟端口 SCK和串行数据端口 SOI的数据,若检测到IIC总线协议起始条件,则所述串行接口电路用于IIC总线数据传输;进而当检测到IIC总线协议终止条件时,IIC总线数据传输停止;
[0017]所述从机地址选择端口用于在IIC总线数据传输时,确定IIC总线上各从机的唯一从机地址。
[0018]进一步地,所述从机地址选择端口为三位,分别是从机地址选择端口 A2、A1和A0。
[0019]进一步地,所述片选信号为低电平有效,高电平无效。
[0020]进一步地,所述IIC总线协议起始条件为:SCK信号为高电平时,SOI信号从高电平向低电平切换;所述IIC总线协议终止条件为:SCK信号为高电平时,SOI信号从低电平向高电平切换。
[0021]进一步地,当所述串行接口电路在用于SPI总线数据传输时,根据接收到的读写指令中包含的寄存器地址信息并结合地址指针寄存器对从机内的多个寄存器进行寻址,具体为:控制模块将接收到的读写指令中包含的寄存器地址信息存入地址指针寄存器,然后依此存入地址指针寄存器的寄存器地址信息对从机内的多个寄存器进行寻址。
[0022]进一步地,当所述串行接口电路在用于IIC总线数据传输时,根据接收到的地址指针并结合地址指针寄存器对从机内的多个寄存器进行寻址,具体为:控制模块将接收到的地址指针存入地址指针寄存器,然后依此存入地址指针寄存器的地址指针对从机内的多个寄存器进行寻址。
[0023]本发明设计了一种兼容IIC和SPI总线协议的通用从机同步串行接口电路,节约了接口电路的内部逻辑资源,还可以减少从机接口电路的接口数,能促进整个系统的优化设计。
【专利附图】

【附图说明】
[0024]图1为通用从机同步串彳丁接口电路不意图。
[0025]图2为通用从机同步串行接口电路结构框图。
[0026]图3为通用从机同步串行接口电路控制模块的状态机。
[0027]图4为该接口电路用于SPI总线数据传输的时序。
[0028]图5为该接口电路用于IIC总线数据传输的读时序。
[0029]图6为该接口电路用于IIC总线数据传输的写时序。
【具体实施方式】
[0030]下面结合具体附图和实施例对本发明作进一步说明。
[0031]一种通用从机同步串行接口电路,包括:起始与终止检测模块114,用于检测SPI总线协议有效位、Iic总线协议起始条件106和终止条件110并输出;控制模块115,用于根据起始与终止检测模块114的输出信号确定所述串行接口电路的总线数据传输方式,对并串和串并转换模块116进行控制,所述总线数据传输方式包括SPI总线数据传输和IIC总线数据传输;并串和串并转换模块116,受控于控制模块115,用于将从机内部的多个寄存器数据串行输出和外部串行数据转化为从机内部寄存器数据;地址指针寄存器117,用于寻址从机内部的多个寄存器。
[0032]当所述串行接口电路在用于SPI总线数据传输时,从机根据SPI总线协议与主机进行数据传输;
[0033]当所述串行接口电路在用于IIC总线数据传输时,从机根据IIC总线协议与主机进行数据传输。
[0034]具体地,本发明所提出的从机接口电路如图1所示,包括以下接口:片选信号端口CS_n、串行时钟端口 SCK、串行数据端口 SO1、从机地址选择端口 A2、A1、A0。其中,片选信号端CS_n的片选信号决定是否进行SPI总线传数据输,低电平有效;从机地址选择端口 A2、Al、AO用于在IIC总线数据传输时,确定IIC总线上各从机的唯一从机地址。串行时钟端口 SCK、串行数据端口 SOI为IIC总线或SPI总线的串行时钟端和串行数据端。
[0035]本发明的电路结构框图如图2所示,起始和终止检测模块114在片选信号端口 CS_η为低电平时向控制模块115发送SPI总线协议有效位,所述串行接口电路用于SPI总数据线传输;否则在片选信号端口 CS_nS高电平时利用串行时钟端口 SCK、串行数据端口 SOI的数据是否符合图5和图6中IIC总线协议的起始条件106和停止条件110来判断IIC总线数据传输是否有效,也就是说起始与终止检测模块114检测串行时钟端口 SCK和串行数据端口 SOI的数据,若检测到IIC总线协议起始条件106,则所述串行接口电路用于IIC总线数据传输;进而当检测到IIC总线协议终止条件110时,IIC总线数据传输停止。控制模块115根据起始和终止检测模块114发送的IIC总线协议起始条件106和终止条件110或者SPI总线协议有效位控制并串和串并转换模块116。另外在IIC总线数据传输时控制模块115还要接收和发送应答位109。主机利用地址指针寄存器117对从机内部寄存器进行寻址,对从机内部多个寄存器进行读写操作。本实施例中,从机中寄存器1、寄存器2、寄存器4、寄存器5为只读寄存器,寄存器3的低字节为只读、高字节为可读写。本例中从机内部寄存器数据为16比特。
[0036]上述IIC总线协议起始条件106为:SCK信号为高电平时,SOI信号从高电平向低电平切换;上述IIC总线协议终止条件110为:SCK信号为高电平时,SOI信号从低电平向高电平切换。
[0037]其中,IIC总线要求每传输8比特数据,接收数据方需要向发送数据方发送应答位109。SPI总线不需要接收或发送应答位109,每次接收和发送16比特的数据。因此,为了满足IIC总线协议和SPI总线协议的需要,在根据IIC总线协议进行数据传输时,并串和串并转换模块116利用的是8比特的寄存器(在对16比特寄存器操作时,可先进行高八位的操作,再进行低八位的操作),而在根据SPI总线协议进行数据传输时,并串和串并转换模块116利用的是16比特的寄存器。
[0038]图3所示的为控制模块115的状态机。该状态机初始为空闲态119,当从机接收到SPI总线有效位即片选信号端口 CS_n为逻辑O时,从机进入读数据状态124,接下来从机进入接收读写指令状态125,若为读指令,则再进入读数据状态124 ;若为写指令,则进入写数据状态126。[0039]而在状态机开始处于空闲态119时,若从机检测(起始与终止检测模块114在进行检测,下同)到Iic总线协议起始条件106且片选信号CS_n为逻辑1,控制模块115进入到从机地址和读写位接收应答状态120,然后从机若检测到IIC总线协议终止条件110,则进入空闲态119,否则如果为IIC总线读标志,系统进入数据发送状态121,紧接着若从机检测到IIC总线协议终止条件110,进入初始空闲态119 ;如果为IIC写标志,从机进入地址接收应答状态122,进而若从机检测到IIC总线协议终止条件110,从机返回空闲态119 ;否则从机进入数据接收应答状态123,紧接着从机接收IIC总线协议终止条件110,返回到空闲态119。
[0040]通用从机同步串行接口电路用于SPI总线数据传输时的时序如图4所示。在片选信号CS_n有效时,首先从机向主机发送16比特的读数据(即地址指针寄存器117所对应的默认寄存器数据,也就是一个上电初始默认数据),紧接着接收主机发送的16比特读写指令,根据读、写指令的不同,接下来16个时钟周期从机向主机发送16比特读数据或接收主机16比特写数据。通用从机同步串行接口电路用于SPI总线数据传输时,读写指令与寄存器的对应关系如表1所示。如果为读指令,在本例中读指令中的6、5、4位代表了寄存器地址信息,控制模块115将接收到的16位读指令的6、5、4位存入地址指针寄存器117,接着从机从读指令中寄存器地址信息所对应的寄存器读取数据并向主机发送;如果为写指令,控制模块115将接收到的16位写指令的中间八位数据存入寄存器3的高八位中。此例中只有寄存器3为可写,因此写操作时无需按照寄存器地址信息寻址,在其它可能的情况下,当有多个寄存器为可写时,则写操作的寄存器寻址方式可参照读操作的寻址方式。
[0041]表1
[0042]
【权利要求】
1.一种通用从机同步串行接口电路,其特征在于,包括: 起始与终止检测模块(114),用于检测SPI总线协议有效位、IIC总线协议起始条件(106)和终止条件(110)并输出; 控制模块(115),用于根据起始与终止检测模块(114)的输出信号确定所述串行接口电路的总线数据传输方式,对并串和串并转换模块(116)进行控制;所述总线数据传输方式包括SPI总线数据传输和IIC总线数据传输; 并串和串并转换模块(116),受控于控制模块(115),用于将从机内部的多个寄存器数据串行输出和外部串行数据转化为从机内部寄存器数据; 地址指针寄存器(117),用于寻址从机内部的多个寄存器; 当所述串行接口电路在用于SPI总线数据传输时,从机根据SPI总线协议与主机进行数据传输; 当所述串行接口电路在用于IIC总线数据传输时,从机根据IIC总线协议与主机进行数据传输。
2.如权利要求1所述的通用从机同步串行接口电路,其特征在于:所述串行接口电路还包括片选信号端口 CS_n、串行时钟端口 SCK、串行数据端口 SO1、从机地址选择端口 ; 当所述片选信号端口 CS_n的片选信号有效时,起始与终止检测模块(114)向控制模块(115)发送SPI总线协议有效位,所述串行接口电路用于SPI总数据线传输; 当所述片选信号端口 CS_n的片选信号无效时,起始与终止检测模块(114)检测串行时钟端口 SCK和串行数据端口 SOI的数据,若检测到IIC总线协议起始条件(106),则所述串行接口电路用于IIC总线数据传输;进而当检测到IIC总线协议终止条件(110)时,IIC总线数据传输停止; 所述从机地址选择端口用于在IIC总线数据传输时,确定IIC总线上各从机的唯一从机地址。
3.如权利要求2所述的通用从机同步串行接口电路,其特征在于:所述从机地址选择端口为三位,分别是从机地址选择端口 A2、Al和AO。
4.如权利要求2所述的通用从机同步串行接口电路,其特征在于:所述片选信号为低电平有效,高电平无效。
5.如权利要求2所述的通用从机同步串行接口电路,其特征在于:所述IIC总线协议起始条件(106)为:SCK信号为高电平时,SOI信号从高电平向低电平切换;所述IIC总线协议终止条件(110)为:SCK信号为高电平时,SOI信号从低电平向高电平切换。
6.如权利要求1或2所述的通用从机同步串行接口电路,其特征在于: 当所述串行接口电路在用于SPI总线数据传输时,根据接收到的读写指令中包含的寄存器地址信息并结合地址指针寄存器(117)对从机内的多个寄存器进行寻址,具体为:控制模块(115)将接收到的读写指令中包含的寄存器地址信息存入地址指针寄存器(117),然后依此存入地址指针寄存器(117)的寄存器地址信息对从机内的多个寄存器进行寻址。
7.如权利要求1或2所述的通用从机同步串行接口电路,其特征在于: 当所述串行接口电路在用于IIC总线数据传输时,根据接收到的地址指针并结合地址指针寄存器(117)对从机内的多个寄存器进行寻址,具体为:控制模块(115)将接收到的地址指针存入地址指针寄存器(117),然后依此存入地址指针寄存器(117)的地址指针对从机内的多个寄存 器进行寻址。
【文档编号】G06F13/40GK103488600SQ201310465134
【公开日】2014年1月1日 申请日期:2013年10月8日 优先权日:2013年10月8日
【发明者】徐中龙, 李佳, 王玮冰 申请人:江苏物联网研究发展中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1