关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 智能电网中智能家居终端的设计

智能电网中智能家居终端的设计

作者: 时间:2012-03-09 来源:网络 收藏

终端的硬件实现结构如图2所示。

本文引用地址:https://www.eepw.com.cn/article/201806.htm

b.jpg


其中电话控制部分,当用户在远程话机键盘上按下控制按钮后,这些信息采用双音频方式通过电话线发出,MT8870是一款双音多频解码芯片,能够实现双音多频信号(DTMF)的发送和接收。
以太网控制芯片采用CS8900A,它是Cirrus Logic公司生产的低功耗、性能优越的16位以太网控制器。该芯片的突出特点是使用灵活,其物理层接口、数据传输模式和工作模式等都能根据需要而动态调整,通过内部寄存器的设置来适应不同的应用环境。
此外,硬件部分还对SRAM进行了扩展以满足更大的需求。另外由于终端上的一些重要参数,需要在系统掉电的情况下保留,所以在终端上还进行了EEPROM扩展。

5 终端的软件设计
5.1 程序设计
在硬件结构基础上,软件系统采用了Linux嵌入式操作系统,内核版本为2.6.28。鉴于所选ARM芯片的性能,从总体需求出发,软件部分采用多进程+进程中多线程的编程方案。程序总体分为两个进程:主进程、Web-Service进程。主进程包括3个线程:主线程、辅线程和次线程。
其中,Web-Service进程为发送命令码流。此处需要说明的是家庭网关也采用Web-Service的方法,智能家居终端作为客户端,而家庭网关作为服务器端。
主控制进程实现了大部分功能,是控制中心的主体。由于实时性、信息回复的不确定性,它开机启动并一直处于运行状态。主线程在程序启动时首先进行初始化,包括硬件各部分的驱动初始化,各个功能模块界面及其基本功能的初始化,还有数据存储部分数据库的初始化。初始化完毕后将进入一个while(1)循环,不停地重复遍历命令结构体链表和返回码流结构体链表,并进行相应处理。辅线程完成命令码流的转换和处理。次线程监听返回到终端的命令码流,并进行相应的转换和处理。
软件部分的总体框图如图3所示。

c.jpg


5.2 进程间通信
程序中设计了两个进程,它们之间要进行通信。两个并行进程可以通过互相发送消息进行合作,消息是通过消息缓冲在进程之间相互传递。进程间通信方式采用的是命名管道(FIFO),FIFO是一种先进先出的队列。它类似于一个管道,只允许数据的单向流动。每个FIFO都有一个名字,允许不相关的进程访问同一个FIFO。本程序在/tmp文件系统中定义命名管道,这样当系统重新启动或更新时,管道将被清除,不会占用过多存储空间。
此外,为避免两个进程间同时要求访问同一共享资源而引起访问和操作的混乱,在进程对共享资源进行访问前必须对其进行锁定,该进程访问完后再释放。还有在主进程的3个线程内,为保证两个或多个关键代码段不被并发调用,线程内还使用了信号量,在进入一个关键代码段之前,线程必须获取一个信号量,一旦该关键代码段完成,那么该线程必须释放信号量,其他想进入该关键代码段的线程必须等待,直到第一个线程释放信号量。

6 结束语
智能家居终端及其配套设备将会得到不断的发展和完善,为人们提供更为安全、舒适、便利的生活环境。系统的使用也会更加方便、价格低廉、性能可靠。本文给出了基于ARM芯片的智能家居终端的设计方案,设计了一种可行的硬件和软件模型,在理论上解决了智能家居终端的一些设计问题。

电能表相关文章:电能表原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭