北科大信号系统与信号处理综合实验Word文件下载.docx

上传人:b****1 文档编号:1393560 上传时间:2023-04-30 格式:DOCX 页数:28 大小:1.38MB
下载 相关 举报
北科大信号系统与信号处理综合实验Word文件下载.docx_第1页
第1页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第2页
第2页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第3页
第3页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第4页
第4页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第5页
第5页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第6页
第6页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第7页
第7页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第8页
第8页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第9页
第9页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第10页
第10页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第11页
第11页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第12页
第12页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第13页
第13页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第14页
第14页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第15页
第15页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第16页
第16页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第17页
第17页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第18页
第18页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第19页
第19页 / 共28页
北科大信号系统与信号处理综合实验Word文件下载.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

北科大信号系统与信号处理综合实验Word文件下载.docx

《北科大信号系统与信号处理综合实验Word文件下载.docx》由会员分享,可在线阅读,更多相关《北科大信号系统与信号处理综合实验Word文件下载.docx(28页珍藏版)》请在冰点文库上搜索。

北科大信号系统与信号处理综合实验Word文件下载.docx

3.熟悉DDR2SDRAM的读取操作。

实验内容

1.系统初始化;

2.外部接口的初始化;

3.DDR2SDRAM的读写操作。

实验报告要求

1.将ddr工程运行结果截图。

2.分别在ddr_test.c中的第20行、21行设置断点,将memorybrowser窗口截屏,地址栏为0x80000000。

3.分析第ddr_test.c中的20行、21行代码的作用,将memorybrowser窗口截屏。

第20行代码:

retcode|=memaddr32(ddr_base,ddr_size);

作用:

memaddr32函数分为读操作和写操作两个部分,

/* 

Write 

Pattern 

*/ 

for 

( 

start;

<

end;

+= 

) 

*( 

volatile 

Uint32* 

)i 

i;

}

写入部分操作是将操作数i存入寄存器中。

Read 

if 

!

errorcount++;

printf("

address 

%x 

is 

error\n"

start+i);

break;

读操作中有变量errorcount用于记录写入寄存器中的数值错误个数。

读操作用于检验寄存器中的值是否和写入寄存器的值是一样的,如果不一样,返回发生错误的次数。

第21行代码:

retcode|=meminvaddr32(ddr_base,ddr_size);

~i;

写入部分操作是将操作数i取反后存入寄存器中。

~i 

读操作中的errorcount用来记录写入寄存器中的数值错误个数。

读操作用于检验寄存器中的值是否和写入的值是一样的,如果不一样,返回发生错误的次数。

2、实验名称(自选):

RS232实验

1.了解UART工作原理;

2.熟悉UART接口的配置;

3.掌握UART的操作。

1.DSP初始化;

2.UART配置。

1.将串口调试助手截图;

2.简述UART控制器的工作原理。

UART首先将接收到的并行数据转换为串行数据。

消息帧以低起始位开始,后面依次是5~8个数据位、可用奇偶校验位和一个或多个高位停止位。

当接收器找到起始位时,它知道数据已准备好发送,并试图与发射机时钟频率同步.。

如果校验选中,UART的后面是一个奇偶校验位。

奇偶校验可以用来帮助错误检查.。

在接收过程中,UART去掉起始位和结束位从消息框,校验输入的字节,并将字节数据从并行到串行。

UART也产生额外的信号来指示发送和接收的状态。

例如,如果发生奇偶校验错误,UART设置奇偶校验标志。

3、实验名称(自选):

Audio音频实验

1.了解TLV320AIC23B音频Codec芯片;

2.熟悉TMS320DM6446McASP接口;

3.掌握TMS320DM6446I2C接口。

2.音频CodecAIC23B的寄存器设置;

3.音频的采集与回放。

实验报告要求:

1.画出程序流程图

2.简述TLV320AIC23B的控制口与TMS320DM6446工作模式。

(1)TLV320AIC23B的控制口:

TLV320AIC23B的控制接口有两种工作方式,分别为:

2-Wire的I2C(MODE为低)

3-Wire的SPI方式(MODE为高)。

在SEED-DVS6446系统上采用I2C方式控制TLV320AIC23B。

MODEI:

控制口模式选择引脚。

低电平时控制口配置成两线I2C模式,高电平时配置成三线SPI模式。

:

控制口锁存/地址选择引脚。

控制口工作在SPI模式时,作为数据输入锁存引脚;

控制口工作在I2C模式时,作为I2C器件的地址选择引脚。

SDIN:

AIC23B控制口串行数据输入;

SCLK:

AIC23B控制口的位时钟;

TMS320DM6446支持多种存储器和外设的接口,包括:

1)支持NORFlash、SRAM连接的异步EMIF接口;

2)NANDFlash接口;

3)ATA/CF接口;

(2)TMS320DM6446工作模式:

TMS320DM6446为系统音频应用需求集成了ASP控制器以实现同音频设备的连接。

而TMS320DM6446的工作模式取决于芯片TLV320AIC23B的工作接口。

TLV320AIC23B与微处理器的接口有二个,一个是控制口,用于设置AIC23B的工作参数,另一个是数据口,用于传输AIC23B的A/D、D/A数据。

SEED-DVS6446系统上将TMS320DM6446的ASP与TLV320AIC23B接口;

使用I2C总线与TLV320AIC23B的控制接口。

TLV320AIC23B的数据口有四种工作方式,分别为:

Rightjustified

Leftjustified

I2SMode

DSPMode

其中后两种可以很方便的与DSP的McBSP串口相连接。

2-Wire的I2C(MODE为低);

3.写出TLV320AIC23B的LRCIN、LRCOUNT及BCLK的输入信号来源。

BCLK:

数据口位时钟信号,当AIC23B为从模式时,该时钟由DSP产生;

AIC23B为主模式时,该时钟由AIC23B产生;

LRCIN:

数据口DAC输出的帧同步信号。

在DSP模式下,必须连接DSP的帧同步信号;

LRCOUT:

数据口ADC输入的帧同步信号;

4、结论及思考

(概述CCS平台的功能及应用场合,对实验结果及实验中遇到的问题进行较全面的对比分析)

CCS平台的功能:

(1)具有集成可视化编辑界面,用户可通过其界面直接编写C、汇编、.cmd文件等;

(2)含有集成代码生成工具,包括编辑器、优化C编译器、链接器,将代码的编辑、编译、链接和调试等诸多功能集成到一个软件环境中;

(3)高性能编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码,发现语法错误;

(4)工程项目管理工具可对用户程序实行项目管理。

在生成目标程序和程序库的过程中,建立不同程序的跟踪信息,通过跟踪信息对不同的程序进行分类管理;

应用场合:

•工业研究与开发。

•工程和科学学科方面的教学与研究。

•高校、研究所、公司等进行开发与研究。

实验结果分析:

(1)DDR2SDRAM实验:

SEED-DVS6446外部存储器DDR2SDRAM:

MS320DM6446内部集成了DDR2存储器控制器,数据总线宽度可配置为16或32位。

DDR2总线利用内部PLL主频高达166MHz,双边情况下可达325MHz,其刷新由DaVinci芯片自动实现。

该存储空间主要用于程序、数据和视频的存储。

(2)RS232实验

1.UART工作原理:

UART控制器可以从外设接收数据以完成数据的串并转换和从CPU接收数据发送以完成并串数据转换功能,CPU可以通过随时读取UART的状态寄存器来确定数据的发送与接收。

2.UART接口的配置:

UART控制器包含一个可编程的波特率发生器,分频输入的UART时钟,为内部发送和接收单元产生一个16x的参考时钟。

SEED-DTK6446配置UART0为RS232模式,UART1为RS485模式。

(3)Audio音频实验

TLV320AIC23B音频Codec芯片:

TLV320AIC23B是TI推出的一款高性能的立体声音频Codec芯片,内置耳机输出放大器,支持MIC和LINEIN两种输入方式(二选一),并且输入和输出都具有可编程增益调节。

实验中遇到的问题分析:

上电后供电不正常,SEED-DVS6446板卡的D6电源指示灯亮,D8指示灯不亮,可知板子上的5V供电不正常。

解决方法:

将J2、J17、J23、J24跳线短接。

二、Linux平台实验

1、入门实验

1.熟悉linux开发环境,学会基于SEED-DTK6446平台linux开发环境的配置和使用;

2.学会使用arm_v5t_le-gcc编译工具;

3.学会基于NFS方式的程序调试方法。

1.基于linux环境的源程序的建立;

2.简单的Makefile的编写;

3.基于NFS方式的目标程序的调试。

1.将实验结果截图;

2.简述“#setenvbootargsmem=60Mconsole=ttyS0,115200n8root=/dev/hda1noinitrd

rwip=192.168.253.183:

255.255.255.0:

192.168.253.1video=dm64xxfb:

output=pal”与“#setenvbootargsmem=60Mconsole=ttyS0,115200n8root=/dev/nfsnoinitrd

rwip=192.168.253.150:

192.168.253.1:

255.255.255.0

nfsroot=192.168.253.18:

/opt/nfsvideo=dm64xxfb:

output=pal”的区别。

(1)开发板的ip配置不同:

第一个开发板的ip为:

192.168.253.183,子网掩码为255.255.255.0,默认网关为192.168.253.1。

第二个开发板的ip为:

192.168.253.150,子网掩码为192.168.253.1,默认网关为255.255.255.0。

(2)启动方式不同:

第一个指令是系统配置为从Linux虚拟机中的第一块盘的第一分区 

(即hda1)中启动。

第二个指令是系统配置为从NFS根文件系统启动。

视频采集回放实验

1.学习基于CodecEngine机制的编程;

2.学习使用XDC编译工具;

3.学习基于v4L2采集驱动与FBdev显示驱动的应用程序的编写。

1.基于CodecEngine机制的编程;

2.基于标准视频采集驱动v4L2与视频显示驱动FBdev的应用程序的编写。

1.简述基于CodecEngine机制的编程;

应用工程师通过调用CodecEngine的API来调用和运行符合xDAIS58的算法。

在Davinci软件中,符合xDAIS的音视频编解码算法(即xDM算法)的调用是通过CodecEngine的VISAAPI完成的。

CodecEngine通过这套API为算法的执行提供了一个标准的软件架构和接口,体现在以下几个方面:

通过CodecEngineAPI调用的算法可以运行在本地(ARM侧)或者远端(DSP侧);

CodecEngine可以基于ARM+DSP、DSP或ARM上运行;

无论CodecEngine运行在ARM还是DSP上,对应的CodecEngineAPI都是完全一致的;

CodecEngine的API与操作系统无关。

比如Linux、VxWorks和WinCE环境下的CodecEngineAPI都是完全一致的。

CodecEngine是介于应用程序和具体算法之间的软件模块,其中的VISAAPI通过stub和skeleton访问EngineSPI最终调用具体的算法。

因此,CodecEngine的工作是通过完成VISAAPI的任务来体现的。

VISAAPI分为四部分VISAcreate/control/process/delete,我们以codec算法运行在DSP为例,通过VISAAPI的执行过程了解CodecEngine的工作原理。

在调用VISAAPI之前需要在应用程序中通过Engine_open()这个EngineAPI把DSP的可执行程序加载到DSP的memory,同时把DSP从复位状态释放,这时DSP开始运行DSPServer的初始化程序在DSP端创建一个优先级最低的任务RMS(RemoteManagementServer),RMS负责管理和维护对应到具体codec算法的Instances。

如下图所示,应用程序调用VISAcreateAPI,相应的VISAcreate函数到EngineSPI中的Codectable中查到这个codec运行在远端DSP侧。

接着EngineSPI通过OSAL(OperatingSystemAbstractionLayer)、

DSPLink把VISAcreate的命令传到DSP侧的RMS。

RMS通过DSP侧EngineSPI的codectable找到要调用的codec算法后,就会在RMS中创建一个相应的Instance(即一个DSP/BIOS系统中的任务)。

VISAcreate会返回一个Instance的Handle,以便于给这个Instance做后续的VISAcontrol/process/delete提供信息。

VISAdelete和VISAcreate原理类似,只是RMS删除掉相应的codec算法的Instance和执行codec算法的任务。

2.简述DaVinci的软件开发过程;

DaVinci的软件开发通常需要四个步骤

(1)工程师需要基于DSP利用CCS开发自己的音视频编解码算法,编译生成一个编解码算法的库文件*.lib。

如果要通过CodecEngine调用这个库文件中的算法函数,那么这些算法实现需要符合xDM(xDAIS(eXpressDSPAlgorithmInterfaceStandard)forDigitalMedia)标准;

CodecEngine机制下不符合xDM标准的算法实现需要创建算法自己的Stub和Skeleton。

(2)生成一个在DSP上运行的可执行程序*.x64P(即.out文件),也就是DSPServer。

(3)根据DSPServer的名字及其中包含的具体的音视频编解码算法创建CodecEngine的配置文件*.cfg。

这个文件定义Engine的不同配置,包括Engine的名字、每个Engine里包括的codecs及每个codec运行在ARM还是DSP侧等。

(4)应用工程师收到不同的codec包、DSPServer和Engine配置文件*.cfg,把自己的应用程序通过编译、链接,最终生成ARM侧可执行文件。

3.图像显示截图。

OSD图像叠加实验

1.了解davinci视频处理子系统的OSD模块

2.学习基于Davinci平台的OSD开发。

基于标准视频显示驱动FBdev的OSD编程。

1.程序运行结果截图;

2.简述OSD模块的主要功能及工作方式;

OSD模块的主要功能是混合视频数据与显示数据(图片、字幕等数据),然后以YCbCr格式传送给视频编码器(VENC)进行编码输出。

TMS320DM6446视频处理子系统(VPSS)的视频处理后端(VPBE)支持背景窗颜色,两个视频窗口,两个OSD窗口,一个指针(cursor)窗口。

它们以优先级递增的顺序排列:

第二个OSD窗口(OSDWIN1)可以配置成属性窗口来控制视频窗口和第一个OSD窗口(OSDWIN0)的混合(如透明度)。

OSD窗口可以配置成接收RGB565或者bitmap数据。

在达芬奇处理器上提供了配置成RGB565或者bitmap的选项。

当OSD窗口配置成接收bitmap数据,它就使用256条目的颜色查找表(CLUT)。

这意味着最大颜色深度是8bit(4,2,1bit的也支持)。

当OSD窗口配置成接收RGB565数据,CLUT就不需要的了,因为RGB数据在外部存储器中先转换成YCBCR;

RGB565使用16bit/pixel,因此能接收64k颜色。

两个窗口都可以同时配置成接收bitmap数据。

然而,只有一个OSD窗口可以配置成接收RGB565数据而不能两个同时都配置成接收RGB565数据。

因此,如果第二个OSD窗口用作属性窗口,第一个OSD窗口最好使用RGB565模式,主要因为它可以存取16bits(64k颜色)。

(概述Linux平台的功能及应用场合,对实验结果及实验中遇到的问题进行较全面的对比分析)

Linux平台功能:

(1)Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。

(2)命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。

(3)Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。

此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。

Linux应用场合:

高端服务器领域

可以各种网络服务。

例如提供VPN网,或充当路由器或者网关。

桌面应用领域、嵌入式应用领域

(1)熟悉了linux开发环境,学会基于SEED-DTK6446平台linux开发环境的配置和使用;

(2)使用XDC编译工具:

xDC(ExpressDSPComponent)。

和gmake类似,xDC根据一套build指令build生成可执行文件。

xDC同时也会build依赖文件,并且可以一次build多个目标对象的可执行文件(如下图hello.x64P是DSP的可执行文件,hello.x470MV是ARM的可执行文件)。

xDC的源文件可以是C程序、C++程序、汇编程序和库文件等。

三、自主设计实验

1、实验目的

(问题的提出,可以解决通信系统中的什么问题)

边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。

图像属性中的显著变化通常反映了属性的重要事件和变化。

这些包括(i)深度上的不连续、(ii)表面方向不连续、(iii)物质属性变化和(iv)场景照明变化。

边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。

边缘信息是图像的一种紧描述,是图像最基本的特征,所包含的也是图像中用于识别的有用信息。

所谓边缘是指其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合,为人们描述或识别目标以及解释图像提供了一个有价值的和重要的特征参数,其算法的优劣直接影响着所研制系统的性能。

长期以来,人们已付出许多努力,设法利用边界来寻找区域,进而实现物体的识别和景物分析,由于目标边缘、图像纹理甚至噪声都可能成为有意义的边缘,因此很难找到一种普适性的边缘检测算法,现有诸多边缘检测的方法各有其特点,同时也都存在着各自的局限性和不足之处,因此图像的边缘检测这个领域还有待于进一步的改进和发展。

2、实验内容

(包括硬件结构图、程序流程图,详细介绍实验使用的关键技术、核心代码及说明)

基于css平台下和Linux平台下的图像边缘检测算法开发及图像处理。

Linux平台:

硬件结构图:

视频处理后端(VPBE)中包含了OSD模块。

该OSD模块的主要功能是混合视频数据与显示数据(图片、字幕等数据),然后以YCbCr格式传送给视频编码器(VENC)进行编码输出。

程序流程图:

核心代码与关键技术:

ARM端源代码与视频采集回放实验完全一致。

package.xdc

该文件中定义了该codec包的静态属性,如codec名称和关联包。

如下面代码定义了该codec包的名称为codecs.vidsobeledge,包含了1个简单的算法叫VIDSOBELEDGE。

packagecodecs.vidsobeledge{

moduleVIDSOBELEDGE;

VIDSOBELEDGE.xs

该文件内容是模块的实现,文件名称VIDSOBELEDGE必须和package.xdc文件中定义的模块名称一致。

文件中包含了VIDSOBELEDGE.xdc中声明的方法的实现

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2