CN104424147B - 存取数据的方法及系统 - Google Patents
存取数据的方法及系统 Download PDFInfo
- Publication number
- CN104424147B CN104424147B CN201310443546.XA CN201310443546A CN104424147B CN 104424147 B CN104424147 B CN 104424147B CN 201310443546 A CN201310443546 A CN 201310443546A CN 104424147 B CN104424147 B CN 104424147B
- Authority
- CN
- China
- Prior art keywords
- management module
- data
- application program
- transmission data
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000005540 biological transmission Effects 0.000 claims abstract description 114
- 230000004044 response Effects 0.000 claims abstract description 36
- 238000007726 management method Methods 0.000 claims description 118
- 238000012545 processing Methods 0.000 claims description 19
- 238000013500 data storage Methods 0.000 claims description 5
- 238000009434 installation Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供了一种存取数据的方法及系统。该方法包括:利用一管理模块分别自多个应用程序接收多笔传输数据与多个识别码,并依据接收顺序将传输数据储存至伫列。此管理模块依据一传送顺序,自伫列中取出其中一传输数据并通过内部整合电路驱动模块传送至对应的元件。并且,利用此管理模块经由内部整合电路驱动模块而自元件接收对应的回应数据,再将回应数据传送至对应的应用程序。通过本发明,可避免多个应用程序同时存取I2C汇流排,进而避免数据存取错误的状况发生,而让系统更稳定、更易除错,缩短开发所需花费的时间。
Description
技术领域
本发明是有关于一种数据传输技术,且特别是有关于一种用于内部整合电路(Inter-Integrated Circuit,I2C)汇流排的存取数据的方法及系统。
背景技术
I2C汇流排是一种串列通信汇流排,使用多主从架构,其是为了让主机板、嵌入式系统或手机用以连接低速周边装置而发展。目前I2C汇流排是电子产品常见的数据传输接口,而I2C汇流排通常用来传送一些慢速的数据,如:温度感测器、速度感测器、数字陀螺仪等。
然而,由于I2C汇流排在硬件设计上有其数量限制,通常会将多个I2C元件全数接在同一条I2C汇流排上,因此经常会发生同时存取I2C汇流排的情形。此时,倘若控制软件处理不当,势必会造成数据存取不正确,进而影响系统不稳定。并且造成单一元件驱动程序在开发中不易除错,导致延长了开发时间。
发明内容
本发明提供一种存取数据的方法及系统,可让多个内部整合电路(Inter-Integrated Circuit,I2C)元件共用同一个I2C汇流排,而不会造成同时存取的错误。
本发明的存取数据的方法,用于一电子装置。本方法包括:由管理模块分别自多个应用程序接收多笔传输数据与多个识别码,并依据接收顺序将传输数据储存至伫列(Queue);管理模块依据伫列的传送顺序,自上述传输数据中取出其中之一;管理模块将上述所取出的传输数据通过I2C驱动模块传送至对应的元件;管理模块通过I2C驱动模块而自元件接收对应的回应数据;以及管理模块依据上述所取出的传输数据对应的一识别码,将回应数据传送至对应的应用程序。
在本发明的一实施例中,上述在由管理模块分别自上述应用程序接收传输数据之前,还可由管理模块自各应用程序接收注册请求,藉以依据注册请求产生对应的一识别码。并且,管理模块传送对应注册请求的识别码至各应用程序。
在本发明的一实施例中,上述方法中,管理模块还可自各应用程序接一取消注册请求,以取消取消注册请求对应的识别码。
在本发明的一实施例中,上述各应用程序的传输数据格式包括识别码、I2C地址、传输数据的数据长度以及其数据本文。
在本发明的一实施例中,上述方法中,还可由管理模块检查伫列中是否存在有传输数据,以在检查到存在传输数据时,依据传送顺序,取出其中一传输数据。
本发明的存取数据的系统,包括:元件;I2C汇流排,耦接至上述元件;处理单元,耦接至I2C汇流排,并经由I2C汇流排存取上述元件;以及存储单元,耦接至处理单元,且储存有供处理单元执行的多个模块。上述模块包括:管理模块,自多个应用程序接收多笔传输数据与多个识别码,并依据接收顺序将上述传输数据储存至伫列,且依据传送顺序来传送传输数据;及I2C驱动模块,通过管理模块与应用程序沟通,并且经由I2C汇流排取存上述元件。上述管理模块依据传送顺序,取出其中一传输数据并传送至I2C驱动模块。而I2C驱动模块经由I2C汇流排将上述所取出的传输数据传送至上述元件,并且,I2C驱动模块将经由I2C汇流排而自上述元件所接收的回应数据,传送至管理模块,使得管理模块依据上述所取出的传输数据对应的识别码,将回应数据传送至对应的应用程序。
基于上述,利用管理模块来管理I2C汇流排的存取,可在多个I2C元件共用同一个I2C汇流排的情况下,避免同时存取I2C汇流排。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1是依照本发明一实施例的存取数据的系统方块图;
图2是依照本发明一实施例的存取数据的系统架构图;
图3是依照本发明一实施例的存取数据的方法流程图;
图4是依照本发明一实施例的传输数据格式的示意图;
图5是依照本发明一实施例的单一应用程序存取数据的方法流程的示意图;
图6是依照本发明一实施例的两个应用程序存取数据的方法流程的示意图。
附图标记
110:处理单元
120:存储单元
130:I2C汇流排
140、140_1、140_2:元件
210_1、210_2:元件
230:管理模块
240:I2C驱动模块
410~440:栏位
S305~S325:存取数据的方法各步骤
S501~S531:单一应用程序存取数据的方法各步骤
S601~S639:两个应用程序存取数据的方法各步骤
具体实施方式
计算机系统通常提供内部整合电路(Inter-Integrated Circuit,I2C)汇流排与周边元件连接,通过软件或固件的驱动,来达成控制周边元件。由于多个I2C元件共用同一个I2C汇流排,因此容易造成同时存取的错误状况发生。为此,本发明提出一种存取数据的方法及系统,可以非同步方式来存取I2C汇流排,藉此可避免同时存取I2C汇流排的情况发生。
图1是依照本发明一实施例的存取数据的系统方块图。请参照图1,该系统例如为手机、笔记本电脑、桌上型计算机等电子装置,其包括处理单元110、存储单元120、I2C汇流排130以及元件140。处理单元110耦接至存储单元120及I2C汇流排130。处理单元110经由I2C汇流排130来存取元件140。
处理单元110例如为中央处理单元(Central Processing Unit,CPU)或是其他可程序化的微处理器(Microprocessor)等。存储单元120例如为随机存取存储器(RandomAccess Memory,RAM)、只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash memory)或磁盘存储装置(Magnetic disk storage device)等。元件140例如为具有I2C接口的温度感测器、速度感测器、数字陀螺仪等。
在本实施例中,存储单元120中储存有多个程序码片段。上述程序码片段在被安装后,会由处理单元110来执行。这些程序码片段包括多个指令,处理单元110通过这些指令来存取数据方法的多个步骤。在本实施例中,存取数据的系统仅包括一个处理单元110,而在其他实施例中,存取数据的系统亦可包括多个处理单元110,而由这些处理单元来执行被安装的程序码片段。
图2是依照本发明一实施例的存取数据的系统架构图。请同时参照图1及图2,管理模块230与I2C驱动模块240例如为存在于存储单元120中,以供处理单元110执行。而为了方便说明,本实施例列举了两个应用程序210_1、210_2,以及两个具有I2C接口的元件140_1、140_2。而在其他实施例中并不限制应用程序与元件的数量。
在此,于作业系统中设置一管理模块230,藉以专门负责控管I2C汇流排130的软件或固件,所有I2C汇流排130的存取都通过此管理模块230,可避免多个应用程序同时存取I2C汇流排130。另外,管理模块230还配置了一块存储器空间足以存放待处理的I2C指令和数据。此存储器空间例如为先进先出(First In First Out,FIFO)的伫列(Queue)。上述伫列可以提供应用程序210_1、210_2要求存取I2C汇流排130的指令和数据的暂存。管理模块230按照伫列的传送顺序来处理所接收到的传输数据,并将处理后所得到的回应数据传回给要求存取元件的应用程序。而上述管理模块230可以是一般应用软件,也可以是驱动程序。
I2C驱动模块240也就是I2C汇流排130的驱动程序(driver),其通过管理模块230与应用程序210_1、210_2沟通,并且经由I2C汇流排130取存元件140_1、140_2。
底下即搭配上述系统来说明存取数据的详细流程。图3是依照本发明一实施例的存取数据的方法流程图。在本实施例中,以应用程序210_1、210_2为例,并假设应用程序210_1、210_2欲同时通过I2C汇流排130来存取元件140_1、140_2。即,应用程序210_1欲通过I2C汇流排130来存取元件140_1,且应用程序210_2欲通过I2C汇流排130来存取元件140_2。
请同时参照图2及图3,在步骤S305中,管理模块230分别自多个应用程序接收多笔传输数据与多个识别码,并依据接收顺序将上述传输数据储存至伫列。在此,应用程序例如将传输数据与识别码封装为符合传输数据格式的封包,而将封包传送至管理模块230。举例来说,图4是依照本发明一实施例的传输数据格式的示意图。请参照图4,传输数据格式包括四个栏位410~440。栏位410记录识别码,栏位420记录欲存取元件的I2C地址,栏位430记录数据长度,栏位440则是记录数据本文(包括数据或/及指令)。上述识别码用以识别应用程序的身分。
应用程序210_1、210_2首先以如图4所示的传输数据格式,将其对应的识别码与传输数据封装为封包后,传送至管理模块230。而管理模块230在接收到封包后,则依据接收顺序将上述封包储存至伫列中,以待管理模块230逐一进行处理。
接着,管理模块230会检查伫列中是否存在有传输数据,以在检查到存在传输数据时,依据传送顺序,取出其中一传输数据。即,在步骤S310中,管理模块230依据伫列的传送顺序,自伫列中取出具有第一传送顺序的传输数据。上述伫列例如为FIFO伫列,则先进入伫列的传输数据将优先被处理,之后进来的传输数据则必须稍候。为方便说明,底下以应用程序210_1的传输数据作为第一笔写入至伫列中的数据为例来进行说明。即,管理模块230自伫列中取出具有第一传送顺序的由应用程序210_1所传送的封包,并将此封包拆解而获得传输数据的数据本文、欲传送的I2C地址及数据长度。
之后,在步骤S315中,管理模块230将上述所取出的传输数据通过I2C驱动模块240,经由I2C汇流排130而传送至对应的元件140_1。例如,管理模块230将传输数据的数据本文、欲传送的I2C地址及数据长度重新封装后,依据所记录的I2C地址,将重新封装的封包传送至对应的元件140_1。
而后,在步骤S320中,管理模块230通过I2C驱动模块240而自元件140_1接收对应的回应数据。并且,在步骤S325中,管理模块230依据对应的识别码,将回应数据传送至对应的应用程序210_1。例如,管理模块230会将回应数据与识别码重新封装为符合如图4所示的传输数据格式的封包后再传送回应用程序210_1。
底下再分别列举实施例来说明单一应用程序通过管理模块230来存取元件的时序,以及多个应用程序通过管理模块230来存取元件的时序。
图5是依照本发明一实施例的单一应用程序存取数据的方法流程的示意图。在图5中,以应用程序210_1通过管理模块230来存取元件140_1、140_2为例进行说明。
首先,在步骤S501中,应用程序210_1传送注册请求至管理模块230。而管理模块230在接收到注册请求时,其会依据注册请求产生(或查询)对应的一识别码ID1。接着,管理模块230将识别码ID1传送至应用程序210_1,如步骤S503所示。
在步骤S505中,应用程序210传送传输数据A1至管理模块230。例如,应用程序210_1将识别码ID1、元件140_1的I2C地址、传输数据A1的数据长度及其数据本文封装为一封包而传送至管理模块230。管理模块230接收到上述封包后,便将封包储存至伫列中。
之后,在步骤S507中,管理模块230自伫列中取出第一个封包,并将其拆解而获得传输数据A1后,再转换为符合I2C格式的封包,进而依照I2C地址将传输数据A1传送至I2C驱动模块240。并且,在步骤S509中,经由I2C汇流排130传送传输数据A1至元件140_1。
然后,在步骤S511中,元件140_1经由I2C汇流排130传送回应数据B1至I2C驱动模块240。并且,在步骤S513中,I2C驱动模块240将回应数据B1传送至管理模块230。而在步骤S515中,管理模块230将元件140_1的回应数据B1封装为符合传输数据格式(如图4)的封包后,再传回给应用程序210_1。
接着,应用程序210_1传送另一传输数据A2至元件140_2,如步骤S517所示。应用程序210_1将传输数据A2与识别码ID1封装为符合传输数据格式的封包(包括应用程序210_1的识别码ID1、元件140_2的I2C地址、数据长度及数据本文)后,传送给管理模块230。管理模块230在接收到传过来的封包,便将封包放入伫列中。
之后,在步骤S519(如同上述步骤S507)中,管理模块230自伫列中取出上述封包,并将其拆解而获得传输数据A2后,以I2C格式传送至I2C驱动模块240。并且,在步骤S521中,I2C驱动模块240通过I2C汇流排130传送传输数据A2给元件140_2。
然后,在步骤S523中,元件140_2经由I2C汇流排130传送回应数据B2给I2C驱动模块240。而在步骤S525中,I2C驱动模块240将元件140_2的回应数据B2传回给管理模块230。并且,在步骤S527中,管理模块230将回应数据B1以传输数据格式传回给应用程序210_1。
当应用程序210_1不再与元件140_1、140_2传送数据,或者应用程序210_1结束时,则可通过管理模块230取消注册步骤,使得管理模块230可以释放资源供其他应用程序使用。如步骤S529所示,应用程序210_1向管理模块230传送取消注册(unregister)请求,藉以取消注册。并且,在步骤S531中,管理模块230通知应用程序210_1已取消成功。例如,管理模块230传送一特定值“-1”给应用程序210_1,表示识别码ID1已经成功取消了。
在上述步骤S501~步骤S531中,应用程序210_1与具有I2C接口的元件140_1及元件140_1之间的数据传送是先通过向管理模块230的注册步骤(步骤S501),而由管理模块230传回应用程序210_1对应的识别码。应用程序210_1向管理模块230注册,便可取得对应的识别码,接下来就可以与元件140_1、140_2来沟通了。上述识别码是用于应用程序210_1通过管理模块230存取元件140_1、140_2时会使用于传输数据格式中(如图4的栏位410)。
接着,举例说明多个应用程序通过管理模块230来存取元件的时序的详细流程。图6是依照本发明一实施例的两个应用程序存取数据的方法流程的示意图。在图6中,以应用程序210_1通过管理模块230来存取元件140_1,同时应用程序210_2亦通过管理模块230来存取元件140_2为例进行说明。
在步骤S601中,应用程序210_1向管理模块230传送注册请求以进行注册。接着,在步骤S603中,管理模块230传回识别码ID1给应用程序210_1。
另外,在步骤S605中,应用程序210_2亦同时向管理模块230传送注册请求以进行注册。并且在步骤S607中,管理模块230传回识别码ID2给应用程序210_2。
接着,步骤S609,应用程序210_1将传输数据A3以传输数据格式传送至管理模块230。例如,应用程序210_1将识别码ID1、元件140_1的I2C地址、传输数据A3的数据长度及其数据本文封装为一封包后传送至管理模块230。
然后,在步骤S611中,应用程序210_2传输数据A4以传输数据格式传送至管理模块230。例如,应用程序210_2将识别码ID2、元件140_2的I2C地址、传输数据A4的数据长度及其数据本文封装为一封包后传送至管理模块230。
在此,应用程序210_1及应用程序210_2同时传送了传输数据A3与传输数据A4。由于此时应用程序210_1尚未收到管理模块230所传回的回应数据,且应用程序210_2又传送出传输数据A4,因此若未通过管理模块230来进行管理,则会造成两笔传输数据A3、A4同时存取I2C汇流排130而造数据不正确或其他无法预知的结果。而在本实施例中,在应用程序210_1及应用程序210_2与I2C汇流排130之间,进一步通过管理模块230来进行管理,便可将欲传送的传输数据A3与传输数据A4先放入一伫列(例如为FIFO伫列)中,接下来管理模块230便可根据伫列的传送顺序来逐一进行处理。
之后,管理模块230自伫列中取出第一笔数据,即具有第一优先传送顺序的数据。在此,假设第一笔数据为传输数据A3。例如,管理模块230自伫列中取出第一个封包,并将其拆解而获得传输数据A3后,再转换为符合I2C格式的封包(包括元件140_1的I2C地址、传输数据A3数据长度及其数据本文),进而依照I2C地址将传输数据A3传送至I2C驱动模块240,如步骤S613所示。并且,在步骤S615中,I2C驱动模块240通过I2C汇流排130传送传输数据A3给元件140_1。
接着,在步骤S617中,元件140_1经由I2C汇流排130传送回应数据B3至I2C驱动模块240。而在步骤S619中,I2C驱动模块240将回应数据B3传回给管理模块230。并且,在步骤S621中,管理模块230将元件140_1的回应数据B3以传输数据格式(如图4)传回给应用程序210_1。于此时,应用程序210_1才接收到回应的数据(即,回应数据B3)。接着,管理模块230会再自伫列中取出下一笔数据(即传输数据A4)以进行处理。
管理模块230自伫列中取出下一个封包(由于上一个封包已经处理完毕,故,亦为此时的第一个封包),并将其拆解而获得传输数据A4。在步骤S623中,管理模块230以I2C格式将传输数据A4,传送给I2C驱动模块240。而在步骤S625中,I2C驱动模块240通过I2C汇流排130传送传输数据A4给元件140_2。
而后,在步骤S627中,元件140_2传回回应数据B4给I2C驱动模块240。并在步骤S629中,I2C驱动模块240将元件140_2的回应数据B4传回给管理模块230。之后,在步骤S631中,管理模块230以传输数据格式将回应数据B4传回给应用程序210_2。在此,应用程序210_2也已经收到元件140_2所回应的回应数据B4。
而在应用程序210_1、210_2不想与元件140_1、140_2进行沟通时或者应用程序210_1、210_2结束时,则亦可通过管理模块230取消注册步骤,使得管理模块230可以释放资源供其他应用程序使用。
如步骤S633所示,应用程序210_1向管理模块230传送取消注册请求。而在步骤S635中,管理模块230通知应用程序210_1已取消成功。例如,管理模块230传回一值“-1”给应用程序210_1表示识别码ID1已经成功取消了。
同样地,在步骤S637中,应用程序210_2向管理模块230传送取消注册请求。而在步骤S639中,管理模块230通知应用程序210_2已取消成功。例如,管理模块230传回送一值“-1”给应用程序210_2表示识别码ID2已经成功取消了。
在上述实施例中,应用程序210_2并不会在传送传输数据A4之后就立即收到元件140_2传回的回应数据B4,其会等到管理模块230已经处理到应用程序210_2所传来的传输数据A4,应用程序210_2才能取得元件140_2回传的回应数据B4。据此,通过管理模块230的控管,可让I2C汇流排130一次只处理一笔数据的传输跟接收,也就是一次只处理一个I2C指令,而且不会造成数据传输与接收互相随机穿插所造成的数据错误或其他不可以预期的结果。
综上所述,在上述实施例中,在应用程序与I2C汇流排之间设置一管理模块,使得I2C汇流排的存取皆通过此管理模块,据此可避免多个应用程序同时存取I2C汇流排,进而避免数据存取错误的状况发生,而让系统更稳定、更易除错,缩短开发所需花费的时间。并且,可以让每个I2C元件的程序开发更单纯,在系统整合及设计上也会更有效率。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视权利要求书所界定的为准。
Claims (10)
1.一种存取数据的方法,用于一电子装置,其特征在于,所述方法包括:
由一管理模块分别自多个应用程序接收多笔传输数据与多个识别码,并依据一接收顺序将所述多个传输数据储存至一伫列;
所述管理模块依据所述伫列的一传送顺序,自所述多个传输数据中取出其中之一;
所述管理模块将所取出的传输数据通过一内部整合电路驱动模块传送至对应的一元件;
所述管理模块通过所述内部整合电路驱动模块而自所述元件接收对应的一回应数据;以及
所述管理模块依据所取出的传输数据对应的所述多个识别码之一,将所述回应数据传送至对应的所述多个应用程序之一;
所述管理模块在将所述回应数据传送至对应的所述多个应用程序之一之后,依据所述伫列的传送顺序从所述伫列中取出另一传输数据,并将所述另一传输数据通过所述内部整合电路驱动模块传送至对应的所述元件或另一元件;
所述管理模块通过所述内部整合电路驱动模块而自所述元件或所述另一元件接收对应的另一回应数据,并依据所述另一传输数据对应的识别码将所述另一回应数据传送至对应的应用程序。
2.根据权利要求1所述的方法,其特征在于,在由所述管理模块分别自所述多个应用程序接收所述多个传输数据的步骤之前,所述方法更包括:
由所述管理模块自各所述多个应用程序接收一注册请求,藉以依据所述注册请求产生所述多个识别码之一;以及
所述管理模块传送对应所述注册请求的所述多个识别码之一至各所述多个应用程序。
3.根据权利要求2所述的方法,其特征在于,所述方法更包括:
所述管理模块自各所述多个应用程序接收一取消注册请求;以及
取消所述取消注册请求对应的所述多个识别码之一。
4.根据权利要求1所述的方法,其特征在于,各所述多个应用程序的一传输数据格式包括所述多个识别码之一、一内部整合电路地址、一数据长度以及所述多个传输数据之一。
5.根据权利要求1所述的方法,其特征在于,所述方法更包括:
由所述管理模块检查所述伫列中是否存在有所述多个传输数据其中之一,以在检查到存在所述多个传输数据其中之一时,依据所述传送顺序,自所述多个传输数据中取出其中之一。
6.一种存取数据的系统,其特征在于,所述系统包括:
一元件;
一内部整合电路汇流排,耦接至所述元件;
一处理单元,耦接至所述内部整合电路汇流排,并经由所述内部整合电路汇流排存取所述元件;以及
一存储单元,耦接至所述处理单元,且储存有供所述处理单元执行的多个模块,其中所述多个模块包括;
一管理模块,自多个应用程序接收多笔传输数据与多个识别码,并依据一接收顺序将所述多个传输数据储存至一伫列,且依据一传送顺序来传送所述多个传输数据;以及
一内部整合电路驱动模块,通过所述管理模块与所述多个应用程序沟通,并且经由所述内部整合电路汇流排取存所述元件;
其中,所述管理模块依据所述传送顺序,自所述多个传输数据中取出其中之一并传送至所述内部整合电路驱动模块;
其中,所述内部整合电路驱动模块经由所述内部整合电路汇流排将所取出的传输数据传送至所述元件,并且,所述内部整合电路驱动模块将经由所述内部整合电路汇流排而自所述元件所接收的一回应数据,传送至所述管理模块,使得所述管理模块依据所取出的传输数据对应的所述多个识别码之一,将所述回应数据传送至对应的所述多个应用程序之一;
所述管理模块在将所述回应数据传送至对应的所述多个应用程序之一之后,依据所述伫列的传送顺序从所述伫列中取出另一传输数据,并将所述另一传输数据通过所述内部整合电路驱动模块传送至对应的所述元件或另一元件;
所述管理模块通过所述内部整合电路驱动模块而自所述元件或所述另一元件接收对应的另一回应数据,并依据所述另一传输数据对应的识别码将所述另一回应数据传送至对应的应用程序。
7.根据权利要求6所述的系统,其特征在于,所述管理模块自各所述多个应用程序接收一注册请求,藉以依据所述注册请求产生所述多个识别码之一,并传送对应所述注册请求的所述多个识别码之一至各所述多个应用程序。
8.根据权利要求7所述的系统,其特征在于,当所述管理模块自各所述多个应用程序接收一取消注册请求时,取消所述取消注册请求对应的所述多个识别码之一。
9.根据权利要求6所述的系统,其特征在于,各所述多个应用程序的一传输数据格式包括所述多个识别码之一、一内部整合电路地址、一数据长度以及所述多个传输数据之一;而所述伫列为先进先出伫列。
10.根据权利要求6所述的系统,其特征在于,所述管理模块检查所述伫列中是否存在有所述多个传输数据其中之一,以在检查到存在所述多个传输数据其中之一时,依据所述传送顺序,自所述多个传输数据中取出其中之一。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102132604 | 2013-09-10 | ||
TW102132604A TWI486783B (zh) | 2013-09-10 | 2013-09-10 | 存取資料的方法及系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104424147A CN104424147A (zh) | 2015-03-18 |
CN104424147B true CN104424147B (zh) | 2017-09-22 |
Family
ID=52626679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310443546.XA Active CN104424147B (zh) | 2013-09-10 | 2013-09-25 | 存取数据的方法及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9418038B2 (zh) |
CN (1) | CN104424147B (zh) |
TW (1) | TWI486783B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI823680B (zh) * | 2022-11-18 | 2023-11-21 | 新唐科技股份有限公司 | 資料傳輸裝置和方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768530A (en) * | 1995-12-28 | 1998-06-16 | Emc Corporation | High speed integrated circuit interface for fibre channel communications |
CN102375749A (zh) * | 2010-08-24 | 2012-03-14 | 上海华虹集成电路有限责任公司 | 一种采用i2c总线快速下载和更新固件的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI255406B (en) * | 2003-06-06 | 2006-05-21 | Mitac Int Corp | Method for data transmission in the master device and the slave device |
EP2166457B1 (en) * | 2008-09-12 | 2014-04-23 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Interrupt controller and methods of operation |
JP2012203750A (ja) * | 2011-03-26 | 2012-10-22 | Fujitsu Ltd | サーバ管理装置、サーバ管理方法、及び、サーバ管理プログラム |
JP6031757B2 (ja) * | 2011-12-26 | 2016-11-24 | 日本電気株式会社 | トランスポンダ、その制御方法及び制御用プログラム |
CN103294624A (zh) * | 2012-02-27 | 2013-09-11 | 鸿富锦精密工业(深圳)有限公司 | 具有总线共用功能的电子装置及方法 |
-
2013
- 2013-09-10 TW TW102132604A patent/TWI486783B/zh active
- 2013-09-25 CN CN201310443546.XA patent/CN104424147B/zh active Active
-
2014
- 2014-01-10 US US14/151,818 patent/US9418038B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768530A (en) * | 1995-12-28 | 1998-06-16 | Emc Corporation | High speed integrated circuit interface for fibre channel communications |
CN102375749A (zh) * | 2010-08-24 | 2012-03-14 | 上海华虹集成电路有限责任公司 | 一种采用i2c总线快速下载和更新固件的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI823680B (zh) * | 2022-11-18 | 2023-11-21 | 新唐科技股份有限公司 | 資料傳輸裝置和方法 |
Also Published As
Publication number | Publication date |
---|---|
US9418038B2 (en) | 2016-08-16 |
CN104424147A (zh) | 2015-03-18 |
TW201510734A (zh) | 2015-03-16 |
US20150074307A1 (en) | 2015-03-12 |
TWI486783B (zh) | 2015-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI239187B (en) | System and method for managing and validating remote keys which correspond to outstanding data transactions | |
CN102819504B (zh) | 光纤信道输入/输出数据路由系统和方法 | |
CN102811112B (zh) | 光纤信道输入/输出数据路由系统和方法 | |
US11086812B2 (en) | Platform environment control interface tunneling via enhanced serial peripheral interface | |
US20150026368A1 (en) | Direct memory access to storage devices | |
JP4837659B2 (ja) | 分割トランザクションを処理するためのバス・コントローラ | |
KR101703403B1 (ko) | 감소된 지연을 갖는 원격 직접 메모리 액세스 | |
CN106681816A (zh) | PCIe中断方法和系统 | |
US20050138230A1 (en) | Method, apparatus and program product for low latency I/O adapter queuing in a computer system | |
KR102683728B1 (ko) | 데이터 스토리지 시스템의 낮은 쓰기 레이턴시를 얻는 방법 | |
TW200537298A (en) | A two channel bus structure to support address information, data, and transfer qualifiers | |
CN101957808A (zh) | 多cpu间的通信方法、系统及cpu | |
KR102387922B1 (ko) | 솔리드 스테이트 드라이브의 비동기 이벤트 요청 명령 처리 방법 및 시스템 | |
US20070011386A1 (en) | Usb host controller with memory for transfer descriptors | |
US20060184708A1 (en) | Host controller device and method | |
CN102819505B (zh) | 光纤信道输入/输出数据路由系统和方法 | |
CN107291641B (zh) | 用于计算单元的存储器直接访问控制装置及其运行方法 | |
CN104123173A (zh) | 一种实现虚拟机间通信的方法及装置 | |
CN104424147B (zh) | 存取数据的方法及系统 | |
CN107851076A (zh) | 存储器访问控制 | |
US8041902B2 (en) | Direct memory move of multiple buffers between logical partitions | |
JP2008502977A (ja) | バス・コントローラのための割り込み方式 | |
CN116486868A (zh) | 计算高速链路(CXL)上的高速非易失性存储器(NVMe) | |
US20080126472A1 (en) | Computer communication | |
CN112580086B (zh) | 配置文件的访问保护方法、装置、设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |