串行外围接口数据传输方法及串行外围接口数据传输系统的制作方法

文档序号:6608527阅读:184来源:国知局
专利名称:串行外围接口数据传输方法及串行外围接口数据传输系统的制作方法
技术领域
本发明是有关于数据传输,特别是有关于串行外围接口(Serial Peripheral Interface,SPI)数据传输。
背景技术
图1为已知的串行外围接口数据传输系统100的区块图。串行外围接口数据传输系统100包括一串行外围接口控制器(SPIcontroller)110,以及一串行外围接口从属装置(SPI slave)120。其中该串行外围接口控制器110又被称为串行外围接口主控装置(SPI master)。当串行外围接口控制器110自外围设备互连(Peripheral Component Interconnect,PCI)总线接收数据后,串行外围接口控制器110欲将所接收的数据以串行外围接口的数据传输方式传送至串行外围接口从属装置120。
串行外围接口控制器110与串行外围接口从属装置120间存在三个信号。数据信号包含串行外围接口控制器110以串行外围接口的数据传输方式传送至串行外围接口从属装置120的数据。此外,串行外围接口数据传输系统100可能包含多个串行外围接口从属装置。因此,当串行外围接口控制器110欲选取串行外围接口从属装置120作为传输数据的对象时,串行外围接口控制器110会先致能耦接至串行外围接口从属装置120的芯片选择(chip select)信号。另外,串行外围接口从属装置120借一时脉信号而进行运作。
串行外围接口控制器110包含一缓冲器112,而串行外围接口从属装置120包含一缓冲器122及一存储器124。图2为已知的串行外围接口控制器110与串行外围接口从属装置120间进行数据传输时的信号的示意图。首先,串行外围接口控制器110会先致能(enable)对应于串行外围接口从属装置120的芯片选择信号,如图2的210所标示。当串行外围接口控制器110自外围设备互连总线接收数据后,数据会首先被储存于缓冲器112中。接着,串行外围接口控制器110会向串行外围接口从属装置120传送存取指令202及地址204,其中该存取指令202可为写入命令(writecommand),而地址204则指明数据的写入地址。
接着,串行外围接口控制器110会持续将缓冲器112中储存的数据通过数据信号206向串行外围接口从属装置120输出。当串行外围接口从属装置120接收到数据后,由串行外围接口控制器110所传送的数据会先被储存于缓冲器122中。当串行外围接口控制器110预估串行外围接口从属装置120的缓冲器122已被所传送的数据填满,或是串行外围接口控制器110欲结束数据传输,则串行外围接口控制器110便去能(disable)芯片选择信号,如图2中的220所标示。当串行外围接口从属装置120侦测到芯片选择信号被去能时,便将缓冲器122中储存的数据搬移到存储器124中。如此则串行外围接口控制器110与串行外围接口从属装置120间完成一次数据传输。
由于每当芯片选择信号被去能时,串行外围接口从属装置120便会将缓冲器122中储存的数据搬移到存储器124中,而此搬移动作会耗上较多的时间,因此一般而言串行外围接口控制器110都是尽可能在缓冲器122填满时,才会去能芯片选择信号,以降低数据传输的延迟时间。并且,为了于一次数据传输中刚好能填满缓冲器122,缓冲器112的容量会和缓冲器122相同。假设缓冲器112与缓冲器122的容量皆为256字节。若每次数据传输只传送1字节便去能芯片选择信号,则传送256字节一共会耗费211.98秒。然而,若每次数据传输皆传送256字节,直至缓冲器122填满才去能芯片选择信号,则传送256字节仅会耗费2.58秒。
然而,上述缓冲器112的容量与缓冲器122相同的结构会造成如下的缺点。一般而言,当串行外围接口从属装置120的存储器124的容量愈大,缓冲器122的容量也愈大。如此一来,不同容量的串行外围接口从属装置120需要有不同容量的缓冲器112的串行外围接口控制器110以进行对应的操作。这样会增加串行外围接口控制器110的额外限制。此外,若串行外围接口控制器110皆以256字节的缓冲器112对含有不同容量的缓冲器122的串行外围接口从属装置120,则当缓冲器122容量大于缓冲器112的256字节容量时,只能在缓冲器122填满256字节时便需去能芯片选择信号,以将新数据更新至缓冲器112中。如此则频繁的搬移数据至存储器124中会耗上较多的时间,造成传输的额外延迟,而不能发挥缓冲器122较大容量的应有效果。因此,需要一种串行外围接口数据传输方法,以解决上述串行外围接口数据传输系统100的问题。

发明内容
有鉴于此,本发明的目的在于提供一种串行外围接口数据传输方法,以解决已知技术存在的问题。一串行外围接口控制器欲传输数据至一串行外围接口从属装置。首先,传送串行外围接口控制器包含的一第一缓冲器所储存的数据至串行外围接口从属装置包含的一第二缓冲器。接着,当数据传送完毕后,停止串行外围接口从属装置借以操作的一时脉信号。接着,当时脉信号停止时,以串行外围接口控制器所新接收的数据更新第一缓冲器。接着,当第一缓冲器的数据更新完毕时,启动时脉信号以使串行外围接口从属装置继续运作。接着,于时脉信号动作时,传送第一缓冲器储存的数据至串行外围接口从属装置的第二缓冲器。最后,当第一缓冲器所储存的数据传送完毕后,回到时脉信号的停止步骤继续执行,直至串行外围接口控制器完成所有数据传输为止。其中第二缓冲器的第二容量远高于第一缓冲器的第一容量。
本发明更提供一种串行外围接口数据传输系统,包括一串行外围接口控制器及一串行外围接口从属装置。串行外围接口从属装置包括一第二缓冲器。串行外围接口控制器耦接至该串行外围接口从属装置,传送其所包含的一第一缓冲器所储存的数据至串行外围接口从属装置的第二缓冲器,当数据传送完毕后停止串行外围接口从属装置借以操作的一时脉信号并以串行外围接口控制器所新接收的数据更新第一缓冲器,当第一缓冲器的数据更新完毕时启动时脉信号以使串行外围接口从属装置继续运作并传送第一缓冲器储存的数据至串行外围接口从属装置的第二缓冲器,并当第一缓冲器所储存的数据传送完毕后回到时脉信号的停止步骤继续进行直至其完成所有数据传输为止。其中第二缓冲器的第二容量远高于第一缓冲器的第一容量。
本发明更提供一种串行外围接口数据传输方法。一串行外围接口控制器欲传输数据至一串行外围接口从属装置,而串行外围接口从属装置依据一时脉信号而运作。首先,致能(enable)指向串行外围接口从属装置的芯片选择信号,以选取串行外围接口从属装置。接着,持续地以固定时间间隔,暂停时脉信号。接着,于时脉信号停止的期间,读取数据至串行外围接口控制器的一第一缓冲器。接着,于时脉信号动作的期间,以串行外围接口控制器传输第一缓冲器储存的数据至串行外围接口从属装置的第二缓冲器。最后,当所有数据传输完毕时或第二缓冲器被数据填满时,去能(disable)芯片选择信号,以搬移第二缓冲器所储存的数据至串行外围接口从属装置包含的一存储器中。其中第二缓冲器的第二容量远高于第一缓冲器的第一容量。
本发明所述的串行外围接口数据传输方法及串行外围接口数据传输系统,串行外围接口控制器可以恰当地传输数据予含有各种不同容量的缓冲器的串行外围接口从属装置,而设计者不需更改串行外围接口控制器的缓冲器的容量。


图1为已知的串行外围接口数据传输系统的区块图;图2为已知的串行外围接口控制器与串行外围接口从属装置间进行数据传输时的信号的示意图;图3为依据本发明的串行外围接口数据传输系统的区块图;图4为根据本发明的串行外围接口控制器与串行外围接口从属装置间进行数据传输时的信号的示意图;图5为根据本发明的串行外围接口控制器的部分区块图。
具体实施例方式
为了让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举数较佳实施例,并配合所附图示,作详细说明如下。
图3为依据本发明的串行外围接口数据传输系统300的区块图。串行外围接口数据传输系统300包括一串行外围接口控制器(SPI controller)310,以及一串行外围接口从属装置(SPIslave)320。当串行外围接口控制器310自外围设备互连(Peripheral Component Interconnect,PCI)总线接收数据后,串行外围接口控制器310欲将所接收的数据以串行外围接口的数据传输方式传送至串行外围接口从属装置320。串行外围接口从属装置320借一时脉信号而进行运作。
串行外围接口控制器310包含一缓冲器312,而串行外围接口从属装置320包含一缓冲器322及一存储器324,其中缓冲器322的容量远高于缓冲器312的容量。缓冲器322的容量可为缓冲器312的容量的倍数。于一实施例中,缓冲器312的容量为2I字节,缓冲器322的容量为2J字节,而I与J为自然数,此时缓冲器322的容量为缓冲器312的容量的2(J-I)倍。例如,缓冲器322的容量为256字节,而缓冲器312的容量仅为16字节,缓冲器322的容量为缓冲器312的容量的16倍。
图4为根据本发明的串行外围接口控制器310与串行外围接口从属装置320间进行数据传输时的信号的示意图。首先,串行外围接口控制器310会于时间T1时先致能(enable)对应于串行外围接口从属装置320的芯片选择信号,以选取串行外围接口从属装置320为数据传输的对象,如图4的410所标示。当串行外围接口控制器310自外围设备互连总线接收数据后,数据会首先被储存于缓冲器312中。接着,串行外围接口控制器310会向串行外围接口从属装置320传送存取指令402及地址404,其中该存取指令402可为写入命令(write command),而地址404则指明数据的写入地址。
接着,串行外围接口控制器310将缓冲器312中储存的16字节数据通过数据信号向串行外围接口从属装置320输出。当串行外围接口从属装置320接收到数据后,由串行外围接口控制器310所传送的数据会先被储存于缓冲器322中。当16字节数据于时间T2传送完毕时,串行外围接口控制器310随即停止串行外围接口从属装置320借以操作的时脉信号。同时,串行外围接口控制器310可借自PCI总线新接收的数据更新缓冲器312的内容。假设缓冲器312于时间T3时更新完毕,因此时脉信号于时段T2至T3间不动作,而串行外围接口从属装置320也停止运作,如图4中所示。
由于T3时缓冲器312的数据已更新完毕,串行外围接口控制器310可启动时脉信号,以使串行外围接口从属装置320继续运作。同时,串行外围接口控制器310可传送缓冲器312更新后的数据至串行外围接口从属装置320的缓冲器322。当16字节数据于时间T4传送完毕时,串行外围接口控制器310再度停止时脉信号,以中止串行外围接口从属装置320的运作。同时,串行外围接口控制器310再度自PCI总线接收新数据,以更新缓冲器312的内容。如此不断重复上述流程,直至缓冲器322被数据填满为止。由于缓冲器312的容量为16字节,而缓冲器322的容量为256字节,此时应为第16次传送缓冲器312中的数据。
当串行外围接口控制器310预估串行外围接口从属装置320的缓冲器322已被所传送的数据填满,或是串行外围接口控制器310欲结束数据传输,则串行外围接口控制器310便去能(disable)芯片选择信号,如图4中的420所标示。当串行外围接口从属装置320侦测到芯片选择信号被去能时,便将缓冲器322中储存的数据搬移到存储器324中。如此则串行外围接口控制器310与串行外围接口从属装置320间完成一次数据传输。
因此,串行外围接口从属装置320的时脉信号会持续地以固定时间间隔被暂停。于时脉信号停止的期间,串行外围接口控制器310会读取数据至其缓冲器312,以进行数据更新。于时脉信号动作的期间,串行外围接口控制器310会将缓冲器312中储存的数据传输至串行外围接口从属装置320的缓冲器322。由于PCI总线的时脉频率为33MHz,串行外围接口控制器310更新缓冲器312中的16字节数据仅需时约240ns,因此时脉信号的暂停时间非常短,几乎可略去不计。
由于串行外围接口控制器310的缓冲器312容量很小,因此即使遇到具有各种不同容量的缓冲器322的串行外围接口从属装置320,串行外围接口控制器310皆可适当地传送数据直至缓冲器322填满为止,才去能串行外围接口从属装置320的芯片选择信号,以使串行外围接口从属装置320搬移缓冲器322中的数据至存储器324中。如此便可以将数据搬移的频率减到最低,而减少数据传输的时间延迟。此外,串行外围接口控制器310并可以恰当地传输数据予含有各种不同容量的缓冲器322的串行外围接口从属装置320,而设计者不需更改串行外围接口控制器310的缓冲器312的容量。
图5为根据本发明的串行外围接口控制器500的部分区块图。接收自PCI总线的数据被储存至缓冲器502之中。当串行外围接口控制器500欲输出数据信号时,串行外围接口控制器500可借一多工器504,并通过一数据选取信号选取存取指令、地址或缓冲器502中储存的数据,以输出至串行外围接口从属装置。另外,当串行外围接口控制器500欲停止时脉信号时,串行外围接口控制器500可借一多工器506,并通过一时脉选取信号选取一逻辑低电位输出至串行外围接口从属装置,以停止串行外围接口从属装置的运作。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
附图中符号的简单说明如下100、300串行外围接口传输系统110、310串行外围接口控制器120、320串行外围接口从属装置112、122、312、322、502缓冲器
124、324存储器504、506多工器
权利要求
1.一种串行外围接口数据传输方法,其中一串行外围接口控制器欲传输数据至一串行外围接口从属装置,其特征在于,该方法包括下列步骤传送该串行外围接口控制器包含的一第一缓冲器所储存的数据至该串行外围接口从属装置包含的一第二缓冲器;当数据传送完毕后,停止该串行外围接口从属装置借以操作的一时脉信号;当该时脉信号被停止时,以该串行外围接口控制器所新接收的数据更新该第一缓冲器;当该第一缓冲器的数据更新完毕时,启动该时脉信号以使该串行外围接口从属装置继续运作;于该时脉信号动作时,传送该第一缓冲器储存的数据至该串行外围接口从属装置的该第二缓冲器;以及当该第一缓冲器所储存的数据传送完毕后,回到该时脉信号的停止步骤继续执行,直至该第二缓冲器填满数据为止;其中该第二缓冲器的第二容量远高于该第一缓冲器的第一容量。
2.根据权利要求1所述的串行外围接口数据传输方法,其特征在于,该方法更包括下列步骤于该串行外围接口控制器开始进行数据传输前,致能该串行外围接口从属装置接收的一芯片选择信号;以及于该第二缓冲器被数据填满后,去能该芯片选择信号,以将该第二缓冲器储存的数据储存至该串行外围接口从属装置包含的一存储器中。
3.根据权利要求2所述的串行外围接口数据传输方法,其特征在于,该方法更包括于该串行外围接口控制器完成所有数据传输后,去能该芯片选择信号,以将该第二缓冲器储存的数据储存至该串行外围接口从属装置包含的该存储器中。
4.根据权利要求1所述的串行外围接口数据传输方法,其特征在于,该第二容量为该第一容量的M倍,M为一自然数,且该第一容量为2I字节,该第二容量为2J字节,I与J为自然数,其中M=2(J-I)。
5.根据权利要求1所述的串行外围接口数据传输方法,其特征在于,该时脉信号的停止是将该时脉信号下拉至一逻辑低电位。
6.一种串行外围接口数据传输系统,其特征在于,包括一串行外围接口从属装置,包括一第二缓冲器;以及一串行外围接口控制器,耦接至该串行外围接口从属装置,传送其所包含的一第一缓冲器所储存的数据至该串行外围接口从属装置的该第二缓冲器,当数据传送完毕后停止该串行外围接口从属装置借以操作的一时脉信号并以该串行外围接口控制器所新接收的数据更新该第一缓冲器,当该第一缓冲器的数据更新完毕时启动该时脉信号以使该串行外围接口从属装置继续运作并传送该第一缓冲器储存的数据至该串行外围接口从属装置的该第二缓冲器,并当该第一缓冲器所储存的数据传送完毕后回到该时脉信号的停止步骤继续进行直至该第二缓冲器填满数据为止;其中该第二缓冲器的第二容量远高于该第一缓冲器的第一容量。
7.根据权利要求6所述的串行外围接口数据传输系统,其特征在于,该串行外围接口控制器于开始进行数据传输前致能该串行外围接口从属装置接收的一芯片选择信号,并于该第二缓冲器被数据填满后去能该芯片选择信号,而当该芯片选择信号被去能时,该串行外围接口从属装置将该第二缓冲器储存的数据储存至其所包含的一存储器中。
8.根据权利要求7所述的串行外围接口数据传输系统,其特征在于,该串行外围接口控制器于完成所有数据传输后去能该芯片选择信号。
9.根据权利要求6所述的串行外围接口数据传输系统,其特征在于,该第二容量为该第一容量的M倍,M为一自然数,且该第一容量为2I字节,该第二容量为2J字节,I与J为自然数,其中M=2(J-I)。
10.根据权利要求7所述的串行外围接口数据传输系统,其特征在于,该第二缓冲器的第二容量为该第一缓冲器的第一容量的16倍。
11.一种串行外围接口数据传输方法,其中一串行外围接口控制器欲传输数据至一串行外围接口从属装置,而该串行外围接口从属装置依据一时脉信号而运作,其特征在于,该方法包括下列步骤致能指向该串行外围接口从属装置的一芯片选择信号,以选取该串行外围接口从属装置;持续地以固定时间间隔,暂停该时脉信号;于该时脉信号停止的期间,读取数据至该串行外围接口控制器的一第一缓冲器;于该时脉信号动作的期间,以该串行外围接口控制器传输该第一缓冲器储存的数据至该串行外围接口从属装置的第二缓冲器;以及当所有数据传输完毕时或该第二缓冲器被数据填满时,去能该芯片选择信号,以搬移该第二缓冲器所储存的数据至该串行外围接口从属装置包含的一存储器中;其中该第二缓冲器的第二容量远高于该第一缓冲器的第一容量。
12.根据权利要求11所述的串行外围接口数据传输方法,其特征在于,该第二容量为该第一容量的M倍,M为一自然数,且该第一容量为2I字节,该第二容量为2J字节,I与J为自然数,其中M=2(J-I)。
全文摘要
一种串行外围接口数据传输方法及串行外围接口数据传输系统。一串行外围接口控制器欲传输数据至一串行外围接口从属装置,串行外围接口从属装置依据一时脉信号运作。首先致能指向串行外围接口从属装置的芯片选择信号,以选取该从属装置。接着持续地以固定时间间隔暂停时脉信号。接着于时脉信号停止期间,读取数据至串行外围接口控制器的第一缓冲器。接着于时脉信号动作期间,以串行外围接口控制器传输第一缓冲器储存的数据至串行外围接口从属装置的第二缓冲器。当所有数据传输完或第二缓冲器被数据填满时去能芯片选择信号,以搬移第二缓冲器所储存的数据至串行外围接口从属装置包含的存储器中。第二缓冲器的第二容量远高于第一缓冲器的第一容量。
文档编号G06F13/38GK101025725SQ20071009588
公开日2007年8月29日 申请日期2007年4月12日 优先权日2007年4月12日
发明者周晓方 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1