- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.2 数/模转换器 转换原理 T型电阻网络D/A转换原理框图 有图可得I0=IL0,根据基尔霍夫电流定律:IL1=IL0+I0 , 分析C点到A点的电阻及到地线的电阻可得 I1=IL1,则I0=1/2 I1, 同理可推得I1=1/2 I2、I2=1/2 I3,所以可得如下关系: B为一个二进制数,T型电阻网络的D/A转换输出电压量绝对值与该二进制数的大小成正比 事实上,S3~S0的状态是受b3b2b1b0控制的,并不一定是全“1”,所以流入A点的电流应该是: 性能指标 主要的性能指标有4条: (1)???分辨率(resolution) 指D/A转换器能分辨的最小输出模拟增量,为满量程值的2-n倍。例如,满量程为10V的8位D/A芯片的分辨率为10V×2-8=39mV;而16位的D/A是10V×2-16=153μV。 (2)?????? 转换精度(conversion accuracy) 转换精度是指满量程时D/A的实际模拟输出值和理论值的接近程度。例如,满量程时理论输出值为10V,实际输出值是在9.99~10.01之间,则其转换精度为±10mV。通常为LSB/2。LSB (Least Significant Bit)是分辨率,指最低1位数字变化引起输出电压幅度的变化量。 (3)偏移量误差(offset error) 偏移量误差是指输入数字量为零时,输出模拟量对零的偏移值。这种误差通常可以通过D/A转换器的外接VREF和电位器加以调整。 (4)线性度(linearity) 线性度是指D/A转换器的实际转换特性曲线和理想直线之间的最大偏差。通常线性度不应超出±1/2LSB。 除此以外,指标还有转换速度、温度灵敏度等,通常这些参数都很小,一般不予考虑。 5.2.2 C8051F020的DAC功能 C8051F020 单片机有两个片内12 位电压方式数/模转换器(DAC)。 每个DAC的输出摆幅均为0V 到(VREF-1LSB),对应的输入码范围是0x000 到0xFFF。 控制寄存器DAC0CN 和DAC1CN 使能/禁止DAC0 和DAC1。 在被禁止时,DAC 的输出保持在高阻状态,DAC 的供电电流降到1μA 或更小。 每个DAC 的电压基准在VREFD引脚提供。如果使用内部电压基准,为了使DAC 输出有效,该基准必须被使能。 DAC 功能框图 控制DAC工作的主要是控制寄存器DAC0CN和DAC1CN,两个SFR分别控制DAC0和DAC1,以DAC0CN为例来说明。 位4-3: DAC0MD1-0:DAC0 方式位。 00:DAC 输出更新发生在写DAC0H 时。 01:DAC 输出更新发生在定时器3 溢出时。 10:DAC 输出更新发生在定时器4 溢出时。 11:DAC 输出更新发生在定时器2 溢出时。 位2-0: DAC0DF2-0:DAC0 数据格式位: 000:DAC0 数据字的高4 位在DAC0H[3:0],低字节在DAC0L 中。 其余类推。 5.2.3 DAC 输出更新 每个DAC 都具有灵活的输出更新机制,允许全量程内平滑变化并支持无抖动输出更新,适合于波形发生器应用。 1.根据软件命令更新输出 在缺省方式下(DAC0CN.[4:3] =‘00’),DAC0 的输出在写DAC0 数据寄存器高字节(DAC0H)时更新。 注意:写DAC0L 时数据被保持,对DAC0 输出没有影响,直到对DAC0H的写操作发生。 2.基于定时器溢出的输出更新 当DAC0MD位(DAC0CN.[4:3])被设置为‘01’、‘10’或‘11’时(分别为定时器3、定时器4 或定时器2),对DAC 数据寄存器的写操作被保持,直到相应的定时器溢出事件发生时DAC0H:DAC0L 的内容才被复制到DAC 输入锁存器,允许DAC 数据改变为新值。 5.2.4.DAC 输出定标/调整 对DAC0 进行写入操作之前应对输入数据移位,以正确调整DAC 输入寄存器中的数据。 这种操作一般需要一个或多个装入和移位指令,因而增加软件开销和降低DAC的数据通过率。 数据格式化功能为用户提供了一种能对数据寄存器DAC0H 和DAC0L 中的数据格式编程的手段。 三个DAC0DF 位(DAC0CN.[2:0])允许用户在5 种数据字格式指定一种,见DAC0CN 寄存器定义。 5.2.5 数模转换举例 D/A转换器的编程相对A/D转换器要简单。 按照要求设置好输出更新的条件,将要转换的数值量送到DAC数据寄存器就行。 下面是产生锯齿波和阶梯波的示例。 将DAC0设置成输出更新发生在写DAC0H 时,即直接更新。 DAC1设置成输出更新发生在定时器2 溢出时。 产生阶梯波 DAC0用程序
文档评论(0)