基于Hi3510和无线发送模块的视频传输设计

发布者:温馨生活最新更新时间:2011-01-23 关键字:单片机 手机看文章 扫描二维码
随时随地手机看文章

近几年,嵌入式无线联网领域发送数据大都基于802.x或WI-FI技术,并用无线网卡或无线路由器实现。目前也出现了基于手机无线发送数据的嵌入式相关设计,但大都是基于2.5G技术的短信方式的监控设计。在此基础上设计了一个嵌入式Linux系统下基于3G无线发送模块的视频图像传输系统。采用SOC高性能视频编解码器Hi3510,具备强大的视频处理功能,实现D1画质的实时编码及传输。因此,该系统设计实现了在3G移动网络上传输视频。

1 系统总体设计
   
选用Hi3510作为对视频数据的编码处理,选用DTM6211无线模块对视频数据进行发送处理。图l为系统工作原理框图,其整体工作原理是:摄像头采集的数据通过PAL制的CVBS信号输入工作在主模式TW2834芯片中,经A/D转换后,由BT.656接口接收转换为CIF格式的信号,并
通过AHB总线把接收到的图像数据存入到外存SDROM;Hi3510读取外存中视频数据,进行H.264编码,包括帧内预测、帧间预测、DCT变换、量化、熵编码等,得到编码后裸码流存储到外设中;将外设中视频数据通过USB端口经测试板发送到无线模块中,其中关于无线模块的UDP数据传输设置控制工作是通过Hi3510的RS232接口经测试板发送AT指令控制,而后无线模块将数据封装成符合UDP格式的IP数据包,最后利用PS业务发送到网络上。



2 系统硬件设计
2.1 视频处理模块

    视频处理模块远端摄像头采集视频信号,模拟视频信号通过CVBS信号格式输入TW2834,TW2834是一个视频控制器,内嵌PAL/NTSC视频解码器,彩色控制器和PAL/NTSC视频编码器,主要完成模拟信号到数字信号的转变。解码后,转换成的数字信号通过BT656接口输入到Hi3510处理器进行H.264编码。
    视频处理模块采用Hi3510,该器件是一款基于H.264BP算法的视频压缩芯片,它采用ARM+DSP+硬件加速引擎的多核高集成度的SoC构架,具备强大的视频处理功能,可实现DVD画质的实时编码,能自适应各种网络环境,确保画面的清晰度和实时性,低码率的H.264编码技术极大减少了网络存储空间,并通过集成DES/3DES加解密硬件引擎确保网络安全。图2为Hi3510逻辑框图。


    Hi3510内部包含一系列提高编解码速度的视频编解码协处理器,视频编解码部分完成图像的运动估计/补偿、DCT/IDCT变换、量化/反量化、zigzag扫描和环路滤波。最后将编码的视频数据存储在外存SDROM中。
2.2 视频发送模块
   
图3为无线发送模块内部原理框图。DTM6211是60针0.5mm间距的板对板连接器和一个天线连接器,与天线连接器相匹配的线缆可实现与天线MHF Plug Cable Assembly的连接。串口通信采用RS232,可以与Hi3510串口相连接,模块采用5线制接法,默认开启硬件流控。USB接口可以作为通讯口和调试口,作为USB Device设备,遵循USB2.O协议规范,最高速率支持FULL SPEED(12 Mb/s)。发送部分采用SMA(FEMALE)接口馈入天线,外接天线采用棒状天线。

DTM6211接口有2个UART接口,使用UART1作为Hi3510的AT指令接收端口,传输速度设定为115 200 b/s。其UART1信号定义如表1所示。模块的USB接口作为通信口,用于视频数据的传输,其接口信号定义如表2所示。


2.3 模块硬件连接
   
Hi3510和DTM6211之间通过测试板连接,测试板主要作用是连接Hi3510和DTM6211的USB及UART端口,起到一个物理接口转换作用,同时也起到存放USIM卡的作用。USB和UART之间的连接,只需把Hi3510板的USB口和RS232接口连接到测试板对应接口,DTM6211插针接口直接插到测试板上。其中测试板中主要部分USIM卡的硬件电路如图4所示。


    DTM62ll模块的射频接口包括一个天线连接器,通过线缆实现与外部天线的连接,天线连接器采用I-PEX公司的20279-001E-01,连接线缆采用苏州万旭电子HM5A-12289-A1DE的50 mm的长双端子线缆,天线连接器端Plug CableAssembly使用MHFⅡPlug Cable Assembly。

3 系统软件设计
3.1 操作系统与驱动设计

    选用Hi3510自带嵌入式Linux-2.6.14内核操作系统,开发前需要搭建开发环境,可以安装一款Fedoral 9.0服务器,同时建立交叉编译器、安装SDK包。SDK是基于Hi3510视频评估板的软件开发工具,包含了在Linux相关应用开发时使用的各种工具,是用户开发中最基本的平台软件。Bootloader采用uboot-1.1.4初始化硬件设备并通过网口下载Linux内核。内核通过make menuconfig配置可实现系统的量身定做,去除与本系统无关部分,缩减内核,最后将配置后的内核使用mkimage工具做成映像文件,通过网口下载到Hi3510中。
    无线发送模块通过重新配置内核Usb Serial Driver选项可实现其在内核的驱动部分,但需把Usb Driver的PID和VID设置成本模块的ID,重新编译便可支持无线发送模块。
    ID更改步骤如下:
    首先进入linux-2.6.14\drivers\usb\serial,打开文件option.c,在其中定义两个宏(DTM6211的VID:0x1AB7 PID:Ox6000):
   

3.2 视频处理软件设计
   
视频处理软件主要是对采集过来的视频数据进行H.264压缩,编码中涉及的参数需调用SDK提供的API进行配置,其中包括图像组长度(GOP)、编码帧率(帧/秒)、量化参数(maxqp)、比特率(b/s)和用户数据的插入等,然后将压缩过的裸流,发送到USB端口。其中为了提高压缩率将GOP设置15;为了减少网络数据流量将编码速率设置8帧/秒;量化参数的数值选择在30~40之间,其设计总流程如图5所示。


    其中关于配置摄像头部分,open()打开/dev/misc/tw2834dev摄像头设备文件,完成normal为PAL制式,mode为GIF格式的选择;配置输入公共属性部分,首先打开视频编码器,并关闭视频输入通道,然后完成工作模式为从模式,VIU与A/D转换器的接口类型BT656,通道分布模式4路CIF,BT656为场模式,视频消耗内存为1Ox1 024x1 024等设置工作。
    VSTART输入通道号之后需要创建一个线程,完成后续数据的存储和转发,使用pthread_create()函数,随后执行线程venc_start(),其核心程序如下:


3.3 无线模块控制设计
   
无线模块DTM6211内提供TCP/IP协议栈,可利用PS业务通道发送IP包,以AT指令配置和控制TCP/IP协议栈。利用APP处理器配置TCP/  IP相关环境,注册UDP端口,APP处理器将要发送的数据直接发给模块,由模块将数据封装成符合UDP格式的IP包,然后利用PS业务通道发送给3G网络。其控制流程如图6所示。


    开机初始化部分,主要完成激活SIM卡、TCP/IP协议栈和注册网络工作;激活场景移动部分主要完成PDP和context的参数设置,包括配置使用IP协议,申请上行速度1.5 MB/s,建立用户面的分组传输路由。在完成以上初始化工作后,需要建立监听端口号为13000,指定UDP模式下要发送数据的目的地址218.18.141.79和端口号3000,最后还需要指定发送的字节数。数据发送完成后,释放UDP端口号等相关资源。

4 结论
   
采用Hi351O+Linux方案,其自带的SDK开发包使得应用程序开发的难度降低,同时Hi3510本身采用了ARM+DSP+硬件加速引擎的技术,具备强大的视频处理功能,具有低成本,低开发难度优点。配合DTM62ll无线发送模块,通过AT指令对数据进行UDP打包,最终将视频数据包发送到3G网络上。测试结果表明,受网络环境影响数据的上行传输速率为150~200 KB/s。该系统可用于远程网络监控的应用,相对于2.5G技术的短信监控方式,使用者可以获得更多有效的信息。

关键字:单片机 引用地址:基于Hi3510和无线发送模块的视频传输设计

上一篇:降压型开关稳压器AP1510及其应用
下一篇:RL512G信号放大电路

推荐阅读最新更新时间:2024-03-16 12:31

编写STC单片机的ISP协议的方法介绍
STC单片机包含两个Flash块,在一块Flash中运行的程序可对另一块Flash进行擦除和重新编程.一般都将ISP程序存放在容量较小的一块Flash中(Block1),而将用户代码存放在容量较大的一块Flash中(Block0).Block1中的ISP程序对Block0中的用户代码进行擦除和重新编程. 在做STC单片机解密或是使用的朋友都知道,在STC单片机的程序存储区后,还有一段大约3K的代码,这段代码就是STC单片机的ISP程序,在STC单片机的数据手册里有关于对于ISP的生机资料,既然这段代码是可以升级的,那么我们就可以肯定这个区域是可以改写的,呵呵,这些涉及到了对STC单片机软解密的技术,我不多提了,大家可以动用自己
[单片机]
编写STC<font color='red'>单片机</font>的ISP协议的方法介绍
单片机的FLASH引导装载系统设计
前言 DSP系统的引导装载是指在系统加电时,由DSP将一段存储在外部非易失性存储器中的代码移植到内部高速存储器单元并执行的过程。这种方式即可利用外部存储单元扩展DSP本身有限的ROM资源,又能充分发挥DSP内部资源的高速效能。因此,引导装载系统的性能直接关系到整个DSP系统的可靠性和处理速度,是DSP系统设计中必不可少的重要环节。在装载系统中,外部非易失性存储器和DSP的性能尤为重要。FLASH是一种高密度、非易失性的电可擦写存储器,而且单位存储比特的价格比传统EPROM要低。为此,本文介绍了TMS320C6713浮点DSP芯片和SST公司提供的SST39VF400A FLASH存储器的基本特点,给出了使用该FLASH存储器设计
[应用]
STM32单片机(13) I2C读写AT24Cxx存储器实验
本程序主要利用I2C串行总线,实现AT24Cxx系列EEPROM存储器(此处是AT24C02)的读写,将数据写入,再读出发送至串口 可利用EEPROM存储器数据断电不消失性质存储一些配置数据等。 主程序 /******************************************************************************* * * 软件功能: I2C读写AT24Cxx系列EEPROM存储器 * *******************************************************************************/ #include stm3
[单片机]
学好单片机必须要了解的8个电路设计
单片机上拉电阻的选择 大家可以看到复位电路中电阻R1=10k时RST是高电平 ,而当R1=50时RST为低电平,很明显R1=10k时是错误的,单片机一直处在复位状态时根本无法工作。出现这样的原因是由于RST引脚内含三极管,即便在截止状态时也会有少量截止电流,当R取的非常大时,微弱的截止电流通过就产生了高电平。 LED串联电阻的计算问题 通常红色贴片LED:电压1.6V-2.4V,电流2-20mA,在2-5mA亮度有所变化,5mA以上亮度基本无变化。 端口出现不够用的情况 这时可以借助扩展芯片来实现,比如三八译码器74HC138来拓展。
[单片机]
学好<font color='red'>单片机</font>必须要了解的8个电路设计
高速单片机硬件关键参数设计概述
摘要:随着目前新技术、新工艺的不断出现,高速单片机的应用越来越广,对硬件的可靠性问题便提出更高的要求。本文将从硬件的可靠性角度描述高速单片机设计的关键点。 关键词:高速单片机 可靠性 特性阻抗 SI PI EMC 热设计 引 言 随着单片机的频率和集成度、单位面积的功率及数字信号速度的不断提高,而信号的幅度却不断降低,原先设计好的、使用很稳定的单片机系统, 现在可能出现莫名其妙的错误,分析原因,又找不出问题所在。另外,由于市场的需求,产品需要采用高速单片机来实现,设计人员如何快速掌握高速设计呢? 硬件设计包括逻辑设计和可靠性的设计。逻辑设计实现功能。硬件设计工程师可以直接通过验证功能是否实现,来判定是否满足需求。
[单片机]
51单片机低功耗工作模式
低功耗操作方式 在以电池供电的系统中有时为了降低电池的功耗在程序不运行时就要采用低功耗方式低功耗方式有两种—待机方式和掉电方式 低功耗方式是由电源控制寄存器PCON上一课我们提到过的来控制的电源控制寄存器是一个逐位定义的8位寄存器其格式如下   PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下:    PCON电源管理寄存器结构 PCON D7 D6 D5 D4 D3 D2 D1 D0 位符号 SMOD - - - GF1 GF0 PD IDL PCON标志位说明: 在CHMOS型单片机中,除SMOD位外,其他位均为虚设的,SMOD是串行口波特率倍增位,当
[单片机]
基于串口的温度检测数据单片机仿真
  0 引言   本文研究的是一种基于串口的温度检测数据收发模块。利用DS18B20 温度传感器设计温度监测模块,精确到0.1℃,用液晶显示当前温度,然后通过串口调试助手向单片机发送指令。当单片机收到十六进制指令01时,将当前温度值以1s 为间隔传回PC 机显示,同时PC 机显示Turn on temp;当单片机收到十六进制指令02 时,停止温度值的回传,PC 机显示Turn off temp;当单片机收到其它指令时,PC 机显示Error。   1 总体设计   本系统功能由硬件和软件两大部份协调完成,硬件部分主要完成信息的显示;软件主要完成信号的处理及控制功能等。   本系统的硬件采用模块化设计,以AT89C52 单片
[单片机]
基于串口的温度检测数据<font color='red'>单片机</font>仿真
基于GSM模块Q2403A和8051单片机实现短消息收发系统的应用方案
基于GSM短消息的业务不需要建立拨号连接,只需把待发的消息加上目的地址发送至短消息中心,再由短消息中心转发到最终目标。GSM 短消息业务以其连接简单、费用低廉、覆盖范围广、实现方便等优点得到了广泛的应用。运用 GSM 短消息实现远程测控的可靠性较高、信号传播距离远、覆盖面积广,并且可以节省建网初期的巨额投资。 本文对基于GSM短消息收发系统的设计与实现作了具体描述,给出了系统的软硬件设计方案,对主要硬件,即GSM模块Q2403A 和8051单片机作了重点介绍。给出了系统的软件设计,包括PC与单片机通信部分和短消息收发部分。最后实现系统监控功能。 系统硬件实现 总体系统结构 该系统硬件主要由8051单片机扩展电路、Q2403
[单片机]
基于GSM模块Q2403A和80<font color='red'>51</font><font color='red'>单片机</font>实现短消息收发系统的应用方案
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved