S5PV210之ADC

发布者:BlissfulSunrise最新更新时间:2024-12-16 来源: cnblogs关键字:S5PV210  ADC  分辨率 手机看文章 扫描二维码
随时随地手机看文章

先对S5PV210的ADC的主要特征做个简单介绍:

1.分辨率(输出离散值的个数)可以是10位或者12位(可以通过TSADCCON0/TSADCCON1的第16位RES进行设定,将RES设为0表示10位,设为1表示12位)

         2.10通道的模拟输入(AIN[9]---AIN[0])

        3.输入电压为0--3.3V

       4.最大转换速率:1MSPS

   对于转换速率的计算:

   S5PV210_UM手册上是这样介绍的:

   当PCLK=66MHz时,预分频比P=65时,12位分辨率的转换时间如下:

   A/D转换频率=66MHz/(65+1)=1MHz

    A/D转换时间=1/(1MHz/5cycles)=1/200kHz=5us

注意:A/D的转换频率最大可达5MHz,所以A/D转换时间最大可达1MSPS

对于官方手册上,所说的A/D转换时间的计算,可能我们第一次看的时候会不太理解,会什么要1MHz/5cycles?

原因是这样的,因为A/D转换时间包括A/D建立时间,1位1位转换时间,保存数据时间等等,加起来一共是5个时钟周期,所以会是1MHz/5cycles

其实对于  A/D转换时间=1/(1MHz/5cycles) 可以换种写法   A/D转换时间=1/1MHz *5=5us 也是一样的

所以当最大转换频率达到5MHz时,A/D转换时间可达1MSPS(SPS为每秒的采样率)

       5.具有采样保持功能


接着就是介绍涉及ADC操作的一些寄存器

     虽然ADC有10通道的模拟输入,但是只有AIN[0],AIN[1]没有复用,像AIN[2]--AIN[9]是复用为触摸屏的两路控制信号(XM,XP)

     所以这里只介绍涉及AIN[0],AIN[1]的相关寄存器

     操作AIN[0],在编写ADC的驱动代码的时候,一般情况下只需考虑三个寄存器,分别是

   

AIN[0]寄存器
寄存器映射地址读/写描述复位值
TSADCCON00xE170_0000R/WTS0/ADC控制寄存器0x0000_3FC4
TSDLY00xE170_0008R/WTS0/ADC延时寄存器0x0000_00FF
TSDATX00xE170_000CRTS0/ADC转换数据X寄存器---



上面表格即是操作AIN[0]时需要用到的三个寄存器,对于上面的映射地址,在编写驱动代码的时候可使用ioremap的形式进行映射,然后强制转为(volatile unsigned long *)指针形式,接下来就可以直接操作寄存器了(具体使用方式见前面博客adc的驱动代码里面有具体操作)。


     

操作AIN[1],在编写ADC的驱动代码的时候,一般情况下只需考虑三个寄存器,分别是

   

AIN[1]寄存器
寄存器映射地址读/写描述复位值
TSADCCON10xE170_1000R/WTS1/ADC控制寄存器0x0000_3FC4
TSDLY10xE170_1008R/WTS1/ADC延时寄存器0x0000_00FF
TSDATY10xE170_100CRTS1/ADC转换数据Y寄存器---


对于AIN[1]的使用方式与AIN[0]的使用完全一样,需要修改的只是映射地址而已。


最后介绍一下ADC的操作流程,其实熟悉S3C2440或者S3C6410的人来看S5PV210的ADC,就会发觉很简单,其实他们的操作流程基本上是一样的

主要分三步:


 1.使用clk_get获取adc时钟,接着使用clk_enable使能adc时钟

2.设置ADCCON的工作方式,预分频比之类的

3.当开始读取数据值时,开启ADC转换,判断是否开始转换,判断是否转换完成,最终读取数据,返回给用户空间

对于熟悉S3C2440的人,会发觉一点,S5PV210的控制寄存器,是没有通道选择的,因为在使用之前,直接用ioremap进行地址的映射时,就相当于选择了不同的通道,所以无需通道选择了。

以上只是对S5PV210的ADC做了个简单介绍,详细信息请参看S5PV210_UM手册。


关键字:S5PV210  ADC  分辨率 引用地址:S5PV210之ADC

上一篇:X210串口配置与stdio移植
下一篇:S5PV210之SPI和linux 内核3.0.8之SPI解析

推荐阅读最新更新时间:2026-03-19 11:25

S5PV210ADC
先对S5PV210的ADC的主要特征做个简单介绍: 1.分辨率(输出离散值的个数)可以是10位或者12位(可以通过TSADCCON0/TSADCCON1的第16位RES进行设定,将RES设为0表示10位,设为1表示12位) 2.10通道的模拟输入(AIN ---AIN ) 3.输入电压为0--3.3V 4.最大转换速率:1MSPS 对于转换速率的计算: S5PV210_UM手册上是这样介绍的: 当PCLK=66MHz时,预分频比P=65时,12位分辨率的转换时间如下: A/D转换频率=66MHz/(65+1)=1MHz A/D转换时间=1/(1MHz/5cycles)=1/200kHz
[单片机]
嵌入式开发(S5PV210)——ADC和触摸屏
1、ADC介绍 ADC(analog digital converter)就是AD转换,把模拟量转换为数字量。CPU本身是数字的、离散的,而外部世界却是模拟的、连续的,所以外界的信息是不能直接被计算机进行处理,需要先将模拟量转换为数字量。现在的CPU都是二进制的,数据用n位二进制来表示,但是现实生活中的时间、电压、高度等物理量都是连续分布的,在0到1之间就有无数个数,如果用数学来描述当前的物理量大小可能需要无限小数位,显然计算机是不可能用无限个二进制位来存储这个物理量,于是就有了量取的精度,用有限位的二进制来表示当前物理量,会损失掉一定的精度,不能百分百真实的表示,但是这点偏差是可以接受的。而ADC就是将当前现实中的物理量,根据精
[单片机]
嵌入式开发(<font color='red'>S5PV210</font>)——<font color='red'>ADC</font>和触摸屏
S5PV210的电阻触摸屏&ADC控制器
一、ADC与触摸屏控制器结构框图 1、S5PV210一共支持10路模拟输入,分别为AIN0-AIN9.其中AIN0和AIN1是只做模拟输入的,AIN2-AIN9分别可以支持2个电阻式触摸屏,所以这个就是上个博客中电阻式触摸屏的 第一种接口,将电阻触摸板传感器直接与SoC控制器相连。所以4个模拟输入引脚负责一个电阻式触摸屏。 2、从上面可以看出来,整个控制器由多个部分组成。AD转换和触摸屏控制部分有2个附属单元。其中一个是反向控制AINn引脚的逻辑(图中的箭头),主要作用是在触摸屏获取坐标的过程中分时给xy方向供电和测量;第二个是中断产生部件,对于AIN1和AIN0来说,当AD转换完成之后就会通过INT_ADC0和INT_A
[单片机]
<font color='red'>S5PV210</font>的电阻触摸屏&<font color='red'>ADC</font>控制器
详述ADC精度和分辨率的概念差异
在与使用模数转换器 (ADC) 的系统设计人员进行交谈时,我最常听到的一个问题就是: 你的16位ADC的精度也是16位的吗? 这个问题的答案取决于对分辨率和精度概念的基本理解。尽管是两个完全不同的概念,这两个数据项经常被搞混和交换使用。 该文详述了这两个概念间的差异,并将深入研究造成ADC不准确的主要原因。 ADC的分辨率被定义为输入信号值的最小变化,这个最小数值变化会改变数字输出值的一个数值。对于一个理想ADC来说,传递函数是一个步宽等于分辨率的阶梯。然而,在具有较高分辨率的系统中( 16位),传输函数的响应将相对于理想响应有一个较大的偏离。这是因为ADC以及驱动器电路导致的噪声会降低ADC的分辨率。 此外,如果DC电
[电源管理]
详述<font color='red'>ADC</font>精度和<font color='red'>分辨率</font>的概念差异
松翰单片机内部8位分辨率ADC
;目的学习内部8位分辨率ADC及数据处理 ;完整代码下载:http://www.51hei.com/f/shrad.rar CHIP SN8F27E65 //{{SONIX_CODE_OPTION .Code_Option WDT_CLK Flosc/4 .Code_Option Reset_Pin P04 .Code_Option LVD LVD_Max ; 3.3V Reset .Code_Option Watch_Dog Disable ;关闭看门狗 .Code_Option Low_Fcpu Flosc/1 .Code_Option High_Clk IHRC_16M ; Internal 16M RC Oscill
[单片机]
ADC信噪比分析及高速高分辨率ADC电路
来源:中国ic技术市场 在雷达、导航等军事领域中,由于信号带宽宽(有时可能高于10MHz),要求ADC的采样率高于30MSPS,分辨率大于10位。目前高速高分辨率ADC器件在采样率高于10MSPS时,量化位数可达14位,但实际分辨率受器件自身误差和电路噪声的影响很大。在数字通信、数字仪表、软件无线电等领域中应用的高速ADC电路,在输入信号低于1MHz时,实际分辨率可达10位,但随输入信号频率的增加下降很快,不能满足军事领域的使用要求。   针对这一问题,本文主要研究在不采用过采样、数字滤波和增益自动控制等技术条件下,如何提高高速高分辨率ADC电路的实际分辨率,使其最大限度地接近ADC器件自身的实际分辨率,即最大限度地提高ADC电路
[模拟电子]
S5PV210 uboot中的 MMU代码分析(1)
1:经过上一节的分析,如果采用SECTION虚拟地址映射的话; 程序员只需要做的事情: (1) 建立转换表,Tanslation Table; (2) 将TTB(转换表基地址Tanslation Table Base)写入协处理器CP15的C2寄存器,这里要注意转换表 基地址为16K对齐的(因为4096*32bit=16K)所以TTB的bit0-bit13为0。 (3) 使能MMU,将CP15的C1寄存器0bit写1; (4) 设置域的访问权限;设置C3寄存器; CPU/MMU做的事情: (1) CPU核心看到和用到的只是虚拟地址VA,至于VA如果去对应物理地址PA,CPU核心不理会,MVA是除CPU核心 外的其他部分看到的虚拟地
[单片机]
<font color='red'>S5PV210</font> uboot中的 MMU代码分析(1)
(一)S5PV210开发板常用易忘操作记录
一、调试串口 2、SD卡槽 (三)启动方式选择 蜂鸣器下面的白色2针插座(图中红色线圈出来的那个)为选择USB/SD卡启动的开关。默认情况下为SD卡启动,如果需要USB启动则使用短路帽(若没有短路帽,只要用其他金属导电物短路2根针即可)短接2个针脚,即可从USB启动。 (四)刷机 注意:刷andorid4.0系统使用uart2作为调试串口,android2.3、linux、wince都使用uart0作为调试串口;然后波特率设置为115200 用 fastboot 刷Android4.0: 用的镜像文件: uboot.bin、x210.img、zImage-android 用到的工具: DNW.exe fa
[单片机]
(一)<font color='red'>S5PV210</font>开发板常用易忘操作记录
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved