前言:

上文完成了RH850的TAUJ定时器配置,此章我们将讲解RH850的ADC功能。

AD转换就是将时间连续和幅值连续的模拟量转换为时间离散、伏值也离散的数字量。使输出的数字量与输入的模拟量成正比。AD转换的过程有四个阶段,即采样、保持、量化和编码。

采样是将连续模拟信号转换成数字信号的过程。经过采样,时间连续、数值连续的模拟信号就变成了时间离散、数值连续的信号,称为采样信号。采样电路相当于一个模拟开关,模拟开关周期性地工作。理论上,每个周期内,模拟开关的闭合时间趋近于0。在模拟开关闭合的时刻(采样时刻),我们就“采”到模拟信号的一个“样本”。

ADCA0框图如下

AD转换关键技术参数

(1)分辨率(Resolution)

分辨率又称精度,通常以数字信号的位数来表示。定义满刻度于2^n的比值(n为AD器件位数)。分辨率表示输出数字量变化一个相邻数码所需要输入模拟电压的变化量。位数越多,分辨率就越高。

(2)转换时间(Conversion Rate)

转换时间是指完成一次从模拟转换到数字的AD转换所需的时间。积分型AD的转换时间是毫秒级属低速AD,逐次比较型AD是微秒级属中速AD,全并行/串并行型AD可达到纳秒级。采样时间则是另外一个概念,是指两次转换的间隔。为了保证转换的正确完成,采样速率(Sample Rate)必须小于或等于转换速率。因此习惯上将转换速率在数值上等同于采样速率也是可以接受的。常用单位是Ksps和Msps,表示每秒采样千/百万次(Kilo / Million Samples Per Second)。

(3)量化误差(Quantizing Error)

由于AD的有限分辨率而引起的误差,即有限分辨率AD的阶梯状转移特性曲线与无限分辨率AD(理想AD)的转移特性曲线(直线)之间的最大偏差。通常是1个或半个最小数字量的模拟变化量,表示为1LSB、1/2LSB。

(4)偏移误差(Offset Error)

输人信号为雷时输出信号不为零的值,可外接电位器调至最小。

(5)满刻度误差(Full Scale Error)

满刻度输出时对应的输人信号与理想输人信号值之差。

(6)线性度(Lineafity)

实际转换器的转移函数与理想直线的最大偏移,不包括以上3种误差AD的其他指标还有绝对精度(Absolute Accuracy)、相对精度(Relative Accuracy)、微分非线性、单调性和无错码、总谐波失真(THD,Total Harmonic Distotortion)和积分非线性等。

外部模拟多路复用连接图如下

外部模拟多路复用器(MPX)可以连接到任何输入信号引脚ADCA0I0 ~ ADCA0I19S。

1.1、ADCAnVCRj    虚拟通道寄存器

ADCA0的虚拟通道0链接到物理通道ADCA0I0。

Bit position

Bit Name

Function

15

MPXE

MPX启用

0:禁止使用MPX,A/D转换前没有插入等待。

1:允许使用MPX。MPXV[2:0]位从虚拟通道启动时ADCAnSEL0到ADCAnSEL2,等待时间为 A/D转换前插入1个A/D转换时间。

14 - 12

MPXV

这些位用于设置传输到外部模拟的MPX多路复用器。

9

CNVCLS

A/D转换类型自诊断选择

0:自诊断保持值A/D转换。

1:表示自诊断时正常A/D转换。

自诊断时A/D转换正常,MPX为在使用时(MPXE已设置),插入一个A/D转换时间的等待才能进行A/D转换。另一方面,不能使用MPX当自诊断时进行保持值A/D转换。

8

ADIE

A/D转换结束中断使能

0: A/D时不生成扫描组x结束中断(INT_SGx)

虚拟通道j的转换在SGx结束。

1: A/D转换时生成扫描组x结束中断(INT_SGx)

对于结束于SGx的虚拟通道j。

7 - 6

ULS

上下限表选择

00:不检查上下限。

01:检查ADCAnULLMTBR0的上下限。

10:检查ADCAnULLMTBR1的上下限。

11:检查ADCAnULLMTBR2的上下限。

5 - 0

GCTRL

物理信道选择

0H ~ 23H:选择对应的ANInm。

24H:选择A/D转换器诊断通道。

其他:设置禁止。

1.2、ADCAnADCR    A/D控制寄存器

Bit position

Bit Name

Function

7

DGON

自诊断电压备用控制

0:关闭自诊断电压电路。

1:自诊断电压电路打开,或参考电压。

5

CRAC

对齐控制

0:转换到PWDDR和ADCAnDRj的结果存储为右对齐。

1:转换到PWDDR和ADCAnDRj的结果存储为左对齐。

4

CTYP

12/10位选择模式

0: 12位模式

1: 10位模式

1 - 0

SUSMTD

暂停模式选择

这些位用于在高优先级扫描时选择暂停方法 组中断低优先级扫描组。

00:高优先级SG或SVSTOP中断时同步挂起。

01:当高优先级SG (SG2, SG3, SG4)和SVSTOP中断SG1,同步挂起时优先级更高。SG (SG3, SG4)和SVSTOP中断SG2,或者优先级更高的SG (SG4)和SVSTOP中断SG3。

10:高优先级SG或SVSTOP中断时,异步挂起。

11:设置禁止

1.3、ADCAnSMPCR  — 采样控制寄存器

Bit position

Bit Name

Function

7 - 0

SMPT

这些位用于设置采样时间(循环数)。

12H: 18个周期(ADCLK = 8兆赫到32兆赫)

18H: 24个周期(ADCLK = 8兆赫到40兆赫)

禁止进行上述以外的设置。

1.4、ADCAnSFTCR   安全控制寄存器

Bit position

Bit Name

Function

4

RDCLRE

读取和清除启用

当读取A/D转换结果时,该位选择A/D转换结果由硬件清除。

0:ADCAnPWDTSNDR/ADCAnDRj和ADCAnPWDDIR/ ADCAnDRj是不可读的。

1:ADCAnPWDTSNDR/ADCAnDRj/ADCAnPWDDIR/ ADCAnDR/ADCAnPWDTSNDR/ADCAnDRj/ADCAnPWDDIR/ADCAnDIRj是可读的。

3

ULEIE

A/D错误中断(INT_ADE)上下限错误检测使能

0:禁用

1:启用

2

OWEIE

A/D错误中断(INT_ADE)使能覆盖错误检测功能

0:禁用

1:启用

1.5、ADCAnSGCRx  — 扫描控制寄存器

Bit position

Bit Name

Function

5

SCANMD

扫描模式

0:多循环扫描模式

1:连续扫描模式

对于SG2和SG3,在这个位上写0。

4

ADIE

扫描结束中断启用

0:扫描结束时不输出INT_SGx。

1:扫描结束时输出INT_SGx。

3 - 2

SCT

通道重复次数选择

00:选择的通道重复次数为1。

01:选择的通道重复次数为2。

10:选择通道重复次数为4次。

11:设置禁止

0

TRGMD

触发模式

0:禁用SGx_TRG的触发器输入(禁用硬件触发器)。

1: SGx_TRG启动触发器或保持完成触发器A/B触发输入到SGx。

1.6、ADCAnSGVCSPx   扫描组x启动虚拟通道指针

Bit position

Bit Name

Function

5 - 0

VCSP

启动虚拟通道指针

这些位用于指定开始SGx扫描的虚拟通道。

1.71.7、ADCAnSGVCSPx   扫描组x结束虚拟通道指针

Bit position

Bit Name

Function

5 - 0

VCEP

虚拟通道指针

这些位用于结束指定SGx扫描所处的虚拟通道。

例:例程:

void ADC_Init(void)

{

AP_init();  //Gpio init

/* ADCA0 */

ADCA0VCR00 = 0x00u; /* Virtual Channel 0 of ADCA0 is linked to physical channel ADCA0I0 */

/* Upper/lower limit not checked / No scan group interrupt is output */

ADCA0VCR01 = 0x01u;

ADCA0ADCR = 0x00u;      /* Asynchronous suspend / 12bit mode */

/* The self-diagnostic voltage circuit is turned off */

ADCA0SMPCR = 0x12u;     /* Set sampling time to 18*1/40MHz = 0.45us */

ADCA0SFTCR = 0x00u;     /* Upper/Lower limit error disabled / DR/DIR registers are not cleared when read */

ADCA0SGCR1 = 0x11u;     /* ScanGroup interrupt is output when scan ends */

/* SGx_TRG start trigger or hold complete trigger A/B is selected for

the trigger input to SGx. Set to 1'b. */

/* ScanGroup start/end registers */

ADCA0SGVCSP1 = 0x00u;   /* ScanGroup starts at virtual channel 0 */

ADCA0SGVCEP1 = 0x07u;   /* ScanGroup ends at virtual channel 7 */

}

6、RH850 F1 AD转换功能和配置相关推荐

  1. 7、RH850 F1 RLIN/UART功能和配置

    前言: UART是最常见的串行通讯,广泛应用于单片机和单片机之间通讯.这里UART/RLIN的具体原理讲解就不做介绍,不清楚的朋友可移步up主的个人专栏 ---- "串行通讯原理" ...

  2. 8、RH850 F1 IIC通讯功能和配置

    前言: 续上章节UART后,此章讲解的IIC也是最常见的串行通讯,广泛应用于单片机和单片机之间通讯.同样这里IIC的具体原理讲解就不做介绍,不清楚的朋友可移步up主的个人专栏 ---- "串 ...

  3. 9、RH850 SPI(CSIH) 通讯功能和配置

    前言: SPI是最常见的串行通讯之一,其通信速率比较高,适合需要传输大量数据的应用.常见的有SPI FLASH,无线模块等.这里IIC的具体原理讲解就不做介绍,不清楚的朋友可移步up主的个人专栏 -- ...

  4. ad stm8l 热电偶_[转载]STM8S单片机入门3(AD转换及锂电池管理)

    锂电池以其容量大.充电性能好的优点,已经得到了广泛引用,特别在小型的需电池供电的电子设备上.但是锂电池的充电和使用条件比较严格,比如充电必须以恒流恒压方式,使用时电压不能低于3V等,所以用锂电池供电的 ...

  5. 配置并使用SharePoint 2010的文档转换功能

    配置并使用SharePoint 2010的文档转换功能 在SharePoint 2010中是可以配置将文档库中的文档转换为其他格式的,但默认并没有开启此功能.要启用此功能,首先要在SharePoint ...

  6. 12、RH850 F1 FLASH存储器介绍

    前言: FLASH存储器的英文名称是"Flash Memory",一般简称为"Flash",它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM ...

  7. dsp的ad标志位是什么_关于STM32 AD转换的ADC_FLAG_EOC标志位问题

    关于STM32 AD转换的ADC_FLAG_EOC标志位问题 [复制链接] 小弟最近再写STM32的ADC,看了很多网的例程都是用DMA接数据,但是我想直接用AD读到寄存器,再拿出来处理. 在写程序的 ...

  8. DA14580的AD转换

    DA14580在两处体现了ADC功能.一是电源管理方面,10bit的ADC能够测量电池电压:二是模拟接口方面,有4通道的10bit AD转换. 10bit ADC可单端可差分,一次转换耗时65ns,最 ...

  9. 灵活运用ISA的链接转换功能:ISA2006系列之十三

    灵活运用ISA的链接转换功能<?XML:NAMESPACE PREFIX = O /> 在ISA的发布规则中有一个链接转换的选项,不少朋友都问过这个功能有什么用?今天我们设计一个实验对这一 ...

最新文章

  1. create_pose算子说明
  2. @transaction 提交事务_Kafka 事务实现原理
  3. python中的函数def和函数的参数
  4. visual basic.net 2019-判断null,is null
  5. JavaScript实现离散傅立叶变换DFT算法(附完整源码)
  6. 一个“小白”眼中的容器
  7. 服务器被攻击怎么办 安全狗来防护
  8. 图文详解 Windows 2003服务器集群安装(1)
  9. 中文信息处理(四)—— 神经网络基础
  10. nodejs生成pdf文件
  11. 计算机专业英语朱龙主编,计算机专业英语(高职高专计算机系列)
  12. linux下截图软件,Flameshot - Linux下功能强大的屏幕截图软件
  13. MPU6050加速度传感器学习笔记之实验《获取原始数据》
  14. org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
  15. 前端项目中碰到的难题bug
  16. CSDN视频网站观后感
  17. 格创校园跑腿小程序源码
  18. 使用pip安装TensorFlow 相关问题
  19. ACCESS 日期函數 常用函數
  20. Vue最新状态管理工具Pinia——彻底搞懂Pinia是什么

热门文章

  1. Docker--cgroup
  2. python生成的图片保存成为pdf_python将图像保存为pdf及图片
  3. 【TARS】TARS-CPP客户端学习一
  4. linux下如何make文件夹,Linux makefile 教程 非常详细,且易懂
  5. 史上最全 | HBase 知识体系吐血总结
  6. Android机顶盒开发工具小结
  7. 证书吊销列表(CRL)简单介绍与相关openssl C api功能测试
  8. visio2003无法找到加载项的解决办法
  9. 解密最接近人脑的智能学习机器——深度学习及并行化实现
  10. Golang 优化之内存对齐