基于ARM9内核的2440开发板的汉字显示与窗口移动的实现
基于ARM9内核的2440开发板的汉字显示与窗口移动的实现摘要:当你兴高采烈的拿到一块新买的2440开发板,却不知如何下手的时候,本文想通过一个屏幕显示实验,了解开发板的实验开工过程,将帮助你怎样利用板上资源实现自己的设计目标。
关键词:arm2440;汉字显示;窗口移动arm9具有比单片机强得多的功能,它把单片机的许多外部接口电路都集成到了芯片内部,既降低了成本,又提高了系统的可靠性。
但是,arm9的使用却异常复杂,没有象单片机那样的极易上手,应用之方便了。
利用arm9开发板进行一些二次开发,不失为一种多快好省的办法。
本文使用的开发板型号为:tq2440,4.3吋屏幕。
一设计目标在tq2440开发板上显示中英字文本,并能通过按键中断实现文字窗口的上、下、左、右移动。
二实验开工当你买到一块arm9开发板的时候,一般会附送一些接口连接线和一张光盘,内部会有一些出厂程序,这是我们应该好好利用的。
打开包装,拿出里面的实验板,用随机附带的rs-232串口线,usb 线,把arm9开发板与电脑主机连接起来,并插好开发板电源(先不要打开开发板电源)。
三建立软件开发环境(1)启动电脑主机,安装附送光盘上的ads1.2(在“e:\tq2440_cd\windows平台开发工具包\ads1.2”下,其中“e:”为光盘所在目录)。
(2)安装并设置串口工具软件securecrt.exe。
这是个将开发板与电脑主机建立起串行连接的串行口连接工具软件,比超级终端好用。
该软件包在“e:\tq2440_cd\windows平台开发工具包”文件夹下面,找到该软件包并复制到“d:\”下并解压。
运行securecrt.exe,单击快速连接图标,设置使用的协议为“serial”,端口为“com1”,波特率为:115200,并去掉rts/cts前面的钩,单击“连接”。
将内存选择开关打到“nor flash”,打开电源,电脑屏幕提示,发现新硬件,需安装开发板的usb设备驱动程序。
该驱动程序包的路径为“e:\tq2440_cd\windows平台开发工具\usb下载驱动.rar”,解压后,按提示安装即可。
按开发板的复位键,会发现电脑屏幕上出现串口工具窗口,提示选择下载模式。
(3)安装并设置开发板烧写工具软件dwn.exe。
该软件包也在“e:\tq2440_cd\windows平台开发工具包”文件夹下面,找到该软件包并复制到“d:\”下并解压。
该工具软件的设置比较简单,运行dwn.exe,单击菜单“configuration”/“options”,设置波特率为115200,端口为“com2”,(如有冲突,换一个端口),下载地址为“0x3000000”。
到此,建立软件开发环境基本完成。
四修改原出厂镜像(1)修改原出厂程序默认屏幕尺寸1)复制并解压光盘中自带的测试程序tq2440_test_20100607.rar(在“e:\tq2440_cd\tq2440测试程序”下)。
2)打开开编辑项目文件tq2440_test.mcp(比如说是解压缩在“d:\tq2440_test_20100607”下),只要双击文件名tq2440_test.mcp ,即可打开编辑。
3)修改开发板屏幕尺寸大小。
因原出厂程序默认的屏幕尺寸为3.5吋,而实际用的,是4.3寸,要修改一下。
步骤:a,在标签为tq2440_test.mcp的窗口中,右击lcd_tft.c,选择“编译”;2、单击lcd_tft.c右边的下拉箭头,选择“lcd_tft.h”;3、将第14行中的“lcdw35”,改为:“lcdw43”,并保存文件;(2)移植字库1)复制光盘中的文件:e:\tq2440_cd\ucos-ii\ucos-ii_20091031.rar 到d盘根目录下并解压。
2)复制d:\ucos-ii_20091031\s3c2440\source\font_libs.c到d:\tq2440_test_20100607\src中。
3)添加字库文件到项目中:只要在tq2440_test.mcp窗口,单击右键,选择:“add files…”,在弹出的窗口中,打开src文件夹,选中“font_libs.c”,点击“打开”,再点击“ok”即可。
(3)让开发板显示汉字1)在lcd_tft.c 的开头位置,添加外部数组申明:extern unsigned char __chs[];extern unsigned char __vga[];2)打开d:\ucos-ii_20091031\ucos-ii.mcp ,再打开lcd.c ,将里面的lcd_putascii()、void lcd_puthz()、lcd_printf ()这三个函数复制到项目d:\tq2440_test_20100607\tq2440_test.mcp中的lcd_tft.c 文件末尾并在开头添加函数申明。
3)删除 lcd_printf ()函数中开头的这几行(或加上“// ”):// char __lcd_printf_buf[256];// va_list ap;// unsigned char *pstr = (unsigned char *)__lcd_printf_buf;unsigned int i = 0;// va_start(ap,fmt);// vsprintf(__lcd_printf_buf,fmt,ap);// va_end(ap);4)将 void lcd_printf(unsigned int x,unsigned int y,unsigned int c,unsigned int bk_c,unsigned int st,char *fmt,...)改为:void lcd_printf(unsigned int x,unsignedint y,unsigned int c,unsigned int bk_c,unsigned int st,char *pstr),可避免许多编译错误。
(4)让开发板全屏显示汉字并实现窗口移动1)在void keyscan_test(void)函数中,加入:void keyscan_test(void){uart_printf(”\nkey scan test,press esc key to exit !\n”);rgpbup = rgpbup & ~0x03f0|0x03f0;// led [8:5] => up enrgpbcon = rgpbcon & ~0x3d57fc|0x3d57fc;//led[8:5] => output;rgpfcon = rgpfcon & (~((3<<4)|(3<<0)|(3<<8)|(3<<2)))| ((2<<4)|(2<<0)|(2<<8)|(2<<2));//gpf4,2,1,0 set eintrextint0 &= ~(7|(7<<4)|(7<<8)|(7<<16));rextint0 |= (0|(0<<4)|(0<<8)|(0<<16));//set eint0,1,2,4 falling edge intreintpend |= (1<<4);//clear eint 4reintmask &= ~(1<<4);//enable eint 4clearpending(bit_eint0|bit_eint1|bit_eint2|bit_eint4_7);pisr_eint0 = pisr_eint1 = pisr_eint2 = pisr_eint4_7 = (u32)key_isr;enableirq(bit_eint0|bit_eint1|bit_eint2|bit_eint4_7);i=0;j=0;flag=0;while (1){lcd_clearscr((0x1f<<11) | (0x3f<<5) | (0x00));lcd_printf(16*i,16*j+16*0,0x0000,(0x1f<<11) | (0x3f<<5) | (0),1,”海燕”);lcd_printf(16*i,16*j+16*1,0x0000,(0x1f<<11) | (0x3f<<5)| (0),1,”在苍茫的大海上,狂风卷集着乌云。
在乌云和大海之间,海燕象黑色的闪电”);…………lcd_printf(16*i,16*j+16*31,0x0000,(0x1f<<11) |(0x3f<<5) | (0),1,” --让暴风雨来得/更猛烈些吧!....”);while(!flag){delay(200);}flag=0;} // while (1)循环结束}2)在键盘中断处理函数中作如下修改:static void __irq key_isr(void){u8 key;u32 r;entercritical(&r);if(rintpnd==bit_eint1){if (flag==0){j=j+1;flag=1;}clearpending(bit_eint1);}if(rintpnd==bit_eint4_7){clearpending(bit_eint4_7);if(reintpend&(1<<4)){uart_printf(”eint4\n”);if (flag==0){j=j-1;flag=1;}reintpend |= 1<< 4;}}if(rintpnd==bit_eint0){uart_printf(”eint0\n”);if (flag==0){i=i-1;flag=1;}clearpending(bit_eint0);}if(rintpnd==bit_eint2){uart_printf(”eint2\n”);if (flag==0){i=i+1;flag=1;}clearpending(bit_eint2);}}3)在keyscan()函数中,添加全局变量定义:int i,j,flag ;4)在标签为tq2440_test.mcp的窗口中,选中所有文件,单击“project”/“compile”,重新编译文件。
再单击“project”/“make”,连接文件;如发现“0”个错误,这说明一切正常。
嵌入式毕业设计课题
嵌入式毕业设计课题【篇一:嵌入式毕业设计课题】课题一:嵌入式远程视频实时监控实现原理:通过在s3c2440(samsung 的arm9芯片)上植入嵌入式web服务器boa及嵌入式数据库sqlite,搭建一个视频webserver,使得pc或者智能手机可以利用网页方式访问摄像头采集的实时视频,达到远程监控录像等应用!涉及到的知识点:①原理图,pcb,元器件的认识,通过开发板的原理图及cpu的datasheet写程序;② arm架构的理解,arm cpu的工作原理,汇编代码级调试理解;③ 2440 cpu的gpio,uart,i2c,spi,ad,watchdog,rtc,lcd等接口技术原理,c代码级调试理解;④嵌入式linux(linux-2.6.30)系统工作原理,驱动框架结构以及摄像头驱动实现;⑤嵌入式linux(linux-2.6.30)下,webserver的实现,包括,sdl,mjpg-streamer应用软件的移植。
团队组织:实现该项目可以按一下方式组队(考虑到学生可能动手能力有限,每个模块安排两个人,这样有讨论,该分配方法供参考)linux系统部分,三个人:一个人负责硬件部分,也不是设计原理图,此人需要电子专业,要能看懂原理图,负责各个模块能在开发板正常运行;一个人负责软件部分,linux系统编译问题,负责给第一个人完好的镜像文件;第三个人,协调软硬件,需要既懂硬件也懂软件;驱动部分,两个人:同时进行,做相同的事情,目的在于一起讨论,要看image sensor (通俗的说叫摄像头)的数据手册,搞清楚芯片工作原理,成像原理,以及参考驱动进行移植工作,会设计到信号不同,编译问题,协同工作!webserver,两个人:在嵌入式linux系统上搭建webserver,涉及到一些应用软件的整合移植工作,主要是sdl,mjpg-streamer,其中sdl是一个非常有名的开源库,3d就是通过它来实现的,而mjpg-streamer是一个流媒体的开源库,实现视频流在网上的传输,这连个库在企业用得很多。
基于S3C2440A和MJPG―Streamer嵌入式网络视频监控系统的设计
基于S3C2440A和MJPG―Streamer嵌入式网络视频监控系统的设计摘要:本文将嵌入式技术与网络技术融合到视频监控系统,提出了基于S3C2440A和MJPG-Streamer的嵌入式网络视频监控系统,通过测试表明视频图像显示效果较好,运行稳定、可靠。
关键词:S3C2440A USB摄像头MJPG-Streamer v4l21 概述随着科学技术的高速发展,视频监控系统已经进入到人们生活的各个方面,将嵌入式技术与网络技术融合到视频监控系统,弥补了以前传统视频监控系统存在体积过于庞大、布线复杂、价格高等不足,在图像处理与传输方面都有很好的应用,具有重要的社会和应用价值[1]。
2 总体设计本文提出的视频监控系统以ARM9的S3C2440A 作为主控芯片,配合Linux操作系统,通过USB与摄像头连接,搭建了MJPG-Streamer流媒体视频服务器,完成视频数据的采集、压缩及网络传输到远程客户端[2],远程客户端通过软件进行查看,从而实现视频监控。
3 系统硬件设计本系统的核心板采用Samsung公司生产的S3C2440微处理芯片,该芯片基于ARM920T内核,主频高达400MHz,内置了USB控制器,本系统的USB摄像头采用具有视频压缩编码的ZC0301P芯片[3]。
4 系统软件设计4.1 Linux内核配置编译要使USB摄像头能正常工作,Linux需要加载该功能模块,可以有两种方式:一种是把相应模块编译进内核;另一种是编译成模块,生成对应的.o文件,可以动态加载[2]。
本文采用第一种方式,直接编译进内核,USB摄像头随内核启动就能正常工作了。
在PC机的Linux系统下,进入linux-2.6.30.4内核目录,输入make menuconfig,进入到Linux 内核配置菜单,由于本文选择ZC0301P系列的USB摄像头,具体操作如下:Device Drivers 目录---> Multimedia support ---> [*] Video capture adapters --->[*] V4L USB devices ---> USBZC0301[P] Image Processor and Control Chip support。
嵌入式毕业设计课题
嵌入式毕业设计课题【篇一:嵌入式毕业设计课题】课题一:嵌入式远程视频实时监控实现原理:通过在s3c2440(samsung 的arm9芯片)上植入嵌入式web服务器boa及嵌入式数据库sqlite,搭建一个视频webserver,使得pc或者智能手机可以利用网页方式访问摄像头采集的实时视频,达到远程监控录像等应用!涉及到的知识点:①原理图,pcb,元器件的认识,通过开发板的原理图及cpu的datasheet写程序;② arm架构的理解,arm cpu的工作原理,汇编代码级调试理解;③ 2440 cpu的gpio,uart,i2c,spi,ad,watchdog,rtc,lcd等接口技术原理,c代码级调试理解;④嵌入式linux(linux-2.6.30)系统工作原理,驱动框架结构以及摄像头驱动实现;⑤嵌入式linux(linux-2.6.30)下,webserver的实现,包括,sdl,mjpg-streamer应用软件的移植。
团队组织:实现该项目可以按一下方式组队(考虑到学生可能动手能力有限,每个模块安排两个人,这样有讨论,该分配方法供参考)linux系统部分,三个人:一个人负责硬件部分,也不是设计原理图,此人需要电子专业,要能看懂原理图,负责各个模块能在开发板正常运行;一个人负责软件部分,linux系统编译问题,负责给第一个人完好的镜像文件;第三个人,协调软硬件,需要既懂硬件也懂软件;驱动部分,两个人:同时进行,做相同的事情,目的在于一起讨论,要看image sensor (通俗的说叫摄像头)的数据手册,搞清楚芯片工作原理,成像原理,以及参考驱动进行移植工作,会设计到信号不同,编译问题,协同工作!webserver,两个人:在嵌入式linux系统上搭建webserver,涉及到一些应用软件的整合移植工作,主要是sdl,mjpg-streamer,其中sdl是一个非常有名的开源库,3d就是通过它来实现的,而mjpg-streamer是一个流媒体的开源库,实现视频流在网上的传输,这连个库在企业用得很多。
ARM9的超高频读写器基带编解码的实现
基于ARM9的超高频读写器基带编解码的实现王丹(QQ295699450)(电子科技大学电子工程学院 四川成都611731)摘要:根据超高频RFID国际标准协议EPC GEN2中的规定,本文基于ARM9芯片S3C2440提出一种适用于超高频读写器的PIE编码以及MILLER2解码的实现方式。
设计中使用该芯片的PWM输出进行编码并使用其外部中断进行解码。
通过分析示波器捕捉到的MILLER2波形以及串口打印的解码输出,验证了该设计的正确性。
关键词: S3C2440;EPC Gen2协议;超高频读写器; PIE编码;MILLER2 解码中图分类号:TN911.2 文献标识码:AThe Realization of Codec of Baseband in UHF Reader Based on ARM9Wang Dan, Zhang Hongyu(School of Electronic Engineering, University of Electronic Science and Technology of China, Chengdu Sichuan611731, China)Abstract: According to the UHF RFID world protocol EPC GEN2, an encoding of PIE and decoding of MILLER2 which used in UHF RFID reader is realized based on ARM9 chip S3C2440 in this paper. In this design, the PWM output of the chip is used for encoding while external interrupt is used for decoding. By analyzing the MILLER2 waveform captured by the oscilloscope and the output data printed by serial port, the design is proved to be correct.Key words: EPC GEN2 protocol; UHF Reader; S3C2440; PIE coding; MILLER2 decoding1引言普通的UHF读写器主控芯片使用FPGA的较多,其优点是FPGA对时序逻辑处理速度快,使用HDL语言很容易实现协议的编码与解码,但FPGA芯片本身很少具备诸如串口、网口等通信接口模块,功能扩展较麻烦。
[网关,信息]基于应急通信的多网融合信息安全网关设计与实现
基于应急通信的多网融合信息安全网关设计与实现【摘要】基于ARM9平台,设计并实现了一种移动互联网环境下的应急多网接入信息安全网关系统。
该系统基于TPM和TMP规划移动互联网络安全体系结构,可以确保移动互联网络与专用通信网互通的可信应用,解决了基于3G/4G移动通信和云计算技术的应急行业信息平台的安全性问题。
为应急通信专网用户提供了可靠安全的应用保障平台。
【关键词】应急通信 TPM安全平台多网融合 TPM安全芯片1 引言应急通信系统主要是应对各种重大的突发事件,因此应急通信系统的安全性往往关乎广大人民群众的生命和财产安危。
结合可信技术,研发具有自主知识产权的多网融合安全网关系统,对于保障国家安全和人民生命财产安全都具有非常积极的理论和现实意义。
本项目来源于2013年度财政部信息安全专项项目《自主可控的宽带应急通信与指挥关键技术研究、系统研制和示范应用》中的子项目《基于应急通信系统的多网融合信息安全网关》。
2 系统概述基于应急通信系统的多网融合信息安全网关是一种移动互联网环境下的应急多网接入信息安全网关系统。
该系统基于TPM和TMP规划移动互联网络安全体系结构,支持可信移动IP 平台以及可信移动IP平台下的安全路由、安全组播技术。
该系统的整体网络拓扑结构如图1所示:图1 系统总体拓扑图该系统可以确保移动互联网络与专用通信网互通的可信应用,解决基于3G/4G移动通信和云计算技术的应急行业信息平台的安全性问题。
为应急通信专网用户提供可靠安全的应用保障平台。
其主要功能是实现多网信息融合,同时实现基于可信的安全IP平台的安全互联互通。
其组件和接口如图2所示:图2 多网融合安全信息网关组件和接口3 系统软硬件设计3.1 系统硬件设计基于应急通信系统的多网融合信息安全网关的前端设备的核心处理器采用ARM9系列的三星S3C2440芯片。
另外,其主要电路还包括TPM安全芯片控制系统、LPC接口转换系统、无线模块、存储系统、时钟系统、串行通信接口(多扩展便于其他串口设备接入)、以太网、USB接口和其他电路系统[1]。
ARM9 GT2440
GT2440 简要评测昨天笔者收到了由GT 工作室寄来的arm9开发板样品,型号为GT2440。
此款配置为S3C2440 400MHz主控器,2MB Norflash,64MB Nand flash和64MB SDRAM。
由于笔者是电子爱好者,喜欢自己动手做些东西,因此用过不少开发板。
现在就让我们看看这款名为GT2440的arm9开发板有什么特别之处。
一外观篇先来看看包装盒,这是专门为这款型号设计的打开包装,里面的开发套件及配件取出开发套件。
此开发套件自带一个3.5寸的触摸液晶屏,并配有白色透明液晶面板,颇有时尚感。
再来看一下附件,USB线,串口线,网线,电源,JTAG板,光盘及触摸笔。
由图片中可以看到,GT2440所带的数据线均为一性压铸而成的,保证了质量。
同时USB也采用了2.0的高速数据线。
在竞争日益激烈的市场环境下,不少开发板厂商都在配件上压缩成本,从此款开发套件所带的附件,可以看出该厂商一贯宣称的品质路线。
二软件篇看完了硬件,再看一下软件。
此开发套件支持linux和wince5.0操作系统,与市面上其他的开发板类似,在此就不多加介绍,以下为运行画面。
在拿到开发板之前,笔者就听厂商介绍此款开发套件有区别与其他开发套件的独门绝技,下面就让我们来看一看到底有何独特之处?从宣传资料上了解到,厂商为这款开发套件开发了一个特有的SPS游戏系统。
根据手册上的操作,笔者为这款开发板装上了该游戏系统。
在烧写过程中,笔者留意到这样一个小细节。
用过arm9开发板的人都知道,开发板一般带有Nor flash和Nand flash,通过跳线在二者之间切换启动,此款开发板也不例外,值得注意的是,此款开发板已经用导线将开发板上的跳线引至液晶驱动板底面的微型拨动开关,这样,不用拆下液晶就能在二者之间切换。
这样的人性化设计还是值得肯定的。
开机画面系统启动后,画面提示插入游戏卡。
根据说明手册,将光盘中的游戏目录拷贝至SD卡,插入开发板上的SD卡插。
2440超详细U-BOOT(UBoot介绍+H-jtag使用+Uboot使用)
凌FL2440超详细U-BOOT作业(UBoot介绍+H-jtag使用+Uboot使用)Bootloader是高端嵌入式系统开发不可或缺的部分。
它是在操作系统内核启动之前运行的一段小程序。
通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。
现在主流的bootloader有U-BOOT、vivi、Eboot等。
本次作业先做Uboot的烧写吧。
希望通过这个帖子,能让更多的初学者朋友了解一些UBoot的知识,也希望高手朋友对我的不足予以斧正。
首先说一下什么是Uboot:U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。
从FAD SROM、8xxROM、PPCBOOT逐步发展演化而来。
其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。
但是U-Boot不仅仅支持嵌入式Linu x系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统。
其目前要支持的目标操作系统是OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS。
这是U-Boot中Universal的一层含义,另外一层含义则是U-Boot除了支持PowerPC系列的处理器外,还能支持MIPS、x86、ARM、NIOS、XScale等诸多常用系列的处理器。
这两个特点正是U-Boot项目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作系统。
基于ARM9的嵌入式Linux应用开发平台的分析与实现
基于ARM9的嵌入式Linux应用开发平台的分析与实现陈斌【摘要】随着经济的迅速发展以及科学技术水平的不断提高,IT行业取得了较大程度上的进步,为我国国民经济的发展以及人民生活水平的提高做出重要贡献。
尤其是近几年来,信息技术、网络技术飞速发展,IT领域不断发展与升级,在这种环境之下,嵌入式系统成为IT领域的重要焦点之一。
目前状况下,行业内存在着诸多的嵌入式系统,而在这些嵌入式系统当中,Linux最为受到青睐,这主要是因为Linux具有自身的强大优势,主要表现在三个方面,分别是元代码开放、功能强大一级级易于移植等。
就目前市场状况而言,ARM9系列的嵌入式微处理器已经成为嵌入式系统首选的处理器产品,本文就在此基础之上针对基于ARM9的嵌入式Linux应用开发平台的分析与实现进行有益探讨。
【期刊名称】《佳木斯职业学院学报》【年(卷),期】2014(000)005【总页数】2页(P1-2)【关键词】嵌入式系统 ARM9 Linux应用开发平台文件系统【作者】陈斌【作者单位】铁岭师范高等专科学校【正文语种】中文【中图分类】TP316.811.嵌入式系统模型图1显示的主要是嵌入式系统的模型结构:如果从物理层面的角度对其进行一定程度上的分析,可以将嵌入式计算系统理解成一个专用的电子系统,一般情况下,这一专用的电子系统都处于一个非电子系统环境之下,且这一系统环境具有一定的复杂性。
至于这两种系统的关系,可以对其进行一定程度的抽象化处理,即具有复杂性的非电子系统是嵌入式系统的外部环境,我们将其称为被嵌入的系统。
就一般状况而言,整个系统之中所包含的嵌入式系统为多个,同时,嵌入式系统能够与外界进行直接的通信。
对于嵌入式系统而言,它能够提供一个专门的服务给被嵌入系统,这一服务主要表现为两个方面:一方面,这一服务可以表现为对外界输入的响应;另一方面,这一服务也可以是对被嵌入系统或者与之相邻的嵌入式系统数据的响应。
就如现代机电控制系统,对于这一系统而言,它是一种分布式的系统,在这种系统环境之下,各个处理单元都是通过网络进行一定程度上的连接的。
基于S3C2440网络视频传感器软硬件平台的设计与实现
基于S3C2440网络视频传感器软硬件平台的设计与实现作者:杜宝祯曽佳马海燕来源:《数字技术与应用》2012年第10期摘要:提出了一种基于嵌入式linux和H.264的网络视频传感器节点软硬件平台的设计方案。
该方案构建了以ARM9处理器S3C2440A为核心、运行Linux操作系统的嵌入式软硬件平台,通过 USB驱动和video4linux实现使用USB摄像头采集视频图像数据。
同时针对视频图像数据量过大的问题,采用了H.264编码器实现对视频图像数据的压缩,为数据的远程传输带来便利。
关键词:SC2440 H.264 视频图像压缩中图分类号:TN919.91 文献标识码:A 文章编号:1007-9416(2012)10-0055-021、引言随着网络测控技术在工业领域和生产生活中的不断发展,人们对通过网络测控系统采集视频图像数据的需求越来越迫切。
但是由于视频图像数据量大,直接传输势必会增大网络传输的负担,增加网络阻塞的隐患;特别是在具有不确定性时延的网络中,实时采集将很难实现。
因此,对视频图像数据,在存储和传输前进行压缩处理,就成了一个极其有意义的工作和解决方案。
因此本文采用基于S3C2440A及H.264的网络视频传感器软硬件平台的设计方案,具有一定的通用性。
2、传感器硬件平台设计视频传感器节点在网络测控系统中承担着图像数据采集和压缩算法实现两大任务,因此这要求传感器的硬件平台要有具有强劲的计算能力和良好的网络性能。
在综合考虑了常用的51单片机和32位ARM控制器芯片后,本文采用了三星公司的S3C2440,外围设备主要有RAM、Nor FLASH、Nand Flash以及网络接口芯片等。
控制器的硬件平台结构如图1所示:2.1 S3C2440处理器三星公司的32位RISC微控制器S3C2440AL-40采用了16/32位ARM920T的RISC微处理器核心[1]。
ARM920T具备AMBA BUS,MMU和Harvard高速缓冲架构,使得数据处理能力更加强劲。
物联网智能家居解决方案-智能家居远程监控系统的解决方案
物联网智能家居解决方案-智能家居远程监控系统的解决方案智能家居又称为数字家庭,一般是指以计算机接口技术和网络技术为基础,将各种家用数字化设备有机结合为一体的智能化的网络系统。
这些家用数字化设备包括电话、计算机、数字化的视听设备、数字化的家用电器及安全监控设备等,通过有线或无线的方式将这些设备连接起来,为家庭用户提供简单、安全、可靠、智能化的综合服务。
本文以Web技术为核心,在基于S3C2440微处理器和嵌入式Linux操作系统的软硬件平台上构建了Web服务器和视频服务器,Web服务器采用Boa,视频服务器采用Servfox,结合CGI技术处理HTML表单,完成用户认证,门窗控制等家居监控功能。
1 系统总体结构设计图1为智能家居远程监控系统的总体结构图。
室内部分主要包括家电控制、防盗报警、远程监控、防火报警等功能模块,这些功能模块通过Web服务器接入Internet网,用户可通过计算机登录因特网,远程监控室内情况,同时室内如检测到火、盗等异常情况可通过Internet向用户报警。
2 系统硬件设计智能家居远程监控系统的硬件系统由YC2440-F开发板、网络接口、门窗控制、照明设备、温度传感器、USB摄像头等组成。
YC2440-F 开发板作为整个系统的控制核心,负责信息的采集和处理,并控制各个模块协调工作,如图2所示。
控制核心采用YC2440-F开发板。
该开发板是扬创科技公司使用三星S3C2440处理器开发的ARM9开发板。
YC2440-F开发板采用核心板+扩展板的结构。
门窗控制模块可以让用户通过互联网远程控制室内门窗的开启与关闭,如有人以非正常方式通过门窗进入室内,可向用户报警。
在实验中选用一个步进电机来模拟门窗控制,电机正转表示门窗开启,电机反转表示门窗关闭,步进电机如强行被破坏则报警。
步进电机通过集成芯片ULN2003驱动,门窗控制电路如图3所示。
照明控制模块可以让用户通过互联网远程控制室内照明系统的打开与关闭。
