CN114661221A - 一种ad采样系统及其方法 - Google Patents
一种ad采样系统及其方法 Download PDFInfo
- Publication number
- CN114661221A CN114661221A CN202210287805.3A CN202210287805A CN114661221A CN 114661221 A CN114661221 A CN 114661221A CN 202210287805 A CN202210287805 A CN 202210287805A CN 114661221 A CN114661221 A CN 114661221A
- Authority
- CN
- China
- Prior art keywords
- sampling
- timer
- chip
- controller
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/05—Digital input using the sampling of an analogue quantity at regular intervals of time, input from a/d converter or output to d/a converter
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/1205—Multiplexed conversion systems
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/124—Sampling or signal conditioning arrangements specially adapted for A/D converters
- H03M1/1245—Details of sampling arrangements or methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Bus Control (AREA)
Abstract
本发明涉及一种AD采样系统及其方法,属于模拟采样领域,在控制器内置DMA和定时器,配置相关定时器高电平或低电平有效,以控制AD采样芯片进行采样以及利用DMA对AD采样芯片采样的数据进行读取。本发明利用DMA自身独立运行,不占用控制器的执行率的特性,在需要读取AD采样芯片中采样的数据时,定时器触发DMA将采样数据读取在DMA的存储器中,以供控制器在需要时调取。利用DMA能够避免控制器触发中断以读取AD采样芯片的采样数据,并且能够在多片AD采样芯片时,控制器能够在无中断的情况下读取多片AD采样芯片的采样数据。
Description
技术领域
本发明涉及一种AD采样系统及方法,属于模拟采样领域。
背景技术
随着当今社会信息化及数字化的发展,各行各业逐渐形成了以数字系统为主体的趋势,进而需要将大量各种各样的模拟信号转变为数字信号,同时对模拟采样的频率及精度也提出了越来越高的要求。AD采样器作为模拟和数字电路的关键接点,正受到日益广泛地关注,随着数字技术的飞速发展,人们对AD采样器的要求也越来越高,新型的模拟/数字采样技术也在不断涌现。
现今,AD采样器主要以两种形式呈现,一种是集成在CPU芯片中,这类AD通道为8通道或16通道,采样精度为10位或12位;另一种是独立的AD采样芯片,这类AD通常为8通道、16通道等,采样精度为14位、16位等。随着系统或装置的集成化程度越来越高,同时也对模拟信号采样提出了高精度、多路数的要求,通常这种情况下会采用多片独立的AD采样芯片进行模拟量采样的方案。
对于CPU片外独立的多片AD采样芯片控制方式,多采用定时器加中断处理的方式,即CPU设置定时器周期,即采样周期。当达到周期后CPU进入中断程序读取AD芯片的采样结果并进一步处理;但是,当对多路模拟量进行高频率采样时,因为频繁进入中断CPU被占用而无法处理其他业务。例如,对100路50Hz模拟量进行采样,要求每周波采样64个点,则1秒钟CPU会进入3200次中断,每次中断程序至少占用一次进栈、一次出栈以及100次读AD的时间,CPU因频繁长时间被占用而无法处理其他任务,引起系统宕机。
申请公布号为CN113688075A的中国专利文件,该申请利用AD芯片完成采样后输出一个脉冲信号的特性,使用TIMER捕获引脚捕捉该脉冲信号,进一步地触发DMA(直接存储器访问)读取普通IO引脚数据寄存器,实现AD采样值的读取。该申请避免了中断触发读取AD的形式,缓解了一定程度上CPU占用问题,但其自身特性也带来了很大的局限性。首先,该申请使用普通的IO引脚数据寄存器,该普通IO引脚的物理特性就决定了其读取速度上限,不能实现超高速甚至是高度采样;其次,利用由AD芯片完成采样输出一个脉冲的特点,决定了其只能控制一片AD芯片,最多完成16路模拟量的采样;当多片AD芯片采样时,CPU在无中断控制AD方式的情况下则无法处理多个不同的脉冲,从而无法实现多路模拟量采样。
发明内容
本发明的目的是提供一种AD采样系统及其方法,用以解决控制器在无中断控制AD采样芯片的方式下无法实现多路采样的问题。
为实现上述目的,本发明的方案包括:
本发明的一种AD采样系统,包括控制器、译码器和若干AD采样芯片,所述控制器内置直接存储器访问、第一定时器和第二定时器,各个AD采样芯片的数据输出端均连接控制器的数据总线,控制器的地址总线连接译码器的输入端,译码器的输出端分别连接各个AD采样芯片的片选端,各个AD采样芯片的使能端均连接第一定时器的输出端;并通过如下采样方法实现AD采样:
配置第一定时器的上升沿触发若干AD采样芯片进行采样,配置第一定时器的下降沿触发若干AD采样芯片停止采样,并配置第二定时器的上升沿发生在第一定时器的下降沿设定时间后,用以进行触发直接存储器访问以突发模式读取对应AD采样芯片中采样的数据。
本发明提供的AD采样系统,在控制器内置DMA和定时器,配置相关定时器高电平或低电平有效,以控制AD采样芯片进行采样以及利用DMA对AD采样芯片采样的数据进行读取。本发明利用DMA自身独立运行,不占用控制器的执行率的特性,在需要读取AD采样芯片中采样的数据时,定时器触发DMA将采样数据读取在DMA的存储器中,以供控制器在需要时调取。利用DMA能够避免控制器触发中断以读取AD采样芯片的采样数据,并且能够在多片AD采样芯片时,控制器能够在无中断的情况下读取多片AD采样芯片的采样数据。
进一步地,直接存储器访问突发4拍读取AD采样芯片中的数据时,控制器的地址总线从第三个地址线开始,依次连接译码器的输入端。
进一步地,直接存储器访问突发8拍读取AD采样芯片中的数据时,控制器的地址总线从第四个地址线开始,依次连接译码器的输入端。
进一步地,直接存储器访问突发16拍读取AD采样芯片中的数据时,控制器的地址总线从第五个地址线开始,依次连接译码器的输入端。
DMA在AD采样芯片与控制器之间传输数据时,单次突发量为4/8/16拍,单次突发量为4拍,则地址占有量为2位,因此控制器的地址总线的第三个地址端连接译码器的第一个输入量;单次突发量为8拍,则地址占有量为3位,因此控制器的地址总线的第四个地址端连接译码器的第一个输入量;单次突发量为16拍,则地址占有量为4位,因此控制器的地址总线的第五个地址端连接译码器的第一个输入量。本发明利用DMA单次突发4/8/16拍读取数据时,源地址和目的地址自动递增,从而实现自动片选AD采样芯片进行采样数据读取。
进一步地,利用直接存储器访问读取8片AD采样芯片的采样数据,采用3/8译码器;控制器地址总线的第四、第五和第六个地址线连接3/8译码器的三个输入端。
进一步地,利用直接存储器访问读取16片AD采样芯片的采样数据时,译码器采用4/16译码器;控制器地址总线的第五、第六、第七和第八个地址总线连接4/16的四个输入端。
进一步地,所述定时器2的周期为T/N,其中,T为定时器1的周期,N为AD采样芯片片数。
进一步地,所述设定时间为T/4N,其中T为定时器1的周期,N为AD采样芯片片数。
本发明还提供一种AD采样方法,所述AD采样方法为上述AD采样系统中的AD采样方法。
附图说明
图1是本发明256片AD采样芯片的AD采样系统图;
图2是本发明256片AD采样芯片的AD采样系统对应的时序图;
图3是本发明8片AD采样芯片的AD采样系统图;
图4是本发明8片AD采样芯片的AD采样系统对应的时序图。
具体实施方式
下面结合附图对本发明做进一步详细地说明。
系统实施例:
本发明提供一种AD采样系统,利用CPU现有的资源及特点,提供一种基于定时器和DMA的无中断多通道高频率AD采样系统,具有控制多达256片AD芯片4096路模拟量通道、超高频率、无中断、无CPU占用率及不增加成本的优点。其中,DMA为直接存储器访问,允许不同速度的硬件装置通过DMA实现高速数据的传输,而不需要依赖于CPU的大量中断负载。
具体如图1所示,本发明的AD采样系统包括控制器(CPU)、译码器和AD采样芯片。控制器通过可静态存储控制器(FSMC)内置DMA,DMA可以独立运行,不占用控制器执行率,还可以在控制器外设与内存之间传输数据,并且单次突发传输量可为4/8/16拍,传输数据过程中源地址(控制器的地址)和目标地址可自动递增并且可首位循环。控制器内部还设置有定时器1和定时器2,AD采样芯片的16位数据输出端连接控制器的16位数据总线,AD采样芯片的使能端连接定时器1,AD采样芯片的片选端连接译码器的输出端,译码器的输入端连接控制器的地址总线。其中,DMA单次突发传输量为4/8/16拍的意思为:以16路数据输出端的AD采样芯片为例,DMA如果单次突发传输量为4拍,则DMA每片选一片AD采样芯片时,占用2路地址位,共读取4次16位采样数据;DMA如果单次突发传输量为8拍,则DMA每片选一片AD采样芯片时,占用3路地址位,共读取8次16位采样数据;DMA如果单次突发传输量为16拍,则DMA每片选一片AD采样芯片时,占用4路地址位,共读取16次16位采样数据。作为其他实施例,AD采样芯片还可以采用8路数据输出端。
在AD采样系统,首先配置AD采样芯片在定时器1的上升沿开始采样,配置AD采样芯片在定时器1的下降沿停止采样,配置定时器2在定时器1触发下降沿后四分之一的定时器2的周期时间触发定时器2的上升沿。定时器2触发上升沿以控制DMA进行读取AD采样芯片中采样的数据。
本发明的AD采样系统,在控制器有12位地址总线的情况下,最多可读取256片AD采样芯片的采样数据,如图1所示。256片AD采样芯片的数据输出端连接控制器的数据总线DB0-DB15,256片AD采样芯片的片选端连接译码器的Y0-Y255的输出端,8/256译码器的B0-B7(B0为最低位,B7为最高位)的输入端连接控制器的地址总线A4-A11,256片AD采样芯片的使能端(CONVST)连接定时器1。
当定时器1波形达到上升沿时,256片AD采样芯片开始同时采样;当定时器1波形达到下降沿时,256片AD采样芯片停止采样。在256片AD采样芯片停止采样后,定时器2波形达到上升沿时,触发DMA利用控制器的数据总线DB0-15读取AD采样芯片的采样数据。
当定时器2在256片16路AD采样芯片停止采样后第一次到达上升沿时,触发DMA单次突发16节拍,并利用控制器数据总线读取数据。此时A0-A11(A0为最低位,A11为最高位)的二进制地址编码为000000000000,对应译码器的输入端二进制编码为00000000,则译码器输出端片选Y0使能Y0对应的第一片AD采样芯片。DMA单次突发16节拍,则DMA读取第一片AD采样芯片的16路采样数据共需要读取16次,第一次读取第一片AD采样芯片的16路采样数据时,A0-A3的二进制地址编码为0000;第二次读取第一片AD采样芯片的16路采样数据时,A0-A3的二进制地址编码为0001;第三次读取第一片AD采样芯片的16路采样数据时,A0-A3的二进制地址编码为0010;第四次读取第一片AD采样芯片的16路采样数据时,A0-A3的二进制地址编码为0011,以此类推,则第十六次读取第一片AD采样芯片的16路采样数据时,A0-A3的二进制地址编码为1111。此时,第一片AD采样芯片的16路采样数据被完整读取16次后,A0-A3的地址位编码自动实现递增,则对应的A0-A4的二进制地址编码为00001,连接译码器输入端的控制器地址总线A4-A11的二进制编码为00000001,对应的译码器的输入端B0-B7的二进制编码为00000001。若定时器1再次控制完成采样后,定时器2第二次到达上升沿时,则二进制编码为00000001的译码器输入端B0-B7对应的译码器输出端片选Y1使能Y1对应的第二片AD采样芯片。以此类推,定时器2按照上述规律触发DMA读取数据,直到定时器1的一个周期结束,此时所有的AD采样芯片的采样数据均被读取,DMA采用的是循环模式,因此在所有的AD采样芯片采样数据均被读取后,控制器的地址总线和译码器的地址总线的对应恢复为初始地址。
当定时器1新的周期到来时,定时器1波形到达上升沿,256片AD采样芯片开始采样;定时器1波形到达下降沿,256片AD采样芯片停止采样。定时器2波形的到达上升沿时,开始新的数据读取过程,从地址总线为初始地址开始读取,即控制器连接译码器的输入端的地址总线二进制编码为00000000,译码器输出端对应片选Y0使能Y0对应的第一片AD采样芯片。
上述采样过程对应的时序图如图2所示,定时器1的周期T1为两个采样点的间隔时间,占空比为1/2n,定时器2的周期T2为定时器1周期T1的1/n,占空比为50%,定时器2第一个上升沿滞后定时器1第一个下降沿1/4个T2周期时间。其中n为AD采样芯片的个数。
作为其他实施例,如图3所示,以8片8通道AD采样芯片为例,采样的译码器为3/8译码器,控制器为STM32F407,8片AD采样芯片的使能端连接定时器1,8片AD采样芯片的片选端连接3/8译码器的输出端,3/8译码器的输入端B0、B1和B2(B0为最高位,B2位最低位)连接控制器地址总线中的A3、A4和A5(A0为最低位,A11为最高位),8片AD采样芯片的数据输出端连接控制器的DB0-15的数据总线。
当定时器1波形达到上升沿时,8片AD采样芯片开始同时采样;当定时器1波形达到下降沿时,8片AD采样芯片停止采样。在8片AD采样芯片停止采样后,定时器2波形达到上升沿时,触发DMA利用控制器的数据总线DB0-15读取AD采样芯片的采样数据。
当定时器2在8片AD采样芯片停止采样后第一次到达上升沿时,触发DMA单次突发8节拍,并利用控制器数据总线读取数据。此时,A0-A5的二进制地址编码为000000,对应3/8译码器的输入端二进制编码为000,则译码器输出端片选Y0使能Y0对应的第一片AD采样芯片。DMA第一次去取第一片AD采样芯片的16路采样数据时,A0-A2的二进制地址编码为000;第二次读取第一片AD采样芯片的16路采样数据时,A0-A2的二进制地址编码为001;第三次读取第一片AD采样芯片的16路采样数据时,A0-A2的二进制地址编码为010;第四次读取第一片AD采样芯片的16路采样数据时,A0-A2的二进制地址编码为011,以此类推,则第八次读取第一片AD采样芯片的8路采样数据时,A0-A2的二进制地址编码为111。此时,第一片AD采样芯片的16路采样数据被完整读取8次后,A0-A2的地址位编码自动实现递增,则对应的A0-A3的二进制地址编码为0001,连接译码器输入端的控制器地址总线A3-A5的二进制编码为001,对应的译码器的输入端B0-B2的二进制编码为001。若定时器1再次控制完成采样后,定时器2第二次到达上升沿时,则二进制编码为001的译码器输入端B0-B2对应的译码器输出端片选Y1使能Y1对应的第二片AD采样芯片。以此类推,定时器2按照上述规律触发DMA读取数据,直到定时器1的一个周期结束,此时所有的AD采样芯片的采样数据均被读取,DMA采用的是循环模式,因此在所有的AD采样芯片采样数据均被读取后,控制器的地址总线和译码器的地址总线的对应恢复为初始地址,即A0-A5对应的二进制地址编码为000000。
8片AD采样芯片的采样过程的时序图如图4所示,定时器1的周期T1为312us,占空比为6%,定时器2的周期T2为39us,占空比为50%,定时器2第一个上升沿滞后定时器1第一个下降沿10us。
本发明的AD采样系统利用控制器现有的资源及特点,提供了一种基于定时器和DMA的无中断多通道高频率AD采样方法,具有可控制多达256片AD芯片4096路模拟量通道、超高频率、无中断、无CPU占用率及不增加成本的优点。同时还可以利用DMA单次突发传输量为4/8/16拍的特性,即地址线在读4次进位、8次进位或16次进位,配合译码器,实现控制AD芯片片数和通道数的灵活选择。
方法实施例:
本发明还提供一种AD采样方法,该方法在系统实施例中已阐述清楚,此处不再赘述。
Claims (9)
1.一种AD采样系统,其特征在于,包括控制器、译码器和若干AD采样芯片,所述控制器内置直接存储器访问、第一定时器和第二定时器,各个AD采样芯片的数据输出端均连接控制器的数据总线,控制器的地址总线连接译码器的输入端,译码器的输出端分别连接各个AD采样芯片的片选端,各个AD采样芯片的使能端均连接第一定时器的输出端;并通过如下采样方法实现AD采样:
配置第一定时器的上升沿触发若干AD采样芯片进行采样,配置第一定时器的下降沿触发若干AD采样芯片停止采样,并配置第二定时器的上升沿发生在第一定时器的下降沿设定时间后,用以进行触发直接存储器访问以突发模式读取对应AD采样芯片中采样的数据。
2.根据权利要求1所述的AD采样系统,其特征在于,直接存储器访问突发4拍读取AD采样芯片中的数据时,控制器的地址总线从第三个地址线开始,依次连接译码器的输入端。
3.根据权利要求1所述的AD采样系统,其特征在于,直接存储器访问突发8拍读取AD采样芯片中的数据时,控制器的地址总线从第四个地址线开始,依次连接译码器的输入端。
4.根据权利要求1所述的AD采样系统,其特征在于,直接存储器访问突发16拍读取AD采样芯片中的数据时,控制器的地址总线从第五个地址线开始,依次连接译码器的输入端。
5.根据权利要求2-4任意一项所述的AD采样系统,其特征在于,利用直接存储器访问读取8片AD采样芯片的采样数据,采用3/8译码器;控制器地址总线的第四、第五和第六个地址线连接3/8译码器的三个输入端。
6.根据权利要求2-4任意一项所述的AD采样系统,其特征在于,利用直接存储器访问读取16片AD采样芯片的采样数据时,译码器采用4/16译码器;控制器地址总线的第五、第六、第七和第八个地址总线连接4/16的四个输入端。
7.根据权利要求1所述的AD采样系统,其特征在于,所述第二定时器的周期为T/N,其中,T为定时器1的周期,N为AD采样芯片片数。
8.根据权利要求6所述的AD采样系统,其特征在于,所述设定时间为T/4N,其中T为定时器1的周期,N为AD采样芯片片数。
9.一种AD采样方法,其特征在于,所述AD采样方法为权利要求1-7任意一项所述的AD采样系统中的AD采样方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210287805.3A CN114661221A (zh) | 2022-03-22 | 2022-03-22 | 一种ad采样系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210287805.3A CN114661221A (zh) | 2022-03-22 | 2022-03-22 | 一种ad采样系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114661221A true CN114661221A (zh) | 2022-06-24 |
Family
ID=82031030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210287805.3A Pending CN114661221A (zh) | 2022-03-22 | 2022-03-22 | 一种ad采样系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114661221A (zh) |
-
2022
- 2022-03-22 CN CN202210287805.3A patent/CN114661221A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5027348A (en) | Method and apparatus for dynamic data block length adjustment | |
EP1205030B1 (en) | A parallel analog-to-digital converter | |
US5832278A (en) | Cascaded round robin request selection method and apparatus | |
EP0117432A1 (en) | Enhanced reliability interrupt control apparatus | |
US7199732B1 (en) | Data converter with reduced component count for padded-protocol interface | |
CN109582623B (zh) | 一种能够实现多块不同类型扩展板级联的扩展板电路 | |
US6170032B1 (en) | Priority encoder circuit | |
KR20040066424A (ko) | 다중 소스의 다중 채널로의 할당 방법 및 시스템 | |
US5172116A (en) | A/D conversion apparatus | |
KR0185591B1 (ko) | 아나로그-디지탈 변환시스템 및 아나로그 신호를 디지탈 신호로 변환시키는 방법 | |
CN114661221A (zh) | 一种ad采样系统及其方法 | |
US10924129B2 (en) | Time-interleaved analog-to-digital converter device and associated control method | |
US20210004339A1 (en) | Digital Interface Circuit for Analog-to-Digital Converter | |
EP0457922A1 (en) | Pulse count type communication system | |
CN113659989B (zh) | 一种超前置位的高速逐次逼近型模数转换器 | |
JP3689915B2 (ja) | A/d変換器を内蔵したマイクロコンピュータ | |
US5103417A (en) | Digital multi-channel counter method and apparatus to reduce counting hardware | |
WO1991004552A1 (en) | Information compressing device | |
US20240223203A1 (en) | Circuit and method for channel randomization based on time-interleaved adc | |
EP1033827A2 (en) | Diversity receiving method and apparatus | |
KR100206358B1 (ko) | 브이엠이 버스시스템으로 구축한 고속카운터보드 | |
US7240133B1 (en) | Reduced-area architecture for padded-protocol interface | |
KR200169587Y1 (ko) | 아날로그/디지탈 변환 장치 | |
JPH04274618A (ja) | 逐次比較型a/d変換装置 | |
JP3761804B2 (ja) | 相関回路 |
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 |