基于ARM的嵌入式智能家居控制系统的设计_第1页
基于ARM的嵌入式智能家居控制系统的设计_第2页
基于ARM的嵌入式智能家居控制系统的设计_第3页
基于ARM的嵌入式智能家居控制系统的设计_第4页
基于ARM的嵌入式智能家居控制系统的设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选文档设计摘要:实现了一种全集成可变带宽中频宽带低通滤波器,讨论分析了跨导放大器-电容(otac)连续时间型滤波器的结构、设计和具体实现,使用外部可编程电路对所设计滤波器带宽进行控制,并利用 ads 软件进行电路设计和仿真验证。仿真结果表明,该滤波器带宽的可调范围为126 mhz ,阻带抑制率大于35 db ,带内波纹小于0 . 5 db ,采用1.8 v电源,tsmc 0 . 18仙m cmos工艺库仿真,功耗小于 21 mw ,频响曲线接近理想状态。关键词: butte摘要:随着嵌入式技术、网络及信息技术的发展,针对人们对智能家居的追求,提出了一种基于arm9 的嵌入式智能家居控制系统的

2、解决方案。介绍了嵌入式 linux 系统的软硬件平台,结合实例阐述了嵌入式 qt 图形界面系统、嵌入式数据库sqlite 等关键技术在嵌入式智能家居控制系统中的应用。该方案解决了控制系统的可视化操作问题,提高了系统数据管理效率,并具有通用性可移植到其他硬件或软件平台应用。关键词:智能家居; arm9 ;嵌入式 linux ; qtopia ; sqlite嵌入式系统以其占用资源少、专用性强、功耗低的特点使其广泛应用在移动通信、工业生产、安全监控等领域。针对人们对高效、舒适、安全、便利、环保的居住环境的要求,提出了以 arm-linux 为平台的智能家居控制系统的设计。1 智能家居控制器的总体设

3、计arm-linux 嵌入式系统以其在性能、体积及功耗等方面的优势在智能家居领域得到越来越广泛的应用。系统采用基于 arm 的嵌入式 linux 方案,系统分为五层分别为硬件层,系统引导层,系统层,应用支撑层及应用层。如图 1 所示应用层在 qtopia 图形系统、 sqlite 数据库等的支撑下完成了电话报警、照明控制、安防控制、门禁控制以及网络浏览等应用。可编辑2 系统硬件的设计cpu 处理器选用 samsung s3c2440a ,其主频为 400 mhz ,资源丰富功能强大。内存为 64m sdram ,数据总线32bit ,时钟频率高达100mhz 。存储器为 128 m 掉电非易失

4、nandflash 。 lcd 显示部分为具有4 线电阻式触摸屏接口的 35 英寸真彩色液晶屏。网卡芯片为 dm9000 可自适应 10100m 网络,通过rj45 连接头可连接控制器至路由器或者交换机。智能家居控制模块通过 rs485 总线与主控制器进行通信。其硬件结构图如图 2 所示。3 软件平台的构建开发环境选取的是虚拟机vmware6 5+fedora9linux 系统 +arm-linux-gcc 4 3 2 编译器。系统与软件的编译采取交叉编译的方式进行。表1 是构建控制系统所需移植开发的一些主要软件。uboot 是专门针对嵌入式 linux 系统设计的开源bootloader ,

5、其任务是初始化处理器及外设硬件资源并引导操作系统。内核为 linux2.6.3 2 ,这版提供了更多的驱动程序以及api ,调用起来更加的方便。在内核中要添加对帧缓存frambuffer 的支持,图形系统需要它的支持。文件系统使用 yaffs2 ,以配合 2k每页的大页存储器。根文件系统选用busvboxl . 13. 3,配置编译完之后会生成 bin 和 sbin 目录以及 linuxrc 文件,从而系统就具备了系统以及文件管理的相关命令。移植boa 服务器实现了嵌入式服务器的功能。solite 是面向嵌入式系统的数据库,编译完成后非常小只有几百 k ,支持2t 的数据记录。在嵌入式系统中可

6、以有力的减小应用程序管理数据的开销。下列语句配置编译器与编译路径并进行安装。在安装目录下生成 bin 、 include 及 lib 3 个文件夹,分别为可执行文件、头文件与库文件。qtopia 是专门针对嵌入式linux 系统消费电子设备所研发的一套应用程序包和开发库。图 3 为 qtopia 的软件层次结构图。 qtopia 的信号与插槽机制提供了对象间的通信机制。窗口在事件发生后会激发信号,程序员通过建立一个函数 (称作插槽) ,然后调用 connect() 函数把这个插槽和一个信号连接起来,这样就完成了一个事件和响应代码的连接。可以一个信号对应多个插槽函数,也可以一个槽函数对应多个信号

7、。4 应用程序的设计通过一个应用程序为例说明如何把qt 图形系统,嵌入式数据库sqlite ,linux 下的串口通信程序结合到一起完成应用程序的设计。通过下列语句在 c 与 c+ 程序中调用 sqlite 的 api 完成数据库的创建、插入数据与查询数据。在系统中还需要在数据库系统中存储很多其他信息,遵循上述步骤分别建立相应的数据表存储报警电话号码tel ,工作状态设定set ,设备工作信息 zt ,报警信息 bj 等。图形界面、 sqlite 及串口通信程序的开发的基本过程如图 4 所 示。首先用 qt desinger 根据系统要求设计图形界面,建立槽函数开槽并且通过 语句 connec

8、t(pushbuttonl , signal(clicked() , this ,slot(set_userandphone() ;建立信号与槽函数的连接。槽函数需要根据设计的功能需要编写。用 uic 与 moc 工具生成文件user h、 user cpp 及完成信号与插槽功能的 moc_user cpp 程序,由 progen 与 tmake 生成工程文件 user pro 与 makefile 。 user cpp 中有 sqlite 数据库代码,要把库路径加到 makefile 库文件的搜索路径中否则会因为找不到 sqlite 的库文件而编译失败。要实现用户的用户名、密码等信息存到前面

9、创建的 user db 数据库中,要把创建表与插入数据的代码放到槽函数下。点击set 按钮后就会产生一个信号来触发槽函数,实现数据库的创建与数据的存储。实现串口通信的功能把设置的信息传递给智能家居的各个控制模块,需通过设置struct termios 结构体的各成员值实现波特率、校验位、停止位等设置,完成之后对串口的操作就可以像普通文件一样进行读写操作。串口通信程序代码也放到槽函数下边完成x86环境下的编译之后需要修改makefile文件把pc环境编译器gcc和 g+ 修改为嵌入式环境下的 arm-linux-gcc 和 arm-linux-g+ ,编译完成下载到文件系统的相应目录下并运行测试,系统的其他应用程序如系统工作模式设定、状态查询等也遵循同样的开发流程。图 5 为第一个为系统的总体界面,里面包含 12 应用程序的图标。第二幅为示例应用程序的界面,在输入相应的信息后点击set 按钮,用户名密码以及报警电话分别保存到了 namekey 与 tel 表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论