微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于AT90S2343的串口智能转换器

基于AT90S2343的串口智能转换器

时间:05-07 来源:互联网 点击:

则可确定是11位通讯方式。否则是10位通讯方式。由通讯波特率和通讯方式计算出传送一帧数据的时间。


图3 串行口智能转换器原理图

通讯接口接收、发送数据的智能控制过程如下:每当监测到主机发送数据的起始位时,单片机输出收、发使能信号(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重复检测发送数据的起始位。当检测到发送数据的起始位时,重复上述的数据发送的控制过程。

3.3 双工通讯方式软件设计

在RS422双工通讯方式下,接收和发送使能信号始终有效,同时允许接收和发送数据。


图4 程序流程图

4 结束语

电路结构简单、无须外部供电,笔者将它制作成串行口转换器直接插接在串行口插口上即可。它具有通用性强、性能可靠、结构简单、使用方便的特点。该电路使用了电源监测和可编程的看门狗监测定时器,使转换器具有较强的抗干扰能力。该转换器可广泛应用于主从式多机通讯系统。

参考文献

1. 吴秀清等,微型计算机原理与接口技术,中国科学技术大学出版社,1999.02

2. 李勋,耿德根,AVR单片机应用技术,北京航空航天大学出版社,2002.6

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top