




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2011-2012德州仪器C2000及MCU创新设计大赛项目报告题 目: 手势电视机遥控器 学校: 深圳大学 指导教师: 邱洪 组别: 专业组 应用类别: 先进控制类 平台: C2000 参赛队成员名单(含每人的邮箱地址,用于建立人才库):梁凯、在读研究生、深圳大学、徐佳瑛、在读研究生、深圳大学、826614797李丹涛、在读研究生、深圳大学、视频文件观看地址(若未拍摄,请注明): 时间仓促,未拍摄视频文件邮寄地址和收件人联系方式(快递发送,请不要使用邮政信箱地址)广东省深圳市南山区深圳大学南区机电楼S821,518061徐佳瑛要本报告详细介绍了一款基于手势识别算法及DSP2812平台实现的手势电视机红外遥控系统。该系统可以将用户手势的运动信息转换成相应的红外信号从而达到手势遥控电视机更换频道和调节音量的目的。该系统主要由基于双端口RAM通信的双DSP并行处理平台、CMOS数字摄像头、万能红外遥控模块、上位机调试软件和以太网通信模块组成。实验测试表明,该系统能成功实现用户手势图像的采集,手势动作的识别、红外遥控功能及以太网通信功能。关键词:手势识别、DSP 2812、红外遥控、UDP协议AbstractThis paper introduced a system called hand gesture-based IR Remote Controller, which based on the gesture recognition algorithm and was realized on DSP platform. The Controller can convert the motion information of the users hand gesture into corresponding infrared signal so as to achieve the purpose of changing channels and adjusting volumes of TV with hand gesture. The Controller consists of a dual-DSP parallel processing platform which based on dual-port RAM communicating technology, CMOS digital camera, universal infrared remote control module, PC debugging software and Ethernet communication module. The experimental tests show that the system can successfully realize collecting the images of users hand gestures, recognizing gestures and Ethernet communication function.Keywords: gesture recognition,DSP2812, infrared remote controller,UDP1引言把新技术应用到日常生活当中,不仅能够发挥新技术的优势,达到推广新技术的目的,而且能够提高大众的生活水平,方便人们的日常生活。基于这样的目的,本设计针对家庭电视机红外遥控器进行了重新的思考和探索。传统的电视机遥控器需要用户按键进行更换频道,调节音量等操作。虽然大部分人已经习惯了这样的一种的遥控方式,但是,当中的弊端相信不少人也能够体会。对比最符合人的控制交互方式,按键操作始终不是最优和最容易接受的选择。那么能否找到一种更加直观,更加人性化的遥控方式,让我们在不依赖于传统遥控器的情况下也能随心所欲遥控电视机?为了找到答案,本设计结合手势识别新技术,将手势识别技术与电视机红外遥控功能相融合,制作出名为手势电视机遥控器的遥控装置。手势识别技术是指计算机通过摄像头捕获人的手形和其动作,然后利用相关的图像处理算法及技术实时地对手势进行识别,最后根据定义的动作规则,做出相应的反应,从而实现手势控制的人机交互。基于手势识别技术的应用是目前的研究热点之一,目前市场上的产品分为两种。一种是将手势转化成坐标信息或者点击信息,控制光标的移动来控制设备。第二种直接将识别手势动作将识别结果转化成控制信号。手势电视机遥控器是手势遥控技术的一个创新应用,它一改传统电视机遥控器的按键操控模式,采用直接判断使用者的手部动作的新方法来遥控电视机。该设备只需要使用者的手部在摄像头的拍摄范围按照规定的摆放方式动作,就能够遥控电视机进行音量增减或频道变换等操作。考虑成本和灵活性因素,我们把手势电视机遥控器设计为自带红外万能遥控的模式,使得该装置具有更为强大的拓展功能。除了遥控电视机之外,该遥控器还可通过学习其他红外控制指令对相应红外遥控家用设备进行控制。因此,手势电视机遥控器不仅把新技术应用到人们的日常生活中,使得人们对电视机的遥控操作更加便捷和人性化,而且还能给红外遥控带来一种新的乐趣,丰富大众的日常生活。2系统方案 手势电视机遥控器是集合了图像采集、手势识别和红外遥控三大主要功能的控制装置。为实现其相关功能,本设计选择了DSP2812芯片作为实验和测试平台。考虑系统的各部分性能,结合我们的设计理念,我们对系统进行总体规划,确定合适的系统方案。通过对摄像头采集图像能力和DSP处理视频流能力的测试,最终确定的系统结构如图1所示。图1 手势电视机遥控器的系统结构由图1可知,本系统采用了双DSP共同工作的双核处理平台,该平台主要由六个模块组成:(1)摄像头模块:由摄像头OV7620及驱动电路组成,负责手势图像采集;(2)DSP1:TMS320F2812,负责采图像、对图像预处理及与上位机的网络通信;(3)上位机软件:显示实时采集的图像,图像处理结果和调试参数等。上位机与DSP1之间通过以太网进行协议通信;(4)双端口RAM模块:为了实现两个DSP之间的高效数据通信,本系统采用了双端口RAM作为双方的外拓数据存储,根据双端口RAM的读写原则,达到双核有效通信;(5)DSP2:负责手势图像最终的识别和信息提取工作。它从双端口RAM获取图像数据,从图像中提取有用的特征,并进行判断,将判断结果转换成相应的红外模块控制信号;(6)红外遥控模块:负责学习电视机配套遥控器的红外遥控指令,将其放入指定的存储空间中。在DSP2给出发射指令时,查询存储空间,获取对应的红外指令,并发射。本系统中运用的算法主要包括:噪声消除算法,手势定位算法和方向判断算法。其中,噪声消除算法是后续算法的前提和保证。手势定位算法实现人手在摄像头拍摄区域的准确定位,为获取准确的手势特征提供可能。方向判断算法通过手势特征来判断手部运动的方向,为红外发射指令提供参数。系统实现的原理如图2所示。图2 手势遥控系统实现原理框图3系统硬件设计3.1 双DSP处理平台及其内存空间的设计图3 硬件结构图本设计使用DSP2812进行图像采集、图像处理并且实现红外遥控和网络通信等功能。考虑到对处理器的多任务能力和速度有较高要求,为了让图像采集模块、网络通信模块、图像处理模块和红外遥控模块协同工作,实现DSP的快速响应,本系统为此定制了一个拥有双DSP2812的最小系统。通过双核分工处理,共同完成手势遥控的各种功能。该双DSP的系统硬件模块总结构图如图3所示。DSP1主要负责图像采集,与上位机的网络通信和用户按键的输入。按钮用于红外万能遥控功能设定。DSP2主要负责手势识别的相关图像处理,红外遥控和用户界面。为了实现双DSP之间的通信,该系统使用了Cypress公司的一款64k*16位的双端口RAM 芯片CY7C028搭建了一个双DSP之间的数据通道,DSP1把采集到的图像通过时间控制有规律写入到数据通道中,DSP2从数据通道中取出图像数据存放到自己的RAM中,然后进行相关的图像处理,并把处理结果通过红外模块发射出去。在连接上位机的情况下,DSP1同时也把采集到的图像根据上位机的要求,使用UDP网络协议发送到上位机,从而可以在上位机观察图像采集与处理的情况。为了保证足够的空间给DSP进行相关的图像处理工作,除了通信用的双端口RAM之外,本系统特别地分别为两个DSP同时扩展了512k*16位的RAM空间,以满足图像处理的空间要求。该系统双DSP的储存器设计总框架如图4所示。图4 双DSP的储存器设计框架图3.2 CY7C028工作原理及数据通道的设计图5 CY7C028内部功能框图CY7C028是Cypress公司研制的64k*16位低功耗CMOS型静态双端口RAM,最大访问时间为12ns,可以与大多数高速处理器配合使用,而无需插入等待状态。它具有真正的双端口,两端口可以同时进行数据存储,另外通过主从选择可以方便地扩大存储容量和数据宽度。其内部功能结构如图5所示。CY7C028是一种性能优越的快速通信器件,对于大多数CPU的高速数字系统设计都非常适用。其主要特点有:提供两套完全独立的数据总线、地址总线、读写控制总线,允许两个处理器对双端口存储器同时进行操作;具有两套中断逻辑,用于实现两个处理器之间的握手信号;具备完全独立的忙逻辑,可保护两个处理器对同一地址单元进行正确的读写操作。当两个处理器对CY7C028存取时,存在以下4种情况:(1)两个处理器不同时对同一地址单元存取数据; (2)两个处理器同时对同一地址单元读出操作;(3)两个处理器同时对同一地址单元写入操作;(4)两个处理器同时对同一地址单元操作,一个写入操作,另一个读出操作。由以上可知,在第1、2两种情况下,两个端口的存取不会出现错误,而第3种情况会出现写入错误,第4种情况会出现读出错误。为了避免两个处理器对同一地址单元进行访问时,由于地址数据争用而造成的数据读写错误,CY7C028芯片提供了以下3种工作方式:硬件判优方式、令牌判优方式和中断判优方式。中断判优方式又称邮箱判优方式。CY7C028具有两套中断逻辑,通过两个INT引脚分别接到两个CPU 的中断引脚上,以实现CPU的握手。在双端口RAM 的数据传送中,两端的CPU都把双端口RAM 作为自己存储器的一部分,当两个CPU需要数据传送时,假设左端CPUL向右端CPUR传送,首先CPUL将需要传送的数据存放到双端口RAM 某段约定的地址单元中,然后向双端口RAM 的最高奇地址单元0xFFFF即右端口的邮箱进行写操作,用以向CPUR发出一个中断,这样CPUR就进入相应的中断服务子程序,将约定地址单元的数据读出,然后对双端口RAM 的右端口的邮箱进行写操作,用以清除该中断。在本系统中,双端口RAM是用来建立双DSP通信之间的数据通道,传递数据。在设计工作状态中,两个DSP不会同时读写该双口RAM,而数据的传递都是采用握手的通信模式,所以该系统使用的是双端口的中断判优方式。当DSP1往双端口RAM中写完数据之后,通过中断握手的形式,通知DSP2读取数据。DSP2要求数据时,同样的通知DSP1。如此,就可以高速有规律地实现双DSP的交流。双端口RAM与两个DSP之间的硬件连接如图6所示。图6 双端口RAM与双DSP的硬件连接图双口RAM在两个DSP中都是使用CS6作为片选信号线。对于两个DSP,双端口RAM的起止地址都为0x100000。3.3 基于OV7620图像传感器芯片的图像采集方案OV7620是Omni Vision公司生产的一款高集成度的高分辨率逐行,隔行扫描CMOS数字彩色黑白视频摄像芯片。其功能组成模块包括一个664 *492的高分辨率图像数组,一个模拟信号处理器,双10 bit A/D转换器,模拟视频合成;数字数据格式化器和视频输出端口。其数字视频端口支持60Hz YCrCb4:2:2,16/8位等输出格式。内建的SCCB(Serial Camera Control Bus,串行摄像控制总线)接口提供了一种简易的控制内部摄像功能的途径。数字控制包括视频时序产生电路、自动曝光控制和白平衡控制等。视频时序产生电路用于产生行同步、场同步、混合视频同步等多种同步信号和像素时钟等多种内部时钟信号。OV7620采集成像机构中接收屏的图像并转化成数字图像信号,由YOY7输出。OV7620没有片选信号,供电后芯片开始工作并输出视频信号。OV7620输出视频的同时提供了三根同步信号线,分别为场同步信号vsn,奇偶场同步信号fodd,行同步信号href和像素输出时钟pclk。只要同步这几根信号线,就可以完整读取视频图像数据。在本系统中,我们直接使用DSP1,通过外部中断nmi和int2,分别同步摄像头的vsn和href信号,同时通过绑定DSP的8根IO线同步读取图像到DSP内存中,从而实现了系统的图像采集工作。另外,由于,OV7620接27MHz的时钟,pclk的输出时钟为12M左右,对于这个速度,纵然150MHz的DSP,其中断的速度也是根不上的。为了让DSP能够顺利地读取到图像,我们必须要把摄像头的输出时钟降频,OV7620可以通过使用sccb,对摄像头内部的寄存器进行设置,从而达到减速的目的。OV7620模块与DSP1的硬件连接和OV7620的同步读取时序分别如图7和图8所示。图7 OV7620与DSP1的硬件连接图图8 OV7620的同步读取时序图从时序图中可以看出,DSP先捕获摄像头的场中断信号,标志一帧的开始,准备好存储一帧图像的数组。然后,DSP等待href行中断信号。最后,在行中断中,判断pclk信号,当pclk处于高的时候,此时,DSP读取该像素的值。至于,采集图像大小,可以通过读取程序修改。在该系统的,只需要采集手势动作的图像信息。最大有效数据的情况,采集尽量小的图像。于是,该系统的软件设置,DSP每一帧图像采集视野中间隔行的100*100大小的图像,每次存放在100*100的数组中。如此就可以实现系统图像采集功能。3.4 RTL8019AS芯片及DSP网络通信的实现RTL8019AS以太网控制器是由Realtek公司出的一款高集成度的以太网控制芯片,具有 8/16位总线模式,集成了IEEE802.3协议标准的介质访问控制子层(MAC)和物理层的性能,与NE2000相兼容,支持以太网全双工通信方式,支持UTP,AUI和BNC自动检测, 支持16 条 I/O 基本地址选项和额外I/O地址输入输出完全解码方式,支持存储器瞬时读写,收发可同时达到10Mbps的速率,内置16KB的SRAM,具有LED指示功能,可以方便的与微处理器进行连接。其接口符合Ethernet2和IEEE802.3(10Base5,10Base2,10BaseT)标准。RTL8019AS内部可分为远程DMA接口、本地DMA接口、MAC(介质访问控制)逻辑、数据编码解码逻辑和其他端口。远程DMA接口是指单片机对RTL8019AS内部RAM进行读写的总线,即ISA总线的接口部分。DSP收发数据只需对远程DMA操作。本地DMA接口是把RTL8019AS与网线的连接通道,完成控制器与网线的数据交换。 MAC(介质访问控制)逻辑完成以下功能:当DSP向网上发送数据时,先将一帧数据通过远程DMA通道送到RTL8019AS中的发送缓存区,然后发出传送命令;当RTL8019AS完成了上帧的发送后,再开始此帧的发送。RTL819接收到的数据通过MAC比较、CRC校验后,由FIFO存到接收缓冲区;收满一帧后,以中断或寄存器标志的方式通知主处理器。FIFO逻辑对收发数据作16字节的缓冲,以减少对本地DMA请求的频率。 RTL8019AS内部有两块RAM区。一块16K字节,地址为0x40000x7fff;一块32字节,地址为0x00000x001f。RAM按页存储,每256字节为一页。一般将RAM的前12页(即0x40000x4bff)存储区作为发送缓冲区;后52页(即0x4c000x7fff)存储区作为接收缓冲区。第0页叫Prom页,只有32字节,地址为0x00000x001f,用于存储以太网物理地址。要接收和发送数据包就必须通过DMA读写RTL8019AS内部的16KBRAM。它实际上是双端口的RAM,是指有两套总线连接到该RAM,一套总线RTL8019AS读或写该RAM,即本地DMA;另一套总线是DSP读或写该RAM,即远程DMA。图9 8019AS与DSP的硬件连接图本系统使用DSP1连接8019AS芯片,通过连接对应的地址数据总线,设置片选信号,实现DSP的以太网通信。8019AS与DSP的硬件连接如图9所示。3.5 红外遥控模块的电路设计图10 红外遥控模块原理框图红外遥控模块包括三个部分:接收部分、发送部分和数据处理部分接收部分包括光电转换、解调、高速采样以及数据分析等模块,发送部分包括遥控发送、和电光转换模块,数据处理部分包括中央处理、以及存储模块。红外遥控模块结构如图10所示。红外遥控模块有两种工作状态:学习状态和发射状态。在学习状态下,接收子程序启动。当光电转换模块接收到红外信号后,将其转换成电信号,电信号经过解码芯片后被送给高速采样模块高速采样模块以200KHz的频率定时对电信号采样,生成二进制比特流,并送给数据分析模块,数据分析模块将比特流组成一个编码单元,存放到存储单元中,同时建立和预定义的红外发射信号的绑定关系当处于发射状态下,发射子程序启动,遥控发送模块将红外发射信号指向的存储单元中读取编码单元,根据编码单元中的二进制比特流,调制到38KHz的载波信号上, 串行输出(位和位之间的时间间隔等于采样时的时间间隔)给红外发射二极管,并通过电光转换模块,以光脉冲的形式发送出去,从而实现对电视机的控制。3.6 液晶屏12864的工作原理作为手势红外遥控器,系统只需要完成摄像头输入,红外遥控输出,基本功能就可以实现。但是,为了使得系统更加完整和人性化,并且因为系统涉及红外信号的设置,为了方便操作和系统调试,我们在本系统添加了一个型号为12864的液晶显示模块。12864汉字图形点阵液晶显示模块可显示汉字、图形、ASCII码和自定义字形,内置8192个1616的中文汉字、128个816字符以及64256点阵显示RAM。控制器为台湾矽创电子公司的ST7920,具有串并接口方式,其内部含有中文字库。12864液晶显示屏为12864点阵,可显示4行、每行8个汉字,外形尺寸为93x7012.5(mm),视域尺寸为7240(mil)。在本系统中,使用12864与DSP2连接,工作电压为3.3v,背光电压为5v。数据模式为并口模式。硬件连接图如图11所示。图11 12864液晶屏与DSP2的硬件连接图4系统软件设计4.1手势图像处理算法原理手势图像处理部分包括:手势图像预处理,特征特征和动作识别。在三部分中,如何将消除噪声,只保留有用的手部图像是DSP进行后续图像处理的前提,也是手势识别最困难的一步。如何将手部特征提取出来,将直接影响到后续识别的效果。4.1.1图像预处理目前主流的将人手从复杂背景中分离出来的方法有以下几种:(1)增加限制的方法:如使用与肤色反差较大的黑色墙壁、衣服等来简化背景,或是要求使用者戴上特殊手套来强调前景,简化手和背景的划分,加深两者之间的对比。但是这种人为的限制约束了使用者,不利于手与电视机的自由交流。(2)差影法及其改进算法:差影法就是将目标图像和背景图像相减,此种方法对消除背景图像具有很明显的效果。但是此种方法有个致命的弱电,就是一定要保证背景图像和手势图像的对应像素点在位于空间上的同一位置,否则就会造成很大的误差。所以要保证在获取背景图像和手势图像时,摄像头的角度和位置必须保持不变。这一点限制了该系统的自动化实现。(3)轮廓跟踪方法:比较典型的有基于Snake模型的手势分割,利用Snake模型对噪声和对比度的敏感性来有效跟踪目标的形变和非刚体的复杂运动,达到将目标从复杂背景中分割出来的目的,这种方法的效果比较好,但是对处理器的要求较高并且费时。不适合用在实时系统中。(4)基于肤色模型法:此方法主要通过对图像进行颜色空间变化和建立肤色模型来进行肤色检测。但是肤色在颜色空间中的分布受到光照和人种的影响很大,并且背景中与肤色相近的物体也会对检测结果产生很大的影响。基于以上分析,我们希望能找到一种对背景限制较小并且简单有效的图像分割方法,可以大致检测到手部范围。又由于我们的主要目标是检测手的运动方向,而不是精确获取手部轮廓,为此,我们选择基于帧间差分的方法来实现手部图像分割。帧间差分法就是对视频图像序列中的相邻的或一定时间间隔的两帧进行逐个像素比较,来获得前后2帧图像亮度差的绝对值。利用间隔短暂时间的两帧图像比较,可以得到两张图像运动方向的边缘围成的一小段白色区域。用这段白色区域代手部位置。这样做的优点在于:(1)帧间差分法能够消除大部分的背景,并且经过帧间差分法处理之后图像中的噪声类型单一,容易用特定的滤波算法消除。(2)帧间差分法得到的手部边缘围成的小区域来代替手部位置的处理算法比计算八连通域的Freeman链算法直接获取手部轮廓的处理算法简单,有利于图像的实时处理。 得到一组图像之后,采用阈值分割的方法对获取的图像二值化,消除噪声,最后根据此图像序列含有的白色像素点的多少来确定图像序列中有无物体。下面对图像预处理的算法进行描述:(1)从视频图像序列中选取相邻n帧的两帧图像,其中前一帧图像为,后一帧图像为; 图12(a)前一帧图像 图12(b)后一帧图像(2)为了减少计算量,将480*640的图像隔4行6列提取像素点,左右各忽略20列,上下各忽略40行,获得两帧100*100的图像和; 图13(a) 缩小后 图13(b) 缩小后(3)计算后一帧与前一帧的差为,得到目标的变化量;图14 目标变化量(4)对帧间差分法得到的图像按选定的阈值进行二值化,得到目标图像序列的二值化图像序列。其中, (1)上式中,T为阈值。对于给定视频序列的图像,假设像素点k处没有运动,其帧差服从均值为0,方差为的Gauss分布: (2)上式中,表示无运动假设,是帧差的统计方差,通常认为它等于摄像头噪声方差的两倍。根据概率统计学假设检验“”法则,并依据“正确的阈值T应该能消除大部分噪声”的原则。经试验测试得阈值T选择在3545之间是合适的。二值化后的图像如图15所示。 图15 二值化后的图像观察的图像序列,我们可以看到,图像中的噪声很少,这是因为(1)帧间差分法达到了加大目标信息的权重,同时抑制了静态背景的效果。(2)摄像头采集范围背景比较单一,光线均匀。目标图像中主要存在两大类的噪声。一种是由于光线变化产生的噪声,这种噪声往往以孤立的黑色像素点的形式出现,称为椒盐噪声。第二种噪声是一些面积较小的背景块。为了能尽可能消除这两种噪声,可以求每个N*M小块的灰度平均值,根据灰度平均值可估计出白色区域的大小。当灰度平均值小于某一阈值时,就认为其是噪声,把对应的N*M个点赋值为0。算法实现如下:(1)建立一个大小是的1/25倍的矩阵来存20*20个5*5像素块的平均灰度值;(3)和满足如下关系: (3)通过这种处理方法,原图像中的小块噪声和椒盐噪声基本被消除,手部图像的边缘的某些像素点也会被当做噪声消除。但是这不影响后续处理。经过噪声消除后的图像如图16所示。图16 噪声消除后的图像使用同样的处理算法,可以得到后一帧的图像各处理阶段的图像如图17(a)、(b)、(c)、(d)、(e)、(g)所示。 图17(a)前一帧图像 图17(b)后一帧图像 图17(c) 缩小后的前一帧图像 图17(d) 缩小后的后一帧图像 图17(e) 帧间差分法之后的图像 图17(f) 二值化后的图像图17(g) 噪声消除后的图像 4.1.2 特征提取及动作识别获取只含手部运动区域的图像后,寻找手部区域与背景区域的临界点,临界点之间的进行比较和数学运算,判断出手的摆放位置和区域中心位置。手部摆放位置可以作为判断手的上下或是左右运动的前提。用同样地方法可以得到第二张手部运动区域图像,判断的手的摆放位置和区域中心位置。图像处理和特征提取、判断方向部分的流程图如图18所示。图18 图像处理部分算法流程图(1)和是相同的纵向摆放位置,手部在左右运动;(2)根据列坐标的大小来判断手左右方向的移动如下: (4)判断上下运动的算法与判断左右类似。(1)和是相同的横向摆放位置,手部在上下运动;(2)根据横坐标的大小来判断上下方向的移动如下: (5)若出现无法判断的情况,则重新采集图像,进行处理和判断,直到能够判断方向。4.2红外遥控算法原理4.2.1电视机万能红外遥控原理万能遥控器是将一般遥控系统的发射和接收部分做到了一起,这样就可以既对其他遥控信号学习又可以用其控制受控设备从而实现一器多用。红外信号自学习的一般方法是用CPU对各个遥控器的红外遥控信号进行采集并存储,但由于红外信号编码格式种类较多,一般只能做到学习几种特定的编码格式。本系统中,选择最常用的一种编码方式uPD6121进行学习,解码和发射。uPD6121编码的一般格式为:引导脉冲识别码键码键码反码。引导脉冲为宽度为一个9.12ms左右的高脉冲和一个4.5ms左右的低脉冲的组合,用来标示指令码的开始。识别码、键码、键码反码均为二进制编码脉冲。识别码(又称用户码)是对每个遥控系统的标识,由2个字节组成,第一个字节和第二个字节是校验关系,第二个字节是第一个字节的反码或是两个字节相同。通过对识别码的检验,每个遥控器只能控制一个设备动作,有效的防止多个设备之间的串扰。键码反码用来检验键码接收的正确性,防止误动作增强系统的可靠性。“0”和“1”均由毫秒量级的高低脉冲的组合代表,编码图如图19所示。图19 红外遥控“1”、“0”编码图4.2.2 基于DSP2812的红外遥控的实现一体化红外接收头接收红外信号并放大,解调出TTL电平信号送至DSP,由DSP对红外遥控编码的脉冲宽度进行测量,并原封不动将发射信号中高、低电平的时间宽度记忆至存储器的指定地址中。发射红外信号时,根据手势相对应的查询信号,从存储器中还原出相应的红外遥控编码调制到38KHz的载波信号上,最后驱动红外发光二极管发射红外信号。一般红外遥控器的红外信号都是通过3840KHz(周期大约为26.3)的载波进行调制而成。如果直接记录载波信号的脉冲宽度,耗费的资源太多,因此必须先对接收到的红外信号进行解调,再记录遥控编码信号的脉冲宽度。学习子程序的流程图如图20所示。图20 学习子程序流程图本设计中采用计数器对信号高低电平计时的方法来采集数据并保存。遥控学习程序的流程图如下所示。初始化定时器T0,学习指示灯亮,当系统识别到起始码的低电平时,系统启动对低电平进行采集,计数器开始计数,当起始码的低电平结束时,保存计数器此时的值,延时一段时间之后再次判断,如果采集到编码信号位数大于32位时,就认为编码采集已经结束,学习子程序结束。发射模块是根据DSP发送的指令找到其在寄存器对应的存储空间,将编码调入内存,然后通过编码发送子程序将编码调制在38KHz的载波上发送出去。用定时中断0产生38 KHz的载波信号,用学习到的遥控编码信号的低电平去控制载波的输出,此时定时器0定时长度由相应的遥控信号低电平宽度计数值确定,即如果需发射的遥控信号为高电平时,关定时中断0;如果为低电平,则开定时中断0。从而实现遥控信号的脉宽调制发射。本设计发射子程序流程图如图21所示,接收到DSP发送的指令后,先进行初始化,使系统处于待发射状态,然后根据指令传送的地址在存储区间找出对印的编码,然后将调出的编码去调制由定时器T0产的38KHz载波。图21 发射子程序流程图4.3 网卡驱动程序及基于UDP协议的上位机软件方案4.3.1 网卡驱动程序及UDP协议的原理及实现使用RTL8019AS芯片实现DSP平台下的网络通信,在硬件层8019AS已经实现了以太网通信物理层的功能,在DSP下对8019AS驱动的编写,相对来说,只需要初始化网络芯片相应的寄存器,并启动就可以。为了通过网络把DSP采集到的图像网络发送到上位机,还需要在DSP上实现相应的网络通信协议。本系统采用了TCP/IP协议族中的UDP协议进行通信。UDP协议的全称是用户数据包协议,在网络中它与TCP协议一样用于处理 数据包,是一种无连接的协议。在OSI模型中,在第四层传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。由于上位机在本系统中只是用来监控摄像头状态和查看手势图像处理结果,所以,就是UDP是无连接的通信,有数据包丢失的可能性但也不影响不大。另外,对于数据包完整的问题,即使UDP是面向无连接,不可靠的通信,也可以通过应用层建立可靠的通信。采用UDP通信的另外一个原因是,UDP相对简单,在DSP上这些嵌入式设备上实现能够比TCP面向连接的协议大大简化,从而降低代码的复杂度,实现电脑与嵌入式DSP之间的快速通信。在DSP上,驱动8019AS芯片工作之后,就是通过代码实现UDP通信协议。用于UDP是面向无连接的,所以,在8019AS相应的缓冲区域中,将需要发送的数据以UDP协议的格式封装好,发送到目标主机,就可以了。UDP的数据包封装格式如图22所示。图22 UDP的数据包封装格式4.3.2 上位机软件的编写图23 上位机软件界面在下位机端DSP实现了UDP数据包的发送之后,需要在电脑端编写响应的上位机软件接收数据,从而实现它们之间的数据通信。上位机软件,我们使用的是C#语言编写的图形软件。上位机软件,主要是为了实现接收下位机的数据,并且还原图像数据并显示。除此之外,上位机还可以向下位机发送命令,也是为方便系统调试。使用C#语言实现UDP通信协议直接就可以使用响应的套接字编写程序,很简易就可以实现UDP的通信。图23是编写的上位机软件界面。4.3.3 图像数据发送及还原下位机采用的是UDP发送数据,由于UDP数据包有大小的限制,不可能一个数据包发送完一副图像,所以,我们对一副图像进行分包发送
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46025-2025家用轮椅床
- 2025年数据安全培训题集解析
- 2025年无人机操作员应急面试模拟题集
- 2025年安全员安全培训考试重点模拟题及答案解析
- 2025年食品管理员面试题及答案详解
- 2025年安全生产禁令知识题及答案解析
- 2025年中级工业互联网面试题及解析
- 2025年人力资源管理师继续教育考试试题及答案解析
- 2025年企业管理咨询师资格考试试题及答案解析
- 2025年旅游规划师国家职业资格考试试题及答案解析
- 四年级心理健康上册全册教案
- 印尼劳动法中文版
- 石油钻采设备与工具专业标准分类
- 中式烹调师高级技师试题与答案
- GB/T 3622-1999钛及钛合金带、箔材
- GB/T 20160-2006旋转电机绝缘电阻测试
- FZ/T 73044-2012针织配饰品
- 组织工程及再生医学基本课件
- 智慧矿山为未来煤矿发展赋能课件
- 旅游相册:宁夏旅游课件
- 药物化学(全套课件)
评论
0/150
提交评论