[转载]DSP28_Adc.h头文件说明(二)_人生几何_新浪博客

1. ADC控制寄存器

1.1 ADC控制寄存器1(ADCRTL1)(地址偏移00H)
 image

Bit(s)

Name

Description

15Reserved读为0,写无效
14RESET

ADC 模块软件复位。此位导致整个ADC 模块的主复位。当将器件复位引脚拉低时(或上电复位后),所有寄存器位和序列发生器状态机制复位到初始状态。这是一个一次效应位,也即将此位置1 后,将立即自行清除此位。此位的读数总是返回0 值。ADC 复位也有2个时钟周期的延迟(即在复位ADC 的指令后经过2 个ADC 时钟周期之前,不应修改其它ADC 控制寄存器位)。
    0    无影响
    1    复位整个ADC 模块(然后由ADC 逻辑电路将该位设置回0)
注: 在系统复位期间将复位ADC 模块。如果需要在其它任何时间复位ADC 模块,可通过向此位写入1 来实现。经历2 个ADC 时钟域周期后,可向ADCCTRL1 寄存器位写入适当的值。下例假定150MHz 的DSP 时钟和25MHz 的ADCCLK。汇编代码:
MOV ADCTRL1, #01xxxxxxxxxxxxxxb; Resets the ADC (RESET = 1)
RPT #10 || NOP ; Provides the required delay between writes to ADCTRL1
MOV ADCTRL1, #00xxxxxxxxxxxxxxb ; Configures ADCTRL1 to user-desired value

13-12SUSMOD1-SUSMOD0

仿真挂起模式。这些位决定出现仿真挂起(例如,因调试器触及断点)时发生的事件。
    00  模式0。忽略仿真挂起。
    01  模式1。完成当前序列锁定最终结果且更新状态机制之后,序列发生器和其轮询
    程序逻辑停止。
    10  模式2。完成当前转换、锁定结果且更新状态机制之后,序列发生器和其它轮询
    程序逻辑停止。
    11  模式3。仿真挂起时,序列发生器和其它轮询程序逻辑立即停止。

11-8ACQ_PS3-ACQ_PS0

采集窗口大小。此位字段控制SOC 脉宽,后者确定采样开关关闭的时间段。SOC 脉宽为ADCTRL1[11:8] + 1 乘以ADCLK 周期。

7CPS

内核时钟预分频器。预分频器用于对器件外设时钟HSPCLK 进行分频。
    0  ADCCLK = Fclk/1
    1  ADCCLK = Fclk/2
注: CLK = 被预分频的HSPCLK (ADCCLKPS[3:0])

6CONT RUN

连续运行。此位决定序列发生器工作是处于连续转换模式还是启动/停止模式。可在当前转换序列有效时写入此位。此位在当前转换序列结束时生效;即,为了采取有效的操作,在发生EOS 之前,可用软件设置/清除此位。在连续转换模式下,不必复位序列发生器;但是,在启动/停止模式下必须复位序列发生器,以使转换器进入状态CONV00。
    0  启动/停止模式。到达EOS 后序列发生器停止。除非执行了序列发生器复位,否
       则序列发生器在遇到下一个SOC 时将从结束时的状态启动。
    1  连续转换模式。到达EOS 后,序列发生器的行为取决于SEQ_OVRD 位的状态。
        如果清除此位,则序列发生器将再次从其复位状态启动(对SEQ1 和级联模式为
        CONV00,对SEQ2 为CONV08)。

5SEQ OVRD

序列发生器覆盖。可通过覆盖MAX_CONVn 设置的转换结束时的回绕,来提供连续运行模式的附加序列发生器灵活性。
    0  禁用- 允许序列发生器在MAX_CONVn 设置的转换结束时回绕。
    1  启用- 覆盖序列发生器在MAX_CONVn 设置的转换结束时的回绕。仅在序列发生
        器结束时发生回绕。

4SEQ CASC

级联的序列发生器操作。此位决定SEQ1 和SEQ2 是作为2 个8 状态序列发生器工作还是作为单个16 状态序列发生器工作(SEQ)。
    0  双序列发生器模式。SEQ1 和SEQ2 作为2 个8 状态序列发生器工作。
    1  级联模式。SEQ1 和SEQ2 作为单个16 状态序列发生器工作(SEQ)。

3-0Reserved读为0,写无效


1.2 ADC控制寄存器2(ADCRTL2)(地址偏移01H)
 image

Bit(s)

Name

Description

15

EVB SOC
SEQ

为级联序列发生器启用EVB SOC(注:此位只在级联模式中有效。)
    0  无操作
    1  设置此位,允许由事件管理器B信号启动级联的序列发生器。事件管理器可编程为在不同事
        件下启动转换。

14RST SEQ1

将1 写入此位将使SEQ1 或级联序列发生器立即复位到初始的“触发前”状态,即在CONV00 等待触发信号。将异常中止当前活动的转换序列。
    0  无操作
    1  立即将序列发生器复位到状态CONV00

13SOC SEQ1序列发生器启动(SOC)触发器。可通过以下触发器设置此位:
    · S/W - 通过软件将1 写入此位
    · EVA - 事件管理器A
    · EVB - 事件管理器B(仅用于级联模式)
    · EXT - 外部引脚(例如,ADCSOC)。

当触发发生时,有三种可能:
    情形1: SEQ1 空闲且已清除SOC 位,则SEQ1 立即启。允许为任何“暂挂”的触发请求设置和清除此位。
    情形2: SEQ1 忙且已清除SOC 位,则设置此位以指出触发请求正暂挂。当完成当前转换后
最终启动SEQ1 时,将清除此位。
    情形3: SEQ1 忙且设置了SOC 位,则忽略(丢失)此情况下出现的任何触发信号。
    0  清除暂挂的SOC 触发器。
       注:如果序列发生器已启动,则自动清除此位;因此,写入0 无影响,即不能通过清除此位来停止已启动的序列发生器。
    1  软件触发器- 从当前停止的位置启动SEQ1(即空闲模式)
     注: 不应在同一指令中设置RST_SEQ1 (ADCTRL2.14) 和SOC_SEQ1 (ADCTRL2.13) 位。这将使序列发生器复位,但不会启动序列。正确的操作顺序为首先设置RST_SEQ1 位,并在随后的指令中设置SOC_SEQ1 位。这样能够确定序列发生器是否已复位以及新序列是否已启动。此序列也适用于RST_SEQ2 (ADCTRL2.6) 和SOC_SEQ2 (ADCTRL2.5) 位。

12Reserved读为0,写无效
11INT ENA SEQ1启用SEQ1 中断。此位启用INT SEQ1 对CPU 的中断请求。

    0  禁用INT_SEQ1 的中断请求。
    1  启用INT_SEQ1 的中断请求。

10INT MOD SEQ1

SEQ1 中断模式。此位选择SEQ1 中断模式。它影响SEQ1 转换序列结束时的INT SEQ1 设置。
    0  每个SEQ1 序列结束时设置INT_SEQ1。
    1  每隔一个SEQ1 序列结束时设置INT_SEQ1。

9Reserved读为0,写无效
8

EVA SOC SEQ

SEQ1的EVA启用位。

    0  SEQ1 不能由EVA触发器启动。
    1  允许EVA触发器启动SEQ1/SEQ。可以对事件管理器编程,从而在各种情况下启动转换。

7EXT SOC SEQ1

SEQ1 的外部信号转换开始位
    0  无操作
    1  设置此位使ADC 自动转换序列可以由来自ADCSOC的外部信号启动。

6RST SEQ2

复位SEQ2
    0  无操作
    1  立即将SEQ2 复位到“触发前”状态,即在CONV08 等待触发信号。将异常中止当前活动的转换序列。

5SOC SEQ2

序列发生器2 (SEQ2) 的转换开始触发器。(仅适用于双序列发生器模式;在级联模式中被忽略)可通过以下触发器设置此位:
· S/W - 通过软件将1 写入此位
· EVB - 事件管理器B
当触发发生时,有三种可能:
    情形1: SEQ2 空闲且已清除SOC 位,则SEQ2 立即启动(受仲裁器控制),且允许为任何暂挂的触发请求清除该位。
    情形2: SEQ2 忙且已清除SOC 位,则设置此位以指出触发请求正暂挂。当完成当前转换后
最终启动SEQ2 时,将清除此位。
    情形3: SEQ2 忙且设置了SOC 位,将忽略(丢失)此情况下出现的任何触发信号。
    0  清除暂挂的SOC 触发器
   注:如果序列发生器已启动,则自动清除此位;因此,写入0 无影响,即不能通过清除此位
来停止已启动的序列发生器。
    1  从当前停止的位置启动SEQ2(即空闲模式)

4Reserved读为0,写无效
3INT ENA SEQ2

启用SEQ2 中断。此位启用或禁用INT SEQ2 对CPU 的中断请求。
    0  禁用INT_SEQ2 的中断请求。
    1  启用INT_SEQ2 的中断请求。

2INT MOD SEQ2

SEQ2 中断模式。此位选择SEQ2 中断模式。它影响SEQ2 转换序列结束时的INT SEQ2 设置。
    0  每个SEQ2 序列结束时设置INT_SEQ2。
    1  每隔一个SEQ2 序列结束时设置INT_SEQ2。

1Reserved读为0,写无效
0

EVB SOC
SEQ2

SEQ2 的EVB启用位。
    0  SEQ2 不能由EVB触发器启动。
    1  允许由EVB触发器启动SEQ2。可以对事件管理器编程,从而在各种情况下启动转换。


1.3 ADC控制寄存器3(ADCRTL3)(地址偏移18H)
 image

Bit(s)

Name

Description

15-9Reserved读为0,写无效
8EXTREF使能引脚ADCREFM和ADCREFP作为输入参考。
    0   ADCREFM(2V)和ADCREFP(1V)作为内部参考源的输出
    1   ADCREFM(2V)和ADCREFP(1V)作为外部参考电压的输入
7-6ADCBGREDN[1:0]

ADC 能带隙和参考断电。这些位控制模拟内核内的能带隙和参考电路中的上电和断电。请参阅第1.6 部分以了解上电顺序的要求。
    00  能带隙和参考电路断电。
    11  能带隙和参考电路上电。

5ADCPWDN

ADC 断电。此位控制模拟内核内除能带隙和参考电路外的所有模拟电路的上电和断电。请参阅第1.6 部分以了解上电顺序的要求。
    0  内核内除能带隙和参考电路外的所有模拟电路断电。
    1  内核内的模拟电路上电。

4-1ADCCLKPS[3:0]

内核时钟除法器。除了在ADCCLKPS[3-0] 为0000 时HSPCLK 直通外,将28x 外设时钟
HSPCLK 除以2*ADCCLKPS[3-0]。将分频后的时钟进一步除以ADCTRL1[7]+1,以产生内核时钟ADCLK。
ADCCLKPS [3:0] 内核时钟除法器ADCLK
0000 0 HSPCLK/(ADCTRL1[7] + 1)
0001 1 HSPCLK/[2*(ADCTRL1[7] + 1)]
0010 2 HSPCLK/[4*(ADCTRL1[7] + 1)]
0011 3 HSPCLK/[6*(ADCTRL1[7] + 1)]
0100 4 HSPCLK/[8*(ADCTRL1[7] + 1)]
0101 5 HSPCLK/[10*(ADCTRL1[7] + 1)]
0110 6 HSPCLK/[12*(ADCTRL1[7] + 1)]
0111 7 HSPCLK/[14*(ADCTRL1[7] + 1)]
1000 8 HSPCLK/[16*(ADCTRL1[7] + 1)]
1001 9 HSPCLK/[18*(ADCTRL1[7] + 1)]
1010 10 HSPCLK/[20*(ADCTRL1[7] + 1)]
1011 11 HSPCLK/[22*(ADCTRL1[7] + 1)]
1100 12 HSPCLK/[24*(ADCTRL1[7] + 1)]
1101 13 HSPCLK/[26*(ADCTRL1[7] + 1)]
1110 14 HSPCLK/[28*(ADCTRL1[7] + 1)]
1111 15 HSPCLK/[30*(ADCTRL1[7] + 1)]

0SMODE SEL

采样模式选择。此位选择顺序采样模式或同步采样模式。
    0  选择顺序采样模式。
    1  选择同步采样模式。


2. 最大转换通道寄存器(ADCMAXCONV)(地址偏移02H)
 image

Bit(s)

Name

Description

15-7Reserved读为0,写无效
6-0MAX CONVn

MAX_CONVn 位字段定义自动转换会话中执行的最大转换数。位字段及其操作随序列发生器模式(双/级联)变化。
    对于SEQ1 操作,使用位MAX_CONV1[2:0]。
    对于SEQ2 操作,使用位MAX_CONV2[2:0]。
    对于SEQ 操作,使用位MAX_CONV1[3:0]。自动转换会话总是从初始状态开始,并在条件允许的情况下持续到结束状态。按顺序填充结果缓冲器。可以为会话编程任何处于1与(MAX_CONVn +1) 之间的转换数。


如果只需要5 次转换,则将MAX_CONVn 设置为4。
    情形1: 双模式SEQ1 和级联模式序列发生器从CONV00 变化到CONV04,并将5 个转换结果存储在转换结果缓冲器的寄存器Result 00 至Result 04 中。
    情形2: 双模式SEQ2 序列发生器从CONV08 变化到CONV12,并将5 个转换结果存储在转换结果缓冲器的寄存器Result 08 至Result 12 中。

双序列发生器模式的MAX_CONV1 值大于7
    如果为双序列发生器模式(即2 个独立的8 状态序列发生器)选择了大于7 的MAX_CONV1 值,则SEQ_CNTR 将继续计数到超过7,这将导致序列发生器回绕到CONV00,并继续计数。

3. 自动序列状态寄存器(ADCASEQSR)(地址偏移07H)

 image

Bit(s)

Name

Description

15-12Reserved读为0,写无效
11-8SEQ CNTR
3-0

定序计数器状态位。SEQ_CNTRn 4 位状态字段由SEQ1、SEQ2 和级联序列发生器使用。SEQ2 与级联模式无关。序列发生器计数器位字段SEQ_CNTR[3:0] 在转换序列开始时初始化为MAX_CONV 中的值。在自动转换序列中的每次转换(或同步采样模式下的每对转换)之后,序列发生器计数器减1。可在倒计数过程的任何时间读取SEQ_CNTR 位,以检查序列发生器的状态。此值结合SEQ1 和SEQ2 忙位,可唯一标识活动序列发生器在任意时刻的进度或状态。请参阅表2-7。

7Reserved读为0,写无效
6-0SEQ2 STATE2-
SEQ2 STATE0
and
SEQ1 STATE2-
SEQ1 STATE0
SEQ2_STATE 和SEQ1_STATE 位字段分别为SEQ2 和SEQ1 的指针。

image


4. ADC状态与标志寄存器(ADCST)(地址偏移19H)

image  

Bit(s)

Name

Description

15-8Reserved读为0,写无效
7EOS BUF2

SEQ2 的序列结束缓冲位。在中断模式0(即当ADCTRL2[2]=0 时)中,不使用此位且保留为
0。在中断模式1(即当ADCTRL2[2]=1 时)中,它在每个SEQ2 序列结束时进行切换。此位在
器件复位时清除,且不受序列发生器复位或清除相应中断标志的影响。

6EOS BUF1

SEQ1 的序列结束缓冲位。在中断模式0(即当ADCTRL2[10]=0 时)中,不使用此位且保留为
0。在中断模式1(即当ADCTRL2[10]=1 时)中,它在每个SEQ1 序列结束时进行切换。此位
在器件复位时清除,且不受序列发生器复位或清除相应中断标志的影响。

5INT SEQ2 CLR

中断清除位。此位的读数总是返回0 值。清除操作是将1 写入此位后的一次性事件。
    0  将0 写入此位无影响。
    1  将1 写入此位会清除SEQ2 中断标志位INT_SEQ2。此位不影响EOS_BUF2 位。

4INT SEQ1 CLR

中断清除位。此位的读数总是返回0 值。清除操作是将1 写入此位后的一次性事件。
    0  将0 写入此位无影响。
    1  将1 写入此位会清除SEQ1 中断标志位INT_SEQ1。此位不影响EOS_BUF1 位。

3SEQ2 BSY

SEQ2 忙状态位。
    0  SEQ2 空闲,正在等待触发信号。
    1  SEQ2 正忙。写入此位无影响。

2SEQ1 BSY

SEQ1 忙状态位。
    0  SEQ1 空闲,正在等待触发信号。
    1  SEQ1 正忙。写入此位无影响。

1INT SEQ2

SEQ2 中断标志位。写入此位无影响。在中断模式0 中(即当ADCTRL2[2]=0 时),在每个
SEQ2 序列结束时设置此位。在中断模式1 中(即当ADCTRL2[2]=1 时),如果已设置
EOS_BUF2,则在Seq 2 序列结束时设置此位。
    0  无SEQ2 中断事件。
    1  发生SEQ2 中断事件。

0INT SEQ1

SEQ1 中断标志位。写入此位无影响。在中断模式0 中(即当ADCTRL2[10]=0 时),在每个
Seq 1 序列结束时设置此位。在中断模式1 中(即当ADCTRL2[10]=1 时),如果已设置
EOS_BUF1,则在Seq 1 序列结束时设置此位。
    0  无SEQ1 中断事件。
    1  发生SEQ1 中断事件。


5. ADC输入通道选择序列控制寄存器(地址偏移03H,04H,05H,06H)
image
 
每个4 位字段CONVxx 为自动定序的转换选择16 个多路复用的模拟输入ADC 信道中的一个。
 image

6. ADC转换结果缓冲寄存器(ADCRESULTn)(偏移量08H-17H)
 image
在级联序列发生器模式中,寄存器ADCRESULT8 - ADCRESULT15 保持第9 次到第16 次转换的结果。左对齐。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_lib.h相关头文件 2.0库全部stm32f10x_li

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值