很多设备和其控制计算机之间采用的是RS 232标准串行接口进行通信,本文设计和实现了RS 232串行通信数据截取器,能有效地截取设备与其控制计算机之间的通信数据。
1 截取器硬件部分设计
1.1 总体框图及原理
系统原理框图如图1所示。
原理分析:具体设备与其控制计算机之间的通信线路通过电平转换分两路。一路是直接相连,保证截取器加入后不会影响它们之间的正常通信。另一路经过扩展的串口1和2,同单片机相连,保证了它们之间的通信数据能够被单片机捕获,这些数据经过单片机处理以后通过另一个扩展串口传输到上位机,实现对通信数据的截取。
1.2 器件选择
系统以常用的AT89C51单片机为处理核心,选取成都国腾公司生产的GM8123芯片将AT89C51单片机的1个全双工异步串行通信接口扩展成为3个全双工异步串行通信接口,采用MAX232芯片实现RS 232电平与TTL电平之间的相互转换。
1.3 硬件电路
系统完整的电路原理图如图2所示。系统电路包括三个部分:单片机最小系统、串口扩展电路和电平转换电路。
单片机最小系统,包括电源电路、时钟电路和复位电路,S1,S2做波特率控制开关,分别控制P0.0,P0.1的值从00~11,对应波特率为1 200~9 600 b/s。
串口扩展电路由GM8123构成,其时钟电路采用12 MHz的石英晶体振荡器构成内部时钟方式。GM8123的母串口接收引脚RXD0和发送引脚TXD0分别同单片机串口的发送引脚TXD和接收引脚RXD相连接。GM8123的复位引脚同单片机P3.6脚相连接,由P3.6控制GM8123系统复位,它的模式控制引脚MS同P3.7相连接,由P3.7进行模式选择。GM8123的发送地址线引脚STADD0,STADD1,接收地址引脚SRADD0,SRADD1依次同单片机P1口的P1.0~P1.3相连接,由单片机P1口判断是哪个子串口接收数据和选取某个子串口发送数据。
电平转换电路由两片MAX232芯片完成,实现J1,J2,J3的RS 232电平与TTL电平之间的相互转换。
2 软件设计
系统软件有两种工作模式,模式1的软件设计是实现截取数据的实时发送,截取器工作时不能脱离上位机。模式2的软件设计是实现截取数据的存储转发,截取器可以脱离上位机工作。
2.1 主程序流程设计
模式1和模式2的主程序基本相同,其主要功能有:对单片机串行中断相关寄存器的配置,对串口收发数据波特率设定及相关定时器的配置,对GM8123芯片的复位 *** 作和工作方式的相关配置。主程序流程图如图3所示。
其中由S1,S2,控制波特率设置的程序流程图如图4所示。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)