嵌入式Linux╲u000bA╱D转换实验.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式Linux╲u000bA╱D转换实验

嵌入式Linux A/D转换实验 北京博创兴业科技有限公司 实验目的 了解A/D converter的原理,掌握ARM的A/D相关寄存器的功能,熟悉ARM系统硬件的A/D相关接口。 学习A/D converter驱动的开发 实验内容 1、学习A/D接口原理,了解实现A/D系统对于系统的软件和硬件要求 2、利用外部模拟信号编程实现ARM循环采集前3路通道,并且在超级终端上显示。 实验原理 1、A/D转换器 A/D转换器是模拟信号源和CPU之间联系的接口,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机和数字系统进行处理、存储、控制和显示。在工业控制和数据采集及许多其他领域中,A/D转换是不可缺少的。 双积分型的A/D转换器 逐次逼近型的A/D转换器 计数型 并行比较型 电压-频率型 实验原理 双积分型的A/D转换器 双积分型A/D转换是测量输入电压Vi在T0时间内的平均值,所以对常态干扰(串摸干扰)有很强的抑制作用,尤其对正负波形对称的干扰信号,抑制效果更好。 优点:电路简单,抗干扰能力强,精度高 缺点:转换速度比较慢,常用的A/D转换芯片的转换时间为毫秒级 实验原理 逐次逼近型的A/D转换器原理 实验原理 逐次逼近式的A/D转换器的主要特点是: 转换速度较快,在1—100/μs以内,分辨率可以达18位,特别适用于工业控制系统。转换时间固定,不随输入信号的变化而变化。抗干扰能力相对积分型的差。 例如,对模拟输入信号采样过程中,若在采样时刻有一个干扰脉冲迭加在模拟信号上,则采样时,包括干扰信号在内,都被采样和转换为数字量,这就会造成较大的误差,所以有必要采取适当的滤波措施。 实验原理 2、A/D转换的重要指标 分辨率(Resolution) 转换时间(Conversion Time) 电源灵敏度(power supply sensitivity) 量程 输出逻辑电平是否与TTL兼容 工作温度范围 实验原理 ARM自带的十位AD转换器 ARM S3C2410芯片自带一个8路10位A/D转换器,并且支持触摸屏功能。ARM2410开发板只用3路作A/D转换器 最大转换率为500K, 非线性度为正负1.5位 实验原理 如图为A/D模块连接原理图 实验原理 ADC及触摸屏控制器的工作模式: ADC普通转换模式(Normal Converson Mode) 在A/D转换中就是采用的这种模式,后三种模式一般用于触摸屏控制中 独立X/Y轴坐标转换模式(Separate X/Y Position Conversion Mode) 自动X/Y轴坐标转换模式(Auto X/Y Position Conversion Mode) 中断等待模式(Wait for InterruptMode) 闲置模式(Standby Mode) 实验原理 ADC的寄存器功能介绍 ADCCON :ADC控制寄存器 设置ADC的工作模式、转换频率(通过设置分频进行设置)、以及相关的使能控制; ADCTSC :触摸屏控制寄存器 在普通A/D转换模式下,该寄存器的AUTO_PST、XY_PST均置零 ADCDLY :ADC转换周期等待定时器 ADCDAT0 :ADC数据寄存器0 在A/D转换实验中,转换的十位数据存储在ADCDAT0 [9:0] ADCDAT1 :ADC数据寄存器1 注:详细设置参考指导书和用户手册 实验原理 A/D转换器在扩展板的连接 实验原理 A/D转换器在扩展板的连接 实验原理 实验内容 1、在驱动模块中添加write接口,实现写入数据功能 2、参考main.c程序,编写系统的应用程序,实现读取的功能。 3、修改Mikefile文件,编译应用程序 代码分析-- 数据结构 typedef struct { struct semaphore lock;//用于并发控制的信号量 wait_queue_head_t wait;//等待队列的对象锁 int channel; //选择AD转换的通道0 1 2 int prescale; //设置转换时钟的分频参数 }ADC_DEV; 代码分析 ADC的初始化 设置ADC工作模式为普通工作模式 /* normal ADC */ ADCTSC = 0; //XP_PST(NOP_MODE); 注:这里暂不讨论关于驱动程序的相关内容,在驱动部分再作详细介绍 代码分析--read操作 1、获取信号量 2、启动AD转换 3、等待ADC转换结束/中断 4、中断处理 5、读运算结果 6、传递数据到用户空间 7、释放

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档