GPRS详细设计说明书_第1页
GPRS详细设计说明书_第2页
GPRS详细设计说明书_第3页
GPRS详细设计说明书_第4页
GPRS详细设计说明书_第5页
已阅读5页,还剩129页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

基于 GPRS 的远程安防监控系统详细设计说明书提交:审核:提交:审核:核准:2百手起驾 整理为您发行签核记录表发 文 单 位 签 核 发 文 单 位 签 核修改纪录表版本 发行日期 修改记录Ver:1.00 2008-4-20U-BOOT-1.1.4内核版本是 文件系 统 cramfsVer:2.00 2008-12-1U-BOOT-1.3.4内核版本是 文件系统 yaffs23百手起驾 整理为您基于 GPRS 的远程安防监控系统详细设计说明书1、 引言1.1 目的 本说明书是为了程序员详细了解基于 GPRS 的远程安防监控系统应该完成的功能和各模块输入、处理、输出关系,指导程序员正确编码;同时作为测试人员的参考资料使用 面向的读者:程序员、测试人员、评审员;1.2 项目背景 项目名称:基于 GPRS 的远程安防监控系统。 项目功能:使用 FS2410 开发板和 GPRS 模块和 USB 摄像头,完成对现场的监控功能,硬件资源来源于 FS2410 开发板自带的资源,比如温度传感器,报警器,红外传感器等。如果温度传感器特测温度高于一定的温度或者红外传感器特测有不法分子闯入,那么相应的相应的报警功能,灭火功能被开启,并通过 GPRS 模块通知用户现场情况,用户根据具体情况采取不同的措施给系统。完成一个远程监控的主要功能。 系统提出者: 项目开发者: 项目管理者: 最终用户:面向用户 其他有关背景资料。1.3 术语及缩略语定义1.3.1 术语定义: FS2410:优龙开发板名称。 cgi : Common Gate Intergace,是 HTTP 服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上 系统说明:bootloader 的版本是 u-boot-1.3.4 内核版本是已经做好的 linux- 内核 文件系统可以根据自己的情况来定制4百手起驾 整理为您1.3.2 缩略语定义:1.4 参考资料1.4.1 文件 基于 GPRS 的远程安防监控系统需求分析说明书 基于 GPRS 的远程安防监控系统概要设计说明书1.4.2 资料 优龙开发板参考资料光盘2、 主控系统详细设计2.1 程序结构图小偷异常现象红外传感器USB 摄像头GPRSADSL灭火装置报警存储照片主控板InternetY填充 adc_remap_ops 结构体的各个域。open,release,read,writerequest_irq(IRQ_ADC,adcdone_int_handler,SA_INTERRUPT, DEVICE_NAME, NULL);(中断注册)register_chrdev_region(dev,1,“adc“) 成功?2.2.1AD 模块驱动流程图详细代码设计#include #include #include #include #include #include #include #include #include #include /* printk() */#include /* kmalloc() */#include /* everything. */#include /* error codes */#include /* size_t */#include 注册驱动程序8百手起驾 整理为您#include #include #include /#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include “s3c2410-adc.h“#include #define DEVICE_NAME “adc“#define ADCRAW_MINOR 0#if 0#define ADC_INPUT(x) (x)3)#define PRSCVL(x) (x)6)#endifstatic int adc_major = 250;typedef struct struct semaphore lock; /声明一个信号量wait_queue_head_t wait; /声明一个等待队列头int channel;/选择哪一路AD转换器int prescale;/预分频值ADC_DEV;static ADC_DEV adcdev;/*中断处理函数*/static irqreturn_t adcdone_int_handler(int irq,void *dev_id,struct pt_regs *regs)9百手起驾 整理为您wake_up(/唤醒等待队列return IRQ_HANDLED ;/*对设备进行写操作,buffer一定是用户空间的*/static ssize_t s3c2410_adc_write(struct file *file, const char *buffer, size_t count, loff_t * ppos)int data;if(count!=sizeof(data)printk(KERN_INFO“the size of input data must be %dn“, sizeof(data);return 0;copy_from_user(/从用户空间拷贝数据到内核空间adcdev.channel=ADC_WRITE_GETCH(data);/得到哪一路AD转换器adcdev.prescale=ADC_WRITE_GETPRE(data);/得到预分频值/printk(KERN_INFO“set adc channel=%d, prescale=0x%xn“, adcdev.channel, adcdev.prescale);return count;/*对设备进行读操作,buffer一定是用户空间的*/static ssize_t s3c2410_adc_read(struct file *filp, char *buffer, size_t count, loff_t *ppos)int ret = 0;if (down_interruptible(writel(readl(S3C2410_ADCCON) /对AD控制寄存器进行操作,具体参看s3c2410 datasheetwritel( (114) | (2556) |(10)|(10)| ADC_INPUT(adcdev.channel),S3C2410_ADCCON);interruptible_sleep_on(ret = readl(S3C2410_ADCDAT0);ret /printk(KERN_INFO“AIN%d = 0x%04x, %dn“, adcdev.channel, ret, readl(S3C2410_ADCCON) copy_to_user(buffer, (char *)/拷贝内核数据到用户空间10百手起驾 整理为您up(return sizeof(ret);/*打开设备*/static int s3c2410_adc_open(struct inode *inode, struct file *filp)int ret;ret = request_irq(IRQ_ADC, adcdone_int_handler, SA_INTERRUPT, DEVICE_NAME, NULL);/注册中断例程if (ret) return ret;init_MUTEX(/初始化一个互斥的信号量,并设置为1init_waitqueue_head(/初始化等待队列adcdev.channel=0;adcdev.prescale=0xff;printk(KERN_INFO“adc openedn“);return 0;/*关闭设备*/static int s3c2410_adc_release(struct inode *inode, struct file *filp)free_irq(IRQ_ADC, NULL);/释放中断资源printk(KERN_I

温馨提示

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

评论

0/150

提交评论