微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM手记之芯唐M0系列

ARM手记之芯唐M0系列

时间:11-10 来源:互联网 点击:

计数器(CNR)为0,当中断条件发生。在中断内关闭PWM定时器(PCR的CHxEN位). (推荐)

方式3:直接关闭PWM定时器(PCR的CHxEN位). (不推荐,因为禁止CHxEN会立即停止PWM输出信号,导致PWM占空比改变,可能引起电机的损坏)

捕捉开始步骤:

1. 配置时钟选择(CSR)

2. 配置预分频(PPR)

3. 配置通道使能,上升/下降沿中断使能以及输入信号反向打开/关闭 (CCR0, CCR1)

4. 配置PWM计数器寄存器 (CNR)

5. 配置捕捉输入使能寄存器 (CAPENR)

6. 配置相应的GPIO管脚用于PWM功能 (GPA_MFP)

7. 配置相应的GPIO管脚于输入模式S (GPIOA_OMD)

8. 使能PWM定时器(PCR)

11.看门狗定时器WDT

看门狗定时器包含一个18位的自动运行的计数器,可编程其定时溢出间隔。设置WTE(WDTCR[7])使能看门狗定时器和WDT计数器开始计数. 当计数器达到选择的定时溢出间隔,看门狗定时器中断标志WTIF被立即置位,并请求WDT中断(如果看门狗定时器中断使能位WTIE置位),同时,紧接着会有一个指定周期(1024*Twdt)延时,用户必须在指定周期内设置WTR(WDTCR[0]) (看门狗定时器复位)为高,重置18位WDT计数器,防止CPU复位,WTR在WDT计数重置后自动由硬件清零。

通过设置WTIS(WDTCR[10:8])选择8个定时溢出间隔(2^4~2^18),如果在特殊延迟时间终止后,如果WDT计数没有被清零,看门狗定时将置位看门狗定时器重置标志(WTRF)为高并使CPU复位. 这个复位将持续63个WDT时钟,然后CPU重启,并从复位向量(0x0000 0000)执行程序,WTRF将不被看门狗复位清零,用户可用软件拉低WTFR。

12.模拟数字转换(ADC)

NUC1XX 系列包含 一个12-bit 8通道逐次逼近式 模拟 – 数字转换器 (SAR A/D converter)。A/D 转换器支持 三种操作模式: 单一、单周期扫描 和连续扫描模式。开始A/D 转换可软件设定和外部STADC/PB.8 pin开启。

当改变运行模式或模拟输入通道使能时, 为了防止错误的操作, 软件需清 ADST 位为 0 (ADCR register). A/D 转换将停止 并进入idle 模式.

A/D转换器有3个中断源:A/D 转换结束时ADF(ADSR寄存器)位被置1;当A/D转换结果同ADCMPR0/1寄存器设定值相匹配时,CMPF0/1会被置1;当ADF、CMPF0、CMPF1其中一个标志被置1,且其相应的ADIE 位(ADCR 寄存器)及CMPIE(ADCMPR0/1寄存器)置1时,将产生 ADINT 中断请求。

1)特征

模拟输入电压: 0~Vref (Max to 5.0V).

12位分辨率和10位精确度保证。

多达 8 路单端模拟输入通道或4路差分输入。

最大 ADC 时钟频率 16MHz/20MHz。ADC时钟频率= (ADC clock source frequency) / (ADC_N+1);

高达600K/1M SPS 转换速率, 转换时间少于 1us.

转换结果可和指定的值相比较 当转换值和设定值相匹配时,用户设定产生中断请求.

通道7支持3输入源:外部模拟电压, 内部基准电压和内部温度传感器输出.

支持自身校正功能减少转换的误差,用户可写1到CALEN 位(ADCALR 寄存器)使能自身校正功能, 当内部校正完成CAL_DONE为高。

2)单触发模式

在单触发模式下, A/D 转换仅仅在指定的单一通道中执行一次,运作流程如下:

1. 当 ADCR 的ADST 置位开始A/D 转换,可通过软件或外部触发输入.

2. 当 A/D 转换完成,转换值将存储在与通道相对应的A/D数据寄存器中.

3. A/D 转换完成, ADSR 的ADF 位置位. 若此时ADIE 位置位, 将产生ADINT 中断请求.

4. A/D 转换期间,ADST 位维持为1,A/D 转换结束,ADST 位自动清 0,A/D 转换器进入idle 模式。ADST清0后,至少要等一个ADC时钟,才能再将ADST位置1,否则A/D 转换器可能无法运作。

3)单周期扫描模式

在单周期模式下,ADC会对所有指定的通道进行一次采样和转换,且从编号最小的通道开始运作,具体流程如下:

1. 软件置位 ADCR 寄存器的ADST 位或外部触发输入置位,A/D 转换从最小编号的通道开始。

2. 每路 A/D 转换完成后, A/D 转换数值将装载到相应数据寄存器中。

3. 当被选择的通道数都转换完成后,ADF 位(ADSR 寄存器)置位。若此时 ADIE 置位, 将产生 ADINT 中断请求。

4. A/D 转换结束, ADST位自动清0,A/D 转换器进入idle 模式。若在转换过程中ADST被清0,则无法保证存储在数据寄存器中的值之正确性。ADST清0后,至少要等一个ADC时钟,才能再将ADST位置1,否则A/D 转换器可能无法运作。

4)连续转换模式

在连续模式下, 可通过设定CHEN 位 ADCHER 寄存器 (maximum 8 channels for ADC) 使能 A/D 转换.运作流程如下:

1. 软件置位 ADCR 寄存器的 ADST 位或外部触发输入置位,A/D 转换从最小

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top