串行周边接口的数据传送装置与数据接收装置的制作方法

文档序号:16146700发布日期:2018-12-05 16:32阅读:193来源:国知局
串行周边接口的数据传送装置与数据接收装置的制作方法

本发明涉及一种数据传输装置,尤其涉及一种串行数据传输装置。

背景技术

串行周边接口(serialperipheralinterface;spi)被广泛的使用。串行周边接口包括四个端子,分别是串行时脉端sck(serialclock):主机输出从机输入信号端mosi(masteroutput,slaveinput),主机输入从机输出信号端miso(masterinput,slaveoutput)以及芯片选择端cs(chipselect)。

如图8所示,两个单芯片系统分别以串行周边接口(serialperipheralinterface;spi)54、44相互连接,其中一单芯片系统为主装置50,另一个为从装置40。串行周边接口54、44的串行时脉端sck相互连接,在串行时脉端sck上的串行时脉信号是由主装置50提供给从装置40。串行周边接口54、44之间的数据传输是以串行时脉信号作同步,主装置50经由主机输出从机输入信号端mosi输出串行数据至从装置40;从装置40经由主机输入从机输出信号端miso输出串行数据给主装置50。

各串行周边接口54、44包括一数据传送装置以及一数据接收装置。数据传送装置用于将数据输出至外部装置,数据接收装置是用于接收外部输入的数据。在主装置50中,串行周边接口54的数据传送装置与主机输出从机输入信号端mosi连接,数据接收装置与主机输入从机输出信号端miso连接。在从装置40中,串行周边接口44的数据传送装置与主机输入从机输出信号端miso连接,数据接收装置与主机输出从机输入信号端mosi连接。串行周边接口54、44的数据传送装置有些不同。串行周边接口54、44的数据传送装置都具有一个缓冲器与一个暂存器,从并列总线52、42传送数据到主机输出从机输入信号端mosi或主机输入从机输出信号端miso,至少需要用到内部时脉信号的2个内部时脉。串行周边接口44、54的数据接收装置也都具有一个缓冲器与一个暂存器,将机输出从机输入信号端mosi或主机输入从机输出信号端miso接收到的数据传送给并列总线42、52也至少会用到内部时脉信号中的1个内部时脉。



技术实现要素:

本发明主要目的在于提出一改良后的串行周边接口的数据传送装置及数据接收装置。

欲达上述目的所使用的主要技术手段是令该串行周边接口的数据传送装置用于将一包括有多个第一数字数据的第一并列数据转换成串行的形式后,从该串行周边接口的一数据输出端输出,该数据传送装置包括:

一第一输出缓冲器,操作于一相应于一内部时脉信号的内部时脉域,用以接收该第一并列数据,并且输出该多个第一数字数据,其中具有多个第一储存元件,用以储存该多个第一数字数据;

一第一选择单元,具有一输出端连接该数据输出端,以及多个第一输入端,以接收该第一输出缓冲器输出的该多个第一数字数据,该第一选择单元用以选择该多个输入端的其中之一与该数据输出端相连接,使该多个第一数字数据的其中之一被输出;以及

一控制单元,连接该第一选择单元,根据一串行时脉信号控制该第一选择单元依序输出该多个第一数字数据。

由上述说明可知,本发明的数据传送装置省略既有串行周边接口的数据传送装置的移位暂存器,有助于节省面积,降低成本;详细的内容和其他的优点将在以下的实施方式中描述。

欲达上述目的所使用的主要技术手段是令串行周边接口的数据接收装置,该串行周边接口具有一数据输入端接收一包括有多个第一数字数据的第一串行数据,包括:

一第一输入缓冲器,具有多个第一输出端,该第一输入缓冲器是用以接收该第一串行数据,并且从该多个第一输出端输出该多个第一数字数据,其中具有多个第一储存元件用以储存该多个第一数字数据;以及

一控制单元,连接该第一输入缓冲器,该控制单元是用以根据串行时脉信号控制该第一输入缓冲器依序储存该多个第一数字数据至该多个第一储存元件。

由上述说明可知,本发明的数据接收装置省略既有串行周边接口的数据接收装置的移位暂存器,有助于节省面积,降低成本。详细的内容和其他的优点将在以下的实施方式中描述。

以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。

附图说明

图1:本发明一串行周边接口的一功能方框图;

图2:本发明一数据传送装置的一实施例的一功能方框图;

图3:图2所示的数据传送装置的一实施例;

图4:本发明一数据传送装置的另一实施例的功能方框图;

图5:本发明一数据接收装置的一实施例的功能方框图;

图6:图5所示的数据接收装置为的一实施例;

图7:本发明一数据接收装置的另一实施例的功能方框图;

图8:两个单芯片系统使用既有串行周边接口相互连接的一功能方框图。

其中,附图标记

a串行周边接口10集成电路装置

11处理单元12并列总线

20、20’数据传送装置21控制单元

22输出缓冲器222第一储存元件

224多工器23选择单元

232第一输入端234输出端

24输出缓冲器26选择单元

27选择单元28控制单元

30、30’数据接收装置31控制单元

32输入缓冲器322第一储存元件

324多工器326第一输入端

33控制单元34输入缓冲器

36选择单元38选择单元

40从装置42并列总线

44串行周边接口50主装置

52并列总线54串行周边接口

具体实施方式

下面结合附图对本发明的结构原理和工作原理作具体的描述:

图1说明根据本发明的一串行周边接口a。在图1中,集成电路装置10可以是主装置(host)或者是从装置(slave),也就是说,串行周边接口a可以应用于主装置或从装置。集成电路装置10包括一处理单元11、并列总线12以及一串行周边接口a。串行周边接口a具有四个端子,分别是串行时脉端sck(serialclock),数据输出端output,数据输入端input,以及芯片选择端cs(chipselect)。如果集成电路装置10为主装置,数据输出端为主机输出从机输入信号端mosi(masteroutput,slaveinput),数据输入端为主机输入从机输出信号端miso(masterinput,slaveoutput)。如果集成电路装置10为从装置,数据输出端为主机输入从机输出信号端miso(masterinput,slaveoutput),数据输入端为主机输出从机输入信号端mosi(masteroutput,slaveinput)。一串行时脉信号被提供给串行周边接口a的串行时脉端sck,串行时脉信号通常是由主装置的处理单元(例如中央处理器)提供。两个串行周边接口a之间的数据传输是藉由该串行时脉信号作同步。处理单元11提供一内部时脉信号(internalclocksignal),串行周边接口a接收内部时脉信号与串行时脉信号,据以进行数据的传输。

串行周边接口a包括一数据传送装置20与一数据接收装置30。数据传送装置20连接在数据输出端output与并列总线12之间,用于将一包括有多个数字数据的并列数据转换成串行的形式输出。数据接收装置30连接在数据输入端input与并列总线12之间,用于接收从数据输入端input输入的一包括有多个数字数据的串行数据,并且将该多个数字数据传送给并列总线12。

图2提供数据传送装置20的一实施例。在图2中,处理单元11用以经由并列总线12连接数据传送装置20,以传送一包括有多个第一数字数据的第一并列数据给数据传送装置20,第一并列数据可以是例如一个位元组(byte),包括8个1位元(bit)的数字数据(0或1)。数据传送装置20包括一控制单元21,一输出缓冲器22以及一选择单元23。在一实施例中,控制单元21接收该串行时脉信号与该内部时脉信号,该控制单元21连接串行周边接口a的串行时脉端sck,以接收该串行时脉信号。输出缓冲器22连接在并列总线12与选择单元23之间。输出缓冲器22用以接收该第一并列数据,并且将该多个第一数字数据传送给选择单元23。输出缓冲器22具有多个第一储存元件,例如正反器。根据内部时脉信号,输出缓冲器22将该多个第一数字数据储存于该多个第一储存元件。选择单元23具有一个输出端连接数据输出端output,以及多个输入端连接输出缓冲器22。选择单元23的多个输入端用以接收输出缓冲器22输出的多个第一数字数据。选择单元23藉由选择其多个输入端的其中之一与该数据输出端output相连接,使该多个第一数字数据的其中之一被输出。在其他实施例中,选择单元23可以是一多工器,或者是其他具有相同功能的逻辑电路。控制单元21连接选择单元23,用以根据串行时脉信号控制选择单元23依序输出该多个第一数字数据,使得该多个第一数字数据以串行的形式从数据输出端output输出。在一实施例中,控制单元21包括一有限状态机(finitestatemachine;fsm)连接选择单元23。该有限状态机根据串行时脉时号产生控制信号控制选择单元23的运作。

从以上说明可以了解,输出缓冲器22是操作于相应于内部时脉信号的内部时脉域(internalclockdomain),选择单元23是操作于相应于串行时脉信号的串行时脉域(sckdomain),两者的时脉域并不相同。因应选择单元23完成输出该多个第一数字数据,控制单元21会配合处理单元11的内部时脉信号发送一通知信号给处理单元11。一般来说,串行时脉信号的1个时脉相应于一个数字数据,在一实施例中,控制单元21根据计数串行时脉信号的时脉数量以及内部时脉信号,以发送该通知信号。因应该通知信号,处理单元11将下一笔并列数据传送给数据传送装置20。

图3说明数据传送装置20的一个实施例。图3使用一多工器作为选择单元23。并列总线12传送包括8个第一数字数据d0~d7的第一并列数据。输出缓冲器22包括8个第一储存元件222与8个多工器224。每一个多工器224具有一输入端耦接并列总线12以接收1个数字数据。第一储存元件222是一个正反器,具有时脉输入端接收内部时脉信号,一输入端d与一输出端q。每一个正反器222的输入端d连接一个2选1的多工器224,多工器224是一个选择单元,用以选择使其输入端连接正反器222的输入端d,使多工器224输入端的数据传送至正反器222。在其他实施例中,亦可以使用其他具有与多工器224相同功能的逻辑电路来取代多工器224。多工器224受到处理单元11的控制,将第一数字数据d0~d7传送至正反器222的输入端d,配合内部时脉信号的一上升缘(或下降缘),第一数字数据d0~d7被储存并传送到多工器23。多工器23具有8个第一输入端232分别连接输出缓冲器22的8个输出端q,以接收输出缓冲器22输出的8个第一数字数据d0~d7,一个第一输入端232接收一个第一数字数据。多工器23受到控制单元21的控制,依序将第一数字数据d0~d7从该多工器23的一输出端234输出,从输出端234输出的第一数字数据d0~d7是串行的形式。

与现有技术相比,根据本发明的数据传送装置20省略了移位暂存器,因此可以减少面积,降低成本。并且,在数据传送装置20的操作中,只有输出缓冲器22会用到1个内部时脉,相较于现有技术需要用到2个内部时脉,本发明对于内部时脉信号的频率要求可以较低。

图4提供数据传送装置20’的另一实施例。图4中的数据传送装置20’包括输出缓冲器22、24,选择单元26、27,以及一控制单元28。在一实施例中,控制单元28接收该串行时脉信号与该内部时脉信号,该控制单元28连接串行周边接口a的串行时脉端sck,以接收该串行时脉。

选择单元27连接在并列总线12与输出缓冲器22、24之间,用以使并列总线12与输出缓冲器22、24的其中之一相连接。选择单元27依序接收包括有多个第一数字数据的第一并列数据,以及包括有多个第二数字数据的第二并列数据。选择单元27将第一并列数据传送给输出缓冲器22,再将第二并列数据传送给输出缓冲器24。在其他实施例中,选择单元27可以是一解多工器,或者是其他具有相同功能的逻辑电路。输出缓冲器22、24都是操作于内部时脉域,两者都是耦接在选择单元27、26之间。输出缓冲器22接收该第一并列数据,并且输出该多个第一数字数据给选择单元26,输出缓冲器22具有多个第一储存元件,用以储存该多个第一数字数据,在一实施例中,该第一储存元件为正反器。输出缓冲器24接收该第二并列数据,并且输出该多个第二数字数据给选择单元26,输出缓冲器24具有多个第二储存元件,用以储存该多个第二数字数据,在一实施例中,该第二储存元件为正反器。在一实施例中,输出缓冲器24与输入缓冲器22的组成相同,两者内部结构的一实施例可以参考图3。选择单元26具有一个输出端连接数据输出端output,多个第一输入端连接输出缓冲器22,以及多个第二输入端连接输出缓冲器24。该多个第一输入端用以接收输出缓冲器22输出的多个第一数字数据,该多个第二输入端用以接收输出缓冲器24输出的多个第二数字数据。选择单元26用以选择该多个第一输入端与该多个第二输入端的其中之一与该数据输出端output相连接,以选择该多个第一数字数据与多个第二数字数据的其中之一输出。在其他实施例中,选择单元26可以是一多工器,或者是其他具有相同功能的逻辑电路。控制单元28连接该选择单元27,以控制选择单元27将第一并列数据传送给输出缓冲器22,以及将第二并列数据传送给输出缓冲器24。控制单元28连接该选择单元26,并且根据串行时脉信号控制选择单元26依序输出该多个第一数字数据与该多个第二数字数据,使得该多个第一数字数据与该多个第二数字数据以串行的形式从数据输出端output输出。在一实施例中,控制单元28包括一个或多个有限状态机(finitestatemachine;fsm)根据串行时脉信号产生多个控制信号以控制选择单元26的运作。

控制单元28更经由并列总线12连接处理单元11。因应选择单元26完成输出多个第一数字数据,控制单元28会配合处理单元11的内部时脉信号发送一通知信号给处理单元11,并且控制选择单元27使输出缓冲器22连接并列总线12。因应该通知信号,处理单元11将一第三并列数据传送给数据传送装置20’。该第三并列数据经由选择单元27传送至输出缓冲器22。也就是说,在选择单元26依序输出该多个第二数字数据时,下一笔并列数据(即该第三并列数据)就被传送到输出缓冲器22等待被传送,这有助于提高数据传输的效率。

图5提供本发明的数据接收装置30的一实施例。数据接收装置30连接在串行周边接口a的数据输入端input与并列总线12之间。串行周边接口a的数据输入端input是用以接收一包括有多个第一数字数据的第一串行数据。数据接收装置30经由该数据输入端input接收该第一串行数据,并且将该第一串行数据的多个第一数字数据输出至并列总线12。第一串行数据可以是例如一个位元组(byte),包括8个1位元(bit)的数字数据(0或1)。数据接收装置30包括一输入缓冲器32与一控制单元31。在一实施例中,控制单元31接收该串行时脉信号与该内部时脉信号,该控制单元31连接串行周边接口a的串行时脉端sck,以接收该串行时脉信号。输入缓冲器32具有一个第一输入端及多个第一输出端,该第一输入端连接数据输入端input,该多个第一输出端连接并列总线12。输入缓冲器32藉由该第一输入端接收该第一串行数据,并且从该多个第一输出端输出该多个第一数字数据给并列总线12。输入缓冲器32具有多个第一储存元件用以储存该多个第一数字数据,在一实施例中,该第一储存元件为正反器。控制单元31连接输入缓冲器32。控制单元31根据串行周边接口a的串行时脉信号,控制输入缓冲器32依序储存该多个第一数字数据至该多个第一储存元件。在一实施例中,控制单元31包括一有限状态机(finitestatemachine;fsm)连接输入缓冲器32。该有限状态机根据串行时脉信号产生控制信号控制输入缓冲器32的运作。控制单元31更经由并列总线12连接处理单元11。因应输入缓冲器32输出该多个第一数字数据,控制单元31配合处理单元11的内部时脉信号,发出一通知信号给处理单元11。在一实施例中,控制单元31系根据计数串行时脉信号的时脉数量以及内部时脉信号,以发送该通知信号。因应该通知信号,处理单元11经由并列总线12接收该多个第一数字数据。

图6说明数据接收装置30的一个实施例,在图6中,以一正反器作为第一储存元件322,每一个正反器322具有时脉输入端接收串行时脉信号,一输入端d与一输出端q。输入缓冲器32包括有8个正反器322与8个多工器324。输入缓冲器32包含有一第一输入端326,与这8个多工器324的输入端串接在一起,从数据输入端input输入的第一串行数据被传送至这8个多工器324。每一个正反器322的输入端d连接一个多工器324的输出端,输出端q则连接到并列总线12。多工器324是一个选择单元,用以选择使其输入端连接正反器322的输入端d,使多工器324输入端的数据传送至正反器322。在其他实施例中,亦可以使用其他具有与多工器324相同功能的逻辑电路来取代多工器324。控制单元31根据串行时脉信号分别控制各个多工器324,使第一串行数据的8个第一数字数据分别储存到不同的正反器322。这8个输出端q输出这8个第一数字数据至并列总线12,以供处理单元11读取。

与现有技术相比,根据本发明的数据接收装置30省略了移位暂存器,因此可以减少面积,降低成本。

图7提供数据接收装置30’的另一实施例。图7的数据装置30’包括一控制单元33,输入端冲器32、34以及选择单元36、38,可以应用于处理从数据输入端input接收到的第一串行数据与第二串行数据,其中第一串行数据包括多个第一数字数据,第二串行数据包括多个第二数字数据。在一实施例中,控制单元33接收该串行时脉信号与该内部时脉信号,该控制单元33连接串行周边接口a的串行时脉端sck,以接收该串行时脉信号。

选择单元36连接在数据输入端input与输入缓冲器32、34之间,具有一个输入端耦接数据输入端input,以及两个输出端分别连接输入缓冲器32、34,选择单元36用以使输入缓冲器32或34与数据输入端input相连接。选择单元36用以依序接收该第一串行数据与该第二串行数据,并且将第一串行数据传送给输入缓冲器32,再将第二串行数据传送给输入缓冲器34。在其他实施例中,选择单元36可以是一解多工器,或者是其他具有相同功能的逻辑电路。输入缓冲器32与34都是操作于串行时脉域,两者都是耦接在选择单元36、38之间。输入缓冲器32接收该第一串行数据,并且具有多个第一输出端输出该多个第一数字数据给选择单元38。输入缓冲器32具有多个第一储存元件,用以储存该多个第一数字数据,在一实施例中,该第一储存元件为正反器。输入缓冲器34接收该第二串行数据,并且具有多个第二输出端输出该多个第二数字数据给选择单元38。输入缓冲器34具有多个第二储存元件,用以储存该多个第二数字数据,在一实施例中,该第二储存元件为正反器。在一实施例中,输入缓冲器34与输入缓冲器32的组成相同,两者内部结构的一实施例可以参考图6。

选择单元38具有多个输出端连接并列总线12。选择单元38分别连接输入缓冲器32的多个第一输出端以及输入缓冲器34的多个第二输出端,以接收该多个第一数字数据与该多个第二数字数据。选择单元38的操作使其多个输出端与输出缓冲器32或34相连接,以选择输出该多个第一数字数据或该多个第二数字数据至该并列总线12。在其他实施例中,选择单元38可以是一多工器,或者是其他具有相同功能的逻辑电路。

控制单元33连接选择单元36、38,并且根据该串行时脉信号控制选择单元36与38的运作,在一实施例中,控制单元33藉由计数串行时脉信号的时脉数量,控制选择单元36、38的切换。控制单元33连接输入缓冲器32与34。控制单元33根据该串行时脉信号控制输入缓冲器32依序储存该多个第一数字数据至该多个第一储存元件,以及控制输入缓冲器34依序储存该多个第二数字数据至该多个第二储存元件。

在一实施例中,控制单元33包括一个或多个有限状态机(finitestatemachine;fsm)根据串行时脉信号产生多个控制信号以控制输入缓冲器32、34以及选择单元36、38的运作。

控制单元33更经由并列总线12连接处理单元11。因应选择单元38输出该多个第一数字数据或者该多个第二数字数据,控制单元33配合处理单元11的内部时脉信号,发出一通知信号给处理单元11。在一实施例中,控制单元33根据计数串行时脉信号的时脉数量以及内部时脉信号,以发送该通知信号。因应该通知信号,处理单元11经由并列总线12接收选择单元38输出的数据。因应选择单元38输出该输入缓冲器32的多个第一数字数据,控制单元33控制选择单元36连接输入缓冲器32,使下一笔串行数据传送到输入缓冲器32。因应多选择单元38输出该输入缓冲器34的多个第二数字数据,控制单元33控制选择单元36连接输入缓冲器34,使下一笔串行数据传送到输入缓冲器34。藉由两个输入缓冲器32与34配合选择单元36的切换,可以有助于提升数据传输的效率。

当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1