未来智讯 > 智能家居论文 > 基于SoPC的智能家居抑制系统研讨

基于SoPC的智能家居抑制系统研讨

发布时间:2018-12-04 01:06:01 文章来源:未来智讯    
    基于SoPC的智能家居抑制系统研讨作者:未知   摘 要:设计并实现基于SoPC技能的嵌入式智能家居抑制器。大略介绍智能家居系统的整体结构,随后对核心局部家居抑制器的实如今硬件和软件2方面进行详细论述,其中运用NiosⅡ软核处理器作为主抑制器,实时多任务操作系统μC/OS-Ⅱ为应用软件运行平台,实现家电抑制和安防报警功能以及小区内管理等。系统选取的可编程片上系统的设计方法使其能够根据需求裁减或者扩充功能,以满足众多层次的家居抑制应用需要。
  关键词:智能家居;SoPC;μC/OS-Ⅱ;FPGA
  中图分类号:TP332文献标识码:A
  文章编号:1004373X(2008)2203603
  
  Research of Smart Home Control System Based on SoPC
  SUN Yuliang,WANG Shukun,ZHANG Chuansheng
  (School of Information and Electric Engineering,Shandong Jianzhu University,Jinan,250101,China)
  Abstract:Embedded smart home control system based on System on a Programmable Chip (SoPC) is designed and implemented.The structure of smart home control system is briefly introduced.Subsequently implementation of home control system′s core is detailed discussed in terms of hardware and software,using soft intellectual property processor as primary controller,real-time multitasks operating system μC/OS-Ⅱas running platform of application software,realizes the control of household appliances,security alarm functions as well as the district management.To meet the many levels of home control application needs,function of the system based on the design method of SoPC can be reduced and extended according to the requirement.
  Keywords:smart home;SoPC;μC/OS-Ⅱ;FPGA
  
  智能家居是近几年产生并迅速崛起的一种新型家居住宅。“智能家居”(smart home),又称智能住宅,它利用先进的计算机技能、嵌入式系统技能、网络通信技能和传感器技能等,将家中的各种设备有机的连接到一同[1]。
  SoPC(System on Programmable Chip)技能是Altera公司提出的一种灵活、高效的片上系统设计方案[2]。它的特点在于可编程性,即利用FPGA器件的可编程性来进行SoC(System on Chip)设计。因此能够简化选取传统方式设计的家居抑制器,使得众多的抑制接口芯片在一片FPGA中实现。并使其具有处理能力强、系统架构清晰、网络本能优越等更多的优势。嵌入实时操作系统μC/OS-Ⅱ属于占先式多任务操作系统,可固化、可裁减、移植性好,具有良好的可靠性和稳定性[3]。它支持64个任务,具有信号量、消息邮箱、消息队列等多种进程间通讯机制,其已经在商业领域得到了成功的应用。利用可编程SoPC技能和μC/OS-Ⅱ操作系统是智能家居系统设计的良好选择。本系统以Altera公司的DE2开发板为核心,其FPGA芯片选取CycloneⅡEP2C35。
  
  1 智能家居系统整体结构
  
  智能家居通过统一的网络总线和抑制平台,将家庭的信息家电系统、环境抑制系统、安防报警系统、远程操作系统等连成体。向上连至小区物业抑制中心的综合管理系统,实现远程数据采集、设备监控。向下通过家庭总线连接到家庭中各种不同的功能模快,构成家庭信息抑制网,实现家庭中所有相关信息点的数据采集和相关抑制点的功能抑制,并通过网络接口与外部信息社会相连接。智能家居系统整体结构如图1所示。
  
  2 智能家居抑制器的硬件设计
  
  2.1 系统硬件构成
  智能家居抑制器的硬件由FPGA、存储器和外围模块等3个局部构成,是系统的数据处理和完成人机对话的交互中心。结构如图2所示。
  
  家居抑制器的事务原理是:现场的数据采集设备采集到各自的数据,通过串口送给DE2开发板,系统硬件板卡对不同数据进行不同处理。对于房间环境参数数据将交付给LCD显示,同时和设定参数相对照,对照结果送出至各继电器完成对室内环境的调节。对于安防报警信息进行匹配处理,看是否有报警事件需要报警输出。对于智能水表、电表、热表、天然气表的数据进行不同的封装,变成各自的信息流放到网络接口层,交付给网络进行传输。另一方面,当对家庭内电器需要抑制时,通过抑制器的键盘下达的抑制信息来抑制现场动作。同时,能够通过CGI页面完成对抑制器的远程抑制。
  2.1.1 SoPC定制NiosⅡ软核处理器模块
  该设计中的FPGA芯片是选取的Altera公司的Cyclone ⅡEP2C35,它具有35 000个逻辑单元、672个引脚,提供用户自定义I/O口475个。是一款性价比相当好的FPGA芯片。
  FPGA内部各模块是利用Quartus Ⅱ开发软件和其中集成的SoPC Builder系统开发工具设计的。SoPC Builder提供图形化的配置界面,并备有一些常用接口抑制模块,能够直接投入到系统中。在SoPC Builder中加载CPU软核和相应的外围接口以及与定义相应的自定义指令,然后对设计进行编译综合,下载到FPGA,就能够方便地制作一个具有特定功能的嵌入式处理器[4]。设计中的CPU软核选取Altera公司的32位RISC嵌入式处理器Nios Ⅱ。在设计中对FPGA进行配置时,选用了Nios Ⅱ/S CPU、内部定时器、JTAG异步串行接口、SDRAM抑制器、FLASH存储器接口、LCD接口、片内存储器和EPCS4串行配置器件抑制器接口、RS 232接口、DM9000A接口等部件。Nios Ⅱ CPU和所有部件通过Avalon总线连接在一同,构成基于Avalon总线的SoPC系统架构。系统框图如图3所示。
  2.1.2 存储器和外围模块
  存储器模块选取数据不易丢失的FLASH来存储应用程序及需要保存的数据参数,选取读写速度较高的SDRAM来给μC/OS-Ⅱ操作系统和应用程序提供运行空间并缓存大量的中间处理数据。
  
  系统的外围模块包括一个16×2的字符型液晶显示屏LCD和一个16位独立式非编码键盘,用来实现系统的人机交互功能。另外,RS 232接口用来实现家庭内各检测单元与FPGA的通讯。
  2.2 DM9000A与处理器的接口设计
  以太网抑制器芯片是选取台湾Davicom公司生产的DM9000A芯片,支持10 MHz/100 MHz的传输速率,集成了介质访问抑制子层(MAC)和物理层的功能,并且能够直接与大局部通用处理器的本地总线接口。它为嵌入式系统实现快速的以太网连接提供了良好的解决方案。
  在设计DM9000A芯片抑制模块时,由于没有相应的IP核,于是在Altera公司的网站上下载DM9000A _IF.V文件,批改后在SoPC Builder中用“Create New Component”,将DM9000A接口模块添加到系统中。DM9000A接口框图如图4所示。
  
  3 智能家居抑制器的软件设计
  
  3.1 μC/OS-Ⅱ操作系统的移植
  根据家居抑制器的特点,设计必须满足实时性和并发性的要求,以便更好地支持运行时的多任务环境的调度,所以应用软件应该基于嵌入式实时操作系统。日前对照流行的嵌入式操作系统主要有VxWorks,Windows CE,μCLinux,μC/OS-Ⅱ等。考虑到μC/OS-Ⅱ的规模较小、实时性和可靠性较高,NiosⅡ IDE开发环境对μC/OS-Ⅱ的良好支持,故操作系统选择μC/OS-Ⅱ。它是一种占先式的多任务实时操作系统内核,通过为每个任务分配单独的任务堆栈来保存任务事务环境,提供任务答理与调度、任务间的同步、互斥与通讯、时间和停止管理、内存的动态分配等多种系统服务。
  Altera公司提供实时操作系统μC/OS-Ⅱ作为NiosⅡ开发系统的一局部。即在硬件系统创建完成以后,起初一个基于NiosⅡ处理器的MicroC/OS-Ⅱ软件设计过程,使用IDE能够对所有的RTOS模块进行配置。具体能够通过单击MicroC/OS-Ⅱ下每一个选项检查所能选择的选项进行设置,例如最大任务数、最低优先级、消息邮箱等。
  3.2 终端软件的设计
  终端软件同样在NiosⅡ集成开发环境下利用C语言开发。软件设计选取模块化设计,保证程序具有良好的可移植性和可选取性。智能家居抑制器的软件局部包括远程通讯模块、人机交互模块、安防报警模块、环境抑制模块和信息家电模块。智能家居抑制器的启动和运行过程是:当系统上电后,家居抑制器硬件初始化、操作系统初始化、LCD初始化、初始化系统图形用户界面、启动操作系统、创建系统任务、进入主系统任务(Main_Task任务)、创建用户程序,以停止方式随时响应来自各模块任务的响应。每个任务均由以下3局部组成:应用程序、任务堆栈以及任务抑制块。其中惟有应用程序被烧入ROM,而任务本身则被置于RAM,待系统运行时再建立,任务堆栈用以存储CPU寄存器内容。当某任务由运行态变为其他状态时,CPU寄存器内容压入相应任务堆栈,反之则将相应任务堆栈内容置于CPU寄存器。作为系统中定义的一个数据结构,任务抑制块的内容包括任务堆栈的地址、任务当前状态、任务优先权等。操作系统通过查询任务抑制块内容实现对任务的管理。
  3.3 网络设备驱动程序设计
  DM9000A程序设计中选取停止的方式收发数据,程序的编写主要包括初始化、接收、发送、停止处理这几个局部。
  在系统上电时,FPGA通过总线配置DM9000A内部的网络抑制寄存器(NCR)、停止寄存器(ISR)等,完成初始化。随后,DM9000A进入数据收发等待状态。
  在抑制器平台上,接收到的各传感器数字信号经过数字下变频、抽取滤波等解调处理后,变成连续的解调数据流,在FPGA内通过FIFO和以太网接口局部进行缓冲,当解调数据达到规定的数据帧长度时,FPGA利用写操作寄存器MWCMD(REG_F8)将数据帧写入DM9000A的TX缓存区中,然后再将数据帧长度写入寄存器FCH和FDH,其中将高8位写入寄存器FCH,低8位写入寄存器FDH。随后,FPGA将发送抑制寄存器TCR(REG_02)的bit[1]置为高电平,DM9000A接到使能下令后将缓存的数据和数据帧信息进行MAC组帧,并发送出去。
  DM9000A中的接收缓存区RX FIFO初始化后的起始地址为0C00H,每帧数据都有4字节长的首部,然后是有效数据和CRC校验序列。首部4字节用于判断是否有数据接收、接收的帧格式是否有效以及帧长度。在接收到新数据后,停止寄存器ISR的PRS位将被置为0,FPGA起初读取接收缓存区数据。
  
  4 结 语
  
  本文给出一种基于SoPC的远程家居抑制系统的设计方案。使用SoPC技能进行系统设计具有设计灵活、开发周期短的特点,它能将多个外部模块综合设计到一片高密度的FPGA中,使设计更为小巧,成本更为低廉,也更易于系统的升级。虽然目前SoPC技能还处于推广阶段,但在未几的将来一定有更辽阔的应用空间。
  
  参考文献
  [1]王明秋.智能家居抑制系统的设计与实现研讨[D].武汉:华中师范大学,2006.
  [2]徐光辉,程东旭,黄如,等.基于FPGA的嵌入式开发与应用[M].北京:电子工业出版社,2005.
  [3][美]Jean J Labroosse.嵌入式实时操作系统μC/OS-Ⅱ [M].2版.邵贝贝,译.北京:北京航空航天大学出版社,2005.
  [4]任爱锋.基于FPGA的嵌入式系统设计[M].西安:西安电子科技大学出版社,2004.
  [5]潘松,王国栋.VHDL实用教程[M].成都:电子科技大学出版社,2001.
  [6]孙钊.嵌入式操作系统在智能家居中的应用与研讨[D].武汉:武汉理工大学,2006.
  [7]朱立彤.智能住宅的核心“家庭抑制器”[DB/OL].中国智能建筑服务网,1999.
  [8]Using MicroC/OS- II RTOS with the Nios II Processor Tutorial[Z].Altera Inc.2003.
  [9]Nios Software Development Tutorial[Z].Altera Inc.2003.
  [10]Micro/OS-II Real-Time Operating System[Z].Altera Inc.2003.
  
  作者简介 孙玉亮 女,1982年出身,山东日照人,硕士研讨生。研讨方向为自动化装置的集成化与智能化。
  王树昆 男,1956年出身,山东济南人,山东建筑大学信息与电气工程学院教授、硕士生导师,中国电子学会高级会员。研讨方向为自动化装置的集成化与智能化、嵌入式系统和智能建筑技能。
  张传升 男,1973年出身,山东滨洲人,山东建筑大学信息与电气工程学院讲师。研讨方向为建筑智能化系统。

转载请注明来源。原文地址:https://www.7428.cn/page/2018/1204/50857/
 与本篇相关的热门内容: