(1.西安交通大学电气工程学院,陕西 西安710049;
2.西安电子科技大学电子工程学院,陕西 西安710071)
摘 要:介绍以单片机80C196KC为处理器的多功能无功补偿仪的通信设计。本系统采用两种异步串行通信接口:RS-232C和RS-485,文中详尽阐述了该装置的硬件电路和软件的具体实现,并对该装置所组成的网络做了阐述。
关键词:无功补偿;单片机;串口通信;中断
1 串行通信软硬件设计
1.1 硬件设计
●MAX232直接与微处理器80C196KC的串行口(Txd,Rxd)相连接构成RS-232C接口,作为现场数据调试,系统参数设定以及电容器投切的电压、电流阈值的设置,可与PC机直接通信。
●由于80C196KC只有一个串行端口,因此,利用8251并/串、串/并的转换完成串行端口扩展功能,8251是一种通用的同步/异步/发送器(USART),8251与MAX485的组合可实现串行端口远程通信。本系统由两组8251,MAX485组成(设为第0路和第1路),构成两组RS-485接口。其中一组与上位机通信,另一组完成与下位机的通信。
1.2 软件设计
●为满足接收数据的实时性,三组通信的数据接收均采用中断处理。MAX232组成的串行RS-232C通讯(发送与接收)均在中断中完成。
●需要对80C196KC的串行口中断进行正确初始化,对8251芯片正确初始化。
●在由8251和MAX485组成的两组RS-485通信电路中,数据接收都利用HSI中断。当有数据接收到时,进入中断程序;中断程序首先识别由哪一组产生的中断,然后进入相应处理程序。数据发送则在主程序中完成,而不用中断完成。MAX485是单工方式,它的读写控制由P1口的某一个管脚来控制,在发送时为保证数据准确性,MAX485发送使能开启以后需要短暂延时,然后向8251写入发送数据,当检测到8251的数据发送完毕信号时,也需要短暂延时(由时序分析应大于100μs),然后关闭发送使能,MAX485平时应置读使能状态。
2 80C196KC串行RS-232C通信的硬件与软件实现
2.1 串行RS-232C通信硬件电路
80C196KC以RS-232C通信的硬件电路如图1所示。
MAX232是一种双组驱动器/接收器,片内含有一 个电容性电压发生器,在单5V电源供电时提供EIA/TIA-232-E电平,每个接收器将232电平输入转换为5VTTL/CMOS电平。80C196KC的串行端口(txd,rxd)与MAX232相连,PTxd/PRxd与PC机串行端口的读/写相连,实现80C196KC的串行端口与PC机的通信。
2.2 串行RS-232C通信软件实现
3 80C196KC串行RS-485通信的硬件与软件实现
3.1 串行RS-485通信的硬件设计
以RS-485通信的硬件设计如图2所示。
8251的时钟是这样提供的:利用4.9152M时钟源,经4040计数器分频,4分频管脚供时钟信号,32分频管脚供发送和接收数据时钟。通过寄存器的设置,波特率因子为16,串行端口速率则为9600bps。
图中CS485A、CS485B分别与80C196KC的p1.0、p1.1相连接。RXD1、RXD2分别与hsi.0、hsi.1相连接。CS8251A、CS8251B均由74LSl38产生片选信号。WR、RD、数据线、地址线与80C196KC的相应控制、数据、地址总线相连接。
3.2 串行RS-485通信的软件设计
4 无功补偿仪的网络结构
无功补偿仪与上位机以及现场仪表组成的网络结构如图3所示。
本系统采用RS-485总线标准,网络系统具有高速、高可靠性。它是一种分布式控制系统。
总站与多个无功补偿仪通信以汇总数据。无功补偿仪之间不进行通信。图3中的现场仪表是下位机,与无功补偿仪通信将现场用电量等数据传送给无功补偿仪。现场仪表之间可进行通信,这种通信功能十分重要,因为,当现场仪表与无功补偿仪之间距离较长时,远端的现场仪表可将数据送入与其临近的而且与无功补偿仪距离较近的现场仪表。这样可逐级传送,也就是说,现场仪表具有中继的功能。
5 结束语
本文所讨论的设计方法,不仅能够很好的满足多功能无功补偿仪系统与上位机进行远距离通信的要求,还能够完成与下位机进行远距离通信以及在系统现场利用串行端口对系统进行数据调试、系统参数设定的任务。所组成的网络速度较高,可靠性好。
参考文献
[1]孙涵芳.Intel16位单片机[M].北京航空航天大学出版社,1995.
[2]薛钧义,张彦斌.MCS-51/96系列单片微型计算机及其应用[M].西安交通大学出版社,1989.
[3]李朝青.PC机及单片机数据通信技术[M].北京航空航天大学出版社,1999.
[4]程军.Intel 80C196单片机应用实践与C语言开发[M].北京航空航天大学出版社,2000.
摘自 仪表技术