基于AT90S2343的串口智能转换器
单片机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
评论