| |
基于RS-485总线的数据采集系统(二) |
| |
作者:苏晓龙? 王香婷??? 中国矿业大学 |
| |
|
| |
1.1.4通信模块 |
| |
RS-485总线采用双绞线差分传输方式,可连接成半双工和全双工方式,最远传输距离为1.2km。系统数据通信采用半双工通信方 |
| |
式,即整个网络中任一时刻只能由一个节点成为主节点,处于发送状态,并向总线发送数据,其他的节点都必须处于接受状态, |
| |
如果2个或2个以上节点同时向总线发送数据,将导致所有发送数据失败,因此通信网一般采取主从式,即主节点控制整个网络的 |
| |
通信时序,使总线上的各节点分时使用总线,解决总线数据传输的冲突。 |
| |
总线驱动芯片选用RS-485接口芯片SN75LBC184,它采用单一电源,电压为3~5.5V时都能正常工作。与普通的RS-485芯片相比 |
| |
,它不但能抗雷电的冲击,而且能承受高达8kV的静电放电冲击,片内集成4个瞬时过压保护管,可承受高达400V的瞬态脉冲电压 |
| |
,因此它能显著提高防止雷电损坏器件的可靠性。对一些环境比较恶劣的现场,可直接与传输线相接,而不需要任何外加保护元 |
| |
件。该芯片还有一个独特的设计,当输入端开路时,其输出为高电平,这样可保证接收器输入端电缆有开路故障时,不影响系统 |
| |
的正常工作。另外它的输入阻抗为RS-485标准输入阻抗的2倍(≥24kΩ),故可以在总线上连接64各收发器。芯片内部设计了 |
| |
限斜率驱动,使输出信号边沿不会过陡,使传输线上不会产生过多的高频分量,从而有效扼制电磁干扰。总线驱动芯片和单片机 |
| |
的连接采用简介连接,如图7所示。 |
| |
|
| |
1.1.5数据存储模块 |
| |
该模块用来存储下位机穿过俩的压力数据。系统对数据存储器的基本要求是存储容量要大,掉电数据不容易丢失,能保存较长时 |
| |
间,易于扩展容量。基于以上要求,选用了遵循IIC总线串行扩展技术的24C256.。单片机和24C256之间的数据交换完全遵照 |
| |
IIC总线的规定,即单片机作为主机,24C256作为从机,所有操作都是由SDA?? 和SCL 2个脚位的状态(共有4个状态:开始、停 |
| |
止、数据和应答)来确定。24C256和单片机的连接图如图8所示。 |
| |
|
| |
1.1.6时钟模块 |
| |
采用实时时钟芯片DS12C887为系统产生时间基准,它和单片机的连接如图9所示。可当作单片机的外部RAM处理,通过PO口对
|
| |
DS12C887进行操作,通过其中断引脚IRQ向单片机发出中断,使单片机读出时间。 |
| |
|
| |
2.软件设计 |
| |
系统软件框图如图10所示。一级目录分为上位机程序、通信程序和下位机程序;二级目录分为数据采集程序模块、模拟多路开关
|
| |
控制程序模块、数据处理程序模块、下位机通信程序模块、上位机通信程序模块、显示程序模块、存储程序模块、时钟程序模块 |
| |
以及键盘控制模块。每个二级程序模块又由更小的函数组成,这样的设计方法容易修改和测试。 |
| |
|
| |
软件程序设计按照自顶向下的原则,按功能模块化划分,采用C语言编程实现各模块功能,以子程序的形式进行封装,对外部提 |
| |
供规定的接口,再按照系统流程要求进行模块组合,最后实现整个系统。 |