CN113609032B - 一种超低功耗的adc控制器结构 - Google Patents
一种超低功耗的adc控制器结构 Download PDFInfo
- Publication number
- CN113609032B CN113609032B CN202110920659.9A CN202110920659A CN113609032B CN 113609032 B CN113609032 B CN 113609032B CN 202110920659 A CN202110920659 A CN 202110920659A CN 113609032 B CN113609032 B CN 113609032B
- Authority
- CN
- China
- Prior art keywords
- control module
- module
- clock
- adc
- mode
- 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
- 238000006243 chemical reaction Methods 0.000 claims abstract description 50
- 230000007704 transition Effects 0.000 claims abstract description 33
- 238000005070 sampling Methods 0.000 claims description 22
- 230000001960 triggered effect Effects 0.000 claims description 13
- 238000000034 method Methods 0.000 claims description 12
- 230000009191 jumping Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 102100033972 Amyloid protein-binding protein 2 Human genes 0.000 claims description 3
- 101000785279 Dictyostelium discoideum Calcium-transporting ATPase PAT1 Proteins 0.000 claims description 3
- 101000779309 Homo sapiens Amyloid protein-binding protein 2 Proteins 0.000 claims description 3
- 101000713296 Homo sapiens Proton-coupled amino acid transporter 1 Proteins 0.000 claims description 3
- 238000010009 beating Methods 0.000 claims description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 abstract description 2
- 230000002093 peripheral effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 10
- 230000000630 rising effect Effects 0.000 description 7
- 101001096074 Homo sapiens Regenerating islet-derived protein 4 Proteins 0.000 description 3
- 108700012361 REG2 Proteins 0.000 description 3
- 101150108637 REG2 gene Proteins 0.000 description 3
- 101100120298 Rattus norvegicus Flot1 gene Proteins 0.000 description 3
- 101100412403 Rattus norvegicus Reg3b gene Proteins 0.000 description 3
- 102100037889 Regenerating islet-derived protein 4 Human genes 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 101100301524 Drosophila melanogaster Reg-5 gene Proteins 0.000 description 1
- 102100023882 Endoribonuclease ZC3H12A Human genes 0.000 description 1
- 101710112715 Endoribonuclease ZC3H12A Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- QGVYYLZOAMMKAH-UHFFFAOYSA-N pegnivacogin Chemical compound COCCOC(=O)NCCCCC(NC(=O)OCCOC)C(=O)NCCCCCCOP(=O)(O)O QGVYYLZOAMMKAH-UHFFFAOYSA-N 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- 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/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- 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/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/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7814—Specially adapted for real time processing, e.g. comprising hardware timers
-
- 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
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computing Systems (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
本发明公开一种超低功耗的ADC控制器结构,属于ADC控制器领域,包括时钟控制模块和主控模块。该ADC控制器是基于AMBA系统中,挂载在APB总线上的外设。时钟控制模块用于产生ADC模块以及主控模块的工作时钟,在不同的工作模式下自动关闭主控模块的工作时钟以及ADC模拟模块的时钟,在需要的时候自动打开,以达到降低功耗的目的;主控模块采用APB总线协议,通过APB接口寄存器来控制整个ADC控制器的工作;由外部定时器采用硬件触发,或者由内核采用软件触发的方法开启转换。主控模块的工作状态反馈在状态寄存器中供APB主设备读取,ADC模拟模块的转换数据也通过串并转换保存在数据寄存器中;同时APB主设备可以通过配置主控制的配置存器来控制主控模块的工作流程。
Description
技术领域
本发明涉及ADC控制器技术领域,特别涉及一种超低功耗的ADC控制器结构。
背景技术
随着微控制器的快速发展,在目前的嵌入式应用,例如:指纹锁、蓝牙温湿度计等物联网设备,其对实时性要求不高,但是对功耗要求极高。ADC用于模拟前端数据采集的模块,需要监测系统中某些传感器数据,以此做出判断和操作。
对于微控制器中现有的ADC控制器,若需要对模拟数据采样和处理,主要有以下两种方法:(1)配置ADC控制器的工作模式,包括转换模式、转换通道、采样时间等,配置传输完成后产生中断,在中断函数中读取转换值;(2)配置ADC控制器的工作模式,包括转换模式、转换通道、采样时间等,配置传输完成后产生DMA请求,使用DMA把转换值搬到SRAM中,在DMA的中断函数中读取SRAM值。
上述两种方法都可以实现对模拟数据的采样和处理,但是在整个过程中,ADC模拟模块和ADC控制器始终处于使能状态。在采样的间隔中不可避免的会产生静态工作电流,造成不必要的电流损耗。因此,如何降低上述的问题是当前需要解决的问题。
发明内容
本发明的目的在于提供一种超低功耗的ADC控制器结构,以解决目前的ADC控制器采样和处理过程中始终处于使能状态,造成电流损耗的问题。
为解决上述技术问题,本发明提供了一种超低功耗的ADC控制器结构,用于控制ADC模拟模块,包括时钟控制模块和主控模块。
所述时钟控制模块在工作模式下自动关闭所述主控模块的工作时钟以及ADC模拟模块的时钟,并且在需要的时候自动打开;
所述主控模块采用APB总线协议,通过APB接口寄存器来控制整个ADC控制器的工作;由外部定时器采用硬件触发,或者由内核采用软件触发的方法开启通道转换。
可选的,所述时钟控制模块共有两个时钟输入:APB总线时钟pclk和异步时钟hsi14;
所述时钟控制模块用于产生主控模块的工作时钟adc_ctrl_clk,以及ADC模拟模块的工作时钟analog_clk,这两个时钟是同步时钟,并且相位相反;所述时钟控制模块能够切换这两个时钟的来源,来自于pclk的分频或者hsi14,也能够按顺序打开和关闭这两个时钟。
可选的,所述主控模块包括一个主状态机和6个子模块;6个子模块分别为reg_control,data_manage,trgi_and_int,calibrate,converse_ctrl,converse;
reg_control模块用于解析APB总线协议,包含所有的配置寄存器、状态寄存器和数据寄存器;data_manage模块用于对齐接收的数据并且检查是否发生上溢和下溢;trgi_and_int模块用于捕捉外部硬件触发以及产生中断;calibrate模块用于产生ADC模拟模块使能和校准相关的信号;converse_ctrl模块包含一个子状态机,与主状态机一起控制converse模块;converse模块用于产生ADC模拟模块采样和转换相关的信号。
可选的,所述主控模块配置如下9种转换模式:
单次转换模式:主状态机进入RDY状态以后等待触发,TRGI发生以后,ADC控制器把所有通道转换一遍,然后主状态机进入RDY状态等待下一次触发;
连续转换模式:与单次转换模式类似,但是一旦触发以后会循环转换;
不连续转换模式:与单次转换模式类似,但是每次转换都需要一次触发;
单次等待模式:主状态机进入RDY状态以后等待触发,TRGI发生以后,ADC控制器转换单个通道后进入WAIT状态;READ后自动开始下一次转换,所有通道转换完成以后进入RDY状态等待下一次触发;
连续等待模式:与单次等待模式类似,但是一旦触发以后会循环转换;
单次自动关闭模式:主状态机进入OFF状态以后等待触发,TRGI发生以后,ADC控制器会把所有通道转换一遍,然后主状态机进入OFF状态等待下一次触发;
不连续自动关闭模式:与单次自动关闭模式类似,但是每次转换都需要一次触发;
单次等待且自动关闭模式:主状态机进入OFF状态以后等待触发,TRGI发生以后,ADC控制器转换单个通道后进入OFF状态;READ以后自动开始下一次转换;所有通道转换完成以后进入OFF状态等待下一次触发;
连续等待且自动关闭模式:与单次等待且自动关闭模式类似,但是一旦触发以后会循环转换。
可选的,所述主控模块的主状态机包括8个状态:
IDLE:主控模块处于空闲状态,此时adc_ctrl_clk已关闭,收到aden使能或者adcal校准使能命令后跳转到STARTUP;如果是自动关闭模式,则收到触发或者数据读取信号后跳转到STARTUP;
STARTUP:主控模块启动时钟控制模块使能流程,并且在时钟打开完成后,即open_finsh信号有效时跳转到RDY或者CALI;
CALI:主控模块启动校准流程,控制calibrate模块开始工作,并且在校准完成后跳转到OFF;
OFF:启动时钟控制模块关闭流程,并且在时钟关闭完成后,即adc_ctrl_clk_open_syn信号无效时跳转到IDLE;
RDY:主控模块初始化完成,在非自动关闭模式下等待软件触发,即adstart后跳转到CONVERSE;在自动关闭模式下,跳转到OFF;
CONVERSE:表示ADC模拟模块正处于采样和转换过程,具体流程在子状态机中实现;CONVERSE的跳转状态需要根据此时的转换模式来确定;
STP:主控模块收到停止命令,执行停止流程,完成后跳转到RDY;
WAIT:主控模块正在等待总线读取数据寄存器,完成后跳转到CONVERSE。
可选的,所述主控模块的子状态机,位于converse_ctrl模块中,包括8个状态:
FREE:converse_ctrl模块处于空闲状态,等待主控模块进入CONVERSE后跳转到INI;
INI:重载待转换通道寄存器,等待硬件触发后跳转到START;
PAT1:仅打一拍,为了保持与INI状态等长的延迟周期,无条件跳转到START;
START:给converse模块发送一个脉冲的start信号后无条件跳转到CAL;
CAL:计算下一个需要转换的通道后无条件跳转到WAIT_NXT;
WAIT_NXT:等到converse模块反馈next_start信号后,WAIT_NXT的跳转状态需要根据此时的转换模式来确定;
REC:与FREE状态类似,等待主控模块进入CONVERSE后跳转到REC_INI;
REC_INI:与INI类似,不重载转换通道寄存器,等待硬件触发后跳转到START。
可选的,所述ADC模拟模块使用SAR结构,转换精度为12位,最高工作频率为14MHz,其转换数值串行传输给主控模块;一次采样最快为14个时钟周期,采样频率最高1MSPS。
在本发明提供的超低功耗的ADC控制器结构中,用于控制ADC模拟模块,ADC控制器结构包括时钟控制模块和主控模块。该ADC控制器是基于AMBA系统中,挂载在APB总线上的外设。所述时钟控制模块用于产生ADC模拟模块以及主控模块的工作时钟,在不同的工作模式下自动关闭所述主控模块的工作时钟以及ADC模拟模块的时钟,并且在需要的时候自动打开,以此达到降低功耗的目的;所述主控模块采用APB总线协议,通过APB接口寄存器来控制整个ADC控制器的工作;由外部定时器采用硬件触发,或者由内核采用软件触发的方法开启转换。所述主控模块控制整个采样和转换流程,主控模块的工作状态反馈在状态寄存器中供APB主设备读取,ADC模拟模块的转换数据也通过串并转换保存在数据寄存器中;同时APB主设备可以通过配置主控制的配置存器来控制主控模块的工作流程。
附图说明
图1为ADC采样和转换系统框图;
图2为ADC各种转换模式示意图;
图3为时钟控制模块实现原理示意图;
图4为ADC时钟开启、切换、关闭时序图;
图5为主控模块的主状态机示意图;
图6为主控模块的子状态机示意图;
图7为converse模块时序图。
具体实施方式
以下结合附图和具体实施例对本发明提出的一种超低功耗的ADC控制器结构作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
实施例一
本发明提供了一种超低功耗的ADC控制器结构,用于控制ADC模拟模块,ADC控制器结构的结构如图1所示,包括时钟控制模块主控模块;所述时钟控制模块在工作模式下自动关闭所述主控模块的工作时钟以及ADC模拟模块的时钟,并且在需要的时候自动打开;所述主控模块采用APB总线协议,通过APB接口寄存器来控制整个ADC控制器的工作;由外部定时器采用硬件触发,或者由内核采用软件触发的方法开启转换。ADC模拟模块使用SAR(逐次逼近法)结构,转换精度为12位,最高工作频率为14MHz,其转换数值串行传输给主控模块;一次采样最快为14个时钟周期,采样频率最高1MSPS。
时钟控制模块共有两个时钟输入,一个是APB总线时钟pclk,一个是异步时钟hsi14。时钟控制模块用于产生主控模块的工作时钟adc_ctrl_clk,以及ADC模拟模块的工作时钟analog_clk,这两个时钟是同步时钟,并且相位相反。时钟控制模块可以切换这两个时钟的来源,来自于pclk的分频或者hsi14,也可以按顺序打开和关闭这两个时钟。
主控模块包含一个主状态机和6个子模块;6个子模块分别为reg_control,data_manage,trgi_and_int,calibrate,converse_ctrl,converse。reg_control模块用于解析APB总线协议,包含所有的配置寄存器,状态寄存器和数据寄存器;data_manage模块用于对齐接收的数据并且检查是否发生上溢和下溢;trgi_and_int模块用于捕捉外部硬件触发以及产生中断;calibrate模块用于产生ADC模块使能和校准相关的信号;converse_ctrl模块包含一个子状态机,与主状态机一起控制converse模块;converse模块用于产生ADC模拟模块采样和转换相关的信号。
图2为ADC控制器各种转换模式示意图,图中斜体加粗的内容表示主状态机的状态,TRGI代表触发信号,READ代表总线上有读取转换值的信号,EOC代表传输完成,EOS代表所有通道转换完成。主控模块可以配置如下9种转换模式:
单次转换模式:主状态机进入RDY状态以后等待触发,TRGI发生以后,ADC控制器会把所有通道转换一遍,然后主状态机进入RDY状态等待下一次触发。
连续转换模式:与单次转换模式类似,但是一旦触发以后会循环转换。
不连续转换模式:与单次转换模式类似,但是每次转换都需要一次触发。
单次等待模式:主状态机进入RDY状态以后等待触发,TRGI发生以后,ADC控制器转换单个通道后进入WAIT状态;READ后自动开始下一次转换;所有通道转换完成以后进入RDY状态等待下一次触发。该模式可以配合降低系统主频,达到降低整个系统功耗的目的。
连续等待模式:与单次等待模式类似,但是一旦触发以后会循环转换。
单次自动关闭模式:主状态机进入OFF状态以后等待触发,TRGI发生以后,ADC控制器会把所有通道转换一遍,然后主状态机进入OFF状态等待下一次触发。该模式在ADC控制器转换空闲时,自动关闭主控模块的时钟和ADC模拟模块的时钟和使能,降低静态功耗,达到降低整个系统功耗的目的。
不连续自动关闭模式:与单次自动关闭模式类似,但是每次转换都需要一次触发。
单次等待且自动关闭模式:主状态机进入OFF状态以后等待触发,TRGI发生以后,ADC控制器转换单个通道后进入OFF状态。READ以后自动开始下一次转换。所有通道转换完成以后进入OFF状态等待下一次触发。该模式结合了等待模式和关闭模式的优点,降低系统主频和采样系统自身功耗,达到大幅降低整个系统功耗的目的。
连续等待且自动关闭模式:与单次等待且自动关闭模式类似,但是一旦触发以后会循环转换。
图3为时钟控制模块实现原理。时钟切换原理如下,adc_ctrl_clk_pre来自pclk的2分频、pclk的4分频或者hsi14。当使用pclk作为时钟源时,主控模块的工作时钟与系统时钟相匹配,此时采样和转换速度与系统工作频率同步升高或者降低。当使用hsi14作为时钟源时,主控模块的工作时钟固定在14MHz,与ADC模拟模块的最高工作频率匹配,此时采样和转换速度无论系统是怎样的工作频率,都按ADC模拟模块的最高性能工作。REG1产生的ckmode用来选择需要的时钟源,时钟切换逻辑采用互斥的结构,同一时间只可以有一个时钟有效。REG4和REG5用hsi14的反向时钟打两拍同步,使用反向时钟避免GATE1产生时钟毛刺。REG6和REG7与上述寄存器功能类似,三个时钟源经过或门产生adc_ctrl_clk_pre。
时钟开启原理如下,REG0产生的adc_ctrl_clk_open为高时表示要打开时钟,为低时表示要关闭时钟。adc_ctrl_clk_open经过REG2和REG8用adc_ctrl_clk_pre的反向时钟打两拍同步。adc_ctrl_clk_pre_syn用来告诉主控模块adc_ctrl_clk_open已生效完成一次握手,同时打开GATE4产生adc_ctrl_clk。时钟关闭的过程与此类似。
图4为ADC控制器时钟开启、切换、关闭时序图。以默认使用hsi14开启时钟,然后切换到pclk_d2(pclk的2分频)时钟,最后关闭时钟为例。
T3时刻pclk的上升沿,主控模块的adc_ctrl_clk_open为高。T3时刻hsi14的下降沿,REG2/Q采到adc_ctrl_clk_open后拉高。T4时刻hsi14的下降沿,adc_ctrl_clk_open_syn把adc_ctrl_clk_open同步一拍拉高。T5时刻hsi14的下降沿,REG9/Q把adc_ctrl_clk_open_syn打一拍拉高。T6时刻hsi14的上升沿,REG9/Q作为GATE4的使能打开门控时钟,即adc_ctrl_clk,至此,时钟开启完毕。
T9时刻pclk的上升沿,ckmode由选择hsi14改变为选择pclk_d2。T9时刻hsi14的下降沿,REG4/Q采到chmode后拉低。T10时刻hsi14的下降沿,sel_hsi14把REG4/Q同步一拍拉低。T11时刻pclk_d2的下降沿,REG6/Q采到sel_hsi14后拉高。T15时刻pclk_d2的下降沿,sel_pclk_d2把REG6/Q同步一拍拉高。T17时刻pclk_d2的上升沿,sel_pclk_d2作为GATE2的使能打开门控时钟,即adc_ctrl_clk,至此,时钟切换完毕。
在T19时刻pclk的上升沿,主控模块的adc_ctrl_clk_open为低。T23时刻pclk_d2的下降沿,REG2/Q采到adc_ctrl_clk_open后拉低。T27时刻pclk_d2的下降沿,adc_ctrl_clk_open_syn把adc_ctrl_clk_open同步一拍拉低。T29时刻pclk_d2的上升沿,REG9/Q作为GATE4的使能关闭门控时钟,即adc_ctrl_clk,至此,时钟关闭完毕。
图5为主控模块的主状态机,共有8个状态:
IDLE:主控模块处于空闲状态,此时adc_ctrl_clk已关闭。收到aden使能或者adcal校准使能命令后跳转到STARTUP。如果是自动关闭模式(包括所有种类的自动关闭模式),则收到触发或者数据读取信号后跳转到STARTUP。
STARTUP:主控模块启动时钟控制模块使能流程,并且在时钟打开完成后,即open_finsh信号有效时跳转到RDY或者CALI。
CALI:主控模块启动校准流程,控制calibrate模块开始工作,并且在校准完成后跳转到OFF。
OFF:启动时钟控制模块关闭流程,并且在时钟关闭完成后,即adc_ctrl_clk_open_syn信号无效时跳转到IDLE。
RDY:主控模块初始化完成,在非自动关闭模式下等待软件触发,即adstart后跳转到CONVERSE;在自动关闭模式下,跳转到OFF。
CONVERSE:表示ADC模拟模块正处于采样和转换过程,具体流程在子状态机中实现。CONVERSE的跳转状态需要根据此时的转换模式来确定。
STP:主控模块收到停止命令,执行停止流程,完成后跳转到RDY。
WAIT:主控模块正在等待总线读取数据寄存器,完成后跳转到CONVERSE。
图6为主控模块的子状态机,位于converse_ctrl模块中,共有8个状态:
FREE:converse_ctrl模块处于空闲状态,等待主控模块进入CONVERSE后跳转到INI。
INI:重载待转换通道寄存器(该寄存器用于存储还未进行转换的通道),等待硬件触发后跳转到START。
PAT1:仅打一拍,为了保持与INI状态等长的延迟周期,无条件跳转到START。
START:给converse模块发送一个脉冲的start信号后无条件跳转到CAL。
CAL:计算下一个需要转换的通道后无条件跳转到WAT_NXT。
WAIT_NXT:等到converse模块反馈next_start信号后,WAIT_NXT的跳转状态需要根据此时的转换模式来确定。
REC:与FREE状态类似,等待主控模块进入CONVERSE后跳转到REC_INI。
REC_INI:与INI类似,不重载转换通道寄存器,等待硬件触发后跳转到START。
图7为converse模块时序图。该转换以采样时间1.5个时钟周期,转换周期14个时钟周期,连续2次转换为例。adc_ctrl_clk是主控模块的时钟,analog_clk是ADC模拟模块的时钟,两时钟相位相反。T2时刻,converse模块收到start信号和channel开始第一次转换。T3时刻,converse_channel有效,ADC模拟模块开始采样电压,cmp_cnt采样周期计数器开始工作。T4时刻,converse_start有效,持续一个时钟周期。T4后的analog_clk上升沿,ADC模拟模块收到converse_start信号,此时采样阶段结束,一共是1.5个时钟周期,并且在1.5个时钟周期后开始输出转换数据。T5时刻,cmp_cnt计数到1,converse_cnt转换计数器开始工作。T7时刻,移位寄存器shift_register开始保存转换值。T12时刻,next_start信号有效,其反馈给converse_ctrl模块。T16时刻,第二次转换的start信号和channel有效。T17时刻,第二次转换的converse_channel有效,重复T3时刻后的时序,同时第一次转换的最后一个数据输出。T18时刻,最后一个数据与移位寄存器中的数值一起保存到received_data寄存器中等待总线读取,同时end_of_converse有效,该信号会同步到状态寄存器中。T19时刻,第一次转换过程全部完成。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (5)
1.一种超低功耗的ADC控制器结构,用于控制ADC模拟模块,其特征在于,包括时钟控制模块和主控模块;
所述时钟控制模块在工作模式下自动关闭所述主控模块的工作时钟以及ADC模拟模块的时钟,并且在需要的时候自动打开;
所述主控模块采用APB总线协议,通过APB接口寄存器来控制整个ADC控制器的工作;由外部定时器采用硬件触发,或者由内核采用软件触发的方法开启通道转换;
所述时钟控制模块共有两个时钟输入:APB总线时钟pclk和异步时钟hsi14;所述时钟控制模块用于产生主控模块的工作时钟adc_ctrl_clk,以及ADC模拟模块的工作时钟analog_clk,这两个时钟是同步时钟,并且相位相反;所述时钟控制模块能够切换这两个时钟的来源,来自于pclk的分频或者hsi14,也能够按顺序打开和关闭这两个时钟;
所述主控模块包括一个主状态机和6个子模块;6个子模块分别为reg_control,data_manage,trgi_and_int,calibrate,converse_ctrl,converse;reg_control模块用于解析APB总线协议,包含所有的配置寄存器、状态寄存器和数据寄存器;data_manage模块用于对齐接收的数据并且检查是否发生上溢和下溢;trgi_and_int模块用于捕捉外部硬件触发以及产生中断;calibrate模块用于产生ADC模拟模块使能和校准相关的信号;converse_ctrl模块包含一个子状态机,与主状态机一起控制converse模块;converse模块用于产生ADC模拟模块采样和转换相关的信号。
2.如权利要求1所述的超低功耗的ADC控制器结构,其特征在于,所述主控模块配置如下9种转换模式:
单次转换模式:主状态机进入RDY状态以后等待触发,TRGI发生以后,ADC控制器把所有通道转换一遍,然后主状态机进入RDY状态等待下一次触发;
连续转换模式:与单次转换模式类似,但是一旦触发以后会循环转换;
不连续转换模式:与单次转换模式类似,但是每次转换都需要一次触发;
单次等待模式:主状态机进入RDY状态以后等待触发,TRGI发生以后,ADC控制器转换单个通道后进入WAIT状态;READ后自动开始下一次转换,所有通道转换完成以后进入RDY状态等待下一次触发;
连续等待模式:与单次等待模式类似,但是一旦触发以后会循环转换;
单次自动关闭模式:主状态机进入OFF状态以后等待触发,TRGI发生以后,ADC控制器会把所有通道转换一遍,然后主状态机进入OFF状态等待下一次触发;
不连续自动关闭模式:与单次自动关闭模式类似,但是每次转换都需要一次触发;
单次等待且自动关闭模式:主状态机进入OFF状态以后等待触发,TRGI发生以后,ADC控制器转换单个通道后进入OFF状态;READ以后自动开始下一次转换;所有通道转换完成以后进入OFF状态等待下一次触发;
连续等待且自动关闭模式:与单次等待且自动关闭模式类似,但是一旦触发以后会循环转换。
3.如权利要求2所述的超低功耗的ADC控制器结构,其特征在于,所述主控模块的主状态机包括8个状态:
IDLE:主控模块处于空闲状态,此时adc_ctrl_clk已关闭,收到aden使能或者adcal校准使能命令后跳转到STARTUP;如果是自动关闭模式,则收到触发或者数据读取信号后跳转到STARTUP;
STARTUP:主控模块启动时钟控制模块使能流程,并且在时钟打开完成后,即open_finsh信号有效时跳转到RDY或者CALI;
CALI:主控模块启动校准流程,控制calibrate模块开始工作,并且在校准完成后跳转到OFF;
OFF:启动时钟控制模块关闭流程,并且在时钟关闭完成后,即adc_ctrl_clk_open_syn信号无效时跳转到IDLE;
RDY:主控模块初始化完成,在非自动关闭模式下等待软件触发,即adstart后跳转到CONVERSE;在自动关闭模式下,跳转到OFF;
CONVERSE:表示ADC模拟模块正处于采样和转换过程,具体流程在子状态机中实现;CONVERSE的跳转状态需要根据此时的转换模式来确定;
STP:主控模块收到停止命令,执行停止流程,完成后跳转到RDY;
WAIT:主控模块正在等待总线读取数据寄存器,完成后跳转到CONVERSE。
4.如权利要求3所述的超低功耗的ADC控制器结构,其特征在于,所述主控模块的子状态机,位于converse_ctrl模块中,包括8个状态:
FREE:converse_ctrl模块处于空闲状态,等待主控模块进入CONVERSE后跳转到INI;
INI:重载待转换通道寄存器,等待硬件触发后跳转到START;
PAT1:仅打一拍,为了保持与INI状态等长的延迟周期,无条件跳转到START;
START:给converse模块发送一个脉冲的start信号后无条件跳转到CAL;
CAL:计算下一个需要转换的通道后无条件跳转到WAIT_NXT;
WAIT_NXT:等到converse模块反馈next_start信号后,WAIT_NXT的跳转状态需要根据此时的转换模式来确定;
REC:与FREE状态类似,等待主控模块进入CONVERSE后跳转到REC_INI;
REC_INI:与INI类似,不重载转换通道寄存器,等待硬件触发后跳转到START。
5.如权利要求4所述的超低功耗的ADC控制器结构,其特征在于,所述ADC模拟模块使用SAR结构,转换精度为12位,最高工作频率为14MHz,其转换数值串行传输给主控模块;一次采样最快为14个时钟周期,采样频率最高1MSPS。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110920659.9A CN113609032B (zh) | 2021-08-11 | 2021-08-11 | 一种超低功耗的adc控制器结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110920659.9A CN113609032B (zh) | 2021-08-11 | 2021-08-11 | 一种超低功耗的adc控制器结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113609032A CN113609032A (zh) | 2021-11-05 |
CN113609032B true CN113609032B (zh) | 2024-01-19 |
Family
ID=78340338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110920659.9A Active CN113609032B (zh) | 2021-08-11 | 2021-08-11 | 一种超低功耗的adc控制器结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113609032B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114153786B (zh) * | 2021-11-26 | 2023-08-04 | 山东云海国创云计算装备产业创新中心有限公司 | 一种服务器及其soc系统 |
CN115756144A (zh) * | 2022-11-23 | 2023-03-07 | 成都海光微电子技术有限公司 | 功耗控制装置、方法及高速互连接口 |
CN117998027B (zh) * | 2024-02-02 | 2024-08-30 | 中科芯集成电路有限公司 | 一种基于内嵌码同步的图像采集控制器结构 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5302952A (en) * | 1992-08-28 | 1994-04-12 | Motorola, Inc. | Automatic A/D converter operation with pause capability |
CN1981442A (zh) * | 2004-03-31 | 2007-06-13 | 芯科实验室有限公司 | 用于对逐次逼近式模拟数字转换器进行子时钟控制的方法和装置 |
CN102035555A (zh) * | 2010-12-29 | 2011-04-27 | 杭州矽力杰半导体技术有限公司 | 一种模数转换器、转换方法及应用其的数字电源控制器 |
US9484945B1 (en) * | 2016-05-05 | 2016-11-01 | Hong Kong Applied Science and Technology Research Institute Company, Limited | Asynchronous successive-approximation-register analog-to-digital converter (SAR ADC) in synchronized system |
CN106452440A (zh) * | 2016-04-26 | 2017-02-22 | 芯海科技(深圳)股份有限公司 | 一种低功耗的逐次逼近模数转换器电路 |
CN109067399A (zh) * | 2018-07-26 | 2018-12-21 | 南京磐能电力科技股份有限公司 | 一种多采样率的adc控制器实现方法 |
US10763879B1 (en) * | 2019-07-30 | 2020-09-01 | Xilinx, Inc. | Low power and high-speed circuit for generating asynchronous clock signals |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11079268B2 (en) * | 2017-12-21 | 2021-08-03 | Rosemount Inc. | Precision ADC sampling clock for high accuracy wireless guided wave radar |
-
2021
- 2021-08-11 CN CN202110920659.9A patent/CN113609032B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5302952A (en) * | 1992-08-28 | 1994-04-12 | Motorola, Inc. | Automatic A/D converter operation with pause capability |
CN1981442A (zh) * | 2004-03-31 | 2007-06-13 | 芯科实验室有限公司 | 用于对逐次逼近式模拟数字转换器进行子时钟控制的方法和装置 |
CN102035555A (zh) * | 2010-12-29 | 2011-04-27 | 杭州矽力杰半导体技术有限公司 | 一种模数转换器、转换方法及应用其的数字电源控制器 |
CN106452440A (zh) * | 2016-04-26 | 2017-02-22 | 芯海科技(深圳)股份有限公司 | 一种低功耗的逐次逼近模数转换器电路 |
US9484945B1 (en) * | 2016-05-05 | 2016-11-01 | Hong Kong Applied Science and Technology Research Institute Company, Limited | Asynchronous successive-approximation-register analog-to-digital converter (SAR ADC) in synchronized system |
CN109067399A (zh) * | 2018-07-26 | 2018-12-21 | 南京磐能电力科技股份有限公司 | 一种多采样率的adc控制器实现方法 |
US10763879B1 (en) * | 2019-07-30 | 2020-09-01 | Xilinx, Inc. | Low power and high-speed circuit for generating asynchronous clock signals |
Also Published As
Publication number | Publication date |
---|---|
CN113609032A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113609032B (zh) | 一种超低功耗的adc控制器结构 | |
US8392739B2 (en) | Multi-core processor, its frequency conversion device and a method of data communication between the cores | |
US9753486B2 (en) | Clock gating with an asynchronous wrapper cell | |
CN102570973B (zh) | 时钟系统以及用于时钟系统的方法 | |
CN114490460B (zh) | 一种用于asic的flash控制器及其控制方法 | |
CN101482856B (zh) | 基于现场可编程门阵列的串并行协议转换装置 | |
CN1981442B (zh) | 用于对逐次逼近寄存器模拟数字转换器进行子时钟控制的方法和装置 | |
CN111143264B (zh) | 实现同步模式的apb桥、实现异步模式的apb桥及其控制方法 | |
JPH0713926A (ja) | バッファ制御回路及びその操作方法 | |
US6819150B1 (en) | Method and apparatus for quick clock swapping using much slower asynchronous clock for power savings | |
US8831160B2 (en) | Method and apparatus for switching clock frequency in a system-in-package device | |
WO2020134531A1 (zh) | 一种时钟控制电路及控制方法 | |
KR910000363B1 (ko) | 단일 칩 프로세서 | |
KR20090061515A (ko) | Gals 시스템용 접속회로 및 그의 동작방법 | |
CN116521604B (zh) | 一种同步数据的方法及相关装置 | |
CN109067399B (zh) | 一种多采样率的adc控制器实现方法 | |
CN112199317A (zh) | 一种RISCV处理器访问Flash存储器的桥接系统及其桥接方法 | |
CN113342718B (zh) | 一种rtc的硬件架构及其读写控制方法 | |
JPH05173925A (ja) | データ入出力制御装置及び方法 | |
WO2024146187A1 (zh) | 基于zynq的多通道adc同步采集的装置及方法 | |
CN110768778A (zh) | 一种单线通信电路、通信方法及通信系统 | |
US8643523B1 (en) | Sharing embedded ADC resources across hardware and software sample-conversion queues with improved availability of the resources | |
US7609192B1 (en) | Control of analog to digital conversion for analog I/O boards | |
JP2003157228A (ja) | データ転送回路 | |
JP3148445B2 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |