首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于ATt i n y 1 3的模拟量隔离采集
来源:本站整理  作者:佚名  2010-04-08 19:07:52




4.2 波特率设置
    波特率是UART异步串行通信中非常重要的参数。通信双方必须以约定好的速率通信,才能保证通信成功。波特率与异步串行协议中“位”所占用的时间密切相关。对于二进制信号,数据帧中每一位的占用时间就是波特率的倒数。因此,如何精确确定每一位的时间宽度,成为确保串口通信成功的关键因素。
    ATtiny13没有集成UART,但内部含有一个8位定时器/计数器,可利用软件控制该定时器产生波特率。MCU自带的RC振荡器可以作为时钟源,但是振荡频率存在最大±10%的误差,并且受温度影响较大。这样会造成波特率不稳,通信时可能出现接收不到数据,或者丢数据位、出现乱码和错码的情况。ATtiny13从外部引入了7.372 8 MHz有源晶振时钟信号,从而保证了主时钟频率的稳定性。
    异步通信波特率可按式(1)计算。
   
    式中:XTAL为引入的主时钟频率;Baud为需设置的波特率;C为定时器时钟分频系数;n为8位定时器/计数器的预加载比较值。定时器/计数器工作在CTC模式(比较匹配时清零定时器)。
    XTAL即7.372 8 MHz,Baud设定为9 600,定时器时钟信号为主时钟4分频(即C=4),可得n=192。据此,8位定时器/计数器从0计到192时,产生比较中断,软件控制发送新的一位信息。
4.3 数据发送
    UART异步串行协议规定了在没有数据帧发送时,通过逻辑“1”表示目前处于闲置状态。如果有数据需要发送,首先将发送线TXD拉低成逻辑“0”,并保持一个基本时间单位;之后根据待发送数据的二进制数值,依次逐位输出。本设计中未使用奇偶校验位,相关处理略去。5位数据发送完毕后,紧接着将TXD拉高为逻辑“1”,表示该帧结束。软件UART发送流程如图2所示。

    函数Uart_SendByte(unsigned char data)实现了上述功能,一次发送5位数据。在模拟量隔离采集中,单片机不断地获取A/D转换值,并通过调用上述函数发送出去。


结 语
    本文介绍一种基于ATtiny13的模拟量隔离采集电路,受ADC最大采样速率及光耦PC817传输带宽的限制,只适用于频率变换缓慢的模拟信号。该电路体积小、成本低、接线简单,已用于开关电源成品检测。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:142,925.80000 毫秒