CN1153154C - 直接存储器存取至通用串行总线的转换电路及传输方法 - Google Patents
直接存储器存取至通用串行总线的转换电路及传输方法 Download PDFInfo
- Publication number
- CN1153154C CN1153154C CNB011102233A CN01110223A CN1153154C CN 1153154 C CN1153154 C CN 1153154C CN B011102233 A CNB011102233 A CN B011102233A CN 01110223 A CN01110223 A CN 01110223A CN 1153154 C CN1153154 C CN 1153154C
- Authority
- CN
- China
- Prior art keywords
- dma
- data
- usb
- signal
- transmission
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
一种直接存储器存取(DMA)至通用串行总线(USB)的协议转换电路及其数据传输方法,可同时运用在DMA主控器或DMA从属器上。它利用简易控制单元及简单的逻辑电路,不论USB主控器是否知道传输的数据大小,可随时通知USB装置发出短数据包或零数据包,以回应主控器来结束USB IRP传送。并且本发明的传送使能产生电路可自动被使能或可由外部逻辑控制,使得DMA至USB的传输通道可自动地再开始传送。
Description
技术领域
本发明是涉及一种协议转换电路,具体地说,涉及一种DMA至USB的协议转换电路及其数据传输方法,其中不论USB主控器是否知道传输数据的大小,均可随时通知USB装置发出短数据包或零数据包,以回应主控器来结束USB IRP传送。
背景技术
直接存储器存取(Direct Memory Access;以下简称DMA)为本领域专业技术人员所熟知的一种数据传输模式,用以从一个装置通过外围装置将数据传输至另一装置。目前,在各主机系统,甚至外围装置上应用已久,为众人所熟悉,并广泛依赖和使用这种技术。但是,通用串行总线(Universal Serial Bus;以下简称USB)是一种新的传输协议,USB意图将外围主机系统的传输方式统一化,使得未来外围与主机的连结方式都通过USB,以方便使用者连结各外围设备与主机系统。
参照图1,该图示出传统直接存储器存取(DMA)与通用串行总线(USB)间的协议转换电路的方块图。
如图1所示,DMA主控器(Master)10读取(RD)或者DMA从属器(Slave)12写入(WR)所得到的数据(DATA),存放在内部的先进先出缓冲器(以下简称DATA FIFO)14内,其中DATA FIFO即数据缓冲器。DATAFIFO14可以为一个以上,并且每个FIFO14的长度需足够USB每次交换处理(Transaction)的数据长度。在USB总线16端有一个USB装置(USBEngine)18,负责使各个FIFO14内的数据,依据USB协议回应到USB总线16上。
在USB系统中,所有装置都是附属装置(client device),即都是被动的装置。当USB主控器(USB host controller)对此装置下IN令牌数据包(INToken packet)时,装置可返回未确认(No acknowledge;NAK)的信号交换数据包(Handshake packet),以表示重试(retry)。或者可返回予数据包以提供数据给主控器,来完成一次的交换处理。每次数据包所含的最大数据大小,即称为数据有效负载(DATA payload)。而当一个数据包所含的数据大小小于数据有效负载时,即称为短数据包(short packet)。而累积了多次的交换处理来传送一个缓冲的数据,称为完成一个输入输出要求数据包(I/O Request Packet;IRP)。
然而,在DMA的协议中,从属器12与主控器10间的信号有数据要求信号(DRQ)、数据确认信号(DACK)及结束信号(EOP)。当从属器12就绪(Ready)后,即启动DRQ向主控器10要求DMA周期(cycle)。而当主控器10就绪后,即回应以DACK及读取/写入信号来做DMA的传输。等到主控器10存取完数据后,即完成一个DMA周期。从属器12可再启动DRQ进行下一个DMA周期,待传输到最后一个数位组的DMA周期时,主控器10同时触动EOP,以表示完整地传输完一个缓冲的数据。
若将两系统结合在一起,此电路的动作将是一边对DMA做存取,一边对USB的协议做回应。当电路内尚无DATA FIFO14就绪前,则回应USB NAK,即重试动作。等到内部的任一DATA FIFO14就绪后,则将DATA传送到USB总线16上。如此周而复始,即可传输一连续的数据。但问题在于DMA的协议含有数位组数量的信息(EOP信号或数位组数量暂存器),而USB的协议却没有。当装置所传输的数据不为数据有效负载的整数倍时,此装置可以短数据包回应USB主控器,以终止IRP。
当数据缓冲的大小恰为数据有效负载的整数倍时,除非USB主控器预知数据大小,在取得足够的数据后,不再启动新的交换处理,否则当USB主控器不知道数据大小时,势必启动下一次交换处理,而此时DMA又已做完传输,而无DMA数据就绪的情况下,此装置对此一新的USB交换处理,必回应以NAK,则此系统被锁住(Lock)。所以USB主控器预知整个传输过程的数据大小,似乎是必须的,则装置必须再通过另外的管道,让USB主控器知道数据大小,但如此又会加重额外硬件与软件的成本。
发明内容
因此,本发明的目的在于提供一种DMA至USB的协议转换电路及其数据传输方法,它能随时回应主控器,来结束USB IRP传送。
本发明的另一目的在于提出一种DMA至USB的协议转换电路及其数据传输方法,可同时运用在DMA主控器或DMA从属器上。
为实现本发明的上述目的,提出一种直接存储器存取至通用串行总线的协议转换电路及其数据传输方法,可同时运用在DMA主控器或DMA从属器上,是利用简易控制单元及简单的逻辑电路,不论USB主控器是否知道传输的数据大小,可随时通知USB装置发出短数据包或零数据包,以回应主控器来结束USB IRP传送。并且,本发明的传送使能产生电路可自动被使能或可由外部逻辑控制,使得DMA至USB的传输通道可自动地再开始传送。
本发明提出一种直接存储器存取至通用串行总线的协议转换电路,具有主控器与外围装置,该主控器通过串行总线耦接该外围装置,该外围装置具有DMA数据源装置,该DMA数据源装置用以通过该外围装置与该串行总线传送数据至该主控器中,该协议转换电路包括:
串行总线装置,耦接该串行总线,用以管理该外围装置与该主控器间的数据通讯;
至少一个数据缓冲器,用以储存信息;
DMA装置,耦接该数据缓冲器及该DMA数据源装置,用以管理该DMA数据源装置与该数据缓冲器间的数据传输,当该DMA数据源装置的所有数据已传送至该数据缓冲器时,该DMA装置会产生结束信号;以及
传送使能产生电路,耦接该DMA装置,该传送使能产生电路具有第一输入端,用以接收该结束信号,第二输入端,用以接收一个使能信号,以及输出端用以依据该结束信号与所述使能信号产生一个传送使能信号,其中该传送使能信号用以驱动该DMA装置,使该DMA装置开始做一区块数据的传送;
所述协议转换电路还包括初始化电路,该初始化电路具有第一输入端,用以接收内部起始信号,第二输入端,用以接收外部起始信号,第三输入端,用以接收选择信号,以及输出端用以根据该选择信号,以及该内部起始信号与该外部起始信号之一,选择性地产生所述使能信号;
还包括一中断电路,该中断电路具有第一输入端,用以接收该结束信号,第二输入端,用以接收一脉冲信号,以及输出端,用以依据该结束信号与该脉冲信号产生中断信号,以通知其他逻辑并告知该区块数据已全部传送完。
作为选择,在所述协议转换电路中,所述初始化电路进一步可包括多工器。
在所述协议转换电路中,所述内部起始信号用以使能该传送使能产生电路,使该传送使能产生电路重新启动新的区块数据传输,以达到全部自动的功能表现。
作为选择,所述协议转换电路中,所述DMA装置可以是一个DMA主控器。
作为选择,所述协议转换电路中,所述DMA装置可以是一个DMA从属器。
因此,由于本发明所提供的传送使能产生电路可以自动地被使能,使得DMA装置可自动地传送区块数据,同时USB主控器不论是否知道传输的数据大小,可随时通知USB装置发出短数据包或零数据包,以回应主控器来结束USB IRP传送,故不论USB主控器是否知道一个IRP的数据大小,都可轻易地在USB与DMA的间做一个IRP的数据传输。
本发明还提出一种USB主控器与DMA外围装置间的数据传输的方法,包括下列步骤:首先初始化数据传输,以做为DMA外围装置至USB主控器的DMA周期。接着当数据传输在DMA周期期间完成时,产生一结束信号于DMA外围装置。最后提供以结束信号为基础的控制信号至USB主控器,以通知USB主控器在DMA周期期间的数据传输已完成。
作为选择,所述控制信号可以是一个零数据包。
附图说明
为使本发明的上述以及其他目的、特征和优点能更明显易懂,下文特举一优选实施例,并配合所附附图,作详细说明如下:
图1示出传统的直接存储器存取(DMA)与通用串行总线(USB)间的协议转换电路方块图;
图2示出依照本发明一优选实施例的一种直接存储器存取与通用串行总线间的协议转换电路的方块图;以及
图3示出本发明的协议转换电路的操作时序图。
具体实施方式
众所周知,当USB主控器作一传输,却不知道全部数据大小时,如何利用USB与DMA的传输特性来顺利完成传输,请参照图2与图3。图2示出依照本发明一优选实施例的一种直接存储器存取与通用串行总线间的协议转换电路的方块图,以及图3示出的是本发明的协议转换电路的操作时序图。
如图2所示,并将其与已有技术图1相比较可发现,在USB装置24与DMA装置,例如DMA主控器20或者DMA从属器22之间,我们仅需加入一个传送使能产生电路(Transfer Enable Generation Circuit)26即可解决上述已有技术问题。
当初始化(initial)完成,即初始化电路(Initialization Circuit)34依据选择信号及接收到的信号,例如内部起始信号或外部起始信号选择性地产生一使能信号来使能(enable)传送使能产生电路26后,DMA装置才开始动作,其中初始化电路34可以一多工器(Multiplexer;MUX)来实现的。而在DMA传送完最后一个数位组时,其中最后一个数位组可由EOP或数位组计数器28得知,然后就将传送使能产生电路26禁止(disable)后,DMA也不再做任何传送动作,直到传送使能产生电路26又重新被使能,DMA才又开始下一个区块数据的传送。因此,不论DMA装置是DMA主控器20或DMA从属器22,都可轻易地加入此传送使能产生电路26,例如DMA主控器20可通过数位组计数器28,而DMA从属器22则由EOP可得知DMA的最后传送动作,而产生一清除信号(clear signal)来禁止传送使能产生电路26。
此外,USB对存取本身的所有表示都必须回应,如图2所示,当传送使能产生电路26被使能后,每当表示到来,USB装置24就去查看有无有效的内部DATA FIFO30,若无表示DMA装置正在工作,但无足够的数据,可供做一次USB交换处理。于是,USB装置24回应给USB主控器(未显示)。如此周而复始,直到传送使能产生电路26被禁止后。当USB装置24接到表示仍继续查看有无有效的DATA FIFO30,若有,则继续回应USB主控制数据包,直到FIFO30内的数据都被传送完毕,此时中断产生电路(Interrupt Generation Circuit)32会产生一个中断信号(INT)通知其他逻辑,告知此区块的数据已全部传送完。之后若USB主控器再有IN的表示,则USB装置24会回应已没有数据包(零数据包(nulldata packet)),来通知USB主控器,此次IRP已经结束,且已无多余数据,除非再次使能传送使能产生电路26,然后再启动下一个区块的数据传输。
依照本发明的结构,能够以很低的电路成本实现如下的功能:当不论USB主控器是否知道一个IRP的数据大小,都可因而轻易地在USB与DMA之间做一个IRP的数据传输。
而传送使能产生电路26的再次使能,可通过外部逻辑以提供使用者便于控制。或者可以通过USB装置24在装置送出短数据包或零数据包之后,即表示USB装置24已告知USB主控器IRP已经结束,USB装置24即可自行再次使能传送使能产生电路26,自动地再次启动下一个区块的数据传输,如此即可达到智慧且自动的DMA至USB的转换电路。
综上所述,本发明的特征之一是利用简易控制单元包括传送使能产生电路及简单的逻辑电路,不论USB主控器是否知道传输的数据大小,可随时通知USB装置发出短数据包或零数据包,以回应主控器来结束USB IRP传送。
本发明的特征之二是传送使能产生电路可自动被使能,使得DMA至USB的传输通道可自动地再开始传送,此外传送使能产生电路亦可由外部逻辑控制。
本发明的特征之三是可同时运用在DMA主控器或DMA从属器上。
虽然本发明已以优选实施例揭露如上,然其并非用以限定本发明,任何本领域专业技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与变化,因此本发明的保护范围当视后附的权利要求所界定者为准。
Claims (7)
1.一种直接存储器存取至通用串行总线的协议转换电路,具有主控器与外围装置,该主控器通过串行总线耦接该外围装置,该外围装置具有DMA数据源装置,该DMA数据源装置用以通过该外围装置与该串行总线传送数据至该主控器中,该协议转换电路包括:
串行总线装置,耦接该串行总线,用以管理该外围装置与该主控器间的数据通讯;
至少一个数据缓冲器,用以储存信息;
DMA装置,耦接该数据缓冲器及该DMA数据源装置,用以管理该DMA数据源装置与该数据缓冲器间的数据传输,当该DMA数据源装置的所有数据已传送至该数据缓冲器时,该DMA装置会产生结束信号;以及
传送使能产生电路,耦接该DMA装置,该传送使能产生电路具有第一输入端,用以接收该结束信号,第二输入端,用以接收一个使能信号,以及输出端用以依据该结束信号与所述使能信号产生一个传送使能信号,其中该传送使能信号用以驱动该DMA装置,使该DMA装置开始做一区块数据的传送;
所述协议转换电路还包括初始化电路,该初始化电路具有第一输入端,用以接收内部起始信号,第二输入端,用以接收外部起始信号,第三输入端,用以接收选择信号,以及输出端用以根据该选择信号,以及该内部起始信号与该外部起始信号之一,选择性地产生所述使能信号;
还包括一中断电路,该中断电路具有第一输入端,用以接收该结束信号,第二输入端,用以接收一脉冲信号,以及输出端,用以依据该结束信号与该脉冲信号产生中断信号,以通知其他逻辑并告知该区块数据已全部传送完。
2.根据权利要求1所述的协议转换电路,其特征在于,所述初始化电路包括一多工器。
3.根据权利要求1所述的协议转换电路,其特征在于,所述内部起始信号用以使能该传送使能产生电路,使该传送使能产生电路重新启动新的区块数据传输,以达到全部自动的功能表现。
4.根据权利要求1所述的协议转换电路,其特征在于,所述DMA装置是一个DMA主控器。
5.根据权利要求1所述的协议转换电路,其特征在于,所述DMA装置是一个DMA从属器。
6.一种USB主控器与DMA外围装置间的数据传输的方法,包括下列步骤:
初始化该数据传输,以做为该DMA外围装置至该USB主控器的一个DMA周期;
当所述数据传输在所述DMA周期期间完成时,产生一结束信号于该DMA外围装置;以及
提供以该结束信号为基础的一控制信号至该USB主控器,以通知该USB主控器在该DMA周期期间的数据传输已完成。
7.根据权利要求6所述的方法,其特征在于,所述控制信号是一个零数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB011102233A CN1153154C (zh) | 2001-04-02 | 2001-04-02 | 直接存储器存取至通用串行总线的转换电路及传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB011102233A CN1153154C (zh) | 2001-04-02 | 2001-04-02 | 直接存储器存取至通用串行总线的转换电路及传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1379337A CN1379337A (zh) | 2002-11-13 |
CN1153154C true CN1153154C (zh) | 2004-06-09 |
Family
ID=4658433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011102233A Expired - Fee Related CN1153154C (zh) | 2001-04-02 | 2001-04-02 | 直接存储器存取至通用串行总线的转换电路及传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1153154C (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100568870C (zh) * | 2003-08-03 | 2009-12-09 | 清华大学 | 一种通用串行数据双向传输接口系统 |
JP4791696B2 (ja) * | 2004-03-02 | 2011-10-12 | オンセミコンダクター・トレーディング・リミテッド | データ転送メモリ及びモジュール |
WO2005104514A1 (fr) * | 2004-04-23 | 2005-11-03 | Hui Zhou Tcl Mobile Communication Co., Ltd. | Procede et dispositif permettant de photographier avec un telephone mobile |
CN1304922C (zh) * | 2005-06-07 | 2007-03-14 | 清华大学 | 用于高速ccd相机的电路接口 |
CN100389374C (zh) * | 2005-06-30 | 2008-05-21 | 联想(北京)有限公司 | 通过从设备输入来控制主设备的方法 |
CN101587462B (zh) * | 2008-05-21 | 2012-02-08 | 上海摩波彼克半导体有限公司 | 高速数据通信链路中的usb数据传输装置及其数据传输方法 |
CN104484297B (zh) * | 2014-11-28 | 2018-02-06 | 浪潮(北京)电子信息产业有限公司 | 通用串行总线传输速率方法及其装置 |
CN111512293B (zh) * | 2018-08-14 | 2023-06-02 | 深圳鲲云信息科技有限公司 | 一种基于dma的数据处理方法及相关产品 |
-
2001
- 2001-04-02 CN CNB011102233A patent/CN1153154C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1379337A (zh) | 2002-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6816929B2 (en) | Data transfer control method and controller for universal serial bus interface | |
TW455775B (en) | Buffer management for improved PCI-X or PCI bridge performance | |
US20040057380A1 (en) | Controlling flow of data between data processing systems via a memory | |
CN1582434A (zh) | 低开销处理器设备连接 | |
CN1098527A (zh) | 外部件互联为基础的计算机系统的直接存储器存取逻辑支持 | |
CA2573156A1 (en) | Apparatus and method for supporting memory management in an offload of network protocol processing | |
WO2001018988A1 (en) | Bridge between parallel buses over a packet-switched network | |
CN1647054A (zh) | 网络设备驱动体系结构 | |
CN101034384A (zh) | 一种能同时进行读写操作的dma控制器及传输方法 | |
CA2432390A1 (en) | Method and apparatus for controlling flow of data between data processing systems via a memory | |
CN1969270A (zh) | 用于处理拆分事务的总线控制器 | |
US7962676B2 (en) | Debugging multi-port bridge system conforming to serial advanced technology attachment (SATA) or serial attached small computer system interface (SCSI) (SAS) standards using idle/scrambled dwords | |
CN1153154C (zh) | 直接存储器存取至通用串行总线的转换电路及传输方法 | |
US20110238869A1 (en) | Autonomous Multi-Packet Transfer for Universal Serial Bus | |
US8090893B2 (en) | Input output control apparatus with a plurality of ports and single protocol processing circuit | |
CN1658176A (zh) | 数据通信的方法及设备 | |
EP1433069A1 (en) | Bus system and bus interface for connection to a bus | |
US7043589B2 (en) | Bus system and bus interface | |
US20070208896A1 (en) | Interrupt Scheme for Bus Controller | |
WO2001006708A1 (fr) | Dispositif de gestion de transfert de donnees et appareil electronique | |
CN206479978U (zh) | 一种用于处理多个总线设备数据的总线系统 | |
JP7206485B2 (ja) | 情報処理システム、半導体集積回路及び情報処理方法 | |
JP4930554B2 (ja) | 入出力制御装置 | |
TWI356305B (en) | Usb host controller and control method thereof | |
JPS59176952A (ja) | 通信制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20040609 |