CN113051200A - 一种基于双路的数据采集并行数据传输及存储的装置及方法 - Google Patents
一种基于双路的数据采集并行数据传输及存储的装置及方法 Download PDFInfo
- Publication number
- CN113051200A CN113051200A CN202110339492.7A CN202110339492A CN113051200A CN 113051200 A CN113051200 A CN 113051200A CN 202110339492 A CN202110339492 A CN 202110339492A CN 113051200 A CN113051200 A CN 113051200A
- Authority
- CN
- China
- Prior art keywords
- timer
- data
- dma
- acquisition module
- microcontroller
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 93
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000001360 synchronised effect Effects 0.000 claims abstract description 10
- 238000013500 data storage Methods 0.000 claims description 33
- 230000001960 triggered effect Effects 0.000 claims description 28
- 238000012546 transfer Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 238000011161 development Methods 0.000 abstract description 3
- 101150043088 DMA1 gene Proteins 0.000 description 29
- 101150090596 DMA2 gene Proteins 0.000 description 27
- 230000006870 function Effects 0.000 description 2
- 208000032369 Primary transmission Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/28—DMA
- G06F2213/2806—Space or buffer allocation for DMA transfers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种基于双路的数据采集并行数据传输及存储的装置及方法,属于嵌入式开发领域。根据本发明的装置,微控制器设置三个定时器,即第一定时器、第二定时器和第三定时器;DMA控制器设置有第一DMA和第二DMA,并且缓存区设置有多个缓存空间。进一步,根据本发明的方法,微控制器一旦开启第三定时器,定时器之间的相互控制能够接替触发第一DMA和第二DMA分别进行数据传输,从而DMA控制器对数据的传输能够自动运行,实现数据传输的流水线操作。并且,第一DMA和第二DMA能够将两个数据采集模块接收到的数据同步进行传输并放入缓存区,从而保持数据采集、传输和存储的同步并行,极大配置了微控制器的资源,实现高效的数据采集、传输及存储。
Description
技术领域
本发明涉及一种基于双路的数据采集并行数据传输及存储的装置及方法,属于计算机的嵌入式开发技术领域。
背景技术
由于计算机领域嵌入式技术的发展,使得数据采集实现智能化;并且物联网的广泛应用也使得目前对实时数据采集的需求越来越多,而单一的外部采集模块所容纳的采集通道有限,无法满足大量数据采集的需求。现有的数据采集方法大都需要更多的采集模块,而大量的数据被采集并传输进入微控制器的缓存区通常需要再次取出并存放至外部数据存储模块。在需要控制产品成本的情况下,微控制器内的缓存相对有限,需要将采集的数据进行传输并实时存储至外部存储模块。然而,由于数据采集模块的多路采集模式使得微控制器很难在实时数据采集的同时实现数据的外部存储。
并且,在数据采集和处理速度已经极大提高的前提下,单一数据传输通道及存储模块不仅降低了数据传输的效率,而且导致微控制器的存储压力过大。此时,能够采用DMA控制器来完成实际的数据传输并将数据放入缓存区。发明专利CN107430566B、CN102844743A及CN102844743B等都公开了一种具有多个DMA引擎的DMA控制器。通过采用多个DMA引擎,能够对多个采集模块实时采集得到的数据分别进行多路传输并存储。然而,上述发明中公开的DMA控制器,只是单纯的利用多通道DMA的方法来传输数据,并没有采用微控制器中的其他资源来协调,不能提高数据传输的效率。
为了达到最快的采集、传输及存储速度,在采集模块进行数据实时采集的同时进行数据传输并将采集的数据放到入外部存储器,微控制器需要进行资源调配,以协调数据采集模块、传输模块及存储模块,实现同步运行,从而提高数据采集、传输及存储的效率。
发明内容
为了解决目前多路实时采集数据的传输及存储效率不高的问题,本发明的技术方案通过对微控制器的内置资源进行重新配置,提供了一种能够实现双路的数据采集并行数据传输及存储的装置及方法,达到了最大化数据采集、传输及存储速率的效果。
根据本发明的基于双路的数据采集并行数据传输及存储的方法及装置,其具体技术方案如下:
一种基于双路的数据采集并行数据传输及存储的装置,具体包括:双路数据采集模块,微控制器,SPI总线、FSMC总线及外部存储模块;其中,数据采集模块包括第一采集模块和第二采集模块;并且,微控制器设置有定时器、DMA控制器以及缓存区。
根据本发明所述的装置,微控制器的定时器包括第一定时器、第二定时器和第三定时器;DMA控制器包括第一DMA和第二DMA;缓存区包括第一缓存区和第二缓存区;其中,第一DMA及第二DMA分别通过SPI总线与第一采集模块及第二采集模块连接,并分别连接至第一缓存区及第二缓存区;第一定时器与第二定时器相连接,第二定时器与第三定时器相连接,第一定时器与第一DMA相连接,第二定时器与第二DMA相连接;并且,第一缓存区及第二缓存区通过FSMC总线与外部数据存储模块相连接。
根据本发明所述的装置,可选地,微控制器的缓存区还包括第一备用缓存区和第二备用缓存区;并且第一备用缓存区和第二备用缓存区能够通过FSMC总线与外部数据存储模块相连接。
根据本发明所述的装置,本发明提供了一种基于双路的数据采集并行数据传输及存储的方法,具体而言,该方法能够包括如下步骤:
步骤1),微控制器将第三定时器的定时频率设定为SPI总线、FSMC总线、第一采集模块及第二采集模块的最大采集频率,并且,将第二定时器的定时频率设定为第二采集模块串行传输数据的频率,将第一定时器的定时频率设定为第一采集模块串行传输数据的频率;
步骤2),将第三定时器设置为主模式,将第二定时器设置为内置事件触发从模式,由第三定时器触发第二定时器,第二定时器的事件更新触发第二DMA进行一次数据传输,以接收第二采集模块的数据;
步骤3),当第二DMA完成一次数据接收之后,将第二定时器设置为主模式,同时将第一定时器设置为内置事件触发从模式,由第二定时器触发第一定时器;并且第一定时器的事件更新触发第一DMA进行一次数据传输,以接收第一采集模块的数据;
步骤4),当第一DMA完成一次数据接收之后,再次将第三定时器设置为主模式,将第二定时器设置为内置事件触发从模式,由第三定时器再次触发第二定时器。
根据本发明所述的方法,可选地,第一DMA将接收到的数据传输至第一缓存区,第二DMA将接收到的数据传输至第二缓存区。
根据本发明所述的方法,可选地,当微控制器中的第一缓存区和第二缓存区的数据存储量达到上限时,微控制器控制FSMC总线将第一缓存区和第二缓存区的数据传输至外部数据存储模块;并且,微控制器同时将第一采集模块和第二采集模块的数据传输目的地设置为第一缓存备用区和第二缓存备用区。
根据本发明所述的方法,可选地,第一缓存备用区及所述第二缓存备用区通过FSMC总线与外部数据存储模块相连接,并且,当微控制器中的第一缓存备用区和第二缓存备用区的数据存储量达到上限时,微控制器控制FSMC总线将第一缓存备用区和第二缓存备用区的数据传输至所述外部数据存储模块;并且微控制器同时将第一采集模块和第二采集模块的数据传输目的地再次设置为第一缓存区和第二缓存区。
根据本发明所述的方法,可选地,第一DMA和第二DMA接替被触发,微控制器一旦开启第三定时器,第三定时器、第二定时器及第一定时器之间的相互控制使得第一DMA和第二DMA的数据传输能够自动运行,实现数据传输的流水线操作。
根据本发明所述的方法,可选地,微控制器采用定时器控制第一DMA和第二DMA进行数据交替接收的同时,第一DMA和第二DMA同步将接收到的数据分别传输至第一缓存区和第二缓存区,使得微处理器在数据存储的过程中同时开始新的数据采集,保持数据采集、传输及存储同步并行。
根据本发明所述的装置,如图1所示,用于对双路的数据采集并行数据传输及存储的中央微控制器设置有定时器、DMA以及缓存区,双路的数据采集模块包括采集模块1和采集模块2,分别具有独立的采集功能。微控制器中的定时器包括定时器1、定时器2和定时器3,DMA控制器包括DMA1和DMA2,并且缓存区设置有四个分配空间,分别为缓存区1A、缓存区1B、缓存备用区2A和缓存备用区2B。其中,DMA1及DMA2分别通过SPI总线与采集模块1及采集模块2连接,并分别连接至缓存区1A及缓存区2A;定时器1与定时器2相连接,定时器2与定时器3相连接,定时器1与DMA1相连接,定时器2与DMA2相连接;并且,缓存区1A及缓存区2A通过FSMC总线与外部数据存储模块相连接。
进一步,根据本发明所述的方法,首先,将微控制器中定时器3的定时频率设定为采集模块1、采集模块2及SPI总线,FSMC总线的最大采集频率,用来模拟采集控制的频率;并且,将定时器2的定时频率设定为采集模块2串行传输数据的频率,将定时器1的定时频率设定为采集模块1串行传输数据的频率。进一步,将定时器3设置为主模式,将定时器2设置为内置事件触发从模式,由定时器3触发定时器2,定时器2的事件更新能够触发DMA2进行一次数据传输,接收采集模块2的数据;并且,当DMA2完成一次数据接收之后,将定时器2设置主模式,将定时器1设置为内置事件触发从模式,由定时器2触发定时器1;定时器1的事件更新能够触发DMA1进行一次数据传输,接收采集模块1的数据;最后,DMA1进行一次数据接收之后,再次将定时器3设置为主模式,将定时器2设置为内置事件触发从模式,由定时器3再次触发定时器2。
根据本发明所述的方法,可选地,DMA1将接收到的数据传输至缓存区1A,DMA2将接收到的数据传输至缓存区2A。根据本发明所述的方法,进一步可选地,当微控制器中的缓存区1A和缓存区2A的数据存储量达到上限时,微控制器控制FSMC总线将缓存区1A和缓存区2A的数据传输至外部数据存储模块;并且,同时微控制器控制SPI总线将采集模块1和采集模块2的数据传输目的地设置为缓存备用区1B和缓存备用区2B。
根据本发明所述的方法,可选地,定时器2由定时器3触发,定时器1由定时器2触发,并且在定时器2定时结束后启动定时器1,定时器1结束后由定时器3再次触发定时器2,从而DMA1和DMA2接替被触发,定时器2的定时频率与采集模块2串行传输数据的频率相同,定时器1的定时频率与采集模块1串行传输数据的频率相同,能够保证数据在采集模块2的数据被DMA2接收之后进行采集模块1的数据传输,并且在采集模块1的数据被DMA1接收之后再次进行采集模块2的数据传输。进一步,微控制器一旦开启定时器3,定时器3、定时器2以及定时器1之间的相互控制使得DMA1和DMA2的数据传输能够自动运行,实现数据传输的流水线操作。
根据本发明所述的方法,可选地,微控制器采用定时器控制DMA1和DMA2进行数据交替接收的同时,第一DMA和第二DMA同步将接收到的数据分别传输至缓存区1A和第二缓存区2A,使得微处理器在数据存储的过程中同时开始新的数据采集,保持数据采集、传输和存储的同步并行。
根据本发明所述的方法,可选地,在缓存区1A和缓存区2A的数据存储量达到上限之后,微控制器将缓存区1A和缓存区2A的数据传输至外部存储模块,同时启用缓存备用区1B和缓存区备用区2B,从而能够在数据采集的过程中同时对微处理器缓存区中的数据进行外部存储,并进一步节省数据传输的时间。
本发明的有益效果是:
根据本发明的技术方案,微控制器能够采用多个定时器进行内部资源的控制调配,并且在配置前针对每个采集模块计算好进行一次数据采集所需时间、采集得到的数据进行一次传输所需时间以及数据传输到存储端进行一次存储所需时间。并且,微控制器能够根据计算得到的时间设定定时器的指定频率,能够提高数据的采集、传输及存储速度。
进一步,根据本发明的技术方案,微控制器一旦开启第三定时器,定时器之间的相互控制能够接替触发第一DMA和第二DMA分别进行数据接收,从而DMA控制器对数据的传输能够自动运行,实现数据传输的流水线操作。并且,第一DMA和第二DMA能够对从两个数据采集模块接收到的数据同步进行数据传输,将接收到的数据分别传输至第一缓存区和第二缓存区;使得微处理器能够在数据存储的过程中同时开始新的数据采集,保持数据采集、传输和存储的同步并行。
更进一步地,根据本发明的技术方案,在缓存区的数据存储量达到上限之后,微控制器将缓存区的数据取出并传输至外部存储模块,同时启用缓存备用区,使得微处理器能够在数据采集的过程中同时对微控制器缓存区的数据进行外部存储,从而极大配置了微控制器的资源,节省了数据传输的时间,实现高效的数据采集、传输及存储。
本发明的基于双路的数据采集并行数据传输及存储方法,根据一个优选实施方案,采用微控制器内置定时器之间相互启动的方式来实现双路DMA的并行传输及存储,能够有效缩减数据传输的时间,无需数据等待,实现数据传输的流水线控制;并且在定时器控制双路DMA进行数据交替接收的同时,双路DMA同步将接收到的数据分别进行存储,使得微处理器在数据存储的过程中同时开始新的数据采集,从而实现双路的数据采集、传输和存储的同步并行,能够提升30%以上的数据传输效率。并且,根据本发明的上述方法,完全基于微控制器内部资源的配置,实现数据的高效传输和存储,极大节约了成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明的基于双路的数据采集并行数据传输及存储装置的示意图。
图2是根据一个优选实施例,本发明的基于双路的数据采集并行数据传输及存储方法的具体流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
根据本发明的一个优选实施方案,根据本发明的基于双路的数据采集并行数据传输及存储的装置,具体包括:双路数据采集模块,微控制器,SPI总线、FSMC总线及外部存储模块;其中双路的数据采集模块包括采集模块1和采集模块2,分别具有独立的采集功能。微控制器中的定时器包括定时器1、定时器2和定时器3,DMA控制器包括DMA1和DMA2,并且缓存区设置有四个分配空间,分别为缓存区1A、缓存区1B、缓存备用区2A和缓存备用区2B。其中,DMA1及DMA2分别通过SPI总线与采集模块1及采集模块2连接,并分别连接至缓存区1A及缓存区2A;定时器1与定时器2相连接,定时器2与定时器3相连接,定时器1与DMA1相连接,定时器2与DMA2相连接;并且,缓存区1A及缓存区2A通过FSMC总线与外部数据存储模块相连接。
根据本发明的一个优选实施方案,缓存备用区2A和缓存备用区2B能够通过FSMC总线与外部数据存储模块相连接。
根据本发明的一个优选实施方案,微控制器采用STM32F407的控制芯片(此外,还能够采用STM32F2系列芯片和STM32F5系列芯片等具有Cortex-M3和Cortex-M4内核的芯片),该控制芯片拥有8个定时器资源和双通道DMA控制器,并且,该芯片具有FSMC总线和SPI总线资源。
根据本发明的优选实施方案,采集模块1和采集模块2采用AD7606芯片(还能够采用AD7616、CL1606等支持多通道总线传输方式的高速采集芯片),该芯片拥有8通道采集,采集频率最高可达100kHz;外部存储模块采用NAND Flash芯片,采用的型号为K9F1G08U0C(还可以采用HY27UF082G2B、K9G4G08U0B等其他8位或16位数据宽度并支持总线传输的NANDFlash芯片)。根据本发明的优选实施方案,采用SPI总线与AD7606芯片进行通信,并进行采集模块1和采集模块2的数据接收,采用FSMC总线将采集得到的数据传输至外部数据存储模块NAND Flash中进行存储。
根据本发明的优选实施方案,根据上述装置,本发明的基于双路的数据采集并行数据传输及存储的方法具体分为如下步骤:
步骤1),设置定时器1、定时器2和定时器3的定时频率:将定时器3的定时频率设置为系统最大的采集频率,即SPI总线、FSMC总线和采集模块1、采集模块2的AD7606芯片中的上限频率;将定时器2的定时频率设置为采集模块2串行传输数据的频率,即DMA2控制SPI总线进行一次发送及一次接收的频率;将定时器1的定时频率设定为采集模块1串行传输数据的频率,即DMA1控制SPI总线进行一次发送及一次接收的频率。
步骤2),将定时器3设置为主模式,将定时器2设置为内置事件触发从模式,从而定时器3能够在指定时间触发定时器2启动;由定时器3触发定时器2,定时器2的事件更新能够触发DMA2进行一次数据传输,以接收采集模块2的数据;
步骤3),当DMA2完成一次数据接收之后,将定时器2设置为主模式,将定时器1设置为内置事件触发从模式,由定时器2触发定时器1;定时器1的事件更新触发DMA1进行一次数据传输,以接收采集模块1的数据;
步骤4),当DMA1完成一次数据接收之后,再次将定时器3设置为主模式,将定时器2设置为内置事件触发从模式,由定时器3再次触发定时器2。
根据本发明的优选实施方案,采集模块1、采集模块2及SPI总线,FSMC总线的上限频率为80kHz,因此,定时器3的定时频率设置为80kHz。定时器3每定时达到指定频率,就会发送触发更新事件。根据上述方法,定时器2由定时器3触发,定时器1由定时器2触发,并且在定时器2定时结束后启动定时器1,定时器1结束后由定时器3再次触发定时器2,从而DMA1和DMA2接替被触发。
根据本发明的优选实施方案,由于定时器2的定时频率与DMA2控制SPI总线进行一次发送、接收的频率相同,定时器1的定时频率与DMA1控制SPI总线进行一次发送、接收的频率相同,从而保证在采集模块2的数据被DMA2接收之后,由定时器2触发定时器1,DMA1开始接收采集模块1的数据,并且在采集模块1的数据被DMA1接收之后,由定时器3再次触发定时器2,由DMA2再次开始接收采集模块2的数据。
根据本发明的优选实施方案,微控制器芯片STM32F407的总线主频为84MHz,设置定时器3的预分频值TIM_Prescaler=1,以及计数值TIM_Period=524,从而保证定时频率为80Khz。将定时器3设置为主模式,定时器2被定时器3触发,定时器2的事件更新会直接触发DMA2进行SPI总线的发送,并从采集模块2的AD7606芯片接收一次数据,设置定时器2的预分频值TIM_Prescaler=1,重复计数周期次数为TIM_RepetitionCounter=7,计数值TIM_Period=33,保证占空比为50%,其变换状态计数值TIM_Pulse=17;并且,定时器2设置为从模式TIM_SlaveMode_Trigger,且被触发条件设置为TIM_TS_ITR2。进一步,定时器1是被定时器2触发,定时器1的事件更新会直接触发DMA1进行SPI的发送,从采集模块1的AD7606芯片接收一次数据,此时定时器2要设置为主模式TIM_MasterSlaveMode_Enable且输出事件设置为TIM_TRGOSource_OC1。定时器1的同理要被设置为TIM_SlaveMode_Trigger从模式,并触发条件为TIM_TS_ITR0,其定时值应和定时器2相同,预分频值TIM_Prescaler=1,重复计数周期次数为TIM_RepetitionCounter=7,计数值TIM_Period=33。
根据本优选实施方案,进一步,由于DMA1和DMA2接替被触发,微控制器一旦开启定时器3,定时器3、定时器2以及定时器1之间的相互控制使得DMA1和DMA2的数据传输自动运行。定时器2和定时器1分别能够发送DMA请求,让DMA控制SPI总线对数据进行传输,由于SPI总线工作在全双工模式,SPI总线的接收需要通过发送的频率来控制,定时器2和定时器1分别定时发送指定频率的更新事件来让DMA1和DMA2分别控制SPI总线进行一次发送,并完成一次数据接收。同时DMA控制器管理缓存区,由于微控制器中设置了双缓存区,DMA1和DMA2能够分别将接收的采集数据传输至缓存区1A和缓存区2A中。从而,微控制器采用定时器控制DMA1和DMA2进行数据交替接收的同时,DMA1和DMA2同步将接收到的数据分别传输至第一缓存区和第二缓存区,使得微处理器在数据存储的过程中同时开始新的数据采集,保持数据采集、传输及存储同步并行。
根据本优选实施方案,更进一步,当缓存区1A和缓存区2A中的数据存储量达到上限之后发出缓存溢出事件,然后微控制器控制FSMC总线将缓存区1A和缓存区2A中的数据取出并存入NAND Flash中,同时切换SPI总线接收数据的缓存地址,将接收地址分别替换为缓存区1B和缓存区2B。从而,微处理器能够在将数据存储至外部存储器的过程中同时开始新的数据采集,能够进一步节省数据传输的时间,提高数据传输的效率。
根据本发明的优选实施方案,最大采集频率为80KHz的数据采集模块,由于微控制器内部的资源配置,设置了每个定时器的定时频率,并且设置定时器之间的相互触发,从而微控制器一旦开启定时器3,定时器3、定时器2以及定时器1之间的相互控制使得DMA1和DMA2的数据传输自动运行;进一步,定时器控制DMA1和DMA2进行数据交替接收的同时,DMA1和DMA2同步将接收到的数据分别传输至缓存区1A和第二缓存区2A,使得微处理器在数据存储的过程中同时开始新的数据采集。采用本发明的双路数据采集、传输和存储的同步并行的方法,每秒传输比特率能够达到20.48Mb/s,根据本实施方案,实测每秒传输比特率达到20.12Mb/s,基本达到实时数据采集、传输及存储的同步状态。
根据本发明的优选实施方案,采用微控制器内置的定时器之间相互启动的方式来实现双路DMA的并行传输及存储,有效地缩减了数据传输的时间,无需数据等待,能够实现数据传输的流水线控制;并且在定时器控制双路DMA进行数据交替接收的同时,双路DMA同步将接收到的数据分别传输至缓存区,使得微处理器在数据存储的过程中同时开始新的数据采集,从而保持基于双路的数据采集、传输和存储的同步并行。更进一步,当微控制器中的缓存区达到上限之后,由于缓存备用区的配置,微处理器能够在数据采集的过程中同时将微控制器缓存区中的数据存储至外部存储模块,从而极大地配置微控制器的内部资源,更进一步节省了数据传输的时间。据本发明的上述优选实施方案,能够提升30%以上的数据传输效率。根据本发明的上述方法,完全基于微控制器内部资源的配置,实现数据的高效传输和存储,极大节约了成本。
本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于双路的数据采集并行数据传输及存储的方法,其特征在于,用于对双路数据采集模块采集的实时数据进行数据并行传输及存储的微控制器设置有定时器、DMA控制器以及缓存区;其中,所述双路数据采集模块包括第一采集模块和第二采集模块,所述定时器包括第一定时器、第二定时器和第三定时器;所述DMA控制器包括第一DMA和第二DMA;并且,所述第一DMA及所述第二DMA分别通过SPI总线与所述第一采集模块及所述第二采集模块连接,并分别连接至所述第一缓存区及所述第二缓存区;所述第一定时器与所述第二定时器相连接,所述第二定时器与所述第三定时器相连接,所述第一定时器与所述第一DMA相连接,所述第二定时器与所述第二DMA相连接;所述第一缓存区及所述第二缓存区通过FSMC总线与外部数据存储模块相连接;并且,所述方法包括:
步骤1),所述微控制器将所述第三定时器的定时频率设定为所述第一采集模块、所述第二采集模块、所述SPI总线及所述FSMC总线的最大采集频率,并且,将所述第二定时器的定时频率设定为所述第二采集模块串行传输数据的频率,将所述第一定时器的定时频率设定为所述第一采集模块串行传输数据的频率;
步骤2),将所述第三定时器设置为主模式,将所述第二定时器设置为内置事件触发从模式,由所述第三定时器触发所述第二定时器,所述第二定时器的事件更新触发所述第二DMA进行一次数据传输,以接收所述第二采集模块的数据;
步骤3),当所述第二DMA完成一次数据接收之后,将所述第二定时器设置为主模式,同时将所述第一定时器设置为内置事件触发从模式,由所述第二定时器触发所述第一定时器;并且,所述第一定时器的事件更新触发所述第一DMA进行一次数据传输,以接收所述第一采集模块的数据;
步骤4),当所述第一DMA完成一次数据接收之后,再次将所述第三定时器设置为主模式,将所述第二定时器设置为内置事件触发从模式,由所述第三定时器再次触发所述第二定时器。
2.根据权利要求1所述的方法,其特征在于,所述微控制器的所述缓存区包括第一缓存区和第二缓存区;其中,所述方法还包括:
所述第一DMA将接收到的数据传输至所述第一缓存区,所述第二DMA将接收到的数据传输至所述第二缓存区。
3.根据权利要求2所述的方法,其特征在于,所述缓存区还包括第一备用缓存区和第二备用缓存区;其中,所述方法还包括:
当所述微控制器中的所述第一缓存区和所述第二缓存区的数据存储量达到上限时,所述微控制器控制FSMC总线将所述第一缓存区和所述第二缓存区的数据传输至所述外部数据存储模块;并且
所述微控制器同时将所述第一采集模块和所述第二采集模块的数据传输目的地设置为所述第一缓存备用区和所述第二缓存备用区。
4.根据权利要求3所述的方法,其特征在于,其中
所述第一缓存备用区及所述第二缓存备用区通过FSMC总线与所述外部数据存储模块相连接,并且
当所述微控制器中的所述第一缓存备用区和所述第二缓存备用区的数据存储量达到上限时,所述微控制器控制所述FSMC总线将所述第一缓存备用区和所述第二缓存备用区的数据传输至所述外部数据存储模块;并且
所述微控制器同时将所述第一采集模块和所述第二采集模块的数据传输目的地再次设置为所述第一缓存区和所述第二缓存区。
5.根据权利要求1所述的方法,其特征在于,其中
所述第一DMA和所述第二DMA接替被触发,所述微控制器一旦开启所述第三定时器,所述第三定时器、所述第二定时器及所述第一定时器之间的相互控制使得所述第一DMA和所述第二DMA的数据传输自动运行,使数据传输实现流水线操作。
6.根据权利要求1所述的方法,其特征在于,其中
所述微控制器采用定时器控制所述第一DMA和所述第二DMA进行数据交替接收的同时,所述第一DMA和所述第二DMA同步将接收到的数据分别传输至所述第一缓存区和所述第二缓存区,使得所述微处理器在数据存储的过程中同时开始新的数据采集,保持双路数据采集、传输及存储同步并行。
7.一种基于双路的数据采集并行数据传输及存储的装置,其特征在于,所述装置包括:双路数据采集模块,微控制器,SPI总线、FSMC总线及外部存储模块;并且
其中,所述双路数据采集模块包括第一采集模块和第二采集模块;
其中,所述微控制器设置有定时器、DMA控制器以及缓存区;所述定时器包括第一定时器、第二定时器和第三定时器;所述DMA控制器包括第一DMA和第二DMA;
其中,所述第一DMA及所述第二DMA分别通过SPI总线与所述第一采集模块及所述第二采集模块连接,并分别连接至所述第一缓存区及所述第二缓存区;
其中,所述第一定时器与所述第二定时器相连接,所述第二定时器与所述第三定时器相连接,所述第一定时器与所述第一DMA相连接,所述第二定时器与所述第二DMA相连接;并且
其中,所述第一缓存区及所述第二缓存区通过FSMC总线与外部数据存储模块相连接。
8.根据权利要求7所述的装置,其特征在于,所述缓存区还包括第一备用缓存区和第二备用缓存区;并且所述第一备用缓存区和所述第二备用缓存区通过所述FSMC总线与所述外部数据存储模块相连接。
9.根据权利要求7所述的装置,其特征在于,所述装置采用根据权利要求1-6所述的方法进行数据传输及存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110339492.7A CN113051200B (zh) | 2021-03-30 | 2021-03-30 | 一种基于双路的数据采集并行数据传输及存储的装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110339492.7A CN113051200B (zh) | 2021-03-30 | 2021-03-30 | 一种基于双路的数据采集并行数据传输及存储的装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113051200A true CN113051200A (zh) | 2021-06-29 |
CN113051200B CN113051200B (zh) | 2024-01-09 |
Family
ID=76517036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110339492.7A Active CN113051200B (zh) | 2021-03-30 | 2021-03-30 | 一种基于双路的数据采集并行数据传输及存储的装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113051200B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114490464A (zh) * | 2021-12-27 | 2022-05-13 | 北京自动化控制设备研究所 | 多传感器数据同步及传输方法及脑磁探测仪 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887401A (zh) * | 2010-06-24 | 2010-11-17 | 苏州飞鱼星电子技术有限公司 | 高速数据实时采集存储设备 |
CN102844743A (zh) * | 2010-04-26 | 2012-12-26 | 大陆汽车系统公司 | 测量直接存储器存取吞吐量 |
CN103176931A (zh) * | 2011-12-26 | 2013-06-26 | 安凯(广州)微电子技术有限公司 | 一种改进的dma通信方法及装置 |
WO2015121912A1 (ja) * | 2014-02-12 | 2015-08-20 | 株式会社日立製作所 | データ記憶装置 |
CN107430566A (zh) * | 2015-03-27 | 2017-12-01 | 微软技术许可有限责任公司 | 直接存储器访问描述符处理 |
CN107564265A (zh) * | 2017-10-25 | 2018-01-09 | 成都华太测控技术有限公司 | 一种高速传输的lxi数据采集器及其工作方法 |
-
2021
- 2021-03-30 CN CN202110339492.7A patent/CN113051200B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102844743A (zh) * | 2010-04-26 | 2012-12-26 | 大陆汽车系统公司 | 测量直接存储器存取吞吐量 |
CN101887401A (zh) * | 2010-06-24 | 2010-11-17 | 苏州飞鱼星电子技术有限公司 | 高速数据实时采集存储设备 |
CN103176931A (zh) * | 2011-12-26 | 2013-06-26 | 安凯(广州)微电子技术有限公司 | 一种改进的dma通信方法及装置 |
WO2015121912A1 (ja) * | 2014-02-12 | 2015-08-20 | 株式会社日立製作所 | データ記憶装置 |
CN107430566A (zh) * | 2015-03-27 | 2017-12-01 | 微软技术许可有限责任公司 | 直接存储器访问描述符处理 |
CN107564265A (zh) * | 2017-10-25 | 2018-01-09 | 成都华太测控技术有限公司 | 一种高速传输的lxi数据采集器及其工作方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114490464A (zh) * | 2021-12-27 | 2022-05-13 | 北京自动化控制设备研究所 | 多传感器数据同步及传输方法及脑磁探测仪 |
CN114490464B (zh) * | 2021-12-27 | 2023-10-13 | 北京自动化控制设备研究所 | 多传感器数据同步及传输方法及脑磁探测仪 |
Also Published As
Publication number | Publication date |
---|---|
CN113051200B (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105573789B (zh) | 基于软核处理器的fpga多镜像升级加载方法及装置 | |
CN108132897B (zh) | 一种基于zynq平台软核的srio控制器 | |
CN108107827B (zh) | 一种基于zynq平台软核的srio控制方法 | |
CN103198043B (zh) | 一种改进的AHB to APB总线桥及其控制方法 | |
CN103064805B (zh) | Spi控制器及通信方法 | |
CN101719110B (zh) | 光通信器件中多路i2c器件的实时监控方法 | |
KR100643323B1 (ko) | 지그비 시스템에서 데이터 송수신 방법 및 그 방법을사용하는 코디네이터 및 디바이스 | |
CN100464318C (zh) | 一种实现高效dma传输的dma控制器及传输方法 | |
CN101599004B (zh) | 基于fpga的sata控制器 | |
WO2021196507A1 (zh) | 基于硬件加速的 spi 接口的自动读取控制系统及方法 | |
CN1862518A (zh) | 一种异步数据缓存装置 | |
CN106959935A (zh) | 一种兼容i2c通信与ipmb通信的方法 | |
CN108199867B (zh) | 一种有线传感器网络的组网方法 | |
CN105511387A (zh) | 一种plc io扩展模块及其扩展方法 | |
CN103874172A (zh) | 无线体域网中的数据传输方法和系统 | |
CN105677598A (zh) | 基于i2c接口快速读取多个mems传感器数据的模块和方法 | |
CN113051200B (zh) | 一种基于双路的数据采集并行数据传输及存储的装置及方法 | |
CN107844438B (zh) | 用于地震仪主控站cpu与外设数据传输的桥接器及方法 | |
CN101452427B (zh) | 一种dma数据传输系统及方法和一种中央处理器 | |
WO2022151970A1 (zh) | 一种数据传输方法、系统以及计算节点 | |
CN117093157B (zh) | 一种用于单向光传输的ddr高速读写方法及系统 | |
US20130311699A1 (en) | Operations using direct memory access | |
CN111581136B (zh) | 一种dma控制器及其实现方法 | |
CN110209358B (zh) | 一种基于FPGA的NVMe设备存储速度提升方法 | |
CN104468404A (zh) | 一种缓冲区配置方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |