基于linux的嵌入式无线可视门铃系统的设计
1、 引言
本文引用地址:http://www.amcfsurvey.com/article/21435.htm
在当前的电子行业中,无线技术已经渗透到方方面面,无论是电视机的遥控设备,还是计算机的外围设备都是如此,有的键盘和鼠标甚至也使用了无线技术。无线网络技术已经成为热门技术。无线网络产品广泛应用于家庭网络、小型办公室、会展中心、体育中心、飞机厂、医院、学校、港口、住宅小区、酒店、宽带接入。它使人们在internet应用中摆脱了无穷无尽电线电缆的束缚,进入真正的无网不在的internet自由空间。无线网络技术可望成为新的经济增长点。
近几年来, 随着市场上智能化楼宇的不断升温, 门铃系统已作为智能化办公室和智能化住宅小区的一个重要组成部分,被各商家和用户所接受。人们已开始习惯用门铃系统代替传统的铁钥匙去管理各通道门, 这使门铃系统得到了飞跃性的发展。在2000年, 全世界的门铃系统销量比1999增长了接近10倍,占整个安防市场的40%。
2、 linux操作系统介绍
linux是一种很受欢迎的操作系统,它与unix系统兼容,开放源代码,它原本被设计为桌面系统,现在广泛应用于服务器领域。而更大的影响在于它正逐渐的应用于嵌入式设备。但是它仍保持了桌面linux操作系统的主要的优点,如稳定性、强大的网络功能和出色的文件系统支持等。linux有一个完整的tcp/ip协议栈,同时对其他许多的网络协议都提供支持。
这些网络协议都在linux上得到了很好的实现。linux可以称作是一个针对嵌入式系统的优秀网络操作系统。linux以其优异的性能、免费开放的代码等优点,博得众多嵌入式开发者的青睐,和过去基于简单rtos甚至没有使用任何操作系统的嵌入式程序设计相比,基于linux这样的成熟的、高效的、健壮的、可靠的、模块化的、易于配置的操作系统来开发自己的应用程序,无疑能进一步提高效率,并具有很好的可移植性。
3、 无线可视门铃系统原理框图
图2、无线可视门铃系统服务器端的原理框图
3.1无线可视门铃服务器端基本工作原理
无线可视门铃是一个基于高性能嵌入式处理器和硬件实时编解码芯片,结合
linux操作系统,由服务器端和客户端两部分组成的系统。主要实现音频视频的高质量编解码和网络转发功能,服务器端具体实现功能如下:
由ccd sensor和音视频端口进来的输入信号,经过视频a/d和音频a/d转换后,进行mpeg4视频编码和mpeg mp3音频编码。编码后的视音频码流送到网络复用模块打包后,经过802.11x无线网络送到客户端。具体功能如下:
.1)基于idt rc32434高性能嵌入式处理器等硬件系统的加电自举boot loader功能,具有系统硬件初始化和检测,嵌入式操作系统或用户程序的装载启动功能。
2).在嵌入式操作系统环境下,对以vw2010为核心的a/v模块进行初始化配置和vw2010驱动程序加载。
3).对模拟音频视频进行a/d转换,并以mpeg-4的格式进行压缩编码。
4).将压缩编码后的数据流通过无线网络进行转发。
.5)可以对压缩编码后的数据流/文件进行保存,对输入的压缩编码音频/视频文件进行 解码和模拟音频视频播放输出。
3.2无线可视门铃客户端基本工作原理
802.11x无线网络
flash
sdram
cpu
数字视频解码
网络
解复用
数字音频解码
rs232
控制信号
视频d/a
视频编码
可视终端
音频d/a
图3、无线可视门铃系统客户端的原理框图
由无线网络接收的传送流数据,经过网络解复用模块解复用后,获得的视频码流和音频码流分别送至视频解码模块和音频解码模块进行mpeg4视频解码 和mpeg mp3音频解码。解码后的数据经过视频模拟编码、d/a和音频d/a转换后送到可视终端进行显示。
无线可视门铃系统服务器端和客户端的实物图如图4所示。图片的下面是无线可视门铃系统服务器端,上面是无线可视门铃系统客户端。
图4、无线可视门铃系统服务器端和客户端的实物图
4、 无线可视门铃系统设计
4.1 系统设计原理
系统设计包括硬件和软件。硬件主要分控制系统和输入、输出数据源三部分。输入、输出数据源可以是ide接口设备(如硬盘)或网络端口。控制系统对系统各部分进行监测和控制、完成数据流的传输等。控制系统主要由主控芯片、flash和sram组成。主控芯片通过pci总线控制系统其他模块,是控制系统的核心;flash里固化嵌入式linux操作系统,存放应用软件和备份数据;sdram作为内存供系统运行使用。mpeg-4硬件编、解码系统采用硬编、解码方式,负责将输入的mpeg-4数据流编、解码成普通的电视信号,其核心是编、解码芯片。为解决数据流不稳定的问题,编、解码芯片通常使用sdram进行数据缓冲才可以保证正常编、解码过程。
软件主要包括嵌入式linux移植、编、解码驱动和应用程序编写。嵌入式linux移植到由主控芯片flash控制器控制的flash里,操作系统程序文件分成五个主要部分:bootloader、kernel、ramdisk、usr和boot_param,分别放在flash内的五个模块中。根据不同模块的具体功能采用不同的文件方式:bootloader、kernel、ramdisk和boot param,开发好后不需要动态改变,且容量小,使用节省空间的romfs只读文件系统,usr模块内容较多并需要进行读写操作,要使用支持动态擦写保存的jffs文件系统。
4.2 系统硬件设计
系统的硬件设计主要分两部分:数据源接口设计、控制系统设计。数据流先要从数据源经数据源接口送至pci总线,此系统数据源接口为pci总线上的pci/ide桥芯片和网络控制芯片。
控制系统调配系统资源、控制系统各个部分以及数据流的传输。主控芯片采用idt rc32434。它是一款64位mips,内部集成了nand flash控制器(flashc)、32位pci总线控制器(pcic)、4通道dma控制器、4通道sdram控制器(sdramc)、外部总线控制器(ebusc)、外部总线接口(e—busi)以及2个通用串口等,并通过内部总线对它们分别进行控制。其工作主频400mhz,处理速度快,功能强,性价比高,能很好满足嵌入式linux系统的需求。
mips通过内部的flashc和sdramc实现对外围flash和sdram的控制,其中sdram的数据地址线要与外部总线控制接口(ebusi)连接,flash的数据地址线连接到对应的flashc的数据地址端口。mips通过pci总线控制器(pcic)控制其他pci接口设备。
4.3系统软件设计
本系统软件设计主要分为嵌入式linux操作系统内核移植、编码和解码芯片、pci桥芯片及网口等系统驱动程序编写和解码应用程序的编写,其体系结构及与硬件的关系如图6所示。
嵌入式linux操作系统是用户控制系统的硬件平台,系统驱动程序采用模块化形式,向上为用户层的应用程序提供api函数,向下通过系统硬件api函数控制系统硬件。编、解码驱动模块采用实时加载方式,其他如网口、i2c和pci/ide接口等驱动通用性强,直接编译入内核。编、解码应用程序则实现系统mpeg-4数据流的传输和编、解码。图7和图8分别是无线可视门铃服务器端和客户端主程序流程图。
图5、系统软件原理图
图6 无线可视门铃服务器端主程序流程图
图7 无线可视门铃客户端主程序流程图
5、 结论
上述介绍了一种嵌入式无线可视门铃系统,该系统采用硬件编、解码方式实现ide接口设备或网络端口输入和输出的mpeg-4码流。系统采用64位mips芯片idt rc32434作为主控制器,以vw2010作为mpeg-4编、解码芯片;采用嵌入式linux作为操作系统和模块化的vw2010驱动程序,编、解码应用程序简单实用,可扩展性强。实验证明此系统可广泛用于ip电视、卫星电视、无线可视门铃和基于mpeg-4标准的数字电视广播系统中,应用前景十分广阔。
评论