实验三数模转换设计实验(修改)解答.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验三 数模转换设计实验 一、 实验目的: 1、。 、。 二、实验原理: 数字模拟转换器(DAC)常用于电脑和模拟世界的一种设备,例如控制线性致动器,发动机,模拟显示等仅仅是将数字信号转换成模拟信号,如数字滤波器 (二) PSOC单片机内部DAC 其特点主要包括: 可调255级步长的电压或电流输出; 可编程的台阶大小(取决于范围); 8位标定用于校正25%的增益误差; 电流输出模式下,源(source)和吸收(sink)选项; 电流模式下,8Msps的转换率;电压模式下,1Mbps的转换率。 表5-1 DAC寄存器组 通过设置寄存器DACx_CR0[4],使DAC工作在电流模式下,输出电流范围为0-32uA,0-256uA和0-2.048mA。IDAC能通过配置寄存器DACx_CR1[2],将转换器配置为源电流(即从输出端向外电路流出的负载电流)和吸收电流(外电路流入输出端的负载电流)模式。 此外,也可以使用UDBDACx_CR1[3]位来使能使用UDB输入。通过设置寄存器DACx_CR0[4],使DAC工作在电压模式下,DAC输出电流通过电阻连接,输出电压的范围通过设置寄存器DACx_CR0[3:2],将其电压输出范围设置为0-1.024V或者0-4.096V。 在电压模式下,任何连接到DACVDAC的输出不被缓冲)。 在电压模式下,转换率最高为1Mbps。此外,在4V模式下比1V模式转换速度要慢,这是由于到Vssa的电阻负载比1V的负载大4倍。在4V模式下,最高转换速度 为250kbps。 下图给出了DACDAC_SWx寄存器来控制。 图5-1 DAC结构 DAC中可用8个标定位来消除DAC的增益误差。cal[7:0]的默认输出是。比默认值低将降低增益;反之增加。使用DACx_TR寄存器完成标定,标定的最小分辨率是 LSB的0.5,即表示有可以通过标定来修正25%的增益误差。采样标定过程如下: =255,Cal码=128,捕获DAC的输出(dac_vout/dac_iout); 确定LSB的增益误差; 使用正确的标定码,捕获DAC的输出(dac_vout/dac_iout)。 通过将两个电流DAC的输出求和,可以实现更高分辨率的电流输出,如图所示,每一个有不同的输入部分。 图5-2 高分辨率DAC结构 三、实验器材: 序号 名 称 型号与规格 数 量 备注 1 CY8CKIT-030 1 2 电脑 1 实验内容: 学习使用一个DAC:VDAC(8bit)模块 3.设计一个可变的正弦信号发生器 五、实验步骤: 这个实验从模拟部分的开始。 PSoC模拟型号由连续和断续电容模块组成。通过这些模块的组合可以创建得到一个数字模拟转换器的DACs,模拟数字转换器的ADCs,放大器,比较器和过滤器。要得到这些,我们需要生成的参考电压,如介于Vssa(GND),VDDA,的Vdda/2和其它的。 1、AGND和参考练习 第一步.创建一个工程 命名为Lab7A 选取一个AMux模块,命名为AMux_1 - 使一个Mux VRef组件的输入脚设置为Vdda/2 - 使AMux_1 模拟输出脚 PIN_1 设置为“High Impedance Analog”驱动 - 连接这个引脚到 P03 选取一个AMux模块,命名为AMux_2 - 使一个Mux VRef组件的输入脚设置为1.024V - 使AMux_2 模拟输出脚 PIN_2设置为“High Impedance Analog”驱动 - 连接这个引脚到 P04 选取一个AMux模块,命名为AMux_3 - 使一个Mux VRef组件的输入脚设置为Vdda(Gnd) - 使AMux_3 模拟输出脚 PIN_3 设置为“High Impedance Analog”驱动 - 连接这个引脚到 P05 配置原理图如下: 编译工程 第二步.编写程序 打开main.c、添加代码启动AMux模块选择合适的信道 这个程序的控制环为空 编译工程、下载到开发板然后运行 用示波器或万用表测出每个参考点的电平记录到下表 主程序如下: #include project.h int main() { AMux_1_Start(); AMux_1_Select(0); AMux_2_Start(); AMux_2_Select(0); AMux_3_Start(); AMux_3_Select(0);/* Place your initi

文档评论(0)

富贵礼包 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档