硬件构成
该系统硬件主要包括以下几个模块:89C51主控模块、传感器模块、A/D转换器、扩展、44780显示模块等。其中89C51主要完成外围硬件的控制以及一些运算功能,传感器完成信号的采样功能,A/D转换器主要完成模/数的转换、存储器主要完成程序和数据的存储、44780显示模块完成字符、数字的显示功能。
主控模块
系统采用ATMEL公司生产的AT89C51单片机,它带有4kB闪速式存储器、128B内存,最大工作频率24MHz,同时,具有32条输入输出线,16位定时/计数器,5个中断源,1个串行口。
2.1 传感器的选取
2.1.1 温度传感器
采用AD590集成温度传感器,此传感器是电流型的,它的特性如表1所列。
测量地表温与土温也可以用AD590集成温度传感器。由于传感器探头要插入土中,所以要将传感器及变换电路封装在金属探棒中。金属探棒可以起到防水、防腐的作用。又因为金属的导热性好,所以金属探棒不会影响传感器对温度的测量。
2.1.2 湿度传感器
采用IH3605电容式集成湿度传感器。其输出电压较高且线性较好。尢需进行信号放大和信号调整,可直接进行A/D转换。其特性表如表2所列。
2.1.3 光照强度传感器
本系统选用北京林业大学生产的光量子传感器,主要由感应元件和匹配滤光片系统组成。感应元件选用硅太阳能电池,在太阳辐射作用下产牛的光电流与辐射强度成线性关系。标准的硅光电池的光谱响应在400nm-1100n。的范围,峰值波长为800nm。光量子传感器是一种灵敏的蓝色硅电池,在近红外区域700nm-1100nm只有相当低的响应,而在可见区域400~700nm比一股硅电池的响应却要高得多,峰值响应在550~-650nm之间。光量子传感器在光的照射下,输山变化十分微弱的电流信号(约几个微安)。所以光合有效辐射的检测电路应选用低漂移,共模抑制比高的集成运算放大器。放大电路采用电流一电压变换放大电路,如图1所示。光电子传感器的电气特性如表3所列。
2.1.4 C02浓度传感器
C02浓度传感器选用红外线气敏传感器。其测量范围宽,达-2000ppm,检测精度可达15%。可以选用这种方法来监测温室空气中C02的浓度。
2.1.5 土壤水分传感器
选用TDR-3型土壤水分传感器。TDR-3土壤水分传感器可测量土壤水分的体积百分比,与土壤本身的机理无关,是目前国际上最流行的土壤水分测量方法。TDR-3型土壤水分传感器是一款高精度、高灵敏度的测量土壤水分的传感器。
2.2 多路开关CD4051
本系统选用了单端8通道模拟多路开关CD4051。它由电平位移电路,带禁止端INH的8选1译码器和由该译码器对各个输出分别加以控制的八个CMOS双向模拟开关组成。其引脚如图2所示。INH为高电平时,八路通道全部不通。A、B、C分别为输入选通地址端,0-7为八路模拟输入信号端,COMMON端为被选通模拟信号的输出端CD4051传送的信号范围从VFE到VDD。由于环境因子的采样信号幅值为0~2V,所以将VEE端与Vss端相连并接地,VDD端接电源端Vcc,使得信号传送范周为O-Vcc,即0~+5V,INH,A,B,C四端连接四根地址线,控制信号的选通,其真倩表见表4。选通的信号从COMMON端送到A/D电路。
2.2.1 通道的分配
七路环境因子的测量信号各占一个通道。通道分配如表5所列。
2.3 A/D转换电路
MC14433采用8位数据输出,转换精度为1/2000,相当于11位二进制A/D转换器的精度。它还具有抗干扰性好、自动校零、自动极性输山、自动量程控制信号输出、单基准电压、外接元件少等特点。MC14433的引脚及外接元件如图3所示。
MC14433的转换速度较慢,不宜用查询方式。系统采用如图3中所示的中断方式。每次A/D转换结束,EOC都输出一个正脉冲,其宽度为0.5个内部时钟振荡周期,如图3所示。将EOC端接入89C51的外部中断1引脚,利用EOC脉冲的下降沿触发中断。单片机处理中断服务程序,接收数据。动态分时输出 BCD码的QO-Q3和DSi-DS;与89C51的PI口相连。
2.4 扩展电路与地址分配
2.4.1 扩展电路
89C51芯片上带有扩展功能引脚。
-EA/VPP端:系统中该引脚接+5V高电平,程序计数器PC先访问内部程序存储器,当PC值超过OFFFH(4k)时,转向执行外部程序存储器内的程序。
-PSEN端:外部程序存储器读选通信号。本系统未扩展外部程序存储器,此引脚空。
ALE/-PROD端:系统扩展外部存储器时ALE输出锁存信号。
89C51内部有128个字节的RAM存储器。存实时数据采集和处理时,仅靠片内的RAM是不够的,还需要利用89C51的扩展功能扩展外部数据存储器。常用的数据存储器有静态SRAM和动态DRAM。由于DRAM需要不断刷新,设计时要增加刷新电路,电路复杂,可靠性差。因此SRAM在单片机测控系统中应用更普遍。
木系统采用常用的2KX8位SRAM6116。它采用CMOS工艺制造,单一+5V电源,典型存取时间200ns。与89C51硬件连接如图4所示。74LS373是带三态门的8D锁存器,用作地址锁存器。
2.4.2 端口及地址分配
端口及地址分配如表6所列。
根据以上端口分配,可以确定外设地址为:
多路开关CD4051:XO-X7对应BOH-B7H;B8H-BFH全不通;
外部扩展RAM:0800-OFFFH,共2k;
执行信号输出依靠P2.5线选锁存器74LS373,后将控制字从PO口输山到74LS373来完成。
2.5 执行信号输出
本系统的执行信号输出电路为试验性的仿真电路。系统模拟八路执行信号,针对七路环境因子信号的监视情况,主控机发出控制指令,控制单片机开启一路或多路执行信号电路,以实现对环境因子状态的调控。执行输出电路由控制字锁存器、发光二极管、电阻组成。各路执行信号所代表的执行机构或系统如表7所列。
2.6 通信方式
本系统是温室群的监控系统,它是由多台前沿机和主控机构成的网络组成的。因此系统的状态监视、环境控制等都是通过网络通信来实现的。所以,前沿机的通信电路是系统重要组成部分。
温室群环境监控系统的实时性要求不高,传输的信息量也不太大,因此串行异步通讯可以满足其通讯需求,并且具有线路简单,易于实现的优点。本系统采异步通讯。温室群环境监控系统要求远距离数据传送,对数据传送速率要求不太高并要有一定的抗干扰能力,因此RS-422最适合系统的要求。适当降低传输速率,如9600bit/s,可以使传送距离达到1200m以上,完全满足系统要求。主控机口通信采用主机板上空闲的标准25芯COM2 口,进行电平转换后挂接RS-422总线。使用这种转换器时可以使用与RS-232相同的通讯软件而无需进行修改。其引脚定义如表8所列。
本系统采用RS-422与TTL电平转换常用芯片:传输线驱动器SN75174;传输线接收器SN75175,SN75174是一具有三态输出的单片四差分线驱动器。SN75175是具有三态输山的单片四差分接收器。它们的设计符合EIA标准RS-422规范,适用于噪声环境中总线线路较长的多点传输。芯片采用+5V电源,与其他芯片一致。通信线路采用标准RS-422九芯插接件。电路如图5所示。
2.7 监控网络
本系统采用总线型监控网络。总线型拓朴结构如图6所示。在总线型控制网络中,主控站通过总线来访问各个前沿机。只有主控站有权控制总线,而各前沿机则不可以,并且各个前沿机之间不能直接进行通信。这种拓朴结构的特点是:数字化的数据通过串行输入/输出总线进行传送;通讯协议采用RS232,RS422,RS485等;系统扩展较为灵活:通信速率较低。
2.8 44780显示模块
本系统采用44780驱动的LCD,HD44780(KS0062)是用低功耗CMOS技术制造的大规模点阵LCD控制器(兼带驱动器),和4bit/8bit微处理器相连,它能使点阵LCD显示大小写英文字母、数字和符号等丰富的信息,同时有较强的通用性应用,使用方便,用户能用少量元件就可组成一个完整点阵LCD系统,送入相关的数据和指令即可实现所需的显示。
44780显示模块有8条数据线,3条控制线,可与微处理器或微控制器相连,通过送入数据和指令,就可使模块正常工作,44780显示模块和89C51单片机连接电路如图7所示。
2.9 抗干扰设计
在微机测控系统中,系统抗干扰性能的好坏直接影响到整个系统工作的可靠性与安全性。因此,抗干扰设计是系统设计的一个主要内容,本系统采用的是由硬件和软件相结合的抗干扰措施。
2.9.1 系统硬件抗干扰设计
(1) 滤波技术
将电源变压器的进线段加入滤波器,以消弱瞬变噪声干扰;在直流电源线和地线之间接滤波电容,以抑制电源噪声。
(2) 去耦电路
存印刷电路板的各个集成电路的电源线端与地线端之间配置去耦电容。
(3) 屏蔽技术
屏蔽技术主要由电场屏蔽,电磁场屏蔽和磁场屏蔽三类,本系统是电场和电磁场屏蔽的方法。主要使用低电阻材料作为屏蔽材料,把需要隔离的部分保卫起来。磁场屏蔽则应采用高导磁率的材料。
(4) 光电隔离:
再I/O通道上采用光电隔离器,将单片机系统与各种传感器、开关从电器上隔离开来,很大一部分干扰可被阻挡
2.9.2系统软件抗干扰设计
对于微机测控系统,仅仅考虑硬件的抗干扰是远远不够的,采取一定的软件抗干扰措施非常必要,它不仪能降低系统的硬件成本,又可以充分发挥软件的优势,使系统具有自我诊断,自我恢复的能力。本系统采用的软件抗干扰措施主要有以下几种:
(1) 数字滤波技术,采用数字滤波技术除去输入信号中所掺杂的各种随机干扰。 (2) 软件陷阱技术,当系统受剑干扰,PC值发生变化,程序“乱飞”等情况,可以用软件陷阱和看门狗将程序拉回到复位状态。具体的讲,可以在RAM中埋一些标志,在每次程序复位时,通过这些标志,可以判断复位原因并根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不易察觉到程序被重新复位过。