随着经济的快速发展,人们生活节奏的提高,照顾家庭的时间越来越少。人们越来越感觉时间的紧张,不但要周旋在繁杂的工作之中,同时也要兼顾自己的家。而现有的嵌入式硬盘录像机虽然功能丰富,产品日益成熟,但在家用系统中应用成本太高。因此本文设计了一款高性能、低成本的实时图像监控系统,能让人们在繁忙的工作之余实时了解住所的安全情况。 本文首先提出了该图像监控系统的总体设计方案,并就系统硬件平台的设计进行了详细的论述。硬件部分主要包括主控芯片$3C2410与Flash、SDRAM存储器接口电路,USB接口电路,以太网接口电路,UART串行接口电路,JTAG接口电路以及电源电路。 其次,本文研究了嵌入式IAnux移植的关键技术,包括交叉编译环境的建立、Bootloader 的设计、内核移植以及文件系统加载的方法,并通过裁剪Linux内核将标准Linux 2.4.18移植到目标平台。同时分析了现有文件系统的优、缺点,在目标平台上移植了快速、高效的YAFFS文件系统,增强了系统的健壮性和高效性。 再者,本文修改并移植了LJSB摄像头的驱动程序。研究了基于Vide041inux技术的图像采集的数据结构和原理,详细地阐述了图像采集实现的过程和关键步骤,利用Vide04Linux API函数完成了图像采集程序的设计,使用内存映射方式实现了图像的快速采集,并对图像数据进行了JPEG压缩,提高了图像采集的效率。研究了Web Server和Java Applet技术,实现了远程图像监控。通过重新编译移植Webcam Server应用程序实现了网络摄像机的功能。 最后,本文给出了系统的测试方法及运行结果,并总结了所做的工作和存在的问题,提出了系统改进的意见。 本文设计的图像监控系统具有高性能、低成本、小体积等特点,采用开源的Linux作为软件平台,保证了系统的稳定性、安全性,具有较高的性价比和较强的适用性。
上传时间: 2013-07-28
上传用户:pei5
本文研究并设计了一种基于MSP430单片机的高精度和高准确度的液位监控系统,从硬件设计、软件设计、系统抗干扰、开浇停浇电压补偿和参数线性化五个方面详细描述了整个系统。系统选用了高集成度、超低功耗的混合信号处理器MSP430F449,实现了信号的采集和处理,对液位进行实时的监控并且完成了与LTC1446、LTC1451的数据传输任务。除此之外,还可以根据液位变化情况进行人工调整。系统解决了以往液位监控系统中存在的问题,达到了高准确度和高精度液位监控仪器的各项标准。
上传时间: 2013-11-10
上传用户:Late_Li
本文是设计了基于光纤CAN总线的分层分布式监控系统。该系统分调度层、站控层和间隔层。根据其输入输出的数字量和模拟量来界定链式STATCOM系统的各种状态并对各工作状态进行严密、实时的监控,已经应用于50MVAR链式STATCOM的分层分布式监控系统中。
上传时间: 2013-10-31
上传用户:jiangfire
研究开发一个基于Android系统的远程多人监控智能家居系统.系统包括智能家居控制台终端、后端云数据处理平台、智能家居移动终端三大部分组成.智能家居移动终端使用Android 5.1系统,后端云数据处理平台使用Bmob后端云平台,智能家居控制台终端使用Android 4.0系统.智能家居控制台终端获取家具状态,通过网络传输模块将家具状态数据上传到Bmob后端云平台和获取Bmob后端云平台上智能家居移动终端的请求信息,智能家居移动终端获取Bmob后端云平台的数据和发送请求数据到Bmob后端云平台,从而可实现多台智能家居移动端实时远程监控家居状态.
上传时间: 2022-06-13
上传用户:ttalli
智能化住宅小区,是指在一定范围内通过有效的传输网络,将多元住处服务、物业管理、安防以及住宅智能化等系统结合在一起,为该小区的服务与管理提供高技术的智能化手段。从而实现快捷高效的超值服务管理和安全舒适的家居环境,使业主生活得更安全、更方便。 随着国民经济和科学技术水平的提高,特别是计算机技术、通信技术、网络技术和控制技术的迅速发展,促进了智能小区在我国的推广和应用。目前这些小区的智能化建设大多数是采用Lonworks、FF等现场总线技术。但是现场总线协议标准化程度还不成熟,且成本较高。随着宽带Internet进入家庭,利用Internet来构建智能小区已成为大势所趋。 本文介绍了一种基于以太网和FPGA的嵌入式智能小区管理系统的组建方法。首先,以Altera的FPGA为核心,通过在外围添加适当的存储设备和通信接口设备,构成一个嵌入式系统的硬件平台。其次,在此平台的基础上,通过在FPGA中定制Nios Ⅱ软核处理器以及在外围的Flash存储器中下载uClinux操作系统,从而构建出一套资源丰富的嵌入式操作系统。该系统带有一个网络功能齐全的Web服务器。最后,将此操作系统作为智能小区的楼宇集中器,再根据需要配置适当的采集器和显示器,就可以组建成一套功能强大的智能小区管理系统。它可以完成图像抄表、定时图像采集、实时温度监控、楼宇广播、智能语音报警等功能。 这种利用当前流行的嵌入式系统来组建的智能小区管理系统,不但实现简单、功能强大;而且节约布线、成本低廉。因此具有很高的性价比,相信在未来有较大的市场潜力。 本文主要包括如下几个部分:系统硬件结构设计,包括系统的原理图构建和PCB板的绘制:系统核心处理器设计,包括Nios Ⅱ软核CPU的设计方法、外围存储和通信器件的添加及设计方法;嵌入式操作系统uClinux的相关知识及移植方法:系统的软件结构设计,包括图像采集、温度采集、LCD显示等CGI程序设计,以及单片机语音报警程序设计等;最后给出了调试情况以及一些试验结果。
上传时间: 2013-04-24
上传用户:木末花开
智能化住宅小区,是指在一定范围内通过有效的传输网络,将多元住处服务、物业管理、安防以及住宅智能化等系统结合在一起,为该小区的服务与管理提供高技术的智能化手段。从而实现快捷高效的超值服务管理和安全舒适的家居环境,使业主生活得更安全、更方便。 随着国民经济和科学技术水平的提高,特别是计算机技术、通信技术、网络技术和控制技术的迅速发展,促进了智能小区在我国的推广和应用。目前这些小区的智能化建设大多数是采用Lonworks、FF等现场总线技术。但是现场总线协议标准化程度还不成熟,且成本较高。随着宽带Internet进入家庭,利用Internet来构建智能小区已成为大势所趋。 本文介绍了一种基于以太网和FPGA的嵌入式智能小区管理系统的组建方法。首先,以Altera的FPGA为核心,通过在外围添加适当的存储设备和通信接口设备,构成一个嵌入式系统的硬件平台。其次,在此平台的基础上,通过在FPGA中定制Nios Ⅱ软核处理器以及在外围的Flash存储器中下载uClinux操作系统,从而构建出一套资源丰富的嵌入式操作系统。该系统带有一个网络功能齐全的Web服务器。最后,将此操作系统作为智能小区的楼宇集中器,再根据需要配置适当的采集器和显示器,就可以组建成一套功能强大的智能小区管理系统。它可以完成图像抄表、定时图像采集、实时温度监控、楼宇广播、智能语音报警等功能。 这种利用当前流行的嵌入式系统来组建的智能小区管理系统,不但实现简单、功能强大;而且节约布线、成本低廉。因此具有很高的性价比,相信在未来有较大的市场潜力。 本文主要包括如下几个部分:系统硬件结构设计,包括系统的原理图构建和PCB板的绘制:系统核心处理器设计,包括Nios Ⅱ软核CPU的设计方法、外围存储和通信器件的添加及设计方法;嵌入式操作系统uClinux的相关知识及移植方法:系统的软件结构设计,包括图像采集、温度采集、LCD显示等CGI程序设计,以及单片机语音报警程序设计等;最后给出了调试情况以及一些试验结果。
上传时间: 2013-06-11
上传用户:ccsp11
特点: 精确度0.1%满刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT类比输出功能 输入与输出绝缘耐压2仟伏特/1分钟(input/output/power) 宽范围交直流兩用電源設計 尺寸小,穩定性高
上传时间: 2014-12-23
上传用户:ydd3625
特点(FEATURES) 精确度0.1%满刻度 (Accuracy 0.1%F.S.) 可作各式数学演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 类比输出功能(16 bit DAC isolating analog output function) 输入/输出1/输出2绝缘耐压2仟伏特/1分钟(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 宽范围交直流两用电源设计(Wide input range for auxiliary power) 尺寸小,稳定性高(Dimension small and High stability)
上传时间: 2013-11-24
上传用户:541657925
/*--------- 8051内核特殊功能寄存器 -------------*/ sfr ACC = 0xE0; //累加器 sfr B = 0xF0; //B 寄存器 sfr PSW = 0xD0; //程序状态字寄存器 sbit CY = PSW^7; //进位标志位 sbit AC = PSW^6; //辅助进位标志位 sbit F0 = PSW^5; //用户标志位0 sbit RS1 = PSW^4; //工作寄存器组选择控制位 sbit RS0 = PSW^3; //工作寄存器组选择控制位 sbit OV = PSW^2; //溢出标志位 sbit F1 = PSW^1; //用户标志位1 sbit P = PSW^0; //奇偶标志位 sfr SP = 0x81; //堆栈指针寄存器 sfr DPL = 0x82; //数据指针0低字节 sfr DPH = 0x83; //数据指针0高字节 /*------------ 系统管理特殊功能寄存器 -------------*/ sfr PCON = 0x87; //电源控制寄存器 sfr AUXR = 0x8E; //辅助寄存器 sfr AUXR1 = 0xA2; //辅助寄存器1 sfr WAKE_CLKO = 0x8F; //时钟输出和唤醒控制寄存器 sfr CLK_DIV = 0x97; //时钟分频控制寄存器 sfr BUS_SPEED = 0xA1; //总线速度控制寄存器 /*----------- 中断控制特殊功能寄存器 --------------*/ sfr IE = 0xA8; //中断允许寄存器 sbit EA = IE^7; //总中断允许位 sbit ELVD = IE^6; //低电压检测中断控制位 8051
上传时间: 2013-10-30
上传用户:yxgi5
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230