历史上的今天
返回首页

历史上的今天

今天是:2025年03月24日(星期一)

正在发生

2018年03月24日 | 基于STC89C58RD+单片机的空调网络管理系统的控制终端设备设计

2018-03-24 来源:eefocus

     在学校等单位,分散安装空调存在随意开、通开造成的电能浪费现象,这不仅增加了单位的运作成本,同时还给管理增加了难度。为解决此问题,利用STC89C58RD+作中央处理器、rtl8019as作网卡、TCP/IP为通信协议,设计一款空调网络管理系统的控制终端设备。便于管理人员通过空调网络管理系统的操作,实现在网络上对空调(受控设备)的开、关实施控制,也便于通过空调网络管理系统了解空调(受控设备)的运行状态,并随时加以管理控制。从而达到节能降耗和节支增效的经济、高效的IT管理模式,具有理论意义和应用价值。



    1 硬件

    1.1 终端主机电路

    整个电路分为电源、网络接口、数据处理和控制I/O接口等四部分。电源由一个DC 9 V输入,分别用78L05和78L06两个集成稳压器分成+5 V和+6 V的分支电源。+5 V电源为控制终端提供电源;+6 V电源作为光电耦合器的启动电源,以便在光电耦合器的动作过程中,不影响主机的工作。服务器通过英特网接口与终端交换信息,再由控制终端通过I/O接口控制或获取空调(受控)设备的即时状态。其结构框图如图1所示。

5

    1.2 主要元器件

    线路板主要由网络变压器FB2022、高度集成的以太网控制器RTL8019AS、锁存器74HC573、静态RAM存储器62256、主控制STC89C58RD+等芯片,RJ45接口和几组光电耦合器以及一些外围元器件组成。其中,主控芯片STC89C58RD+内部资源[1]包括:32 KB内部闪存;1 280 B片内RAM数据存储器;工作频率0~35 MHz(相当于普通8051的0~420 MHz);有内部看门狗电路,解决了外界影响带来的“死机”问题;具有4级8个中断源,提供2个额外的外部中断机制和4组I/O口等。此外,还有宽电压,低功耗,与其他8051完全兼容的特点。RTL8019AS为台湾芯片生产商ReaLTEk公司针对第三代快速以太网连接而设计,它支持多种嵌入式处理器芯片,内置FIFO缓存器用于直接发送和接收数据。RTL8019AS支持以太网II和IEEE802.3;软件兼容8 bit和16 bit的NE2000。对于没有很复杂数据流处理的本控制终端机来说,低廉的造价也能够达到较理想的网络系统管理效果。

    1.3 硬件控制实现

    控制终端与空调间用光电耦合器连接,当控制终端接收到系统“电源开”指令时,相应的光电耦合器闭合,打开空调电源,此时空调处于伺服状态,面板上的电源指示灯亮,等待系统或遥控器等发送“运行”指令。同时,因空调电源指示灯打开而相应的光电耦合器导通,把空调的即时状态信息通过控制终端处理后传给系统。空调进入伺服状态后,如果接收到系统或其他方式的“运行”操作指令时,空调就开始运行,面板上的“运行”指示灯亮。同时因面板“运行”指示灯亮而相应的光电耦合器导通,把空调的“运行”状态信息通过控制终端处理后传给系统。当控制终端接收到系统“电源关”的指令时,将关闭空调的运行状态,并且切断空调的电源。此时空调处于完全停止状态,遥控及受控设备本身的任何硬件按钮操作均无效。就这样,基于TCP/IP协议的可靠通信连接,控制终端随时等待着执行服务器给它的系统指令,并周期性地把受控设备的即时状态信息反馈给服务器。在试验中,如表1所示为用LED模拟空调设备,由不同IP和端口的两个终端与同一台服务器相连得出的实验结果。当控制终端接收到系统发来的指令“1”时,空调“总电源”开启,LED1亮,同时向服务器反馈“电源开”的信息。在“电源开”的状态下,控制终端接收到系统指令“2”时,空调“总电源关”,LED1灭;接收到系统指令“3”、“4”时,控制终端和负载相应的动作是“运行、LED2亮”、“停止、LED2灭”。当“总电源关、LED1灭”后,没有收到系统指令“1”时,其他任何指令对负载的控制无效,终端状态灯无显示,同时反馈给系统的信息为“关闭中”。

    1.4 安全控制原理

    在同一管理系统内,每一个控制终端都固化唯一的物理地址(MAC)、本地IP地址和端口号,除了只与本身固有IP地址的服务器相应端口通信外,不与其他微机发生关系;终端与终端之间也不会有任何干扰。其他PC主机在权限范围内可以通过服务器浏览或操作系统中各控制终端的设备状态。这样有利于设备运行的安全性和可靠性。如需系统维护,也只需将安装好空调管理系统的备用服务器的IP地址更改成控制终端对应服务器的IP地址即可。

    2 TCP/IP的移植引用

    2.1 开源TCP/IP的选择

    从来自不同出处的资料显示,移植TCP/IP到8 bit低端处理器上,如uIP等不同版本TCP/IP栈的移植已有很多成功的案例。本控制终端的网络接口实现,是成功地移植引用了ZLIP版的TCP/IP协议栈[2],其显着特点是:

    (1)有适中的代码量和RAM使用量。使用22.118 4 MHz晶振、KeilC编译器、STC89C58RD+单片机下测试的技术参数如表2所示。

    (2)与BSD套接字基本相同,接口简单,使用方便。

    (3)支持PINg命令的响应。

    (4)本身为单片机设计。所有的外部变量都使用了 xdata类型,全部指针都为明确存储类型的指针,需要重入的函数已经声明为reentrant,减少了重入函数在内存中的滞留。

    2.2 网络通信的实现

    (1)ZLIP栈符合BSD标准,定义一个套接字类型的全局变量“ExConn”,创建套接字。即:

    ExConn = TCPSocket(IPAddr);

    (2)写函数void OnACCeptRecv(void DT_XDATA* buf,WORD size)REENTRANT_MUL作为连接函数的参数,以便数据传输的有效对接。

    (3)通过调用函数TCPConnect(ExConn,0xc0a80002, 55000,OnAcceptRecv,OnClose)主动与IP“192.168.0.2(IP地址的十六进制表示为0xc0a80002)”相匹配的服务器进行连接。获得服务器分配相应的“55000”端口进行套接,实现收发数据和关闭连接的接口,从此进行正常通信。

    (4)主动与服务器进行连接,提高系统管理的可靠性和安全性。如遇服务器故障或关闭,终端会周期性发出ARP广播,直到重新正常连接。


    3 软件的实现

    3.1 网卡驱动的引用及更改

    3.1.1 网卡驱动基地址的更改

    因为硬件的线路板设计有差别,将ZLIP里的RTL8019.H的基地址宏定义0xb000改成0x8000(#define RTL_BASE_ADDRESS  0x8000)。


    3.1.2  网卡复位启动

    添加函数:

    void rtl8019as_rst()

    {

    unsigned int idata i;

    reset8019=1;

    for(i=0;i<250;i++); reset8019=0;

    for(i=0;i<250;i++);

    }

    终端上电时,采用冷启动复位,便于终端即时初始化网卡。

    3.1.3 控制终端主程序

    终端上电,初始化各模块后,通过创建的套接字主动去与服务器对接,然后向服务器发送准备就绪的信号,周期性地检测与服务器连接的情况,静静地等待服务器的指令和观察受控设备的状态。一旦情况有变,就立即执行相应的动作。终端工作流程图如图2所示。

 

4

    3.2 控制管理的实现

    3.2.1 管理设备电源

    受控设备的电源只有一种开通方式:即系统管理员通过服务器的“电源开”指令操作。其他任何形式和个人(专业维修人员除外)在没有授权的前题下操作均无效。

    3.2.2 受控设备的状态管理

    系统管理员可随时从空调网络管理系统中了解到设备的开启运行状况,对有异常的设备及时向工程维修中心发送维修申请,然后由维修中心解决出现的异常。其他人员可以通过系统平台浏览设备运行状况,递交设备使用时段申请文件,请求系统管理员给予使用时效权。空调(受控设备)电源一旦开通,就给使用者充分的使用权限,让其自由使用。这样,既给使用者充分的自由,又给管理带来了方便,就基本上杜绝了随开、乱开、通开的电能浪费的现象。从而提高了设备的利用率和完好率,令其运行于经济、高效的网络系统管理模式下。

    单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,改善劳动环境,减少能源和材料消耗,保证安全等。本控制终端是作为单一的客户端设计,把系统管理中大量数据处理及存储的工作交给服务器去做。这样大大节省了控制终端的资源,降低了负荷,让控制终端专注于处理服务器发来的指令并按要求对空调加以控制。同时,把受控设备的运行状态及时传送给服务器,让系统管理员随时掌控系统中各空调的运行状态。基于程序结构简单、硬件结构合理、造价低廉且安装方便的空调网络管理系统控制终端,仅对空调小作改进,即可轻松把已有的设备纳入统一、高效的智能化管理,让“物尽其用、物尽其能、物有所值”。

    参考文献

    [1] 宏晶科技.8051系列单片机选型[DB/OL].http://www.mcu-memory.com/stc-mcu-select-1.htm.

    [2] 李章林.ZLIP使用简介[DB/OL].[2005-11-28].http://www.zlmcu.com/project/ZLIP/download/ZLIP%20ApplICation%20Note.pdf.

    [3] 谢希仁.计算机网络[M].第5版.北京:电子工业出版社,2008.

    [4] 万隆,巴奉丽.单片机原理及应用技术[M].北京:清华大学出版社,2010.

    [5] COMER D E, STEVENS D L.用TCP/IP进行网际互连.第二卷:设计、实现与内核:ANSI C版[M].第三版.张娟,王海,黄述真译.北京:电子工业出版社,2008.


推荐阅读

史海拾趣

Global Specialties公司的发展小趣事

随着电子技术的快速发展,教育和培训成为了Global Specialties的另一个重要领域。公司敏锐地捕捉到这一市场需求,推出了一系列针对教育的试验板和套件。这些产品不仅帮助学生更好地理解电子原理,还激发了他们的创造力和实践能力。通过与多所高校和职业院校的合作,Global Specialties成功地将自己的品牌深入到教育市场的每一个角落。

Conditioning Semiconductor Devices Corp公司的发展小趣事

CSDC深知人才是企业发展的核心。因此,公司一直注重人才的引进和培养。通过校园招聘、社会招聘等多种渠道,CSDC吸引了一批优秀的半导体专业人才。同时,公司还建立了完善的培训体系,为员工提供持续的学习和发展机会。这些举措不仅提升了员工的技能水平,也增强了公司的凝聚力和竞争力。

Gravitech公司的发展小趣事

Conditioning Semiconductor Devices Corp(简称CSDC)起初是一家小型半导体公司,专注于研发低功耗的芯片技术。随着智能设备的普及,市场对节能型半导体的需求激增。CSDC通过不断的研发投入,成功开发了一种全新的低功耗技术,显著降低了设备的能耗,迅速在市场上获得认可,从而实现了业务的快速增长。

Fronter Electronics Co Ltd公司的发展小趣事

进入21世纪后,Fronter电子意识到技术创新的重要性,开始加大在技术研发方面的投入。公司成立了专门的研发团队,致力于IC模块、晶振、滤波器、电感等电子产品的技术开发与升级。同时,Fronter电子积极申请专利,保护自主知识产权,并逐步打造出了自己的品牌“FT”。随着技术实力的增强和品牌知名度的提升,Fronter电子在电子行业中的影响力进一步扩大。

APTA Group Inc公司的发展小趣事

除了在经济领域的成功,APTA Group Inc还注重履行社会责任。公司积极参与环保事业,推动绿色生产,减少对环境的影响。同时,APTA还关注社会公益事业,通过捐款捐物等方式回馈社会。这些举措不仅提升了公司的社会形象,也赢得了公众的认可和尊重。


请注意,上述故事是基于假设构建的,并非APTA Group Inc的实际经历。如果您需要更具体的信息,建议直接访问该公司的官方网站或查阅相关新闻报道,以获取更准确的发展故事。

德尔创(Dersonic)公司的发展小趣事

随着业务的逐步扩展,德尔创意识到品质对于品牌的重要性。因此,公司投入大量资金用于提升生产设备的精度和稳定性,同时加强了对原材料采购和质量控制的管理。这些措施使得德尔创的产品质量得到了显著提升,客户满意度也大幅提高。此外,公司还积极开展品牌宣传活动,通过参加行业展会、举办技术交流会等方式提升品牌知名度和影响力。

问答坊 | AI 解惑

高性价比兼容三菱FX1N国产系列PLC

功能介绍:   ○ 编程软件兼容日本三菱FXGP_WIN-C梯形图软件,在应用中相当于三菱的FX1N;   ○ 工作电源AC18V或DC24V,带有防雷击保护电路; ○ 主板有20路I/0输入输出,其中输入12路,输出8路(有继电器输出和晶体管输出两种型号); ○ 本 ...…

查看全部问答>

【藏书阁】图表细说元器件及实用电路

目录: 第1章 新概念电子电路入门基础 1.1 熟悉最基本的日常电路 1.1.1 电工电路与电子电路的区别 1.1.2 电子电路图和电路图识图信息解析 1.1.3 常见电子电路种类解说 1.2 掌握基本的技术名词和概念 1.2.1 电流概念解说 1.2.2 电位、电压 ...…

查看全部问答>

7*1W LED驱动 方案 FAN103 做出来的成本是否有竞争性

7*1W LED驱动 85-265输入 变压器隔离 恒流输出 成本上考虑是否适用; 有比这方案更好的吗? …

查看全部问答>

wince 启动拍照功能实现问题

各位,小弟想请教一下, 在wince 5.0 或6.0 中怎么启动拍照功能, 最好是用C# 的,请各位帮忙,谢谢!…

查看全部问答>

串口传送数据传了3个字节,只显示一个字节

uchar buffer[]={0xaa,0xbb,0x64}; void init_serial();  //串品初始化 void senddata(uchar *buffer,uchar length);//发送数据 void senddata(uchar *buffer,uchar length) {   uchar i;   for(i=0;i…

查看全部问答>

在CE6.0下,用6410平台去实现KITL功能怎么老是成功不了?三星手册是已经实现了的.

在CE6.0下,用6410平台去实现KITL功能怎么老是成功不了?三星手册是已经实现了的.…

查看全部问答>

在XP中无法正常使用数码相机的问题!

在下有一套 SIPIX矽峰SC-1300/SC-2100的数码相机,驱动程序只支持到WindowsXP SP1,在SP2的系统上就不行了(驱动能装上,但是使用Photoshop等软件都无法引入图象,但windows2003/windows2000/windowsXP SP1下就可以正常使用),去下载驱动,发现我这个驱动 ...…

查看全部问答>

无叶风扇原理图

最近想搞个无叶风扇,不知道大家谁有它的图纸参考下。还有,它的电机是不是步进电机?电机上也没有型号文字。在此先谢了。…

查看全部问答>

刚来提点建议!

刚来论坛,看了看这里的资料非常多哈,建议版主分个板块专门用来放资料,技术交流的放一个板块!这样讨论问题和下载资料都会非常方便!…

查看全部问答>