历史上的今天
返回首页

历史上的今天

今天是:2025年04月19日(星期六)

2021年04月19日 | 一种基于以太网的嵌入式数字监控系统

2021-04-19 来源:eefocus

1 引言


随着科技的进步及对生活质量要求的不断提高,信息技术和网络化技术的发展,为家用电器居家环境集中控制和远程遥控提供了可能。将信息技术与家电控制技术相融合,在很大程度上实现家庭生活的信息化和自动化,满足人们舒适、快节奏的生活需要,当家庭采用了监控系统之后,各种电子设备就能够在几乎无需过问的情况下进行操作。鉴于这种数字化家庭的发展趋势,远程监控作为一种理想的有效的而且快捷方便的实现途径己被广泛采用。



2 系统总体设计


本系统将采用上、下位机的方式组建监控系统。下位机工作于监控现场,采用51系列单片机控制;上位机则用于监控中心,使用一台PC机。单片机通过各种传感器,采集数据,通过以太网卡控制芯片实现的网络接口将监控数据传给异地的PC机,PC机的远程监控端接收监控信息并存储,然后进行相应处理并发出相应的报警信息。同时,PC机也可以向单片机发送指令,控制单片机的监控行为。控制命令发出去以后,负责现场控制的单片机接受命令,经过信息处理以后再执行。


3 监控系统硬件设计


对于现场监控器和现场控制器都是分别由各自的单片机来组成,现场控制器的硬件设计与现场监控器硬件设计一样,都是包含了单片机最小系统的扩展,再加上各自的功能模块。图1是现场控制卡的硬件框图。


系统硬件设计主要包括两部分内容:一是单片机系统的扩展部分设计,主要是系统存储器的扩展,存储器扩展指EPROM, RAM的扩展等。二是功能模块的设计,包括通信功能模块、电机驱动模块。


3.1 单片机系统的扩展


3.1.1 系统存储器的扩展


本系统使用的单片机为78E58B单片机。78E58B是一款以8051为核心的单片机,它具有集成度高、指令功能强、运算速度快、I/O接口功能强、可靠性高等优点,包含32K字节的片内Flash电擦写程序存储器:4K字节附加ROM; 512字节片内RAM;三个16位定时器/计数器;一个串口。该芯片还包括8个中断源,2个中断优先级的中断资源。32K字节的程序存储器对于系统来说己经足够了,所以没有扩展外部程序存储器,所以在硬件框图中不必添加外部ROM,节省了系统开销,还可以省却部分电路、连线,减少了干扰源。然而,78E58B只有512字节的片内RAM远远不能满足系统功能的要求,故采用了8K字节的静态RAM 6264作为外部数据存储器。


3.1.2 复位电路设计


本系统的复位电路采用了电平式开关复位与上电复位,另外复位引脚还与网络通讯卡上MCU的一个I/O口连接。使用这种复位电路,当该MCU中的程序在运行过程中出现问题的时候,就可以通过网络通讯卡上的MCU使之复位,重新恢复正常工作。虽然这种复位电路干扰易串入复位端,但是一般不会造成单片机的错误复位。复位电路如图2所示,但要注意的是这种复位电路要与手动的开关复位电路隔离,以免复位功能失效,甚至短路。


3.2 接口实现


3.2.1 RS232异步串行通信单元


本系统采用RS232最简单的全双工通信方式,只用了三根线,即串行接收RXD,串行发送TXD和接地线GND。将"串行发送"和"串行接收"交叉连接,地线直接相连,其余信号线都不用。用软件来实现通信的"握手"、空闲检测等功能。并且选用MAX232串口通信信号转换芯片来实现RS232与TTL的电平和正负逻辑电平的转换。通过MAX232的TTL和RS-232的输入/输出端口,自动的调节了单片机的TTL电平信号和RS-232的串口通信信号的电平匹配。


设计这部分硬件单元,主要是为了系统调试的需要。在调试阶段,通过串行通信端口,向计算机输出调试的结果,有利于观察系统运行的状态。另外一个目的是为了将来系统扩展的需要,可以方便的通过串行通信端口,向系统输入必要的命令和信息。


3.2.2 单片机双机并行互连的实现方法


实现现场控制卡和网络通讯卡的连接实际上就是实现两卡上单片机的互连。本来单片机带有串口,利用串口进行互连通信非常方便,但是系统中的单片机的串口都要用于对外连接,所以单片机的串口就不能用做系统内单片机之间的通信接口了。但是,单片机的并行端口也能相互连接来进行数据通信,因此就通过单片机的并行端口来实现现场控制卡和网络通讯卡直接的互连。在本系统中,可根据不同的使用要求,来采用不同的并行连接方法。目前可用的连接方法包括以下三种:单向并行通信接口;主从并行通信接口;无主从双向并行通信接口。


3.3 驱动电机电路


3.3.1 驱动电路


单片机本身具备一定的驱动能力,其I/O口的电流在l0m A左右,像驱动发光二极管之类的器件并不需要特殊的驱动电路,但是对于直流电机这类负载较大的器件,单片机无法为其提供较大的电流,尤其在直流电机刚启动时,电机的启动电流往往会达到其正常工作电流的数倍,所以,这一类的器件就需要专门的驱动电路完成对其的驱动,而单片机只是完成对其控制方面的工作。驱动电路的基本功能是要有足够的电流驱动电机转动。原理图如图3所示。




3.3.2 光耦合器


光耦合器是把发光器件和光敏器件组装在一起,通过光线实现藕合,构成电-光-电的转换器件。光耦合器可用于较远距离的信号隔离传送。可以起到隔离两个系统地线的作用,是两个系统的电源相互独立,消除地电位不同所产生的影响,具有很强的抑制噪声干扰的能力。 还可以作为信号隔离转换、脉冲系统间的电平匹配、强电与弱电之间隔离、高压开关等。光耦合器的应用时系统具有较高的电气隔离和抗干扰能力。


4 监控系统软件设计


4.1 现场控制卡的软件开发


本系统的控制软件就是用在C语言程序中嵌入用汇编语言开发的功能模块的方法开发的。设计用到的工具是KEIL公司的MCS-51系列单片机集成开发环境。它的功能非常强大,实现从文本代码编辑到生成可用于烧到目标ROM的二进制或者HEX格式的文件的所有功能。集合了文本编辑器、C语言编译器、汇编编译器、连接定位器、目标处理器模拟仿真器以及库文件管理器等51开发工具套件。软件开发采用项目管理方式,多个模块(多个文件、放在一个项目当中,管理方便。


软件的流程图如图4所示。




4.2 现场控制卡和网络通讯卡间的通信


通过并口扩展,系统采用两个8位并口分别用作数据的输入与输出,并采用一个8位并口用作联络信息的传送,该并口的高4位和低4位分别用于联络信号的输入和输出。通信采用的是查询法,通过查询联络信息的状态来指导完成整个通信过程。这些联络信息分别与系统内的三种内部通信相对应,包括配置信息的传输、控制信息的传输和环境信息的传输。


4.2.1 配置信息的传输


配置信息的传输主要是在系统刚启动时进行,由网络通讯卡发起。首先由网络通讯卡将第一个字节的配置信息输出到网络通讯卡的输出并口上,并同时输出"发送配置信息"(0001)的联络信号。数据采集卡以一定的频率扫描联络信号输入口,收到"发送配置信息"的联络信号后,马上读取相应的数据输入口,获得第一个字节的配置信息,并发出"收到配置信息"(0010)的联络信号,完成第一个字节的传送。接着,网络通讯卡与现场控制卡继续以几乎相同的方法传送第二个字节的配置信息,稍有不同的只是把联络信号"发送配置信息"和"收到配置信息"都按位取反,即第二次通信的联络信号变为"发送配置信息"(1110)和"收到配置信息"(1101),直到数据传送完毕,双方以"传输结束"(1111)的联络信息结束本次通信。通过这种方法,网络通讯卡和现场控制卡只要分别输出一次联络信号,就可以传送一个字节的数据,协议简单,数据传输快捷。


4.2.2 控制信息的传输


控制信息的传输同样是由网络通讯卡发起的。当网络通讯卡从数据采集卡上获取到报警信息或是处于监控中心的用户有需求时,从上位机发送控制命令以后,网络通讯卡将一个字节的控制信息输出到相应的并口上,并通过其输出联络线输出"发送控制信息"(0100)的联络信息,现场控制卡收到"发送控制信息"的联络信息以后,马上读取相应的数据,并发送"收到控制信息"(1000)。现场控制卡收到该信号以后,以"传输结束(1111)"结束本次通讯。


4.2.3 环境信息的传输


环境信息的传输由网络通讯卡发起,并不断地循环进行。首先,网络通讯卡将所要读取环境信息的编号通过数据并口输出,并输出联络信号"环境信息查询"(1100)。数据采集卡收到该信号后,通过数据输入并口获得网络通讯卡要查询的环境信息的通道编号,把相应的环境信息数据通过数据输出并口输出,同时输出联络信号"环境信息送到"(1010)。网络通讯卡收到该信号后,就可以继续查询下一个环境信息了。


4.3 监控数据库


目前用于数据库开发的开发环境有很多,例如:Delphi, Visual Basic, PowerBuilder和SQL Server等。随着Visual C++的数据库开发功能的不断加强,它作为一种方便易用的开发工具在实际开发中被广泛应用。 本系统监控数据库设计便采用的是Visual C++,其界面包括系统登录、软件主界面、用户信息管理和工作人员信息管理、环境信息和报警信息管理和监控器配置信息管理。


5 本文作者创新点


本文实现了一整套比较完整的嵌入式监控系统。文中介绍了整个系统的解决方案,现场控制卡的硬件设计、软件设计,以及现场控制卡与网络通讯卡之间的通信。本系统与一般监控系统相比,主要特点是现场监控设备能直接上网,而系统又利用了Ethernet:作为监控信息的网络传输信道,并采用了廉价的51系列单片机作为现场监控设备的MCU,以及使用了源代码公开的μC/OS-Ⅱ实时内核最为现场监控设备的软件平台,使系统具备了较高的性价比。


参考文献:


[1] 杨武刚. 单片机典型模块设计实例导航[M]. 人民邮电出版社,2004. 5

[2] 黄颖、张小飞. 网络监控系统的设计和实现[J]. 计算机工程与应用,2003. 22

[3] 黄乐天, 谢意. 实用高精度智能恒温加热器系统设计[J]. 2005, 10-1: 36-38

[4] 孙媛、王水清. 基于以太网嵌入式家庭监控网络系统的设计[J]. 江南大学学报(自然科学版)2003. 1

[5] 周文举. 基于单片机红外无线通信的抄表系统[J].微计算机信息, 2006,2-2 : 45-47、113


推荐阅读

史海拾趣

HOPERF公司的发展小趣事

成立于1998年的HOPERF,最初是一家专注于无线射频技术的小型创业公司。在那个通信技术日新月异的时代,公司创始人凭借敏锐的市场洞察力和对技术的执着追求,带领团队开始了自主研发之路。初期,HOPERF在无线射频领域不断突破,成功研发出多款具有自主知识产权的射频芯片,为公司的后续发展奠定了坚实的基础。这些技术创新不仅提升了产品的性能,还大大降低了成本,使得HOPERF在竞争激烈的市场中逐渐站稳脚跟。

DIOTECH公司的发展小趣事

为了进一步提升市场份额和品牌影响力,DIOTECH公司开始加大市场拓展力度。通过参加国际电子展会、举办新品发布会等活动,公司成功吸引了全球范围内的客户和合作伙伴的关注。同时,公司还加强了品牌建设,通过一系列营销活动提升了品牌知名度和美誉度。这些努力使得DIOTECH逐渐成为了电子行业内的知名品牌。

Galaxy Semi-Conductor Co Ltd公司的发展小趣事

山西飞虹激光科技有限公司于2010年在中国山西成立,并迅速在北京设立分公司,将北京作为战略重心,拓展全国市场。仅两个月后,飞虹激光的研发&生产中心便设立并投入生产,展现了公司的强大执行力和决心。2012年,飞虹激光积极参与国际展会,如慕尼黑上海光博会,展示了其F3015激光切割机、激光熔覆系统等高端产品,不仅提升了公司知名度,也彰显了其在激光技术领域的专业水平和创新能力。

Adamant Co Ltd公司的发展小趣事

Adamant Co Ltd在电子行业的初期,以其独特的技术突破迅速崭露头角。公司研发出一款高效能、低成本的芯片,为智能手机市场带来了革命性的变化。凭借这一技术,Adamant Co Ltd迅速获得了市场份额,并与多家知名手机厂商建立了合作关系。随着产品的广泛应用,公司逐渐在电子行业中稳固了地位。

DIOO公司的发展小趣事

DIOO公司的创始人李奥(Leo)是一位热衷于电子技术的工程师。在20世纪80年代初,他看到了电子行业的巨大潜力,并决定创立DIOO公司,专注于开发和生产高端电子产品。凭借对技术的热爱和对市场的敏锐洞察,李奥带领DIOO公司推出了第一款自主研发的电子产品——高性能音频放大器,该产品凭借其卓越的性能和独特的设计在市场上引起了轰动。

aconno公司的发展小趣事

品质是aconno公司发展的基石。公司从一开始就注重产品质量和用户体验,从原材料采购到生产工艺,再到产品测试,每一个环节都严格把关。这种对品质的坚持,使得aconno的产品在市场上赢得了良好的声誉。同时,公司还建立了完善的售后服务体系,为用户提供及时、专业的技术支持,进一步增强了用户的信任度和忠诚度。

问答坊 | AI 解惑

三洋模块

系列功率模块资料…

查看全部问答>

WinCE 系统访问Eboot参数

您好,我用的是WinCE 5.0,使用Eboot(三星2440平台),我想在系统起来后访问Eboot的配置参数,不知道有没有办法,谢谢! …

查看全部问答>

我的DNW突然不能接收PC键盘输入了,现在我进不了EBOOT的菜单,怎么一回事啊?

我的DNW突然不能接收PC键盘输入了,现在我进不了EBOOT的菜单,怎么一回事啊?…

查看全部问答>

ARM串口通讯丢包问题,急!!!

      各位,我最近调试一个东东,LPC2114用串口Uart0与电脑通讯。上位机程序是VC++6.0编的。工作顺序如下:首先电脑定时发送8字节读数指令,2114收到后返回8字节数据。问题是无论2114内的串口程序是中断的还是轮询的,电脑收 ...…

查看全部问答>

谁能发BSP给我

我想要2440的BSP,WINCE5 ,最好能是WINCE6 发到我邮箱rudang741@163.com 标明论坛ID,我好加分。谢谢。 发一个10分,如果多人,每人10分,发到我结贴为止。谢谢。…

查看全部问答>

我在EVC下编译一个DLL,提示:"definition of dllimport function not allowed",请教高手如何解决

我在EVC下编译一个DLL,提示:\"definition of dllimport function not allowed\",请教高手如何解决?…

查看全部问答>

RTX51 Tiny小程序出问题

#include       #include       int   counter0;    int   counter1;    void  job0(void)_task_ 0    {       ...…

查看全部问答>

vxworks下socket三方库的问题

socket库有支持vxworks吗? 比如socket++,我查过它,好像并不支持vxworks。…

查看全部问答>

fpga怎么设计fir滤波器

紧急求助,怎么用fpga设计一个中心频率为500Hz,最大衰减为10db的fir滤波器,需要注意些什么?…

查看全部问答>

数字IC设计的综合工具

哪位兄弟知道数字IC设计的综合工具是什么,还有下载地址? …

查看全部问答>