- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
基于ARM智能家居控制器设计与实现
摘要:怎样将家庭里相对独立的设备连接成一种系统,从而以便进行当地和远程控制?本文通过采用ARM构成智能家居控制器来实现这个目
的。智能家居控制器使用S3C2410、SIM100-E等元件来构成硬件平台,再将
Linux系统移植到硬件平台上,然后设计好对应的驱动程序和应用程序,最终
将软件下载到硬件平台来对家电进行当地和远程控制。
关键词:ARM;GPRS;嵌入式
0序言
伴随数字化家用电器的飞速发展,怎样对家庭中相对独立的家用电器进行智能化管理和操作?这是人们非常关怀的一种问题。智能家居控制器可以将许多相对独立的家用电器构成一种统一的系统,从而以便对家用电器进行当地操作,也可通过互联网或GPRS系统对家用电器实现远程控制等等。本文重要讨
论智能家居控制的设计和实现。
1智能家居控制器的硬件设计
在设计智能家居控制器时,考虑到系统的稳定性和扩展性,因此将控制器硬件设计成关键板和控制板2部分。关键板重要用来构成一台嵌入式计算机
系统,控制板重要是某些外围接口。系统硬件如图1所示。
图1智能家居硬件构造图
关键板采用三星企业生产的S3C2410微处理器。ROM采用SAMSUNG
K9F1208芯片构成64MNANDFLASH,将FLASH芯片连接到系统的nGCSO,因此它的起始地址为:0RAM采用2片HY57V561620AT-H构成64M,将它连接到系统nGCS6,因此它的起始地址为:0为了让系统从NANDFLASH启动,要将S3C2410的OMO和OM1引脚都接地。最终将S3C2410处理器的串口控制信号、USB主机控制信号、LCD控制信号、触摸屏信号、数据总线、
地址总线、控制总线、外部中断等信号所有连接到关键板上的200芯插座上。
GPRS模块采用SIMCOM企业生产的SIM100-E芯片。通过第三个串口信
号线TXD2和RXD2和处理器相连接。
LCD直接由CPU来控制,不过要增长驱动电路。
触摸屏采用4线电阻式,直接将它和CPU的nYPON、YMON、nXPON、
XMON相连。
传感器接口的输出信号连接到CPU的EINT9外部中断引脚上,当传感器
接受到某个信号时,就可以通过外部中断引脚向CPU申请服务。
家电控制接口的输入控制信号连接到CPU的GPIO端口,当要对某个家电进行控制时,只需向指定的端口写入0或1,然后再由家电控制接口发遥
控信号去控制对应的家电。
2智能家居控制器操作系统的移植及裁剪
考虑到成本,以及系统对实时性的规定不高等原因,因此决定选用
Linux操作系统。目前发行的Linux操作系统都能支持ARM机的体系构造,因此只要根据平台的详细构造进行移植。移植重要包括建立交叉编译环境、修改
内核源码、内核裁剪和内核编译4等个环节。
2.1建立交叉编译环境
交叉编译是指运用运行在某台计算机上的编译器编译某个源程序生成在另一种构造计算机上运行的目的代码的过程。编译器的生成依赖于对应的函数库,而这些函数库又得依托编译器来编译。建立交叉编译环境就是将ARM使用的编译器(如:arm-linux-gcc)和函数库(如:glibc)安装到指定目录,并
使用configure配置好Makefile文献。
2.2修改内核源代码
修改内核源代码重要包括启动代码的修改、内核的链接及装入、参数传递和内核引导几种部分。Linux内核分为体系构造有关部分和体系构造无关部分。在Linux启动的第一阶段,内核与体系构造有关部分首先执行,它会完毕硬件寄存器设置,内存映射等初始化工作。然后把控制权转给内核中与系统体系构造无关的部分。在移植工作中要修改的代码重要集中在与体系构造有关的
部分。ARM芯片的体系构造在arch/arm目录下。首先根据芯片手册修改
boot/init.S文献中的:片选组基地址寄存器、DRAM存储配置寄存器、DRAM片
选寄存器、中断屏蔽寄存器等。然后修改内核的链接及装入ELF。最终将系统
中可用页面的数目、文献系统大小等信息以参数形式从启动代码传给内核,完毕设置陷阱,初始化中断,初始化计时器,初始化控制台等一系列操作而使内
核正常启动。
2.3内核裁剪和编译
内核裁剪是根据控制系统的规定将不需要的模块从内核中裁剪了,
Linux内核的裁剪有好几种版本,可以使用命令makemenuconfig对系统进行
裁剪。
内核裁剪之后,最终要进行交叉编译生成内核映象文献zIm
文档评论(0)