基于AT90S2343的串口智能转换器
则可确定是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
- 基于DSP核信号采集系统通讯接口电路设计(01-16)
- 基于DSP核信号采集系统通讯接口设计(04-02)
- 教学办公用电智能管理系统简介(12-20)
- CANopen 总线应用札记:关于通讯接口的针脚定义(12-14)
- 论利用OOP设计思想的通讯接口类的设计与应用(07-31)
- I2C总线通讯接口器件的CPLD实现(10-29)