DM6446数字视频开发板
SEED-DAVINCI_EVM DM6446数字视频开发板 阿军教程
第一、开发板概况
2006年TI公司推出了第一款基于DSP和ARM双核结构的DaVinci芯片。达芬奇技术的定义不仅仅局限为高度集成的片上系统(SoC),而是被赋予了更为广阔的含义,包括优化的应用软件、开发工具、达芬奇处理器和达芬奇技术支持系统。此后,TI又陆续推出了多款达芬奇芯片,目标集中于数字视频相关设备,比如便携式视频播放器、IP机顶盒、数码相机、视频监控等产品。【引自:基于达芬奇平台的H.264视频编码器设计(中国科学院光电技术研究院)韩文俊等】
实验室的板子是合众达的DM6446数字视频评估板:
SEED-DAVINCI_EVM V1.3 (TMS320DM6446)
SEED-DAVINCI_EVM V1.3 (TMS320DM6446ZWT)
该数字视频评估板的硬件组成如下所示:
DM6446硬件结构图
一、性能指标
TMS320DM6446ZWT双核(ARM9 + C64X+) :
ARM926EJ-S ARM9内核-300MHZ
TMS320C64X+ DSP内核-600MHZ
存储资源:
SRAM(8M)、FLASH(256M)、ATA硬盘(40G)、DDR2内存(2G)
视频I/O接口:
1路VIDEO IN视频输入(RCA复合视频输入)
1路VIDEO OUT视频输出(RCA复合视频输出)
S-VIDEO IN输入端子
S-VIDEO OUT输出端子
RGB分量输出接口
NTSC/PAL摄像头接口
音频I/O接口:
CD质量音频输入输出(立体声输入输出、MICPHONE输入、耳机输出)
扩展接口:
SD/MMC/MS卡接口
10M/100M以太网接口
USB2.0(支持主从)接口
UART串口
LCD显示屏接口
14针JTAG接口
软件及程序:
H.263/H.264/MPEG-2/MPEG-4/WMV9/JPEG视频编解码
MP3/G.711音频编解码
各种API接口函数
DDK驱动程序(USB接口驱动、ATA IDE硬盘驱动、音频/视频驱动)
测试程序、各种CODEC DEMO演示程序
基于LINUX/WINCE操作系统
二、应用领域
数码相机/摄像机
视频监控系统
安防监控系统
高级医疗影像
便携式视频播放器
IP机顶盒/IP可视电话
其他多数视频应用场合
(1) 德州仪器公司推出达芬奇数字视频处理平台
(2) 2008 TI DSP大赛 复旦大学:图像跟踪算法在DAVINCI SoC上的实现与优化
(3)2008 TI DSP大赛 上海交通大学:基于DAVINCI平台的智能视频检测跟踪与编码实现
(4)嵌入式开发平台应用于安防(视频监控)系统
第二、 开发流程
达芬奇芯片的双核结构使得其开发和单独的DSP和单独的ARM都有很大的不同。首先ARM端要在MontaVista Linux操作系统下完成系统初始化,配置外设接口,以及其他一些计算量相对较少的任务。其次在CCS下或者LINUX系统下完成DSP端程序的开发,主要是计算量较大的算法。最后,完成二者的集成。
通常达芬奇平台程序的执行都是由ARM端开始,然后由ARM端通过某种方式触发DSP端的程序执行。实现这个过程要通过编解码引擎(Codec Engine)和编解码服务器(Codec Server)结构来完成。
从应用的角度来说,编解码引擎是介于应用程序和具体算法之间的软件模块,是用来调用XDAIS算法的一组API集合。XDAIS是TI的一种算法标准,而XDM是在XDAIS基础上又增加了双核通信后的算法封装标准。
Codec Engine:VISA API通过stub和skeleton访问Codec Engine API,最终调用具体的算法。VISA API分为四大部分: VISA create/control/process/delete 分别用来控制接口的创建、控制、处理和删除。
Codec Server: 编解码服务器通常运行在DSP上,使用DSP/BIOS作为其内核,可以控制实际的DSP硬件,编译后生成DSP端可执行的镜像程序。
ARM端的应用程序通过VISA接口或者自定义接口向DSP端发出请求,并传递相关的参数,然后发送到DSP端的skeleton部分,由skeleton送出相应的算法,反过来skeleton会将DSP处理后的结果交由stubs送到ARM进行处理。
DM6446软件模块
用户在ARM端进行LINUX应用程序的开发,包括I/O操作,调用LINUX API函数等。用户程序使用由Codec Engine提供的VISA(Video/Image/Speech/Audio) API接口,实现对视频、图像、语言、音频信号的处理。Codec Engine进一步使用DSP/BIOS LINK及XDM接口协议,与DSP端的Remote Server之间进行通信。DSP端运行在DSP/BIOS之上,负责完成信号处理的算法,并将结果置于共享存储空间中供ARM使用。
一般的开发步骤为:
第一步:DSP算法开发(生成算法包)(*.a64p)
第二步:Codec Server集成(生成DSP端可执行程序)(*.x64p)
第三步:Codec Engine集成(创建Codec Engine配置文件)(*.cfg)
第四步:ARM端程序的生成(使用上面生成的算法包*.a64p、DSP可执行文件*.x64p和*.cfg配置文件来编写相关的ARM端应用程序)
达芬奇板子开发需要以下几类工程师:DSP算法工程师、DSP系统工程师、ARM应用程序工程师。
DSP算法工程师:通常DSP算法工程师会把自己的符合XDM标准的算法编成一个LIB文件(或者*.a64p文件)提供给DSP系统工程师调用这个算法。
DSP系统工程师:根据算法文件最终build出一个DSP Server(也就是DSP的可执行程序)*.x64p文件。(类似于CCS下编译生成的*.out文件)
ARM应用程序工程师:调用Codec Engine的VISA API,最终编译出ARM侧的可执行应用程序。
第三、开发环境的搭建情况
安装所需的软件:
Windows XP 操作系统
VMware7.0 虚拟机
CCS3.3 DSP IDE集成开发环境
Emulator硬件仿真器JTAG驱动软件
Windows XP下安装CCH软件(相当于FTP软件,实现windows xp和linux之间传递文件)
Windows XP下安装HyperTerminal超级终端(用来通过串口COM1发送命令给板子的UBOOT)
1安装好WINDOWS XP操作系统,并且安装好HYPERTERMINAL超级终端。
2在WINDOWS XP下安装CCS3.3软件,这个是TI推出的IDE开发环境。
3在WINDOWS XP下安装SEED-XDS560PLUS-JTAG驱动程序(for CCS3.3)用来下载(*.OUT)可执行文件的
4在WINDOWS XP下安装虚拟机VMWARE7.0
5在虚拟机上安装红帽REDHAT9.0 LINUX操作系统
6 虚拟机网络连接问题:桥接方式,并且虚拟机的IP地址和XP的IP地址在同一个局域网地址内,并且虚拟机的路由IP地址写XP机子的IP地址。
比如:本机XP的IP地址为:192.168.0.136
那么可以设置虚拟机的IP地址为:192.168.0.112
注意虚拟机的路由器地址一定要为XP的IP地址:192.168.0.136
在这种情况下,虚拟机可以ping通WINDOWS XP主机。
注意:板子不支持ping协议,所以不要试图去ping板子的网络状态
板子的IP地址为:192.168.0.145
板子的启动步骤:
1打开CCS3.3,并且连接好JTAG硬件仿真器,如果连接成功,可以识别出ARM9和DSP-C644X+
2打开CD1里面的UBoot程序,将uboot.out文件通过CCS和JTAD烧到板子上
3如果烧UBOOT成功,则打开串口,启动板子电源就可以显示UBOOT启动信息。
注意:S3的拨码开关第0位必须是OFF状态才能使用JTAD下载程序。
第0位是ON状态就是LINUX下开发模式。
4如果UBOOT成功启动,下面就安装LINUX环境下的软件了。
需要安装的软件很多,按照使用手册一步一步执行就可以了。
5环境搭建的难点是:NFS和TFTP的安装和使用。
NFS是用来共享板子和虚拟机上的文件系统
TFTP是用来将内核文件传输到板子内存中的
6如果NFS和TFTP顺利通过,则可以通过串口发命令将LINUX内核文件uImage传输到板子的内存中。
7板子的内存中现在有了LINUX的内核文件uImage,要将内核文件烧到FLASH中才能正常使用
8在超级终端中发送命令:protect off , erase, cp.b, protect on 等
9内核烧好以后,在超级终端中输入:boot就启动板子内核了。
10装置DEMO程序,通过JTAD下载*.OUT文件到板子上就可以了
第四、参考资料
DVEVM Getting Started Guide.pdf
DVSDK Getting Started Guide.pdf
SEED-DM6446开发手册.pdf
基于达芬奇平台的H.264视频编码器设计
基于DM6446平台的智能视频监控关键算法研究与实现(交大)
视频跟踪算法在DAVINCI SOC上的实现与优化(复旦)
相关网络资源及论文
http://v.ku6.com/show/mCOa04GEo0zFXDyg.html
Davinci prototype on Xbox Kinect
http://www.tudou.com/programs/view/X_4i5dSNUhk/
TI技术支持–崔晶 DM6446
http://focus.ti.com.cn/cn/general/docs/gencontent.tsp?contentId=50657
达芬奇数字媒体片上系统的架构和Linux启动过程
德州仪器半导体技术(上海)有限公司 技术支持 崔晶
http://processors.wiki.ti.com/index.php?title=Quickly_Getting_Started_on_TI_Codec_Engine
TI Codec Engine快速入门
http://www.ti.com/ww/cn/uprogram/dsps/20090531_01aa.html
TI DSP大赛介绍
http://wenku.baidu.com/view/176b16f8aef8941ea76e056a.html
快速入门TI CODEC ENGINE
No related posts.
posted on 2013-10-28 19:38 cuichaowen 阅读(515) 评论(0) 编辑 收藏 举报