DM365 DMAI(含视频编码流程)
海康威视简易说明书完整版
海康威视简易说明书 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】海康威视iVMS-4200操作说明书前言非常感谢您购买我公司的产品,如果您有什么疑问或需要请随时联系我们。
适用型号本手册适用于网络视频监控软件iVMS-4200。
声明本手册可能包含技术上不准确的地方,或与产品功能及操作不相符的地方,或印刷错误。
我司将根据产品功能的增强或变化而更新本手册的内容,并将定期改进及更新本手册中描述的软硬件产品。
更新的内容将会在本手册的新版本中加入,恕不另行通知。
本手册中内容仅为用户提供参考指导作用,不保证与实物完全一致,请以实物为准。
约定在本手册中为了简化描述,做以下约定:网络视频监控软件iVMS-4200简称为软件。
网络硬盘录像机、、视频服务器、NVR、IP Camera和IP Dome等统一称为设备。
. iVMS-4200 简介. 功能概述软件iVMS-4200是为嵌入式网络监控设备开发的软件应用程序,适用于嵌入式网络硬盘录像机、混合型网络硬盘录像机、网络视频服务器、NVR、IP Camera、IP Dome、PCNVR和解码设备以及视音频编解码卡,支持实时预览、远程配置设备参数、录像存储、远程回放和下载等多种功能。
iVMS-4200具有以下特点:界面容器化处理模式:在客户端组件的界面设计上,精心采用容器化处理,简化了多屏和单屏切换的处理方式,大幅改善多屏操作感受,适应了一机多屏的PC发展趋势。
通道化管理模式:在客户端组件设计中,加入了通道化管理模式,抛开了以设备为核心主体的传统设计方式,更加适应于IP监控的发展方向。
用户体验为重心的界面设计:提供图片式可视化控制面板,以用户体验为重心,颠覆式的采用所需即可用的模式,提供一个功能的多个入口,以期达到最大限度减少用户操作步骤的目标。
需要才可见的显示方式:在客户端组件的界面元素上,加入了需要才可见的显示方式,在日历,时间条,工具栏,系统信息栏等多处,加入该设计模式,最大限度的节省有限的屏幕显示空间。
西安悦翼电子科技 YY-DM365 说明书
YY-DM365产品说明书2010-06Rev 1.3目录一YY-DM365概述 (2)1.1 YY-DM365系统简述 (2)1.2 YY-DM365软件支持 (2)1.3 YY-DM365系统实物图 (3)二YY-DM365系统组成及主要功能 (6)2.1 YY-DM365系统详细原理框图 (6)2.2 YY-DM365系统主要功能 (6)三YY-DM365系统技术指标 (8)3.1 YY-DM365系统性能指标 (8)四YY-DM365接口 (9)4.1 YY-DM365接口 (9)4.2 YY-DM365扩展接口 (22)五YY-DM365可提供例程 (24)5.1 YY-DM365板子测试程序 (24)5.2 YY-DM365视频测试程序 (24)5.3 Linux DEMO (24)5.4 Network 网络测试程序 (24)六YY-DM365应用实例部分 (25)6.1 IPNC(网络摄像机应用) (25)6.1.1 H.264编码视频流基于Web浏览器演示 (25)6.1.2 H.264视频流基于VLC播放器演示 (33)关于悦翼 (36)一YY-DM365概述1.1 YY-DM365系统简述YY-DM365是由西安悦翼电子科技有限责任公司研发的一款针对高清视频网络摄像机的产品,是具有全特性、低功耗、小尺寸、高性能的一款开发系统。
YY-DM365主要以TI公司DaVinci系列的TMS320DM365作为主芯片辅以板级各功能接口,配以5M摄像机模组可实现高达QXGA(2048*1536)分辨率的网络摄像机,尤其适合网络视频监控,多点网络视频会议,文本阅读器应用等。
具有两个视频影像协处理器(HDVICP,MJPEG)引擎,支持H.264、MPEG4、MPEG2、MJPEG、JPEG、WMV9/VC1等格式编解码。
在成熟有好的CCS集成开发环境下,用户可以对其方便的进行UBL,U-BOOT等文件的编译烧写,也可基于SD 卡启动模式,通过SD启动来对UBL,U-BOOT加载启动程序的烧写。
01-DM365硬件模块
TMS320DM365 PLLC 配置: 配置:
•旁路模式 旁路模式(PLLEN=0): 旁路模式 旁路模式次序如下: 1. 在PLLCTL, 写PLLPWRDN=0(PLL上电) 2. 在PLLCTL, 写PLLENSRC=0(使能PLLEN)。在PLLCTL的PLLEN位直到你写 PLLENSRC=0都不起作用. 3. 在PLLCTL, 写PLLEN=0(旁路模式)。 4. 等待至少4个参考时钟周期用于旁路模式生效。 5. 在PLLCTL, 写PLLRST=1(声明PLL复位) 6. 等待至少5ms到PLL复位。 7. 在PLLCTL, 写PLLRST=0(去声明PLL复位)。 8. 写PREDIV, POSTDIV和PLLM寄存器带有所需的分频器和倍频值,以获取所需 的频率。 9. 编程顺序在PLLSECCTL(TENABLE, TENABLEDIV和TINITZ)用于倍频器和与 分频器生效。 10. 写PLLDIV以设置PLLDIVn分频器。你能应用Go操作来改变这些分频器以新比 率。 11. 选LOCK1, LOCK2和LOCK3位在PLLCx_CONFIG寄存器。 12. 在PLLCTL, 写PLLEN=1以转换从旁路模式到PLL模式。 注:如果ARM926需要运行从PLLCTLSYSCLK2, 设置PERI_CLKCATL。在PLL1 和PLLC2配置完成ARMCLKS位为1。
TMS320DM365 中断映射: 中断映射:
AINTC拥有高达64个ARM设备中断和映射。每个中断分配8个优先级别(2 个给FIQ, 6个给IRQ)。如果中断拥有相同的优先级, 优先级由硬件中断编 号决定(最低的编号拥有最高的优先级)。
TMS320DM365 中断映射: 中断映射:
DaVinci™-TMS320DM365 PLLC
DM365 开发板手册
DM36x (DM365/DM368) 系列产品DM36x (DM365/DM368) 系列产品概述DM36x 系列产品使用DM365/DM368处理器,提供完整的资料例如:详细的设计文件、实时 Linux 操作系统、编解码演示程序、全部软件源代码、电路板原理图、PCB 布局图、Gerber 文件等。
使用这些资源,可以使您快速设计基于 TI 达芬奇(DaVinci™)TMS320DM365 或 TMS320DM368 的最终产品。
Zeeis 拥有世界上最完整的基于 TI 达芬奇(DaVinci™) DM365/DM368 处理器的产品线,专为小型企业提供低成本DM36x系列产品一站式解决方案。
DM365 核心板∙DM365 EVM - DM365 评估板使用 TI 达芬奇(DaVinci™) TMS320DM365 芯片∙DM365 DVEVM - DM365 数字视频评估板使用TI 达芬奇(DaVinci™) TMS320DM365 芯片∙DM365 DB - DM365 开发板使用 TI 达芬奇(DaVinci™) TMS320DM365 芯片∙DM365 RD - TI 达芬奇(DaVinci™) TMS320DM365 芯片的参考设计DM368 核心板∙DM368 EVM - DM368 评估板使用 TI 达芬奇(DaVinci™) TMS320DM368 芯片∙DM368 DVEVM - DM368 数字视频评估板使用TI 达芬奇(DaVinci™) TMS320DM368 芯片∙DM368 DB - DM368 开发板使用 TI 达芬奇(DaVinci™) TMS320DM368 芯片∙DM368 RD - TI 达芬奇(DaVinci™) TMS320DM368 芯片的参考设计DM36x (DM365/DM368) 扩展模块∙DM36x 5MC - 供 DM365/DM368 使用的高达500万像素的高清视频拍摄模块∙DM36x CAV - 供 DM365/DM368 使用的高清视频输入/输入模块∙DM36x CVBS - 供 DM365/DM368 使用的复合视频输入模块DM36x (DM365/DM368) 软件与硬件DM36x (DM365/DM368)系列产品运行预装的嵌入式 Linux 操作系统与高清晰度 H.264 视频编码和解码演示程序。
02-DM365 启动机制与Boot
User Bootloader
继续在DEVICE_init函数中,下面是调用 DEVICE_DDR2Init函数来配置DDR控制器,这是 UBL中重要的一部分,如果硬件电路需要更换内存 芯片的话,需要在UBL中修改这个函数,即按照芯 片手册来配置DDR控制寄存器中的相关参数,比如 时序,BANK数,页大小等。 而后调用DEVICE_EMIFInit函数来配置EMIF模块, 调用DEVICE_UART0Init函数来配置串口0,调用 DEVICE_TIMER0Init函数来配置TIMER0,调用 DEVICE_I2C0Init函数来配置I2C控制器,都是操作 某一模块的控制寄存器实现。
Board ,cpu, lib_ppc, lib_arm, include
平台无关
Common, net, driver, fs
工具和文档
Tools, doc
U-boot启动过程的几个阶段
在Flash中运行汇编程序,将Flash中的启动代码复 制到RAM中,同时创造环境准备运行C程序; 在RAM中运行,对硬件进行初始化; 设置内核参数的标记列表,复制镜像文件,进入内 核的入口参数
Bootloader特点
Bootloader不属于操作系统内核,采用汇编语言编 写,因此针对不同的CPU体现结构,这一部分代码 不具有可移植性; 在移植操作系统时,这部分代码必须加以改写; Bootloader不但依赖于CPU的体现结构,而且依赖 于嵌入式系统板级设备的配置;
Bootloader的操作模式
TI DM36X 启动机制
BTSEL[2:0]=001时,系统加电/复位后ARM处理器 从AEMIF 执行引导启动代码,即从外部存储器 OneNand或Nor Flash启动。 AIROM支持以下启动模式 BTSEL[2:0]=000,ARM NAND Boot BTSEL[2:0]=010,ARM MMC/SD Boot BTSEL[2:0]=011,ARM UART Boot BTSEL[2:0]=100, ARM USB Boot
DM365 NAND启动模式解析
DM365 NAND启动模式解析首先,读取NAND的ID,可以从RBL的设备信息表中得到一些重要信息,然后,RBL在block1 page0处开始搜索UBL描述符。
若没有找到正确的UBL,会继续搜索下面的块,一直到block24结束。
这样做是为了跳过坏块,24个块几乎对所有的NAND设备都足够了。
当找到UBL标识之后,对应的块号(从1到24)被写到ARM内部RAM(指令RAM)的最后32位(0x7ffc-0x8000),假设通过JTAG通过读取这32位,你能够确定RBL是在哪个块中找到了一个正确的UBL标识。
如果搜索完24个块后没有找到正确的UBL标识,RBL会尝试从SD卡启动。
找到正确的UBL之后,读取并且处理UBL描述符,这个描述符提供了加载和控制跳转到UBL的必要信息。
然后UBL被读取并且处理。
RBL首先可能会使能一些更快的EMIF组合和基于UBL描述符中信息的指令cache操作。
通过UBL描述符可以知道在拷贝UBL期间是否使用了DMA。
一旦用户指定的启动状态被设置,RBL就复制UBL到ARM内部RAM,并且从地址0x0000 0020处启动。
NOTE:真正的拷贝实际上是从ARM内部数据RAM区0x10020-0x1781F的低30KB的空间。
将UBL读取到ARM IRAM的时候,NAND RBL使用4位的ECC来检测是否发生读错误。
若发生了错误,则通过ECC纠正算法来纠正错误。
通过冗余(24 blocks)和出错恢复来保证防止读错误。
NAND启动流程如下图所示:NAND UBL descriptor格式如下表:NOTE:ARM IRAM 的起始32个字节是ARM系统的中断向量表(IVT)(8个向量,每个4字节),复制的UBL从这32个字节的IVT之后开始启动。
在UBL descriptor中,不同的NAND启动模式可以设置不同的MAGIC IDs,下表列出了UBL标识:NAND启动详细流程:1、初始化RAM1的高2K栈空间(0x7800-0x7fff)。
网络视频解码器 解码卡硬件说明说明书
目录一、硬件说明 (4)1.1硬件参数介绍 (4)1.1.1网络视频解码器/解码卡参数介绍 (4)1.2、硬件接口介绍 (4)1.2.1接口板硬件接口介绍 (4)1.2.2解码板硬件接口介绍 (6)二、软件说明 (7)2.1内置web网页使用说明 (7)2.1.1 IE设置 (7)2.1.2系统登录 (8)2.1.3功能介绍 (9)三、键盘控制说明 (23)3.1 485键盘 (23)3.1.1透明通道 (23)3.1.2 PelcoP协议 (23)3.2网络键盘 (24)3.2.1键盘设置 (24)3.2.2设置键盘的IP地址 (24)3.2.3使用键盘控制解码器 (25)3.2.2按键说明 (26)免责声明●本手册可能包含不准确的地方、产品功能操作方面的不符情况、或印刷错误。
我司将根据产品功能的增强和变化而更新本手册内容,并定期改进更新本手册描述的软硬件产品。
更新的信息会在本手册的最新版本中体现,恕不另行通知●由于我司不断采用新技术,产品参数变化恕不另行通知。
●本手册仅为客户提供参考指导作用,并不保证和实物完全一致,实际应用以实物为准。
●本手册提到的部件、组件和附件不代表设备的标准配置,详细配置以装箱单为准。
●本手册的所有文字、表格及图片信息均受国家相关法律保护,未经许可不得私自转用。
●本手册的版权和最终解释权归本公司所有。
一、硬件说明1.1硬件参数介绍1.1.1网络视频解码器/解码卡参数介绍1.2、硬件接口介绍1.2.1接口板硬件接口介绍1~161.2.2解码板硬件接口介绍二、软件说明2.1内置web网页使用说明2.1.1 IE设置如果是第一次使用S系列网络视频产品,则需要下载ActiveX控件,下载前需要对IE浏览器做适当设置以确保成功下载控件。
注意:使用Windows操作系统自带的IE浏览器,确保版本在6.0以上,请不要使用任何第三方浏览器如Maxthon、FireFox等,我们不确保使用此类软件可以正常登录网络视频服务器。
DM365-OSD菜单操作
DM365-OSD小结1、OSD线程的流程OSD的功能就是在视频上显示预定的内容,视频是由一帧一帧的图像组成的,因此OSD 的作用就是在每一帧上打上印记。
OSD的流程如图1所示:图1关于有帧消息的发送:当有一个新的帧产生的时候,通过调用该函数发送新数据消息命令。
int VIDEO_swosdRun(int tskId, int streamId, OSA_BufInfo *pBufInfo)该消息命令的数据结构:typedef struct _videoSWOSDMessage{int streamId; //对应的码流OSA_BufInfo *pBufInfo; //这里有帧的数据}videoSWOSDMessage;2、OSD环境的创建OSD环境的创建,包括初始化、字体的设置、创建句柄以及窗口数目的划分、窗口有参数的设置、字符转化成YUV格式。
初始化:在调用其他的OSD函数之前,一定要调用SWOSD_init函数完成初始化,返回0成功,-1失败。
int SWOSD_init();字体的设置:字体的设置,就像doc设置字体一个意思,至于为什么这么操作,不清楚。
照着例子来吧。
SWOSD_Fontdata为字体的数据结构体。
SWOSD_createFontDatabase函数的意思,大概就是把能够显示的字符按照fontAddr的格式转化成YUV格式存放在fontDB中。
typedef struct {char format; //视频的格式YUV420p还是YUV422iint charWidth; //字符的宽度int charHeight; //字符的高度int totFontWidth;int totFontHeight;int totFontLineoffset;char *fontAddr; //字体对应YUV格式数据的存储char *fontAddrUV;int * fontDB_Y;//所有能够显示字符的YUV格式int * fontDB_UV;} SWOSD_Fontdata;int SWOSD_createFontDatabase(int* fontDatabaseY, int* fontDatabaseUV,char * swosd_stringPattern, SWOSD_Fontdata * fontInfo);#define SWOSD_STRINGPA TTERN"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz:;'/\\+-_()&$#.0123456789"下面是一个设置字体的例子eg:SWOSD_Fontdata fontInfo;fontInfo.format = SWOSD_FORMA TYUV420p;fontInfo.charWidth = SWOSD_CHARWIDTH_462_12;fontInfo.charHeight = SWOSD_CHARHEIGHT_462_12;fontInfo.totFontWidth = SWOSD_STRINGWIDTH_462_12;fontInfo.totFontHeight = SWOSD_CHARHEIGHT_462_12;fontInfo.totFontLineoffset = SWOSD_STRINGWIDTH_462_12;fontInfo.fontAddr = fontBuff462_Y1;fontInfo.fontAddrUV = fontBuff462_UV1;SWOSD_createFontDatabase(fontDB462_Y1,fontDB462_UV1,(char *)SWOSD_STRINGPA TTERN,&fontInfo);创建句柄以及窗口数的划分:通常为了控制码流,一般视频会有多个码流,每个码流显示的内容一样,只是有的像素高,有的像素低。
完整的DM365软件环境搭建步骤
/home/guest/IPNetCam/ipnc/ti-davinci
1、安装ubuntu
安装大概10分钟会自动检查站点,看个人网速,之后会出现下载语言包(如果选择汉语),点跳过就行了。同步时间也可以跳过。再过几分钟就安装完了。
2、安装vmtools
最好先把光碟弹出,右键unmount,点install vmtools,安装完重启。
sudo tar -zxvf Linux\ Preformance\ Test\ Bench-LPTB-02.03.00.02-beta.bin
完成后生成LPTB-02.03.00.02-beta文件夹
8、安装NFS文件系统
cd ~
sudo mkdir -p workdir/filesys
MVTOOL_DIR=/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le
EXEC_DIR=$HOME/workdir/filesys/opt/dvsdk (更改)
然后依次运行:
make clean
make
make install
三、配置文件
1、备份配置文件
sodu mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
2、创建新的samba配置文件
sudo vim /etc/samba/smb.conf
;#############smb.conf#############
3、安装samΒιβλιοθήκη a 一、安装samba sudo apt-get install samba
sudo apt-get install smbfs
TMS320DM365_基于达芬奇技术的新型数字媒体处理器
TMS320DM365:基于达芬奇技术的新型数字媒体处理器TI推出基于达芬奇技术的新型TMS320DM365数字媒体处理器,从而使开发人员可在数字视频设计中实现超高像素影像,再也不必为支持各种视频格式、满足网络带宽要求或系统存储容量限制等问题而费心。
DM365高度集成了众多组件,其中包括符合生产要求的H.264、MPEG-4、MPEG-2、气¨PEG与Vcl编解码器。
可满足智能视频处理功能的集成影像信号处理(ISP)解决方案,以及~系列板载外设等,可使开发人员将系统成本降低25%。
视频设计人员在开发以媒体播放与摄像机为主的应用(如可视门铃与便携式媒体播放器等)时,不仅可在同一平台基础上扩展产品系列,而且还可根据多种不同的产品设计选择适当的高清视频编解码器(24fI坞的1080pMPEG-4或30fps的720pH.264与MPEG-4)。
DM365针对视频安全应用进行了优化,可支持10fps的1080pH.264标准,能够以更高的压缩效率提供高质量视频。
因此,开发人员可在无需占用过多网络带宽的情况下提升视频存储。
此外,由于具备支持面部检测等功能的内建ISP,开发人员可集中精力进行特色化产品开发。
实现真正独特的智能视频特性,如通过智能数字标牌来检测特定观众,并显示相关广告信息,或者使可视门铃能够即时识别家庭成员并自动开门等。
TMX3200M365处理器现已开始提供样片。
oM365产品特性・ARM926EJ.S内核在实现高达300MHz速率的同对,还可将视频编码,解码任务交由集成高清视频加速器来执行,从而显著优化系统性能;・多格式、多速率高清视频支持H.264、MPEG-4、MPEG-2、MJPEG以及VCl等编解码器,可实现高度的视频灵活性,并确保与传统视频解码器的高度互操作性,同时还可在同一平台上扩展出一个产品系列;・片上ISP支持噪声过滤、视频稳定、面部检测、自动白平衡、自动对焦、自动曝光以及边缘增强等影像增强技术,并可提升视频处理的智能化水平;・集成外设(EMAC、USB2。
美国TI和华为海思对比方案
DM355单芯片实现720P30 MPEG4编解码能力,DM365单芯片实现720P30 H.264编解码能力, DM368单芯片实现1080P30 H.264编解码能力。
其它芯片的选型则可以参考各芯片厂商官方网站的芯片手册,进行PK,目前大部分芯片厂商的芯片手册都是免NDA下载的,如果涉及到NDA问题,那就得看个人和公司的资源运作能力了,一般找一下国内相应芯片的总代理商,沟通一下,签个NDA还是可以要到相应资料的。每隔一周上各IC大厂的官方主页,关注一下芯片发展的动态这是每个电子工程师的必须课啊,这不仅为了下一个方案设计积累了足够的资本,也为公司的产品策略做足了功课。
在IPNC这个领域,只要每台挣1个美金就可以开始跑量,所以在那个时代,很少有人会去死抠H.264和MPEG4的性能差异,而且TI已经给了市场一个很好的预期,支持H.264的DM365很快就会面世。所以IPNC这个方案而言,当时很多企业都选择了DM355的方案。有些朋友现在已经从DM355成功过渡到DM365、DM368,虽然你有时候会骂TI,为什么技术不搞得厉害点,在当年就一步到位,浪费了多少生产力。但是技术就是一点一点积累起来,对于个人来不得半点含糊,对于大企业,他们也无法大跃进。DM355的CMOS预处理技术也有很多Bug,SDK也有很多bug,有时会让你又爱又恨,但是技术这东西总是没有十全十美的,能在特定的历史条件下,满足市场需求,那就是个好东西。 当然海思的解决方案在DVS、DVR方面也大放异彩,一点也不逊色于TI的解决方案。
因为在高清分辨率下,CCD传感器非常昂贵,而CMOS传感器像原尺寸又做不大,导致本身在低照度下就性能欠佳的CMOS传感器的成像质量在高分辨率时变差,于是TI在DM355处理器内部集成了一个叫做ISP的图像预处理模块,它由CCDC,IPIPE,IPIPEIF和H3A模块组成,能帮助实现把CMOS的RAW DATA(一般是指Bayer格式数据)转成YCbCr数据,同时实现包括白平衡调节,直方图统计,自动曝光,自动聚焦等采用CMOS解决方案所必须的功能,故DM355处理器就可以无缝的对接各种图像传感器了。而海思的解决方案对于CMOS的选择就有局限性,它只能用OVT一些解决方案,因为OVT的部分Sensor集成了图像预处理功能。但是DM355不仅可以接OVT的解决方案,还可接很多其他厂家的CMOS sensor,比如Aptina的MT9P031。所以在图像预处理能力方面,DM355继续胜出。
DM365-DM368作业指导书
作业指导书DM365/DM368‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐摄像机‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐解码器By:李军华 2010‐12‐27一.建立软件环境1.前言:本指导内容大部分来自:《SEED‐XDS560PLUS仿真器安装、使用指南.pdf》2.仿真软件安装第一步:先安装CCStudio v3.3 安装文件位于:‐‐‐‐ \ccs\Code_Composer_Studio_v3.3\setup.exe安装完后出现2个图标并且在设备管理器”中出现图标“Texas Instruments XDS560 PCI JTAGEmulator”。
该设备有黄色感叹号,不用管它。
第二步:再安装SEED‐XDS560PLUS仿真器驱动,安装文件位于:生产作业\tools\ccs\xds560\ SEED‐XDS560Plus Emulator Driver.exe安装路径设置和CCStudio v3.3一样,都在C:\CCStudio_v3.3下安装时选择CCS3.3的版本来安装相应的驱动3.第一次连接仿真器时,会提示找到新设备,在设备向导中选择自动安装软件,安装完成后在设备管理器中会出现:4.配置Code Composer Studio,运行Setup CCStudio v3.3导入一个现成的配置文件:File/input‐‐‐‐\ccs\xds560\ evmdm355_s在处点击右键Æ选Properties,设置第二项中的JTAG时钟如图:5.串口及相关配置打开安装程序文件包:‐‐‐\SecureCRT _ SecureFX 6.0.1.zip先安装scrt_sfx601.exe再安装scrt601‐tbe.exe串口配置信息如下: 将它发到桌面创建快捷方式Port:COM1 Parity: NoneBaud rate:115200 Stop bits:1Data bits:8 Flow Control: RTS/CTS二.建立FTP,及文件说明‐‐‐‐\tftpd32.334这是一个很简单的FTP服务器程序,双击运行后,点Browse,指定对外共享的目录既可以了,要记住:ftp服务器的IP地址并将要用的的文件放在FTP目录下三.烧写UBL 和uboot运行CCS ,LOAD 程序NANDWriter_DM36x_IPNC.out 然后运行 第一次输入Y然后输入UBL_DM36x_NAND_IPNC.bin最后输入u ‐boot ‐1.3.4‐dm368_ipnc_1.01.bin烧好后就可以重新上电启动系统,并通过串口来监控uboot 的打印信息四.烧写内核和文件系统**先要设置UBL 和uboot**************setenv ipaddr 192.168.2.103 ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐本机uboot IP 地址 setenv serverip 192.168.2.222 ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ftp 服务器地址: setenv ethaddr 00:0C:99:02:C2:F6 setenv netmask 255.255.255.0 saveenvuboot 重启(断电或输入reset 命令).烧录linux 内核(以摄像机为例)tftp 0x80700000 uImage_ipnc_DM365_IMX035_NEW ‐‐‐‐‐035镜头选择这条命令 tftp 0x80700000 uImage_ipnc_DM368_IMX036 ‐‐‐‐‐036镜头选择这条命令 nand erase 0x200000 0x200000nand write 0x80700000 0x200000 0x200000烧录linux 文件系统(以摄像机为例)tftp 0x82000000 cramfsImage_ipnc_DM365_IMX035_NEW ‐‐‐‐‐‐‐‐035镜头选择这条命令 tftp 0x82000000 cramfsImage_ipnc_DM368_IMX036 ‐‐‐‐‐‐‐036镜头选择这条命令 nand erase 0x400000 0xd00000nand write 0x82000000 0x400000 0xd00000五.设置启动参数setenv bootcmd'bootm 0x80700000'setenv bootargs 'mem=50M console=ttyS1,115200n8 root=/dev/ram0 rwinitrd=0x82000000,14M ip=192.168.2.113:192.168.2.222:192.168.2.1:255.255.255.0:::off eth=12:34:56:78:11:33'六.文件存放地址\\192.168.2.8\swap\lijh\work 我放文件的地方 \\192.168.2.8\swap\imx035 李总的035目录\\192.168.2.8\swap\decode 潘国军的解码器文件目录操作前请看readme 文件!!。
DM365介绍
TMS320DM365 是TI 公司于2009 年3 月推出的针对高清视频处理的高性价比DaVinci系列多媒体处理器,其内部功能框图如图2.1 所示。
作为一款高性能数字媒体SOC,它内部集成的ARM 核为ARM926EJ-S,工作频率最高可以达到300MHz。
ARM 端有16 KB 指令高速缓存、8 KB 数据高速缓存、8 KB ROM 以及32 KB 程序/数据缓存。
同时芯片内部集成2 个视频图像协处理器引擎HDVICP 和MJCP,支持H.264、MPEG4、MPEG2、MJPEG、JPEG 和WMV9/VC1 格式编解码,能够以每秒30 帧的速度对高清(720P)视频进行H.264编解码。
同时芯片内部包含一个视频处理子系统VPSS,由独立的视频处理前端VPFE(ISIF)和视频处理后端VPBE 组成。
其中,VPFE 提供灵活的视频输入接口,用于支持多种类型的CCD/CMOS 图像传感器[8];VPBE 支持RGB/YUV 数字信号输出和PAL/NTSC 制式的复合视频信号输出,用于支持多种类型的显示设备[9]。
TMS320DM365 同时支持丰富的外设接口,如USB 2.0、SDIO、SPI、HPI、EMIF、EMAC 和I2C 等。
芯片采用338 脚的BGA封装,间距0.65 mm,面积13 mm×13mm,功耗在400mW 左右。
下面介绍TMS320DM365 的详细特性[10]:● 高性能数字媒体SOC- 时钟频率为216 MHz/270MHz/300MHz 的ARM926EJ-S 内核;- 与ARM9 处理器完全兼容的软件;● ARM926EJ-S 内核- 支持32-Bit 和16-bit(Thumb 模式)指令集;- DSP 扩展指令集和单周期乘加器(MAC);- 支持ARM Jazelle 技术;- 支持实时调试的嵌入式ICE-RT 逻辑;● ARM 存储器结构- 16K-Byte 指令Cache 和8K-Byte 数据Cache;- 32K-Byte RAM 和8K-Byte ROM;● 图像视频协处理器引擎(HDVICP,MJCP)- 支持H.264,MPEG4,MPEG2,MJPEG,JPEG,WMV9/VC1 编解码;- 支持720P(30fps)、1080P(15fps)的H.264 编解码;● 视频处理器子系统(VPSS)- 视频处理前端(VPFE)1.硬件人脸检测引擎;2. 针对实时图像处理的的硬件IPIPE;3. 缩放引擎(支持1/16x 到8x);4. 图像传感器接口(ISIF)和CMOS 接口;5. 高达120MHz 的16-Bit 并行模拟前端(AFE)接口;6. 支持与通用视频解码器的无缝连接;7. BT.601/BT.656/BT.1120 数字YCbCr4:2:2(8-/16-Bit)接口;8. 图像失真矫正模块(LDC);9. 硬件3A 统计数字收集模块;- 视频处理后端(VPBE)1. 硬件OSD(On-Screen Display);2. BT.601/BT.656 数字YCbCr(8-bit/16-bit)接口;3. 复合NTSC/PAL 视频信号输出;4. 8-/16-bit YCbCr 和最高24-Bit RGB888 数字输出;5. 高清模拟分量视频信号输出;6. LCD 控制器;● 电源管理模块和实时时钟子系统(PRTCSS)● 16-bit HPI 接口● 10/100Mb/s 以太网MAC 控制器接口● 音频编解码器● 外部存储器接口(EMIFs)- 带256M 字节地址空间的16-bit 宽度的DDR2 或者mDDR SDRAM 接口;- 异步16-/8-bit 宽度EMIF 接口(AEMIF);● 闪存卡接口(SDIO/MMC)● 增强型直接数据存取控制器(EDMA)● 集成2.0 标准的高速USB 物理接口支持- USB2.0 全速、高速设备模式和高速主机模式;- USB2.0 OTG 模式;● 内部集成一个64-bit 看门狗定时器● 内部集成I2C 主从控制器● 支持晶振或外部时钟输入(19.2MHz,24MHz,27MHz 或者36MHz)● 片上ARM ROM Bootloader(RBL)支持从NAND Flash,MMC/SD,UART,USB,SPI,EMAC 或者HPI 启动● 灵活的PLL 时钟生成电路● Debug 调试接口支持IEEE-1149.1(JTAG)标准和嵌入式跟踪缓存(ETB)● 3.3V 和1.8V I/O 电压和1.2V/1.35V 内核电压。
物料编码生成器操作说明
安装及操作指引
本文详细阐述了物料编码生成器软件的安装方法和使用技 巧,协助您快速完成编码工作。 ZhangHua 2014/8/9
物料编码生பைடு நூலகம்器
物料编码软件操作指引 Ver2.6
目录 序 ..................................................................................................................................................... 2 一、 程序加载 ............................................................................................................................. 2 1. 2. 3. 一键安装 ......................................................................................................................... 2 传统方式安装 ................................................................................................................. 3 初次加载 ......................................................................................................................... 5
Nuv_IPCamera_DM365
SYSTEM COMPONENTS Pixim Image Sensor Board o Pixim D1100 ORCA CMOS sensor o WDR NTSC Pixim Processor Board o Pixim D2500 ORCA processor o BT-656 output to encoder board TI DaVinci™ DM365 Encoder Board o TI DaVinci™ DM365 with Fixed-Function Video Coprocessor and ARM926E o 1 bank of DDR2, 128MB, 16bit x 162MHz o 256MB NAND Flash o UART Port o JTAG Port o 10/100 Ethernet MAC routed to Ethernet PHY board o USB 2.0 routed to OTG connector on IO board o No blind or buried vias, no via-in-pad PoE Board o Small, horizontal board o PoE 802.3af-compliant PD Controller with integrated DC/DC controller I/O Board o BNC for NTSC/PAL pass-through o 12V in o Auto-Iris o Joystick for accessing full Pixim menu tree o Dip switches
dynamic365 底层数据编码逻辑
Dynamic 365 是微软推出的一款企业级云计算服务,其底层数据编码逻辑主要涉及到以下几个方面:
1. 数据结构:Dynamic 365 采用了一系列数据结构来组织和管理数据。
这些数据结构包括表(Table)、记录(Record)、字段(Field)等。
表是动态365 中数据的基本组织形式,每个表都包含多个记录,每个记录包含多个字段。
2. 数据存储:Dynamic 365 采用关系型数据库技术进行数据存储。
关系型数据库将数据组织为表格形式,表格之间通过主键和外键建立关联。
这种存储方式可以有效地保证数据的完整性和一致性。
3. 数据编码:Dynamic 365 使用一种称为“对象状态编码”(Object State Code,OSC)的编码方式对数据进行编码。
OSC 是一种基于二进制表示的数据编码格式,它将对象的状态(如创建、修改、删除等)转换为二进制数据,以便在数据库中存储和查询。
4. 数据版本控制:Dynamic 365 引入了数据版本控制机制,以管理数据的变更历史。
每当数据发生变化时,系统会生成一个新的版本。
这有助于保持数据的完整性和可追溯性。
5. 数据同步:Dynamic 365 提供了数据同步功能,允许在不同地理位置的客户端之间同步数据。
数据同步可以通过实时通信、批量传输等方式进行,以保证数据的实时性和一致性。
6. 数据安全:Dynamic 365 采用了多层次的安全措施来保护数据。
包括身份验证、访问控制、数据加密、防火墙等。
这些安全措施可以有效地防止数据泄露、篡改等安全风险。
基于DM365的嵌入式视频采集与传
基于DM365的嵌入式视频采集与传
引言
德州仪器(TI)推出的基于达芬奇技术的新型TMS320DM365 数字媒体处理器,DM365 高度集成了众多组件,其中包括符合生产要求的H.264、MPEG-4、MPEG-2、MJPEG 与VC1 编解码器,可满足智能视频处理功能的集成影像信号处理(ISP)解决方案,以及一系列板载外设等,可使开发人员将系统成本降低25%。
本文围绕DM365 数字媒体处理器,对基于DM365 的嵌入式视频采集与传输系统的设计做了具体介绍。
1 嵌入式视频采集与传输系统的整体结构
本系统利用目前先进的WiFi 无线通信技术,结合H.264 视频压缩算法构建无线视频监控系统。
系统工作过程为:视频采集节点将采集到的视频、音频数据,经过前端压缩等处理之后,转换成统一的IP 数据包格式,以WiFi 无线方式发送到AP,AP 接入工业光纤以太网,实现无线与现有通信网络的无缝连接,构成感知矿山多媒体数字网络。
该无线视频监控系统既可应用于矿井救灾应急通信系统,也可用于井下皮带、液压支架等煤矿安全生产管理,可极大提高矿井安全监控系统的能效,节约矿井生产成本。
无线视。
DMIS车次号编码器使用说明_WBCZF
“发送”灯在满足车次号无线发送条件时,闪烁;
“信号”灯在接收到TAX箱数据后,每200ms发射数字数据且闪烁。
6.2检测按键功能:
6.2.1测试键按一下,如有效,则“发送”灯闪一下,同时发送两组测试帧:
1)450MHz模拟输出模式
信号机:编组站;
公里标:9999888米;
3
1、
WBC型机车数据采集编码器
1块
2、
DMIS连接电缆
1根
(工程选用)
3、
说明书
1份
4主要性能及技术要求
4.1型号、外形尺寸、质量
4.1.1型号代表的含义:
W B C
4.1.2外形尺寸:L×W×H (mm)200×19×173
4.1.3质量:700g
4.2技术要求及性能:
4.2.1与GSMR数据的接口:传输速率9.6KBPS
公里标:8888888米;
机车号:4882;
车站数据接收解码器根据有关信息判定此帧数据不向CTC/TDCS传送。
2)GSMR数字信号输出模式
公里标:8888888米;
信号机:编组站;
机车号:4882。
7短路塞与拨置开关设置
用4个短路塞将S1(如下图)进行短路。
1)GSMR(数字)模式,设置如下:
S1
3)列车通过各站进站和出站信号机两个位置时,均发送2次。第一次是在判定条件符合后立即发送,第二次则随机延时3~5秒后发送。
4)补机不发车次号信息。
2.1.2
GSM-R模式
机车数据采集编码器实时采集监测装置的数据,每200ms将采集到的数据编码发送一次,CIR按规定条件发送车次号信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DM365 DMAI
DMAI(DaVinci Multimedia Application Interface)是DSP提供给ARM端应用程序的调用接口,DMAI封装了底层的驱动,是操作系统和编解码引擎之上的应用接口,可以方便编写出可以在达芬奇平台上用的应。
它通过一个抽象的Buffer对象相互交流,可以携带实际的数据(如:视频、音频、声音),能够知道编解码引擎或者linux驱动对数据进行的操作。
DMAI是所有模块的集合,应用程序可以挑选并使用某个或某些模块。
由于DMAI也提供了源码,因此,也可以参考DMAI来了解如何使用某个具体的设备驱动来完成特定的任务。
用程序DSP也是依赖于DSPLINK的。
DMAI中也提供了许多VISA (video, imaging, speech and audio)编解码的实例。
DMAI提供的是一种功能的抽象,而在具体实现上,不同硬件平台,不同系统是不一个样的。
另外,由于DMAI
是以源代码的形式提供的,所以可以用来参考完成一些别的任务,比如设备驱动。
DMAI的优势:
1. 移植和重用:例如TI GStreamer plugin就是基于DMAI,它可以方便的移植到其他的davinci平台。
2. 软件接口一致:
(1)对底层硬件加速部分抽象封装,使开发者不需要明白平台的特定实现
(2)支持所有的codec,使开发者不必明白xDM版本的细节与区别
(3)对显示的抽象(FBDEV和V4L2)
(4)管理底层细节与错误处理,DMAI有个显示模块可以用来查找底层DVSDK
的错误
本项目所做的工作:
为了使用DMAI接口函数中的采集模块,这就需要将DMAI接口函数融合进整个软件框架,也就是说,在程序中能够正常使用DMAI接口函数。
由于使用了DMAI的采集模块,因此原参考板中的CMOS输入的采集驱动就会和DMAI采集驱动以及程序冲突,这时就需要卸载掉CMOS原有的驱动,并修改其代码。
在DMAI采集模块获取到图像后,还需要对该图像缓冲区的结构进行调整,使它能够适应整个系统中的缓冲区结构。
最后,由于缓冲区做了很大的调整,因此连续内存设备驱动模块的配置也需要做调整才能正常启动程序。
一般来讲,嵌入式Linux系统的视频采集都是靠调用V4L2驱动来实现,V4L2是一套用于处理Linux上多媒体设备的标准应用程序接口,通过这些接口,可
以对视频输入设备执行打开、读写、关闭等操作。
TI在底层驱动的基础上对设备驱动接口进行了二次封装,抽象成几个DMAI接口。
应用程序开发者只需要调用这几个DMAI接口,就可以轻松实现对底层设备的访问,而不用关注实现
的具体细节问题,从而使开发者可以把主要精力放在对视频的处理和后续功能的扩展上。
使用DMAI接口的视频采集与编码模块的功能由两个线程来完成,分别是capture thread线程和video thread线程,在这两个线程中都使用了DMAI 接口,很大程度上方便了程序的开发。
capture thread 线程和video thread 线程的通信是通过FIFO机制来完成的,其底层是通过pipe()调用来实现。
首先,capture thread线程通过Fifo_get
()调用从video thread线程获取一个空闲的buffer,经过Capture_get()调用后,这个buffer中就保存有刚刚捕获到的一帧视频数据,然后通过Fifo_put ()调用,将这个buffer发送给video thread线程进行H.264编码。
相应的,在video thread线程中也需要使用Fifo_get(),Fifo_put()这两个接口。
视频采集与编码模块的流程如图2所示。
视频采集线程
使用DMAI后,视频采集线程的执行流程就变得非常简单,下面进行详细分析:1)创建一个视频捕捉设备驱动的实例。
这个操作是使用DMAI中的Capture_create()调用来完成的,通过分析Capture_create()的实现代码可以看到,对视频输入设备的操作也是通过V4L2驱动来完成的,使用底层接口open("/dev/video0",O_RDWR,0)打开视频输入设备,通过系统调用ioctl()来查询和设置设备属性。
2)进行视频采集。
这个操作是通过DMAI中的Capture_get()调用来完成,这个函数的功能也是通过ioctl()hCapture->fd,VIDIOC_DQBUF,&v4l2buf)这个底层的函数调用来实现的。
3)关闭视频输入设备。
这个操作是通过DMAI中的Capture_delete()调用来完成的。
这个调用的具体操作是,首先释放掉创建设备实例时申请的内存,然后再调用fclose("/dev/video0")关闭视频设备。
视频编码线程
基于达芬奇平台的视频编解码是通过调用编解码引擎(Codec Engine)来实现的。
通过这种机制,ARM端的程序就可以通过Codec Engine提供的VISA (Video,Image,Speech,Audio)API接口调用,可在DSP端执行编解码算法,DSP端专门负责各种算法的执行,并通过VISA API接口将算法执行的结果返回给ARM端的程序。
视频编码线程的执行流程为:
1)打开编码器引擎。
这个操作是通过Codec Engine提供的Engine_open()调用来完成,把DSP的可执行程序加载到DSP的内存,同时把DSP从复位状态释放。
2)创建H.264视频编码器。
这个操作是通过Codec Engine提供的Venc1_create()调用来完成,在使用这个调用时,需要同时传递视频编码器的参数信息,例如,编码器输入的图像大小、帧率、编码后的比特率等。
3)编码一帧视频数据。
这个操作是通过Codec Engine提供的Venc1_process ()调用来完成,把获取的一帧
视频数据传递给DSP,DSP端程序对其执行H.264编码后,再将编码后的数据返还给ARM端指定的buffer。
4)关闭H.264视频编码器和编码器引擎。
这两个操作分别是通过Venc1_delete()调用和Engine_close()调
用来完成,执行这两个操作后,就会释放DSP资源,DSP重新进入复位状态。