首页> 中国专利> 数据传输系统与可编程串行外围设备接口控制器

数据传输系统与可编程串行外围设备接口控制器

摘要

本发明实施例提供一种数据传输系统与可编程串行外围设备接口控制器,所述数据传输系统包括一串行外围设备接口与一可编程控制器。串行外围设备接口耦接于一第一装置与至少一第二装置之间。可编程控制器用以控制串行外围设备接口切换于一单端口数据传输模式与一多端口数据传输模式,其中当多于一个第二装置耦接至串行外围设备接口时,串行外围设备接口切换至多端口数据传输模式,用以控制第一装置与所述第二装置之间进行多端口数据传输,此时第一装置通过串行外围设备接口的一第一传输总线端同时传输数据至每一个第二装置,并且第一装置通过串行外围设备接口的一第二传输总线端同时自每一个第二装置接收数据。

著录项

  • 公开/公告号CN102193888A

    专利类型发明专利

  • 公开/公告日2011-09-21

    原文格式PDF

  • 申请/专利权人 新唐科技股份有限公司;

    申请/专利号CN201010132312.X

  • 发明设计人 陈志铭;

    申请日2010-03-12

  • 分类号G06F13/38;

  • 代理机构北京三友知识产权代理有限公司;

  • 代理人任默闻

  • 地址 中国台湾新竹科学工业园区

  • 入库时间 2023-12-18 03:13:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-06-05

    授权

    授权

  • 2011-11-23

    实质审查的生效 IPC(主分类):G06F13/38 申请日:20100312

    实质审查的生效

  • 2011-09-21

    公开

    公开

说明书

技术领域

本发明关于一种数据传输系统,特别关于一种可通过串行外围设备接口(Serial Peripheral Interface,简称SPI)提供可编程的多端口数据传输的数据传输系统。

背景技术

串行外围设备接口(Serial Peripheral Interface,简称SPI)是一种4线同步序列数据传送协议,其架构为从/主结构,是目前一种广泛应用于元件与元件间的连接接口。

然而,由于架构的限制,使得目前的串行外围设备接口被局限于单一主装置与从装置数据传输(单端口数据传输)的应用,即单一的主出从入(MOSI)、主入从出(MISO)数据传输。对于日渐新颖的系统应用,尤其在需要同时计算及即时反应数据内容的系统而言,目前仅提供单端口数据传输的串行外围设备接口的元件均无法满足这方面的系统需求。

因此,需要一种改良的串行外围设备接口,其可利用现有的硬件架构提供多端口(multi port)的数据传输,并且可更具有可编程的特性,用以弹性地切换于单端口与多端口的数据传输,使得在固定的硬件架构下,可满足不同的系统需求。

发明内容

本发明于多个实施例中提供的串行外围设备接口,利用现有的硬件架构提供多端口数据传输,并且改良式的串行外围设备接口可更进一步切换于单端口与多端口的数据传输模式。

根据本发明的一实施例,一种数据传输系统包括串行外围设备接口与可编程控制器。串行外围设备接口耦接于第一装置与至少一第二装置之间,包括用以传输时脉信号于第一装置与此至少一第二装置之间的序列时脉端、用以传输芯片选择信号于第一装置与此至少一第二装置之间,藉此启动数据的传输的芯片选择端、用以传输数据自第一装置至此至少一第二装置的一第一传输总线端、以及用以传输数据自此至少一第二装置至此第一装置的一第二传输总线端。可编程控制器用以控制串行外围设备接口切换于单端口数据传输模式与多端口数据传输模式,其中当多于一个第二装置耦接至串行外围设备接口时,串行外围设备接口切换至多端口数据传输模式,用以控制第一装置与这些第二装置之间进行多端口数据传输,此时第一装置通过第一传输总线端同时传输数据至每一第二装置,并且第一装置通过第二传输总线端同时自每一第二装置接收数据。

根据本发明的另一实施例,一种数据传输系统包括一串行外围设备接口与一可编程控制器。串行外围设备接口耦接于一第一装置,包括用以传输一时脉信号至至少一第二装置的一序列时脉端、用以传输一芯片选择信号,藉此启动数据的传输的芯片选择端、用以传送数据至至少一第二装置的第一传输总线端、以及用以接收该至少一第二装置传送的数据的第二传输总线端。可编程控制器用以控制该串行外围设备接口切换于单端口数据传输模式与多端口数据传输模式,其中当多于一个第二装置耦接至串行外围设备接口时,串行外围设备接口切换至多端口数据传输模式,用以控制第一装置与所述这些第二装置之间进行多端口数据传输,此时第一装置通过第一传输总线端同时传输数据至每一第二装置,并且第一装置通过第二传输总线端同时自每一第二装置接收数据。

根据本发明的另一实施例,提出一种可编程串行外围设备接口控制器,用以控制一串行外围设备接口的数据传输模式,包括一数据传输选择器,用以根据端口数控制参数进行数据分配。其中端口数控制参数代表同时与一第一装置进行数据传输的至少一第二装置的数目,该数据传输模式可切换于一单端口数据传输模式与一多端口数据传输模式,该第一装置与至少一第二装置通过该串行外围设备接口传送数据位,当多于一个第二装置耦接至串行外围设备接口时,串行外围设备接口被切换至该多端口数据传输模式,用以控制第一装置与这些第二装置之间进行多端口数据传输,此时第一装置通过第一传输总线端同时传输数据至每一第二装置,并且第一装置通过第二传输总线端同时自每一第二装置接收数据。

本发明实施例提供的串行外围设备接口,其可利用现有的硬件架构提供多端口(multi port)的数据传输,并且可更具有可编程的特性,用以弹性地切换于单端口与多端口的数据传输,使得在固定的硬件架构下,可满足不同的系统需求。此外,本发明实施例所提出的数据传输系统架构,能够达成利用串行外围设备接口(SPI)同时进行多位数据的读取或写入的目的,藉此提高串行外围设备接口(SPI)的应用价值。

附图说明

图1显示根据本发明的一实施例所述的一数据传输系统;

图2显示根据本发明的一实施例所述的可编程控制器方块图;

图3显示根据本发明的一实施例所述的于数据传输系统内的数据传输流程图;

图4A与图4B显示根据本发明的一实施例所述的数据传输系统内的信号波形图;

图5显示根据本发明的另一实施例所述的一数据传输系统。

附图标号

100、500~数据传输系统;

101、102-0、102-n、501-0、501-1、502-0、502-1、502-2、502-3、502-4、502-5、502-6、502-7~数据传输装置;

103、503-0、503-1~串行外围设备接口;

104、200~可编程控制器;

105、105-0、105-1、105-2、105-3、106、106-0、106-1、106-2、106-3~移位寄存器;

201~数据传输选择器;

202~传输位计数器;

203~逻辑比较器;

204~封包比较器;

205~端口数控制参数;

206~传输位参数;

207~传输封包参数;

DI[0]、DI[1]、DI[2]、DI[3]、DI[n]、DO[0]、DO[1]、DO[2]、DO[3]、DO[n]、SPI_DI[n:0]、SPI_DI1[3:0]、SPI_DI2[3:0]、SPI_DO[n:0]、SPI_DO1[3:0]、SPI_DO2[3:0]~数据位;

MOSI、MISO~传输总线端;

MOSI[n:0]、MISO[n:0]~传输总线;

SCLK~序列时脉端;

SS~芯片选择端;

SPI_SCLK~时脉信号;

SPI_SS、SPI_SS1、SPI_SS2~芯片选择信号。

具体实施方式

为了让本发明的上述和其他目的、特征、和优点能更明显易懂,下文特举多个实施例,并配合所附附图,作详细说明如下。

图1显示根据本发明的一实施例所述的一数据传输系统100,包括多个数据传输装置101与102-0~102-n、以及耦接于数据传输装置之间的一串行外围设备接口103。其中数据传输装置可包括一主装置(例如,101)以及至少一从装置(例如,102-0~102-n,n为正整数)。串行外围设备接口103包括耦接于数据传输装置之间的序列时脉端SCLK、芯片选择端SS、以及传输总线端MOSI(主出从入)与MISO(主入从出)。主装置101通过序列时脉端SCLK传输一时脉信号SPI_SCLK至从装置102-0~102-n,用以提供时脉信号至从装置,并且通过芯片选择端SS传输一芯片选择信号SPI_SS至从装置102-0~102-n,用以通过芯片选择信号启动从装置进行数据传输。

根据本发明的一实施例,传输总线MOSI[n:0]用以提供自主装置至从装置的单一位或多位的数据传输,如图所示的数据位SPI_DO[n:0],而传输总线MISO[n:0]用以提供自从装置至主装置的单一位或多位的数据传输,如图所示的数据位SPI_DI[n:0]。于本发明的实施例中,时脉信号SPI_SCLK与芯片选择信号SPI_SS共用于多个从装置之间,于是当多个从装置被选取时,各从装置可同时与主装置进行双向的数据传输,即,多个数据位可平行且双向地传送于主装置与从装置之间。

根据本发明的一实施例,数据传输系统100可还包括一可编程控制器(可编程串行外围设备接口控制器),用以控制数据传输系统100内串行外围设备接口103的一数据传输模式,其中可编程控制器可被单独配置于数据传输系统中,或者被弹性地整合于主装置101(如图1所示的可编程控制器104)、至少一从装置或串行外围设备接口103内,因此本发明的硬件结构并不限于如第一图所示的范畴。根据本发明的一实施例,可编程控制器可根据系统要求切换于一单端口(single port)传输模式与一多端口(multi port)数据传输模式,其中当多于一个从装置耦接至串行外围设备接口103时,可编程控制器可因应系统需求切换至多端口数据传输模式,用以控制主装置与从装置之间进行多端口数据传输,如上述,此时数据位可平行且双向地传送于主装置与从装置之间(以下将针对单端口数据传输模式与多端口数据传输模式做更详细的介绍)。

图2显示根据本发明的一实施例所述的可编程控制器方块图。如上述,可编程控制器可单独配置于数据传输系统,或者被弹性地整合于主装置、至少一从装置或串行外围设备接口内,因此本发明的实施并不限于任何一种硬件结构。如图2所示,可编程控制器200可包括数据传输选择器201、传输位计数器202、逻辑比较器203以及封包比较器204。数据传输选择器201用以根据一端口数控制参数205进行数据分配。端口数控制参数205可用以设定数据传输系统中,同时与主装置进行数据传输的从装置的数目。例如,当数据传输系统最多能够提供4个从装置同时与主装置进行数据传输时,端口数控制参数205可设定为1~4,其中当端口数控制参数205设定为1时,代表数据传输系统目前为单端口数据传输模式,因此同一时间仅一个从装置与主装置进行数据传输,另一方面,当端口数控制参数205设定为4时,代表数据传输系统目前为多端口数据传输模式,因此同一时间可有4个从装置同时与主装置进行数据传输。

图2显示出一4端口数据传输模式范例,在此模式下,端口数控制参数205被设定为4,因此最多可支援4个从装置与1主装置同时进行数据传输,其中传输总线MOSI[3:0]、MISO[3:0]的各传输线如图1所示分别耦接于主装置与各从装置之间,用以传输各位(如图1所示的DO[0]~DO[n]与DI[0]~DI[n])至各自对应的从装置。根据本发明的一实施例,主装置可包括多层次输入移位寄存器105以及多层次输出移位寄存器106(如图1所示),分别用以寄存接收自各从装置的数据位,以及欲传送至各从装置的数据位。更具体来说,如图2所示的4端口数据传输模式范例,主装置可包括多个输入移位寄存器105-0~105-3以及输出移位寄存器106-0~106-3,各输入移位寄存器分别用以储存自对应的从装置(从装置102-0~102-n的一者,其中在此范例中n=3)接收的数据位,以及各输出移位寄存器分别用以储存欲传送至对应的从装置的数据位。

在多端口数据传输模式的数据传输的过程中,数据传输选择器201可平行处理来自各从装置的数据位,用以将所述这些数据位分配储存至对应的输入移位寄存器105-0~105-3内,以及平行处理来自各输出移位寄存器106-0~106-3位,用以将所述这些数据位输出至对应的从装置。因此,输入移位寄存器105-0~105-3可分别自对应的从装置平行接收数据(即,同时自各对应的从装置接收数据),并且输出移位寄存器106-0~106-3可平行输出数据至各从装置(即,同时输出数据至各对应的从装置)。如此一来,主装置可通过传输总线端MOSI同时传输数据至每一个从装置,并且通过传输总线端MISO同时自每一个从装置接收数据。

传输位计数器202用以累计在一传输周期内已被传输的一数据位数,以得到一计数结果。传输位计数器202的计数结果可进一步传送至逻辑比较器203,逻辑比较器203用以将计数结果与一传输位参数206做比较,以取得一位比较结果,其中该传输位参数206可取决于各输入移位寄存器以及/或各输出移位寄存器的一深度,即,各输入移位寄存器以及/或各输出移位寄存器可储存的位总数,例如,移位寄存器的深度可设计为8位、16位、32位等等。其中在串行外围设备接口传输协议中,移位寄存器的深度可根据一封包所包含的位总数而设定,因此由逻辑比较器203所得到的位比较结果可显示出目前被传送的一封包是否已被传送完成。举例而言,当移位寄存器的深度设定为8位时,传输位参数206设定为8,代表一封包包含8位,因此当该计数结果累计到8时,逻辑比较器203将计数结果与传输位参数206做比较,即可得知目前的封包已传送完成。

逻辑比较器203所得到的位比较结果可更进一步传送至封包比较器204。封包比较器204用以将该比较结果与一传输封包参数207做比较,以取得一封包比较结果,其中传输封包参数207代表在一传输周期内需被传输的封包总数。举例而言,当传输封包参数207设定为1时,代表在一传输周期内需传输一个封包,其中根据本发明的一实施例,该传输周期可以是芯片选择信号SPI SS的一周期。因此,当比较结果显示出已有一个封包传送完成时,封包比较器204将该比较结果与传输封包参数207做比较,即可得知目前传输周期内的数据传输已完成。值得注意的是,端口数控制参数205、传输位参数206以及传输封包参数207等系统参数可被储存于系统的内建存储器内,并且可依不同的系统需求与传输模式的变化改变其设定值(以下将进一步针对系统参数设定值做更详细的介绍)。

图3显示根据本发明的一实施例所述的于数据传输系统内的数据传输流程图。当传输开始时(步骤S301),可编程控制器根据系统需求判断目前是否需要多端口数据传输(步骤S302)。若否,可编程控制器设定对应的系统参数(例如,端口数控制参数205、传输位参数206以及传输封包参数207等)(步骤S303),并且接着开始进行单端口数据传输与接收(步骤S304)。另一方面,若是,可编程控制器设定对应的系统参数(步骤S305),并且接着开始进行多端口数据传输与接收(步骤S306)。接着,可编程控制器判断数据传输是否结束(步骤S307),如上述,可编程控制器判断本次传输中是否还有封包需要传送,若已无封包需要被传送,则代表本次传输已结束。若还有封包需要被传送,代表传输尚未结束,可编程控制器可进一步根据系统需求设定对应的系统参数(步骤S305),并且继续多端口数据传输与接收(步骤S306)。

图4A与图4B显示根据本发明的一实施例所述的数据传输系统内的信号波形图,在此为一双端口数据传输模式范例。根据本发明的一实施例,芯片选择信号SPI_SS可被设计为以低态动作(active low)的控制信号,因此当芯片选择信号SPI_SS由高位准转为低位准时,主装置与从装置之间的数据传输已启动,并且直至芯片选择信号SPI_SS被拉回高位准的周期,可定义为一传输周期。因此,图4A与图4B显示一传输周期内的信号波形图,其中图4A与图4B的差异仅在于,图4A可表示出数据位内容的变化,而图4B可表示出数据位的传输顺序。

如图4A所示,传输总线MISO[0]与MISO[1]以及MOSI[0]与MOSI[1]可同时进行位数据的传送,因此同一时间对于主装置而言,可同时接收与传送2位的数据。图4B更清楚地显示出数据位的传输顺序,其中各输入数据位DI与输出数据位DO分别以两数字编码,如图所示的DI nm与DO nm(n=0~1,m=0~f),其中第一码数字n代表第n个传输总线的位数据,第二码m代表该传输总线上所传送的是第m个位,因此DI 0f代表第0个传输总线上所传送的第16个位。如图所示,数据位依序在传输总线上被传送,并储存至对应的移位寄存器(或自移位寄存器依序被传送至对应的传输总线),因此于本发明的实施例中,数据传输系统内的处理器(图未示)可直接自移位寄存器取出数据(或传送数据至对应的移位寄存器),而不需要进行额外的位数据重组。

如上述,可编程控制器用以控制系统的数据传输模式,其中根据本发明的一实施例,在单端口数据传输模式与多端口数据传输模式之下,系统参数皆可弹性地被设定,使得数据传输系统在固定的硬件架构下,也可达到不同应用的需求(例如,多位多封包传输或单位多封包传输等),以下将针对单端口数据传输模式与多端口数据传输模式的系统参数设定做更详细的说明。

假设如图2所示,数据传输系统最多可支援4个从装置与1主装置同时进行数据传输,因此同一时间最多可有4位的数据同时被输入与输出,于是在多端口数据传输模式下,端口数控制参数205可被设定为2、3或4。当端口数控制参数205被设定为4时,主装置可同时与耦接至串行外围设备接口的4个从装置进行双向的数据传输。当端口数控制参数205被设定为2或3时,主装置可同时与耦接至串行外围设备接口的2或3个从装置进行双向的数据传输。根据本发明的一实施例,此时未耦接从装置的传输总线端脚位MOSI与MISO可由系统设定为通用型的输入输出(General Purpose InputOutput,简称GPIO)脚位使用,因此应不会造成脚位的浪费。

而在单端口数据传输模式下,端口数控制参数205被设定1,主装置与耦接至串行外围设备接口的1个从装置进行双向的数据传输。此时为了增加多层次输入与输出移位寄存器的使用率,数据传输选择器201可将由对应的从装置输入的数据位依序传送至各输入移位寄存器,并且将储存于各输出移位寄存器的数据位依序传送至对应的从装置。更具体的说,参考图2,于单端口数据传输模式下,端口数控制参数205被设定1,此时传输封包参数207可设定为1~4,当传输封包参数207设定为4时,代表一传输周期内有4个封包需被传送。因此,在传输周期内,数据传输选择器201可将由对应的从装置输入各封包的数据位依序传送至输入移位寄存器105-0、105-1、105-2与105-3内,以及将储存于各输出移位寄存器106-0、106-1、106-2与106-3内的各封包数据位依序传送至对应的从装置。假设系统的移位寄存器深度为16位,因此在一传送周期内,最多可有16×4=64位的数据被双向传输。相同的概念也可应用于多端口数据传输模式下,端口数控制参数205的设定值小于能够同时与主装置进行数据传输的从装置的一最大数量的情况下(例如在此范例中,端口数控制参数205被设定为2或3)。如此一来,即使系统并未被应用于最大端口数的传输模式,无论是传输总线端脚位MOSI与MISO或是输入/输出移位寄存器皆可被有效的应用,不会造成浪费。

图5显示根据本发明的另一实施例所述的一数据传输系统500。数据传输系统500包括多个数据传输装置501-0~501-1与502-0~502-7以及耦接于数据传输装置之间的串行外围设备接口503-0与503-1,其中数据传输装置501-0与501-1为主装置,502-0~502-7为从装置。在此实施例中,时脉信号SPI_SCLK共用于数据传输装置之间,主装置501-0通过芯片选择信号SPI_SS1选择第一组从装置502-0~502-3,而主装置501-1通过芯片选择信号SPI_SS2选择第二组从装置502-4~502-7。主装置501-0通过传输总线传送数据位SPI_DO1[3:0]至从装置502-0~502-3,其中各数据位DO[0]、DO[1]、DO[2]与DO[3]依序被传送至对应的从装置502-0~502-3。主装置501-0也通过传输总线自从装置502-0~502-3接收数据位SPI_DI1[3:0],其中各数据位DI[0]、DI[1]、DI[2]与DI[3]依序自对应的从装置502-0~502-3被传送至主装置501-0。同样地,主装置501-1通过传输总线传送数据位SPI_DO2[3:0]至从装置502-4~502-7,其中各数据位DO[0]、DO[1]、DO[2]与DO[3]依序被传送至对应的从装置502-4~502-7。主装置501-1也通过传输总线自从装置502-4~502-7接收数据位SPI_DI2[3:0],其中各数据位DI[0]、DI[1]、DI[2]与DI[3]依序自对应的从装置502-4~502-7被传送至主装置501-1。

应用于数据传输系统500的数据传输方式可参考图1与相关的段落,于此不再赘述。由图1、图2、图5中可看出,数据传输系统内的各元件与数据传输装置可弹性地被配置,其中数据传输系统最多可支援的传输位数也可以依照不同的应用需求弹性地被设计,因此以上所述的实施例仅用以清楚阐述本发明的概念,并非用以限定本发明的范围。此外,根据本发明所提出的数据传输系统架构,不仅可保留原始四线制的串行外围设备接口(SPI)的数据传输功能,更可通过系统参数(例如端口数控制参数205、传输位参数206以及传输封包参数207等)的设定将输入与输出数据妥善分配至各多层次移位寄存内,以达成利用串行外围设备接口(SPI)同时进行多位数据的读取或写入的目的,藉此提高串行外围设备接口(SPI)的应用价值。

本发明虽以实施例揭露如上,然其并非用以限定本发明的范围,任何所属领域的技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当以权利要求所界定范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号