历史上的今天
返回首页

历史上的今天

今天是:2026年03月21日(星期六)

正在发生

2023年03月21日 | RS-485总线实现智能家居网络系统

2023-03-21 来源:elecfans

         引言

  智能家居系统由一个主控制器和各节点模块组成,主控制器有以ARM LPC2364为核心和MAX3088构成的RS一485接口,可以挂接最多256个设备节点。


  MAX3088芯片支持最大10 Mb/s的传输速度,使传输一些大数据量信息成为可能,而且还提高了系统通信的实时性。其整体结构如图1所示。

智能家居网络系统总体框图

  该系统通过以LPC2364为核心的主控制器连接外部Internet网络和家庭RS一485网络,摒弃了传统的以家庭电脑为主控制器的方法,不仅节省了开支,而且省电节耗效果明显。另外,保留了一个RS-232接口,以方便与家庭电脑通信,也为以后的系统升级提供了方便。LPC2364是飞利浦公司的一款带有以太网控制器的ARM芯片,具有丰富的外设、较高的速度、工业级的控制标准,是稳定、经济的最佳选择。其次,RS一485总线的挂接节点,按其功能可以分为家电控制模块节点、安防控制模块节点、灯光控制模块节点等。


  1 总体方案设计

  智能家居系统包括多方面控制,如家电控制、安防报警控制、灯光控制、三表控制、门窗控制等。


  每一方面的控制都包含了很多小的节点。本文选择代表性较强的家电控制和安防监控模块进行了重点设计。


  1.1 家电控制模块

  现代家庭中主要使用的电器的共同特点是继电器控制。在家电的控制板上将功能继电器相应的控制线与模块MCU连接,通过RS-485总线接口就可以方便地使用该系统进行控制,如图2所示。

  使用7 bit输入/输出的达林顿管芯片MC1413驱动继电器,来控制相关的开关量。如对空调来说,温度控制、风向控制等是按键的开关量,都可以由继电器来完成相应的控制。考虑到要嵌入家电中,控制节点尽量做得精小,而且没有复杂的控制对象,选用AT89C2051单片机作为控制器。RS-485通信接口使用MAX1487芯片,允许挂接125个家电,采用半双工通信方式,通信速率为2.5 Mb/s。家电控制通信只是进行控制命令和家电状态信息的传输,数据量很小。该芯片通信速率能够满足要求。


  1.2 安防监控模块

  安防系统由烟雾传感部分、煤气传感部分、实时监控部分等组成,实现了防火、防煤气中毒、防盗监控等功能。这些组成部分由烟雾传感器和煤气传感器等传感器组成,结合A/D转换芯片传输信息。


  实时监控部分采用Ovinmin公司生产的OV7141图像采集芯片。OV7141是高度集成的摄像芯片,支持多种格式,内设串行控制总线(serial Camera Control Bus,SCCB)接口,提供简单控制方式,可以对OV7141芯片内部所有寄存器值进行修改 。OV7141包含有8 bit数据(DO,D1,D7),同步信号VSYNC、HREF、PCLK,这些信号需要送给CPU以读取图像数据和保证同步。


  由于OV7141默认帧频为30 Hz,像素为640×480= 307 200,在此帧频下的图像数据传输速率为9.216 MB/s。在不考虑同步的情况下已远超过串口的响应速度,必须重新设置以降低帧频和像素。


  在该系统中对OV7141的访问有:

  ① 设置地址号为0xl1的帧频控制器CLKRC,以降低帧频;

  ② 设置地址号为0x14的控制器COMC,以设置像素为320×240;

  ③ 设置地址号为0x28的COMH,以设置扫描格式 。

硬件电路如图3所示。

智能家居网络系统硬件电路图

  单片机89C51的内部数据存储只有128 ByteRAM,必须外扩数据存储器存储图片。由于单片机串口速度的限制,OV7141的像素设置为320×240,采集黑白图片,这样一帧图片的存储空间约为76 800 bit,即9.6 KB。外扩一个比9.6 KB大的存储器即可,选择32 KB的62256芯片可存储多帧图片。


  数据的传输速度受到串口速度的限制,必须提高串口波特率。根据系统特点,在使用串口传输方式3时,波特率可变,可以根据传输效果实时改变。表1所示是采用不同波特率时一帧(一帧按9.6 KB计算)图片的传输时间。

  2 网络通信

  2.1 网络设计

  单片机构成的多级系统常采用总线型主从式结构。所谓主从式结构,即在多个单片机中,一个主机负责通信管理,其余的都是从机,从机要服从主机的调度和支配。主机还负责通过网络接口进行远程通信。

  在实际的多机应用系统中,常采用RS一232、RS一422或RS一485串行标准总线进行数据传输。根据传输距离和通用性,选择RS一485总线,单片机采用串行口工作方式3通信。

  每个从机都有惟一的地址码,该地址码就是从机身份的识别标志。


  2.2 通信机制

  系统采用了RS一485总线通信方式,如图4所示。通信中采用“轮询制”,中继器作为主设备不断向下发送设备请求应答帧,而接人从设备不能主动发送数据。任何时刻,总线只处于一种方式,即接收数据或发送数据。系统初始化一旦完成,总线即被置为接收状态,当从设备接收完主设备发来的消息后,立即通过软件将总线置为发送状态,等从设备发送完一帧数据又立即转为接收状态,等待主设备的请求帧。如果发来的请求帧中,设备ID地址和自身ID地址一致,接收设备就检查这个帧是否正确。

RS一485多机通信原理图

  表2所示为主机地址帧,从机的地址码为00H,01H,02H,并用地址码FFH命令从机复位。

  表3所示为主机给从机的命令帧,OlH为主机命令从机接收数据,02H为主机命令从机发送数据。

  如表4所示,数据字描述的都是开关量的信息,可以作为状态信息传送给主机,也可作为主机发送的命令格式。

  2.3 通信流程图

  通信流程图如5所示。


  3 结语

  系统实现了低成本、长距离传输,满足一般家庭的远程控制家电需求,具有较高的经济性和实用性。

推荐阅读

史海拾趣

Cal Crystal Lab Inc / Comclok Inc公司的发展小趣事

Cal Crystal Lab Inc起初是一家专注于电子晶体管研发的小型实验室。在电子行业的早期,晶体管的性能直接决定了电子设备的质量和性能。创始人张先生凭借对电子技术的深厚理解,带领团队不断攻克技术难关,成功研发出性能更稳定、寿命更长的晶体管。这一创新不仅让Cal Crystal Lab Inc在业内崭露头角,还吸引了大批合作伙伴的青睐。随着市场需求的不断增长,公司逐渐扩大规模,从一个小型实验室成长为拥有多条生产线的大型企业。

BOSER公司的发展小趣事

随着科技的不断发展,BOSER公司意识到只有不断创新才能在激烈的竞争中立于不败之地。因此,公司投入大量研发资源,致力于开发具有自主知识产权的新技术。经过不懈努力,BOSER成功推出了一系列创新产品,引领了电子行业的技术发展潮流。

Digitron公司的发展小趣事

Digitron公司成立于XXXX年,由一群热衷于电子技术的工程师和科学家创立。在成立初期,公司专注于开发高精度、高可靠性的温度数据记录器。这些设备在医药、冷链物流等领域得到了广泛应用,为Digitron公司赢得了良好的声誉。随着技术的不断进步,Digitron公司逐渐扩大了产品线,推出了更多适用于不同行业的数据记录器和传感器。

ACI [Applied Concepts, Inc.]公司的发展小趣事

在电子行业的激烈竞争中,ACI公司凭借其卓越的技术创新能力脱颖而出。公司研发团队不断攻克技术难关,推出了一系列具有竞争力的电子产品。这些产品不仅性能卓越,而且设计独特,满足了消费者的多样化需求。通过技术创新,ACI成功打开了市场,赢得了消费者的青睐。

Allied Controls Incorporated公司的发展小趣事

ACI公司始终关注社会责任,积极参与公益事业。公司定期举办慈善活动,捐赠教育基金、扶贫资金等,为社会发展贡献力量。同时,ACI还加强了对员工的关爱和培训,为员工提供良好的工作环境和发展机会。通过这些举措,ACI公司不仅赢得了社会的广泛赞誉,还增强了员工的归属感和凝聚力。

请注意,这些故事是基于电子行业的一般性事实和发展趋势构建的虚构框架,并不特指ACI公司。如果您需要了解关于ACI公司的具体故事,建议您查阅相关资料或联系该公司以获取更准确的信息。

Golledge Electronics公司的发展小趣事

为了进一步提升市场影响力,ACI公司积极寻求与其他行业领导者的战略合作。通过与知名电子产品制造商、芯片供应商等建立紧密的合作关系,ACI得以获取更优质的资源和技术支持。这些合作不仅提升了ACI的产品质量和技术水平,还扩大了公司的市场影响力,为公司的长远发展奠定了坚实基础。

问答坊 | AI 解惑

最深入最经典的电容剖析

最深入最经典的电容剖析…

查看全部问答>

今年的PCIM有人去吗?

看了下今年的PCIM参加的厂商,目前好像很少唉。不知道研讨会精不精彩      有会去的朋友吗? Aavid Termalloy ChinaAuxel FTG (Shanghai) Co., Ltd ChinaAVX / Kyocera(S) Pte Ltd Singapore Beijing LEM Electronics Co., ...…

查看全部问答>

STC单片机型号识别不出大家有什么办法

公司库里有一批,没有印型号的STC片子,20脚DIP,什么原因,没型号的没有上文,我想用一下,可是下载确怎么也找不到型号,高手们有什么办法识别出来呢???…

查看全部问答>

如何能过滤到文件的复制,粘贴操作

小子想要实现的功能是:对所有拷入U盘的文件进行加密操作,设想是在过滤驱动中捕获写操作,但对复制、粘贴的内核操作过程很迷茫。那位大大能指点下小子,给介绍下中间发生了些什么。…

查看全部问答>

VxWorks下编译的.o文件, 如何得到函数符号表。

例如文件a.cpp编译成a.o, 里面有10个函数,如何根据a.o得到函数符合表了,谢谢!…

查看全部问答>

evc移植到VS2005的错误

将工程从evc4移植到VS2005, 在emulaor中运行,出现断言错误 ,错误信息显示如下: debug assertion failed! Program:\\Program files\\pro.exe File: f:\\sp\\vctools\\vc7libsce\\ship\\atlmfc\\src\\mfc\\filecore.cpp line 297 如何解决??…

查看全部问答>

stdafx.h问题

我在EVC环境下建立的程序,程序修改编译成功后,在后来修改一个.cpp文件中的程序时,我稍改动一下程序,本来程序没什么问题,但在编译后出现如下编译错误: c:\\documents and settings\\proc\\locate.cpp(5) : fatal error C1083: Cannot open include ...…

查看全部问答>

2812程序中有超过8K数据时的CMD文件分配问题请教!

最近在编写的一个系统控制软件中需要用到大量自己编制的数据表,数据量很大已经超过了8K,即已经超过了RAML0L1范围,疑问是怎样将只读的数据表格分配到FLASH区中?我在分配到FLASH中时程序烧写后相应区域读出来的不是0就是0x0ffff;是否是需要修改.ge ...…

查看全部问答>

LM3S6965+lwip的UPD传输速率问题

使用UDP进行数据传输的速率测试,无限循环传输一个随机数组,没有采用操作系统,最高速度只有500K字节每秒,使用TCP做同样的测验也是500KB,求助各位大神这是怎么回事呢? 附上UDP部分源码: struct udp_pcb *pcb; int i; static char data[147 ...…

查看全部问答>

房,库房,车间,办公环境温湿度集中监控系统应用方案

库房,车间,办公环境温湿度集中监控系统应用方案 第一部分 温湿度监测方案 一、应用概述   在信息化程度越来越高的今天,担当信息处理与交换重任的机房是整个信息网络工程的数据传输中心、数据处理中心和数据交换 ...…

查看全部问答>