新闻中心

EEPW首页>嵌入式系统>设计应用> 基于AVR单片机的串行接口智能转换器

基于AVR单片机的串行接口智能转换器

作者: 时间:2012-03-31 来源:网络 收藏

通过以上的脉冲调频方式的自举升压调节,使输出电压稳定在+5V。

输出电压由下式确定:
VOUT=Vw1+Veb+Ib×R2≈Vw1+Veb ≈ 5 V

2.2控制工作原理RS485通讯方式是软件通过收、发使能信号来控制数据的分时接收与发送,使用同一对差分通讯总线实现双向数据通讯的半双工通讯方式,而RS232通讯不能提供这样的使能控制信号。但可以通过对主机PC-TXD信号的监测,准确计算出传送一帧数据的时间,产生收、发使能信号控制数据的分时接收与发送,实现数据的半双工通讯。以AT90S2343低功耗为核心的的具体电路如图3所示。

单片机对传送一帧数据的时间的识别方法如下:当单片机监测到主机发送数据的起始位时,开始测量PC-TXD信号的每个脉冲的脉冲宽度,计算出对应的波特率,若均属于通用波特率集合,它们中的最高波特率即是通讯波特率。否则,该脉冲宽度是发送两帧数据的间隔时间,电平负跃变的时刻是起始位的开始时刻,开始重新测量每个脉冲的脉冲宽度。当通讯波特率确定后,检测第十位的电平状态,若是低电平,则可确定是11位通讯方式。否则是10位通讯方式。由通讯波特率和通讯方式计算出传送一帧数据的时间。

45.gif

通讯接收、发送数据的智能控制过程如下:每当监测到主机发送数据的起始位时,单片机输出收、发使能信号(RE=1、DE=1),控制收、发电路禁止接收、允许发送数据,主机数据发送到RS485通讯总线上,同时定时器开始计时。当计时时间等于发送一帧数据的时间时,单片机输出收、发使能信号(RE=0、DE=0),控制收、发电路允许接收、禁止发送数据。此时,主机可以接收RS485通讯总线上的从机数据。当单片机又监测到主机发送数据的起始位时,重复上述的发送过程。

在通讯过程中,波特率测量和收、发数据智能控制必须同步进行,否则就会造成通讯数据的丢失。

为适应高速通讯的要求,电路中采用美国Atmel 公司的AT90SL2343单片机。它是目前最新的单片机系列之一,其突出特点是执行速度高,片内硬件资源丰富。使用CPU内部的电源监测和可编程看门狗定时器,使电路具有较强的抗干扰能力。

单片机I/O端口的分配和功能:PB3输入,监测主机PC-TXD信号;PB0输出,接收使能信号;PB4输出,发使能信号;PB2输入,由K1设置双工或半双工通讯方式。

3 软件设计

3.1 程序流程框图

口智能扩展卡的程序流程图如图4所示。

3.2 半双工通讯方式的软件设计

在RS485半双工通讯方式下,首先允许接收、禁止发送数据。在检测到PC-TXD信号的数据起始位之后,通讯禁止接收、允许发送数据,并开始计时。通过检测数据信号的每个脉冲宽度,确定其波特率和数据的发送位数,进而计算出每帧数据允许发送的时间。当计时时间大于或等于该时间时,该通讯接口禁止发送并允许接收数据。在接收状态下,CPU重复检测发送数据的起始位。当检测到发送数据的起始位时,重复上述的数据发送的控制过程。



评论


相关推荐

技术专区

关闭