半双工串行通信总线外部设备接口的制作方法

文档序号:6441807阅读:154来源:国知局
专利名称:半双工串行通信总线外部设备接口的制作方法
技术领域
本发明涉及串行通信领域,特别是一种采用基于串行同步外围设备接口(Serial Peripheral Interface,SPI)的高层协议的半双工串行通信总线外部设备接技术背景串行通信是主设备和外部设备之间非常重要的数据通信方式。与并行通信总线相比,只需要较少的数据线。串行同步外围设备接口(Serial PeripheralInterface,SPI)是摩托罗拉(Motorola)公司提出的一种同步串行总线,用于主设备和外围设备之间的数据交换。SPI总线是主从通信机制,主设备是主设备,外围设备是从设备。SPI总线由4根总线构成,分别是串行时钟线(SCK)、主设备输入/从设备输出数据线(MISO)、主设备输出/从设备输入数据线(MOSI)和从设备有效选择线(SSN)。而SPI接口是一种简单的8比特数据同步串行接口,该接口用于快速串行数据传输,发送数据和接收数据以相同的时钟频率进行。与其它总线协议相比,SPI总线协议简单、信号线少、传输速率高和全双工通信等优点。
目前,一些EEPROM生产厂提出了部分基于SPI总线的高层协议。这种高层协议的帧依次由命令、地址和数据构成,SSN高电平到低电平时为一个帧的开始。这种高层协议的缺点是不支持全双工传输;不支持SPI中断传输,即要求整个帧传输过程中SSN必须保持低电平;而且,由于其命令和地址长度是固定的,因此当传输少量数据的时候开销大,效率低。
因此,目前又有一种基于SPI总线的高层协议,该高层协议是一种主从式全双工或半双工通信协议,所有的传输均由主设备发起,主设备可同时发送和接收数据。支持SPI中断传输,在整个帧的传输过程中不要求SSN一直保持低电平。帧头长度可变,在传输少量数据时采用短帧头,提高传输效率。
而采用这种高层协议的串行通信总线外部设备接口,由物理层协议实现模块、高层协议实现模块以及接口模块构成。所述物理层协议实现模块用于接收串行时钟信号(SCK),并根据SPI模式,产生时钟信号输出到高层协议实现模块和接口模块;所述接口模块连接从设备有效选择信号线(SSN)、主设备输入/从设备输出数据线(MISO)、主设备输出/从设备输入数据线(MOSI)以及读数据信号线(RDATA)和写数据信号线(WDATA),从而形成所述串行通信总线外部设备接口的读/写数据通路;所述高层协议实现模块接收高层协议帧,以进行主从式全双工或半双工数据通信;同时接收来自主设备的强迫同步信号(FEN),以实现主从设备的联合同步;并且输出读/写地址信号、读/写使能信号。这种串行通信总线外部设备接口的结构相对于SPI总线而言,信号线多,即与主设备进行交互的信号通道多。而对于本领域内的技术人员都知道,在集成电路设计时,每增加一个信号通道,就意味着其结构更加复杂,板级设计的难度更高。

发明内容
本发明的目的是针对现有技术的不足,提供一种结构简单合理、可降低板级设计难度的半双工串行通信总线外部设备接口。
为了解决上述技术问题,本发明所采取的技术方案是一种半双工串行通信总线外部设备接口,包括物理层协议实现模块、高层协议实现模块以及接口模块;所述物理层协议实现模块用于接收串行时钟信号,并根据SPI模式,产生时钟信号输出到高层协议实现模块和接口模块;所述高层协议实现模块接收高层协议帧,以进行半双工数据通信;接收来自主设备的强迫同步信号,以实现主从设备的联合同步;同时还根据高层协议帧产生读/写地址信号、读/写使能信号;
所述接口模块连接SPI总线中的两条数据线,即主设备输入/从设备输出数据线和主设备输出/从设备输入数据线,并且还连接读数据信号线和写数据信号线,从而形成该接口的读/写数据通路;还包括SPI数据线复用模块,所述SPI数据线复用模块通过SPI总线中的两条数据线连接接口模块,并通过双向数据信号线与主设备连接,从而完成所述接口模块与主设备之间的数据交互。
所述SPI数据线复用模块可以由输出控制模块和通道选择元件构成,所述通道选择元件串联接入双向数据信号线与SPI数据线之间,所述输出控制模块用于产生通道选择控制信号,并输入到通道选择元件内,从而控制所述SPI数据线与双向数据信号线的导通状态。
所述输出控制模块可以根据从设备有效信号、强迫同步信号,以及高层协议实现模块产生的读写状态信号,产生通道选择控制信号。
当从设备有效信号或强迫同步信号为高电平时,或者读写状态信号为写操作时,或者读写状态信号为读操作且处于该读操作的帧头时,所述输出控制模块产生通道选择控制信号,选择双向数据信号线与主设备输出/从设备输入数据线导通。
所述通道选择元件可以采用三态缓冲器,所述三态缓冲器的输入端连接SPI数据线,其输出端连接双向数据信号线,其控制端输入通道选择控制信号。
所述双向数据信号线可以与输出控制模块的主设备输出/从设备输入数据接口导通连接。
所述高层协议实现模块可以包括比特计数器、字节计数器、地址锁存模块、写控制模块和读控制模块,所述高层协议实现模块输出的读写状态信号包括比特计数器输出的比特数,字节计数器输出的字节数,写控制模块输出的写状态信号,以及读控制模块输出的读状态信号。
所述接口模块可以包括写缓冲区和读缓冲区,其中写缓冲区连接主设备输出/从设备输入数据线,所述读缓冲区连接主设备输入/从设备输出数据线。
由于实施半双工串行通信时,MOSI和MISO两个数据通道与主设备进行数据交互时,并不是同步进行的。因此如果还采用现有技术中的串行通信总线外部设备接口的结构,实际上是浪费了一个数据通道,给板级设计不必要的增加了难度。因此本发明就是采用SPI数据线复用模块将这两个数据通道复用到一个双向数据信号线上,从而减少与主设备进行通信的信号,达到降低板级设计的复杂性的目的。另外,本发明所采用的SPI数据线复用模块是根据从设备有效信号、强迫同步信号,以及高层协议实现模块产生的读写状态信号,来产生通道选择控制信号,其逻辑关系简单,控制准确,可以有效实现SPI数据复用功能。相对现有技术,本发明在保证主、从设备半双工数据通信控制准确、数据通道畅通的前提下,具有结构简单合理、信号线少、板级设计较简单等特点。


附图1为现有技术中一种基于SPI总线的高层协议帧的帧结构图;附图2为图1中的高层协议帧的帧头结构图;附图3为图1中的高层协议帧的子帧头的结构图;附图4为现有技术中一种采用图1、2、3的高层协议的串行通信总线外部设备接口的结构原理方框图;附图5为本发明一种半双工串行通信总线外部设备接口的结构原理方框图;附图6为本发明的一种较佳实施例的电路原理方框图。
具体实施例方式
为了更清楚了说明本发明的技术方案,有必要首先详细说明本发明所采用的高层协议的结构原理。
所述的高层协议是一种主从式全双工或半双工通信协议,所有的传输均由主机发起,主机可同时发送和接收数据。支持SPI中断传输,在整个帧的传输过程中不要求SSN一直保持低电平。帧头长度可变,在传输少量数据时采用短帧头,提高传输效率。
高层协议帧由帧头和净荷两部分构成,如图1所示。由于其承载数据量可变业务,为了提高传输效率,采用长度可变的帧结构。在本高层协议中,帧头和净荷均为可变长度,且由帧头部定义。
帧头结构如图2所示,由一个或多个子帧头构成。帧头总是从主设备发送到从设备。
子帧头结构如图3所示。其中AD是从设备端口地址。
PHF是净荷长度高8位为有效标志。当该位是1时,表示净荷长度高8位有效,等于PH,子帧头长度为3个字节;当该位是0时,表示净荷长度高8位为0,子帧头长度是2个字节。
RW用于定义本子帧头的属性。在本高层协议中,有两种子帧头,写子帧头和读子帧头。写子帧头用于定义从主设备发送数据到从设备的传输格式,读子帧头用于定义从从设备发送数据到主设备的传输格式。当该位为1时,表示该子帧头为写子帧头;当该位为0时,该子帧头为读子帧头。
PL用于表示净荷长度的低4位。
LSHF是最后一个子帧头标志位。当该位为1时,表示本子帧头是最后一个子帧头;当该位为0时,表示本子帧头不是最后一个子帧头。
PH用于表示净荷长度的高8位。该8位是可选的,且由PHF确定。
Res.是保留位。
净荷就是被传输的数据,其长度是可变化。净荷长度由对应的子帧头定义,写子帧头定义的净荷长度就是从主设备发送到从设备的数据的字节数,读子帧头定义的净荷长度就是从从设备发送到主设备的数据的字节数。净荷长度的变化范围是从1到4093个字节,当净荷长度不大于15个字节,子帧头的PHF位为0,净荷长度等于PL,当净荷长度大于15个字节时,净荷长度等于PH×16+PL。
本高层协议采用从设备自同步和主设备强迫同步的联合同步方案。
从设备自同步就是从设备自动同步每一帧,其方法是当从设备接受到上一帧的最后一个字节后,自动转入下一帧的开始。这种同步方案优点就是同步电路简单,无需主设备参与;缺点是可靠性差,失步之后不能自动恢复。
主设备强迫同步就是主设备发送同步信号,其方法是主设备向从设备发送强迫同步信号(FEN)。这种同步方案的优点失是可靠性高;缺点是需主设备参与,增加主设备负担。
为了发挥这两种同步方案的优点,克服其缺点,我们采用联合同步方案。联合同步方案就是主机每隔若干帧发出一强迫同步信号FEN,强迫从设备同步。在主机不发送强迫同步信号时,从设备自动同步。
采用如图1、2、3所示的高层协议的串行通信总线外部设备接口,就是将采用SPI协议作为底层协议,有机结合所述的高层协议,从而获得一种最优结构的串行通信总线外部设备接口。其结构如图4所示,它由物理层协议实现模块、高层协议实现模块以及接口模块构成。其中所述物理层协议实现模块用于接收串行时钟信号(SCK),并根据SPI模式,产生时钟信号输出到高层协议实现模块和接口模块;所述接口模块连接从设备有效选择信号线(SSN)、主设备输入/从设备输出数据线(MISO)、主设备输出/从设备输入数据线(MOSI)以及读数据信号线(RDATA)和写数据信号线(WDATA),从而形成所述串行通信总线外部设备接口的读/写数据通路;所述高层协议实现模块接收所述的高层协议帧,以进行主从式全双工或半双工数据通信;同时接收来自主设备的强迫同步信号(FEN),以实现主从设备的联合同步;并且输出读/写地址信号(RADDR/WADDR)、读/写使能信号(RDN/WRN)。
下面将结合图5、6及具体实施例对本发明作进一步详细说明。
参考附图5,本发明提供了一种半双工串行通信总线外部设备接口,包括物理层协议实现模块、高层协议实现模块以及接口模块。其中
所述物理层协议实现模块用于接收串行时钟信号,并根据SPI模式,产生时钟信号输出到高层协议实现模块和接口模块;所述高层协议实现模块接收高层协议帧,以进行半双工数据通信;接收来自主设备的强迫同步信号,以实现主从设备的联合同步;同时还根据高层协议帧产生读/写地址信号(RADDR/WADDR)、读/写使能信号(RDN/WRN);所述接口模块连接SPI总线中的两条数据线,即主设备输入/从设备输出数据线(MISO)和主设备输出/从设备输入数据线(MOSI),并且还连接读数据信号线(RDATA)和写数据信号线(WDATA),从而形成该接口的读/写数据通路。
为了实现SPI数据线复用,达到降低板级设计复杂性,使接口电路接口更加合理的目的,本发明还包括SPI数据线复用模块。所述SPI数据线复用模块通过SPI总线中的两条数据线连接接口模块,并通过双向数据信号线(SIO)与主设备连接,从而完成所述接口模块与主设备之间的数据交互。
图6给出本发明的一种较佳实施例的电路原理方框图。
该实施例中,所述SPI数据线复用模块由输出控制模块和通道选择元件构成,所述通道选择元件串联接入双向数据信号线与SPI数据线之间,所述输出控制模块用于产生通道选择控制信号,并输入到通道选择元件内,从而控制所述SPI数据线与双向数据信号线的导通状态。
所述通道选择元件可以采用图6所示的三态缓冲器,亦可采用如通道选择开关等其它具有通道选择功能的元器件。所述通道选择元件可以采用图6所示的控制其中的MISO数据线与SIO信号线连通关系的方法,亦可采用MISO和MOSI两条数据线二选一的与SIO信号线连通的控制方法,还可采用控制MOSI与SIO信号线连通关系的方法。
图6中,所述三态缓冲器的输入端连接MISO数据线,其输出端连接双向数据信号线,其控制端输入通道选择控制信号。所述双向数据信号线SIO与输出控制模块的主设备输出/从设备输入数据线MOSI导通连接。
所述输出控制模块是根据从设备有效信号、强迫同步信号,以及高层协议实现模块产生的读写状态信号,产生通道选择控制信号。当从设备有效信号或强迫同步信号为高电平时,或者读写状态信号为写操作时,或者读写状态信号为读操作且处于该读操作的帧头时,所述输出控制模块产生通道选择控制信号MISO_EN,使三态缓冲器输出高阻,从而选择双向数据信号线SIO与主设备输出/从设备输入数据线MOSI导通。
所述输出控制模块的这种逻辑判别关系,可以采用一些简单的逻辑电路来实现,如与非门阵列、译码电路等等。这些逻辑判别电路为本领域内常见的技术,普通的技术人员无需经过创造性的劳动即可实现,为简明起见,本说明书中不再进行详细描述。
本较佳实施例中,所述物理层协议实现模块为一时钟产生模块。所述时钟产生模块的主要功能是根据SPI的串行时钟SCK和SPI模式选择信号MSEL产生时钟信号spi_clk及其反相信号spi_clkn。当SPI模式为0和3时,时钟信号spi_clk和SPI串行时钟SCK同相,当SPI模式为1和2时,时钟信号spi_clk和SPI串行时钟SCK是反相。spi_clkn始终与时钟信号spi_clk反相。在本方案中,所有寄存器的时钟都是spi_clk或其反相信号spi_clkn。
所述接口模块由读缓冲区和写缓冲区构成。其中,写缓冲区连接主设备输出/从设备输入数据线MOSI,所述读缓冲区连接主设备输入/从设备输出数据线MISO。写缓冲区模块的主要功能是从SPI总线上按比特接收数据,以8位的数据线并行输出。为了减少延迟,采用双缓冲区结构。所述读缓冲区模块的主要功能是从8位的并行读数据信号RDATA读入一个字节,然后串行输出到SPI总线上。为了支持连续的读操作,采用预取技术,即提前将数据读出。
所述高层协议实现模块由比特计数器、字节计数器、地址锁存模块、写控制模块、读控制模块构成,所述强迫同步信号FEN分别输入到比特计数器和字节计数器中,所述高层协议帧通过主设备输出/从设备输入数据线MOSI分别输入到地址锁存模块、写控制模块和读控制模块,所述地址锁存模块输出读/写地址信号RADDR和WADDR,所述写控制模块输出写使能信号WRN,所述读控制模块输出读使能信号RDATA。
比特计数器的主要功能是记录当前SPI总线上传输的数据是某一字节的第几比特。该计数器是模8计数器。当SSN或FEN为高电平时,该计数器复位。
字节计数器的主要功能时记录当前传输数据属于高层协议帧中哪一个字节。该计数器是以帧长为模的计数器。当FEN为高电平时,该计数器复位。
地址锁存模块主要功能是锁存高层协议帧中的读地址或写地址。
写控制信号产生模块的主要功能是产生写控制信号WRN和写状态信号。
读控制信号产生模块的主要功能是产生读控制信号RDN和读状态信号。
所述高层协议实现模块输出的读写状态信号则包括比特计数器输出的比特数byte_count,字节计数器输出的字节数bit_count,写控制模块输出的写状态信号,以及读控制模块输出的读状态信号。
本实施例中,物理层协议实现模块、高层协议实现模块以及接口模块的具体电路均可以采用现有技术中的相关电路实现,因此本说明书中无需再详细描述。
由前述可知,本发明可以采用多种实施方式实现,因此本发明包括但不限于本实施例。具体实施过程中,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
权利要求
1.一种半双工串行通信总线外部设备接口,包括物理层协议实现模块、高层协议实现模块以及接口模块;所述物理层协议实现模块用于接收串行时钟信号,并根据SPI模式,产生时钟信号输出到高层协议实现模块和接口模块;所述高层协议实现模块接收高层协议帧,以进行半双工数据通信;接收来自主设备的强迫同步信号,以实现主从设备的联合同步;同时还根据高层协议帧产生读/写地址信号、读/写使能信号;所述接口模块连接SPI总线中的两条数据线,即主设备输入/从设备输出数据线和主设备输出/从设备输入数据线,并且还连接读数据信号线和写数据信号线,从而形成该接口的读/写数据通路;其特征在于还包括SPI数据线复用模块,所述SPI数据线复用模块通过SPI总线中的两条数据线连接接口模块,并通过双向数据信号线与主设备连接,从而完成所述接口模块与主设备之间的数据交互。
2.如权利要求1所述半双工串行通信总线外部设备接口,其特征在于所述SPI数据线复用模块由输出控制模块和通道选择元件构成,所述通道选择元件串联接入双向数据信号线与SPI数据线之间,所述输出控制模块用于产生通道选择控制信号,并输入到通道选择元件内,从而控制所述SPI数据线与双向数据信号线的导通状态。
3.如权利要求2所述半双工串行通信总线外部设备接口,其特征在于所述输出控制模块是根据从设备有效信号、强迫同步信号,以及高层协议实现模块产生的读写状态信号,产生通道选择控制信号。
4.如权利要求3所述半双工串行通信总线外部设备接口,其特征在于当从设备有效信号或强迫同步信号为高电平时,或者读写状态信号为写操作时,或者读写状态信号为读操作且处于该读操作的帧头时,所述输出控制模块产生通道选择控制信号,选择双向数据信号线与主设备输出/从设备输入数据线导通。
5.如权利要求2、3或4所述半双工串行通信总线外部设备接口,其特征在于所述通道选择元件采用三态缓冲器,所述三态缓冲器的输入端连接SPI数据线,其输出端连接双向数据信号线,其控制端输入通道选择控制信号。
6.如权利要求5所述半双工串行通信总线外部设备接口,其特征在于所述双向数据信号线与输出控制模块的主设备输出/从设备输入数据接口导通连接。
7.如权利要求6所述半双工串行通信总线外部设备接口,其特征在于所述高层协议实现模块包括比特计数器、字节计数器、地址锁存模块、写控制模块和读控制模块,所述高层协议实现模块输出的读写状态信号包括比特计数器输出的比特数,字节计数器输出的字节数,写控制模块输出的写状态信号,以及读控制模块输出的读状态信号。
8.如权利要求7所述半双工串行通信总线外部设备接口,其特征在于所述接口模块包括写缓冲区和读缓冲区,其中写缓冲区连接主设备输出/从设备输入数据线,所述读缓冲区连接主设备输入/从设备输出数据线。
全文摘要
本发明提供了一种半双工串行通信总线外部设备接口,包括物理层协议实现模块、高层协议实现模块以及接口模块;所述接口模块连接SPI总线中的两条数据线,即主设备输入/从设备输出数据线和主设备输出/从设备输入数据线,并且还连接读数据信号线和写数据信号线,从而形成该接口的读/写数据通路;还包括SPI数据线复用模块,所述SPI数据线复用模块通过SPI总线中的两条数据线连接接口模块,并通过双向数据信号线与主设备连接,从而完成所述接口模块与主设备之间的数据交互。相对现有技术,本发明在保证主、从设备半双工数据通信控制准确、数据通道畅通的前提下,具有结构简单合理、信号线少、板级设计较简单等特点。
文档编号G06F13/42GK1619518SQ20041009632
公开日2005年5月25日 申请日期2004年11月30日 优先权日2004年11月30日
发明者王军, 金传恩, 董欣 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1