CN113688075A - 基于dma的高速ad采样数据传输方法、设备、介质、产品及装置 - Google Patents

基于dma的高速ad采样数据传输方法、设备、介质、产品及装置 Download PDF

Info

Publication number
CN113688075A
CN113688075A CN202110772481.8A CN202110772481A CN113688075A CN 113688075 A CN113688075 A CN 113688075A CN 202110772481 A CN202110772481 A CN 202110772481A CN 113688075 A CN113688075 A CN 113688075A
Authority
CN
China
Prior art keywords
sampling
data
timer
dma
microprocessor
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.)
Pending
Application number
CN202110772481.8A
Other languages
English (en)
Inventor
冉禛
王栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Fenda Intelligent Technology Co ltd
Original Assignee
Shenzhen Fenda Intelligent Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Fenda Intelligent Technology Co ltd filed Critical Shenzhen Fenda Intelligent Technology Co ltd
Priority to CN202110772481.8A priority Critical patent/CN113688075A/zh
Publication of CN113688075A publication Critical patent/CN113688075A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

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的高速AD采样数据传输方法,包括以下步骤:配置定时器参数,配置直接存储器访问参数,启动设备,采样数据,循环采样。本发明涉及一种电子设备、存储介质、程序产品和基于DMA的高速AD采样数据传输装置。本发明借助微处理器中拥有信号捕获能力的定时器、DMA(直接存储器访问)和DMAMUX(直接存储器访问请求复用器)三种片内外设,配合GPIO接口,模拟ADC系列的AD采样芯片并行接口实现高速AD数据传输。可以通过DMA将AD采样数据直接传输到微处理的内存中,大大降低CPU资源的占用,节约了开发成本和物料成本,提高了数据传输的稳定性、正确性。

Description

基于DMA的高速AD采样数据传输方法、设备、介质、产品及装置
技术领域
本发明涉及嵌入式设备高速AD采样技术领域,尤其涉及基于DMA的高速AD采样数据传输方法、设备、介质、产品及装置。
背景技术
当前市场上常用的高速AD采样芯片大部分都是ADI公司的ADC系列,然而市场上常见的微处理器都没有提供与ADC系列的AD采样芯片匹配的数据传输接口。现在市场上常用的方案是使用微处理器的GPIO接口模拟ADC系列的AD采样芯片并行接口进行数据传输。这种方案会占用CPU的大量资源,导致微处理器的性能下降,甚至需要增加额外的处理器进行其他业务处理,导致开发成本和物料成本的增加。
发明内容
为了克服现有技术的不足,本发明的目的在于提供基于DMA的高速AD采样数据传输方法,借助处理器片内外设,即定时器、DMA(直接存储器访问)和DMAMUX(直接存储器访问请求复用器),配合GPIO接口,模拟ADC系列的AD采样芯片并行接口实现高速AD数据传输。
本发明提供基于DMA的高速AD采样数据传输方法,包括以下步骤:
配置定时器参数,将微处理器的定时器配置为通过输出通道上升沿捕获模式;
配置直接存储器访问参数,将微处理器的直接存储器访问的数据流配置目的地址指向一块内存、源地址指定通用输入输出端口的输入数据寄存器、请求线设置为直接存储器访问采集定时器输出通道的数据;
启动设备,启动所述定时器和所述直接存储器访问,并触发AD采样芯片进行自动连续采样;
采样数据,当AD采样芯片每完成一次采样时,AD采样芯片将采样数据通过数据引脚输出,同时在时钟信号引脚输出脉冲信号,所述定时器捕获输出通道的上升沿,并使用该信号驱动直接存储器访问的数据流从通用输入输出端口的输入数据寄存器读取一组数据并存储到直接存储器访问的数据流指定的内存,完成一次AD采样;
循环采样,循环执行所述采样数据步骤,直到完成预设采样次数,所述直接存储器访问触发完成中断,关闭所述定时器和直接存储器访问,并停止AD采样芯片采样。
进一步地,所述配置定时器参数步骤中,将微处理器的第一定时器配置为通过第一输出通道上升沿捕获模式。
进一步地,所述配置直接存储器访问参数步骤中,将微处理器的第二直接存储器访问的第一数据流配置目的地址指向一块内存、源地址指定通用输入输出端口的输入数据寄存器、请求线设置为直接存储器访问采集第一定时器第一输出通道的数据。
一种电子设备,包括:处理器;
存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行基于DMA的高速AD采样数据传输方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行基于DMA的高速AD采样数据传输方法。
一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现基于DMA的高速AD采样数据传输方法。
基于DMA的高速AD采样数据传输装置,包括微处理器和AD采样芯片,所述微处理器的定时器的输出通道与所述AD采样芯片的时钟信号引脚连接,所述微处理器的定时器配置的通用输入输出口与所述AD采样芯片的数据引脚连接。
进一步地,所述微处理器的第一定时器的第一输出通道与所述AD采样芯片的时钟信号引脚连接。
进一步地,所述微处理器为STM32系列微处理器,所述AD采样芯片为ADC系列采样芯片。
进一步地,所述STM32系列微处理器的第一至第十二通用输入输出引脚与所述AD采样芯片的第一至第十二数据引脚连接,所述STM32系列微处理器的第十三至第十五通用输入输出引脚接地。
相比现有技术,本发明的有益效果在于:
本发明借助微处理器中拥有信号捕获能力的定时器、DMA(直接存储器访问)和DMAMUX(直接存储器访问请求复用器)三种片内外设,配合GPIO接口,模拟ADC系列的AD采样芯片并行接口实现高速AD数据传输。可以通过DMA将AD采样数据直接传输到微处理的内存中,大大降低CPU资源的占用,节约了开发成本和物料成本,提高了数据传输的稳定性、正确性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明的基于DMA的高速AD采样数据传输装置原理图;
图2为本发明的信号时序图;
图3为本发明的基于DMA的高速AD采样数据传输方法流程图;
图4为本发明实施例的高速AD采样数据传输方法流程图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
基于DMA的高速AD采样数据传输装置,包括微处理器和AD采样芯片,微处理器的定时器的输出通道与AD采样芯片的时钟信号引脚连接,微处理器的定时器配置的通用输入输出口与AD采样芯片的数据引脚连接。
如图1所示,微处理器为STM32系列微处理器,具体为STM32H753微处理器,AD采样芯片为ADC系列采样芯片,具体为AD9629芯片。AD采样芯片AD9629的并行接口包含一个时钟信号引脚DCO和12个数据引脚D0~D11。每完成一次采样,AD9629会在DCO引脚输出一个脉冲,同时将采样数据输出到D0~D11引脚,如图2所示。AD9629芯片的时钟信号引脚DCO与STM32H753微处理器的第一定时器TIM1的第一输出通道CH1相连,AD9629芯片的第一至第十二数据引脚D0~D11与STM32H753微处理器的第一至第十二通用输入输出引脚GPIOG0~GPIOG11相连。STM32H753微处理器的第十三至第十五通用输入输出引脚GPIOG12~GPIO15接地。
STM32H753微处理器配置如下:
1、第一定时器TIM1配置为通过第一输出通道CH1上升沿捕获模式;
2、第二直接存储器访问DMA2的第一数据流Stream0配置目的地址指向一块内存;
3、第二直接存储器访问DMA2的第一数据流Stream0配置源地址指定GPIOG的IDR寄存器(通用输入输出端口的输入数据寄存器);
4、第二直接存储器访问DMA2的第一数据流Stream0配置请求线设置为DMA_REQUEST_TIM1_CH1(第二直接存储器访问DMA2采集第一定时器TIM1第一输出通道CH1的数据)。
基于DMA的高速AD采样数据传输方法,基于上述高速AD采样数据传输装置实现,如图3所示,包括以下步骤:
配置定时器参数,将微处理器的定时器配置为通过输出通道上升沿捕获模式。本实施例中,将STM32H753微处理器的第一定时器TIM1配置为通过第一输出通道CH1上升沿捕获模式。
配置直接存储器访问参数,将微处理器的直接存储器访问的数据流配置目的地址指向一块内存、源地址指定通用输入输出端口的输入数据寄存器、请求线设置为直接存储器访问采集定时器输出通道的数据。本实施例中,将STM32H753微处理器的第二直接存储器访问DMA2的第一数据流Stream0配置目的地址指向一块内存,将STM32H753微处理器的第二直接存储器访问DMA2的第一数据流Stream0配置源地址指定通用输入输出端口的输入数据寄存器(GPIOG的IDR寄存器),将STM32H753微处理器的第二直接存储器访问DMA2的第一数据流Stream0配置请求线设置为直接存储器访问采集第一定时器第一输出通道的数据(DMA_REQUEST_TIM1_CH1)。
启动设备,启动定时器和直接存储器访问,并触发AD采样芯片进行自动连续采样;
采样数据,当AD采样芯片每完成一次采样时,AD采样芯片将采样数据通过数据引脚输出,同时在时钟信号引脚输出脉冲信号,定时器捕获输出通道的上升沿,并使用该信号驱动直接存储器访问的数据流从通用输入输出端口的输入数据寄存器读取一组数据并存储到直接存储器访问的数据流指定的内存,完成一次AD采样;
循环采样,循环执行采样数据步骤,直到完成预设采样次数,直接存储器访问触发完成中断,关闭定时器和直接存储器访问,并停止AD采样芯片采样。
如图4所示,若需要连续进行1024次采样,那么DMA2的Stream0配置目的地址指向的内存空间的大小应为16位*1024=2048字节。采样开始,启动TIM1和DMA2,并触发AD9629芯片进行自动连续采样。AD每完成一次采样,会将采样数据通过D0~D11输出,同时在DCO线输出一个脉冲信号。TIM1捕获CH1的上升沿,并使用该信号驱动DMA2的Stream0从GPIOG端口的输入数据寄存器读取一组数据(2字节)并存储到DMA2的Stream0指定的内存,一次AD采样完成。
由于AD9629被配置为自动连续采样,因此采样工作会自动循环,直到第1024次完成,DMA2会触发完成中断,在这里关闭TIM1和DMA2,并停止AD9629芯片采样。
本发明巧妙使用微处理器的DMA和TIM,实现基于DMA的高速AD采样数据传输。由于ADI公司的ADC系列芯片的并行接口是由一个信号引脚和一组数据引脚组成,每次采样完成,都会将采样数据输出到这一组并行数据引脚上,同时会在信号引脚上产生一个脉冲。因此,借助微处理器的DMA和TIM,使用TIM捕获信号引脚上的脉冲,然后使用该信号驱动DMA读取并行数据引脚上的数据并存储到内存中,由于DMA的目的地址可以配置成自动增加,进而实现了连续AD采样。
一种电子设备,包括:处理器;
存储器;以及程序,其中程序被存储在存储器中,并且被配置成由处理器执行,程序包括用于执行基于DMA的高速AD采样数据传输方法。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行基于DMA的高速AD采样数据传输方法。
一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现基于DMA的高速AD采样数据传输方法。
以上,仅为本发明的较佳实施例而已,并非对本发明作任何形式上的限制;凡本行业的普通技术人员均可按说明书附图所示和以上而顺畅地实施本发明;但是,凡熟悉本专业的技术人员在不脱离本发明技术方案范围内,利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变等,均仍属于本发明的技术方案的保护范围之内。

Claims (10)

1.基于DMA的高速AD采样数据传输方法,其特征在于,包括以下步骤:
配置定时器参数,将微处理器的定时器配置为通过输出通道上升沿捕获模式;
配置直接存储器访问参数,将微处理器的直接存储器访问的数据流配置目的地址指向一块内存、源地址指定通用输入输出端口的输入数据寄存器、请求线设置为直接存储器访问采集定时器输出通道的数据;
启动设备,启动所述定时器和所述直接存储器访问,并触发AD采样芯片进行自动连续采样;
采样数据,当AD采样芯片每完成一次采样时,AD采样芯片将采样数据通过数据引脚输出,同时在时钟信号引脚输出脉冲信号,所述定时器捕获输出通道的上升沿,并使用该信号驱动直接存储器访问的数据流从通用输入输出端口的输入数据寄存器读取一组数据并存储到直接存储器访问的数据流指定的内存,完成一次AD采样;
循环采样,循环执行所述采样数据步骤,直到完成预设采样次数,所述直接存储器访问触发完成中断,关闭所述定时器和直接存储器访问,并停止AD采样芯片采样。
2.如权利要求1所述的基于DMA的高速AD采样数据传输方法,其特征在于:所述配置定时器参数步骤中,将微处理器的第一定时器配置为通过第一输出通道上升沿捕获模式。
3.如权利要求2所述的基于DMA的高速AD采样数据传输方法,其特征在于:所述配置直接存储器访问参数步骤中,将微处理器的第二直接存储器访问的第一数据流配置目的地址指向一块内存、源地址指定通用输入输出端口的输入数据寄存器、请求线设置为直接存储器访问采集第一定时器第一输出通道的数据。
4.一种电子设备,其特征在于包括:处理器;
存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行如权利要求1-3任意一项所述的方法。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行如权利要求1-3任意一项所述的方法。
6.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1-3任意一项所述的方法。
7.基于DMA的高速AD采样数据传输装置,其特征在于:包括微处理器和AD采样芯片,所述微处理器的定时器的输出通道与所述AD采样芯片的时钟信号引脚连接,所述微处理器的定时器配置的通用输入输出口与所述AD采样芯片的数据引脚连接。
8.如权利要求7所述的基于DMA的高速AD采样数据传输装置,其特征在于:所述微处理器的第一定时器的第一输出通道与所述AD采样芯片的时钟信号引脚连接。
9.如权利要求7所述的基于DMA的高速AD采样数据传输装置,其特征在于:所述微处理器为STM32系列微处理器,所述AD采样芯片为ADC系列采样芯片。
10.如权利要求9所述的基于DMA的高速AD采样数据传输装置,其特征在于:所述STM32系列微处理器的第一至第十二通用输入输出引脚与所述AD采样芯片的第一至第十二数据引脚连接,所述STM32系列微处理器的第十三至第十五通用输入输出引脚接地。
CN202110772481.8A 2021-07-08 2021-07-08 基于dma的高速ad采样数据传输方法、设备、介质、产品及装置 Pending CN113688075A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110772481.8A CN113688075A (zh) 2021-07-08 2021-07-08 基于dma的高速ad采样数据传输方法、设备、介质、产品及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110772481.8A CN113688075A (zh) 2021-07-08 2021-07-08 基于dma的高速ad采样数据传输方法、设备、介质、产品及装置

Publications (1)

Publication Number Publication Date
CN113688075A true CN113688075A (zh) 2021-11-23

Family

ID=78576789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110772481.8A Pending CN113688075A (zh) 2021-07-08 2021-07-08 基于dma的高速ad采样数据传输方法、设备、介质、产品及装置

Country Status (1)

Country Link
CN (1) CN113688075A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116048426A (zh) * 2023-03-27 2023-05-02 南京芯驰半导体科技有限公司 信号处理方法、装置、电子设备及存储介质
CN116155290A (zh) * 2023-04-18 2023-05-23 青岛本原微电子有限公司 一种模数转换单元的控制装置及控制方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116048426A (zh) * 2023-03-27 2023-05-02 南京芯驰半导体科技有限公司 信号处理方法、装置、电子设备及存储介质
CN116155290A (zh) * 2023-04-18 2023-05-23 青岛本原微电子有限公司 一种模数转换单元的控制装置及控制方法
CN116155290B (zh) * 2023-04-18 2023-07-21 青岛本原微电子有限公司 一种模数转换单元的控制装置及控制方法

Similar Documents

Publication Publication Date Title
CN113688075A (zh) 基于dma的高速ad采样数据传输方法、设备、介质、产品及装置
US8527958B2 (en) Profiling operating context and tracing program on a target processor
US8266369B2 (en) Flash memory interface
KR100387980B1 (ko) 서로다른두직렬데이터전송모드로동작가능한직렬인터페이스
EP2546757B1 (en) Flexible flash commands
US8266340B2 (en) DMA controller
CN102360329A (zh) 总线监控与调试控制装置及进行总线监控与总线调试的方法
JP2003006003A (ja) Dmaコントローラおよび半導体集積回路
US9921778B2 (en) Microcontroller with integrated interface enabling reading data randomly from serial flash memory
Traber et al. PULPino: datasheet
US6760864B2 (en) Data processing system with on-chip FIFO for storing debug information and method therefor
KR20130009928A (ko) 플래시 인터페이스의 효율적인 활용
CN109783933B (zh) 一种ahb总线访问片上sram的桥接方法
US7904755B2 (en) Embedded software testing using a single output
CN202267954U (zh) 总线监控与调试控制装置
WO2017088531A1 (zh) TigerSharc系列DSP启动管理芯片及方法
CN103984586A (zh) 嵌入式Linux系统下的EMIF与FPGA的接口驱动方法
CN109857485B (zh) 一种可编程gpio装置及基于该装置的时序实现方法
CN112462248A (zh) 一种测试信号输出系统及其使用方法
CN208367681U (zh) 一种基于cpci接口的多通道数据采集板
Tan et al. A high-speed data acquisition card based on USB bus
Elkeelany et al. Data concentration and archival to SD card via hardware description language
Wang et al. Design and implementation of high speed QSPI memory controller
CN113705821B (zh) 一种基于pcie的adc板卡实现波形绘制的方法、设备及介质
Feng et al. A SoC architecture compatible with Cortex-M4

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