智能温室环境测控系统专用CPU设计
扫描二维码
随时随地手机看文章
摘要:智能温室是近年逐步发展起来的一种资源节约型高效农业发展技术,目前国内大多以单片机、通用计算机作为温室系统处理器,由于基于单因子和成本问题,其智能化和效率有待提高。在此通过对目前智能温室控制器的分析研究,提出并设计了一款16位的的单总线专用CPU,且专门针对于智能温室测控系统设计了一个浮点运算器和n个Comparray比较器,并使用VHDL语言在QuartusⅡ6.0中进行设计与仿真。所以,该CPU不但具有通用CPU的基本特性,而且更具有在农业温室控制系统领域的特殊性。
关键词:测控系统;专用CPU;Comparvay比较器;VHDL语言
温室环境测控系统的工作原理就是根据温室内外装设的各种传感设备采集或监测信息,然后传递给处理设备进行分析与处理后,控制其执行机构对温室的环境进行自动调节与控制,以达到为作物的生长发育创造最佳环境条件的目的。
1 目前智能温室环境测控系统控制器分析
由于处理器核心技术的不断进步,温室控制系统处理器的处理能力也在飞速发展,种类也在不断增多。资料显示,目前的温室控制系统结构中,在核心处理器的选择上,主要采用以下几种:
(1)工业控制机
在这种温室控制系统中其核心处理器是以工业控制机为中心的。其余2个模块:一个主要由用于环境因子采集的各类传感器组成;另一个模块主要由各种执行机构组成。控制系统的主要特点是多输入和多输出闭环控制,所以硬件的开发量比较小,软件组态方面也比较方便,市场很容就能够买到所需要的硬件及软件。工业控制机的一个显著的特点是具有标准通信接口,因此很容易实现温室的群控和网络化。其缺点是:一方面是成本较高,因为工业控制机及相应的组态软件都需要购买;另一方面是集中控制,如果核心的工控机发生了故障,那么将导致整个系统运行遭到破坏。而且在这种以工控机做为控制器的结构中,在进行系统的布线时由于多入多出结构的特点,线路铺设相当复杂,如果出现了问题在维护起来也十分不方便。
(2)单片机
在这种控制系统中其性能的好坏主要由所选用的单片机所决定。其主要特点是单片能够对全局环境进行控制和管理,对使用者的素质要求不是很高,操作起来也十分容易,而且投资成本较低。但是在系统搭建时其线路的铺设十分复杂,出现故障的几率也是相当的高,因此系统的可靠性必然受到影响;一般还是通过模拟量或开关量进行信号的输入、输出,自动化程度比较低。
(3)可编程逻辑控制器
可编程逻辑控制器是一种通用的自动控制装置。这种装置的主要特点就是将传统的继电器技术和先进的计算机技术、通信技术等融为一体。运算能力方面能够进行复杂的逻辑运算和算术运算。其控制能力方面相对较强,对于温室环境系统来说,它能够满足长期连续的工作和高效率的控制需求;在系统稳定性方面,系统性能稳定,因此可靠性比较高;在操作方面,比较灵活,而且操作方法比较简单。缺点是不能独立进行控制需要和上位机进行联合,因此在资金投入方面很大,普通的农业用户在经济能力上无法承受。
(4)嵌入式控制器
嵌入式控制器是由通用CPU演化而来的,随着嵌入式系统的快速发展,应用领域也不断扩展。再加上其“专用”的特点,在温室控制系统中的应用在日趋增多。
2 专用CPU的设计
虽然微处理器的技术在飞速的发展,处理能力也在不断的增强,从4、8、16、32至64位,但通过调查发现,16位的微处理器经历了这么多年的发展之后,生命力依然十分旺盛,在市场上具有相当高的占有率。与从16位机迅速的向32位、64位过渡的通用的计算机相比,16位微控制器从诞生至今,虽历经了从单片微型计算机到微控制器、微控制器到SoC的变迁,但在嵌入式领域16位机依然是中低端应用的一种主要机型,而且在未来相当长的一段时间内,这个势头仍然会持续下去。因为这是由嵌入式系统和通用计算机系统的完全不同的应用特性决定的,所以其技术发展道路走向是完全不同的。根据智能温室测控系统的特点,在最大限度地满足数据的采集、控制、可靠性和低功耗等品质的要求下,16位机具有很强的速度潜力,因此本所设计的专用CPU为16为CPU。作为智能温室环境测控系统的专用CPU,一方面它和通用的CPU相比具有很多的共同特性,另一方面具有它在农业温室控制系统领域的特殊性。
2.1 专用CPU的组成结构
图1是一个16位的采用了RISC思想的单总线CISC CPU处理器结构。
此CPU单独设置了一个8段的流水FLOAT(浮点型运算器)、一个ALU(定点运算器)、一个PcCount(程序计算器)、一个InstrReg(指令寄存器)一个Shift(移位运算器)、一个ComP(单比较器)、一个Compn(比较器组、n为可扩充)、一个Controller(控制单元)、一个AddrReg(地址寄存器)和八个.Reg0…Reg7(16位寄存器组),它们共用一组16位的三态数据总线。其工作流程和通用CPU相同,不同的专用寄存器保存指定的内容,指令的执行分顺序和转移两种方式。
该结构中有专门针对于智能温室测控系统而设计的一个浮点运算器和n个Comparray比较器。一方面由于本智能温室环境测控系统的一个很重要的功能就是硬件实现智能控制方法,同时运算模块主要对由采集模块所采集的环境因子进行比较分析和处理,而所采集数据通常是浮点数,所以本文在CPU的运算单元中增加了单独的浮点运算器;另一方面因为在智能温室测控系统中要随时对温度、湿度、CO2浓度等数据与作物生长的最佳值比较,如果数值超越了警戒线,就要采取措施。为了提高处理速度,方便比较,该结构中放置了比较器组,会把最常用的值在不同的比较器中固化,不但节省了取操作数的环节,而且也节省了时间。
2.2 比较寄存器组的设计
Comparray比较寄存器组是专门针对于智能温室测控系统设计的。在智能温室测控系统中要随时对温度、湿度、CO2浓度等参数与作物最佳生长值比较,如果数值超越了设定值,就要采取措施。该结构中放置了多个比较器,主要是为了方便比较,因此会把经过时间测试或专家提供的最常用的作物生长不同阶段的标准值在不同的比较器中进行固化,这样减少了取操作数的环节,自然就节约了时间。比较寄存器组的结构如图2所示。
在这个比较器组中只列了3个比较器,分别比较CO2浓度、湿度、温度,在智能温室控制系统中还有,光照强度、PH值、EC值、室外气象值、光合作用等,这里只是用这3个值作为示例。Comparray就相当与一个选择器,来分别选择比较寄存器组中的寄存器,这里设置了3个比较寄存器,当然也可根据需要进行增减。
3 浮点运算器的设计与仿真
本专用CPU设置浮点运算器的目的是要将智能控制算法在CPU内集成。而此浮点单元在进行复杂的算术逻辑运算时,主要设置了状态机,通过状态机对浮点运算单元的各个子模块进行调用,从而实现运算。本浮点运算单元的子模块主要有:加减法运算器、乘法运算器和除法运算器。它们之间的协调与配合是在总控状态机的负责下进行的,总控制状态机首先根据情况启动各个运算子模块使其进入运算状态,当运算结束后总控状态机会收到运算结束的反馈信号,并且将结果存入指定寄存器中,或用于输出或用于下一次运算。下面对各个子模块进行分别设计:
3.1 加减法器的设计与仿真
浮点加减法运算模块电路原理如图3所示。主要由6个模块构成,分别是Subcell模块、exchange模块、move模块、M_add模块、standar模块、cntrl模块。
功能仿真如图4所示。
3.2 浮点乘法器的设计与仿真
浮点数乘法器的基本思想是符号与数值分开处理,2个操作数符号的异或为结果的符号,对于数值的处理采用的是取底数相乘、指数相加减的方法,然后对结果进行规格化处理后,再调整指数。按照浮点数的乘法步骤解释程序如下:
(1)零操作数判断
如果两个操作数中只要有一个操作数是0,则结果为0:
若q的值为0,则程序就继续执行一下操作。
(2)运算结果符号位判断
运算结果符号位主要是由两个操作数的符号决定,而其实现主要是通过一个异或门电路得到,程序如下:
(3)幂相加和尾数相乘
(4)规格化与舍入处理
当以上3步运算结束后,要对最高位进行判断,从而决定是否需要进行规格化,采用直接舍入法进行处理。
浮点乘法运算的功能仿真如图5所示。
3.3 浮点除法器的设计
除法器的VHDL核心处理代码如下:
功能仿真如图6所示。
4 结语
针对温室环境控制的功能特点,在CPU中设计了可扩充的环境值比较器组。用来对采集的单个环境值与标准值进行比较,不但节省了存取数据的时间,也提高了温室环境测控系统的系统效率;单独设置了浮点运算器使得此专用CPU可以对智能控制算法的硬件集成提供良好的支撑,使得无PC的参与、无庞大专家数据库系统的支撑,同样具有反应专家知识的功能。