基于ARM的智能家居监控系统详细设计说明书

上传人:飞*** 文档编号:4529713 上传时间:2017-08-20 格式:DOC 页数:65 大小:1.96MB
返回 下载 相关 举报
基于ARM的智能家居监控系统详细设计说明书_第1页
第1页 / 共65页
基于ARM的智能家居监控系统详细设计说明书_第2页
第2页 / 共65页
基于ARM的智能家居监控系统详细设计说明书_第3页
第3页 / 共65页
基于ARM的智能家居监控系统详细设计说明书_第4页
第4页 / 共65页
基于ARM的智能家居监控系统详细设计说明书_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《基于ARM的智能家居监控系统详细设计说明书》由会员分享,可在线阅读,更多相关《基于ARM的智能家居监控系统详细设计说明书(65页珍藏版)》请在金锄头文库上搜索。

1、 基于 ARM 的智能家居监控系统详细设计说明书提交:审核:提交:farsight审核:XXX核准:XXX基于 ARM 的智能家居监控系统详细设计说明书 发行签核记录表发 文 单 位 签 核 发 文 单 位 签 核北京开发中心技术管理部修改纪录表版本 发行日期 修改记录Ver:1.00 2009-4-9基于 ARM 的智能家居监控系统详细设计说明书 基于 ARM 的智能家居监控系统详细设计说明书1、 引言1.1 目的 本说明书是为了程序员详细了解基于 ARM 的智能家居监控系统 应该完成的功能和各模块输入、处理、输出关系,指导程序员正确编码;同时作为测试人员的参考资料使用 面向的读者:程序员、

2、测试人员、评审员;1.2 项目背景 项目名称:基于 ARM 的智能家居监控系统。 项目功能:使用 FS2410 开发板和 GPRS 模块和 USB 摄像头,完成对现场的监控功能,硬件资源来源于 FS2410 开发板自带的资源,比如温度传感器,报警器,红外传感器等。如果温度传感器特测温度高于一定的温度或者红外传感器特测有不法分子闯入,那么相应的相应的报警功能,灭火功能被开启,并通过 GPRS 模块通知用户现场情况,用户根据具体情况采取不同的措施给系统。完成一个远程监控的主要功能。 系统提出者:北京市华清远见科技信息有限公司 项目开发者:farsight 项目管理者:farsight 最终用户:面

3、向用户 其他有关背景资料。1.3 术语及缩略语定义1.3.1 术语定义: FS2410:优龙开发板名称。 cgi : Common Gate Intergace,是 HTTP 服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上1.3.2 缩略语定义:1.4 参考资料1.4.1 文件 基于 GPRS 的远程安防监控系统需求分析说明书 基于 GPRS 的远程安防监控系统概要设计说明书基于 ARM 的智能家居监控系统详细设计说明书 1.4.2 资料 优龙开发板参考资料光盘2、 主控系统详细设计2.1 程序结构图2.1 系统结构图小偷异常现象红外传感器USB 摄像头GPR

4、S灭火装置报警存储照片主控板Internet&手机火灾温度传感器基于 ARM 的智能家居监控系统详细设计说明书 2.2 程序说明:2.2.1 AD 模块说明程序描述:AD 驱动 程序名称:s3c2410-adc.c 审核:farsight 日期:2008-4-26输入数据:一个模拟电压信号量输出数据:得到一个数字信号量基于 ARM 的智能家居监控系统详细设计说明书 硬件描述:AD 转换器是模拟信号源和 CPU 之间联系的接口,它的任务是将连续变化的模拟信号转化为数字信号,以便计算机和数字系统使用。FS2410 开发板用的 AD 转换器是 ARM S3C2410 自带的一个一路 10 位的 AD

5、 转换器。并且支持触摸屏功能。最大转化率是500K,AD 转换器频率的计算公式为:系统时钟/(比例值+1) 。本电路的特点是通过改变滑动变阻器的阻值来改变模拟电压量。软件是通过 read,write 来进行对 AD 的读和写的操作。原理图:涉及的 datasheet: (s3c2410 芯片手册)具体操作根据驱动程序和 datasheet 来结合基于 ARM 的智能家居监控系统详细设计说明书 程alloc_chrdev_region(&devno,0,1,AD_temperature);(动态)结束初始化 cdev,并添加到内核之中cdev_add(&ADdev.cdev,devno,1);Y

6、填充 adc_remap_ops 结构体的各个域。open,release,read,writerequest_irq(IRQ_ADC,AD_interrupt,SA_INTERRUPT,AD,NULL);(中断注册)register_chrdev_region(devno,1,AD_temperature) 成功?序流程: 2.2.1AD 模块驱动流程图驱动设计思路:在模块中有 AD 转换驱动和蜂鸣器的驱动,AD 驱动的设计为:open 函数中设置为手动启动,当应用层调用 read 函数时,开启 AD 转换,然后进入可中断的等待队列,当中断来的时候,唤醒等待队列,然后读取转换数值,在 IOC

7、TL 中能控制对 AD 和蜂鸣器的开和关。#include #include #include #include #include #include #include #include #include #include #include #include #include #include 注册驱动程序N基于 ARM 的智能家居监控系统详细设计说明书 #include #include #include #include #include #include #include #include #include #include #include #include #include #incl

8、ude #include #include #include #include #define rADCCON *(volatile unsigned int*)S3C2410_ADCCON#define rADCDAT0 *(volatile unsigned int *)S3C2410_ADCDAT0#define rGPBCON *(volatile unsigned int *)S3C2410_GPBCON#define rGPBDAT *(volatile unsigned int *)S3C2410_GPBDAT#define rCLKCON *(volatile unsigned

9、 int *)S3C2410_CLKCON#define rADCTSC *(volatile unsigned int *)S3C2410_ADCTSC#define AD_MAGIC k#define AD_ENABLE _IO(AD_MAGIC,1)#define AD_DISABLE _IO(AD_MAGIC,2)#define BEEP_ON _IO(AD_MAGIC,3)#define BEEP_OFF _IO(AD_MAGIC,4)#define AD_MAJOR 91static void AD_setup_cdev(void);static irqreturn_t AD_in

10、terrupt(int irq,void *dev_id,struct pt_regs *regs);static int ad_major = AD_MAJOR; int count = 0 ;int onoff = 0 ;struct AD_dev基于 ARM 的智能家居监控系统详细设计说明书 wait_queue_head_t wait;struct semaphore semread;int temperature;struct cdev cdev;struct AD_dev ADdev;static void beepon(void) /开蜂鸣器unsigned long data;

11、unsigned long s3c2410_fclk;unsigned long s3c2410_hclk;unsigned long s3c2410_pclk;data = *(volatile unsigned long *)S3C2410_GPBCON;data &= 0x3;*(volatile unsigned *)S3C2410_GPBCON = data | 0x2;data = readl(S3C2410_TCFG0);data &= 0xff;data |= 15;writel(data, S3C2410_TCFG0);data = readl(S3C2410_TCFG1);

12、data &= 0xf;data |= 2;writel(data, S3C2410_TCFG1);s3c2410_fclk = s3c2410_get_pll(_raw_readl(S3C2410_MPLLCON), 12*1000*1000);data = _raw_readl(S3C2410_CLKDIVN); s3c2410_hclk = s3c2410_fclk / (data & S3C2410_CLKDIVN_HDIVN) ? 2 : 1);s3c2410_pclk = s3c2410_hclk / (data & S3C2410_CLKDIVN_PDIVN) ? 2 : 1);

13、writel(s3c2410_pclk 7) / 2000, S3C2410_TCNTB(0);writel( (s3c2410_pclk 7) / 2000) 1, S3C2410_TCMPB(0);data = readl(S3C2410_TCON);data &= 0x1f;data |= 0xb;writel(data, S3C2410_TCON);基于 ARM 的智能家居监控系统详细设计说明书 data &= 2;writel(data, S3C2410_TCON);static void beepoff(void) /关蜂鸣器unsigned long data;data = *(volatile unsigned *)S3C2410_GPBCON;data &= 0x3;*(volatile unsigned *)S3C2410_GPBCON = data | 0x1;*(volatile unsigned *)S3C2410_GPBDAT &= 0x1;static int AD_open(struct inod

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号